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

问题描述
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 中只能创建本地用户。

猜你喜欢

转载自blog.csdn.net/Ruishine/article/details/113744551
今日推荐