ORA-1410 invalid rows错误是与ORA-8103相似的Oracle数据库逻辑层面的讹误。 了解ORA-1410逻辑坏块问题的成因,以及有效的解决手段十分重要。 解决方案之一: 可以通过如下PL/SQL过程将健康数据复制到新建表中,对于问题数据块中的数据将被跳过,对于能够容忍数据丢失的场景可以考虑这样恢复,之后truncate 原表/分区并将健康数据加载进去。 具体的脚本见下面的链接: 【数据恢复】利用构造ROWID实现无备份情况下绕过ORA-1578、ORA-8103、ORA-1410等逻辑/物理坏块问题 oerr ora 1410 01410, 00000, "invalid ROWID" // *Cause: // *Action: 如果对ORA-1410做errorstack 一般会看到下面的LOG: OBJD MISMATCH typ=6, seg.obj=%d, diskobj=%d, dsflg=%d, dsobj=%d, tid=%d, cls=%d 触发ORA-1410错误的stack call一般都是:
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278539