Zero Downtime Migration prerequisites
When we decide to migrate a database using the zero-downtime migration method, the first thought that comes to mind is the long list of prerequisites. In this blog, I have a comprehensive list of the necessary checks and the expected results for a seamless migration using Zero Downtime Migration (ZDM).
During the preparation of this article, I kept the following specifications in mind:
- Source and target database version: 11.2.0.4
- Source and target OS version: RHEL 7
- ZDM release used: 21.1
- The firewall and required ports (443/1521/22) opened from the source and target environments.
ZDM method prechecks
You can migrate the following Oracle Database versions with ZDM:
- Oracle Database 11g Release 2 (11.2.0.4)
- Oracle Database 12c Release 1 (12.1.0.2)
- Oracle Database 12c Release 2 (12.2.0.1)
- Oracle Database 18c
- Oracle Database 19c
- Oracle Database 21c
- All subsequent Oracle Database releases
- Install the ZDM software on a Linux host running Oracle Linux 7. Have at least 100 GB of free space. Don’t run grid infrastructure on this server.
- The ZDM server needs the following RPMs installed: glibc-devel/unzip/libaio/oraclelinux-developer-release-el7/expect.
- The source database must be running in ARCHIVELOG mode.
- Ensure that the character set on the source database is the same as the target database.
- If the source is an Oracle RAC database, and SNAPSHOT CONTROLFILE is not on a shared location, configure SNAPSHOT CONTROLFILE to point to a shared location on all Oracle RAC nodes to avoid the ORA-00245 error during backups to Oracle Cloud Infrastructure Object Storage.
- If the source database is deployed using OCI and the database isn’t registered using srvctl, register the database before the migration.
- If the target database is Exadata Cloud service or Exadata Cloud@Customer, the database dbname must be the same as the source database dbname.
- Specify a SYS password that matches the password of the source database.
- Provision the target database from the Console without enabling automatic backups.
- The target database time zone version must match the source database time zone version.
- The ZDM server must connect to the source and the target database servers through SSH protocol through the SHH key, as shown in the following screenshot:
- The ZDM server must be able to resolve the source and target database servers. One method is to add them in /etc/hosts on zdm server.
- Turn off TTY so that zero-downtime migration can run commands on the remote hosts without interacting.
- Connectivity between the source and target on the 22/1521 ports works like the following example:
- SQL*Net connectivity using SCAN from the source to target and back works with the following output:
After all the prechecks complete successfully, you can run ZDM migration using the –eval option and do the actual migration.
Conclusion
If you want to read more on this topic, I encourage you to see the following resources that go into more detail:
- MAA Practices for Cloud Migration Using ZDM (Doc ID 2562063.1)
- [ZDM]: How to Migrate Database Instance From OCI-Classic to OCI Using Zero Downtime Migration software (Doc ID 2630892.1)
- Oracle Zero Downtime Migration
- Zero Downtime Migration in the Help Center
Reference: https://blogs.oracle.com/cloud-infrastructure/post/zero-downtime-mmigration-prerequisites-in-a-nutshell