使用移轉公用程式從傳統架構移轉至微服務架構
Oracle GoldenGate Classic to Microservices Migration Utility 是用來從 Oracle GoldenGate Classic Architecture 安裝移轉至 Microservices 部署。此公用程式是一個互動式公用程式,可將 Extract、Replicats 從傳統架構安裝移轉至 Microservices 部署,並將 Pump Extract 轉換為分配路徑。它也會移轉歷程檔、檢查點和其他關聯的使用者自建物件。
My Oracle Support (MOS) 入口網站提供「移轉公用程式」作為「修正程式 37274898」。
修補程式的更新會在需要時釋出。修正程式描述包含最新組建編號的詳細資訊。
使用移轉公用程式的必備條件
以下是使用移轉公用程式的先決條件:
-
Oracle GoldenGate 19c 和更新版本與 Bundle Patch 200714 或更新版本搭配使用。這是來源 Classic Architecture 安裝的最低版本。
注意:如果基礎資料庫 / 系統已在舊版 (例如 Oracle GoldenGate for DAA) 中支援 Oracle GoldenGate Microservices Architecture,則「移轉公用程式」也可以與 Oracle GoldenGate 21c 搭配使用。如果基礎資料庫不支援 Microservices 架構,則您可以使用 Oracle GoldenGate 26ai 作為異質資料庫。
-
Java 版本 1.8 JRE 或更新版本 (與 Oracle GoldenGate 提供的版本相同)。
-
使用 Microservices Architecture 建立的新部署應為傳統架構安裝的本機部署,或相同主機上必須提供傳統架構本位目錄檔案系統。
-
已建立新的 Microservices Architecture 部署,且所有服務都在執行中。
-
「傳統架構」安裝必須在移轉期間停止。請確定伺服器收集器 (如果有的話) 也已停止。中止的處理作業必須重新啟動並正常關閉。
-
「移轉公用程式」必須從 Shell/ 命令提示執行,該提示具有為 Microservices Architecture 部署設定的環境變數。
OGG_HOME的環境變數必須設為 Oracle GoldenGate Microservices 軟體目錄位置。在 Microsoft Windows 上,
PATH變數必須指向OGG_HOME\lib。在 UNIX 和 Linux 平台上,
LD_LIBRARY_PATH需要指向OGG_HOME/lib。
移轉公用程式限制
移轉公用程式無法移轉具有下列設定值的任何處理:
-
執行轉換或具有
DBLOGIN的「汲取擷取」處理作業。 -
傳統擷取 (在 Oracle GoldenGate 19c 中已不再使用,在 21c 版本中已不再支援任何大於 19.1 的目標 MA.)
-
使用下列參數的處理:
-
MACRO -
OBEY -
MACROCHAR
-
-
使用遠端歷程檔、遠端作業或初始載入。
-
歷程檔的絕對路徑名稱。傳統歷程檔必須位於
./dirdat(或其中的子目錄) 中。如果歷程檔位於其他目錄中,則可將它們移至./dirdat,然後使用 Extract 的convchk公用程式修改檢查點。然後修改任何受影響之 Replicat 的參數。請參閱 Oracle GoldenGate 26ai 之 Parameters and Functions Reference for Oracle GoldenGate 中的 convchk 。 -
包含限制:
-
巢狀包含項目
-
僅在 Extract 與 Replicat 中,不在 Extract Pump 中。
-
-
Oracle GoldenGate for DAA (僅):對於每個 Extract 和 Replicat 群組,應手動檢查對應的
.properties檔案,以瞭解其值參照傳統檔案系統中的檔案之特性。對於這些特性,請執行下列手動移轉步驟:-
將參照的檔案複製到 Microservices 部署檔案系統。
-
修改特性值,以參照 Microservices 部署檔案系統中的新檔案路徑。
-
執行移轉公用程式
在開始本節中的任務之前,請確定您已完成使用移轉公用程式的先決條件中提及的步驟。
使用命令提示中的下列步驟來執行移轉公用程式:
-
執行下列命令以啟動移轉公用程式:
java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home -dryrunjava -jar ogg-migration-package-23.4.0.0.0.jar -debugjava -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:顯示用法。
-
-
此公用程式會提示輸入 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: -
公用程式會掃描主機上的 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以繼續。 -
此公用程式會將資料庫證明資料從傳統部署移轉至目標 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. -
此公用程式接著會移轉所有「摘錄泵浦」處理程序,並針對每個處理程序提示目標「接收者服務」的 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. -
接下來,公用程式會詢問是否應移轉 GLOBALS 組態檔中的參數,並報告發生的任何問題。
Do you wish to migrate your GLOBALS parameters? (yes/no):> y GLOBAL parameters successfully migrated, 3 parameters merged. -
公用程式會提示複製現有的公事包項目 (如果有的話),如果目標公事包中有項目存在,就會發出警告。這些目標公事包項目將會被覆寫。此任務完成後,公用程式就會終止。
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 架構時,您必須執行下列其他步驟:
-
將來源中的「汲取」連接埠修改為目標「接收者服務」。
-
目標 Microservices 檔案階層中不需要
dirdat目錄。將 Extract Pump 參數檔中的RMTTRAIL檔案從./dirdat/ra修改為./ra,如下列範例所示:
如下列範例所示,目標管理程式連接埠號碼已變更為「接收端服務」連接埠號碼 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
注意:不會將歷程檔傳遞至目標。
在移轉開始之前,請先正常停止來源的所有流程。