手头碰到一个数据库,三个TB的数据文件。
7月5日数据库改成了归档模式,然后做了控制文件的备份
7月6日做了一个全库的热备,但是没有备份控制文件。
之后一直没有备份,归档文件虽然没有备份,但一直没有删除,是全的,都存在归档目录里面。
7月16日停电,数据库由于坏块、回滚段出问题等各种原因,不能启动,具体什么原因我没有在场,知道的不太确切。坏块的原因是肯定有的。
然后数据库管理员搞了两天,使用了resetlogs等方法,新增加了undo表空间,并进行了undo表空间的替换。但是没有对控制文件进行备份。
终于把数据库给open了,但是最重要的数据表因为坏块无法进行select加条件的查询。
管理员又增加了一个表空间,还是没有备份控制文件。
然后管理员用工具把数据表里面的数据导出了,具体什么工具我也不太清楚,然后新建立了一个用户,把数据加载到新建的表空间里面。
应用的人查看数据以后,发现2800万的记录出现不连续的记录丢失,因为应用比较特殊,这种丢失使恢复的数据变得没有任何意义。
应用的人说哪怕只恢复2000万条记录也行,只要是连续的
7月5日数据库改成了归档模式,然后做了控制文件的备份
7月6日做了一个全库的热备,但是没有备份控制文件。
之后一直没有备份,归档文件虽然没有备份,但一直没有删除,是全的,都存在归档目录里面。
7月16日停电,数据库由于坏块、回滚段出问题等各种原因,不能启动,具体什么原因我没有在场,知道的不太确切。坏块的原因是肯定有的。
然后数据库管理员搞了两天,使用了resetlogs等方法,新增加了undo表空间,并进行了undo表空间的替换。但是没有对控制文件进行备份。
终于把数据库给open了,但是最重要的数据表因为坏块无法进行select加条件的查询。
管理员又增加了一个表空间,还是没有备份控制文件。
然后管理员用工具把数据表里面的数据导出了,具体什么工具我也不太清楚,然后新建立了一个用户,把数据加载到新建的表空间里面。
应用的人查看数据以后,发现2800万的记录出现不连续的记录丢失,因为应用比较特殊,这种丢失使恢复的数据变得没有任何意义。
应用的人说哪怕只恢复2000万条记录也行,只要是连续的
我考虑了半天,还是觉得用rman恢复备份试试。
restore database ;
经过一天的等待,restore完成,因为没有其他控制文件的备份,没有catalog,控制文件使用的是现在最新的
在需要进行recover的时候 报错,卡住了。
原因是restore的数据文件是7月6日的,但7月18日数据库resetlogs了好几次,然后还增加过数据文件,改过undo。
restore database ;
经过一天的等待,restore完成,因为没有其他控制文件的备份,没有catalog,控制文件使用的是现在最新的
在需要进行recover的时候 报错,卡住了。
原因是restore的数据文件是7月6日的,但7月18日数据库resetlogs了好几次,然后还增加过数据文件,改过undo。
网上查了半天资料,自己瞎琢磨了两个方面去搞,
一是利用oracle 10g可以跨resetlogs恢复的功能,恢复到最新
二是在rman里面设置reset database to incarnation number碰碰运气
一是利用oracle 10g可以跨resetlogs恢复的功能,恢复到最新
二是在rman里面设置reset database to incarnation number碰碰运气
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13337857/viewspace-767714/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13337857/viewspace-767714/