delete操作時遭遇ora-600 bug[kntgslm],下面為處理的操作日誌
delete報錯
SQL> DELETE FROM T_CLAIM_PRODUCT WHERE CASE_ID =340147;
DELETE FROM T_CLAIM_PRODUCT WHERE CASE_ID =340147
ORA-00600: internal error code, arguments: [kntgslm], [0], [], [], [], [], [], []
刪除表也報錯
SQL> DROP TABLE T_CLAIM_PRODUCT ;
DROP TABLE T_CLAIM_PRODUCT
ORA-00600: internal error code, arguments: [kntgslm], [0], [], [], [], [], [], []
移表空間還是報錯
SQL> ALTER TABLE T_CLAIM_PRODUCT MOVE TABLESPACE users;
ALTER TABLE T_CLAIM_PRODUCT MOVE TABLESPACE users
ORA-00600: internal error code, arguments: [kntgslm], [0], [], [], [], [], [], []
2.決定重建這個表
(1).建好這個表的物化檢視並刪除
重新命名時報錯,分析為存在物化檢視日誌
SQL> ALTER TABLE T_CLAIM_PRODUCT RENAME TO T_CLAIM_PRODUCT_bak;
ALTER TABLE T_CLAIM_PRODUCT RENAME TO T_CLAIM_PRODUCT_bak
ORA-26563: renaming this table is not allowed
SQL> create materialized view log on T_CLAIM_PRODUCT;
Materialized view log created
SQL> drop materialized view log on T_CLAIM_PRODUCT;
Materialized view log dropped
(2).把這個表重新命名
SQL> ALTER TABLE T_CLAIM_PRODUCT RENAME TO T_CLAIM_PRODUCT_bak;
Table altered
(3).把備份的表改為原表名,T_CLAIM_PRODUCT2是原來備份的一個表
SQL> ALTER TABLE T_CLAIM_PRODUCT2 RENAME TO T_CLAIM_PRODUCT;
Table altered
SQL> DELETE FROM T_CLAIM_PRODUCT WHERE CASE_ID =340147;
1 row deleted
(4).新增索引和外來鍵
……………..