Oracle 通过不完全恢复取消删除表空间的方法

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

 
[提问]

ARCHIVELOG模式的数据库中,因为误删除了数据库的表空间,所以通过不完整的介质恢复,可以恢复到删除表空间之前的状态。请告诉我操作方法。

[回答]

在警报日志中调查删除表空间的时刻。
Mon Nov 26 13:32:40 2001

drop tablespace local_ts including contents

没有1.个时间点之前的控制文件的备份(被删除的表空间的文件的entry)时,通过TO TRACE从现在的控制文件的备份中获得。
alter database backup controlfile to trace;

对已生成trace 文件进行如下修复。

– 删除trace的vendor

– 将CREATE CONTROLFILE命令的NORESETLOGS变更成RESETLOGS

– 追加CREATE CONTROLFILE命令中删除完成的表空间文件的entry

– 删除CREATE CONTROLFILE以外的命令(RECOVER DATABASE等)

执行日志切换,最后的日志归档完成后终止实例
restore 1.的时刻之前获得的所有数据文件的备份。
如果有控制文件的备份的话就业需要restore。

因为没有控制文件的备份,以2的方法来制成脚本时,以NOMOUNT启动实例,执行2的CREATE CONTROLFILE命令。
4.中,控制文件的备份restore完成时,以MOUNT启动实例

指定删除表空间的时刻,执行不完全恢复。
recover automatic database until time ‘2001-11-26:13:32:40’ using backup controlfile

启动resetlogs。
注意事項

没有拥有删除完成的表空间的entry的控制文件的备份时,请一定要执行2.的步骤。恢复中使用的控制文件中没有entry的表空间无法恢复。3中,切换日志归档现在的日志,都是因为6.的恢复中,需要的日志都必须全部归档。已指定USING BACKUP CONTROLFILE的恢复中,因为无法自动参考online 日志,所以如果需要归档日志的话就会报错,如果有online日志的话,可以手动指定这个名字来应用。

因为不完全恢复数据库整体,所以在6的UNTIL TIME中指定完成的时刻以后的更新,因为丢失了所有,请大家注意。如果想将已删除的表空间保存为最新的状态时,请在其他拷贝数据库中执行这些恢复,然后从已恢复到删除之前的状态的表空间中输出,来抽出对象,输入到正式环境中制成的空白表空间。表空间Point-In-Time恢复中,无法恢复已删除的表空间。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号