ora-08102:index key not found,obj#57848,file 6, block 6324(2)
来源:互联网 发布:双色球蓝球简单算法 编辑:程序博客网 时间:2024/05/22 00:28
author:skate
time:2009/11/2
今天两次遇到ora-08102的错误,在删除表的数据时
在执行如下语句时:
delete from tb_ware w where w.issue like '%04%';
遇到下面的错;
ora-08102:index key not found,obj#57848,file 6, block 6324(2)
*******************************************************************************
/ *Cause: Internal error: possible inconsistency in index
// *Action: Send trace file to your customer support representative, along
// with information on reproducing the error
*******************************************************************************
ora-08102这种错误说明索引或表出现了数据不一致的,索引上记录的键值和表里的数据不一致,引起
访问失败,一般重建下索引就可以解决
解决方法一:
SELECT owner, object_name, object_type
FROM Dba_Objects
WHERE object_id IN (57848);
可以查出object_name的名字,发现是表TB_WARE的索引,然后重建索引
alter index PK_TB_WARE rebuild online; (记得要用rebuild online ,因为他会重新读表来创建索引,而rebuild可能会读取原先的索引段而不会去读表)
注意,这个时候千万不要人为终止,如果你真的那样的话你会遇到ora-08104(http://blog.csdn.net/wyzxg/archive/2009/07/03/4318618.aspx)
如果还不能解决,就删除重新创建
select index_name,column_name from all_ind_columns
where index_name='PK_TB_WARE';
drop index PK_TB_WARE;
create index PK_TB_WARE on tb_ware(id);
解决方法二:
analyze table t validate structure cascade
检查表里的行数据的完全性,并检查表或者索引的结构,并把分析过的结果写入INDEX_STATS 数据字典中
这个方法我没有尝试,我尝试再让问题重现,尝试好几次也没有在出现
---------------------------------
现在回到我的问题上,我在rebuild online一个索引后,它又提示下一个索引有问题,我索性就把这个表所有的索引都rebuild online
查出这个表的索引
select * from user_indexes t where t.table_name= upper('tb_ware')
组装成下面的语句执行:
alter index PK_TB_WARE rebuild online;
alter index AK_TB_WARE rebuild online;
alter index IDX_TB_WARE_PRINTSTATE rebuild online;
alter index IDX_WARE_END_TIME rebuild online;
alter index IDX_WARE_LOTTERY_ID rebuild online;
alter index IDX_WARE_LOTTERY_STATE rebuild online;
alter index IDX_WARE_TEAM_NAME rebuild online;
再次使用这个表,或到alert.log里就没有ora-08102的错误了
---end----
- ora-08102:index key not found,obj#57848,file 6, block 6324(2)
- ORA-08102:index key not found, obj# 52485, file 19,block 399461 (2)
- ORA-08102: index key not found, obj# 129038, file 78, block 2910787 (2)
- java.sql.SQLException: ORA-08102: index key not found, obj# 80756, file 18, block 35018 (2)
- 解决ORA-08102: index key not found
- ORA-08102: index key not found
- ORA-02291:parent key not found
- RSA private key file not found
- RSA private key file not found
- LINK : fatal error L1093: xxx.obj : object file not found
- 解决ORA-08102: index key not fou…
- ORA-02291: integrity constraint: parent key not found
- mysqld: File './mysql-bin.index' not found (Errcode: 13
- ORA-01578: ORACLE data block corrupted (file # 6, block # 129)
- QWebView在 Qt 5.x中编译出错:File not found: main.obj
- Kafka重启报Corrupt index found,index file
- 'cassert' file not found
- 'cmath' file not found
- 求N的阶乘的算法
- Flex 3快速入门: 处理数据 使用 HTTPService 加载外部数据
- PHP编码规范
- 俞敏洪说:背完这100个句子,你已经背过7000个单词
- 用专用Linux日志服务器(Linux Log Server)增强系统安全
- ora-08102:index key not found,obj#57848,file 6, block 6324(2)
- I/O模式概述
- 利用Intelligencia.UrlRewriter.dll实现URL重写
- 关于接口方面的东东
- php168_cms中提取的验证码
- 跨页投递和Transfer的区别
- 开通
- 球,你别跑。爸爸等你呢
- Web套打方案集锦