Question

Difficulty: HardDatabase Migration and Schema Conversion using DMS and SCT

A company plans to migrate its legacy on-premises Oracle 19c database to Amazon Aurora PostgreSQL-Compatible Edition. The database schema has been successfully converted using the AWS Schema Conversion Tool (AWS SCT). The migration team is establishing an AWS Database Migration Service (AWS DMS) replication task with Full Load and Change Data Capture (CDC) to minimize application downtime during the cutover. However, immediately after completing the full load phase, the DMS task fails and logs errors stating that the replication agent cannot read the transaction log sequence or access transaction records on the source database. Which of the following database-level configurations must be enabled on the source Oracle database to allow AWS DMS to successfully capture and replicate ongoing transactional changes?

  1. A
    Set the database replication mode by configuring the wal_level parameter to logical in the postgresql.conf file and restarting the database instance.
  2. B
    Enable binary logging on the source by setting the binlog_format parameter to ROW and the binlog_row_image parameter to FULL in the database initialization parameters.
  3. Configure the source database to run in ARCHIVELOG mode, enable minimal supplemental logging at the database level, and enable supplemental logging on the tables selected for replication.Answer
  4. D
    Run the system stored procedure sys.sp_cdc_enable_db to enable Change Data Capture at the database level and configure the database recovery model to FULL.

Answer

Configure the source database to run in ARCHIVELOG mode, enable minimal supplemental logging at the database level, and enable supplemental logging on the tables selected for replication.
To replicate ongoing changes (CDC) from an Oracle source database, AWS DMS relies on reading the database redo logs. The source Oracle database must be in ARCHIVELOG mode to prevent logs from being overwritten before DMS can process them. Additionally, minimal supplemental logging must be enabled at the database level, and table-level supplemental logging must be enabled for the replicated tables to ensure that the redo log records contain sufficient information (such as column values before and after changes) for DMS to build the corresponding DML statements on the target.

Step-by-Step Solution

1
Analyze the source database type and the point of failure.
The source is an Oracle 19c database, and the failure occurs immediately when starting the Change Data Capture (CDC) replication phase.
AWS DMS has different log requirements for different database engines to track incremental modifications.
2
Determine the CDC logging requirements for an Oracle source database.
Oracle requires the database to operate in ARCHIVELOG mode to preserve transaction logs, and needs supplemental logging enabled so that columns are written to the redo logs.
By default, Oracle redo logs do not write sufficient column details required by AWS DMS to reconstruct SQL changes.
3
Evaluate the distractors containing prerequisites for other database engines.
Identify that wal_level is a PostgreSQL parameter, binlog parameters belong to MySQL, and sys.sp_cdc_enable_db is a SQL Server procedure.
Differentiating these logging parameters avoids applying incorrect configuration steps to the Oracle database.

Key Concept

AWS DMS source database prerequisites for Oracle CDC migration
Rate this question