暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

Oracle® 数据库补丁 33583921 - GI 2022 年 1 月发布更新 12.2.0.1.220118

原创 yBmZlQzJ 2022-05-18
1512

Oracle® 数据库

补丁 33583921 - GI 2022 年 1 月发布更新 12.2.0.1.220118




在本文档中,Oracle 数据库主目录指的是企业版和标准版。

GI 2022 年 1 月发布更新 12.2.0.1.220118 包括可以滚动应用的集群件主目录和数据库主目录的更新。

此补丁是 Data Guard Standby First Installable - 有关详细信息,请参阅在 Standby-First 模式下安装补丁

可以使用 Oracle Enterprise Manager (OEM) Cloud Control 12 c应用此补丁。OEM 支持通过使用基于补丁计划的工作流程来修补单个集群,并通过使用队列维护(在 OEM Cloud Control 12 c版本 4 中引入)支持多个集群。补丁计划方法支持就地和异地补丁。车队维护采用异地修补。(与就地相比,异地修补可以减少停机时间。)车队维护支持在集群上本地创建修补家园,或提供修补家园的黄金映像。请参见Oracle Enterprise Manager Lifecycle Management 管理员指南有关方法和其他 OEM 功能的更多信息。

数据库子补丁包括上一周期发布的 JDK 修复,并将更新 Oracle 主页中的 JDK。对于最新的 JDK 修复,除了此补丁之外,还需要安装一个单独的补丁。有关 JDK 补丁号,请参阅 My Oracle Support 文档888.1 - Database Proactive Patch Program 的主要说明。

有关应在仅客户端安装上使用的带有安全修复程序的最新更新,请参阅 Oracle 数据库上的重要补丁更新 (CPU) 程序补丁可用性文档 (PAD) 部分,了解您感兴趣的周期。


本文档在发布时是准确的。有关 GI 2022 年 1 月发行更新 12.2.0.1.220118 的任何更改和其他信息,请参阅 My Oracle Support ( http://support.oracle.com/) 中提供的这些相关文档:

  • 文档12202201.9 Oracle DB/GI/OJVM 更新/修订版 12.2.0.1 2022 年 1 月 已知问题

本文档包括以下部分:

1.1补丁信息

Grid Infrastructure 补丁是累积性的,包括数据库更新内容和 CPU 程序安全内容。

表 1-1列出了各种配置以及应用于修补该配置的适用补丁。

表 1-1 配置和数据库补丁映射

配置GI版数据库版本修补OPatch 命令(1)评论

GI home 与 RAC、RACOne 或 Single Instance home 结合使用

12.2.0.1

12.2.0.1

吉茹

opatchauto

GI home 和所有数据库 home 将被修补

GI home 与 RAC、RACOne 或 Single Instance home 结合使用

12.2.0.1

12.2.0.1 及之前的版本

吉茹

opatchauto

将修补 12.2.0.1 版本的 GI 主目录和数据库主目录。

对于版本不是 12.2.0.1 的数据库主目录,请为该版本应用适当的数据库RU。例如,将 12.2.0.1.x RU 应用于数据库版本 12.2.0.1.0。

GI home 与 RAC、RACOne 或 Single Instance home 结合使用

12.2.0.1

12.2.0.1 之前的版本

吉茹

opatchauto

GI家单独打补丁。

对于数据库主目录, 为该版本应用适当的数据库RU 。例如,将 12.2.0.1.x RU 应用于数据库版本 12.2.0.1.0。

Oracle 重启主页

12.2.0.1

12.2.0.1

吉茹

opatchauto

GI home 和所有数据库 home 都将被修补。

数据库单实例主页

不适用

12.2.0.1

数据库RU

补丁申请

没有任何

数据库客户端主页

不适用

12.2.0.1

数据库RU

补丁申请

没有任何

脚注 1 Opatchauto 不支持在 Data Guard 环境中进行修补。有关详细信息,请参阅在待机优先模式下安装补丁

表 1-2按补丁编号列出了作为此捆绑补丁的一部分安装的各种补丁。

表 1-2 作为此捆绑补丁的一部分安装的补丁号

补丁号描述适用家庭

33587128

数据库 2022 年 1 月发布更新 12.2.0.1.220118

仅用于 Oracle 非 RAC 设置的数据库主目录。用于 Oracle RAC 设置的数据库主目录和网格主目录。

33678030

OCW 2022 年 1 月发布更新 12.2.0.1.220118

DB home 和 Grid home

33116894

ACFS 2021 年 7 月发布更新 12.2.0.1.210720脚注 2

只有网格家

26839277

DBWLM 发布更新 12.2.0.1.170913脚注 2

只有网格家

33610989

Tomcat 发布更新 12.2.0.1.0脚注 2

只有网格家

脚注 2

Oracle ACFS、DBWLM 和 TOMCAT 子补丁不适用于 IBM System z 平台上的 HP-UX Itanium 和 Linux。



1.2补丁安装和卸载

本节包括以下部分:

1.2.1补丁安装前提

强烈建议在应用补丁之前备份 Oracle_Home 二进制文件、Grid_Home 二进制文件和 Central Inventory。有关详细信息,请参阅注释565017.1

在应用补丁之前,您必须满足以下部分中的条件:

1.2.1.1 OPatch 实用程序信息

您必须使用 OPatch 实用程序版本 12.2.0.1.28 或更高版本来应用此补丁。Oracle 建议您使用最新发布的 12.2 OPatch 版本,可通过选择 12.2.0.1.0 版本的 ARU 链接从 My Oracle Support 补丁6880880下载该版本。建议您将 OPatch 实用程序和补丁下载到共享位置,以便能够从集群中的任何节点访问它们,以获取每个节点上的补丁应用程序。

修补 GI home 时,只需在正在修补 GI home 的节点上卸载 Oracle ACFS 上的共享位置。

应该在所有 Oracle RAC 数据库主目录和正在修补的 GI 主目录中更新新的 OPatch 实用程序。

对于每个正在修补的 Oracle RAC 数据库主目录和 GI 主目录,作为主所有者,提取 OPatch 实用程序。

有关安装 OPatch 的确切说明,请遵循 OPatch 自述文件。

有关 OPatch 文档的信息(包括任何已知问题),请参阅 My Oracle Support Document 293369.1 OPatch 文档列表。

1.2.1.2 Oracle Inventory 的验证

在开始应用补丁之前,检查 GI home 和每个要修补的数据库 home 的库存信息的一致性。以各自的 Oracle 主所有者身份运行以下命令以检查一致性。

$ <ORACLE_HOME>/OPatch/opatch lsinventory -detail -oh <ORACLE_HOME>

如果此命令成功,它将列出安装在 home 中的 Oracle 组件。保存输出,以便您获得补丁应用之前的状态。

如果此命令失败,请联系 Oracle 支持服务寻求帮助。

1.2.1.3下载补丁并解压

要应用补丁,它必须可以从 Oracle 集群中的所有节点访问。下载补丁并将其解压缩到共享位置,这称为<UNZIPPED_PATCH_LOCATION>. 此目录必须为空,而不是/tmp. 此外,该目录应具有该ORA_INSTALL组的读取权限。

$ cd <UNZIPPED_PATCH_LOCATION>

检查目录是否为空。

$ ls

以 grid home owner 身份解压补丁,没有任何 grid home 的安装除外。对于此补丁仅应用于数据库主目录的安装,需要以数据库主目录所有者的身份解压缩该补丁。

$解压缩p33583921_122010_Linux-x86-64.zip

1.2.1.4运行 OPatch 冲突检查

确定当前安装的一次性补丁是否与此补丁33583921冲突,如下所示:

  • 对于 Grid Infrastructure 家庭,作为家庭用户:

    % $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/ 33583921 /33587128
    % $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/ 33583921 /33678030
    % $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/ 33583921 /33116894
    % $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/ 33583921 /26839277
    % $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/ 33583921 /33610989
  • 对于数据库主目录,作为主用户:

    % $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/ 33583921 /33587128
    % $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/ 33583921 /33678030
    

该报告将指出与补丁33583921冲突的临时补丁以及补丁33583921是其超集的临时补丁。

笔记:

当 OPatch 启动时,它会验证补丁并确保与已安装在ORACLE_HOME. OPatch 将冲突分为以下类型:

  • 与已应用于ORACLE_HOME.

    在这种情况下,请停止补丁安装并联系 Oracle 支持服务。

  • 与已应用于ORACLE_HOME.

    在这种情况下,请继续安装补丁,因为新补丁包含ORACLE_HOME. 而且,在任何情况下,子补丁都会在安装新补丁之前自动回滚。

1.2.1.5 运行OPatch SystemSpace 检查

检查文件系统上是否有足够的可用空间ORACLE_HOME 来应用补丁,如下所示:

  • 对于 Grid Infrastructure 家庭,作为家庭用户:

    1. 创建/tmp/patch_list_gihome.txt 具有以下内容的文件:

      % 猫 /tmp/patch_list_gihome.txt
      
      <解压缩补丁位置>/ 33583921 /33587128
      <解压缩补丁位置>/ 33583921 /33678030
      <解压缩补丁位置>/ 33583921 /33116894
      <解压缩补丁位置>/ 33583921 /26839277
      <解压缩补丁位置>/ 33583921 /33610989
    2. 运行 OPatch 命令检查 Grid Infrastructure 主页中是否有足够的可用空间:

      % $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt
      
  • 对于数据库主目录,作为主用户:

    1. 创建/tmp/patch_list_dbhome.txt 具有以下内容的文件:

      % cat /tmp/patch_list_dbhome.txt
      <解压缩补丁位置>/ 33583921 /33587128
      <解压缩补丁位置>/ 33583921 /33678030
      
    2. 运行 OPatch 命令检查数据库主目录中是否有足够的可用空间:

      % $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt
      

命令输出根据系统空间可用性报告通过和失败消息:

  • 如果 OPatch 报告Prereq "checkSystemSpace" failed.,则清理系统空间,因为所需的空间量不可用。

  • 如果 OPatch 报告Prereq "checkSystemSpace" passed.,则无需采取任何措施。继续安装补丁。

1.2.2一次性补丁冲突检测与解决

确定 Oracle 主目录中是否有与补丁冲突的一次性补丁并获得必要的冲突解决补丁的最快和最简单的方法是使用补丁和更新选项卡中的补丁建议和补丁计划功能我的 Oracle 支持。这些功能与 My Oracle Support 配置管理器结合使用。有关这些功能的记录培训课程可在文档603505.1中找到。

但是,如果您没有使用 My Oracle Support 补丁计划,My Oracle Support 冲突检查器工具使您能够上传 OPatch 清单并检查要应用于您的环境的补丁是否存在冲突。

如果没有发现冲突,您可以下载补丁。如果发现冲突,该工具会找到要下载的现有解决方案。如果未找到解决方案,它将自动请求解决方案,您可以在“补丁和更新”选项卡的“计划和补丁请求”区域进行监控。

有关更多信息,请参阅知识文档1091294.1,如何使用 My Oracle Support 冲突检查器工具。

或者,手动确定当前安装的一次性补丁是否与 PSU 补丁冲突,如下所示:

  • 下载和解压缩补丁中所述的解压缩目录中。

  • 以下命令检查 12.2 GI 主目录和 12.2 DB 主目录中的冲突。

    • 如果您正在应用补丁,请运行以下命令:

      #GRID_HOME/OPatch/opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921 -analyze
      
    • 如果您要回滚补丁,请运行以下命令:

      #GRID_HOME/OPatch/opatchauto 回滚 <UNZIPPED_PATCH_LOCATION>/ 33583921 -analyze
      

请注意,Oracle 会主动为常见冲突生成临时补丁。

请参阅 My Oracle Support 文档1061295.1 补丁集更新 - 一次性补丁冲突解决,以确定对于每个冲突补丁,冲突解决补丁是否已经可用,以及是否需要请求新的冲突解决补丁或冲突是否可能存在忽略。

1.2.3 opatchauto

Opatch 实用程序已自动化 Oracle Grid Infrastructure (GI) 主目录和 Oracle RAC 数据库主目录的补丁应用程序。它通过查询现有配置并自动执行修补相同版本的每个 Oracle RAC 数据库主目录和 GI 主目录所需的步骤来运行。

该实用程序必须由具有特权的操作系统 (OS) 用户root执行,并且如果 GI 主目录或 Oracle RAC 数据库主目录位于非共享存储中,则必须在集群中的每个节点上执行该实用程序。该实用程序不应在集群节点上并行运行。

根据指定的命令行选项,一次 opatchauto 调用可以修补 GI 主目录、Oracle RAC 数据库主目录,或与修补程序相同的 Oracle 发行版本的 GI 和 Oracle RAC 数据库主目录。您还可以使用相同的选择性回滚补丁。

将包含 opatchauto 的目录添加到 $PATH 环境变量。例如:

# 导出 PATH=$PATH:<GI_HOME>/OPatch

修补相同版本的 GI 主目录和所有 Oracle RAC 数据库主目录:

# opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921

仅修补 GI 主页:

# opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <GI_HOME>

修补一个或多个 Oracle RAC 数据库主目录:

# opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <oracle_home1_path>,<oracle_home2_path>

要从 GI 主目录和每个 Oracle RAC 数据库主目录回滚补丁:

# opatchauto 回滚 <UNZIPPED_PATCH_LOCATION>/ 33583921 

要从 GI 主页回滚补丁:

# opatchauto rollback <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <路径到 GI home>  

要从 Oracle RAC 数据库主目录回滚补丁:

# opatchauto rollback <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <oracle_home1_path>,<oracle_home2_path> 

有关 的更多信息opatchauto,请参阅Oracle® OPatch 用户指南

有关详细的补丁安装说明,请参阅补丁安装

1.2.4补丁安装

补丁说明将根据网格基础架构和 Oracle RAC 数据库主目录的配置而有所不同。下面列出了 Oracle RAC 数据库主目录和 GI 的修补说明。

最常见的配置如下:

  • 案例 1:Oracle RAC,其中 GI home 和 database home 不共享且 Oracle ACFS 文件系统未配置

  • 案例 2:Oracle RAC,其中 GI home 不共享,database home 是共享的,可以使用 Oracle ACFS

  • 案例 3:不由 Oracle Grid Infrastructure 管理的单实例住宅

对于下面列出的其他配置,请参阅 My Oracle Support 文档2246888.1

  • GI home 不共享,database home 不共享,可以使用Oracle ACFS。

  • 修补 Oracle RAC 数据库主目录。

  • 一个人在家里补胃肠道。

  • 修补 GI 主目录以及 Oracle RAC One Node 和集群件管理的单实例数据库。

  • 修补 Oracle Restart 主页。

  • 仅在 GI home 安装或配置 GI home 之前修补软件。

一起修补 Oracle RAC 数据库主目录和 GI

  • 案例 1:Oracle RAC,其中 GI home 和 database home 不共享,Oracle ACFS 文件系统未配置。

    以 root 用户身份在集群的每个节点上执行以下命令:

    # <GI_HOME>/OPatch/opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921
    
  • 案例2:Oracle RAC,GI home 不共享,database home 共享,可以使用Oracle ACFS。

    补丁说明:

    1. 从 Oracle 数据库主目录,确保停止在所有节点上运行的 Oracle RAC 数据库。作为数据库主所有者执行:

      $ <ORACLE_HOME>/bin/srvctl stop database –d <db-unique-name>
      
    2. 在第一个节点上,卸载 Oracle ACFS 文件系统。有关卸载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    3. 在第一个节点上,使用 opatchauto命令将补丁应用到 GI 主目录。以 root 用户身份执行以下命令:

      # <GI_HOME>/OPatch/opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <GI_HOME>
      
    4. 如果显示消息“建议在使用 ACFS 之前重新启动系统”,则必须在继续之前重新启动。否则将导致使用未修补的 ACFS\ADVM\OKS 驱动程序运行。

    5. 在第一个节点上,重新挂载 Oracle ACFS 文件系统。有关挂载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    6. 在第一个节点上,使用opatchauto命令将补丁应用到数据库主目录。由于数据库主目录是共享的,因此此操作将修补整个集群的数据库主目录。请注意,仅 USM 补丁不能应用于数据库主目录。以 root 用户身份执行以下命令:

      # <GI_HOME>/OPatch/opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <ORACLE_HOME>
      
    7. 仅在第一个节点上,重新启动您之前在步骤1中停止的 Oracle 实例。 作为数据库主所有者执行:

      $ <ORACLE_HOME>/bin/srvctl 启动实例 –d <db-unique-name> -n <nodename>
      
    8. 在第二个(下一个)节点上,卸载 Oracle ACFS 文件系统。有关卸载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    9. 在第二个节点上,使用opatchauto命令将补丁应用到 GI home。以 root 用户身份执行以下命令:

      # <GI_HOME>/OPatch/opatchauto apply <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <GI_HOME>
      
    10. 如果显示消息“建议在使用 ACFS 之前重新启动系统”,则必须在继续之前重新启动。否则将导致使用未修补的 ACFS\ADVM\OKS 驱动程序运行。

    11. 在第 2 个节点上,运行opatchauto 步骤9中的命令 将重新启动堆栈。

    12. 在第二个节点上,重新挂载 Oracle ACFS 文件系统。有关挂载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    13. 仅在第 2 个节点上,重新启动您之前在步骤1中停止的 Oracle 实例。 作为数据库主所有者执行:

      $ <ORACLE_HOME>/bin/srvctl 启动实例 –d <db-unique-name> -n <nodename>
      
    14. 对集群的所有剩余节点重复步骤8 到13 。

  • 案例 3:不由 Oracle Grid Infrastructure 管理的单实例住宅。

    跟着这些步骤:

    1. 如果您使用 Data Guard 物理备用数据库,则必须在主数据库和物理备用数据库上安装此补丁,如 My Oracle Support Document 278641.1 所述

    2. 关闭与您正在更新的 Oracle 主目录关联的所有实例和侦听器。有关详细信息,请参阅Oracle 数据库管理员指南。

    3. 将当前目录设置为补丁所在的目录,然后通过输入以下命令运行 OPatch 实用程序:

      cd <UNZIPPED_PATCH_LOCATION>/ 33583921 /33587128
      补丁申请
      
    4. 如果有错误,请参阅冲突问题

1.2.5在待机优先模式下安装补丁

对于 Data Guard Standby-First 修补,请参阅 My Oracle Support 文档1265700.1。对于 Oracle 数据库RU 12.2 及更高版本的 Standby-First 修补,需要考虑以下几点:

  1. 必须使用 Opatch将数据库RU子补丁 33587128 应用于 Data Guard 备用数据库。

  2. 不得在 Data Guard 备用环境上调用 Datapatch 来为数据库RU应用补丁后 SQL 操作。如果 datapatch 在备用服务器上运行,它会在尝试调用SYS.DBMS_QOPATCH 接口时出错。有关此错误的更多详细信息,请参阅 My Oracle Support 文档1599479.1

  3. 在对所有数据库(即主数据库和 Data Guard)进行修补并且数据库RU的补丁部署完成以进行设置之后,必须在主数据库上调用 Datapatch。

1.2.6补丁安装后说明

安装补丁后,执行以下操作:

  1. 按照应用冲突解决补丁中的说明应用冲突解决补丁

  2. 如果您不使用 opatchauto,则将修改后的 SQL 文件加载到数据库中,如将修改后的 SQL 文件加载到数据库中所述。

  3. 升级 Oracle Recovery Manager Catalog,如升级 Oracle Recovery Manager Catalog中所述。

1.2.6.1应用冲突解决补丁

应用在执行一次性补丁冲突检测和解决中的步骤时确定需要的补丁冲突解决临时补丁。

1.2.6.2 将修改后的 SQL 文件加载到数据库中

以下步骤将修改后的 SQL 文件加载到数据库中。对于 RAC 环境,仅在一个节点上执行这些步骤。

运行 Datapatch 以完成 PSU 的安装后 SQL 部署。有关 Datapatch 的更多详细信息,包括已知/冲突问题和常见问题的解决方法,请参阅:Database 12c Post Patch SQL Automation (Doc ID 1585822.1 )。

  1. 对于在同一个共享 Oracle 主目录上运行的每个单独的数据库,请按照表 1-3datapatch中的说明运行该 实用程序。

    表 1-3 为独立数据库与单/多租户 (CDB/PDB) 数据库运行 Datapatch 实用程序的步骤

    脚步独立数据库脚步单/多租户 (CDB/PDB) 数据库

    1

    % sqlplus /nolog

    1

    % sqlplus /nolog

    2

    SQL> Connect / as sysdba

    2

    SQL> Connect / as sysdba

    3

    SQL> startup

    3

    SQL> startup

    4

    SQL> quit

    4

    SQL> alter pluggable database all open;脚 1

    5

    % cd $ORACLE_HOME/OPatch

    5

    SQL> quit

    6

    % ./datapatch -verbose

    6

    % cd $ORACLE_HOME/OPatch



    7

    % ./datapatch -verbose

    脚注 1

    建议在所有可插拔数据库上运行 Post Install 步骤;SQL> alter pluggable database PDB_NAME open但是,可以替换以下命令 ( ) 以仅打开单/多租户数据库中的某些 PDB。这样做将导致 Post Install 步骤仅在 CDB 上运行并打开 PDB。要在以后更新可插入数据库(跳过或新插入),请使用alter pluggable database 前面提到的命令打开数据库并重新运行 datapatch 实用程序。请参阅 My Oracle Support 文档1935365.1 Multitenant Unplug/Plug Best Practices有关使用不同补丁版本(双向)拔出/插入的过程的更多信息。


    然后,该datapatch实用程序将运行必要的应用脚本以将修改后的 SQL 文件加载到数据库中。一个条目将添加到dba_registry_sqlpatch 反映补丁应用程序的视图中。在dba_registry_sqlpatch 视图中,验证 APPLY 的状态为“SUCCESS”。对于任何其他状态,请参阅以下 My Oracle Support 说明以获取更多信息和操作:文档1609718.1 Datapatch Known/Conflict Issues。

  2. 检查以下日志文件是否有错误:$ORACLE_BASE/cfgtoollogs/sqlpatch/33587128/<unique patch ID>

    33587128 _apply_<数据库 SID>_<CDB 名称>_<时间戳>.log
    

    其中database SID 是数据库 SID,CDB name是多租户容器数据库的名称,timestamp 格式为 YYYYMMMDD_HH_MM_SS。

  3. 如果还安装了 OJVM RU 或 RUR,您可能会在上一步中执行 datapatch 后看到无效对象。如果是这种情况,请运行utlrp.sql 以重新验证这些对象。

    cd $ORACLE_HOME/rdbms/admin
    sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    SQL> @utlrp.sql
    
  4. 此补丁现在包括 OJVM 缓解补丁 (Patch:19721304)。如果已安装或计划安装 OJVM RU,则无需进一步操作。否则,可以激活使用 OJVM 缓解补丁的解决方法。从目录SYSDBA中执行以下操作admin :

    SQL > @dbmsjdev.sql
    SQL > exec dbms_java_dev.disable
    

    有关 OJVM 缓解补丁的更多信息,请参阅文档1929745.1 Oracle 推荐补丁 - “Oracle JavaVM 组件数据库 PSU 和 RU”(OJVM PSU 和 OJVM RU)补丁。

1.2.6.3升级 Oracle 恢复管理器目录

如果您使用的是 Oracle 恢复管理器,则需要升级目录。输入以下命令进行升级。必须输入 UPGRADE CATALOG 命令两次以确认升级。

$ rman 目录用户名/密码@alias
RMAN> 升级目录;
RMAN> 升级目录;
RMAN>退出;

1.2.7 Oracle Home中安装补丁后创建或升级的数据库的补丁安装后说明

对于任何新的或升级的数据库,您必须执行将修改后的 SQL 文件加载到数据库中的步骤。

1.2.8补丁卸载

运行 Datapatch 以完成数据库子补丁的卸载后 SQL 部署。有关 Datapatch 的更多详细信息,包括已知/冲突问题和常见问题的解决方法,请参阅:Database 12c Post Patch SQL Automation (Doc ID 1585822.1 )。

补丁回滚说明将根据网格基础架构和 Oracle RAC 数据库主目录的配置而有所不同。下面列出了 Oracle RAC 数据库主目录和 GI 的回滚指令。

最常见的配置如下:

  • 案例 1:Oracle RAC,其中 GI 主目录和数据库主目录不共享且 Oracle ACFS 文件系统未配置

  • 案例 2:Oracle RAC,其中 GI home 不共享,database home 是共享的,可以使用 Oracle ACFS

  • 案例 3:不由 Oracle Grid Infrastructure 管理的单实例住宅

对于下面列出的其他配置,请参阅 My Oracle Support 文档2246888.1

  • GI home 不共享,database home 不共享,可以使用Oracle ACFS。

  • 从 Oracle RAC 数据库主目录回滚。

  • 一个人从 GI 家回滚。

  • 与 Oracle RAC One Node 和集群件管理的单实例数据库一起从 GI 主目录回滚。

  • 从 Oracle Restart 主页回滚补丁。

  • 从仅软件 GI home 安装或配置 GI home 之前回滚补丁。

一起回滚 Oracle RAC 数据库主目录和 GI

  • 案例 1:Oracle RAC,其中 GI 主目录和数据库主目录不共享,并且没有配置 Oracle ACFS 文件系统。

    以 root 用户身份在集群的每个节点上执行以下命令。

    # <GI_HOME>/OPatch/opatchauto rollback <UNZIPPED_PATCH_LOCATION>/ 33583921
    

    如果显示消息“建议在使用 ACFS 之前重新启动系统”,则必须在继续之前重新启动。否则将导致使用未修补的 ACFS\ADVM\OKS 驱动程序运行。

  • 案例 2:Oracle RAC,其中 GI home 不共享,database home 是共享的,可以使用 Oracle ACFS。

    1. 从 Oracle 数据库主目录,确保停止在所有节点上运行的 Oracle RAC 数据库。作为数据库主所有者执行:

      $ <ORACLE_HOME>/bin/srvctl stop database –d <db-unique-name>
      
    2. 在第一个节点上,卸载 Oracle ACFS 文件系统。有关卸载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    3. opatchauto在第一个节点上,使用命令 从 GI 主页回滚补丁。以 root 用户身份执行以下命令:

      # <GI_HOME>/OPatch/opatchauto rollback <UNZIPPED_PATCH_LOCATION>/ 33583921 -oh <GI_HOME>
      
    4. 如果显示消息“建议在使用 ACFS 之前重新启动系统”,则必须在继续之前重新启动。否则将导致使用未修补的 ACFS\ADVM\OKS 驱动程序运行。

    5. 在第一个节点上,重新挂载 Oracle ACFS 文件系统。有关挂载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    6. opatchauto在第一个节点上,使用命令将补丁回滚到数据库主目录。鉴于它是共享的 Oracle ACFS 主目录,此操作会将补丁回滚到整个集群的数据库主目录。请注意,仅 USM 补丁不能应用于数据库主目录。以 root 用户身份执行以下命令:

      # <GI_HOME>/OPatch/opatchauto rollback <UNZIPPED_PATCH_LOCATION>/ 33583921
      
    7. 仅在第一个节点上,重新启动您之前在步骤1中停止的 Oracle 实例。 作为数据库主所有者执行:

      $ <ORACLE_HOME>/bin/srvctl 启动实例 –d <db-unique-name> -n <nodename>
      
    8. 在第二个(下一个)节点上,卸载 Oracle ACFS 文件系统。有关卸载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    9. opatchauto在第二个节点上,使用命令将补丁回滚到 GI 主页 。以 root 用户身份执行以下命令:

      # <GI_HOME>/OPatch/opatchauto rollback <UNZIPPED_PATCH_LOCATION>/ 33583921
      
    10. 如果显示消息“建议在使用 ACFS 之前重新启动系统”,则必须在继续之前重新启动。否则将导致使用未修补的 ACFS\ADVM\OKS 驱动程序运行。

    11. 在第 2 个节点上,运行opatchauto 步骤9中的命令 将重新启动堆栈。

    12. 在第二个节点上,重新挂载 Oracle ACFS 文件系统。有关挂载 Oracle ACFS 文件系统的信息,请参阅 My Oracle Support 文档1494652.1

    13. 仅在第 2 个节点上,重新启动您之前在步骤1中停止的 Oracle 实例。 作为数据库主所有者执行:

      $ <ORACLE_HOME>/bin/srvctl 启动实例 –d <db-unique-name> -n <nodename>
      
    14. 对集群的所有剩余节点重复步骤8 到13 。

  • 案例 3:不由 Oracle Grid Infrastructure 管理的单实例住宅

    跟着这些步骤:

    1. 关闭与您正在更新的 Oracle 主目录关联的所有实例和侦听器。有关详细信息,请参阅Oracle 数据库管理员指南。

    2. 运行指定参数的 OPatch 实用程序rollback ,如下所示。

      opatch回滚-id 33587128
      
    3. 如果有错误,请参阅冲突问题

1.2.9补丁卸载后说明

卸载补丁后,执行以下操作:

1.2.9.1运行数据补丁实用程序

执行以下步骤:

  1. 对于正在修补的 Oracle 主目录上运行的每个单独的数据库,请按照表 1-4datapatch中的说明运行该 实用程序。如果这是 Oracle RAC,请仅在一个实例上运行 datapatch。

    表 1-4 为独立数据库与单/多租户 (CDB/PDB) 数据库运行 datapatch 实用程序的步骤

    脚步独立数据库脚步单/多租户 (CDB/PDB) 数据库

    1

    % sqlplus /nolog

    1

    % sqlplus /nolog

    2

    SQL> Connect / as sysdba

    2

    SQL> Connect / as sysdba

    3

    SQL> startup

    3

    SQL> startup

    4

    SQL> quit

    4

    SQL> alter pluggable database all open;脚 1

    5

    % cd $ORACLE_HOME/OPatch

    5

    SQL> quit

    6

    % ./datapatch -verbose

    6

    % cd $ORACLE_HOME/OPatch



    7

    % ./datapatch -verbose

    脚注 1

    建议在所有可插拔数据库上运行 Post Install 步骤;SQL> alter pluggable database PDB_NAME open但是,可以替换以下命令 ( ) 以仅打开单/多租户数据库中的某些 PDB。这样做将导致 Post Install 步骤仅在 CDB 上运行并打开 PDB。要在以后更新可插入数据库(跳过或新插入),请使用alter pluggable database 前面提到的命令打开数据库并重新运行 datapatch 实用程序。请参阅 My Oracle Support 文档1935365.1 Multitenant Unplug/Plug Best Practices有关使用不同补丁版本(双向)拔出/插入的过程的更多信息。


    然后,该datapatch实用程序将运行必要的应用脚本以将修改后的 SQL 文件加载到数据库中。一个条目将添加到dba_registry_sqlpatch 反映补丁应用程序的视图中。在dba_registry_sqlpatch 视图中,验证 APPLY 的状态为“SUCCESS”。对于任何其他状态,请参阅以下 My Oracle Support 说明以获取更多信息和操作:文档1609718.1 Datapatch Known/Conflict Issues。

  2. 检查以下日志文件是否有错误:$ORACLE_HOME/sqlpatch/33587128/

    33587128 _rollback_<数据库 SID>_<CDB 名称>_<时间戳>.log
    

    其中database SID 是数据库 SID,CDB name是多租户容器数据库的名称,timestamp 格式为 YYYYMMMDD_HH_MM_SS。

  3. 如果还安装了 OJVM RU 或 RUR,您可能会在上一步中执行 datapatch 后看到无效对象。如果是这种情况,请运行utlrp.sql 以重新验证这些对象。

    cd $ORACLE_HOME/rdbms/admin
    sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    SQL> @utlrp.sql
    

1.2.9.2升级 Oracle 恢复管理器目录

如果您使用的是 Oracle 恢复管理器,则需要升级目录。输入以下命令进行升级。必须输入 UPGRADE CATALOG 命令两次以确认升级。

$ rman 目录用户名/密码@alias
RMAN> 升级目录;
RMAN> 升级目录;
RMAN>退出;

1.3已知问题

有关此补丁发布后记录的问题,请参阅 My Oracle Support Document 12202201.9 Oracle DB/GI/OJVM Update/Revision 12.2.0.1 Jan 2022 Known Issues。

本节包括以下问题:


第一期

对于所有 Opatchauto 问题,请参阅 OPatch 的 My Oracle Support主要说明(文档 ID 293369.1)。有关 opatchauto 和修补时的问题的更多信息,请参阅Oracle® OPatch 用户指南

第 2 期

问题:ORA-04068 运行 datapatch 时,数据库警报日志文件中可能会出现错误。

在未指示ORA-04068 错误的情况下成功运行数据补丁工具期间,数据库警报日志文件中可能会出现错误:

ORA-04068: 包的现有状态已被丢弃

解决方法:这是数据补丁本身的可重试错误。如果补丁安装收到它,则 datapatch 将自动重试一次操作,然后将其报告为失败。datapatch 没有报告重试并成功运行且没有错误的事实证实了补丁已成功安装,并且另一个 Oracle 后台进程收到了错误。ORA-04068只要数据补丁成功运行且未指示错误(可能在自动重试之后),就应该忽略该错误。

1.4参考文献

以下文档为本补丁的参考资料。

文档12202201.9 Oracle DB/GI/OJVM 更新/修订版 12.2.0.1 2022 年 1 月 已知问题

文档2246888.1 补充自述文件 - Grid Infrastructure Release Update 12.2.0.1.x / 18c / 19c

文档1494652.1 如何在应用 GI 补丁时挂载和卸载 Oracle 自动存储管理集群文件系统 (Oracle ACFS)?

文档1585822.1 数据补丁:数据库 12c 或更高版本补丁后 SQL 自动化

文档360870.1 Java SE 安全漏洞对 Oracle 数据库和融合中间件产品的影响

文档2245185.1 12.2.0.1 Grid Infrastructure 发布更新 - 每个 RU/RUR 中的修复列表

文档340978.1 genclntsh:找不到 $ORACLE_HOME/network/admin/shrept.lst

文档468959.1 Enterprise Manager Grid Control 10.1 和 10.2 已知/冲突问题

Oracle® OPatch 用户指南

1.5应用/回滚补丁的手动步骤

有关无法使用的情况,请参阅 My Oracle Support 文档2246888.1 。opatchauto

1.6本次补丁修复的Bug

请参阅 My Oracle Support 文档2245185.1 ,了解此补丁中修复的错误列表。

1.7文档可访问性

有关 Oracle 对可访问性的承诺的信息,请访问 Oracle 可访问性计划网站,网址为http://www.oracle.com/pls/topic/lookup?ctx=acc&id-docacc

访问 Oracle 支持

购买了支持的 Oracle 客户可以通过 My Oracle Support 获得电子支持。 如果您有听力障碍,请访问http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info 或访问以获取信息。http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs


Oracle 数据库补丁 33583921 - GI 2022 年 1 月发布更新 12.2.0.1.220118


版权所有 © 2022,Oracle 和/或其附属公司。版权所有。

本软件和相关文档是根据包含使用和披露限制的许可协议提供的,并受知识产权法的保护。除非您的许可协议明确允许或法律允许,否则您不得以任何形式使用、复制、复制、翻译、广播、修改、许可、传输、分发、展示、执行、发布或展示任何部分,或以任何方式。除非法律要求互操作性,否则禁止对该软件进行逆向工程、反汇编或反编译。

此处包含的信息如有更改,恕不另行通知,并且不保证没有错误。如果您发现任何错误,请以书面形式向我们报告。

如果这是交付给美国政府或代表美国政府授权的任何人的软件或相关文档,则以下通知适用:

美国政府最终用户:根据适用的联邦采购条例和机构,交付给美国政府最终用户的 Oracle 程序,包括任何操作系统、集成软件、安装在硬件上的任何程序和/或文档是“商业计算机软件”——具体的补充规定。因此,对程序的使用、复制、披露、修改和改编,包括任何操作系统、集成软件、安装在硬件上的任何程序和/或文档,均应遵守适用于程序的许可条款和许可限制. 美国政府未授予任何其他权利。

该软件或硬件是为各种信息管理应用程序的一般用途而开发的。它不是为任何固有危险的应用程序开发或设计的,包括可能造成人身伤害风险的应用程序。如果您在危险的应用程序中使用此软件或硬件,则您应负责采取一切适当的故障安全、备份、冗余和其他措施以确保其安全使用。对于在危险应用程序中使用本软件或硬件而造成的任何损害,Oracle Corporation 及其附属公司不承担任何责任。

Oracle 和 Java 是 Oracle 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。

英特尔和英特尔至强是英特尔公司的商标或注册商标。所有 SPARC 商标均在许可下使用,并且是 SPARC International, Inc. 的商标或注册商标。AMD、Opteron、AMD 徽标和 AMD Opteron 徽标是 Advanced Micro Devices 的商标或注册商标。UNIX 是 The Open Group 的注册商标。

该软件或硬件和文档可能会提供对来自第三方的内容、产品和服务的访问或相关信息。除非您与 Oracle 之间的适用协议另有规定,否则 Oracle Corporation 及其附属公司不对第三方内容、产品和服务提供任何形式的担保并明确拒绝提供任何担保。Oracle Corporation 及其附属公司不对因您访问或使用第三方内容、产品或服务而产生的任何损失、成本或损害负责,除非您与 Oracle 之间的适用协议另有规定。

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

评论