DCL
데이터의 보안, 무결성, 회복, 병행제어 등을 정의
DBA 데이터 관리를 목적으로 사용
DCL의 유형으로 GRANT, REVOKE가 있다
GRANT(권한 부여)
유저에게 여러 권한을 주는 명령어
- CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한
- CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한
- CREATE VIEW : 뷰의 생성 권한
- ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한
- DROP USER : 생성한 사용자를 삭제시키는 권한
※ 권한을 동시에 여러 개 줄 때는 콤마를 사용해 구분합니다.
GRANT(객체)테이블이나 뷰, 시퀀스, 프로시저, 함수 또는 패키지 중 지정된 한 객체에 특별한 작업을 수행 할 수 있게 한다.객체 소유자는 다른 사용자들에게 특정 객체 권한을 부여 할 수 있다
public으로 권한을 부여하면 회수할 때도 public으로 해야한다
기본적으로 소유한 객체에 대해서는 모든 권한이 자동적으로 취득된다
with grant option은 role에 권한을 부여할 때 사용할 수 없다
REVOKE(권한해제)
부모 자식 관계는 CASCADE CONSTRAINTS를 사용하여 해제시킬수 있다
WITH ADMIN OPTION을 사용했을때
A=>B 권한 부여, B=>C권한 부여
A가 B의 권한을 제거 시 C의 권한은 유지
WITH GRANT OPTION 을 사용했을 시
A가 B의 권한을 제거 시 C의 권한도 같이 제거
ROLE
사용자에게 허가 할 수 있는 ㅝㄴ한들의 집합
권한 부여와 회수를 쉽게 할 수 있다
CREATE ROLE 권한을 가진 USER에 의해 생성
한 사용자가 여러 개의 ROLL을 ACCESS할 수 있고 여러 사용자에게 같은 ROLE의 부여가 가능하다
시스템 권한을 부여하고 취소할 때와 동일한 명령을 사용하여 사용자에게 부여하고, 취소할 수 있다
사용자는 ROLE에 ROLE을 부여할 수 있다
오라클엔 기본적으로 CONNECT, RESOURCE, DBA ROLE이 제공
ROLE의 생성 및 부여
롤 생성 : CREATE ROLE 롤이름;
롤에 권한 부여 : GRANT[권한]TO 롤이름;
권한이 부여된 롤을 다른 유저에게 부여, GRANT 롤이름 TO 유저명;
■ 모든 사용자 권한 확인
select * from DBA_ROLE_PRIVS;
■ 현재 세션에 부여된 권한
select * from USER_SYS_PRIVS;
■ 사용자에 의해 엑세스 가능한 role
select * from USER_ROLE_PRIVS;
'Programming > [DB]' 카테고리의 다른 글
[DB] Oracle Listener Error(오라클 리스너 에러) (0) | 2018.07.09 |
---|---|
[DB] SQL DEVELOPER 설치 (0) | 2018.04.23 |
[DB] 서브프로그램(프로시저, 패키지, 트리거) (0) | 2018.04.23 |
[DB] INDEX & 동의어 & 시퀀스 (0) | 2018.04.20 |
[DB] 스키마 & 파티션 (0) | 2018.04.20 |