2) SQL> select segment_type,owner,segment_name from dba_extents where file_id = &file_id and &block between block_id and block_id+blocks -1;
根据上面反馈的信息,把对象类型查出来
第二步、恢复数据库 这个错误是坏块错误,如果我们要恢复数据库,将坏块解决即可 我们根据所查对象类型的不同,对应有不同的解决方案
2、表(table)类型的对象 表,有很多种情况去恢复
有备份的情况: 1)、通过 rman的blockrecover 进行恢复 SQL>startup mount; RMAN > Blockrecover datafile 12 block 470173; 如恢复成功 SQL>Alter database open 2)、通过RMAN的block recover 没有成功(这种情况可以判断是磁盘物理出现了坏块) 操作步骤如下: SQL> Drop table xxx(删除掉坏块对象以后,其实已经可正常open库了) 使用已有备份,到其他机器上 异机恢复(我会在之后写一篇关于异机恢复的博客) 从异机恢复好的数据库,将XXX表 导出, 然后导入到 当前生产库 (导出导入的手段随便,我之后也会总结一篇文档[可能跟在异机恢复文档里]) 使用之前的SPFILE启动库!
to be continue--