AWS Database Migration Service

A service for migrating databases from on-premises or other clouds to AWS, supporting both homogeneous and heterogeneous engine migrations with continuous replication

Overview

AWS Database Migration Service (DMS) is a fully managed service for migrating relational databases, NoSQL databases, and data warehouses to AWS. It executes migrations while keeping the source database running, minimizing downtime. In addition to homogeneous engine migrations (such as Oracle to Oracle), it enables heterogeneous engine migrations (such as Oracle to Aurora PostgreSQL) when combined with the AWS Schema Conversion Tool (SCT).

Achieving Zero-Downtime Migration with Full Load + CDC

DMS migrations can run in three modes. Full Load transfers all data from source tables in bulk and is used for initial migration. Change Data Capture (CDC) reads the source database's transaction logs and replicates changes to the target in real-time after migration begins. The most commonly used approach in practice is the "Full Load + CDC" combination: first transfer all data, then use CDC to catch up with changes that occurred during transfer, maintaining synchronization between source and target. At cutover, you simply switch the application's connection to the target, keeping downtime to minutes or tens of minutes. CDC uses different mechanisms per database engine: LogMiner or Binary Reader for Oracle, binlog for MySQL, and logical replication slots for PostgreSQL. Verifying that CDC prerequisites are configured on the source database (enabling binlog, archive log retention periods, etc.) is a critical item to confirm in the early stages of migration planning.

Heterogeneous Engine Migration and Schema Conversion Tool in Practice

In heterogeneous engine migrations such as Oracle to Aurora PostgreSQL or SQL Server to Aurora MySQL, schema conversion is the biggest challenge. AWS Schema Conversion Tool (SCT) analyzes the source database schema and auto-generates DDL for the target engine. Items that cannot be automatically converted (PL/SQL-specific syntax in stored procedures, Oracle's CONNECT BY hierarchical queries, etc.) are reported as action items requiring manual rewriting. SCT's assessment report directly informs migration effort estimation, so running it at the very beginning of a migration project is recommended. Related books on database migration (Amazon) systematically cover schema conversion patterns for heterogeneous engine migrations. Understanding the division of responsibilities - DMS handles data migration while SCT handles schema conversion - is important. Azure Database Migration Service offers similar migration capabilities, but DMS supports a wider range of source/target combinations, with particularly rich migration paths from Oracle.

Replication Instance Sizing and Migration Performance Optimization

DMS executes data transformation and transfer on EC2-based intermediate servers called replication instances. Instance size selection directly impacts migration performance; when dealing with many tables or LOB (Large Object) columns, choose instances with ample memory and network bandwidth. Parallel load settings are also important - increasing table-level parallelism (MaxFullLoadSubTasks) reduces full load duration. However, source database load increases proportionally, so when migrating from production environments, adjust while monitoring source-side CPU and I/O utilization. LOB column migration offers "Full LOB mode" and "Limited LOB mode"; limited mode migrates only LOBs below a specified size, enabling significant speedup. Surveying the maximum LOB column sizes in the source database beforehand and setting appropriate thresholds is key to performance optimization. DMS Serverless eliminates the need for replication instance sizing, auto-scaling based on workload, further simplifying migration planning and execution.

ShareXB!