1. User 생성
- create user 권한 소유자가 DB에 User 생성가능
SQL> conn sys/oracle as sysdba --- 관리자 계정 로그인
SQL> create user demo -- demo이름의 user계정생성
identified by demo; -- pw는 demo로 설정
SQL> conn demo/demo --- id/pw가 demo/demo인 계정으로 접속
2. 권한 유형
- System권한 : DB조작권한 (소유자 DBA)
- Object 권한 : 오브젝트 조작권한 (소유자 Object 소유자)
* 테이블, 인덱스, 뷰, 시노님, 시퀀스를 객체 (또는 오브젝트) 라고 한다.
3. System 권한
- DB 조작권한으로 System 권한종류는 약 100여개
CREATE USER : 데이터 베이스 유저 생성 권한
CREATE SESSION : 데이터베이스 접속 권한
CREATE TABLE : 테이블 생성 권한
CREATE VIEW : view 생성 권한
CREATE SEQUENCE : sequence 생성 권한
SYSDBA : 데이터베이스 관리 최고 권한
(...등등)
- SYSDBA가 모든 System권한 소유, SYSOPER는 관리권한 소유
DCL(Data Control Language)
데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용되는 언어
GRANT : 권한 부여를 위한 명령어
REVOKE : 권한 취소를 위한 명령어
사용자 등급 지정
1
|
GRANT 사용자등급 TO 사용자id리스트[IDENTIFIED BY 암호];
|
cs |
사용자 등급 해제
1
|
REVOKE 사용자등급 FROM 사용자id리스트;
|
cs |
테이블 및 속성에 대한 권한 부여
1
|
GRANT 권한종류 ON 개체 TO 사용자 [WITH GRANT OPTION];
|
cs |
* WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게도 부여할 수 있는 권한을 부여
테이블 및 속성에 대한 권한 취소
1
|
REVOKE [GRANT OPTION FOR] 권한종류 ON 개체 FROM 사용자 [CASCADE];
|
cs |
* GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소
* CASCADE : 권한 취소 시, 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연속적(CASCADE)으로 취소
* 자신에게 특정 권한이 없어지면 다른 사용자에게 그 권한을 부여할 수 없다.
REVOKE UPDATE ON 수강 FROM 김민희 CASCADE; 라고 명령을 내리면 '김민희' 사용자에게 UPDATE권한이 없어짐과 함께 다른 사용자에게 권한을 부여할 수 있는 권한, 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연속적으로 취소된다.
* 다음에 주의
REVOKE GRANT OPTION FOR INSERT ON 강좌 FROM 김철수; 라고 하면 '김철수' 사용자의 INSERT 권한은 유지하면서 다른 사용자에게 권한을 부여할 수 있는 권한만 취소하는 것이다.
REVOKE GRANT OPTION FOR UPDATE ON 강좌 FROM 김철수 CASCADE;
'임꺽정' 유저에게 부여한 <강좌> 테이블의 권한 중 UPDATE 권한을 다름 사람에게 부여할 수 있는 권한과 이미 다른 사람에게 부여했던 권한도 함께 취소하며, 임꺽정 자신은 UPDATE 권한을 유지한다.
'DB' 카테고리의 다른 글
[오라클 DB] DQL (0) | 2021.02.03 |
---|---|
MongoDB 기본 (0) | 2021.01.30 |
[오라클 DB] DB접속 및 DCL (0) | 2021.01.05 |
[오라클 DB] 설치 및 접속 (0) | 2017.07.08 |
데이터 베이스 기초 (0) | 2017.06.14 |