当前位置: 代码网 > it编程>数据库>Oracle > oracle创建用户时报错ORA-65096:公用用户名或角色名无效解决方式

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

2024年06月17日 Oracle 我要评论
报错:ora-65096: invalid common user or role name(公用用户名或角色名无效)。原因:可能是创建角色的容器为cdb导致,当然如果你想继续执行,可以在角色名前加c

报错: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:\app\hp\oradata\orcl\wcs_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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com