0. DB 시작 및 로그인
- 리스너 서비스 실행
- 리스너 : DB의 원격접속 요청을 받는 서비스로 해당 서비스가 꺼져 있으면 원격 접속이 불가
$ lsnrctl start
- DB 접속 도구 SQLPLUS 접속
$ sqlplus /nolog
- 오라클 DB 시작/종료 권한을 가진 sys 계정으로 로그인
$ connect sys/oracle as sysdba
- DB 시작
$ startup
- 학습용 계정(hr) 접속
$ connect hr/hr
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' 카테고리의 다른 글
MongoDB 기본 (0) | 2021.01.30 |
---|---|
[오라클 DB] 유저관리, DCL (0) | 2021.01.12 |
[오라클 DB] 설치 및 접속 (0) | 2017.07.08 |
데이터 베이스 기초 (0) | 2017.06.14 |
SQL injection (SQL 삽입) (0) | 2017.06.01 |