数据库resetlogs后进行rman恢复1

本文讲述了在Oracle数据库因停电损坏后的一系列恢复操作。包括使用RMAN恢复、resetlogs及跨resetlogs恢复尝试等内容。最终发现数据记录不连续丢失的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手头碰到一个数据库,三个TB的数据文件。
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。
 
 
网上查了半天资料,自己瞎琢磨了两个方面去搞,
一是利用oracle 10g可以跨resetlogs恢复的功能,恢复到最新
二是在rman里面设置reset database to incarnation number碰碰运气

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13337857/viewspace-767714/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13337857/viewspace-767714/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值