Post

ORA-65096 공통 사용자 또는 롤 이름이 부적합 합니다.

[oracle] C## (12c 이상 유저 추가시 ORA-65096 관련)

C##usernamesys가 부여하는 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가 제공하는 유저는 SYSSYSTEM뿐임.
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.