使用迁移实用程序从经典架构迁移到微服务架构
Oracle GoldenGate Classic 到微服务迁移实用程序用于从 Oracle GoldenGate Classic Architecture 安装迁移到微服务部署。此实用程序是一个交互式实用程序,用于将提取、复制从经典体系结构安装迁移到微服务部署并将泵提取转换为分发路径。它还会迁移线索文件、检查点和其他关联的对象。
迁移实用程序作为补丁程序 37274898 在 My Oracle Support (MOS) 门户中提供。
必要时会发布修补程序的更新。补丁程序说明包括具有最新构建编号的详细信息。
使用迁移实用程序的先决条件
下面是使用迁移实用程序的先决条件:
-
带有捆绑补丁程序 200714 或更高版本的 Oracle GoldenGate 19c 及更高版本。这是源经典体系结构安装的最低版本。
注:如果底层数据库/系统在早期版本(例如 Oracle GoldenGate for DAA)中已支持 Oracle GoldenGate 微服务体系结构,则迁移实用程序还可以与 Oracle GoldenGate 21c 一起使用。如果底层数据库不支持微服务体系结构,则可以将 Oracle GoldenGate 26ai 用于异构数据库。
-
Java 版本 1.8 JRE 或更高版本(与 Oracle GoldenGate 提供的版本相同)。
-
使用微服务体系结构创建的新部署应为经典体系结构安装的本地部署,或者经典体系结构主文件系统必须在同一主机上可用。
-
已创建新的微服务体系结构部署并正在运行所有服务。
-
必须在迁移期间停止经典体系结构安装。确保服务器收集器(如果有)也已停止。必须重新启动异常终止的进程并正常关闭。
-
迁移实用程序需要从 shell/命令提示符运行,该提示符为微服务体系结构部署设置了环境变量。
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,然后使用convchk实用程序修改提取的检查点。然后,修改受影响的任何复制的参数。有关 Oracle GoldenGate 26ai 的《 Parameters and Functions Reference for Oracle GoldenGate 》中的 convchk -
包含限制:
-
嵌套包括
-
仅在提取和复制中,不在提取泵中。
-
-
Oracle GoldenGate for DAA (Only):对于每个提取和复制组,应手动检查对应的
.properties文件以查找其值引用经典文件系统中的文件的属性。对于其中每个属性,请执行以下手动迁移步骤:-
将引用的文件复制到微服务部署文件系统。
-
修改属性值以引用微服务部署文件系统中的新文件路径。
-
运行迁移实用程序
在开始本节中的任务之前,请确保您已完成 Prerequisites for Using the Migration Utility 中提到的步骤。
使用命令提示符上的以下步骤运行迁移实用程序:
-
运行以下命令以启动迁移实用程序:
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 的对象的 zip 文件。 -
-skipPumpURI:指定 Accept Default URI on Pump Migrate -
-dbtype:指定数据库名称。有效值为 'ORACLE','MYSQL','MSSQL','POSTGRESQL','SYBASE','DB2400','DB2ZOS','DB2LUW','TERADATA','TIMESTEN' -
-help:显示使用情况。
-
-
该实用程序将提示您提供 MA 部署的服务管理器的用户身份证明:
*************************************************************************** ** 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: -
该实用程序会扫描主机上的服务管理器,并提供要迁移到的部署选项(如果存在多个部署),然后提示继续。
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以继续。 -
该实用程序将数据库身份证明从经典部署迁移到目标微服务部署,然后复制经典部署中的所有线索文件并迁移所有提取和复制进程。
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 允许分发服务链接到经典目标。如果您还计划以后迁移目标经典部署,则需要同时修改新创建的分发路径。有关详细信息,请参阅迁移的不同用例。
注:回送泵在测试环境中很常见,在测试环境中,经典泵在同一部署中发送到同一管理器。此回送泵将自动路由到迁移的 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. -
如果现有 Wallet 条目存在,实用程序会提示复制它们,如果目标 Wallet 上存在条目,则会发出警告。这些目标 wallet 条目将被覆盖。此任务完成后,实用程序将终止。
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目录中的检查点文件。这将防止无意中启动经典部署进程。如果实用程序遇到问题并且无法完成迁移过程,则它将执行已执行的所有工作回滚并将经典部署恢复到其原始状态。它将生成包含日志文件的诊断 zip 文件
classic configuration和target configuration以帮助诊断问题。
迁移的不同用例
Oracle GoldenGate Classic Architecture 部署通常不是自包含的。部署通常使用具有非常复杂的互连拓扑的泵流程将线索数据发送到其他部署。当部署迁移到微服务时,它仍然可能会将线索数据发送到另一个经典或微服务部署。微服务体系结构的一个主要特性是能够使用已建立的安全协议(如 TLS/SSL 和受保护的 Web 套接字)来保护部署。
在迁移部署时,应采用经过深思熟虑的方法。通常,首选是逐个迁移源部署和目标部署,而不是一次迁移全部部署。迁移实用程序允许您逐个迁移部署。由于源部署使用非安全协议与经典服务器/收集器或接收器服务通信,因此迁移的分发路径将使用路径中的传统 ogg 协议。虽然这可以使用,但它不会利用微服务架构的安全功能来创建完全安全的部署。
建议将迁移实用程序生成的分发路径替换为使用 wss 或 ws 协议的分发路径,在将所有部署迁移到微服务体系结构之后,或者在迁移源部署和目标部署之后再替换该分发路径。
要允许将部署和流程分阶段迁移到微服务体系结构,可以独立迁移源和目标经典体系结构部署。
下面列出了设置分发路径时使用的不同用例和关联的分发协议。
| 来源 | 目标 | 分发协议 | 说明 |
|---|---|---|---|
集线器体系结构(无分发路径) 将经典迁移至微服务 |
不适用 | 不适用 | 不适用 |
| 将经典迁移至微服务 | 经典部署 | 面向传统部署的 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 协议。按照 Migrating Source from Classic to Microservices with Target as 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.*;
完成修改后重新启动提取泵:
GGSCI> START EXTRACT PMPW2E
注:未将线索文件传送到目标。
在迁移开始之前,请正常停止源中的所有进程。