使用移轉公用程式從傳統架構移轉至微服務架構

Oracle GoldenGate Classic to Microservices Migration Utility 是用來從 Oracle GoldenGate Classic Architecture 安裝移轉至 Microservices 部署。此公用程式是一個互動式公用程式,可將 Extract、Replicats 從傳統架構安裝移轉至 Microservices 部署,並將 Pump Extract 轉換為分配路徑。它也會移轉歷程檔、檢查點和其他關聯的使用者自建物件。

My Oracle Support (MOS) 入口網站提供「移轉公用程式」作為「修正程式 37274898」。

修補程式的更新會在需要時釋出。修正程式描述包含最新組建編號的詳細資訊。

使用移轉公用程式的必備條件

以下是使用移轉公用程式的先決條件:

移轉公用程式限制

移轉公用程式無法移轉具有下列設定值的任何處理:

執行移轉公用程式

在開始本節中的任務之前,請確定您已完成使用移轉公用程式的先決條件中提及的步驟。

使用命令提示中的下列步驟來執行移轉公用程式:

  1. 執行下列命令以啟動移轉公用程式:

    java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home -dryrun
    java -jar ogg-migration-package-23.4.0.0.0.jar -debug
    java -jar ogg-migration-package-23.4.0.0.0.jar -help

    此命令可用的選項包括:

    • -classicHome path:(必要) 必須指向 Oracle GoldenGate Classic 軟體目錄的位置。

    • -dryrun:(選擇性) 指出已模擬移轉 (進行模擬執行) 以檢查可能的問題。

    • -debug:這是選擇性的,但建議您將此選項與公用程式搭配使用。啟用除錯層次記錄與診斷。它提供更詳細的日誌資料,並在移轉失敗時,產生含有傳統和 MA 使用者自建物件的壓縮檔。

    • -skipPumpURI:指定在泵浦移轉時接受預設 URI

    • -dbtype:指定資料庫名稱。有效值為 'ORACLE'、'MYSQL'、'MSSQL'、'POSTGRESQL'、'SYBASE'、'DB2400'、'DB2ZOS'、'DB2LUW'、'TERADATA'、'TIMESTEN'

    • -help:顯示用法。

  2. 此公用程式會提示輸入 MA 建置之 Service Manager 的使用者證明資料:

    ***************************************************************************
    
    **      Oracle GoldenGate Classic to Microservices Migration Utility              **
    
    **        Version 23.4.0.0.0 Build 66 at Fri Jan 22 17:24:41 UTC 2024             **
    
    **  Copyright (C) 1995, 2024, Oracle and/or its affiliates. All rights reserved.  **
    
    **                                                                             **
    
    **         Operating system character set identified as UTF-8.                    **
    
    *******************************************************************************
    
    Command Entered: -classicHome /ogg/payroll -debug
    Log File for this session is /ogg/payroll/./Migration081321105419.log. Debug Mode is Enabled.
    Enter Service Manager Credentials: User Id: dba
    Password:
  3. 公用程式會掃描主機上的 Service Manager,並在有多個部署時提供要移轉的部署選項,然後提示繼續。

    Scanning for Microservices Deployments...
    Using Deployment payroll [cf4c7c93-3a1c-4cbc-b1ab-bc942bab7645]
    The following processes will be migrated to deployment payroll:
    Extracts: EXTE
    Replicats: REPW
    Pumps: DPE
    Do you wish to continue? (yes/no):>

    輸入 yes 以繼續。

  4. 此公用程式會將資料庫證明資料從傳統部署移轉至目標 Microservices 部署,然後複製傳統部署中的所有歷程檔,並移轉所有 Extract 和 Replicats 處理作業。

    Migrating Credentials from /ogg/payroll/./dircrd
    Migrating Credentials for Domain Payroll with an alias of ogg.
    Migrating Credentials for Domain Payroll with an alias of user.
    
    Copying Trail Files from /ogg/payroll/dirdat to /ogg/Microservices/payroll/var/lib/data.
    235 trail files copied.
    
    Migrating EXTRACT EXTE to http://10.20.0.221:9901.
    Checkpoint File(s) Copied and Converted Successfully.
    Parameter File EXTE.prm Saved Successfully.
    Migration of Extract EXTE Completed Successfully.
    
    Migrating REPLICAT REPW to http://10.20.0.221:9901.
    Parameter File REPW.prm Saved Successfully.
    Checkpoint File(s) Copied and Converted Successfully.
    Migration of Replicat REPW Completed Successfully.
  5. 此公用程式接著會移轉所有「摘錄泵浦」處理程序,並針對每個處理程序提示目標「接收者服務」的 URL。若要接受預設值,請按 Enter。

    如果您使用其他目標,請輸入 URL。公用程式預設會假設傳統泵浦正在傳送至其他傳統部署伺服器處理。預設 URL 可讓「分送服務」連結至傳統目標。如果您也計畫在稍後移轉目標傳統部署,則需要同時修改新建立的分配路徑。請參閱移轉的不同使用案例瞭解詳細資訊。

    注意:回送泵通常是在測試環境中,其中 Classic 泵浦會傳送至相同部署上的相同管理程式。在移轉的 MA 部署上,此回送泵會自動遞送至「接收端服務」。

        Migrating PUMP PMPW2E to http://
    10.20.0.221:9902.
    
        Use Default Pump Target URI of ogg://ushost1:9903/services/v2/targets?trail=./bb?
        Press Enter to Accept or type Alternate URI:>
        Creating Distribution Path for Pump PMPW2E.
        Distribution Path Created Successfully.
        Setting trail sequence to 235 with an RBA of 1319472691.
    
        Migration of Pump PMPW2E Completed Successfully.
    
        Migrating Manager tasks to http://10.20.0.221:9901.
        Creating Task for Parameter PurgeTrail-aa. Task Created Successfully.
        Creating Task for Parameter Purge-Extract. Task Created Successfully.
        2 Tasks were migrated, 2 Successfully, 0 with errors.
    
        Migrating Lag Report.
        Creating Task for Parameter LagReport. Task Created Successfully.
        Migration pf Manager Tasks Completed Successfully.
  6. 接下來,公用程式會詢問是否應移轉 GLOBALS 組態檔中的參數,並報告發生的任何問題。

    Do you wish to migrate your GLOBALS parameters? (yes/no):> y
    GLOBAL parameters successfully migrated, 3 parameters merged.
  7. 公用程式會提示複製現有的公事包項目 (如果有的話),如果目標公事包中有項目存在,就會發出警告。這些目標公事包項目將會被覆寫。此任務完成後,公用程式就會終止。

    Your Classic Deployment has existing wallet entries.
    Do you wish to copy them? (yes/no):> y
    
    Copying Oracle Wallet Entries.
    
    WARNING: Target deployment has existing wallet entries and will be overwritten!
    
    Do you wish to continue? (yes/no):> y
    Wallet entries successfully copied.
    
    Migration Processing Complete, 3 processes were migrated successfully.

    如果移轉成功,則會將 .migrated 附加至名稱,以重新命名傳統 dirchk 目錄中的檢查點檔案。這將防止不慎啟動傳統部署處理。

    如果公用程式發生問題且無法完成移轉程序,則會對它執行的所有工作執行倒回,並將傳統部署還原為其原始狀態。它會產生包含日誌檔 classic configuration 和 target configuration 的診斷壓縮檔,以協助診斷問題。

移轉的不同使用案例

Oracle GoldenGate Classic Architecture 部署通常不獨立。部署通常會使用具有非常複雜之互連拓樸的「汲取」處理作業,將歷程檔資料傳送至其他部署。部署移轉至 Microservices 時,仍可能將歷程檔資料傳送至其他傳統或 Microservices 部署。微服務架構的主要功能是使用現有的安全協定 (例如 TLS/SSL 和安全的 Web 通訊埠) 來保護部署。

移轉部署時,應採用深思熟慮的方法。通常,最好是個別移轉來源和目標部署,而不是一次移轉。「移轉公用程式」可讓您逐一移轉部署。由於來源部署使用非安全的通訊協定與傳統伺服器 / 收集器或接收器服務進行通訊,因此移轉的分送路徑將使用路徑中的舊版 ogg 通訊協定。儘管如此仍可正常運作,但不會利用微服務架構在建立完全安全建置方面的安全功能。

建議您在將所有部署移轉至 Microservices 架構,或在來源和目標部署移轉後,使用 wss 或 ws 通訊協定取代移轉公用程式所產生的分配路徑。

為了讓部署和流程分階段移轉至 Microservices 架構,可以獨立移轉來源和目標傳統架構部署。

下列為設定分送路徑時所使用的不同使用案例和關聯的「分送」協定。

來源 目標 分配通訊協定 說明

中樞架構 (無分送歷程檔)

將傳統服務移轉至微服務

不適用 不適用 不適用
將傳統服務移轉至微服務 傳統部署 ogg 協定與目標傳統部署 -
將傳統服務移轉至微服務 微服務部署 ogg 協定 (選擇性) 刪除並重新建立 DISTPATH,以使用 ws 或 wss 協定 (如果目標使用反向代理主機保護)
傳統部署 將傳統服務移轉至微服務 幫浦至目標接收者服務

必須修改來源汲取:

接收器服務連接埠與遠端歷程檔

微服務部署 移轉至傳統微服務 ogg 協定 刪除並重新建立 DISTPATH,然後使用 ws 或 wss 協定 (如果目標使用反向代理主機保護)

將來源從傳統移轉至微服務 (目標為微服務)

在此使用案例中,您可以透過指定序號 (seqno) 和 RBA 值,刪除並重新建立「分送路徑」,以使用 ws 或 wss 通訊協定 (如果目標受到反向代理主機保護)。這是選用項目,因為目標部署正在使用微服務架構。

執行「管理從屬端」並連線至來源部署以取得 SEQNO 和 RBA 值:

OGG (http://north:9001)> INFO DISTPATH dpe, DETAIL
Path Name: dpe Status: running
Source: trail://north:9002/services/v2/sources?trail=ea
Target: ogg://south:9003/services/v2/targets?trail=ra
Authentication Method: USERIDALIAS ggsca domain OracleGoldenGate
[...]
Checkpoints:
Input Checkpoint:
  Current:
     Name: ea
     Sequence: 14
     Offset: 2579
     Path: /u01/ogg_deployments/depl_north/var/lib/data/
[...]

重新建立並重新定位移轉公用程式所建立的分送路徑,將分送路徑轉換成 ws 或 wss 協定:

OGG (http://south:9001)> DELETE DISTPATH dpe, DETAIL

## If using Secure Web Socket Protocol (wss)
OGG (http://south:9001)> ADD DISTPATH dpm
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea
                         TARGET wss://trg_host:9003/services/v2/targets?trail=ra
                         AUTHENTICATION CERTIFICATE default
## If using Web Socket Protocol (ws)
OGG (http://south:9001)> ADD DISTPATH dpm
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea
                         TARGET ws://trg_host:9003/services/v2/targets?trail=ra
                         AUTHENTICATION USERIDALIAS ggsca DOMAIN OracleGoldenGate
OGG (http://south:9001)> ALTER DISTPATH dpm, BEGIN SEQNO 14, RBA 2579
OGG (http://south:9001)> START DISTPATH dpm

將目標從傳統移轉至來源為微服務的微服務

在此使用案例中,如果目標受到反向代理主機保護,則必須刪除並重新建立使用 ws 或 wss 通訊協定的「分送路徑」。請依照將來源從傳統移轉至微服務並以目標作為微服務移轉至微服務中的步驟,刪除並重新建立目標部署上的分配路徑。

將目標從傳統移轉至微服務,來源為傳統

當來源部署在傳統架構上時,將目標部署移轉至 Microservices 架構時,您必須執行下列其他步驟:

如下列範例所示,目標管理程式連接埠號碼已變更為「接收端服務」連接埠號碼 9903 ,而「擷取汲取」參數檔中的 RMTTRAIL 檔案路徑已修改。

GGSCI> STOP EXTRACT PMPW2E
GGSCI> EDIT PARAMS PMPW2E

以下是「擷取汲取」參數檔:

EXTRACT PMPW2E
USERIDALIAS ggeast,
target uri: host1:9903/services/v2/targets?trail=./bb? ENCRYPT AES192,
RMTTRAIL ./rt SEQUENCE hr.employees_seq; TABLE hr.*;

完成修改後重新啟動 Extract Pump:

GGSCI> START EXTRACT PMPW2E

注意:不會將歷程檔傳遞至目標。

在移轉開始之前,請先正常停止來源的所有流程。