案例: 修复Oracle 11.2.0.1 dblink 访问ORA-600 [2252]
2019.6.23 已过去,默认11.2.0.3 后的版本Compatibility 已auto Auto-rollover,开始解决方法还要大版本升级,目前Oracle 又陆续放出了几个低版本的opatch, 修复ORA-600 2552不用再大版本升级,目前opatch 已经从10.2.0.4以后的版本都可以装one-off patch解决。更多信息可以看之前我的 《预警:2019年ORACLE SCN 兼容性特性( Compatibility)自动改变的影响》, 这里记录一下11.2.0.1 的修复方法.
db alert log
2019-08-12 15:46:15.334000 +08:00 Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob/trace/anbob_ora_14800.trc (incident=320040): ORA-00600: internal error code, arguments: [2252], [5579], [3110485746], [], [], [], [], [], [], [], [], [] Incident details in: /oracle/app/oracle/diag/rdbms/anbob/anbob/incident/incdir_320040/anbob_ora_14800_i320040.trc 2019-08-12 15:46:17.000000 +08:00 Trace dumping is performing id=[cdmp_20190812154617] Sweep [inc][320040]: completed Sweep [inc2][320040]: completed
trace file
adrci> show incident -all ADR Home = /oracle/app/oracle/diag/rdbms/anbob/anbob: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- ... 320037 ORA 600 [2252] 2019-08-08 09:35:59.628000 +08:00 304310 ORA 600 [2252] 2019-08-08 09:39:21.668000 +08:00 304295 ORA 600 [2252] 2019-08-08 09:59:10.141000 +08:00 304302 ORA 600 [2252] 2019-08-08 14:38:15.196000 +08:00 304253 ORA 600 [2252] 2019-08-09 11:04:34.003000 +08:00 320038 ORA 600 [2252] 2019-08-09 11:40:43.692000 +08:00 304289 ORA 600 [2252] 2019-08-09 15:02:21.345000 +08:00 320039 ORA 600 [2252] 2019-08-12 10:05:07.925000 +08:00 304303 ORA 600 [2252] 2019-08-12 11:21:54.489000 +08:00 320040 ORA 600 [2252] 2019-08-12 15:46:15.334000 +08:00 50 rows fetched adrci> show trace file /oracle/app/oracle/diag/rdbms/anbob/anbob/trace/anbob_ora_14800.trc Dump continued from file: /oracle/app/oracle/diag/rdbms/anbob/anbob/trace/anbob_ora_14800.trc 1> ***** Error Stack ***** ORA-00600: internal error code, arguments: [2252], [5579], [3110485746], [], [], [], [], [], [], [], [], [] 1< ***** Error Stack ***** 1> ***** Dump for incident 320040 (ORA 600 [2252]) ***** *** 2019-08-12 15:46:15.336 dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0) 2> ***** SQL Statement (None) ***** Current SQL information unavailable - no cursor. ***** Call Stack Trace ***** calling call entry location type point -------------------- -------- -------------------- skdstdst()+36 call kgdsdst() ksedst1()+98 call skdstdst() ksedst()+34 call ksedst1() dbkedDefDump()+2736 call ksedst() ksedmp()+36 call dbkedDefDump() ksfdmp()+64 call ksedmp() dbgexPhaseII()+1764 call ksfdmp() dbgexProcessError() call dbgexPhaseII() +2279 dbgeExecuteForError call dbgexProcessError() ()+83 dbgePostErrorKGE()+ call dbgeExecuteForError 1615 () dbkePostKGE_kgsf()+ call dbgePostErrorKGE() 63 kgeade()+350 call dbkePostKGE_kgsf() kgeriv_int()+98 call kgeade() kgeriv()+12 call kgeriv_int() kgesiv()+110 call kgeriv() ksesic2()+194 call kgesiv() kcmchk()+113 call ksesic2() kcsadjn()+315 call kcmchk() k2serv()+390 call kcsadjn() opiodr()+1149 call k2serv() ttcpip()+1251 call opiodr() opitsk()+1628 call ttcpip()
临时断开dblink 后
SQL> select version, to_char(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') DATE_TIME, (((( ((to_number(to_char(sysdate, 'YYYY')) - 1988) * 12 * 31 * 24 * 60 * 60) + ((to_number(to_char(sysdate, 'MM')) - 1) * 31 * 24 * 60 * 60) + (((to_number(to_char(sysdate, 'DD')) - 1)) * 24 * 60 * 60) + (to_number(to_char(sysdate, 'HH24')) * 60 * 60) + (to_number(to_char(sysdate, 'MI')) * 60) + (to_number(to_char(sysdate, 'SS'))) ) * (16 * 1024)) - dbms_flashback.get_system_change_number) / (16 * 1024 * 60 * 60 * 24) ) indicator from v$instance ; VERSION DATE_TIME INDICATOR ----------------- ------------------- ---------- 11.2.0.1.0 2019/08/12 17:31:20 13.1391809
下载补丁
[oracle@localhost ~]$ ls
p12419378_112010_Linux-x86-64.zip
p6880880_112000_Linux-x86-64.zip
p14121009_112016_Linux-x86-64.zip
安装11.2.0.1 PSU
$ export PATH=$PATH:$ORACLE_HOME/OPatch $ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./12419378 $ opatch apply SQL> @?/rdbms/admin/catbundle psu apply
note:
Opatch warning: overriding ….This is a warning only which opatch is reporting. The Patch has applied successfully and the warning output can be safely ignored.
安装one-off patch
[oracle@localhost 14121009]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./ [oracle@localhost 14121009]$ opatch apply SQL> @?/sqlpatch/14121009/postinstall.sql
检查
SQL> select * from registry$history; SQL> @scn_compat_check.sql Current datatime:20190814 10:38:33 Oracle Version:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production Database role:PRIMARY Instance starttime: 20190814 10:34:43 RSL=35937836695552 headroom_in_scn=19308210069494 headroom_in_sec=196413269 CUR_SCN_COMPAT=3 MAX_SCN_COMPAT=3 auto_rollover_ts=2019-06-23 target_compat=3 Auto_rollover is enabled! SCN compat had Auto rollover ! PL/SQL procedure successfully completed.
如果你也有同样的问题,自己解决不了,联系 http://www.anbob.com 首页联系方式
对不起,这篇文章暂时关闭评论。