Tech/Miscellaneous

Oracle "공통 사용자 또는 롤 이름이 부적합합니다." 해결하기

infra 2023. 2. 12. 16:13
반응형

증상

Oracle Database의 12c 이상 특정버전을 설치한 후 create user 구문을 이용하여 계정 생성시 다음과 같이 "공통 사용자 또는 롤 이름이 부적합합니다" 라는 메시지가 발생하는 경우가 있습니다.

 

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

해결

원인을 해결하기 위해 여러가지 시도와 검색을 진행하던 중 찾게된 원인은 다음과 같았습니다.

Oracle 12c 릴리즈 버전 이상에서는 Multitenent 옵션이 도입되었고 현재까지 오라클 데이터베이스 역사상으로도 큰 아키텍쳐 변경이었다고 합니다. 

 

여기서 이야기하는 Multitenent 옵션과 함께 Container Databases라는 이야기도 등장하며 CDB, PDB라는 이야기도 함께 나오는데요 이때 이 CDB(Container Database), PDB(Pluggable Database)의 개념으로 인해 공통사용자 생성시에는 생성 사용자 명 앞에 c##을 추가 해 주어야 한다고 합니다.

 

c##사용자 명 으로 사용자 생성 확인

 

생성된 사용자에 권한을 부여하기 위한 과정에서도 마찬가지로 c##을 사용자 명 앞에 붙여주어야 가능합니다.

 

c##사용자 명 으로 권한 부여 확인

 

참고자료

Multitenent, Container Databases. CDB, PDB에 대한 설명은 아래 링크에서 참고하실 수 있습니다. (영문)

 

Multitenant : Overview of Container Databases (CDB) and Pluggable Databases (PDB)

This article provides a basic overview of the multitenant option, with links to more detailed articles on the functionality.

oracle-base.com

 

Oracle 12c Container Databases

The multi-tenant architecture enables an Oracle database to function as a multitenant container database (CDB). A CDB includes zero, one, or many customer-created pluggable databases (PDBs). A PDB is a portable collection of schemas, schema objects, and no

www.microfocus.com

 

반응형