Oracle 12.2.0.1最近出现了ORA--0600错误,其详细信息如下:
ORA-00600: 内部错误代码, 参数: [qosdExpStatRead: expcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
ORA-06512: 在 "SYS.DBMS_STATS", line 1976
ORA-06512: 在 "SYS.DBMS_STATS", line 46935
ORA-06512: 在 "SYS.DBMS_STATS", line 47168
ORA-00600: 内部错误代码, 参数: [qosdExpStatRead: expcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
ORA-06512: 在 "SYS.DBMS_STATS", line 1976
ORA-06512: 在 "SYS.DBMS_STATS", line 46935
ORA-06512: 在 "SYS.DBMS_STATS", line 47168
根据Oracle官方给出的检查SQL语句,其执行结果如下:
引起访问题的原因是由于sys.exp_obj$.exp_cnt与sys.exp_stat$的行数据不匹配所造成的
解决方案
1.备份数据库涉及到修改数据字典
- 修复问题
SQL>update sys.exp_obj$ a set exp_cnt=(select count(*) from sys.exp_stat$ b where
a.objn=b.objn and a.snapshot_id=b.snapshot_id ) where a.objn=124789;
SQL>commit;
- 修改后,执行如下SQL确认是否还有记录,如果没有记录,说明已经修改成功,提交。
SQL>With b as (
select count(*) cnt,objn,snapshot_id from sys.exp_stat$ es group by objn,snapshot_id)
select * from sys.exp_obj$ a, b where a.objn=b.objn and a.snapshot_id=b.snapshot_id
and a.EXP_CNT<>b.CNT;
修复后,通过一天的观察没有出现该问题了。
继续阅读与本文标签相同的文章
OneModel体系能给数据中台的建设带来什么?
阿里巴巴叶军:政企数字化转型,现在是最重要的时机
-
Java中Object类常用的12个方法,你用过几个?
2026-05-16栏目: 教程
-
【最全合集】一文看尽 2019杭州云栖大会 MaxCompute 技术分享
2026-05-16栏目: 教程
-
如何在Spark中实现Count Distinct重聚合
2026-05-16栏目: 教程
-
Android高级面试题资料(持续更新)
2026-05-16栏目: 教程
-
源码分析Dubbo Invoker概述----服务发现、集群、负载均衡、路由体系
2026-05-16栏目: 教程
