728x90
- 사용자
사용자 생성
CREATE USER USER_NAME
IDENTIFIED BY PASSWORD
[DEFAULT TABLESPACE TABLESPACE_NAME]
사용자 정보 조회
SELECT * FROM ALL_USERS WHERE USERNAME = 'USER_NAME';
SELECT * FROM DBA_USERS WHERE USERNAME = 'USER_NAME';
SELECT * FROM DBA_OBJECTS WHERE USERNAME = 'USER_NAME';
사용자 정보 변경
ALTER USER USER_NAME IDENTIFIED BY PASSWORD;
사용자 삭제
DROP USER USER_NAME [CASCADE];
CASCADE : 사용자와 객체 모두 삭제할 수 있다.
- 권한
- 시스템 권한
데이터베이스 관리 권한이 있는 사용자가 부여할 수 있는 권한. 사용자 생성, 정보 수정 및 삭제, 데이터 베이스 접근 등 데이터베이스의 여러 자원과 객체 생성 및 관리 등의 권한을 포함한다.
시스템 권한 부여
GRANT [SYSTEM_PRIVILEGES] TO [USER_NAME | ROLE_NAME | PUBLIC] [WITH ADMIN OPTION];
WITH ADMIN OPTION : 권한을 부여받으면, 부여받은 권한을 다른 사용자에 부여할 수 있다.
시스템 권한 취소
REVOKE [SYSTEM_PRIVILEGES] FROM [USER_NAME | ROLE_NAME | PUBLIC];
2. 객체 권한
특정 사용자가 생성한 테이블, 인덱스, 뷰, 시퀀스 등과 관련된 권한.
객체 권한 부여
GRANT [OBJECT_PRIVILEGES|ALL PRIVILEGES] ON [SCHEMA.OBJECT_NAME] TO [USER_NAME|ROLE_NAME|PUBLIC] [WITH GRANT OPTION]
PUBLIC : 모든 사용자 대상
WITH GRANT OPTION : 권한을 부여 받은 사용자는 부여받은 권한을 다른 사용자(역할)에 부여할 수 있다.
객체 권한 취소
REVOKE [PRIVILEGE|ALL PRIVILEGES] ON [SCHEMA.OBJECT_NAME] FROM [USER_NAME|ROLE_NAME|PUBLIC] [CASCADE CONSTRAINTS]
CASCADE CONSTRAINTS : 참조 같이 삭제
- 롤 관리
- 사전 정의 롤
(ORACLE 10g 기준)
CONNECT 롤에 포함된 권한
SELECT * FROM ROLE_SYS_PRIVS WHERE ROLE='CONNECT';
RESOURCE 롤에 포함된 권한
SELECT * FROM ROLE_SYS_PRIVS WHERE ROLE='RESOURCE';
--> CREATE VIEW 권한과 CREATE SYNONYM 시스템 권한이 필요한 경우에는 다음과 같이 직접 권한을 부여해주어야 한다.
GRANT CREATE VIEW, CREATE SYNONYM TO SCOTT;
2. 사용자 정의 롤 (USER ROLES)
-- ROLE 생성
CREATE ROLE [ROLE_NAME];
-- ROLE에 권한 포함시키기
GRANT [PRIVILEGE] TO [ROLE_NAME];
-- 사용자에게 생성한 ROLE 부여
GRANT [ROLE_NAME] TO [USER_NAME];
-- ROLE 취소
REVOKE [ROLE_NAME] FROM [USER_NAME];
-- ROLE 삭제
DROP ROLE [ROLE_NAME];
예제
CONN /AS SYSDBA
CREATE ROLE EXAMPLE;
GRANT CONNECT, RESOURCE, CREATE VIEW, CREATE SYNONYM, CREATE SESSION TO EXAMPLE;
GRANT EXAMPLE TO ROLE_EX1;
728x90
'Dev > Oracle' 카테고리의 다른 글
[Oracle] Oracle Lock Test (0) | 2022.06.10 |
---|---|
[Oracle] HWM (High Water Mark) (0) | 2022.06.09 |
[Oracle] PCTFREE, PCTUSED (0) | 2022.06.09 |
[Oracle] 아카이브 모드, 리두로그 (0) | 2022.06.07 |
[Oracle] DECODE, CASE (0) | 2022.06.06 |
댓글