Oracle AI Database 26ai 季度补丁升级指南
00. 写在前面
Oracle AI Database 26ai 从 2026 年开始按季度推送 Release Update(RU),版本号第三位就是季度标识。4 月份发布的 23.26.2.0.0 是首个季度补丁,笔者在自己的测试环境上从 23.26.1 升到了 23.26.2,全程走了一遍传统 OPatch 流程。
但这里有个大新闻:从 26ai 开始,Oracle 正式推出了 Gold Image 补丁方式。这种方式是基于“干净的、预先打好补丁的镜像(Image-based)”来实现 Out-of-Place 升级。直接解压一个已经包含了最新 RU(Release Update)补丁的、干净的 Oracle 软件安装包(即 Gold Image)到新的目录,然后直接将数据库实例的启动路径切换过去。
官方甚至把 OPatch/OPatchAuto 的 out-of-place 方式标记为 deprecated。这意味着 DBA 的补丁思维需要升级了。这里需要特别注意的是:“Out-of-Place(零停机/低停机时间)打补丁”这种运维概念本身并没有被否定。相反,Oracle 官方目前依然强烈推荐使用 Out-of-Place 方式来降低升级风险。真正被弃用的是“实现这一概念的旧工具/旧方法(即通过 OPatch/OPatchAuto 内部进行克隆)”。因为旧工具会把过去所有的旧补丁历史(如 .patch_storage 目录等碎片文件)和历史垃圾也一并复制过去。这不仅导致新的 ORACLE_HOME 极其臃肿,还非常容易引发各种意想不到的配置冲突。
本文把笔者实测的 OPatch 流程原原本本记录下来,同时把 Gold Image 这个新范式讲清楚,供各位同行参考。
01. 26ai 的版本号规则与补丁节奏
1.1 版本号怎么读
26ai 改变了传统的版本号命名逻辑,固定主版本号为 23.26.x:
| 版本号 | 发布时间 | 含义 |
|---|---|---|
| 23.26.0.0.0 | 2025 年 10 月 | 初始 GA 版本 |
| 23.26.1.0.0 | 2026 年 1 月 | 2026 Q1 补丁 |
| 23.26.2.0.0 | 2026 年 4 月 | 2026 Q2 补丁(本文主角) |
| 23.26.3.0.0 | 2026 年 7 月 | 2026 Q3 补丁(预计) |
| 23.26.4.0.0 | 2026 年 10 月 | 2026 Q4 补丁(预计) |
1.2 补丁交付的两种形态
从 26ai 开始,Oracle 每个季度的 RU 都以两种格式交付:
| 交付形态 | 本质 | 适用场景 |
|---|---|---|
| Gold Image | 完整的软件安装镜像(类似全新安装包) | Out-of-place 升级,Oracle 强烈推荐 |
| 二进制补丁包 | 传统的 zip 补丁文件,用 OPatch 应用 | In-place 升级,兼容旧习惯 |
Oracle 官方文档明确表示:“Oracle recommends that you use out-of-place patching using Gold images to apply quarterly release updates (RUs). The use of OPatch and OPatchAuto for out-of-place patching continues to be deprecated.”
02. 常规 OPatch 升级法
虽然 Gold Image 是趋势,但 OPatch 方式目前仍然完全可用,而且对于单实例测试环境来说,操作起来很直接。下面把笔者从 23.26.1 升到 23.26.2 的完整过程记录下来。
2.1 下载补丁包
从 MOS 下载两个文件:
| 文件 | 补丁号 | 大小 | 用途 |
|---|---|---|---|
| p39093711_230000_Linux-x86-64.zip | 39093711 | 2.77 GB | Database Release Update 23.26.2 |
| p6880880_230000_Linux-x86-64.zip | 6880880 | 24.1 MB | OPatch 工具升级包 |
下载地址:
- https://support.oracle.com/support/?patchId=39093711
- https://support.oracle.com/support/?patchId=6880880
2.2 停止相关服务
1 | # 停止数据库 |
2.3 升级 OPatch 工具
先检查当前版本,然后替换为最新版:
1 | # 检查当前 OPatch 版本 |
2.4 应用 RU 补丁
1 | # 创建补丁目录并解压 |
注意这里的提示:“Sub-set patch has become inactive”,说明新补丁是旧补丁的超集,逻辑上很干净。
2.5 启动数据库并运行 datapatch
1 | # 启动数据库 |
接下来运行 datapatch,这是升级 SQL 字典的关键步骤:
1 | # 先做健全性检查 |
datapatch 会自动处理 CDB$ROOT、PDB$SEED 和所有用户 PDB,不需要你手动逐个切换容器。
2.6 验证升级结果
1 | SQL> select BANNER_FULL from v$version; |
看到 23.26.2.0.0,说明二进制升级成功。再查一下补丁注册表:
1 | SET LINESIZE 200 |
输出:
1 | PDB_NAME PATCH_ID ACTION STATUS DESCRIPTION ACTION_TIME |
CDB$ROOT、PDB$SEED、MYPDB1 三个容器全部 SUCCESS,升级完成。
2.7 启动监听并注册服务
1 | [oracle@rl9 ~]$ lsnrctl start |
监听版本也同步变成了 23.26.2.0.0。然后进数据库执行服务注册:
1 | ALTER SYSTEM REGISTER; |
03. Gold Image 补丁方式(26ai 新范式)
3.1 什么是 Gold Image
Gold Image 是 Oracle 从 26ai 开始主推的补丁交付形态。你可以把它理解成一份"已经打好补丁的完整软件安装包",而不是传统的"补丁差分包"。
传统 OPatch 是 in-place 或 out-of-place 打差分补丁,Gold Image 则是直接给你一份全新的、完整的、已经集成好 RU 的软件镜像。你把它解压到一个新的 ORACLE_HOME,然后把数据库切过去就行。
3.2 为什么 Oracle 要推 Gold Image
笔者梳理了几点理由:
| 维度 | 传统 OPatch 方式 | Gold Image 方式 |
|---|---|---|
| 停机时间 | 需要停止数据库,原地打补丁,时间较长 | 可提前在新 HOME 准备好,切换瞬间完成 |
| 回滚能力 | 回滚复杂,opatch rollback 容易出问题 | 旧 HOME 原封不动保留,切回去就是回滚 |
| 补丁冲突 | 多个 one-off 补丁容易冲突,需手动解决 | Gold Image 已经预解决了冲突 |
| 操作复杂度 | 步骤多,容易出错 | 解压 → 切 HOME,两步搞定 |
| 配置漂移 | 原地修改容易引入配置漂移 | 新 HOME 干净,标准化程度高 |
| RAC 场景 | 滚动补丁需要逐个节点操作,协调复杂 | FPP 可一次性批量推送 |
Oracle MAA 博客说得直白:“With Gold images, teams can deploy a new GI and Oracle home from gold images, perform a switch home operation during maintenance windows, improve patching reliability and reduce configuration drift.”
3.3 Gold Image 手动升级步骤
对于单实例数据库,不用 FPP 也能手动完成 Gold Image 升级。核心思路是:
Step 1:下载 Gold Image
从 MOS 下载对应季度的 Gold Image 补丁包。比如 23.26.2 的 Gold Image 补丁号是 39093711 的 Gold Image 版本(注意和 binary patch 区分)。
Step 2:创建新的 Oracle Home
1 | # 创建新的 HOME 目录 |
Step 3:使用 runInstaller 克隆 HOME
26ai 提供了 -setupDBHomeAs 参数,可以把新 HOME 配置成和旧 HOME 完全一致的环境:
1 | # 以 oracle 用户执行 |
这个命令会把旧 HOME 的配置(包括 oratab、inventory、环境变量关联等)复制到新 HOME,确保两个 HOME 的配置一致性。
Step 4:切换数据库到新 HOME
1 | # 停止数据库(短暂停机窗口) |
Step 5:验证并清理旧 HOME
确认一切正常后,旧 HOME 可以保留一段时间作为回滚备份,后续再删除。
3.4 DBCA 自动化 Gold Image 补丁(以单实例举例)
对于单实例,Oracle 26ai 推荐用 DBCA 来完成 Gold Image 补丁,比手动更省心:
1 | # DBCA 可以直接调用 Gold Image 进行 out-of-place 补丁 |
DBCA 会自动完成:解压 Gold Image → 克隆配置 → 停止数据库 → 切换 HOME → 启动数据库 → 运行 datapatch。全程自动化,出错概率低。
04. 23.26.2 值得关注的几个新特性
这次季度补丁不只是修 bug,还带来了几个实用增强。笔者在测试环境上体验了一下,印象最深的是这几个:
4.1 Local HNSW 向量索引
26ai 引入了 本地 HNSW 索引,支持在分区表的每个分区上创建独立的 HNSW 向量索引。这意味着:
- 查询带分区键时,Oracle 会自动做分区裁剪,只扫描相关分区的 HNSW 索引
- 支持并行查询,跨分区扫描可以并行执行
- RAC 环境下支持集中式或分布式构建模式
但也有限制:DML 操作后索引不会自动更新,需要先删除索引、插数据、再重建索引。所以这种索引更适合相对静态的向量数据集。
4.2 Vector Memory Pool 独立配置
26ai 新增了 vector_memory_size 参数,可以在 SGA 中单独划出一块内存给向量计算使用。默认是 0,意味着 HNSW 索引无法创建。
1 | -- 查看当前配置 |
重启后 HNSW 索引就能正常创建了。这个设计让向量负载和传统 OLTP 负载的内存资源可以分开管理,避免互相争抢。
4.3 JRE 漏洞热补丁(无需停机)
Oracle 26ai 支持在不停数据库、不停 Grid Infrastructure 的情况下,直接给 JRE 打安全补丁。这对于安全合规要求高的企业是个福音,紧急漏洞不需要再申请半夜停机窗口了。
06. 总结
走完 23.26.1 → 23.26.2 的升级流程,再研究完 Gold Image 的资料,这里分享两点感受:
-
OPatch 还能用,但已经不是未来。Oracle 明确 deprecated 了 OPatch 的 out-of-place 方式,in-place 虽然可用,但风险高、停机长。建议 DBA 团队现在开始熟悉 Gold Image 流程。Gold Image 的本质是"软件交付方式的变革"。以前补丁是差分包,现在补丁是完整镜像。这类似于容器镜像的思路,标准化、可回滚、低漂移。
-
向量相关的参数和索引需要特别关注。vector_memory_size、Local HNSW、分区裁剪,这些新玩意儿对 AI 场景下的数据库运维提出了新要求。这个我们后面再开新章节介绍。
Have a nice day ~ ☕
🌻 近期内容 ▼
- Oracle Skills开源:AI工程正在进入"技能时代"
- 苦等三年!Oracle AI Database 26ai本地服务器版终于来了
- MySQL 8.0结束生命周期,8.4.9 LTS、9.7.0发版上线:一个时代的交接与新生
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)、AI、Vibe Coding、OpenClaw 、Hermes Agent 等感兴趣,可以加群一起聊聊。关注微信公众号:(少安事务所),后台回复[群],即可看到入口。如果这篇文章为你带来了灵感或启发,请帮忙『点赞、推荐、转发』吧,感谢!ღ( ´・ᴗ・` )~
Author: Shawn Yan
Link: https://shawnyan.cn/2026/oracle/oracle-26ai-quarterly-patch-upgrade-guide/index.html
License: All articles on this site are original unless otherwise stated. Please indicate the source when reprinting!