千家信息网

oracle中删除offline状态的数据文件

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,oracle在归档模式下:我开始想单独删除一个表空间里的数据文件。先查询想要删除的数据文件的相关信息:select * from v$datafile;alter database datafile
千家信息网最后更新 2024年09月30日oracle中删除offline状态的数据文件

oracle在归档模式下:

我开始想单独删除一个表空间里的数据文件。

先查询想要删除的数据文件的相关信息:

  1. select * from v$datafile;


  2. alter database datafile '/data/gps03.dbf' offline;

修改offline状态后,就能在v$recover_file中查看到这个需要恢复的文件。

select * from v$recover_file;

能够查询到该文件的file#号。然后在对应去查看select * from v$datafile;确定该文件的位置。


3. 让数据文件处于offline之后,在删除数据文件:

alter tablespace MCC01 drop '/data/gps03.dbf';

提示删除本地表空间中的脱机数据文件。

于是我在让这个数据文件online。

alter database datafile '/data/gps03.dbf' online;

结果又提示:

0RA-01113:文件 8 需要介质恢复。

ORA-01110:数据文件 8: '/data/gps03.dbf'

于是我执行:

recover datafile 8;(注意这条语句不能再plsql中执行,否则提示无效的sql语句)

执行完之后:提示

完成介质恢复。

4. 再次查询v$recover_file,发现没有要恢复的文件了,在查询v$datafile发现这个文件的状态已经不是RECOVER状态了,变成了offline了。再次让它上线。

alter database datafile 8 online;

执行完上面语句,在查看v$datafile中这个数据文件的状态,变成online状态。

5. 再次删除这个数据文件。

alter tablespace MCC01 drop datafile 8;

删除数据文件到此完成。

0