使用 OPatch 打补丁

下载修补程序后,请在安装修补程序之前设置以下先决条件:

  1. 下载并安装最新发行版的 OPatch,并记下安装最新发行版的 OPatch 的安装目录。

    有关从何处下载 OPatch 的详细信息,请访问: How To Download and Install The Latest OPatch(6880880) Version (Doc ID 274526.1)

  2. 下载 Oracle GoldenGate 补丁程序并维护用于存储补丁程序 ZIP 文件内容的位置。此位置或绝对路径在后续步骤中称为 patch_top_dir。

  3. 导航到 patch_top_dir 目录并运行以下命令,以将修补程序 ZIP 文件的内容提取到之前创建的位置。

    cd patch_top_dir

    unzip patch_number_version_platform.zip

  4. 导航到解压缩的补丁程序目录:

    cd patch_top_dir/patch_number_dir

  5. 将 ORACLE_HOME 环境变量设置为要打补丁的 Oracle GoldenGate 安装目录:

    对于 Linux :$ export ORACLE_HOME=GoldenGate_Installation_Path

    对于 Windows :> set ORACLE_HOME=GoldenGate_Installation_Path

  6. 设置 PATH 环境变量以包括 ORACLE_HOME 和 OPatch 目录的位置。

    对于 Linux :$ export PATH=$PATH:$ORACLE_HOME:/OPatch

    对于 Windows :>set PATH=%PATH%;%ORACLE_HOME%;C:\OPatch

  7. 验证 OPatch 访问的 Oracle 清单以安装修补程序。要验证清单,请运行以下命令:

    opatch lsinventory

    如果命令显示任何错误,请联系 Oracle 技术支持以解决该问题。

  8. 运行 OPatch 先决条件检查并验证是否通过。

    opatch prereq CheckConflictAgainstOHWithDetail -ph ./

    如果显示任何错误,请确定错误类型。OPatch 对以下类型的冲突进行分类:

    • 与已应用于 ORACLE_HOME 的补丁程序冲突:在这种情况下,请停止补丁程序安装并与 Oracle Support Services 联系。

    • 与已应用于 ORACLE_HOME(您尝试应用的修补程序的一部分)的修补程序冲突:在这种情况下,继续安装修补程序,因为新修补程序包含 ORACLE_HOME 中现有修补程序的所有修复。在安装新修补程序之前,将自动回退子集修补程序。

  9. 在为 Oracle GoldenGate 打补丁之前,如果您有任何安装部署,请确保关闭所有进程(例如提取、复制和分发路径),并停止部署的所有服务。

    可以在管理服务的 Service 和 Service Manager 的 WebUI 或 Admin Client 中执行此操作。

    如果使用管理客户机,请执行以下步骤以连接到每个部署并停止所有进程。

  10. 如果使用管理客户机,请连接到每个部署并停止所有进程。

    1. 启动管理客户端并连接到部署。

      /GoldenGate_Installation_Path/bin/adminclient

      OGG (not connected) 1>CONNECT https://host:srv_mgrport

      DEPLOYMENT <deployment-name> AS <user> PASSWORD <password>

    2. 停止提取和复制进程以及分发路径。

      STOP ER *
      STOP DISTPATH ALL
    3. 停止部署的服务并验证它们是否都已停止:

      STOP SERVICE *
      STATUS SERVICE *
    4. 退出管理客户机并停止服务管理器:

      OGG (https://host:port deployment-name) exit

      ##Command for Service Manager not registered as a service/daemon

      export OGG_VAR_HOME=OGG_SRVMGR_DIRECTORY/var

      export OGG_ETC_HOME=OGG_SRVMGR_DIRECTORY/etc

      OGG_SRVMGR_DIRECTORY/bin/stopSM.sh

      ##Command for Service Manager registered as a service/daemon

对于 Linux :$ sudo systemctl stop OracleGoldenGate

对于 Windows :要停止适用于 Windows 的 Service Manager,请使用 Windows 服务小程序 (services.msc) 并停止 Oracle GoldenGate Service Manager 服务。

  1. 断开所有用户会话与部署的连接,并关闭所有正在运行的 Oracle GoldenGate 程序(包括管理客户机)。

    执行以下步骤安装修补程序:

  2. 通过运行以下命令安装修补程序:

    opatch apply

    OPatch 命令启动时,它将验证补丁程序并确保与 Oracle GoldenGate 发行版的 ORACLE_HOME 中已安装的软件没有冲突。

  3. 修补程序安装完成后,运行以下命令以验证 Oracle 产品清单是否包含已安装的修补程序:

    opatch lsinventory

    注:对于为发行版 21.8.0.0.2 及更高版本修补的 PostgreSQL 安装的 Oracle GoldenGate,在重新启动提取和复制之前,请更新 odbc.ini 文件中的 DSN 条目以利用新的驱动程序版本。

  4. 修补程序安装完成后,启动 Service Manager、服务和 Oracle GoldenGate 进程。

    1. 启动服务管理器:

      对于 Linux:

      ##Command for Service Manager not registered as a service/daemon

      $ export OGG_VAR_HOME=OGG_SRVMGR_DIRECTORY/var

      $ export OGG_ETC_HOME=OGG_SRVMGR_DIRECTORY/etc

      $ OGG_SRVMGR_DIRECTORY/bin/startSM.sh

      ##Command for Service Manager registered as a service/daemon

      $ sudo systemctl start OracleGoldenGate

对于 Windows :使用 Windows 服务小程序 (services.msc) 并启动 Oracle GoldenGate Service Manager 服务。

2. Start the Admin Client and connect to the deployment.

    `/GoldenGate_Installation_Path/bin/adminclient`

    `OGG (not connected) 1>CONNECT https://host:srvmgr_port DEPLOYMENT deployment-name AS user PASSWORD password`

3. Start services for the deployment and verify that they are all running:

    <pre class="copy"><code>START SERVICE * STATUS SERVICE *</code></pre>

4. Start the Extract, Replicat and Distribution paths:

    <pre class="copy"><code>START ER * START DISTPATH ALL</code></pre>