使用RMAN全备份解决ora9数据库坏块


在环境上查询某张表的时候,报的错误ORA-01578。

ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 15, block # 18)

原因分析:
由于出现数据坏块,导致oracle执行查询语句报错。

处理方法:
注意:下列步骤中的“&”符号紧跟的是变量数值需要根据实际情况修改
1、查找最近关于存在坏块的数据文件RMAN的全备份: RMAN> list backup of datafile &文件名。
2、根据步骤一的查询结果里的SCN号,查询该SCN号以后的archivelog是否有备份:RMAN> list backup of archivelog scn from &SCN号;
3、根据步骤二得到的查找seq号,查询该sqp以后的archivelog是否有备份:RMAN> list copy of archivelog from sequence &Seq号;
4、查询查询online archive log,SQL> select sequence#,members,archived,status from v$log;
5、从以上查询中可以看出该datafile有一次最近的全备份,有全备份以来的所有archivelog,online redo log
6、使用blockrecover命令恢复坏块,RMAN> blockrecover datafile &数据文件名 block &坏快编号;(坏块编号可以从之前的ORA-01578错误信息中得到)。[@more@]
请使用浏览器的分享功能分享到微信等