To answer WHY to migrate from DB2 to Oracle, one good reason for all. Large companies like to streamline operations and that includes database services. To maintain a team of experts just for one DB2 while most of other DBs are Oracle and MS SQL based could be a nice way to reduce the cost.
I have done the migration of a smaller instance from DB2 Windows to Oracle Unix here are my key points:
- Upgrade CMOD first while keeping the DB2 to V10. This step should be easy to do
- Build a new vanilla instance of CMOD V10 using Oracle DB, make sure all is working well
- Upgrade CMOD first while keeping the DB2 to V10. This step should be easy to do
- Close all open tables using arstblsp -a1
- For migration of system tables (ARS%) I have wrote a perl DBI script to facilitate Export / Import, which would cover CLOBs (ARSAPP table!)
- As you have closed all seg tables, you can use arstblsp -a4 to create an empty schema table for each of your AGs at your Oracle CMOD. Note: In my case, I was not using SMS
- Duplicate the tables in Oracle database as required e.g.: create table segtable1 as select * from segtableN where 1=2;
- For segment tables use DB2 export to segtable.dat of DEL select * from segtable;
- Use sqlldr utility to load CSV exports from DB2 of your segtables. Note: you need to do a bit of fiddle with date and times to get it right.
Well that's all in a nut shell.
Disclaimer at the end
: use all above at your own risk, all notes I have typed are mine from my memories, so some minor tweaks could have been left out unintentionally.
Good luck and enjoy