Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Qlik Replicate: May 2025 (2025.5.0.247)
Source: IBM DB2 LUW 11.5.9
Target: IBM DB2 (ODBC)
Architecture: Log Stream Staging → Downstream CDC
Background
We are implementing replication for approximately 35 DB2 LUW databases between MAIN and DR using Qlik Replicate Log Stream Staging + downstream CDC.
The requirement is to keep replication ready in both directions. Application traffic will be active on only one server at a time (MAIN or DR), but we need the replication infrastructure to remain synchronized so that traffic can be switched between servers without rebuilding the replication setup.
1. Start from Timestamp
We tried to start a Log Stream Staging task from a specific timestamp using both:
Replicate UI → Advanced Run Options → Start processing changes from Date and Time
Qlik Enterprise Manager (QEM) API
Both return the following error:
"start from timestamp was blocked, when using IBM DB2 LUW as source endpoint, ‘start from timestamp’ is only supported if change was captured after the CDC task started."
Could someone clarify the expected behavior for timestamp-based positioning with DB2 LUW, particularly with a Log Stream Staging → downstream CDC architecture?
2. Log Stream Task Cannot Start
To keep the replication infrastructure ready in both directions, we started the DR → MAIN Log Stream tasks.
For 25 out of 35 databases, we have:
MAIN → DR Log Stream: Running
MAIN → DR CDC: Running
DR → MAIN Log Stream: Running
However, for the remaining 10 databases, the DR → MAIN Log Stream task cannot start. The console only shows:
"Task cannot be started"
There are no additional useful errors in the console.
The affected databases are on the same DB2 server and have the same general configuration as the databases where the tasks are working successfully.
Could someone advise what could cause this behavior for only specific DB2 databases and how we can obtain more detailed diagnostics?
Any guidance on these two issues would be greatly appreciated.
Hi,
1. Is documented:
2. Is there anything in the Task logs? You may need to increase verbosity.
Cheers!
Hi -mjl-,
Thanks for your response. I wanted to clarify the behaviour we are seeing:
Start Log Stream from timestamp:
Starting the Log Stream task from a specific timestamp works successfully for some databases. However, for certain databases, we receive the error mentioned above, even though the databases are on the same server and have the same general configuration.
A-B CDC vs. B-A Log Stream:
To keep the replication infrastructure running, we tried running:
A → B: Log Stream + CDC
B → A: Log Stream only
This works as expected for some databases. However, for certain databases, the B → A Log Stream task returns "Task cannot be started."
Interestingly, for these affected databases, if we stop the A → B CDC task, the B → A Log Stream task starts successfully. This makes it appear that, for these specific databases, we can run either A → B CDC or B → A Log Stream, but not both simultaneously.
What is confusing is that this behaviour occurs only for some databases, while the other databases on the same server and with the same configuration allow both tasks to run simultaneously.
We also increased the logging level, but no additional useful information is generated. Under Tasks → Monitor → Log Messages, we only see:
"Task cannot be started"
Could you please advise what could cause this database-specific behaviour or what additional logs/diagnostics we should check?
Regards,
Ghassan
Hi, For 1. it depends on the timestamp you use, that timestamp cannot be a timestamp BEFORE the first time you ran the task. It might work sometimes but that won't change that it isn't a supported action I'm afraid.
2. Are you attempting Bidirectional Replication with this architecture?
Cheers
Hi @-mjl- ,
No I have 2 set of uni directional tasks, each set is combination of log stream -> CDC
1) replication of data from A-B ( this runs in normal conditions)
2) replication of data from B-A (This was kept stopped, will only required to run when traffic is switched to target databases, then to keep other database sync replication direction will be changed.
Since tasks from B-A were stopped may be due to that I was not able to start from timestamp.?
Hi, It does sound like Bidirectional from a high level view but if it's DB2 LUW <-> DB2 LUW then I don't think that is possible since DB2 LUW is not a supported target in Bidirectional Replication. The start from timestamp is a limitation in the source endpoint so it would be the same in any architecture. But if you are attempting to start from timestamp AFTER you first ran the task and it fails then engaging with Qlik Support is your best course of action. I would also consider consulting with Qlik Professional Services to run the architecture by them. Cheers!