我在删除表空间之前错误地删除了数据文件。但是表空间占用的空间很大。我需要删除它,有什么方法吗?
发生:
DROP TABLESPACE abc;
*
ERROR at line 1:
ORA-01116: error in opening database file 8
ORA-01110: data file 8: '/data/oradata/oracle/abc.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
最佳答案
如果您的数据文件保存在PDB 中。
您将必须遵循以下命令:
SHUTDOWN ABORT
STARTUP
ALTER PLUGGABLE DATABASE $MyPDB OPEN;
在最后一条命令上,它应该会失败并出现 ORA-01110 错误。
如果您尝试 ALTER DATABASE DATAFILE $datafileNumber OFFLINE DROP;
您将遇到 ORA-01516。
这是因为您正尝试在 CDB 而不是 PDB 上删除数据文件。
要正确执行此操作,您必须将 session 修改为目标 PDB:
ALTER SESSION SET CONTAINER=$MyPDB;
现在您可以删除数据文件并打开数据库:
ALTER DATABASE DATAFILE $datafileNumber OFFLINE DROP;
ALTER PLUGGABLE DATABASE $MyPDB OPEN;
引用资料
关于database - ORACLE 数据库 |删除缺少数据文件的表空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33274869/