DMS CDC with Oracle - "Cannot retrieve Oracle archived Redo log destination ids"


I believe I have solved my own problem, but given the hours of hair pulling I went through, I'm posting here for the benefit of others.

I was setting up an Oracle to Aurora migration for a demo and I wanted to get Change Data Capture working. The DMS task continuously failed with the following error visible in the console:

"Cannot retrieve Oracle archived Redo log destination ids; Failed to set stream position on context"

Interestingly nothing useful logged in CloudWatch despite log level set to the max.

I went through a lot of different theories, but the one that seems to fit is that given this is a static demo environment, Oracle has never actually got round to archiving any log files since it was configured for ARCHIVELOG mode. Perhaps DMS requires at least one archived log??

Finally I discovered this Oracle command: "alter system switch logfile;" I believe this forces an archive. After this the CDC task just started working.

asked 4 years ago1756 views
2 Answers
Accepted Answer

Thank you for sharing to others. Yes, anytime DBA set up in archivelog mode on the DB, first thing to do is run multiple times "alter system switch logfile" and validate "archive log list" by ensuring the archive log number prior to confirming that DB is on archivelog mode. Additional good practices, ensure archive log directory has sufficient space to generate log files, log file retention period is set by a shell script or other processes.

answered 4 years ago

Thanks! Helped me to get replication task working properly.

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions