暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

Oracle 19.31 临时下架,Exadata 25.2 遭遇 ORA-00600

原创 严少安 1天前
64

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]

这些错误主要影响临时表空间相关操作,可能导致:

  1. SQL 查询突然失败
  2. 会话或进程异常终止
  3. 应用层出现不稳定

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 ~ ☕

🌻 往期内容 ▼

👉 这里有得聊

如果对国产基础软件(操作系统、数据库、中间件)、AI、Vibe Coding、OpenClaw 、Hermes Agent 等感兴趣,可以加群一起聊聊。关注微信公众号:(少安事务所),后台回复[群],即可看到入口。如果这篇文章为你带来了灵感或启发,请帮忙『点赞、推荐、转发』吧,感谢!ღ( ´・ᴗ・` )~

最后修改时间:2026-05-14 09:35:05
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论