DML DDL 都报ORA-00600: [kntgMvLogObjn]的解决办法

本文介绍了解决在对表进行DML或DDL操作时报ORA-00600错误的方法。首先尝试删除materializedviewlog,若问题未解决,则需重建materializedviewlog,并提供具体步骤及SQL命令。
摘要由CSDN通过智能技术生成
对表进行DML 或DDL 都报ORA-00600:  [kntgMvLogObjn]。

(1)先删除 materialized view log ,然后再对表进行DML 或DDL 。
select * from dba_mviews;
select * from dba_mview_logs;
drop materialized view log on  TABLE_NAME;
(2)如果第一步还不能解决,那么就需要重建 MATERIALIZED VIEW LOG
一般是之前重命名过用户或表。可能是 在obj$等数据字典中的信息出现了不一致的情况。
可以参考 Doc ID 1612402.1 对于这类问题Oracle的一个建议就是使用重建物化视图日志,使用with rowid的方式来创建,然后删除。
SELECT * FROM  sys.MLOG$;
CREATE MATERIALIZED VIEW LOG ON TABLE_NAME WITH ROWID;
drop materialized view log ON TABLE_NAME;


官方的解释如下:
Cause
Dictionary information related to a materialized view log defined on the table is partly missing due to a rename of a table while a materialized view log was still defined on it and afterwards trying to drop the table.
The MLOG$ entry didn't exist but the MLOG$_... segment in OBJ$ still existed, and the table referenced in its flags that it uses a materialized view log.
Solution
To implement a solution for this issue please execute the following steps in the given order:
    drop the MLOG$_... segment from the database using a DROP TABLE command
    create a new materialized view log using CREATE MATERIALIZED VIEW LOG ON <table> WITH ROWID;
    drop the table with the materialized view log defined on it

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10995764/viewspace-2149009/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10995764/viewspace-2149009/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值