ORA-65048:在可插入数据库PDBORCL中处理当前DDL语句时出错 ORA-00959:表空间‘ORCLPDB’不存在

解决方案:

1,尝试重启数据库 cmd
SQL> sqlplus / as sysdba
SQL> shutdown immediate   关闭数据库
SQL> startup       数据库启动
SQL> exit `
重新连接即可
2,原因oracle19c多了一个CDB和PDB的概念(从12C开始出现)
CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。
CDB全称ContainerDatabase,中文翻译为数据库容器,
PDB全称为Pluggable Database,即可插拔数据库。
(1)在新建用户的基本信息后进行保存,会报:
ORA-65096: 公用用户名或角色名无效。
这里百度了一波,知道了充cdb和pdb的概念。查询到是说cdb创建用户是用户名前面必须要加上C##或c##,不然会返回一个错误。
(2)加上之后配置表空间 又报ORA-65048:在可插入数据库PDBORCL中处理当前DDL语句时出错 ORA-00959:表空间‘ORCLPDB’不存在
首先查询自己的session 打开cmd 连接数据库 参考上方

show con_name       --显示cdb还是pdb

或者

select name,cdb from v$database;    --是否处于CDB下

我查询了我现在的session是cdb,这就导致了我在cdb创建了表空间但是pdb上面并没有这个表空间。由于cdb与pdb表空间结构不同,所以就出现了ora-00959的错误。
select name,cdb from v$database;

猜你喜欢

转载自blog.csdn.net/Your1221/article/details/119677461