Oracle Zero Downtime Migration ZDM|Installing|Migration to OCI Oracle Cloud

Oracle customers are moving to Oracle Cloud rapidly and moving the workloads to OCI with minimum downtime is a real challenge. Here the ZDM tool from Oracle can be very helpful. It will help to move Data Workload to Oracle Cloud in various models with least downtime.


ZDM will provide

1) Physical Online Method 
2) Physical Offline Method 


In this post I am going to show how to install an Oracle ZDM tool.


Source Database: 12.1.0.2
Edition : Enterprise Edition
DB Name: DEV
DB Unique Name: DEV_primy

Target Database: 12.1.0.2
Edition : Enterprise Extreme Performance Edition
DB Name: DEV121
DB Unique Name: DEV121_stby





Steps:

1)  I will create a separate VM instance with Linux 7 and 100 GB space on OCI. The steps are simple, just follow the screen shots.







Once the VM is created , please connect and verify. I am using Public IP to connect

[opc@zdmvm ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        304M     0  304M   0% /dev
tmpfs           341M     0  341M   0% /dev/shm
tmpfs           341M  5.0M  336M   2% /run
tmpfs           341M     0  341M   0% /sys/fs/cgroup
/dev/sda3        39G  3.4G   36G   9% /
/dev/sda1       200M  7.4M  193M   4% /boot/efi
tmpfs            69M     0   69M   0% /run/user/0
tmpfs            69M     0   69M   0% /run/user/994
tmpfs            69M     0   69M   0% /run/user/1000



2) I will create a zdm user and group

[root@zdmvm ~]# groupadd zdm -g 1001
[root@zdmvm ~]# useradd zdmuser -g 1001


3) Install below packages


  • glibc-devel 
  • expect 
  • unzip 
  • libaio 
  • oraclelinux-developer-release-el7 
[root@zdmvm yum.repos.d]# yum install glibc-devel expect unzip libaio oraclelinux-developer-release-el7 -y
Loaded plugins: langpacks, ulninfo
Package glibc-devel-2.17-326.0.1.el7_9.x86_64 already installed and latest version
Package libaio-0.3.109-13.el7.x86_64 already installed and latest version
Package oraclelinux-developer-release-el7-1.0-6.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package expect.x86_64 0:5.45-14.el7_1 will be installed
--> Processing Dependency: libtcl8.5.so()(64bit) for package: expect-5.45-14.el7_1.x86_64
---> Package unzip.x86_64 0:6.0-24.el7_9 will be updated
---> Package unzip.x86_64 0:6.0-24.0.1.el7_9 will be an update
--> Running transaction check
---> Package tcl.x86_64 1:8.5.13-8.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================
 Package                     Arch                        Version                                 Repository                       Size
=======================================================================================================================================
Installing:
 expect                      x86_64                      5.45-14.el7_1                           ol7_latest                      262 k
Updating:
 unzip                       x86_64                      6.0-24.0.1.el7_9                        ol7_latest                      172 k
Installing for dependencies:
 tcl                         x86_64                      1:8.5.13-8.el7                          ol7_latest                      1.9 M

Transaction Summary
=======================================================================================================================================
Install  1 Package (+1 Dependent package)
Upgrade  1 Package

Total download size: 2.3 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/3): expect-5.45-14.el7_1.x86_64.rpm                                                                          | 262 kB  00:00:01     
(2/3): unzip-6.0-24.0.1.el7_9.x86_64.rpm                                                                        | 172 kB  00:00:00     
(3/3): tcl-8.5.13-8.el7.x86_64.rpm                                                                              | 1.9 MB  00:00:01     
---------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                  1.5 MB/s | 2.3 MB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:tcl-8.5.13-8.el7.x86_64                                                                                           1/4 
  Installing : expect-5.45-14.el7_1.x86_64                                                                                         2/4 
  Updating   : unzip-6.0-24.0.1.el7_9.x86_64                                                                                       3/4 
  Cleanup    : unzip-6.0-24.el7_9.x86_64                                                                                           4/4 
  Verifying  : unzip-6.0-24.0.1.el7_9.x86_64                                                                                       1/4 
  Verifying  : 1:tcl-8.5.13-8.el7.x86_64                                                                                           2/4 
  Verifying  : expect-5.45-14.el7_1.x86_64                                                                                         3/4 
  Verifying  : unzip-6.0-24.el7_9.x86_64                                                                                           4/4 

Installed:
  expect.x86_64 0:5.45-14.el7_1                                                                                                        

Dependency Installed:
  tcl.x86_64 1:8.5.13-8.el7                                                                                                            

Updated:
  unzip.x86_64 0:6.0-24.0.1.el7_9                                                                                                      

Complete!

4) Download ZDM tool on server.


Tool is only available for Linux systems.

I am using wget to download on server.


[root@zdmvm ~]# ls -ltr V1019875-01.zip
-rw-r--r--. 1 root root 797702721 Mar  4  2022 V1019875-01.zip


5) Switch to ZDM user and install
Make sure the zip file is accessible by zdmuser.

[root@zdmvm ~]# su - zdmuser
Last login: Wed Oct 19 10:17:26 GMT 2022 on pts/1
[zdmuser@zdmvm ~]$ ls -ltr
total 779008
-rwxrwxrwx. 1 root root 797702721 Oct 19 10:18 V1019875-01.zip
[zdmuser@zdmvm ~]$ unzip V1019875-01.zip
Archive:  V1019875-01.zip
   creating: zdm21.3/
  inflating: zdm21.3/README          
  inflating: zdm21.3/zdminstall.sh   
  inflating: zdm21.3/CredentialsDriver.class  
 extracting: zdm21.3/zdm_home.zip   

After unzipping /home/zdmuser/zdm21.3 is created.

Command:
./zdminstall.sh setup oraclehome=zdm_oracle_home oraclebase=zdm_base_directory
        ziploc=zdm_software_location –zdm

zmdinstall.sh is the installation script
oraclehome is the Oracle Home where the Zero Downtime Migration kit will be installed
oraclebase is the base directory where all of the Zero Downtime Migration configuration files, logs, and other artifacts are stored
ziploc is the location of the compressed software file (zip) included in the Zero Downtime Migration kit (/home/zdmuser/zdm21.3 in my case)


./zdminstall.sh setup oraclehome=/home/zdmuser/zdm_base/soft oraclebase=/home/zdmuser/zdm_base ziploc=/home/zdmuser/zdm21.3/zdm_home.zip -zdm

[zdmuser@zdmvm zdm21.3]$ ./zdminstall.sh setup oraclehome=/home/zdmuser/zdm_base/soft oraclebase=/home/zdmuser/zdm_base ziploc=/home/zdmuser/zdm21.3/zdm_home.zip -zdm
ZDM kit home: /home/zdmuser/zdm21.3
/home/zdmuser/zdm21.3
---------------------------------------
Unzipping shiphome to ZDM home...
---------------------------------------
Unzipping shiphome...
Shiphome unzipped successfully..
---------------------------------------
##### Performing GridHome Software Only Installation #####
---------------------------------------
Installation log location: /home/zdmuser/zdm_base/crsdata/zdmvm/rhp/logs/runInstaller_1666175169.out
making dir /home/zdmuser/zdm_base/crsdata/zdmvm/rhp/conf
---------------------------------------
Generating Preference file
---------------------------------------
/home/zdmuser/zdm_base/crsdata/zdmvm/rhp/conf/rhp.pref
Using port 8897 for MySQL
---------------------------------------
Generating Root Certificate
---------------------------------------
Cluster root certificate generated successfully.
---------------------------------------
Generating CA CERTS file
---------------------------------------
spawn /home/zdmuser/zdm_base/soft/bin/crskeytoolctl -copycacerts -filestore /home/zdmuser/zdm_base/crsdata/zdmvm/security
Enter JRE cacerts truststore password: 
JRE cacerts copied to file [/home/zdmuser/zdm_base/crsdata/zdmvm/security/cacerts].
---------------------------------------
Generating nogi.enabled file
---------------------------------------
nogi.enabled file generated sucessfully
---------------------------------------
Generating standalone_config.properties file
---------------------------------------
Setting base folder permissions
---------------------------------------
Copying service script to bin folder in Oracle Home
RHP_PT.ZDM21_LINUX.X64_220214.7
rhpctl working
label_date is: 220214.7
---------------------------------------
Storing to wallet
---------------------------------------
cacerts  crskeytoolctl.log  cwallet.sso  cwallet.sso.lck
---------------------------------------
Generating random password
---------------------------------------
-rw-------. 1 zdmuser zdm 4317 Oct 19 10:26 /home/zdmuser/zdm_base/crsdata/zdmvm/security/cwallet.sso
-rw-------. 1 zdmuser zdm 4317 Oct 19 10:26 /home/zdmuser/zdm_base/crsdata/zdmvm/security/cwallet.sso
---------------------------------------
Setting up MySQL...
---------------------------------------
spawn /home/zdmuser/zdm_base/soft/mysql/server/bin/mysqladmin --defaults-file=/home/zdmuser/zdm_base/crsdata/zdmvm/rhp/conf/my.cnf -u root -p ping
---------------------------------------
Storing to wallet
---------------------------------------
cacerts  crskeytoolctl.log  cwallet.sso  cwallet.sso.lck
---------------------------------------
Generating random password
---------------------------------------
-rw-------. 1 zdmuser zdm 4429 Oct 19 10:27 /home/zdmuser/zdm_base/crsdata/zdmvm/security/cwallet.sso
-rw-------. 1 zdmuser zdm 4429 Oct 19 10:27 /home/zdmuser/zdm_base/crsdata/zdmvm/security/cwallet.sso
spawn /home/zdmuser/zdm_base/soft/mysql/server/bin/mysql --socket=/home/zdmuser/zdm_base/crsdata/zdmvm/rhp/mysql/metadata/mysql.sock -u root
---------------------------------------
Creating MySQL DB and user...
---------------------------------------
spawn /home/zdmuser/zdm_base/soft/mysql/server/bin/mysql --socket=/home/zdmuser/zdm_base/crsdata/zdmvm/rhp/mysql/metadata/mysql.sock -u root -p -e CREATE DATABASE IF NOT EXISTS GHSUSER21;
spawn /home/zdmuser/zdm_base/soft/mysql/server/bin/mysql --socket=/home/zdmuser/zdm_base/crsdata/zdmvm/rhp/mysql/metadata/mysql.sock -u root -p
spawn /home/zdmuser/zdm_base/soft/mysql/server/bin/mysql --socket=/home/zdmuser/zdm_base/crsdata/zdmvm/rhp/mysql/metadata/mysql.sock -u root -p -e GRANT ALTER, CREATE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, INDEX, INSERT, LOCK TABLES, REFERENCES, SELECT, SHOW VIEW, UPDATE ON GHSUSER21.* TO 'GHSUSER21'@'localhost';
current node is active node
spawn /home/zdmuser/zdm_base/soft/mysql/server/bin/mysqladmin --defaults-file=/home/zdmuser/zdm_base/crsdata/zdmvm/rhp/conf/my.cnf -u root -p shutdown
---------------------------------------
Adding Certs to ZDM
---------------------------------------
ZDM service setup finished successfully...




5) To start zdm services after installation

./zdm_oracle_home/bin/zdmservice start 
./zdm_oracle_home/bin/zdmservice status 

---------------------------------------
Service Status
---------------------------------------

 Running: true
 Tranferport:
 Conn String: jdbc:mysql://localhost:8897/
 RMI port: 8895
 HTTP port: 8896
 Wallet path: /home/zdmuser/zdm_base/crsdata/zdmvm/security


Pic Source from Oracle. Below would be architecture of ZDM when it works.


6) Now we are going to migrate our database from OCI cloud DB system on Enterprise license to Enterprise Extreme Performance System.


  • Generate ssh key on ZDM server node without passphrase

[zdmuser@zdmvm ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zdmuser/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/zdmuser/.ssh/id_rsa.
Your public key has been saved in /home/zdmuser/.ssh/id_rsa.pub.

  • Add the public key on source database (opc_user_home/.ssh/authorized_keys)

  • Now test the connectivity from ZDM server to Source and it should connect successfully.

[zdmuser@zdmvm .ssh]$ ssh opc@14.24.19.209
Last login: Wed Oct 19 10:55:20 2022 from 25.24.17.5
[opc@foa ~]$

  • Add the entry in /etc/hosts of ZDM server.

  • Create a DB system on OCI with Enterprise Extreme Performance System license.


  • Oracle Zero Downtime migration leverages the Object Storage to place the RMAN generated backups of the source database. This backups are transferred from the source database to the object storage via https connectivity.

  • Generating an Authentication Token Login to your Oracle Cloud Account, click on the Identity option and click on the Users option.Select the user you want to use for Object Storage authentication, click the Auth Tokens option and click the Generate Token option.

  • Make sure to have tns connectivity between both source and target systems or SSH tunnel.
Add the entries of scan from source DB and target DB in each other /etc/hosts file

[oracle@foa ~]$ tnsping newfoa:1521

TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 19-OCT-2022 12:28:22

Copyright (c) 1997, 2014, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/sqlnet.ora

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.175)(PORT=1521)))
OK (0 msec)


[oracle@newfoa ~]$ tnsping foa:1521

TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 19-OCT-2022 12:28:13

Copyright (c) 1997, 2014, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/sqlnet.ora

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.79)(PORT=1521)))
OK (0 msec)

  • Sample ZDM template file which I used. You can change as per your requirement.

cat zdm_template.rsp 

TGT_DB_UNIQUE_NAME=DEV121_stby
MIGRATION_METHOD=ONLINE_PHYSICAL
DATA_TRANSFER_MEDIUM=OSS
PLATFORM_TYPE=VMDB
SRC_HTTP_PROXY_URL=
SRC_HTTP_PROXY_PORT=
SRC_CONFIG_LOCATION=
SRC_BASTION_HOST_IP=
SRC_BASTION_PORT=
SRC_BASTION_USER=
SRC_BASTION_IDENTITY_FILE=
SRC_HOST_IP=
SRC_TIMEZONE=
SRC_OSS_PROXY_HOST=
SRC_OSS_PROXY_PORT=
SRC_SSH_RETRY_TIMEOUT=
SRC_PDB_NAME=
SRC_DB_LISTENER_PORT=
TGT_HTTP_PROXY_URL=
TGT_HTTP_PROXY_PORT=
TGT_CONFIG_LOCATION=
TGT_BASTION_HOST_IP=
TGT_BASTION_PORT=
TGT_BASTION_USER=
TGT_BASTION_IDENTITY_FILE=
TGT_HOST_IP=
TGT_SSH_TUNNEL_PORT=
TGT_SSH_RETRY_TIMEOUT=
TGT_OSS_PROXY_HOST=
TGT_OSS_PROXY_PORT=
TGT_DATADG=
TGT_REDODG=
TGT_RECODG=
TGT_DATAACFS=
TGT_REDOACFS=
TGT_RECOACFS=
BACKUP_PATH=
HOST=https://swiftobjectstorage.ap-hyderabad-1.oraclecloud.com/v1/axjktkxifrqn
OPC_CONTAINER=RMAN_BACKUP
SRC_ZDLRA_WALLET_LOC=
TGT_ZDLRA_WALLET_LOC=
ZDLRA_CRED_ALIAS=
NONCDBTOPDB_CONVERSION=FALSE
NONCDBTOPDB_SWITCHOVER=FALSE
SKIP_FALLBACK=TRUE
TGT_RETAIN_DB_UNIQUE_NAME=
TGT_SKIP_DATAPATCH=FALSE
MAX_DATAPATCH_DURATION_MINS=
DATAPATCH_WITH_ONE_INSTANCE_RUNNING=
SHUTDOWN_SRC=FALSE
SKIP_SRC_SERVICE_RETENTION=
SRC_RMAN_CHANNELS=
TGT_RMAN_CHANNELS=
ZDM_LOG_OSS_PAR_URL=
ZDM_BACKUP_FULL_SRC_MONITORING_INTERVAL=10
ZDM_BACKUP_INCREMENTAL_SRC_MONITORING_INTERVAL=10
ZDM_BACKUP_DIFFERENTIAL_SRC_MONITORING_INTERVAL=10
ZDM_CLONE_TGT_MONITORING_INTERVAL=10
ZDM_OSS_RESTORE_TGT_MONITORING_INTERVAL=10
ZDM_OSS_RECOVER_TGT_MONITORING_INTERVAL=10
ZDM_BACKUP_RETENTION_WINDOW=
ZDM_BACKUP_TAG=
ZDM_USE_EXISTING_BACKUP=
ZDM_OPC_RETRY_WAIT_TIME=
ZDM_OPC_RETRY_COUNT=
ZDM_SRC_TNS_ADMIN=
ZDM_CURL_LOCATION=
ZDM_USE_EXISTING_UNDO_SIZE=
ZDM_SKIP_DG_CONFIG_CLEANUP=
ZDM_RMAN_COMPRESSION_ALGORITHM=
ZDM_SRC_DB_RESTORE_SERVICE_NAME=DEV_primy.ebscmsubnethyd.ebscmvcn.oraclevcn.com
ZDM_RMAN_DIRECT_METHOD=RESTORE_FROM_SERVICE
ZDM_USE_DG_BROKER=TRUE
ZDM_USE_EXISTING_STANDBY=FALSE
ZDM_STANDBY_DB_CONNECT_STRING=
  • Performing a Database Migration pre-check process . Make sure to create response file.

./zdmcli migrate database -sourcedb DEV_primy -sourcenode foa -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa -srcarg3 sudo_location:/usr/bin/sudo -targetnode newfoa -targethome /u01/app/oracle/product/12.1.0.2/dbhome_1 -backupuser himanshu.singh@funoracleapps.com -rsp /home/zdmuser/zdm_template.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa -tgtarg3 sudo_location:/usr/bin/sudo -ignore ALL -eval

Query to check job status
[zdmuser@zdmvm ~]$ zdmcli query job -jobid 7
zdmvm.ebscmsubnethyd.ebscmvcn.oraclevcn.com: Audit ID: 99
Job ID: 7
User: zdmuser
Client: zdmvm
Job Type: "EVAL"
Scheduled job command: "zdmcli migrate database -sourcedb DEV_primy -sourcenode foa -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa -srcarg3 sudo_location:/usr/bin/sudo -targetnode newfoa -targethome /u01/app/oracle/product/12.1.0.2/dbhome_1 -backupuser himanshu.singh@funoracleapps.com -rsp /home/zdmuser/zdm_template.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa -tgtarg3 sudo_location:/usr/bin/sudo -ignore ALL -eval"
Scheduled job execution start time: 2022-10-21T03:56:01Z. Equivalent local time: 2022-10-21 03:56:01
Current status: SUCCEEDED
Result file path: "/home/zdmuser/zdm_base/chkbase/scheduled/job-7-2022-10-21-03:56:21.log"
Metrics file path: "/home/zdmuser/zdm_base/chkbase/scheduled/job-7-2022-10-21-03:56:21.json"
Job execution start time: 2022-10-21 03:56:21
Job execution end time: 2022-10-21 04:03:13
Job execution elapsed time: 6 minutes 52 seconds
ZDM_GET_SRC_INFO ........... PRECHECK_PASSED
ZDM_GET_TGT_INFO ........... PRECHECK_PASSED
ZDM_PRECHECKS_SRC .......... PRECHECK_PASSED
ZDM_PRECHECKS_TGT .......... PRECHECK_PASSED
ZDM_SETUP_SRC .............. PRECHECK_PASSED
ZDM_SETUP_TGT .............. PRECHECK_PASSED
ZDM_PREUSERACTIONS ......... PRECHECK_PASSED
ZDM_PREUSERACTIONS_TGT ..... PRECHECK_PASSED
ZDM_OBC_INST_SRC ........... PRECHECK_PASSED
ZDM_OBC_INST_TGT ........... PRECHECK_PASSED
ZDM_VALIDATE_SRC ........... PRECHECK_PASSED
ZDM_VALIDATE_TGT ........... PRECHECK_PASSED
ZDM_POSTUSERACTIONS ........ PRECHECK_PASSED
ZDM_POSTUSERACTIONS_TGT .... PRECHECK_PASSED
ZDM_CLEANUP_SRC ............ PRECHECK_PASSED
ZDM_CLEANUP_TGT ............ PRECHECK_PASSED


  • Perform the Database Migration
./zdmcli migrate database -sourcedb DEV_primy -sourcenode foa -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa -srcarg3 sudo_location:/usr/bin/sudo -targetnode newfoa -targethome /u01/app/oracle/product/12.1.0.2/dbhome_1 -backupuser himanshu.singh@funoracleapps.com -rsp /home/zdmuser/zdm_template.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa -tgtarg3 sudo_location:/usr/bin/sudo -ignore ALL


[zdmuser@zdmvm ~]$ zdmcli query job -jobid 8
zdmvm.ebscmsubnethyd.ebscmvcn.oraclevcn.com: Audit ID: 100
Job ID: 8
User: zdmuser
Client: zdmvm
Job Type: "MIGRATE"
Scheduled job command: "zdmcli migrate database -sourcedb DEV_primy -sourcenode foa -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa -srcarg3 sudo_location:/usr/bin/sudo -targetnode newfoa -targethome /u01/app/oracle/product/12.1.0.2/dbhome_1 -backupuser himanshu.singh@funoracleapps.com -rsp /home/zdmuser/zdm_template.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa -tgtarg3 sudo_location:/usr/bin/sudo -ignore ALL"
Scheduled job execution start time: 2022-10-21T04:07:17Z. Equivalent local time: 2022-10-21 04:07:17
Current status: SUCCEEDED
Result file path: "/home/zdmuser/zdm_base/chkbase/scheduled/job-8-2022-10-21-04:07:23.log"
Metrics file path: "/home/zdmuser/zdm_base/chkbase/scheduled/job-8-2022-10-21-04:07:23.json"
Job execution start time: 2022-10-21 04:07:23
Job execution end time: 2022-10-21 04:50:14
Job execution elapsed time: 42 minutes 51 seconds
ZDM_GET_SRC_INFO .............. COMPLETED
ZDM_GET_TGT_INFO .............. COMPLETED
ZDM_PRECHECKS_SRC ............. COMPLETED
ZDM_PRECHECKS_TGT ............. COMPLETED
ZDM_SETUP_SRC ................. COMPLETED
ZDM_SETUP_TGT ................. COMPLETED
ZDM_PREUSERACTIONS ............ COMPLETED
ZDM_PREUSERACTIONS_TGT ........ COMPLETED
ZDM_OBC_INST_SRC .............. COMPLETED
ZDM_OBC_INST_TGT .............. COMPLETED
ZDM_VALIDATE_SRC .............. COMPLETED
ZDM_VALIDATE_TGT .............. COMPLETED
ZDM_BACKUP_FULL_SRC ........... COMPLETED
ZDM_BACKUP_INCREMENTAL_SRC .... COMPLETED
ZDM_DISCOVER_SRC .............. COMPLETED
ZDM_COPYFILES ................. COMPLETED
ZDM_PREPARE_TGT ............... COMPLETED
ZDM_SETUP_TDE_TGT ............. COMPLETED
ZDM_CLONE_TGT ................. COMPLETED
ZDM_FINALIZE_TGT .............. COMPLETED
ZDM_CONFIGURE_DG_SRC .......... COMPLETED
ZDM_SWITCHOVER_SRC ............ COMPLETED
ZDM_SWITCHOVER_TGT ............ COMPLETED
ZDM_POST_DATABASE_OPEN_TGT .... COMPLETED
ZDM_DATAPATCH_TGT ............. COMPLETED
ZDM_POST_MIGRATE_TGT .......... COMPLETED
ZDM_POSTUSERACTIONS ........... COMPLETED
ZDM_POSTUSERACTIONS_TGT ....... COMPLETED
ZDM_CLEANUP_SRC ............... COMPLETED
ZDM_CLEANUP_TGT ............... COMPLETED



Once migration is done , please validate.






For More Details Please contact for Consulting Services.

Reference:https://docs.oracle.com/en/database/oracle/zero-downtime-migration/19.2/zdmug/preparing-for-database-migration.html#GUID-EB28C600-BCEB-4381-9990-505A2F32293E


If you like please follow and comment