我不小心更改了表空间,以将新文件添加到当前表空间,但是我不小心使用了与现有文件相同的名称。换句话说,我将覆盖现有的一个。
我的问题是:
如果有帮助,我使用的查询: ALTER TABLESPACE [表空间名称]添加数据文件'[EXISTING DBF FILE]'大小2000M自动扩展,下一个10M最大大小20000M;
答案 0 :(得分:0)
数据库不允许您添加已经属于数据库的文件
SQL> create tablespace demo datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m;
Tablespace created.
SQL> alter tablespace demo add datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m;
alter tablespace demo add datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m
*
ERROR at line 1:
ORA-01537: cannot add file 'X:\ORADATA\DB18\PDB1\DEMO.DBF' - file already part of database
所以要发生这种情况,必须发生其他事情。
但是,除此之外,如果某些外部操作已经对该数据文件进行了压缩,那么唯一的办法就是从备份中恢复该文件并向前恢复。从这里开始的方式取决于您拥有的备份,用于备份的工具等。
但是,如果您使用的是RMAN,则标准文档提供了一系列方案,可指导您完成所需的工作。
https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/index.html