当前位置: 代码迷 >> 综合 >> Oracle 12C ORA-65096: invalid common user or role 解决方法
  详细解决方案

Oracle 12C ORA-65096: invalid common user or role 解决方法

热度:67   发布时间:2024-01-03 14:38:05.0

问题描述
oracle 12C 创建数据库时报错:

ORA-65096: invalid common user or role name

例如:

SQL>  create user rui identified by oracle;create user rui identified by oracle*
ERROR at line 1:
ORA-65096: invalid common user or role name

原因
想在PDBORCL中创建新用户,但没有设置会话container到PDB。

解决方法
创建用户的时候用户名以c##或者C##开头。
如下:

SQL> create user c##rui identified by oracle;User created.

相应的,对用户名进行其它操作,也需要在用户名前加c##或者C##
例如:

SQL> grant dba to c##rui;Grant succeeded.

拓展知识

CDB环境中的用户

CDB环境中包含两类用户,公用用户和本地用户。

  • 公用用户
    ?公用用户是在 root 数据库中和所有的 PDB 数据库中都存在的用户,公用用户必须在根容器中创建,然后此用户会在所有的现存 PDB 中自动创建,公用用户标识必须以 c## 或者 C## 开头,sys 和 system 用户是 Oracle 在 CDB 环境中自动创建的公用用户。
    ?创建完成公用用户,需要为公用用户赋予所有可插拔数据库的权限,公用用户才可以访问其他PDB,如果在连接根容器时仅仅为公用用户赋予了相关权限,那么该权限不会被传递到所有的可插拔数据库中,必须为公用用户赋予能够传递到PDB中的权限,可以创建公用角色然后赋予公用用户,或者在为公共用户付权时指定子句 container=ALL;

  • 本地用户
    ?本地用户指的是在 PDB 中创建的普通用户,只有在创建它的 PDB 中才会存在该用户,并且 PDB 中只能创建本地用户。

  相关解决方案