SQL

[SQL] Oracle 기본 계정과 사용자 계정, 권한 부여

beginner-in-coding 2025. 2. 13. 13:33

01. Oracle 기본 계정

  • SYS, SYSTEM: 반드시 DB를 관리하기 위해서만 사용
계정 설명
SYS - DBA 계정
- 권한: 데이터베이스에서 발생하는 모든 문제를 처리
- 특징: 오라클을 운영하는데 필요한 기본 테이블과 뷰가 저장되는 계정
SYSTEM - DBA 계정
- 권한: 모든 시스템 권한 소유
- 특징: 관리 정보 화면 출력(추가 테이블), 뷰, 내부테이블(오라클 도구)

 


02. 사용자 계정(account)의 생성

CERATE USER user_name
IDENTIFIED [ BY password | EXTERNALLY ]
[ DEFAULT TABLESPACE tablespace ]
[ TEMPORARY TABLESPACE tablespace ]
[ QUOTA { integer [ K | M ] | UNLIMITED } ON tablespace ]
[ PASSWORD EXPIRE ]
[ ACCOUNT { LOCK | UNLOCK } ]
[ PROFILE { profile | DEFAULT } ]  -- 사용자 계정 생성
  • user_name: 생성될 사용자 이름
  • BY password: 데이터베이스 유저 로그온 시 사용하는 비밀번호
  • EXTERNALLY: 사용자가 운영 체제에 의해 인증되도록 지정
  • DEFAULT TABLESPACE: 사용자 스키마를 위한 기본 테이블 스페이스 지정
  • TEMPORARY TABLESPACE: 사용자의 임시 테이블 스페이스 지정
  • QUOTA: 사용자가 사용할 테이블 스페이스의 영역 할당
  • PASSWORD EXPIRE: 사용자가 SQL*PLUS를 이용하여 데이터베이스에 로그인할 때 암호를 재설정하도록 함(인증된 경우)
  • ACCOUNT LOCK | UNLOCK:  사용자 계정을 명시적으로 잠그거나 풀 때 사용
  • PROFILE: 자원 사용을 제어, 사용자에게 사용되는 암호 제어 처리 방식 지정

03. 사용자 계정에 권한 부여

  • 사용자가 데이터베이스에 특정 작업을 수행할 수 있도록 권한을 부여
  • GRANT: 사용자 또는 ROLE에 대한 권한 부여
  • REVOKE: 권한 삭제
  • 시스템 권한의 종류
    • CREATE SESSION: 데이터베이스를 연결할 수 있는 권한
    • CREATE ROLE: 오라클 데이터베이스 역할을 생성할 수 있는 권한
    • CREATE VIEW: 뷰의 생성 권한
    • ALTER USER: 생성한 사용자의 정의를 변경할 수 있는 권한
    • DROP USER: 생성한 사용자들 삭제 시키는 권한
GRANT [ system_privilegel role ] TO [ user | role | PUBLIC ]
[ WITH ADMIN OPTION ] -- 권한 부여
  • system_privilegel: 부여할 시스템 권한의 이름
  • role: 부여할 데이터베이스 역할의 이름
  • user | role: 부여할 사용자 이름과 다른 데이터베이스 역할 이름
  • PUBLIC: 시스템 권한, 또는 데이터베이스 역할을 모든 사용자에게 부여
  • WITH ADMIN OPTION: 권한을 부여받은 사용자도 부여받은 권한을 다른 사용자 또는 역할로 부여할 수 있게함
    • WITH ADMIN OPTION: 그 사용자에 의해 변경 또는 삭제될 수 있음
REVOKE [ system_privilegel role ] FROM [ user | role | PUBLIC ]  -- 권한 박탈

'SQL' 카테고리의 다른 글

[SQL] WHERE 절  (0) 2025.02.13
[SQL] SQL 함수  (1) 2025.02.13
[SQL] DQL (Data Query Language)  (0) 2025.02.13
[SQL] SQL 명령어  (1) 2025.02.13
[SQL] 데이터 베이스 용어  (0) 2025.02.13