본문 바로가기

DBMS/ORACLE

[ORACLE] Common 사용자

반응형

개요

 

구성환경

oracle 19.3 / CentOS 7.6

 

1. Common 사용자란

  - common 사용자는 12c에서 나온 새로운 유저 타입

  - common 사용자는 CDB와 복수 개의 PDB에 할당 될 수 있다.

  - cdb$root에서 생성할수 있다

  - 사용자 이름 앞에 C##을 붙여서 공통 사용자 생성

2. Common 사용자 생성

syntax) create  user  C##username  identified by password  {container= [ all | current ] }

** cdb$root 에서 사용자를 생성하면 모든 PDB에 COMMON 사용자를 사용할 수 있다

SQL> show pdbs ; 

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED 
---------- ------------------------------ ---------- ---------- 
         2 PDB$SEED                       READ ONLY  NO 
         3 ORCLPDB                        READ WRITE NO 
SQL> create user C##anyuser identified by passw0rd ; 

사용자가 생성되었습니다. 

SQL> select username from dba_users where username Like '%ANYUSER' ; 

USERNAME 
-------------------------------------------------------------------------------- 
C##ANYUSER 

SQL> alter session set container=ORCLPDB ; 

세션이 변경되었습니다. 

SQL> select username,common from dba_users where username LIKE '%ANYUSER'; 

USERNAME        COM 
--------------- --- 
C##ANYUSER      YES  => COM 컬럼의 값이 YES이면 Common 사용자

SQL>

단, 권한 부여 등은 다른 PDB에 상속되지 않음(예로 cdb$root에서 grant resource,connect to c##username 권한을 부여하여도 하위 PDB 에 상속되지 않음)

 

3. Common 사용자 삭제

syntax) drop user username CASCADE

SQL> drop user C##ANYUSER CASCADE ; 

사용자가 삭제되었습니다. 

SQL>

 

4 cdb$root에 사용자 생성시 C## 제거하여 사용자 생성하기

  - Common 사용자로 생성되나, pdb에서는 사용할 수 없다.

SQL> alter session set container=cdb$root ; 

세션이 변경되었습니다. 

SQL> create user hoya identified by passw0rd ;  => common 사용자 이름에 C##이 없어서 오류 발생
create user hoya identified by passw0rd 
            * 
1행에 오류: 
ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 

SQL> alter session set "_ORACLE_SCRIPT" =  true ; => _ORACLE_SCRIPT = true 변경

세션이 변경되었습니다. 

SQL> create user hoya identified by passw0rd ; 

사용자가 생성되었습니다. 

SQL>

 

5. Container 사용자 조회

 - cdb, pdb 내의 전체 사용자 조회

SSQL> select username,con_id,common from cdb_users ;

USERNAME                 CON_ID COM
-------------------- ---------- ---
SYS                           1 YES
SYSTEM                        1 YES
..... 중략 ..... 
PSYS                           5 YES
SYSTEM                        5 YES
.... 중략 .... 
SYS                           4 YES
SYSTEM                        4 YES
HR                            4 NO
SYSRAC                        4 YES
HRADMIN                       4 NO 
반응형