DBAtlas · 数据库运维图谱

应用 Oracle Database 19c Release Update (RU)

Oracle难度: 中级耗时: 60–120 分钟(停机:in-place 30–60 分钟,out-of-place 10–20 分钟)

为单实例或 Oracle Restart(Grid Infrastructure + ASM)19c 数据库应用季度 Release Update:OPatch 更新、冲突与空间预检查、ORACLE_HOME 备份和 guaranteed restore point、opatch apply(Oracle Restart 使用 opatchauto)、可选的 OJVM RU、datapatch、utlrp 及验证。包含缩短停机时间的 out-of-place 路径(安装到新 home 后切换),以及每种路径的回退(rollback)步骤。如果选择 RAC,则引导至 RAC 指南,按节点逐个 rolling 应用。

架构: 1 台服务器(单实例或 Oracle Restart);RAC 请使用 rolling patch 指南

开始之前

  • 补丁文件位于 … 下:…GI RU ……DB RU ………、OJVM RU ……、OPatch ……,以及新 home 的基础安装文件 LINUX.X64_193000_db_home.zip…。请在 MOS 中核对补丁号,并通读 RU README(最低 OPatch 版本、已知问题和附加步骤都写在 README 中)。
  • 已下载 MOS 555.1 中推荐的 one-off 补丁适用于新 RU 的版本;已确认当前 home 中的 one-off 是否与新 RU 冲突(冲突的 one-off 需要基于该 RU 构建的新版本)。
  • 已记录当前补丁级别和数据库状态;所有组件均为 VALID。
  • ORACLE_HOME 所在文件系统至少有 15 GB 可用空间(OPatch 将旧文件保存在 .patch_storage 中),… 中有与 home 大小相当的空间…,新 home 至少有 15 GB…。
  • 为使用还原点,数据库处于 ARCHIVELOG 模式,且 FRA 有足够可用空间(存放打补丁期间产生的 flashback log)。
  • 最近 24 小时内有一份成功且经过测试的 RMAN 备份。
  • 维护窗口已批准;应用团队已知悉停机;监控(EM/agent)已设置 blackout;计划任务(cron、DBMS_SCHEDULER)已停止。
  • 如可能,已为服务器(VM)创建快照。
  • 如果数据库有 Data Guard 备库,已规划补丁顺序:先给备库的 home 打补丁(Standby-First,MOS 1265700.1),之后再给主库打补丁,datapatch 只在主库上运行。没有备库则跳过此项。
  • 集群健康,所有节点上的实例均已启动;RAC 补丁的详细前提条件见 Oracle RAC 19c rolling Release Update 指南。
  • Standby-First 条件(MOS 1265700.1):RU README 中写有 “Data Guard Standby-First Installable”(Release Update 都具备此属性;one-off 需另查 README)…;19c OJVM RU 并非无条件支持 Standby-First(见下方说明)…;主备库之间的补丁差异仅在切换期间(短时间)保留;datapatch 将在所有备库和主库都打完补丁后,只在主库上运行一次。…该主库的所有备库都已安装新 RU 二进制,且备库正在持续 apply。…

指南阶段

  • RAC:验证环境并转到 rolling patch 指南 — 验证集群和节点 · 执行 RAC rolling patch 指南
  • 预检查 — 检查当前补丁级别(DB home) · 检查当前补丁级别(Grid home) · 检查数据库状态和 SQL 补丁历史 · 检查备库角色和 apply 状态(Data Guard 备库) · 检查 Data Guard 状态(主库) · 验证备库上已安装新 RU …
  • 备份与回退点 — 检查 RMAN 备份 · 停止 Redo Apply(Data Guard 备库) · 创建 guaranteed restore point · 创建 guaranteed restore point(备库)
  • 应用:in-place(opatch apply) — 停止数据库和监听 · 备份 ORACLE_HOME 和 inventory · 应用 RU(opatch apply) · 应用 OJVM RU · 启动监听和数据库 · 启动监听,将备库启动到 MOUNT,开启 apply
  • 应用:in-place(Oracle Restart,opatchauto) — 停止 Oracle Restart(用于备份) · 备份 Grid home、DB home 和 inventory · 启动 Oracle Restart · 应用 GI RU(opatchauto) · 将 OJVM RU 应用到 DB home · 启动 Redo Apply(Data Guard 备库)
  • 应用:out-of-place(新 home) — 创建新 home 目录 · 解压基础软件并更新 OPatch · 为新 home 准备 response file · 安装含 RU 的新 home · 运行 root.sh(新 home) · 比较新旧 home 中的补丁 …
  • SQL 层补丁(datapatch) — 运行 datapatch · 编译无效对象(utlrp) · 不要在备库上运行 datapatch · 验证 SQL 变更已传到备库
  • 验证 — 验证二进制补丁级别 · 验证二进制补丁级别(Grid home) · 验证 SQL 补丁记录和对象 · 验证备库用新二进制继续 apply · 检查 alert log · 进行应用测试 …
  • 收尾 — 删除还原点 · 删除还原点(备库) · 清理
  • 回退(仅在需要时) — 停止数据库和监听 · 回退补丁(opatch rollback) · 回退补丁(opatchauto rollback) · 切回旧 home · 用旧二进制将备库启动到 MOUNT 并开始 apply · 启动并回退 SQL 补丁(datapatch) …
按您的环境打开分步计划 →