Oracle 12.2 ORA-600 数据库发生重启案例
适用范围Oracle Database 12.2问题概述Oracle 12.2 RAC一个节点发生重启重启前有ORA-00600: internal error code, arguments: [kcbk_populate_history_1]报错。问题原因Oracle 12.2.0.1.180417 下Bug 31600023 - ORA-700 [kcbk_populate_history_1], ORA-600 [17090], ORA-469 and Instance Crash 导致的。解决方案1、为数据库应用Oracle 12.2.0.1.201020RU或者12.2更高版本的RU2、升级到19c次新版本。分析过程1、数据库日志...Errorsinfile/u01/app/oracle/diag/rdbms/xfdb/xfdb1/trace/xfdb1_ckpt_21807.trc(incident72289): ORA-00600: internal error code,arguments:[kcbk_populate_history_1],[0],[1278],[],[],[],[],[],[],[],[],[]Incident detailsin:/u01/app/oracle/diag/rdbms/xfdb/xfdb1/incident/incdir_72289/xfdb1_ckpt_21807_i72289.trc2026-05-06T21:16:40.51654608:00UseADRCIorSupport Workbenchtopackage the incident.See Note411.1at My Oracle Supportforerrorandpackaging details.2026-05-06T21:16:40.51902808:00Dumping diagnosticdataindirectory[cdmp_20260506211640],requestedby(instance1,osid21807(CKPT)),summary[incident72289].2026-05-06T21:16:40.52077408:00Errorsinfile/u01/app/oracle/diag/rdbms/xfdb/xfdb1/trace/xfdb1_ckpt_21807.trc: ORA-00600: internal error code,arguments:[kcbk_populate_history_1],[0],[1278],[],[],[],[],[],[],[],[],[]Errorsinfile/u01/app/oracle/diag/rdbms/xfdb/xfdb1/trace/xfdb1_ckpt_21807.trc(incident72290): ORA-469[][][][][][][][][][][][]2026-05-06T21:16:41.96015908:00USER(ospid:21807): terminating the instance duetoerror4692026-05-06T21:16:42.13392808:00System statedumprequestedby(instance1,osid21807(CKPT)),summary[abnormal instance termination]....从数据库日志中可以看到ORA-00600 [kcbk_populate_history_1]报错后数据库发生了重启。2、tracexfdb1_ckpt_21807_i72289.trcDumpfile/u01/app/oracle/diag/rdbms/xfdb/xfdb1/incident/incdir_72289/xfdb1_ckpt_21807_i72289.trc OracleDatabase12c Enterprise EditionRelease12.2.0.1.0-64bit Production Build label: RDBMS_12.2.0.1.0_LINUX.X64_170125 ORACLE_HOME:/u01/app/oracle/product/12.2.0.1/dbhome_1 System name: Linux Node name: hostdb01Release:3.10.0-693.11.6.el7.x86_64 Version:#1 SMP Thu Dec 28 14:23:39 EST 2017Machine: x86_64 Instance name: xfdb1 Redo thread mountedbythis instance:1Oracle process number:36Unix process pid:21807,image: oraclehostdb01(CKPT)***2026-05-06T21:16:38.86703508:00***SESSIONID:(194.5853)2026-05-06T21:16:38.86706008:00***CLIENT ID:()2026-05-06T21:16:38.86707108:00***SERVICE NAME:(SYS$BACKGROUND)2026-05-06T21:16:38.86708008:00***MODULE NAME:()2026-05-06T21:16:38.86709008:00***ACTIONNAME:()2026-05-06T21:16:38.86710008:00***CLIENT DRIVER:()2026-05-06T21:16:38.86710908:00[TOC00000]JumptotableofcontentsDumpcontinuedfromfile:/u01/app/oracle/diag/rdbms/xfdb/xfdb1/trace/xfdb1_ckpt_21807.trc[TOC00001]ORA-00600: internal error code,arguments:[kcbk_populate_history_1],[0],[1278],[],[],[],[],[],[],[],[],[][TOC00001-END][TOC00002]Dumpforincident72289(ORA600[kcbk_populate_history_1])***2026-05-06T21:16:38.87390308:00dbkedDefDump():Startingincidentdefaultdumps(flags0x2,level3,mask0x0)[TOC00003]----- SQL Statement (None) -----CurrentSQLinformation unavailable-nocursor.[TOC00003-END][TOC00004]----- Call Stack Trace -----callingcallentry argumentvaluesinhex locationtypepoint(? means dubiousvalue)-------------------- -------- -------------------- ----------------------------ksedst()119callkgdsdst()7FFE78FC0E780000000027FFE78FA28E0 ?7FFE78FA29F8 ?000000000000000082? dbkedDefDump()1200callksedst()000000000000000002?7FFE78FA28E0 ?7FFE78FA29F8 ?000000000?000000082? ksedmp()259calldbkedDefDump()0000000030000000027FFE78FA28E0 ?7FFE78FA29F8 ?000000000?000000082? dbgexPhaseII()2130callksedmp()0000003EB000000002?7FFE78FA28E0 ?7FFE78FA29F8 ?000000000?000000082? dbgexProcessError()calldbgexPhaseII()7FA14C3276C07FA146E4B01025317FFE78FC57C07FFE78FA29F8 ?000000000?000000082? dbgePostErrorKGE()calldbgexProcessError()7FA14C3276C07FA146E4B0101767000000001000000000000000000?000000082? dbkePostKGE_kgsf()calldbgePostErrorKGE()7FA14C3679A07FA1465B767890000000258000000000?000000000?000000082? kgeadse()477calldbkePostKGE_kgsf()7FA14C3679A07FA1465B7678000000258000000000?000000000?000000082? kgerinv_internal()callkgeadse()7FA14C3679A0 ?7FA1465B7678 ?49000000258?0118790DC000000000000000002kgerinv()40callkgerinv_internal()7FA14C3679A0 ?7FA1465B7678 ?000000258?0118790DC ?000000000?000000002? kgeasnmierr()150callkgerinv()7FA14C3679A0 ?7FA1465B7678 ?000000258?0118790DC ?000000000?000000002? kcbk_populate_histocallkgeasnmierr()7FA14C3679A0 ?7FA1465B7678 ? ry()1767000000258?0118790DC ?000000000000000000kcbk_prefetch_trackcallkcbk_populate_histo000000003?7FA1465B7678 ?()318ry()000000258?0118790DC ?000000000?000000000? kcbk_stat_act()78callkcbk_prefetch_track000000003?7FA1465B7678 ?()000000258?0118790DC ?000000000?000000000? ksbcti()247callkcbk_stat_act()000000003?7FA1465B7678 ?000000258?0118790DC ?000000000?000000000? ksbabs()11524callksbcti()000000003?7FA146F79E400000000010118790DC ?000000000?000000000? ksbrdp()1079callksbabs()000000003?7FA146F79E40 ?000000001?0118790DC ?000000000?000000000? opirip()609callksbrdp()000000003?7FA146F79E40 ?0000000010118790DC ?000000000?000000000? opidrv()602callopirip()0000000320000000047FFE78FC90980118790DC ?000000000?000000000? sou2o()145callopidrv()0000000320000000047FFE78FC90980118790DC ?000000000?000000000? opimai_real()202callsou2o()7FFE78FC90700000000320000000047FFE78FC9098000000000?000000000? ssthrdmain()417callopimai_real()0000000007FFE78FC9380000000004?7FFE78FC9098 ?000000000?000000000? main()262callssthrdmain()0000000000000000037FFE78FC9380000000001000000000000000000? __libc_start_main()callmain()0000000007FFE78FC95982457FFE78FC9380 ?000000001?000000000?000000000? _start()41call__libc_start_main()000D05DC00000000017FFE78FC95987FA1475E6B35 ?000000000?000000000?[TOC00004-END][TOC00005]--------------------- Binary Stack Dump ---------------------FRAME[1](ksedst()119-kgdsdst())definedbyframe pointers0x7ffe78fc0fe0and0x7ffe78fc0e60CALLTYPE:callERROR SIGNALED:noCOMPONENT: KSE***2026-05-06T21:16:39.00631508:00RDI00007FFE78FC0E78 RSI0000000000000002RDX00007FFE78FA28E0 RCX00007FFE78FA29F8 R80000000000000000R90000000000000082RAX0000000000000000RBX00007FA14C3A9F40 RBP00007FFE78FC0FE0 R100000000000000000R110000000000000000R120000000000000000R130000000000000000R140000000000000000R150000000000002004RSP00007FFE78FC0E70 RIP0000000000D2FC87Dumpofmemoryfrom0x7ffe78fc0e60to0x7ffe78fc0fe07FFE78FC0E6078FC0FE000007FFE00D2FC8700000000[...x............]7FFE78FC0E70000000000000000010A3BF2000000000[...............]7FFE78FC0E8000D2BE000000000010A3BF2000000000[...............]7FFE78FC0E9000D2BE00000000004C3679A000007FA1[.........y6L....]7FFE78FC0EA04C3679A000007FA14C2670A800007FA1[.y6L.....pL....]7FFE78FC0EB000000100000000004C39E3BC00007FA1[..........9L....]7FFE78FC0EC000000001000000004C37106000007FA1[.........7L....] 7FFE78FC0ED0 00000001 00000000 00000000 00000000 [................] 7FFE78FC0EE0 00000000 00000000 4C3276C0 00007FA1 [.........v2L....] 7FFE78FC0EF0 00000000 00000000 00D05CC0 00000000 [.........\......] 7FFE78FC0F00 1105C7AE 00000000 00D31070 00000000 [........p.......] 7FFE78FC0F10 00000000 00000000 46F5C028 00007FA1 [........(..F....] 7FFE78FC0F20 0F1A4860 00000000 4C3679A0 00007FA1 [H.......y6L....]7FFE78FC0F30 BEBEA703020500344C3A9F4000007FA1[....4....:L....]7FFE78FC0F4000000000000000004C3A9F4000007FA1[.........:L....]7FFE78FC0F50122DDF5800000000122DDFB800000000[X.-.......-.....]7FFE78FC0F6078FC0F9000007FFE476D038D00007FA1[...x......mG....]7FFE78FC0F70000000000000000010EE7EE800000000[.........~......]7FFE78FC0F8004189374000000003026848600000000[t.........0....]7FFE78FC0F9078FC0FA000007FFE10EE7E2700000000[...x....~......]7FFE78FC0FA078FC0FE000007FFE00D2E75600000000[...x....V.......]7FFE78FC0FB0122DDF58000000000000000000000000[X.-.............]7FFE78FC0FC000000000000000000000000200000000[................]7FFE78FC0FD04C3A9F4000007FA10000000300000000[.:L............]FRAME[2](dbkedDefDump()1200-ksedst())...trace中看的这些函数与buffer pool相关kcbk_populate_historykcbk_prefetch_trackkcbk_stat_act这些函数应该由CKPT检查点进程维护。KCBK-[K]ernal [C]ache [B]uffer chec[K]-KCBK应该是buffer pool的检查。kcbk_populate_history- kernel cache buffers checkpoint queue manipulation populate history table for db_block_prefetching, make decision, write to fixed SGAkcbk_prefetch_track- kernel cache buffers checkpoint queue manipulation db_block_prefetch administrationkcbk_stat_actkcbk_stat_act - kernel cache buffers checkpoint queue manipulation【知识点】buffer poolSGA中的一个内存区域用于缓存数据库块以减少磁盘I/O并提高数据访问性能检查点进程 (CKPT)“检查点”是一种数据结构用于定义数据库的重做线程中的系统更改号 (SCN)。检查点被记录在控制文件和每个数据文件头中。它们是恢复操作的关键元素。【小结】Oracle该版本的buffer pool结构信息异常报ORA-600 [kcbk_populate_history_1]然后发生了重启建议生产环境及时打RU修复该bug。-the end-