Migration Utility: (download the Migration Utility from MOS)
Prerequisites for the Migration Utility:
Before running the migration utility, ensure the following:
- Java Version: Java 1.8 JRE or higher, as provided by Oracle GoldenGate.
- GoldenGate Version: GoldenGate 19.1 with Bundle Patch 200714 or later (for OGG MA).
- MA Deployment: A new Microservices Architecture (MA) deployment must be created, and all services must be running.
- Classic Deployment: All processes in the Classic deployment must be stopped. Any abended processes should be restarted and then properly shutdown.
- Deployment Location: The Classic deployment must either be on the same server as the MA deployment or have its file system accessible on that server.
- Environment Setup: The migration utility must be run from a shell or command prompt where the environmental variable is set for the MA deployment.
Migration Utility Restrictions:
The migration utility cannot handle processes with the following limitations:
- PUMP Processes: Cannot migrate if they perform transformations or use
dblogin
. - Classic Extract: Deprecated in GoldenGate 19c and unsupported in versions 21c and above for MA targets greater than 19.1.
- Unsupported Parameters: Processes using any of the following parameters:
MACRO
OBEY
MACROCHAR
- Remote Configurations: Does not support remote trail files, remote tasks, or initial load operations.
- Trail File Location: Trail files must be in
./dirdat
or its subdirectories. If located elsewhere, they must be moved to./dirdat
, and you need to use the “convchk” utility to update the checkpoint for Extract and adjust any Replicat parameters accordingly. - INCLUDE Restrictions:
- Nested
INCLUDE
statements are not supported. INCLUDE
can only be used in Extract and Replicat, not in Pump Extract.
- Nested
[oracle@orclprd patch]$ ls -lrt total 9448 -rw-r--r--. 1 oracle oinstall 9672403 Sep 16 23:04 p33565581_214000OGGRU_Linux-x86-64.zip [oracle@orclprd patch]$ unzip p33565581_214000OGGRU_Linux-x86-64.zip Archive: p33565581_214000OGGRU_Linux-x86-64.zip inflating: GoldenGateMigrationUtilityOverview.pdf inflating: GoldenGateMigrationUtilityUserGuide.pdf inflating: ogg-migration-package-21.1.0.0.0.jar inflating: ReadMe.txt inflating: WhyGoldenGateMicroservices.pdf
Processes Status on Classic Architecture: (all classic processes need to stopped)
GGSCI (orclprd.localdomain as ggusr@orclprd) 42> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER STOPPED EXTRACT STOPPED EEMP 00:00:00 00:00:08 EXTRACT STOPPED PEMP 00:00:00 00:00:44
All Parameter Files on Classic.
GGSCI (orclprd.localdomain as ggusr@orclprd) 44> sh ls -lrt dirprm/* -rw-r--r--. 1 oracle oinstall 9 Nov 17 2023 dirprm/mgr.prm_old -rw-r-----. 1 oracle oinstall 62 Nov 22 2023 dirprm/mgr.prm -rw-r-----. 1 oracle oinstall 151 Nov 27 2023 dirprm/EINIT1.prm -rw-r-----. 1 oracle oinstall 306 Sep 17 11:01 dirprm/eemp.prm -rw-r--r--. 1 oracle oinstall 354 Sep 17 11:01 dirprm/PEMP.prm
Useful Migration Commands:
[oracle@orclprd patch]$ java -jar ogg-migration-package-21.1.0.0.0.jar -help ************************************************************************************ ** Oracle GoldenGate Classic to Microservices Migration Utility ** ** Version 21.1.0.0.0 Build 73 at Tue Feb 08 04:27:02 UTC 2022 ** ** ** ** Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved. ** ** ** ** Operating system character set identified as UTF-8. ** ************************************************************************************ Usage: -classicHome <value> -debug -dryrun Where: -classicHome Specifies the Classic Install Home Directory. -debug Specifies the Debug Level Logging. -dryrun Specifies the Simulate Migration but do not Migrate (Do a Dry Run).
java -jar ogg-migration-package-21.1.0.0.0.jar -classicHome $OGG_CLASSIC_HOME –dryrun java -jar ogg-migration-package-21.1.0.0.0.jar -classicHome $OGG_CLASSIC_HOME –debug Migration Command: java -jar ogg-migration-package-21.1.0.0.0.jar -classicHome $OGG_CLASSIC_HOME
Migration Advisory: Currently, two processes are running on Classic, with an additional parameter file (dirprm/EINIT1.prm
) in the dirprm
directory that is not in use. During migration, even unused parameter files will be attempted, leading to failure if there is no up-to-date checkpoint information.
To avoid migration errors, ensure that any unused parameter files are removed from the dirprm
directory before starting the migration to MA.
If any parameter files contain unsupported parameters, the migration process will fail. Below is the dry-run output:
Dry run to migrate the Classic Processes to MA:
[oracle@orclprd patch]$ java -jar ogg-migration-package-21.1.0.0.0.jar -classicHome /u01/goldengate/db19 -dryrun ************************************************************************************ ** Oracle GoldenGate Classic to Microservices Migration Utility ** ** Version 21.1.0.0.0 Build 73 at Tue Feb 08 04:27:02 UTC 2022 ** ** ** ** Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved. ** ** ** ** Operating system character set identified as UTF-8. ** ************************************************************************************ Command Entered: -classicHome /u01/goldengate/db19 -dryrun Log File for this session is /u01/goldengate/ogg_ma_binary/patch/./Migration091724113708.log. Simulation Mode (Dry Run) is Enabled. No Actual Migrations will Occur. Enter Service Manager Credentials: User Id:--> oggadmin Password:-> Scanning for Microservices Deployments... Using Deployment OGG21c [5753d5a4-b600-4ce7-b213-c4ba146954d2] The following processes will be migrated to deployment OGG21c: Extracts: EEMP Pumps: EINIT1 PEMP Do you wish to continue? (yes/no):> yes Migrating Credentials from /u01/goldengate/db19/dircrd. Migrating Credentials for Domain OracleGoldenGate with alias of GGUSR_ORCLPRD. Copying Trail Files from /u01/goldengate/db19/dirdat to /u01/goldengate/ogg12c_deploy/var/lib/data/. 23 trail files copied, total bytes copied 39,128. Migrating EXTRACT EEMP to http://127.0.0.1:8001. ERROR: Parameter file /u01/goldengate/ogg12c_deploy/etc/conf/ogg/eemp.prm already exists in the Target Microservices Deployment. Migration of Extract EEMP Failed! ERROR: PUMP EINIT1 is not eligible for migration for the following reason(s): Parameter SETENV is not valid for PUMP migration. ERROR: Parameter file is not valid for PUMP. Migration of Pump EINIT1 Failed! Migrating PUMP PEMP to http://127.0.0.1:8002. Use Default Pump Target URI of ogg://192.168.56.20:7809/services/v2/targets?trail=/u01/gg_target/hr? Press Enter to Accept or type Alternate URI:> Creating Distribution Path for Pump PEMP. Distribution Path Created Successfully. Setting trail sequence to 22 with an RBA of 1379. Migration of Pump PEMP Completed Successfully. Migrating Manager tasks to http://127.0.0.1:8001. No tasks to migrate. Migration of Manager Tasks Completed Successfully. Do you wish to migrate your GLOBALS parameters? (yes/no):> yes The Merge of GLOBALS has the following Issues: Classic GLOBALS Parameter GGSCHEMA Already exists in the Microservices GLOBALS and will NOT BE Merged. Do you wish to continue migrating your GLOBALS parameters? (yes/no):> no GLOBALS will not be migrated Migration Simulation (Dry Run) Complete, 2 process would have migrated were successfully, 2 process migrations would have failed.
Run Migration Process:
The migration process was aborted due to an error. If any process encounters an issue during migration, the entire operation will be aborted to prevent partial migrations.
[oracle@orclprd patch]$ java -jar ogg-migration-package-21.1.0.0.0.jar -classicHome /u01/goldengate/db19 ************************************************************************************ ** Oracle GoldenGate Classic to Microservices Migration Utility ** ** Version 21.1.0.0.0 Build 73 at Tue Feb 08 04:27:02 UTC 2022 ** ** ** ** Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved. ** ** ** ** Operating system character set identified as UTF-8. ** ************************************************************************************ Command Entered: -classicHome /u01/goldengate/db19 Log File for this session is /u01/goldengate/ogg_ma_binary/patch/./Migration091724120304.log. Enter Service Manager Credentials: User Id:--> oggadmin Password:-> Scanning for Microservices Deployments... Using Deployment OGG21c [5753d5a4-b600-4ce7-b213-c4ba146954d2] The following processes will be migrated to deployment OGG21c: Extracts: EEMP Pumps: EINIT1 PEMP Do you wish to continue? (yes/no):> yes Migrating Credentials from /u01/goldengate/db19/dircrd. Migrating Credentials for Domain OracleGoldenGate with alias of GGUSR_ORCLPRD. Copying Trail Files from /u01/goldengate/db19/dirdat to /u01/goldengate/ogg12c_deploy/var/lib/data/. 23 trail files copied, total bytes copied 39,128. Migrating EXTRACT EEMP to http://127.0.0.1:8001. ERROR: Parameter file /u01/goldengate/ogg12c_deploy/etc/conf/ogg/eemp.prm already exists in the Target Microservices Deployment. Migration of Extract EEMP Failed! Rolling Back All Changes. All Changes were Rolled Back Successfully. Migration Aborted.
Fixed the above error and trigger again the Migration process:
[oracle@orclprd patch]$ java -jar ogg-migration-package-21.1.0.0.0.jar -classicHome /u01/goldengate/db19 ************************************************************************************ ** Oracle GoldenGate Classic to Microservices Migration Utility ** ** Version 21.1.0.0.0 Build 73 at Tue Feb 08 04:27:02 UTC 2022 ** ** ** ** Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved. ** ** ** ** Operating system character set identified as UTF-8. ** ************************************************************************************ Command Entered: -classicHome /u01/goldengate/db19 Log File for this session is /u01/goldengate/ogg_ma_binary/patch/./Migration091724120610.log. Enter Service Manager Credentials: User Id:--> oggadmin Password:-> Scanning for Microservices Deployments... Using Deployment OGG21c [5753d5a4-b600-4ce7-b213-c4ba146954d2] The following processes will be migrated to deployment OGG21c: Extracts: EEMP Pumps: PEMP Do you wish to continue? (yes/no):> yes Migrating Credentials from /u01/goldengate/db19/dircrd. Migrating Credentials for Domain OracleGoldenGate with alias of GGUSR_ORCLPRD. Copying Trail Files from /u01/goldengate/db19/dirdat to /u01/goldengate/ogg12c_deploy/var/lib/data/. 23 trail files copied, total bytes copied 39,128. Migrating EXTRACT EEMP to http://127.0.0.1:8001. Checkpoint File(s) Copied and Converted Successfully. Parameter File eemp.prm Saved Successfully. EXTRACT EEMP patched. Migration of Extract EEMP Completed Successfully. Migrating PUMP PEMP to http://127.0.0.1:8002. Use Default Pump Target URI of ogg://192.168.56.20:7809/services/v2/targets?trail=/u01/gg_target/hr? Press Enter to Accept or type Alternate URI:> Creating Distribution Path for Pump PEMP. Distribution Path Created Successfully. Setting trail sequence to 22 with an RBA of 1379. Migration of Pump PEMP Completed Successfully. Migrating Manager tasks to http://127.0.0.1:8001. No tasks to migrate. Migration of Manager Tasks Completed Successfully. Do you wish to migrate your GLOBALS parameters? (yes/no):> no GLOBALS will not be migrated Migration Processing Complete, 3 process were migrated were successfully.
All Processes have been removed from classic OGG Home.
GGSCI (orclprd.localdomain as ggusr@orclprd) 47> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER STOPPED
Extract and Pump Processes added successfully on OGG MA:
Start the Pump Process:
Manually Create / Recreate the distribution Path Using AdminClient:
Existing DistPath List:
OGG (http://192.168.56.10:7830 OGG21c) 15> info all Program Status Group Type Lag at Chkpt Time Since Chkpt ADMINSRVR RUNNING DISTSRVR RUNNING PMSRVR RUNNING RECVSRVR RUNNING EXTRACT STOPPED EEMP INTEGRATED 00:00:00 02:02:07 EXTRACT RUNNING EHR INTEGRATED 00:00:05 00:00:08 REPLICAT RUNNING RHR PARALLEL INT 00:00:00 00:00:07 OGG (http://192.168.56.10:7830 OGG21c) 16> info distpath all PEMPDistPath running
Get Details of the DISTPATH:
OGG (http://192.168.56.10:7830 OGG21c) 17> INFO DISTPATH PEMPDistPath DETAIL Path Name: PEMPDistPath Status: running Source: trail://127.0.0.1:8002/services/v2/sources?trail=./em Target: ogg://192.168.56.20:7809/services/v2/targets?trail=/u01/gg_target/hr Size (MB): 100 Sequence Length: 9 Encryption Algorithm: None Begin Position: seqno: 22 rba: 1379 Critical: no Process Id: 7114 Thread Id: 14647 Last Started: 2024-09-17T17:27:54.945Z Source Database Name: ORCLPRD Processing Lag: 0 Since Lag Reported: 3 Encryption Profile: LocalWallet Checkpoints: Input Checkpoint: Current: Name: em Sequence: 22 Offset: 1379 Path: /u01/goldengate/ogg12c_deploy/var/lib/data/./ Sequence Length: 9 Sequence Length Flip: no Timestamp: 0000-01-01T00:00:00.000Z
Delete and Add the DISTPATH:
OGG (http://192.168.56.10:7830 OGG21c) 18> DELETE DISTPATH PEMPDistPath 2024-09-17T20:06:17Z INFO OGG-08516 The path 'PEMPDistPath' has been deleted. OGG (http://192.168.56.10:7830 OGG21c) 21> ADD DISTPATH DPNS SOURCE TRAIL://127.0.0.1:8002/services/v2/sources?trail=./em TARGET ogg://192.168.56.20:7809/services/v2/targets?trail=/u01/gg_target/hr AUTHENTICATION USERIDALIAS ORCL_GGUSR_20 DOMAIN OGG21c 2024-09-17T20:17:56Z INFO OGG-08511 The path 'DPNS' has been added. OGG (http://192.168.56.10:7830 OGG21c) 22> info DISTPATH DPNS Path Name: DPNS Status: stopped Source URI: TRAIL://127.0.0.1:8002/services/v2/sources?trail=./em Target URI: ogg://192.168.56.20:7809/services/v2/targets?trail=/u01/gg_target/hr Authentication Method: USERIDALIAS ORCL_GGUSR_20 domain OGG21c Encryption Profile: LocalWallet
Reposition the SEQNO and RBA from existing one (Get the Seqno and RBA from Input Checkpoint).
OGG (http://192.168.56.10:7830 OGG21c) 25> ALTER DISTPATH DPNS, BEGIN SEQNO 22 RBA 1379 2024-09-17T20:21:19Z INFO OGG-08512 The path 'DPNS' has been updated. OGG (http://192.168.56.10:7830 OGG21c) 26> INFO DISTPATH DPNS DETAIL Path Name: DPNS Status: stopped Source: TRAIL://127.0.0.1:8002/services/v2/sources?trail=./em Target: ogg://192.168.56.20:7809/services/v2/targets?trail=/u01/gg_target/hr Authentication Method: USERIDALIAS ORCL_GGUSR_20 domain OGG21c Begin Position: seqno: 22 rba: 1379 Critical: no Process Id: 7114 Thread Id: 19570 Last Started: 0000-01-01T00:00:00.000Z Source Database Name: UNKNOWN Processing Lag: 0 Since Lag Reported: 212 Encryption Profile: LocalWallet Checkpoints: Input Checkpoint: Current: Name: em Sequence: 22 Offset: 1379 Path: /u01/goldengate/ogg12c_deploy/var/lib/data/./ Sequence Length: 9 Sequence Length Flip: no Timestamp: 0000-01-01T00:00:00.000Z Starting: Name: em Sequence: 22 Offset: 1379 Path: /u01/goldengate/ogg12c_deploy/var/lib/data/./ Sequence Length: 9 Sequence Length Flip: no Timestamp: 0000-01-01T00:00:00.000Z Output Checkpoint: Current: Name: hr Sequence: 0 Offset: 0 Path: unknown Sequence Length: 9 Sequence Length Flip: no Timestamp: 0000-01-01T00:00:00.000Z
Start the DISTPAH:
OGG (http://192.168.56.10:7830 OGG21c) 27> START DISTPATH DPNS 2024-09-17T20:27:41Z INFO OGG-08513 The path 'DPNS' has been started. OGG (http://192.168.56.10:7830 OGG21c) 28> INFO DISTPATH ALL DPNS running