사용자 생성
- 사용자 생성은 DB 관리자(DBA)만 가능 (SYS, SYSTEM)
- conn system/비밀번호
- show user;
- CREATE USER 계정 IDENTIFIED BY 비밀번호;
- 주요 시스템권한(DBA)
- CREATE USER (사용자 생성)
- DROP USER (사용자 삭제)
- DROP ANY TABLE (임의 테이블 삭제)
- QUERY REWRITE (함수 기반 인덱스 생성)
- BACKUP ANY TABLE (임의 테이블 백업)
시스템 권한
- 사용자 생성해도 권한 없어서 접속 불가
- GRANT 시스템권한 TO 계정;
- 주요 시스템권한(계정)
- CREATE SESSION (접속)
- CREATE TABLE (테이블 생성)
- CREATE SEQUENCE (시퀀스 생성)
- CREATE VIEW (뷰 생성)
- CREATE PROCEDURE (PL/SQL 프로시저 생성)
- REVOKE 시스템권한 FROM 계정; (권한 회수)
객체 권한
- 객체 소유자가 다른 계정 또는 롤에게 객체 권한 부여
- GRANT 객체권한 ON 객체 TO 계정;
- 주요 객체권한
- ALTER (테이블, 시퀀스 수정)
- DELETE (테이블, 뷰 데이터 삭제)
- INSERT (테이블, 뷰 데이터 삽입)
- UPDATE (테이블, 뷰 데이터 수정)
- SELECT (테이블, 뷰, 시퀀스 데이터 조회)
- REFERENCES (테이블 참조 제약조건 설정)
- EXECUTE (프로시저 실행)
- WITH GRANT OPTION 으로 권한 위임 가능, 연쇄 취소
권한 조회
- select * from user_tab_privs_made;
(현재 사용자가 다른 사용자에게 부여한 권한 조회)
- select * from user_tab_privs_recd;
(현재 사용자에게 부여된 권한 조회)
롤(role)
- 롤은 사용자에게 부여할 수 있는 권한들의 그룹
- 쉽게 부여, 회수 가능
- 빌트인 롤, 커스터마이징 롤 있음
- select role from dba_roles; (빌트인 롤 확인)
- GRANT 빌트인 롤 TO 계정;
- 주요 빌트인 롤
- CONNECT (CREATE SESSION)
- RESOURCE (CREATE TABLE, SEQ, .. 웬만한 추가 작업)
- DBA (대부분 시스템 권한)
plus trace 권한
- DB 삽입, 수정, 삭제 이런거는 금방 함
- plus trace 권한으로 DB 처리과정을 보고 최적화 튜닝이 되어야함