Change Data Capture

Keep databases in sync — live

Zero-downtime cutover with continuous change data capture. Stream every INSERT, UPDATE, and DELETE from Oracle, MySQL, or SQL Server to PostgreSQL in real time — so you can switch traffic when you're ready, not when you're forced to.

How CDC Works

Changes are captured at the transaction log level — no triggers, no application changes, no performance impact on the source database.

🗄️

Source Database

OracleLogMiner / SCN
MySQLBinlog / ROW
MSSQLCDC Tables / LSN
transaction
log events
⚙️

CDC Reader

Polls source log at configurable interval. Batches INSERT / UPDATE / DELETE events. Persists watermark (SCN / LSN) after each batch.

ordered
replay
🐘

Target Database

Events replayed in commit order. COMMITTED_DATA_ONLY — no dirty reads. Target stays < 1s behind source during steady state.

INSERT replayed in order
UPDATE with full row image
DELETE with PK lookup

Key CDC Features

LogMiner for Oracle

SCN-based change capture directly from Oracle redo logs. No additional agent or license required — connects with standard DBA credentials.

Binlog for MySQL

Row-level replication using MySQL binary log in ROW format. Captures INSERT, UPDATE, and DELETE events with full before/after row images.

SQL Server CDC Tables

LSN (Log Sequence Number) tracking via SQL Server's built-in CDC change tables. Resumes automatically after network interruptions.

COMMITTED_DATA_ONLY

Only committed transactions are replayed on the target. Rolled-back transactions and dirty reads are automatically excluded.

Automatic Resume

The last processed SCN (Oracle) or LSN (SQL Server / MySQL) is persisted to disk after every batch. Restart from exactly where you left off.

Supplemental Logging Manager

Enable supplemental logging on all migrated tables with a single click. DBMigrateAIPro generates and executes the ALTER TABLE statements for you.

Zero-Downtime Migration Flow

CDC bridges the gap between your bulk migration and your application cutover, keeping source and target in sync the entire time.

1

Run full bulk migration (historical data)

DBMigrateAIPro copies all historical rows in parallel batches. The SCN / LSN at migration start is recorded as the CDC watermark.

2

Start CDC reader

CDC reader begins streaming changes from the recorded start SCN / LSN. Any writes made to the source during bulk copy are replayed immediately.

3

Both databases in sync — run validation

Row-count and hash validation confirms target matches source. Replication lag drops below 1 second under normal write loads.

4

Cut over application connections

Update your connection string or DNS entry to point at PostgreSQL. DBMigrateAIPro keeps CDC running during the brief switchover window.

5

Stop CDC reader

Once all application traffic is confirmed on PostgreSQL and no source writes remain, the CDC reader is stopped and the migration is complete.

Configuration Reference

Oracle CDCLogMiner settings
SettingDefaultNote
poll_interval5sHow often to poll LogMiner for new changes
batch_size1000Rows processed per LogMiner batch
start_scnautoCaptured at migration start automatically
supplemental_loggingrequiredMust be enabled on all source tables
MySQL CDCBinlog settings
SettingRequiredNote
binlog_formatROWMust be set in my.cnf before enabling CDC
server_iduniqueMust differ from all other replicas
auto_positiontrueGTID-based positioning for reliable resume

Oracle Setup Commands

Run as a DBA before starting the migration. DBMigrateAIPro's SupplementalLoggingManager can generate and execute the ALTER TABLE statements automatically.

Oracle SQLDBA / SYSDBA required
-- Enable supplemental logging on a single table
ALTER TABLE hr.employees
  ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

-- Enable minimal supplemental logging at DB level (required first)
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

-- Confirm supplemental logging is active
SELECT log_mode, supplemental_log_data_min,
       supplemental_log_data_pk, supplemental_log_data_all
FROM   v$database;

-- Capture the current SCN before starting the bulk migration
-- (DBMigrateAIPro does this automatically — shown here for reference)
SELECT current_scn FROM v$database;

Supplemental Logging Required

CDC requires supplemental logging enabled on ALL migrated tables. Without it, Oracle's LogMiner cannot produce full before/after row images, and change events will be incomplete. DBMigrateAIPro's SupplementalLoggingManager can generate the ALTER TABLE statements automatically — run it once before starting your migration.

Ready for zero-downtime cutover?

Follow the CDC setup guide or explore pricing — get started in under 10 minutes.