一客户在查询数据时报如下错误:
SQL> select count(*) from sa.g_sn_travel;
select count(*) from sa.g_sn_travel
*
ERROR 位于第 1 行:
ORA-08103: object no longer exists
用analyze分析该表,出现如下提示:
SQL> analyze table sa.g_sn_travel validate structure cascade;
analyze table sa.g_sn_travel validate structure cascade
*
ERROR 位于第 1 行:
ORA-01499: table/index cross reference failure - see trace file
查看对应的trace file发现该表的索引和表的数据出现不一致,于是重新创建该Index解决问题。
当然ORA-08103错误还有其他原因,比如:
1.你在查询时,刚好有另外一个用户对该表进行truncate动作也会造成这个错误
2.如果该表有完全刷新的snapshot的话也会造成该错误,因为完全刷新的snapshot也会执行truncate
3.有可能存在坏块
TRACE文件的关键内容,能发出来看看吗。
SQL> analyze table MIT1_MSIT.src_serv_attr validate structure cascade;
analyze table MIT1_MSIT.src_serv_attr validate structure cascade
*
ERROR at line 1:
ORA-08103: object no longer exists
并没有生成TRACE,自己做了个ERROR TRAC,可惜没不知如何查看有价值的内容