>데이터 베이스 >MySQL 튜토리얼 >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:231570검색

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으로 문의하세요.