DB2 Migration to Version 8 - Part 2August 25, 2004 As it was demonstrated in my last article, an error free DB2 V7 to V8 migration procedure is compromised of database software and catalog tables migration. The user data was not migrated, leaving the user tables and indexes intact. The series of post migration tests have been done prior to database handover to production. This article presents select issues that appeared during post migration testing. This article covers:
The Migration StatusThe test-case database was a DB2 V8 database instance, running on a SUN Solaris 8 operating system, under db2inst1 instance owner. The DB2 V8 instance hosted a single node (partition) database, "ARTIST." $ db2level DB21085I Instance "db2udb1" uses "32" bits For detailed information of pre-migration and migration steps, reference my last article, DB2 Migration to Version 8. Following the migration procedure, additional logs and diagnostic files were created at the database log destination. A short explanation of these logs follows:
$ pwd /home/db2inst1/sqllib/db2dump$ $ ls -alrt -rw-r----- 1 db2inst1 db2dba 2101976 Jun 28 15:17 db2imdbd.dmp -rw-r----- 1 db2inst1 db2dba 2101976 Jun 28 15:17 db2imnod.dmp -rw-r----- 1 db2inst1 db2dba 5242044 Jun 29 10:47 db2eventlog.000 -rw-rw-rw- 1 db2inst1 db2dba 13345933 Jun 29 10:47 db2diag.log -rw-rw-rw- 1 db2inst1 db2dba 13345933 Jun 29 10:47 db2inst1.nfy The listed files are part of the
new IBM FFDC (First Failure Data Capture) system. Starting with DB2 V8, the database
diagnostic concept changed. When errors occur, DB2 automatically starts collecting
diagnostic Database RoutinesPreceding the migration procedure, I made a backup of one stored routine, (procedure) SOFTVERSION, located under the user schema ARTIST. The stored procedure is extracted and saved using "get routine" commands. DB2 V7 ###### $ cd /home/db2inst1/sqllib/function/routine/sqlproc/ARTIST $ ls -lrt drwxrwxr-x 5 db2inst1 db2dba 512 Jun 14 15:52 ARTIST $ cd ARTIST $ ls -lrt -rw-r----- 1 db2inst1 db2dba 56125 May 28 10:22 P5227850.sqc -rw-r----- 1 db2inst1 db2dba 96 May 28 10:22 P5227850.scm -rw-r----- 1 db2inst1 db2dba 1534 May 28 10:22 P5227850.log -rw-r----- 1 db2inst1 db2dba 75237 May 28 10:22 P5227850.c -rwxr-xr-x 1 db2inst1 db2dba 15944 May 28 10:22 P5227850 db2 => select substr(IMPLEMENTATION,1,40) The stored routine, SOFTVERSION, has the database package P5227850 associated with it. A post migration check proved that the user stored routine did not migrate correctly. The situation with SOFTVERSION routine after migration: DB2 V8 ###### $ cd /home/db2inst1/sqllib/function/routine/sqlproc $ ls --> procedure did not migrated, no compiled files of routines, empty directory db2 => select substr(IMPLEMENTATION,1,40) The migration procedure migrated the package and routine definition; however, the compiled files were not copied into new V8 subdirectories. IBM has published document explaining this problem (HIPER APAR IY43787):
Workaround instructions demanded a file copy of all V7 compiled files from the old V7 to the new V8 code database directory (/home/db2inst1/sqllib/function/routine/sqlproc/ARTIST). Finally, all database packages needed to be manually rebind. $ cp /home/db2inst1/sqllibV7/function/routine/sqlproc/ARTIST/*.* |