赞
踩
oracle19c创建用户时,报错了:ORA-65096: invalid common user or role name,(公用用户名或角色名无效).
错误原因:Oracle 12C以及更高版本中引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。用户想在PDBORCL中创建新用户,却未设置会话container到PDB,而在CDB中创建公有用户因无法通过名称或角色验证出错。
方法1、创建用户的时候用户名以c##或者C##开头(不建议)
命令:create user c##newuser identified by newuser;(此时创建的用户名称在表user$中为: ##newuser),不是我们需要的newuser
方法2、切换到pdb数据库
(0)进入sqlplus
sqlplus / as sysdba;
如果进入失败,可以检查下自己的ORACLE_SID和ORACLE_HOME是否设置正确,可以参考我的文章:
(1)查询pdb库:
show pdbs;
上图可以看到我们的BSOFT19这个pdb处于关闭状态,未开启,而HIP40处于开启状态可以连接;
(2)开启/关闭pdb:
- --打开容器
- alter pluggable database pdb名称 open;
- --关闭容器
- alter pluggable database pdb名称 close;
(3)切换PDB
alter session set container=pdb名称(指定容器);
(4)切换之后即可在sqlplus命令行中进行用户添加操作了。
如果需要创建pdb可以参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。