Migration step 2: Verify the integrity of DB2 table spaces

The link checker utility, DSN1CHKR, verifies the integrity of the DB2® directory and catalog table spaces on the system that you are migrating.

About this task

Important: This migration step identifies data integrity issues that might interfere with subsequent migration tasks.
Tip: Start of changeFor best results, use this process to check the DB2 catalog and directory regularly, even outside of the migration process.End of change

Procedure

To verify the integrity of your DB2 directory and catalog table spaces:

  1. Required: Begin general-use programming interface information.Issue the STOP DATABASE command on catalog and directory table spaces that contain links or hashes. These table spaces include:
    • DSNDB06.SYSDBASE
    • DSNDB06.SYSDBAUT
    • DSNDB06.SYSGROUP
    • DSNDB06.SYSPLAN
    • DSNDB06.SYSVIEWS
    • DSNDB01.DBD01
    End general-use programming interface information.
  2. Start of changeRun DSN1CHKR on these table spaces, in any order. DSN1CHKR scans the specified table space for broken links, hash chains, and orphans (records that are not part of any link or chain). End of change
  3. Run the DSN1COPY utility with the CHECK option on all catalog table spaces to ensure that the table space pages are physically correct and that the catalog table spaces are clustered.

    When you run this utility on segmented table spaces, you might receive message DSN1985I. The segmented table spaces in the catalog and directory are: DSNDB06.SYSPKAGE, DSNDB06.SYSSTR, DSNDB06.SYSSTATS, DSNDB06.SYSDDF, DSNDB06.SYSOBJ, DSNDB01.SYSUTILX, and DSNDB01.SPT01. You can ignore this message.

  4. Run the CHECK INDEX utility.
  5. Start of changeYou should run the following query on the catalog tables of the Version 8 or DB2 9 system that you are migrating.End of change If the query returns any rows, the identified STOGROUPs have both specific and non-specific volume IDs. Table spaces in databases that use these STOGROUPs cannot be image copied or recovered until ALTER STOGROUP is used to remove volumes so that the STOGROUP has either specific or non-specific volume IDs.

    This query is commented out in the DB2 10 member DSNTESQ of prefix.SDSNSAMP.

    Begin general-use programming interface information.
    SELECT * FROM SYSIBM.SYSVOLUMES V1
             WHERE VOLID ¬= '*' AND
                   EXISTS (SELECT * FROM SYSIBM.SYSVOLUMES V2
                                    WHERE V1.SGNAME = V2.SGNAME AND
                                          V2.VOLID = '*')
    End general-use programming interface information.