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

来自:网络
时间:2024-08-28
阅读:
免费资源网 - https://freexyz.cn/

报错: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;

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

3、查看当前容器

show con_name;

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

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

show pdbs;

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

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

5、打开上述相应的容器

 alter pluggable database orcl_in open;

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

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

alter session set container = ORCL_IN;

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

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

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

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

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

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

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

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

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

9、在pl/sql工具登录

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

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

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;

总结

免费资源网 - https://freexyz.cn/
返回顶部
顶部