使用 OPatch 進行修正

下載修正程式之後,請先設定下列先決條件,再安裝修正程式:

  1. 下載並安裝最新版本的 OPatch,並記下安裝最新版 OPatch 的安裝目錄。

    您可以從 OPatch 下載位置取得詳細資訊,網址為:如何下載並安裝最新的 OPatch (6880880) 版本 (文件 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 Support 以解決問題。

  8. 執行 OPatch 先決條件檢查並驗證是否通過。

    opatch prereq CheckConflictAgainstOHWithDetail -ph ./

    如果顯示任何錯誤,請識別錯誤類型。OPatch 將下列類型的衝突分類:

    • 與已套用至 ORACLE_HOME 的修正程式衝突:在此情況下,請停止修正程式安裝,並聯絡 Oracle Support Services。

    • 已將修正程式套用至 ORACLE_HOME (您嘗試套用的修正程式子集) 的衝突:在此情況下,請繼續安裝修正程式,因為新修正程式包含 ORACLE_HOME 中現有修正程式的所有修正。系統會在安裝新修正程式之前,自動倒回子集修正程式。

  9. 修正 Oracle GoldenGate 之前,如果您有任何安裝部署,請確定關閉所有處理作業 (例如 Extract、Replicats 以及 Distribution 路徑),並停止部署的所有服務。

    這可以在「管理服務」和「服務管理程式」的 WebUI 或「管理從屬端」中完成。

    如果使用「管理從屬端」,請執行下列步驟以連線至每個部署並停止所有處理作業。

  10. 如果使用「管理從屬端」,請連線至每個部署並停止所有處理作業。

    1. 啟動「管理從屬端」並連線至部署。

      /GoldenGate_Installation_Path/bin/adminclient

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

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

    2. 停止 Extract 和 Replicat 處理作業和分配路徑。

      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 的「服務管理程式」,請使用 Windows 服務 Applet (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 和更新版本的 Oracle GoldenGate for PostgreSQL 安裝,在重新啟動 Extract 和 Replicats 之前,請先更新 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 服務」Applet (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>