Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Congratulations to the new Qlik Luminary and Partner Ambassador class! Meet them here
cancel
Showing results for 
Search instead for 
Did you mean: 
husainbhavna
Contributor II
Contributor II

Replicate from DB2 11.5.8 to DB2 12.1.4 - Backup source and restore to target and avoid full load

Hello All, 

I would like to upgrade my database from Db2 11.5 to Db2 12.1. In order to avoid a lengthy downtime, I would like to perform out of place upgrade - meaning:

1. backup the current db2 11.5 and restore it in a new server

2. Upgrade the db2 in the new server to 12.1

3. Replicate data from current 11.5 to the new 12.1 (here, is there a way to avoid full load)

4. When data is sync, and during a maintenance window, perform a cutover to the new 12.1 db server. 

My questions are:

1. Can Qlik replicate support the source as DB2 11.5 and target as DB2 12.1?

2. Can I avoid a full load in Step 3 above?

3. In the target, do I need to disable foreign keys and generated columns? Can I avoid doing this?

Thank you

Best Regards, 

Husain

Labels (3)
1 Solution

Accepted Solutions
-mjl-
Contributor III
Contributor III

Hi,

It's possible to run a Task in Apply Changes only into an existing target database but you would need to ensure this is started with an Advanced Run from Date/Time and that datetime must be prior to the backup date, so you may need a lot of transactions available in the source logs. This is presuming there are no issues with applying v11.5 logs to a v12.1 that would need to be tested. Also, if it's z/OS to z/OS there is this limitation consider too: When replicating from an IBM DB2 for z/OS source, data type homogeneity will not be preserved.

I don't think Qlik will guarantee against data loss here by the way, because you're kind of breaking the replication (Full Load + Apply)  so engage with Support or PS if that is of concern.

You can try keeping the foreign keys and using Transactional Apply in CDC. This mode ensures referential integrity. You could hit some latency depending on the target hardware config and how many transactions are being processed.

Cheers!

View solution in original post

1 Reply
-mjl-
Contributor III
Contributor III

Hi,

It's possible to run a Task in Apply Changes only into an existing target database but you would need to ensure this is started with an Advanced Run from Date/Time and that datetime must be prior to the backup date, so you may need a lot of transactions available in the source logs. This is presuming there are no issues with applying v11.5 logs to a v12.1 that would need to be tested. Also, if it's z/OS to z/OS there is this limitation consider too: When replicating from an IBM DB2 for z/OS source, data type homogeneity will not be preserved.

I don't think Qlik will guarantee against data loss here by the way, because you're kind of breaking the replication (Full Load + Apply)  so engage with Support or PS if that is of concern.

You can try keeping the foreign keys and using Transactional Apply in CDC. This mode ensures referential integrity. You could hit some latency depending on the target hardware config and how many transactions are being processed.

Cheers!