报错: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俱乐部!