01. 大厂软件的无奈,季度补丁确实不容易
如果你是一名 Oracle DBA,最近半年可能和我一样,对季度补丁的节奏有点"心累"。
年初的 RU 19.30,刚上架就下架,过了 10 天才重新发版。当时不少 DBA 开玩笑说"Oracle 的补丁也开始搞预售了"。
这次 RU 19.31,本该 4 月 21 日发布,结果等到 4 月 30 日才上架。大家以为"慢工出细活",结果刚过了十几天,补丁又被临时撤回了。

说实话,看到这条消息的时候,我的第一反应不是愤怒,而是叹气。Oracle 数据库的代码库太大了,19c 作为长期支持版本,既要兼容无数历史特性,又要不断修补安全漏洞,还要适配 Exadata、RAC、OCI 等各种复杂架构。 quarterly patch 的压力,确实不是一般软件公司能想象的。
补丁下架,说明 Oracle 发现了问题,选择主动止损。这种态度,其实比"硬撑着不撤"更值得尊重。只是苦了那些已经在维护窗口里熬了通宵的 DBA 兄弟们。
02. 19.31 的上架时间线
让我们来回顾一下 19.31 的时间线:
| 时间节点 | 事件 | DBA 状态 |
|---|---|---|
| 4 月 21 日 | CPU58 发布日,19.31 按计划应上架 | 摩拳擦掌 |
| 4 月 21-27 日 | Linux x86-64 版本延迟上架 | 焦急等待 |
| 4 月 28 日 | DB RU 39034528 和 GI RU 39036936 终于上架 | 松了一口气 |
| 4 月 30 日 | OJVM RU 38906621 上架 | 准备开工 |
| 5 月中旬 | 补丁临时下架,状态改为 on-hold | 无奈叹气 |

那些已经打完补丁、正在观察期的环境,此刻最焦虑。还没打补丁的环境,反而逃过一劫。
还真是计划赶不上变化。
03. 下架原因:Exadata 25.2 上的 ORA-00600 回归缺陷
Oracle 官方知识库 KB888427 给出了明确说明。我翻译一下核心信息:
RU 19.31 包含了一个回归缺陷(Regression Bug),在 Exadata 25.2 环境下运行时,会触发 ORA-00600 内部错误。
这不是普通的报错,而是能让 SQL 执行失败、会话终止、甚至进程崩溃的内部错误。
3.1 受影响的 ORA-00600 签名
如果你的 alert log 里出现了以下任何一种,说明已经踩到了这个坑:
ORA-00600 [QERHNITERATEOVERBUFFERS.1]
ORA-00600 [15851]
ORA-00600 [4142]
ORA-00600 [rworupo.1]
ORA-00600 [kcblsltio_1]
ORA-00600 [qesnhQBNextLoad.1]
ORA-00600 [qerhnIterateOverBuffers.1]
这些错误主要影响临时表空间相关操作,可能导致:
- SQL 查询突然失败
- 会话或进程异常终止
- 应用层出现不稳定
3.2 风险环境分级
| 环境类型 | 风险等级 | 说明 |
|---|---|---|
| Exadata 25.2.x | 🔴 高 | 官方明确点名的高危环境 |
| RAC 集群(特定特性) | 🟠 中高 | 启用了相关高级特性的集群 |
| 普通单实例 | 🟡 中低 | 也可能触发,但概率较低 |
| Oracle Client 客户端 | 🟢 低 | 客户端不含核心引擎,通常不受影响 |
需要说明的是,Oracle 撤回补丁是全局性的,即使你不是 Exadata 环境,也建议暂停使用旧版介质,等待修复版重新上架。
04. 已经打了 19.31 的 DBA,建议抓紧排查
如果你正准备下载 19.31,或者在测试环境排期,请立即停止生产环境和测试环境的升级。
如果你已经在生产或测试环境应用了 19.31,请不要慌,按优先级处理:
4.1 第一步:检查 Alert Log
确认日志中有无 ORA-00600。这是常规监控关键字,如果有应该早就收到高级邮件了,以防万一,复查更安全。
# 重点筛查 alert log 中的 ORA-00600
grep -i "ORA-00600" $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log
# 检查最近生成的 trace 文件
ls -lt $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/*.trc | head -20
4.2 第二步:临时规避(隐藏参数)
如果暂时无法回滚,可以设置隐藏参数来临时规避问题:
-- 内存级别生效
ALTER SYSTEM SET "_kcfis_fctempopt_mode" = 0;
-- RAC 环境全实例生效,并写入 SPFILE
ALTER SYSTEM SET "_kcfis_fctempopt_mode" = 0 SCOPE=BOTH SID='*';
这个参数关闭了 Exadata 上的一个临时表空间优化特性,能暂时规避 ORA-00600。但这是隐藏参数,不建议长期依赖,仅作为过渡方案。
4.3 第三步:回滚到稳定版本(最稳妥)
如果环境尚未出现业务影响,或者出于谨慎考虑,回滚是最安全的选择。
使用下面的命令将环境回滚至之前的稳定版本(如 19.30 或 19.29)。
opatch rollback -id 39034528
有人可能有疑问,不是听说 19.30 下架了么?
是的,但 1 月 30 日修复后重新上架了,目前是稳定态。
4.4 第四步:开 SR 申请 One-off 补丁
如果业务要求必须留在 19.31(例如需要修复某些 CVE 的合规刚需),建议:
登录支持中心 My Oracle Support (MOS),开单 Service Request (SR),联系 Oracle 技术支持,申请针对 KB888427 的 One-off 临时补丁。
最后,Oracle 正在加急准备修复后的新版 19.31 补丁,但在此之前,One-off 是最直接的救急方案。
05. 26ai 路线不受影响,长期规划值得思考
值得欣慰的是,Oracle AI Database 26ai(23.26.2.0)这次完全不受影响。
或许可以推断,19c 和 26ai 的代码基线已经分道扬镳,19c 的补丁问题不会传染到 26ai。对于正在使用或规划 26ai 的企业来说,这条路线目前看来是稳健的。
这也引发了一个值得思考的问题:
当 AI 被引入编码工作流,品控问题是否变得更加复杂。
19c 虽然维护期很长(扩展支持到 2032 年底),但打补丁的复杂度确实在增加。对于核心系统,DBA 和架构师可能需要开始评估:
- 19c 的长期维护成本是否在上升?
- 升级窗口和回滚预案是否足够成熟?
- 是否要给新补丁一个更长的观察期?
当然,这不是说 19c 不能用了。Oracle 19c 依然是全球最稳定的企业级数据库之一,只是 DBA 需要更谨慎地管理补丁节奏。
06. AI 能不能帮 Oracle 提升补丁质量?
写到这里,我想多聊几句题外话,也是很多 DBA 和技术管理者关心的问题:
AI 这么强了,能不能帮 Oracle 这种大型软件公司减少补丁回归缺陷?
能,而且已经在做了,但还远远不够。
6.1 AI 已经在帮 Oracle 找 Bug
Oracle 在 19.31 的发布说明里提到了一件事:他们通过 Trusted Access for Cyber 项目,使用 AI 模型(包括 Anthropic Claude、OpenAI 等)分析代码,主动识别潜在安全漏洞。
这说明 Oracle 已经在用 AI 做代码审查和漏洞预测。AI 可以快速扫描数百万行 C 代码,发现人类审计员容易忽略的模式,比如缓冲区溢出、竞态条件、未初始化变量等。
6.2 AI 还能做更多:回归测试智能化
但找 Bug 只是第一步。像 19.31 这种"在 Exadata 25.2 上触发 ORA-00600"的问题,本质上是回归测试覆盖不足。
AI 可以在以下环节帮大忙:
1/ 智能测试用例生成
传统回归测试依赖人工编写用例,但 Exadata + RAC + PDB + 临时表空间优化 的组合场景,人很难穷举。AI 可以基于代码变更自动生成边界条件测试,覆盖更多"奇葩组合"。
2/ 异常模式预测
AI 可以学习历史补丁的"失败模式",比如"凡是修改了 kcfis 相关代码的补丁,在 Exadata 上都有 30% 概率触发 ORA-00600"。这种预测可以帮助测试团队优先排查高风险区域。
3/ 自动化补丁验证流水线
AI 驱动的 CI/CD 可以在补丁打包后,自动在数百种环境组合(单实例/RAC/Exadata/云/本地)上并行验证,而不是靠人工排期测试。
6.3 但 AI 也有边界
AI 不是万能的。像 Oracle 数据库这种级别的软件,AI 目前很难完全替代以下环节:
- 硬件级兼容性测试:Exadata 的存储节点、InfiniBand 网络、RDMA 特性,需要真实硬件环境,AI 模拟不了。
- 性能回归判断:某个补丁让 TPS 下降了 5%,这是可接受还是回归?需要人类专家结合业务场景判断。
- 复杂架构的交互效应:PDB + RAC + Data Guard + GoldenGate + 向量索引的组合,AI 可能识别不出所有交互风险。
07. 理解、等待、相信
AI 不会立刻让 Oracle 的补丁零缺陷,但它可以显著缩短"问题发现时间"和"修复响应时间"。
补丁临时下架,对 DBA 来说是一次折腾,但对 Oracle 来说,是负责任的选择。发现问题、主动撤回、加急修复,这个流程本身是对的。只是希望,未来的季度补丁,让"上架即稳定"成为常态,而不是接二连三的上架、下架、再上架。
期待修复版 19.31 尽快回归。26ai 的 DBA 们,请继续享受 AI 原生数据库的红利,顺便给 19c 的战友们递杯热咖啡。

参考链接
- Oracle MOS KB888427
- Mike Dietrich LinkedIn: https://www.linkedin.com/posts/mikedietrich_ru-1931-has-been-put-on-hold-and-will-be-activity-7460214558813679616-yn4d
Have a nice day ~ ☕
🌻 往期内容 ▼
- Oracle Skills开源:AI工程正在进入"技能时代"
- 苦等三年!Oracle AI Database 26ai本地服务器版终于来了
- MySQL 8.0结束生命周期,8.4.9 LTS、9.7.0发版上线:一个时代的交接与新生
- 先进的 AI 团队都在用 TiDB
- KaiwuDB开源工具kwcli v0.1.1更新
- 转载:数据库一体机简史 7
- 金仓数据库KingbaseES V9 Oracle兼容版全解析(2026版)
- IvorySQL-Skills:开源一套自用IvorySQL数据库Skills
- HOW2026复盘分享:晨章数据EloqData的NVMe+协程实践
- HOW2026大会:PostgreSQL与AI在泉城济南的硬核碰撞
- AWS What’s Next峰会全复盘;开启AI操作系统时代,OpenAI正式“入驻”AWS生态
- 虚谷数据库发布了一个Skills剧透了新版本特性
- DBClaw与TRAE穿搭指南:数据库诊断工具的正确打开方式
- TiDB Radio | 平凯宇宙新鲜事儿 (2026.03.31)
- 官宣|星珩联盟,正式启航!
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)、AI、Vibe Coding、OpenClaw 、Hermes Agent 等感兴趣,可以加群一起聊聊。关注微信公众号:(少安事务所),后台回复[群],即可看到入口。如果这篇文章为你带来了灵感或启发,请帮忙『点赞、推荐、转发』吧,感谢!ღ( ´・ᴗ・` )~




