首页  >  文章  >  数据库  >  Oracle 9.2.0.4 数据库truncate表-ORA-00600:[ktsircinfo_num1之看似bug

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

WBOY
WBOY原创
2016-06-07 17:21:231544浏览

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