IBM Support

II11173: DB2 DBD PROBLEMS: HINTS AND TIPS DBD = Data Base Discriptor

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as canceled.

Error description

  • DB2 INFO APAR to document DBD issues.  APARs mentioned in this
    APAR will have the keyword 'DB2DBD' in them.
       The following SELECT detects duplicate OBIDs within a given
    DATABASE, and was used in reference to DB2 R510 APAR PQ14501.
    Ideally no ROWs would be returned when this SQL is run.  This
    SELECT can run at anytime, and is recommended to be run after
    the PTF for R510 PQ14501 is APPLYed.  If duplicates are
    detected, REPAIR of the DB2 CATALOG/DIRECTORY may be necessary
    and the IBM Support Center should be contacted.
     =================       BEGIN   SELECT      =================
      * join systables and systablespace to check for dup obid
      * on tablepace's obid
      SELECT X.DBNAME, X.OBID AS TBOBID, X.NAME AS TBNAME,
       X.CREATEDTS AS TBTMST,
       Y.NAME AS TSNAME, Y.OBID AS TSOBID, Y.CREATEDTS AS TSTMST
       FROM SYSIBM.SYSTABLES X, SYSIBM.SYSTABLESPACE Y
       WHERE (X.DBNAME = Y.DBNAME AND X.OBID = Y.OBID);
      * join systables and systablespace to check for dup obid
      * on tablepace's psid
      SELECT X.DBNAME, X.OBID AS TBOBID, X.NAME AS TBNAME,
       X.CREATEDTS AS TBTMST,
       Y.NAME AS TSNAME, Y.PSID AS TSOBID, Y.CREATEDTS AS TSTMST
       FROM SYSIBM.SYSTABLES X, SYSIBM.SYSTABLESPACE Y
       WHERE (X.DBNAME = Y.DBNAME AND X.OBID = Y.PSID);
      * join systable and systable
      SELECT X.DBNAME, X.OBID AS TB1OBID, X.NAME AS TB1NAME,
       X.CREATEDTS AS TB1TMST, Y.NAME AS TB2NAME,
       Y.OBID AS TB2OBID, Y.CREATEDTS AS TB2TSMT
       FROM SYSIBM.SYSTABLES X, SYSIBM.SYSTABLES Y
       WHERE (X.DBNAME = Y.DBNAME AND X.OBID = Y.OBID)
       AND (X.DBID > 255) AND (X.NAME <> Y.NAME OR X.CREATOR <>
                               Y.CREATOR);
      * join systable and sysindexes to check for dup obid on
      * index's obid
      SELECT X.DBNAME, X.OBID AS TABOBID, X.NAME AS TBNAME,
       X.CREATEDTS AS TBTMST,
       Y.NAME AS IXNAME, Y.OBID AS IXOBID, Y.CREATEDTS AS IXTMST
       FROM SYSIBM.SYSTABLES X, SYSIBM.SYSINDEXES Y
       WHERE (X.DBNAME = Y.DBNAME AND X.OBID = Y.OBID);
      * join systable and sysindexes to check for dup obid on
      * index's isobid
      SELECT X.DBNAME, X.OBID AS TABOBID, X.NAME AS TBNAME,
       X.CREATEDTS AS TBTMST,
       Y.NAME AS IXNAME, Y.ISOBID AS IXOBID, Y.CREATEDTS AS IXTMST
       FROM SYSIBM.SYSTABLES X, SYSIBM.SYSINDEXES Y
       WHERE (X.DBNAME = Y.DBNAME AND X.OBID = Y.ISOBID);
    * union systable and sysrel to get any duplicate obid
    * on tbobid and relobid1(parent)
    SELECT X.DBID, X.DBNAME, X.NAME, X.OBID AS TBOBID,
           Y.RELOBID1 AS CCOBID, Y.RELNAME  FROM SYSIBM.SYSTABLES X,
              (SELECT T.DBID, R.RELOBID1, R.RELNAME
               FROM SYSIBM.SYSTABLES T, SYSIBM.SYSRELS R WHERE
               T.NAME = R.REFTBNAME  AND T.CREATOR = R.REFTBCREATOR)
               AS Y WHERE X.DBID=Y.DBID AND X.OBID=Y.RELOBID1 AND
                  X.TYPE IN ('M','T','X')
       UNION
    SELECT A.DBID, A.DBNAME, A.NAME, A.OBID AS TBOBID,
           B.RELOBID2 AS CCOBID, B.RELNAME  FROM SYSIBM.SYSTABLES A,
              (SELECT C.DBID, D.RELOBID2, D.RELNAME
               FROM SYSIBM.SYSTABLES C, SYSIBM.SYSRELS D
                 WHERE C.NAME = D.TBNAME AND C.CREATOR = D.CREATOR)
               AS B WHERE A.DBID=B.DBID AND A.OBID=B.RELOBID2
                      AND A.TYPE IN ('M','T','X');
    * join systable and syschk to check for dup obid on chk's obid
    SELECT X.DBNAME, X.OBID AS TABOBID, X.NAME AS TBNAME,
     X.CREATEDTS AS TBTMST,
     Y.TBNAME AS CHKTBNAME, Y.OBID AS CHKOBID, Y.CHECKNAME,
     Y.TIMESTAMP AS CHKTMS  FROM SYSIBM.SYSTABLES X,
     SYSIBM.SYSCHECKS Y WHERE (X.DBID = Y.DBID AND X.OBID = Y.OBID);
     =================       END     SELECT      =================
    ................................................................
    Note:  Some users may receive 22 ROWs where both TBOBID = 0 and
           CCOBID = 0 for some DB2 internal entries:  these can be
           ignored.  These are for DB2's use and will have no effect
           on any DBD related problems.
    If the above SELECT results show duplicates in a DATABASE,
    the suggested approach would be to find the next available
    OBID for that DATABASE and change one of the duplicate OBIDs
    to this available OBID.  In most cases, a FILE OBID (TABLESPACE)
    and a RECORD (TABLE) OBID share the same value.  A REPAIR JOB
    would the be run on DSNDB06.SYSDBASE to change the FILE OBD to
    the available OBID.  A more detailed explanation follows.
    DSN1CHKR should be run before and after the following steps.
      1)  Determine the highest currently existing OBID in
          the DATABASE with DBID xxxx (decimal) by running the
          following UNION:
                 SELECT MAX(PSID)   FROM SYSIBM.SYSTABLESPACE
                 WHERE DBID = xxxx
                 UNION
                 SELECT MAX(OBID)   FROM SYSIBM.SYSTABLESPACE
                 WHERE DBID = xxxx
                 UNION
                 SELECT MAX(OBID)   FROM SYSIBM.SYSTABLES
                 WHERE DBID = xxxx
                 UNION
                 SELECT MAX(OBID)   FROM SYSIBM.SYSINDEXES
                 WHERE DBID = xxxx
                 UNION
                 SELECT MAX(ISOBID) FROM SYSIBM.SYSINDEXES
                 WHERE DBID = xxxx                             ;
      2)  Run DSN1PRNT with the VALUE and FORMAT keywords to locate
          the RECORD in DSNDB06.SYSDBASE containing the OBID that is
          to be changed.  It is recommended to avoid changing the
          RECORD (TABLE) OBID if at all possible.  Choose FILE or
          PAGESET OBIDs instead.
         The following SELECT with UNION can assist in identifying
         the duplicate OBIDs where xxxx is the DBID in decimal and
         yyyy is the duplicate OBID in decimal:
          SELECT OBID,NAME,
          'TABLESPACE FILE'    AS TYPE FROM   SYSIBM.SYSTABLESPACE
          WHERE DBID = xxxx AND   OBID = yyyy  UNION
          SELECT PSID,NAME,
          'TABLESPACE PAGESET' AS TYPE FROM   SYSIBM.SYSTABLESPACE
          WHERE DBID = xxxx AND   PSID = yyyy  UNION
          SELECT OBID,NAME,
          'TABLE'              AS TYPE FROM   SYSIBM.SYSTABLES
          WHERE DBID = xxxx AND   OBID = yyyy  UNION
          SELECT OBID,NAME,
          'INDEX FANSET'       AS TYPE FROM   SYSIBM.SYSINDEXES
          WHERE DBID = xxxx AND   OBID = yyyy  UNION
          SELECT ISOBID,NAME,
          'INDEX PAGESET'      AS TYPE FROM   SYSIBM.SYSINDEXES
          WHERE DBID = xxxx AND ISOBID = yyyy;
      3)  From the above output, construct the REPAIR JOB to change
          the OBID and run the JOB.
      4)  SELECT from the DB2 CATALOG to verify the new OBID value.
      5)  Run the REPAIR DBD REBUILD to rebuild a new DBD.
    ................................................................
    The follow list of DB2 5740XYR00 R510 APARs dealing damaged
    DBDs or problems with the REPAIR DBD TEST/DIGNOSE/REBUILD
    UTILITY.  Only those APARs with PTFs beyond PUT TAPE 9901 are
    listed.
    -------  -------------------------------------  ----- ----- ----
                                                    R410  R510  R610
     APAR     Description                           PTF?  PTF?  PTF?
    -------  -------------------------------------  ----- ----- ----
    PQ14194  REPAIR DBD TEST/DIAGNOSE with RI        n/a   yes   yes
    PQ21770  REPAIR DBD TEST/DIAGNOSE OBDREFNU bit   n/a   yes   yes
    PQ22263  DSNGDDFI vrace5005 DROP                 n/a   n/a   yes
    PQ22264  NOT ALL SECTION PRINTED, DSNU915I       n/a   yes   yes
    PQ23089  CREATE, ALTER, DROP or REPAIR DBD       n/a   n/a   yes
    PQ23212  Various fixes for REPAIR DBD            yes   yes   yes
    PQ23812  OBDRERBA ERRORS IN REPAIR DBD TEST      no    yes   yes
    PQ24412  ABENDs with DBDs > 32k                  n/a   yes   yes
    PQ24002  DSNGDBIX vrace500D during REPAIR DBD    n/a   n/a   yes
    PQ24721  RC00E40317 DSNURFIT LOAD                n/a   n/a   yes
    PQ25153  REPAIR DBD REBUILD, various ABENDs      n/a   yes   yes
    PQ27332  rc00C200B0 REPAIR DBD REBUILD           yes   yes   yes
    PQ27432  Missing FANSET various ABENDs           yes   yes   yes
    PQ30488  ABEND0C4 during DDL                     n/a   yes   n/a
    PQ31054  REPAIR DBD FAILS WHEN A CAST FUNCTION   n/a   n/a   yes
    PQ34030  REPAIR DBD rc00E40601                   n/a   n/a   yes
    PQ39391  REPAIR DBD incorrect output OBDREIPK   open  open  open
    PQ43919  04E ON TRIGGER & its Table w/FieldProc  n/a   yes   yes
    

Local fix

Problem summary

Problem conclusion

Temporary fix

Comments

  • Various errors regarding DB2 databases DSNDB01 and DSNDB06
    ABEND04E rc00C90101 rc00C90110 rc00C90111 rc00E40317  CATMAINT
       Note: when recovering the DB2 Catalog and Directory, thank
    of them as 1 object.  The ORDER in which the tablespaces within
    are recovered is very important.  For information related to
    this concern, See the DB2 Uiility Guide SC26896700 chap2 page177
    RECOVER TABLESPACE  " Recovering Catalog and Directory Objects "
    
    CLOSED FOR DB2INFO RETENTION
    

APAR Information

  • APAR number

    II11173

  • Reported component name

    PB LIB INFO ITE

  • Reported component ID

    INFOPBLIB

  • Reported release

    001

  • Status

    CLOSED CAN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    1998-04-13

  • Closed date

    1998-04-13

  • Last modified date

    2005-06-09

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
09 June 2005