Oracle 9.2.0.4 数据库truncate表-ORA-00600:[ktsircinfo_num1之看似bug

原创
2016-06-07 17:21:23 1117浏览

oracle 9.2.0.4 数据库truncate表报错:ORA-00600: internal error code, arguments: [ktsircinfo_num1], [13], [0], [0], [], [

Oracle 9.2.0.4 数据库truncate表报错:
ORA-00600: internal error code, arguments: [ktsircinfo_num1], [13], [0], [0], [], [], [], []
其实,,在truncate之前,曾在该表上执行了创建索引操作create index 。。。online时,会话被意外kill了;
再来删除该表的上的索引:
SQL> drop index wap_user.idx_AM_MONITOR_DATA_MONITORID;
drop index wap_user.idx_AM_MONITOR_DATA_MONITORID
*
ERROR at line 1:
ORA-08104: this index object 1024126 is being online built or rebuilt

报ORA-08104错误,通过处理内部数据字表来处理(需谨慎)
1.获取用户下表SYS_JOURNAL_#index_object_id并删除
SQL> select object_name
2 from dba_objects
3 where object_name like
4 (select '%' || object_id || '%'
5 from dba_objects
6 where object_name = '&INDEX_NAME')
7 /
Enter value for index_name: IDX_AM_MONITOR_DATA_MONITORID
old 6: where object_name = '&INDEX_NAME')
new 6: where object_name = 'IDX_AM_MONITOR_DATA_MONITORID')
OBJECT_NAME
--------------------------------------------------------------------------------------------------------------------------------
SYS_JOURNAL_1024126

SQL> drop table wap_user.SYS_JOURNAL_1024126;
Table dropped.

2.删除IND$表中对应记录(需谨慎)
SQL> delete from IND$ where obj#=&INDEX_OBJECT_ID
2 ;
Enter value for index_object_id: 1024126
old 1: delete from IND$ where obj#=&INDEX_OBJECT_ID
new 1: delete from IND$ where obj#=1024126
1 row deleted.
Elapsed: 00:00:00.00

3.truncate 成功
SQL> truncate table wap_user.AM_MONITOR_DATA_ALL_O;
Table truncated.
Elapsed: 00:00:50.87

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。