问题描述:
上午一套RAC实例频繁报警ORA-00600: 内部错误代码, 参数: [qosdDirRead: dircnt mismatch], [809], [808]。经过MOS查询只发现在12.1中存在bug,但在12.2中已经被修复了。
数据库的版本:12.2.0.1
服务器OS版本:redhat 7.3
处理过程:
无奈只能提交SR,通过SR的指示操作,问题解决。下面是操作过程
SQL> col dir_own# for 9999999999999999
SQL> with aa as (select count(*) aa_cnt,dir_own# from opt_directive$ group by dir_own#)
select * from aa,opt_directive_own$ bb
where aa.dir_own#(+)=bb.dir_own#
and dir_cnt<>aa.aa_cnt;
AA_CNT DIR_OWN# DIR_OWN# DIR_CNT
---------- ----------------- ----------------- ----------
809 ################# ################# 808
SQL> col dir_own# for 99999999999999999999
SQL> /
AA_CNT DIR_OWN# DIR_OWN# DIR_CNT
---------- --------------------- --------------------- ----------
809 11352894694518622562 11352894694518622562 808
SQL> update opt_directive_own$ a set dir_cnt=(select count(*) from opt_directive$ b where a.dir_own#=b.dir_own#)
where dir_own#=11352894694518622562;
2
1 row updated.
SQL> commit;
Commit complete.
SQL> with aa as (select count(*) aa_cnt,dir_own# from opt_directive$ group by dir_own#)
select * from aa,opt_directive_own$ bb
where aa.dir_own#(+)=bb.dir_own#
and dir_cnt<>aa.aa_cnt;
2 3 4
no rows selected
SQL>
SQL> with aa as (select count(*) aa_cnt,dir_own# from opt_directive$ group by dir_own#)
select * from aa,opt_directive_own$ bb
where aa.dir_own#(+)=bb.dir_own#
and aa.dir_own#=11352894694518622562;
2 3 4
AA_CNT DIR_OWN# DIR_OWN# DIR_CNT
---------- --------------------- --------------------- ----------
809 11352894694518622562 11352894694518622562 809