在环境上查询某张表的时候,报的错误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@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23493047/viewspace-1031738/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23493047/viewspace-1031738/