oracle 12c 创建表空间和用户
旧版本创建表空间和用户方法
1 | /*分为四步 */ |
Oracle 12c 中出现的问题
上面的方法在oracle 12c中创建会出现错误!
因为12c中有CDB和PDB。
默认的是CDB,而在CDB中创建用户会报 ORA-65096: 公用用户名或角色名无效 的错误。
而在用户名前面加上C## eg. c##username 又找不到表空间。
那是因为加上C##后会到PDB中找表空间,而刚刚创建的表空间是默认的CDB中创建的。
所以你需要到PDB中创建表空间,下面是切换CDB和PDB的方法。
show con_name;
#查看当前session属于CDB还是PDB
结果像这样
con_name CDB$ROOT
说明是CDB,不然是PDB,CDB$ROOT这个名字记住切换回来用
select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
#查询pdb
alter session set container=ORCLPDB;
#设置当前session
然后创建表空间,切换回来创建用户