您的位置:首页 > 数据库 > Oracle

Oracle 误删除 DBF 补救措施

2018-01-05 10:40 288 查看
按下面步骤做即可:

1、关闭数据库:
sql> shutdown immediate
2、装载数据库
sql> startup mount
3、删除无效的数据库文件
sql> alter database datafile 'xxx' offline drop;
4、打开数据库
sql> alter database open
5、删除无效的表空间
sql> drop tablespace xxxx including contents and datafiles;


先说明一下alter database datafile … offline drop:

在非归档模式下,可以使用… offline drop,在归档模式下,使用… offline. 这个命令的意思并不是从表空间将这个数据文件彻底删除,而是说将这个数据文件“冻结”住:它的scn不在变化,不会再向它写入任何数据;但是原有存在这个文件中对象和数据还可以继续使用。因此在使用这个命令后,通过修改控制文件将它删除,数据库在启动时就会报文件丢失的错误,并且会在数据字典中产生一个MISGXXXXX的纪录。因此,以一个数据文件是无法被直接从数据库中删除掉的。

如果需要减少表空间的数据文件,可以采用以下办法:

export除表空间的内容:exp … tablespaces=xxx;

使用include content子句删除表空间:drop tablespace xxx include content;

重见表空间,使之不包括需要去除掉的数据文件;

import表空间的所有数据对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: