详解Oracle数据库rman坏块如何修复
浏览量: 次 发布日期:2023-10-09 09:00:31
详解Oracle数据库rman坏块如何修复
最近在用rman还原数据库的时候提示有坏块,所以分析了一下源数据库并修复坏块。在Oracle的恢复中都要考虑是在归档模式的恢复,还是非归档模式的恢复。使用RMAN的BMR修复数据坏块的前提条件是要求数据库在归档模式下。
dbv file='XXX.dbf'
浦东数据恢复可以看到数据文件都是正常的,继续往下分析。。
从rman中进行验证数据库块是否有损坏
$ rman target / nocatalog
RMAN> backup validate database;
在以下视图中查看是否有记录:
select * from v$database_block_corruption;
好吧,源数据库这边没有坏块,最后确认是因为文件在传输过程中中断导致部分文件损坏了,后来压缩后重新传就可以了,最终结果如下:
如果不用rman备份数据文件的话,那么在恢复数据的时候,就需要将这个数据文件全部拷贝过去,然后进行恢复。如果碰到上百个G的大数据文件,为了几个损坏的块进行恢复需要耗费很久的时间。但是如果使用rman工具,就可以对单个的数据文件块进行恢复,很方便。
$ rman target / nocatalog
RMAN> blockrecover datafile xx block xx;
以上就是在碰到坏块时分析的大致过程,大概分为这4步了,大家也可以用bbed模拟坏块然后做一下相关实验。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~