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