ORA-65096 공통 사용자 또는 롤 이름이 부적합 합니다.
[oracle] C## (12c 이상 유저 추가시 ORA-65096
관련)
C##username
은 sys가 부여하는 common user
라는 뜻으로 해석 가능하겠음.
common user
:CDB$ROOT
와 여러 PDB들을 핸들링할 수 있는 user
local user
:PDB
로 context change 하여 생성 해야 함. PDB안의 본인이름 스키마에서만 권한가짐.
굳이 이렇게 안쓰고싶다면 dba계정(system)으로 아래 처럼 변경하여 처리 할 수 있음..
1
ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE;
왜이렇게 됐나?
12c 부터 DB 아키텍처가 변경되어서 (Multitanent arch란다)
CDB
, PDB
로 나뉜다.
CDB
: multitenant container database 로 PDB, root container들을 총칭하는 용어
PDB
들을 포함한다.
PDB(pluggable db)
각 PDB마다 root(root container)
가 있고
root
가 제공하는 유저는 SYS
와 SYSTEM
뿐임.
root
는 user data를 안가지고 있음(CDB가 가지고 있음.).
인사
,재무
와 같은 대업무 DB(PDB)들를 pluggable하게 가져갈 수 있단다.
(어떻게? 물려있는 CDB의 PDB 연결 변경으로)
참고: https://docs.oracle.com/database/121/CNCPT/cdblogic.htm#CNCPT89257
https://dba.stackexchange.com/questions/129098/why-have-to-write-c-for-user-creation-in-oracle-12c
This post is licensed under CC BY 4.0 by the author.