且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Oracle本机上错删非系统的DBF的文件恢复

更新时间:2022-09-13 08:20:52

 

情况是这样的,昨天下午2点,我将Oracle离线了,然后复制一份E:\Files\Oracle\oradata\xxxxxx目录下的文件。其中xxxxxx为本机上的数据库名。

然后晚上22点钟时,我在ArcGIS中对表空间YYYY_SDE进行了致命错误的修改,便随手一删,把E:\Files\Oracle\oradata\xxxxxx\tablespase\YYYY_SDE.DBF删除了,并用昨天下午2点钟冷备份的该文件替换了这个文件。

结果数据库一直启动不了。报如下错误:

Oracle本机上错删非系统的DBF的文件恢复

删除系统原来'E:\FILES\ORACLE\ORADATA\xxxxxx\TABLESPASE\'目录下的最新的HHCH_SDE.DBF, 想用冷备份的先前文件恢复数据库的该表空间,结果重新启动数据库时实例后报以下错误:

ORA-01113: 文件 7 需要介质恢复
ORA-01110: 数据文件 7:
'E:\FILES\ORACLE\ORADATA\xxxxxx\TABLESPASE\YYYY_SDE.DBF'

 

由于直接拷贝E:\Files\Oracle\oradata\xxxxxx目录并非为冷备份,之能算是只备份了一部分的文件。所以无法用recover命令加载这个文件,日志文件缺失。

 

问题演变为如何使用单一的.dbf文件, 去恢复Oracle数据库的表空间了。

解决方案:

首先明确的是本机上的环境,仅一个.dbf被错误替换的场景。

解决办法是死马当做活马医,还是希望能救活的。就把下午2点钟备份的E:\FILES\ORACLE\ORADATA\xxxxxx下的文件,全部拷贝到数据库的那个目录下。


    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6432193.html,如需转载请自行联系原作者