IT俱乐部 Oracle oracle创建用户时报错ORA-65096:公用用户名或角色名无效解决方式

oracle创建用户时报错ORA-65096:公用用户名或角色名无效解决方式

报错:ORA-65096: invalid common user or role name(公用用户名或角色名无效)。

原因:可能是创建角色的容器为cdb导致,当然如果你想继续执行,可以在角色名前加C##或者c##,但是这样会导致用户名多了c##,有时候我们不希望用这种格式创建命名。

解决一:把容器改成pdb。

注:这种方式不能正常导入数据库文件。

1、用sysdba 登录,否则权限不够

sqlplus / as sysdba

2、查询容器是否CDB

select name,cdb,open_mode,con_id from v$database;

3、查看当前容器

show con_name;

4、查看已经创建的pdb容器

show pdbs;

这个是创建数据库时创建的可插入数据库名

5、打开上述相应的容器

 alter pluggable database orcl_in open;

6、 将当前容器切换到指定的PDB容器中,可插拔数据库(PDB)

alter session set container = ORCL_IN;

7、之后就可以正常创建用户了,不过该用户不在cdb容器,而是在pdb

注意:重新登录超级管理员 sysdba 之后,当前容器会变回默认的pdb。

8、在cmd登录新创建的用户

sqlplus 用户名/密码@数据库 as sysdba =========> eg: sqlplus cwcs/ntidba@orcl as sysdba
或者

1、sqlplus
2、用户名 as sysdba
3、最后输入密码
如下图所示

**注:**以普通用户登录不了,也有可能是我的原因。

9、在pl/sql工具登录

解决二:这种可以正常导入数据库文件到指定的用户数据库

oracle 创建用户如何不用加C##

alter session set "_ORACLE_SCRIPT"=true;

附加内容:

1、创建表空间

CREATE TABLESPACE WCS_DATA
LOGGING
DATAFILE ‘D:apphporadataORCLWCS_DATA.DBF'
SIZE 50M
AUTOEXTEND ON
NEXT 50M MAXSIZE 20480M
EXTENT MANAGEMENT LOCAL;

2、创建用户并绑定表空间

CREATE USER jbfl
IDENTIFIED BY VALUES ‘ntidba'
DEFAULT TABLESPACE WCS_DATA
PROFILE DEFAULT
ACCOUNT UNLOCK;

3、授权

grant create session to jbfl;----授权
GRANT DBA TO jbfl;----授权
GRANT CONNECT TO jbfl;
GRANT RESOURCE TO jbfl;
GRANT DBA TO jbfl;

总结

到此这篇关于oracle创建用户时报错ORA-65096:公用用户名或角色名无效解决方式的文章就介绍到这了,更多相关oracle创建用户报错ORA-65096内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/oracle/11999.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部