【Oracle数据恢复】ORA-01410一例
【Oracle数据恢复】ORA-01410一例Alert Log报ORA-01410异常
问题描述
Alert Log报ORA-01410异常
相关trace文件内容如下:
*** SESSION ID:(1045.59915) 2011-07-22 23:39:14.101
ORA-01410: invalid ROWID
*** 2011-07-22 23:39:14.101
GATHER_STATS_JOB: GATHER_TABLE_STATS('"asc1"','"TAB"','""', ...)
ORA-01410: invalid ROWID
*** 2011-07-23 06:00:00.507
*** CLIENT ID:() 2011-07-23 06:00:00.507
GATHER_STATS_JOB: Stopped by Scheduler.
问题分析
常见的引起Oracle报ORA-01410的几种可能:
1 正在访问的表或者分区发生truncate操作
2 正在访问的分区发生exchange操作
3 表或者相关索引存在脏数据
--需要诊断是否相关的表和索引是否存在数据异常
请进行以下操作:
1 执行以下语句,观察是否报错
select /*+ full(a) */ count(*)
from asc1.TAB a
;
2 校验表和相关索引数据是否存在异常
--如果需要分析的对象是分区表,需要在准备执行ANALYZE操作的用户(比如system)下,创建表INVALID_ROWS,这个是一次性操作,以后校验不用再执行
@?\rdbms\admin\utlvalid.sql
--验证相关的表和索引(非分区表)
ANALYZE TABLE asc1.TAB VALIDATE STRUCTURE CASCADE ONLINE;
--验证相关的表和索引(分区表)
ANALYZE TABLE asc1.TAB VALIDATE STRUCTURE CASCADE ONLINE INTO INVALID_ROWS;
我遇到一个问题与您说的相拟,但不知道是哪张表出了问题:
OS:AIX 5.3
oracle:10.2.0.4
RAC
在alert中信息如下:
Wed Jul 23 02:42:54 2014
GATHER_STATS_JOB encountered errors. Check the trace file.
Wed Jul 23 02:42:54 2014
Errors in file /oracle/product/database/10.2.0.4/db_1/admin/dw/bdump/dw2_j001_1654834.trc:
ORA-01410: invalid ROWID
trc文件中的信息如下:
*** 2014-07-22 22:44:46.682
*** ACTION NAME:(GATHER_STATS_JOB) 2014-07-22 22:44:46.671
*** MODULE NAME:(DBMS_SCHEDULER) 2014-07-22 22:44:46.671
*** SERVICE NAME:(SYS$USERS) 2014-07-22 22:44:46.671
*** SESSION ID:(1352.22057) 2014-07-22 22:44:46.671
我用SESSION ID:(1352.22057) 从V$ACTIVE_SESSION_HISTORY也没有找到。
请指教! 把 /oracle/product/database/10.2.0.4/db_1/admin/dw/bdump/dw2_j001_1654834.trc 压缩打包上传 已上传,请查看 zyclove201305 发表于 2014-7-25 10:36 static/image/common/back.gif
已上传,请查看
解压显示文件已损坏! 文件已重新上传,烦请查看 GATHER_STATS_JOB: GATHER_TABLE_STATS('"NXTADW"','"T_DW_HXPT_SUBSCRIBE_STAT"','""', ...)
ORA-01410: invalid ROWID
*** 2014-07-23 02:52:08.100
GATHER_STATS_JOB: GATHER_TABLE_STATS('"NXTADW"','"T_DW_CDB_STATISTICS_BS_ZS"','""', ...)
ORA-08103: object no longer exists
*** 2014-07-23 06:04:13.471
*** CLIENT ID:() 2014-07-23 06:04:13.471
GATHER_STATS_JOB: Stopped by Scheduler.
8103 还有1410+10.2.0.4
可能存在较严重的 写丢失lost write,或者bug触发的可能 请参考着2篇文档:
诊断ORA-08103错误
http://www.askmaclean.com/archives/resolve-ora-08103-error.html
【数据恢复】详解ORA-1410错误
http://www.askmaclean.com/archives/ora-1410.html NXTADW.T_DW_HXPT_SUBSCRIBE_STAT 表存在ORA-1410
NXTADW.T_DW_CDB_STATISTICS_BS_ZS 存在ORA-8103 我也遇到该问题 版本是11.2.0.1 备用库。 上周是索引,今天是表无效ROWID。alter.log没有出现ORA-01410
LOCK TABLE "CCPS_MAXMIND_OUTPUTS" IN SHARE MODE NOWAIT 发现语句有锁表的行为。 这会不会造成备库无效ROWID的原因? LOCK TABLE "CCPS_MAXMIND_OUTPUTS" IN SHARE MODE NOWAIT
LOCK TABLE IN SHARE MODE造成的是 内存里的TM锁 甚至不会到 数据块级别,所以不会的
页:
[1]