|
测试如下:
SQL> create index idx_po_NO on app_ratio(PO_NO) tablespace Po_IDX online;
(--在后台unix 杀服务进程 kill -9 12219 )
ORA-03113: 通信通道的文件结束
SQL> drop index idx_po_NO ;
drop index idx_po_NO
ORA-08104: this index object 6622 is being online built or rebuilt
SQL> select distinct flags from sys.ind$;
FLAGS
----------
0
256
SQL> select obj# from sys.ind$ where flags = 256;
OBJ#
------------------
6622
SQL> select OWNER,object_name,object_type from dba_objects where object_name like '%6622';
OWNER OBJECT_NAME OBJECT_TYPE
------------ ------------------- ------------------
CCDATA SYS_JOURNAL_6622 TABLE
--采用metalink 的update ind$ 方法:
SQL> update ind$ set flags=0 where obj#=6622;
1 row updated
SQL> commit;
Commit complete
SQL> select obj# from sys.ind$ where flags = 256;
OBJ#
----------
SQL> drop table epcisudwr.SYS_JOURNAL_6622;
Table dropped
--立刻删除索引,还是不成功
SQL> drop index epcisudwr.idx_POLICY_NO;
drop index epcisudwr.idx_POLICY_NO
ORA-08104: this index object 6622 is being online built or rebuilt
SQL> select flags from sys.ind$ where obj#=6622;
FLAGS
----------
0
--过了2分钟后,执行就报内部错误了,没有DOWN 库,但索引还是存在:
SQL> drop index epcisudwr.idx_POLICY_NO;
drop index epcisudwr.idx_POLICY_NO
ORA-00600: internal error code, arguments: [4610], [], [], [], [], [], [], []
看来此方法也不行,这时metalink 的极端方法就是:
If you still get an error on the drop, try: .
update ind$ set flags=0 where obj#={object ID of the problem index}; commit;
shutdown abort
startup
晕!
SQL> drop index epcisudwr.idx_POLICY_NO;
drop index epcisudwr.idx_POLICY_NO
ORA-00600: internal error code, arguments: [4610], [], [], [], [], [], [], [] |
|