Lesson 2: Cross-Version Migrations with ZDM (11g → 19c)

Ashish Agnihotri
Data Analyst at Exaguru
Introduction
Many enterprises are still running mission-critical applications on Oracle Database 11g, which is already beyond Premier Support. Migrating these workloads to Oracle 19c, the long-term support release, is a business priority.
The challenge?
- Version gap (11g → 19c) requires upgrade + migration in a seamless, low-downtime way.
- Large databases (multi-TB) make downtime windows unacceptable.
This is where Oracle Zero Downtime Migration (ZDM) provides a structured, automated, and safe approach.

ZDM Cross-Version Migration Architecture
The ZDM architecture can be broken into 3 major layers:
1. Source Database (11gR2)
- On-premises, Exadata, or non-Exadata infrastructure.
- Database versions supported: 11.2.0.4 (terminal release of 11g).
- Connectivity to the ZDM host is established via SSH & Oracle Wallets.
2. ZDM Service Host
- Orchestrates the migration.
- Runs pre-checks, prepares target DB, and automates migration workflow.
- Handles upgrade scripts post-data transport.
3. Target Database (19c)
- OCI DB Systems, ExaCC, or ExaCS.
- Pre-provisioned with Oracle 19c Home.
- Configured by ZDM with patches, network setup, and compatibility validation.
4. Data Transport Layer
- For cross-version migrations, ZDM primarily uses:
- RMAN (backup/restore with upgrade).
- Oracle GoldenGate (for logical replication when downtime must be near zero).
- RMAN (backup/restore with upgrade).
- Oracle GoldenGate (for logical replication when downtime must be near zero).
Migration Workflow (11g → 19c)
Source (11gR2) → Backup/Standby → Transport Layer → Target (19c)
1️⃣ Pre-check Phase
- Validates prerequisites, compatibility, and OS/database environment.
- Example:
zdmcli migrate database \
-sourcedb my11gDB \
-targetdb my19cCDB \
-mode rman \
-precheck
2️⃣ Stage Phase
- RMAN backups of the 11g database are staged and restored into the 19c environment.
- Oracle GoldenGate can be optionally configured for continuous replication.
3️⃣ Upgrade Phase
- After data transfer, ZDM automatically triggers Database Upgrade Assistant (DBUA) non-interactive scripts to upgrade the database dictionary & features.
- Example of upgrade invocation (internally by ZDM):
dbupgrade -d /u01/app/oracle/dbhome_19c -c -l /u01/logs/dbupgrade
4️⃣ Sync Phase (Optional)
- With GoldenGate, changes on the 11g source are continuously replicated to the 19c target until cutover.
5️⃣ Cutover Phase
- Final synchronisation completed.
- ZDM stops 11g DB services and switches traffic to the 19c target.
- Downtime: usually minutes.
6️⃣ Post-Migration Activities
- Time zone & dictionary upgrade scripts.
- Statistics gathering.
- Target validation and performance testing.
Internals & Key Components
Component | Role in Cross-Version Migration |
RMAN | Backup & restore between 11g and 19c homes. |
DBUA Scripts | Automates catalog/dictionary upgrade. |
GoldenGate | Handles logical replication for ongoing DML/DDL changes. |
ZDM Pre-check | Ensures compatibility before actual migration. |
Cutover Module | Manages final switch and downtime window. |
Best Practices for 11g → 19c Migration
Run a Pre-check:
- Ensure source DB is at 11.2.0.4 with the latest PSU.
- Test upgrade in a sandbox before production.
- For large databases (>10TB), prefer GoldenGate for near-zero downtime.
- Always run
-precheck
to catch OS, storage, or network mismatches. - Validate applications in 19c environment post-upgrade (especially deprecated features).
Example ZDM Migration Command
zdmcli migrate database \
-sourcedb my11gDB \
-targetdb my19cCDB \
-mode ogg \
-sourcenode onprem-host \
-targetnode oci-host
👉 This configures GoldenGate-based cross-version migration with continuous replication.
Closing Thoughts
Migrating from Oracle 11g → 19c is not just a version change—it’s a strategic modernisation step. With ZDM, Oracle offers a fully automated, low-risk, and business continuity-focused migration path.
By leveraging RMAN, DBUA scripts, and Golden Gate, ZDM ensures that enterprises can transition from legacy 11g databases to the stable, supported, and cloud-ready 19c platform—with minimal downtime and maximum confidence.
Next Step: Lesson 3: Automating ZDM with Ansible & Terraform