news 2026/5/8 7:29:48

Oracle 12.2 ORA-600 数据库发生重启案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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更高版本的RU;
2、升级到19c次新版本。
分析过程
1、数据库日志

...Errorsinfile/u01/app/oracle/diag/rdbms/xfdb/xfdb1/trace/xfdb1_ckpt_21807.trc(incident=72289): 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.516546+08:00UseADRCIorSupport Workbenchtopackage the incident.See Note411.1at My Oracle Supportforerrorandpackaging details.2026-05-06T21:16:40.519028+08:00Dumping diagnosticdataindirectory=[cdmp_20260506211640],requestedby(instance=1,osid=21807(CKPT)),summary=[incident=72289].2026-05-06T21:16:40.520774+08: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(incident=72290): ORA-469[][][][][][][][][][][][]2026-05-06T21:16:41.960159+08:00USER(ospid:21807): terminating the instance duetoerror4692026-05-06T21:16:42.133928+08:00System statedumprequestedby(instance=1,osid=21807(CKPT)),summary=[abnormal instance termination]....

从数据库日志中可以看到ORA-00600 [kcbk_populate_history_1]报错后,数据库发生了重启。
2、trace

xfdb1_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: oracle@hostdb01(CKPT)***2026-05-06T21:16:38.867035+08:00***SESSIONID:(194.5853)2026-05-06T21:16:38.867060+08:00***CLIENT ID:()2026-05-06T21:16:38.867071+08:00***SERVICE NAME:(SYS$BACKGROUND)2026-05-06T21:16:38.867080+08:00***MODULE NAME:()2026-05-06T21:16:38.867090+08:00***ACTIONNAME:()2026-05-06T21:16:38.867100+08:00***CLIENT DRIVER:()2026-05-06T21:16:38.867109+08: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.873903+08:00dbkedDefDump():Startingincidentdefaultdumps(flags=0x2,level=3,mask=0x0)[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()7FA14C3276C07FA146E4B010+25317FFE78FC57C07FFE78FA29F8 ?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()0000000007FFE78FC9598+2457FFE78FC9380 ?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.006315+08:00RDI00007FFE78FC0E78 RSI0000000000000002RDX00007FFE78FA28E0 RCX00007FFE78FA29F8 R80000000000000000R90000000000000082RAX0000000000000000RBX00007FA14C3A9F40 RBP00007FFE78FC0FE0 R100000000000000000R110000000000000000R120000000000000000R130000000000000000R140000000000000000R150000000000002004RSP00007FFE78FC0E70 RIP0000000000D2FC87Dumpofmemoryfrom0x7ffe78fc0e60to0x7ffe78fc0fe07FFE78FC0E6078FC0FE000007FFE00D2FC8700000000[...x............]7FFE78FC0E70000000000000000010A3BF2000000000[...............]7FFE78FC0E8000D2BE000000000010A3BF2000000000[...............]7FFE78FC0E9000D2BE00000000004C3679A000007FA1[.........y6L....]7FFE78FC0EA04C3679A000007FA14C2670A800007FA1[.y6L.....p&L....]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_history,kcbk_prefetch_track,kcbk_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 SGA
kcbk_prefetch_track- kernel cache buffers checkpoint queue manipulation db_block_prefetch administration
kcbk_stat_actkcbk_stat_act - kernel cache buffers checkpoint queue manipulation
【知识点】
buffer pool:SGA中的一个内存区域,用于缓存数据库块以减少磁盘I/O并提高数据访问性能
检查点进程 (CKPT):“检查点”是一种数据结构,用于定义数据库的重做线程中的系统更改号 (SCN)。检查点被记录在控制文件和每个数据文件头中。它们是恢复操作的关键元素。

【小结】Oracle该版本的buffer pool结构信息异常报ORA-600 [kcbk_populate_history_1]然后发生了重启,建议生产环境及时打RU修复该bug。

-the end-

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 7:29:10

CANopen避坑指南:PDO映射配置中的5个常见错误与调试技巧

CANopen避坑指南:PDO映射配置中的5个常见错误与调试技巧 在工业自动化领域,CANopen协议因其高效可靠的实时通信能力,已成为运动控制系统的首选方案。但许多工程师在完成基础配置后,往往会在PDO(过程数据对象&#xff0…

作者头像 李华
网站建设 2026/5/8 7:28:56

容器技术入门与 Docker 环境部署

一、容器与 Docker 核心认知1. 什么是容器容器是操作系统层面的轻量级虚拟化,把应用、依赖、配置打包成独立运行单元,共享宿主机内核,实现环境一致性与资源隔离。2. 为什么用 Docker启动秒级,性能接近原生环境一次打包&#xff0c…

作者头像 李华
网站建设 2026/5/8 7:28:26

英雄联盟智能辅助工具League Akari:5分钟快速上手的完整指南

英雄联盟智能辅助工具League Akari:5分钟快速上手的完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为排位赛中的英雄…

作者头像 李华
网站建设 2026/5/8 7:20:32

跨境电商支付系统全解析:从多币种结算到风控反欺诈的技术实现

跨境电商的核心竞争力,除了供应链和物流,还有一个经常被忽视的关键环节——支付系统。对于反向海淘、代购集运等业务场景,支付系统不仅要处理多币种结算,还要应对跨国合规、汇率波动、反欺诈等复杂挑战。本文将从技术架构层面&…

作者头像 李华
网站建设 2026/5/8 7:20:31

XUnity.AutoTranslator终极指南:5分钟实现Unity游戏实时汉化

XUnity.AutoTranslator终极指南:5分钟实现Unity游戏实时汉化 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为看不懂外语游戏而苦恼吗?XUnity.AutoTranslator让你轻松打破语言…

作者头像 李华