第一次接触容器数据库,CDB PDB等新东西。最初的需求是:创表空间,创用户,授权。
--创建表空间
create tablespace test0930
datafile 'c:\test0930.dbf'
size 50m
autoextend on
next 10m
--创建用户
create user test0930
identified by test0930123
default tablespace test0930
--用户赋权
grant dba to test0930
在容器数据库上执行上述语句会报错。
错误1 : ORA-65096: 公用用户名或角色名无效 ,用户名要加上 C##
错误2:ORA-65048 , ORA-00959: 表空间 'test0930' 不存在
其实这是CDB PDB的“特性”,要做特殊处理才能正常创表空间,创用户。具体操作参考下面的博客
参考博客:
《oracle12c CDB下创建用户表空间ORA-65096,ORA-65048,ORA-00959》
https://blog.csdn.net/ofengyuan123456/article/details/81453446
《oracle 12C -- ORA-65048 ORA-65048》
https://www.cnblogs.com/abclife/p/6726909.html
《oracle12c之 表空间维护总结》
https://blog.csdn.net/weixin_34000916/article/details/89752842
https://www.cnblogs.com/fanyongbin/p/5699482.html
https://www.cnblogs.com/zydev/p/5209473.html
https://blog.csdn.net/lmocm/article/details/80545051
=======分割线=====
踩坑历程
起初我不懂他是CDB 、PDB ,容器数据库啥的(别人的oracle)。我就以为他就是个普通oracle 12c ,就拿以往的经验来创表空间,创用户。 sql语句创建/图形化界面创还是报错。我就纳闷了 (我在其他机器环境11g 、 19c运行上述sql都是正常的。 )
但报错:
经过一番摸索,搜错误关键字,得知他CDB PDB要做特殊处理才能正常创表空间 创用户。、
有些东西不是绝对的,看来在不同环境下执行同样的sql会有不同的结果。