What I ran into
I hit an issue where a replication request kept stopping unexpectedly. There was no clear error in MonCon, but the kernel log showed a missing archive log for a required SCN. Restarting the request would get it running again, but the problem kept coming back.
What the error means
The key message looked like this:
Could not find redo log for SCN <value>, a required archive log may have been deleted
At a high level, CDC needed an archive log to continue mining changes, but that log was no longer available.
What is actually happening
This comes down to how Oracle LogMiner and CDC interact.
- CDC continuously polls redo and archive logs
- Oracle manages and deletes archive logs based on retention
- If CDC falls behind or polls too aggressively, it may try to read an SCN from a log that has already been deleted
So the issue is not just missing logs. It is timing between CDC consumption and Oracle log retention.
Why the request stops
When CDC cannot find the required archive log:
- It cannot reconstruct the change sequence
- It stops the request to avoid inconsistency
- It requires a manual restart after the issue is addressed
From CDC’s perspective, continuing without that log would break data integrity.
What helped fix it
One approach that worked was tuning how frequently CDC polls LogMiner.
This is done using a component properties file on the kernel host:
<modelName>_<hostName>_component.properties
Then adding entries like:
CSSleepTime.<serverId>=300
LogminerBlockSize.<serverId>=500
This slows down polling and adjusts how data is read, which can help ensure CDC processes logs before Oracle deletes them.
Why this matters
What stood out to me is this:
CDC is not just dependent on its own configuration. It is tightly coupled with how the source database manages logs.
If archive logs are deleted faster than CDC can process them, the pipeline breaks even if everything else is configured correctly.
What I look for now
When I see similar issues, I check:
- Archive log retention settings in Oracle
- CDC lag relative to log generation
- LogMiner polling behavior
- Any gaps between SCN processing and log availability
This usually points to where the timing issue is.
Takeaway
This issue is less about “missing logs” and more about synchronization between CDC and Oracle.
CDC needs those logs at the right time. If that timing breaks, replication stops.
Have you seen cases where CDC was running fine but stopped because the database rotated logs too quickly?
*Precisely Software Inc.