100% found this document useful (1 vote)
1K views1,001 pages

dsndrk11 PDF

DO NOT COPY DB2 Version 9. For z / OS Diagnosis Guide and Reference "Restricted Materials of IBM" before using this information and the product it supports, be sure to read the general information under "Notices" at the end of this information. Specific changes are indicated by a vertical bar to the left of a change.

Uploaded by

wsx2
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views1,001 pages

dsndrk11 PDF

DO NOT COPY DB2 Version 9. For z / OS Diagnosis Guide and Reference "Restricted Materials of IBM" before using this information and the product it supports, be sure to read the general information under "Notices" at the end of this information. Specific changes are indicated by a vertical bar to the left of a change.

Uploaded by

wsx2
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1001

DO NOT COPY

DB2 Version 9.1 for z/OS

Diagnosis Guide and Reference

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
LY37-3218-01

DO NOT COPY

DO NOT COPY

DO NOT COPY

DB2 Version 9.1 for z/OS

Diagnosis Guide and Reference

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
LY37-3218-01

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Note Before using this information and the product it supports, be sure to read the general information under Notices at the end of this information.

Second edition (October 2007) This document is made available to you as a licensed user of IBMs DB2 for z/OS software product and is subject to the terms regarding Restricted Materials specified in the Authorized Use provision in the Part of your IBM Customer License (or equivalent license under which you obtained DB2) governing ICA Programs. You must take appropriate steps to insure that access to this document and any hardcopies thereof is limited to licensed users within your enterprise, and that the scope of use is limited to the Authorized Uses permitted uses under your license. Distribution outside of your enterprise is strictly prohibited and is deemed a material breach of your license agreement with IBM. Specific changes are indicated by a vertical bar to the left of a change. A vertical bar to the left of a figure caption indicates that the figure has changed. Editorial changes that have no technical significance are not noted. Copyright International Business Machines Corporation 1983, 2007. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Contents
About this information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
DB2 Utilities Suite . . . . . . . . Who should read this information . . Terminology and citations . . . . . Accessibility features for DB2 Version 9.1 How to send your comments . . . . . . . for . . . . . . . z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii xiii xiii xiv . xv

Part 1. Functional Descriptions . . . . . . . . . . . . . . . . . . . . . . . . 1


Chapter 1. Program Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3
DB2 concepts and terminology . . . . . . . Modular structure of DB2 . . . . . . . . DB2 design concepts . . . . . . . . . . How users communicate with DB2 . . . . Use of z/OS subsystem interface . . . . . Exit routines . . . . . . . . . . . . Functional error recovery . . . . . . . . The DB2 commit process . . . . . . . . The distributed two-phase commit process . . Program input/output and processing overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . 3 . 7 . 11 . 13 . 13 . 15 . 15 . 18 . 23

Chapter 2. Subcomponent descriptions. . . . . . . . . . . . . . . . . . . . . . 27


Agent services manager (ASM) . . . . . . . . . Buffer manager (BM) . . . . . . . . . . . . Call attachment facility (CAF) . . . . . . . . . Data manager (DM) . . . . . . . . . . . . Data space manager (DSM) . . . . . . . . . . Distributed data facility (DDF) . . . . . . . . . Private protocols . . . . . . . . . . . . Distributed relational database architecture (DRDA) . Data communications resource manager (DCRM) . . Distributed data interchange services (DDIS) . . . Distributed transaction manager (DTM) . . . . . Distributed relational data system (DRDS) . . . . General command preprocessor (GCP) . . . . . . Group manager (GM) . . . . . . . . . . . . IMS attachment (IA) . . . . . . . . . . . . Internal Resource Lock Manager (IRLM) . . . . . . Instrumentation facilities (IF) . . . . . . . . . Initialization procedures (IP) . . . . . . . . . . LOB manager (LOBM) . . . . . . . . . . . . Message generator (MG) . . . . . . . . . . . Precompiler (PRE) . . . . . . . . . . . . . Relational data system (RDS) . . . . . . . . . Recovery log manager (RLM) . . . . . . . . . Recovery manager (RM) . . . . . . . . . . . Resource Recovery Services attachment facility (RRSAF) Resource Recovery Services attachment facility control Language interface . . . . . . . . . . . . Service controller (SC) . . . . . . . . . . . . Stand-alone utilities (SU) . . . . . . . . . . . Storage manager (SM) . . . . . . . . . . . . System parameter manager (SPM) . . . . . . . . Subsystem support subcomponent (SSS) . . . . . .
LY37-3218-01 Copyright IBM Corp. 1983, 2007

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . functions . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30 33 34 36 40 41 41 42 43 44 45 46 47 48 48 49 51 51 52 53 53 54 58 59 60 60 61 62 64 65 65 66

DO NOT COPY

iii

DO NOT COPY
TSO attachment (TA) . Utilities (UT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Restricted Materials of IBM Licensed Materials Property of IBM . . . . . . . . . . . . . . . . . . . . . . . 68 . 69

Chapter 3. System Flow of Control . . . . . . . . . . . . . . . . . . . . . . . . 73


Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Shutdown (quiesce) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Shutdown (force) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 IMS application execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 TSO attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 TSO RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 TSO with DB2I/SPUFI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Call attachment facility application execution . . . . . . . . . . . . . . . . . . . . . . . . 85 Resource Recovery Services attachment facility application execution . . . . . . . . . . . . . . . . 86 General command processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Utility job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Create a thread for an application plan . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Terminate a thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Process SQL CREATE statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Process SQL CREATE TRIGGER statement . . . . . . . . . . . . . . . . . . . . . . . . . 92 Process trigger activation and execution . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Process SQL INSERT statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Process SQL INSERT with a LOB column . . . . . . . . . . . . . . . . . . . . . . . . . 94 Process user-defined function call . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Process SQL query with Sysplex parallelism . . . . . . . . . . . . . . . . . . . . . . . . 96 Process private protocol SQL (first connection with a remote location) . . . . . . . . . . . . . . . . 96 Process DRDA SQL to a server (first connection) . . . . . . . . . . . . . . . . . . . . . . . 97 Process DRDA SQL from a requester (first connection) . . . . . . . . . . . . . . . . . . . . . 98 Remote stored procedure call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Remote bind at requester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Presumed nothing two-phase commit . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Presumed abort two-phase commit . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Part 2. Keyword Descriptions . . . . . . . . . . . . . . . . . . . . . . . . 105


Chapter 4. Building a keyword string . . . . . . . . . . . . . . . . . . . . . . 107
Getting started . . . . . . . . . . DB2 format (free format) . . . . . . Structured database (SDB) format. . . . Using diagnostic aids . . . . . . . . Component and release identifier keywords Component identifier keyword . . . Using the SVC dump title . . . . . Using the SYS1.LOGREC entry . . . Using the first page of an SVC dump . The release level keyword . . . . . In DB2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 108 110 114 114 114 114 115 115 115 115

Chapter 5. Type-of-failure keywords . . . . . . . . . . . . . . . . . . . . . . . 117


ABENDx keyword. . . . . . . . . . . . . . . . . . IEA911E message . . . . . . . . . . . . . . . . . SYSABEND or SYSUDUMP . . . . . . . . . . . . . DB2 unresponsive . . . . . . . . . . . . . . . . . DSNV086E message . . . . . . . . . . . . . . . . WAIT/LOOP keywords . . . . . . . . . . . . . . . . Guidelines for good operational procedures . . . . . . . . Initial procedure . . . . . . . . . . . . . . . . . If DB2 is waiting during DB2 startup . . . . . . . . . . If DB2 is waiting during distributed processing with another DB2 . If DB2 and/or z/OS are not operational . . . . . . . . . If users in more than one environment cannot issue SQL statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 120 121 123 123 124 125 127 130 131 131 134

iv

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 137 140 140 141 141 142 143 143 144 145 145 145 146 147 147 148 148 148 149 149 149 150 154 155

If IMS dependent regions cannot issue SQL statements If DSN users cannot issue SQL statements . . . . . MSGx keyword . . . . . . . . . . . . . . . Procedure for DB2 messages . . . . . . . . . Procedure for IRLM messages . . . . . . . . . PERFM keyword . . . . . . . . . . . . . . DOC keyword . . . . . . . . . . . . . . . INCORROUT keyword . . . . . . . . . . . . CSECT keyword . . . . . . . . . . . . . . Procedure using SVC dump title . . . . . . . . Procedure using a SYS1.LOGREC entry . . . . . Procedure using first page of an SVC dump . . . . Modifier keyword . . . . . . . . . . . . . . Load module modifier keyword . . . . . . . . . Procedure using the SVC dump title. . . . . . . Procedure using a SYS1.LOGREC entry . . . . . Procedure using first page of an SVC dump . . . . Recovery routine modifier keyword . . . . . . . . Procedure using the SVC dump title. . . . . . . Procedure using a SYS1.LOGREC entry . . . . . Procedure using first page of SVC dump . . . . . VRA data modifier keyword . . . . . . . . . . INCORROUT modifier keyword . . . . . . . . . SQLCODE modifier keyword . . . . . . . . . . Message modifier keyword . . . . . . . . . . .

Chapter 6. Search argument process . . . . . . . . . . . . . . . . . . . . . . 157


Procedure . . . . . . . . . Techniques for varying the search APAR preparation . . . . . . . Data needed to analyze RDS problems Dependency keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 157 158 159 162

Part 3. Diagnostic Aids for Single Systems and Data Sharing . . . . . . . . . 165
Chapter 7. Printing and analyzing dumps . . . . . . . . . . . . . . . . . . . . 167
Types of DB2 for z/OS dumps . . . . . . . . . . Printing dumps. . . . . . . . . . . . . . . . Formatting dumps. . . . . . . . . . . . . . . Using IPCS options . . . . . . . . . . . . . Using the DSNWDMP statement . . . . . . . . . Analyzing SVC dumps . . . . . . . . . . . . . General contents of an SVC dump . . . . . . . . Contents of an SVC dump unique to DB2 . . . . . . DB2-issued SVC dump title. . . . . . . . . . . Error qualifier . . . . . . . . . . . . . . . IRLM-issued SVC dump title . . . . . . . . . . Dump indexes . . . . . . . . . . . . . . . The system diagnostic work area (SDWA) . . . . . . The variable recording area (VRA) . . . . . . . . The recovery termination manager work area (RTM2WA) The failing execution block (EB) . . . . . . . . . The save area trace report . . . . . . . . . . . The module entry point list (MEPL) . . . . . . . . The batch utilities MEPL . . . . . . . . . . . The cursor table (CT) . . . . . . . . . . . . . The SQL communication area (SQLCA). . . . . . . The global trace table . . . . . . . . . . . . . The task control block (TCB) summary . . . . . . . Stack storage blocks (SKBs) . . . . . . . . . . .
LY37-3218-01 Copyright IBM Corp. 1983, 2007

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

167 167 168 168 169 181 182 184 184 187 188 189 191 192 193 194 195 196 201 203 203 205 207 207

DO NOT COPY

Contents

DO NOT COPY
Suppressing SVC dumps using z/OS DAE . . . When SVC dumps are not produced . . . . . SYSUDUMP dumps . . . . . . . . . . . Finding the RTM2WA summary in a SYSUDUMP Analyzing SYS1.LOGREC information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Restricted Materials of IBM Licensed Materials Property of IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 210 210 211 212

Chapter 8. Printing and analyzing traces . . . . . . . . . . . . . . . . . . . . . 225


Global trace facility . . . . . . . . . . . . Starting the global trace . . . . . . . . . . . Start trace syntax diagram . . . . . . . . . Specifying the global trace . . . . . . . . . Limiting the scope of the global trace . . . . . Specifying a class . . . . . . . . . . . . Specifying a destination . . . . . . . . . . Specifying a plan . . . . . . . . . . . . Specifying an authorization ID . . . . . . . Specifying a resource manager . . . . . . . Specifying an IFCID . . . . . . . . . . . Specifying a location . . . . . . . . . . . Specifying a comment . . . . . . . . . . Specifying the trace record header . . . . . . Displaying trace activity . . . . . . . . . . . Specifying traces for display . . . . . . . . Modifying trace activity . . . . . . . . . . . Stopping trace activity . . . . . . . . . . . Using global trace output . . . . . . . . . . Global trace event IDs . . . . . . . . . . Interpreting trace record formats . . . . . . . When to use the DB2 trace table . . . . . . . Interpreting the formatted global trace table . . . Interpreting the unformatted global trace table . . Distributed data facility global trace . . . . . . Correlating the DB2 trace with the z/OS trace . . Interpreting GTF and SMF global trace records . . Using the statistic trace for distributed diagnosis . Using the performance trace for diagnosis . . . . Trace field descriptions . . . . . . . . . . Call attachment facility traces . . . . . . . . . Producing trace messages . . . . . . . . . Finding the trace table . . . . . . . . . . Interpreting trace messages . . . . . . . . . IMS attachment facility traces and IMS log record . . IMS log entries . . . . . . . . . . . . . IMS attachment facility trace diagnosis guidelines . Contents of the IMS attachment facility trace table . Locating the IMS attachment facility trace tables in a IMS attachment facility messages . . . . . . . When abends occur . . . . . . . . . . . Resource Recovery Services attachment facility traces . Starting the RRSAF trace . . . . . . . . . Finding the trace table . . . . . . . . . . Interpreting trace messages . . . . . . . . . TSO attachment facility traces . . . . . . . . . DSN trace stream . . . . . . . . . . . . CLIST trace . . . . . . . . . . . . . . SPUFI trace stream . . . . . . . . . . . IRLM - DB2 activity trace . . . . . . . . . . Formatting the IRLM trace . . . . . . . . . CTRACE content . . . . . . . . . . . . IRLM SVC dump support . . . . . . . . . Diagnosing EDM pool space problems using traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 226 227 227 228 228 229 230 230 230 231 231 231 232 232 232 233 233 234 234 234 234 235 236 237 238 238 241 241 241 242 242 243 243 244 244 246 247 249 250 250 251 252 252 252 253 254 256 257 259 260 261 266 266

vi

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM z/OS traces . . . . . . . . . . . .

DO NOT COPY
. . . . . . . . . . . . . . . . . . . . . . . 267

Chapter 9. Other diagnostic aids . . . . . . . . . . . . . . . . . . . . . . . . 269


Writing DB2 log buffers to IFI . . . . . . . . . . . . DB2 stand-alone log services: change log inventory and print log DB2 catalog tables . . . . . . . . . . . . . . . . DB2 utilities . . . . . . . . . . . . . . . . . . Check utility . . . . . . . . . . . . . . . . Copy utility . . . . . . . . . . . . . . . . . Diagnose utility . . . . . . . . . . . . . . . DSN1COMP utility . . . . . . . . . . . . . . Mergecopy utility . . . . . . . . . . . . . . . Quiesce utility . . . . . . . . . . . . . . . . Recover utility . . . . . . . . . . . . . . . . Rebuild index utility . . . . . . . . . . . . . . Repair utility . . . . . . . . . . . . . . . . Report utility . . . . . . . . . . . . . . . . DSN1xxxx stand-alone utilities for diagnosing data inconsistency DSN1SDMP utility . . . . . . . . . . . . . . . Program call linkages. . . . . . . . . . . . . . . TSO attachment facility diagnostic aids . . . . . . . . . SPUFI diagnostic panels . . . . . . . . . . . . . ABEND subcommand of the DSN command processor . . SYS1 service aids . . . . . . . . . . . . . . . . SYS1.DUMPXX . . . . . . . . . . . . . . . . SYS1.LOGREC . . . . . . . . . . . . . . . . Output from the modify command . . . . . . . . . . . . . map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 269 270 271 272 272 272 276 276 277 277 277 277 277 278 278 278 279 279 280 281 281 281 281

Chapter 10. Data Sharing Problem Diagnosis . . . . . . . . . . . . . . . . . . . 285


Data sharing environment . Problem types . . . . . Hangs . . . . . . . Timeouts and deadlocks . IRLM delays . . . . Inconsistent data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 285 285 286 287 287

Chapter 11. Query Parallelism Problem Diagnosis. . . . . . . . . . . . . . . . . 289


Is a query problem related to parallelism? . . . . Types of parallelism problems . . . . . . . . Using traces for diagnosis of parallelism problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 . 291 . 292

Part 4. Diagnostic Aids for Distributed Data . . . . . . . . . . . . . . . . . 293


Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures . . . . . . . . . . 295
Distributed SQL application flow for VTAM connections . Distributed SQL application flow for TCP/IP connections Analyzing DDF error messages . . . . . . . . . Resource unavailable messages for DDF . . . . . TCP/IP startup problems . . . . . . . . . . . DB2 hangs during distributed processing . . . . . . Problem determination procedures . . . . . . . . Abends . . . . . . . . . . . . . . . . Performance problems and hang situations . . . . Loops . . . . . . . . . . . . . . . . . Storage shortages . . . . . . . . . . . . . Incorrect output . . . . . . . . . . . . . Unexpected messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 296 296 297 302 303 305 305 307 309 310 313 313

Chapter 13. Diagnostic Tools for DDF and VTAM . . . . . . . . . . . . . . . . . 315


LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Contents

vii

DO NOT COPY
VTAM traces . . . . . . . . . . . . . Generalized trace facility (GTF) . . . . . . Path information units (PIUs) . . . . . . . Transmission header (TH) . . . . . . . . Request/response header (RH) . . . . . . Request unit (RU) . . . . . . . . . . . VTAM buffer traces . . . . . . . . . . Advanced communication function trace analysis z/OS I/O trace . . . . . . . . . . . . VTAM internal trace . . . . . . . . . . Storage Management Services (buffer use) trace . . . . . . . . . . . . . . . . . . . . . . . program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (ACFTAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Restricted Materials of IBM Licensed Materials Property of IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 315 315 316 316 317 318 319 321 322 324

Chapter 14. Exception condition diagnostic procedures . . . . . . . . . . . . . . 325


DRDA exception condition diagnostic procedures . . DRDA exception event notification . . . . . . . DRDA exception condition trace records . . . . DB2 DRDA exception condition reason codes . . . Additional diagnostic options for DRDA exceptions DRDA summary . . . . . . . . . . . . . DDM/FDOCA models . . . . . . . . . . DB2 representation of early/late descriptors . . . DDIS IFCID 0191 trace record structure. . . . . . DDIS IFCID 0191 common diagnostic procedures . . How to read the QW0191HD section . . . . . How to read the QW0191CR section . . . . . . How to read the QW0191FD section . . . . . . How to read the QW0191RT section . . . . . . How to read the QW0191LT section . . . . . . How to read the QW01916B section . . . . . . Interpreting IFCID 0191 records . . . . . . . IFCID 0191 trace record common diagnostic procedures Distributed two-phase commit error conditions . . . Statistics class 4 trace records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 325 325 326 327 327 327 329 335 336 336 337 338 339 340 341 341 341 342 342

Part 5. Data Management . . . . . . . . . . . . . . . . . . . . . . . . . . 345


Chapter 15. Data organization . . . . . . . . . . . . . . . . . . . . . . . . . 347
Data management subcomponents and services Page sets . . . . . . . . . . . . . Linear page sets . . . . . . . . . Partitioned page sets . . . . . . . . Universal page sets for universal table space LOB page sets . . . . . . . . . . XML page sets . . . . . . . . . . Page types . . . . . . . . . . . . Header pages . . . . . . . . . . Space map pages . . . . . . . . . Dictionary pages . . . . . . . . . Zero pages . . . . . . . . . . . Data pages . . . . . . . . . . . System pages for OBDRECs . . . . . Catalog and directory information . . . . Hashes and links . . . . . . . . . Database descriptors (DBDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 349 349 352 355 357 361 369 369 369 379 380 380 404 406 406 409

| |

Chapter 16. Backing Up Data . . . . . . . . . . . . . . . . . . . . . . . . . . 417


Actions to take . . Actions to avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 . 418

viii

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 . 425

Chapter 17. Identifying DB2 Data Inconsistency Problems . . . . . . . . . . . . . 421


Symptoms and actions . . . . . . . . . . . . . Special considerations for suspected page inconsistencies .

Chapter 18. Resolving Inconsistencies Manually . . . . . . . . . . . . . . . . . 427


Analyzing 00C9010X or 00C902XX Analyzing the SVC dump . . Analyzing 00C90102 abends . . Finding the trace code . . . Analyzing a data page . . . Analyzing an index page . . Running repair . . . . . . . abends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 429 431 431 431 434 434

Chapter 19. Resolving Inconsistencies with RECOVER TABLESPACE and RECOVER INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Preparing to run RECOVER . . . . . . . . . . Running RECOVER TABLESPACE and REBUILD INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 . 438

Chapter 20. Diagnosing DBD Inconsistencies

. . . . . . . . . . . . . . . . . . 439
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 439 440 440 441 443 445 445 446 448 450 453 454

Using repair DBD . . . . . . . . . . . . . . . . . . . Finding a DBD in a dump . . . . . . . . . . . . . . . . Analyzing an SVC dump issued by a DSNGDxxx module . . . . Analyzing an SVC dump issued by a DSNIxxxx or DSNKxxxx module Analyzing a repair, DSN1COPY or DSN1PRNT dump . . . . . . Analyzing a DBD . . . . . . . . . . . . . . . . . . . Checking the DBD header and chain of files . . . . . . . . . Checking the files . . . . . . . . . . . . . . . . . . Checking the records . . . . . . . . . . . . . . . . . Checking the RI relationships . . . . . . . . . . . . . . Checking the auxiliary relationships . . . . . . . . . . . . Checking the indexes . . . . . . . . . . . . . . . . . Resolving the inconsistent DBD . . . . . . . . . . . . . .

Chapter 21. Using the DSN1CHKR Utility


Step Step Step Step Step 1. 2. 3. 4. 5.

. . . . . . . . . . . . . . . . . . . . 455
. . . . . . previous . . . . . . . . rid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 455 456 457 457

Determining if broken links or orphans exist . . Using the diagnostic messages . . . . . . . Determining the table and record format given the Using the map option . . . . . . . . . . Obtaining additional information from orphans .

Part 6. Physical Formats and Diagrams . . . . . . . . . . . . . . . . . . . 459


Chapter 22. File Page Set Formats . . . . . . . . . . . . . . . . . . . . . . . 461
File page set header page . . . . . . . . . . . Segmented file page set space map page . . . . . . Nonsegmented or partitioned file page set space map page LOB page set header page . . . . . . . . . . . High level space map page for a LOB page set . . . . Low level space map page for a LOB page set . . . . LOB map . . . . . . . . . . . . . . . . . LOB data page . . . . . . . . . . . . . . . System page for OBDRECs . . . . . . . . . . . File page set data page . . . . . . . . . . . . File page set data page header . . . . . . . . Record/overflow record . . . . . . . . . . . Pointer record . . . . . . . . . . . . . . OBDREC stored as a data row . . . . . . . . . Large hole . . . . . . . . . . . . . . . Small hole . . . . . . . . . . . . . . .
LY37-3218-01 Copyright IBM Corp. 1983, 2007

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

461 465 466 468 472 473 475 476 477 478 478 479 479 480 481 481

DO NOT COPY

Contents

ix

DO NOT COPY
Dictionary page . . . . . . . . . . . . . . . . . . . . .

Restricted Materials of IBM Licensed Materials Property of IBM . . . . . . . . . . . . 481

Chapter 23. Index Page Set Formats . . . . . . . . . . . . . . . . . . . . . . 483


Index page set header page. . . . . . . . . . . . . Index directory page header (IDPHEAD) . . . . . . . . Index space map header (IPSMHEAD) . . . . . . . . . Index page set space map entry array (IPSMAP) . . . . . Index page set data pages . . . . . . . . . . . . . Index page set data page header (PGHEAD) . . . . . . Index physical index page header (IPHEAD) . . . . . . Index physical index page header, leaf pages (IPLFAPP) . . Index physical index page leaf pages (IPLFAPPEXT) . . . Index page leaf pages for compression (IPLFAPPEXT2) . . Index leaf page versioned key prefix (IPVERPRFX) . . . . Index leaf page nonunique key prefix (IPNPRFX) . . . . Index leaf page variable key prefix (IPVPRFX) . . . . . Index physical index page header, nonleaf pages (IPNLFAPP) Index nonleaf page key prefix (IPPPRFX) . . . . . . . Index nonleaf variable length high key prefix (IPPVARP) . . Index RID value (IPRIDVAL) . . . . . . . . . . . Index RID template (IPRID) . . . . . . . . . . . Index RID chain (IPRCHEAD) . . . . . . . . . . . Index RID chain entry (IPRCENT) . . . . . . . . . Index free space chain entry (IPFCENT) . . . . . . . Collated key map (IPKMAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 486 488 489 489 489 490 491 491 491 492 492 492 492 493 493 493 494 494 494 494 495

| |

Chapter 24. Directory Formats . . . . . . . . . . . . . . . . . . . . . . . . . 497


Database descriptor records . Skeleton cursor table (SKCT) . Skeleton package table (SKPT) . SYSIBM.SYSLGRNX table . . SYSIBM.SYSUTIL table . . . SYSIBM.SYSUTILX table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 498 499 500 500 502

Chapter 25. Database descriptor (DBD) formats


DBD header and ID map . . . . . . . . . . Short holes . . . . . . . . . . . . . . . Long holes . . . . . . . . . . . . . . . OBD header . . . . . . . . . . . . . . . File OBD . . . . . . . . . . . . . . . . Check constraint descriptor . . . . . . . . . . Record type OBD . . . . . . . . . . . . . Record extension for segmented tables . . . . . . Record extension block for the trigger operation list . Record extension block 2 . . . . . . . . . . Record extension block for user defined default values Fan set OBD . . . . . . . . . . . . . . . Description of structural key . . . . . . . . . Fan set extension block . . . . . . . . . . . Field list for order/hash/foreign key . . . . . . Page set OBD . . . . . . . . . . . . . . Page set extension block . . . . . . . . . . . Trigger descriptor . . . . . . . . . . . . . Auxiliary relationship descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . 503
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 505 505 505 506 509 510 517 519 520 521 521 531 531 532 533 539 540 542

Chapter 26. Directory and Catalog Diagrams . . . . . . . . . . . . . . . . . . . 545


DB2 directory diagrams . DB2 catalog diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 . 547

Chapter 27. Catalog formats . . . . . . . . . . . . . . . . . . . . . . . . . . 569 x


Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 28. Catalog index formats . . . . . . . . . . . . . . . . . . . . . . . 681 Chapter 29. Object identifier (OBID) cross reference . . . . . . . . . . . . . . . 727

Part 7. Data Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753


Chapter 30. CSECT Descriptions . . . . . . . . . . . . . . . . . . . . . . . . 755
Loading DB2 CSECT descriptions into a table Retrieving DB2 CSECT descriptions . . . . Maintaining DB2 CSECT descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 . 755 . 756

Chapter 31. Control block linkages . . . . . . . . . . . . . . . . . . . . . . . 757


Field descriptions . . . . . . . . . . . . . . . . . Control block linkages . . . . . . . . . . . . . . . Overall DB2 control block linkage . . . . . . . . . . . Address space control block linkage . . . . . . . . . . . Agent structure control block linkage . . . . . . . . . . Database services overall control block linkage . . . . . . . Control block linkage from early processing block (ERLY) . . . Control block linkage from address space control element (ASCE) . Control block linkage from agent control element (ACE) . . . . Control block linkage from resource manager vector table (RMVT) Control block linkage from communications vector table (ACOM) . Control block linkage from cursor table (CT) . . . . . . . . Control block linkage from RDS control area (RDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 758 758 760 760 761 762 763 764 766 768 770 772

Part 8. Trace Messages and Codes . . . . . . . . . . . . . . . . . . . . . 773


Chapter 32. Subcomponents and Resource Managers . . . . . . . . . . . . . . . 775
Subcomponent versus SCID, RMID, and address space SCID versus subcomponent . . . . . . . . . RMID versus subcomponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775 . 777 . 778

Chapter 33. DB2 Trace Codes . . . . . . . . . . . . . . . . . . . . . . . . . 781


Loading EID descriptions into a table . Retrieving EID descriptions . . . . Maintaining EID descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 . 782 . 782

Chapter 34. System-Agent Correlation Identifiers . . . . . . . . . . . . . . . . . 783 Chapter 35. Service Task Plan Names . . . . . . . . . . . . . . . . . . . . . . 789 Chapter 36. Attachment facility trace codes and messages . . . . . . . . . . . . . 791
TSO attachment facility trace messages . Call attachment facility trace messages . SPUFI trace messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 . 880 . 884

Part 9. Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895


Information resources for DB2 for z/OS and related products . . . . . . . . . . . 897

How to obtain DB2 information . . . . . . . . . . . . . . . . . . . . . . . . . 903 How to use the DB2 library . . . . . . . . . . . . . . . . . . . . . . . . . . 907 Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Contents

xi

DO NOT COPY
Programming Interface Information . Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Restricted Materials of IBM Licensed Materials Property of IBM . . . . . . . . . . . . . . . . . . . . . . . 912 . 913

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959

xii

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

About this information


This information discusses how to diagnose problems in DB2 for z/OS (DB2), a highly flexible relational database management system (DBMS). Unless otherwise noted, this information applies to DB2 Version 9.1 for z/OS new-function mode.

DB2 Utilities Suite


Important: In this version of DB2 for z/OS, the DB2 Utilities Suite is available as an optional product. You must separately order and purchase a license to such utilities, and discussion of those utility functions in this publication is not intended to otherwise imply that you have a license to them. The DB2 Utilities Suite is designed to work with the DFSORT program, which you are licensed to use in support of the DB2 utilities even if you do not otherwise license DFSORT for general use. If your primary sort product is not DFSORT, consider the following informational APARs mandatory reading: v II14047/II14213: USE OF DFSORT BY DB2 UTILITIES v II13495: HOW DFSORT TAKES ADVANTAGE OF 64-BIT REAL ARCHITECTURE These informational APARs are periodically updated. Related information DB2 utilities packaging

Who should read this information


This information is for system programmers who are familiar with z/OS diagnostic procedures, the structure and function of DB2, and the DB2 databases at their sites.

Terminology and citations


In this information, DB2 Version 9.1 for z/OS is referred to as DB2 for z/OS. In cases where the context makes the meaning clear, DB2 for z/OS is referred to as DB2. When this information refers to titles of DB2 for z/OS books, a short title is used. (For example, See DB2 SQL Reference is a citation to IBM DB2 Version 9.1 for z/OS SQL Reference.) When referring to a DB2 product other than DB2 for z/OS, this information uses the products full name to avoid ambiguity. The following terms are used as indicated: DB2 Represents either the DB2 licensed program or a particular DB2 subsystem.

OMEGAMON Refers to any of the following products: v IBM Tivoli OMEGAMON XE for DB2 Performance Expert on z/OS v IBM Tivoli OMEGAMON XE for DB2 Performance Monitor on z/OS v IBM DB2 Performance Expert for Multiplatforms and Workgroups
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

xiii

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v IBM DB2 Buffer Pool Analyzer for z/OS C, C++, and C language Represent the C or C++ programming language. | CICS IMS MVS Represents CICS Transaction Server for z/OS. Represents the IMS Database Manager or IMS Transaction Manager. Represents the MVS element of the z/OS operating system, which is equivalent to the Base Control Program (BCP) component of the z/OS operating system.

RACF Represents the functions that are provided by the RACF component of the z/OS Security Server.

Accessibility features for DB2 Version 9.1 for z/OS


Accessibility features help a user who has a physical disability, such as restricted mobility or limited vision, to use information technology products successfully.

Accessibility features
The following list includes the major accessibility features in z/OS products, including DB2 Version 9.1 for z/OS. These features support: v Keyboard-only operation. v Interfaces that are commonly used by screen readers and screen magnifiers. v Customization of display attributes such as color, contrast, and font size Tip: The Information Management Software for z/OS Solutions Information Center (which includes information for DB2 Version 9.1 for z/OS) and its related publications are accessibility-enabled for the IBM Home Page Reader. You can operate all features using the keyboard instead of the mouse.

Keyboard navigation
You can access DB2 Version 9.1 for z/OS ISPF panel functions by using a keyboard or keyboard shortcut keys. For information about navigating the DB2 Version 9.1 for z/OS ISPF panels using TSO/E or ISPF, refer to the z/OS TSO/E Primer, the z/OS TSO/E Users Guide, and the z/OS ISPF Users Guide. These guides describe how to navigate each interface, including the use of keyboard shortcuts or function keys (PF keys). Each guide includes the default settings for the PF keys and explains how to modify their functions.

Related accessibility information


Online documentation for DB2 Version 9.1 for z/OS is available in the Information Management Software for z/OS Solutions Information Center, which is available at the following Web site: http://publib.boulder.ibm.com/infocenter/dzichelp

IBM and accessibility


See the IBM Accessibility Center at http://www.ibm.com/able for more information about the commitment that IBM has to accessibility.

xiv

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

How to send your comments


Your feedback helps IBM to provide quality information. Please send any comments that you have about this book or other DB2 for z/OS documentation. You can use the following methods to provide comments: v Send your comments by e-mail to [email protected] and include the name of the product, the version number of the product, and the number of the book. If you are commenting on specific text, please list the location of the text (for example, a chapter and section title or a help topic title). v You can send comments from the Web. Visit the library Web site at: www.ibm.com/software/db2zos/library.html This Web site has an online reader comment form that you can use to send comments. v You can also send comments by using the feedback link at the footer of each page in the Information Management Software for z/OS Solutions Information Center at http://publib.boulder.ibm.com/infocenter/db2zhelp.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

About this information

xv

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

xvi

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 1. Functional Descriptions

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 1. Program Overview


This chapter describes the internal operation of DB2 Version 9.1 for z/OS (DB2 for z/OS). DB2 operates in the z/OS environment.

DB2 concepts and terminology


The following describes the DB2 software and introduces terminology that is necessary to understand the remaining sections. Understanding the structure of DB2 can help, when analyzing a formatted dump, to interpret which component failed.

Modular structure of DB2


DB2 is built of subcomponents, which are made of smaller units called CSECTs. A CSECT usually performs a single logical function. In this book, a CSECT refers to the code that results when an object module is link-edited and loaded. In DB2, each object module contains a single CSECT. A CSECT and its associated object module have the same name. DB2 CSECT names and message identifiers always begin with DSN. Each CSECT is described in a readable z/OS data set, SDSNSAMP(DSNWMODS). See Chapter 30, CSECT Descriptions, on page 755 for information on using this data set. A subcomponent is a group of closely related CSECTs that work together to provide a general capability. The fourth character of DB2 CSECT names and message identifiers is an identifying character called the subcomponent identifier. See Chapter 32, Subcomponents and Resource Managers, on page 775 for more information. Each subcomponent is described in Chapter 2, Subcomponent descriptions, on page 27. The subcomponents of DB2 are divided into three groups: system services, database services, and distributed data facility services. Distributed data facility services contains only one subcomponent, the distributed data facility subcomponent. System services simplify the use of z/OS and augment its capabilities. Database services use system services and z/OS to handle the actual database information, tables, indexes, and so on. Although these two groups operate in different address spaces, they are interdependent and work together as a formal subsystem of z/OS. Distributed data facility services uses VTAM or TCP/IP to establish connections and communicate with other DB2 subsystems using either Distributed Relational Database Architecture (DRDA) or private protocols. Distributed data facility services also uses VTAM and DRDA to establish connections and communicate with other Systems Application Architecture (SAA) relational databases in the same network. DB2 requires the services of the internal resource lock manager (IRLM), another formal subsystem of z/OS. The IRLM runs in its own address space and is a co-requisite of DB2. In this book, IRLM is treated as a subcomponent of DB2. Figure 1 on page 4 illustrates the general structure of the DB2 software.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

(IRLM)

CSECT Subcomp System Services

CSECT Subcomp Database Services DB2 Subsystem

CSECT Subcomp Distr. Data Fac. Services

Figure 1. Levels of modularity

Address spaces
The address spaces used by DB2 are described below and illustrated in Figure 2 on page 6. v The system services address space (also called the data system control facility (DSCF). address space) The following subcomponents execute in the system services address space: General command processor Subsystem support Agent services manager Storage manager Message generator Initialization procedures Instrumentation facilities System parameter manager Recovery manager Recovery log manager Group manager Distributed transaction manager v The database services address space (also called the advanced database management facility (ADMF) address space). The following subcomponents execute in the database services address space: Service controller Data manager LOB manager (LOBM) Data space manager Relational data system (RDS) Stored procedures manager Utilities (work with associated code in an allied address space) Buffer manager v The distributed data facility services address space (also called the distributed data facility (DDF) address space). The following resource managers execute in the distributed data facility services address space: Data communications resource manager (DCRM) Distributed transaction manager (DTM) Distributed relational data system manager (DRDS) Distributed data interchange services (DDIS). All of the above contain only DB2 subcomponents. v IRLM address space, which communicates with DB2.

Diagnosis Guide and Reference

DO NOT COPY

Int. Resource Lock Manager

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The Internal Resource Lock Manager (IRLM) resides in the IRLM address space. v Allied address spaces, which communicate with DB2. The stored procedures address spaces operate as allied address spaces. The following subcomponents execute in allied address spaces: CICS attachment facility TSO attachment facility IMS attachment facility Call attachment facility Resource Recovery Services attachment facility Utilities (work with associated code in database services address space) Stand-alone utilities Subsystem support Message generator (stand-alone only). v Non-allied address spaces, which do not communicate with DB2. The following subcomponents execute in non-allied address spaces: Precompiler (PRE) Message generator (stand-alone only) Portions of the instrumentation subcomponent. Stand-alone utilities

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Common Service Area (CSA)


Non-allied Address Spaces Allied Address Space
(Identify)

System Services Address Space General Command Processor Subsystem Support Agent Services Manager Storage Manager Message Generator Initialization Procedures Instrumentation Facilities System Parameter Manager Recovery Manager Recovery Log Manager Distributed Transaction Manager Group Manager (2) R M R Q

Database Services Address Space

Distributed Data Address Space Data Communications Resource Manager Distributed Transaction Manager

MVS Subsystem Interface (SSI) CICS Attachment

Service Controller

Precompiler

Data Manager (2) R M R Q

Message Generator Stand-alone Portions of Instrumentation Facilities

TSO Attachment (1) R A R Q

LOB Manager

IMS Attachment

XML Manager

Distributed Relational Data System Manager Distributed Data Interchange Services

Call Attachment

Data Space Manager Relational Data System

Stand-alone Utilities

RRS Attachment

Utilities

DB2 Utilities

Service Facilities Message Generator (Standalone) Stored Procedures Address Spaces

Buffer Manager Stored Procedures Manager

1. Resource access requests (RARQs) can be made to several resource managers in the address spaces. 2. Resource manager requests (RMRQs) occur between resource managers in the same or different address spaces.
Figure 2. DB2 address spaces

Notes to Figure 2: v The precompiler might require an allied address space depending on precompiler options.

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v An exception to the stand-alone utilities that execute in non-allied address spaces is DSN1SDMP, a service facility that runs in allied address spaces. v The message generator appears in system services, allied, and non-allied address spaces. This appearance is because the full message generator resides in the system services address space, but the message generator can also run stand-alone in allied or non-allied address spaces.

DB2 design concepts


The general context in which the DB2 subcomponents operate is described below. Understanding these concepts helps to determine which subcomponent failed when you analyze a formatted dump.

Resource managers
Resource managers are software constructs that are completely responsible for managing a particular resource. The resource being managed can be physical (for example, DASD or main storage), or logical (for example, a particular type of system service). In either case, the resource manager provides all of the functions necessary to handle its resource. Generally, subcomponents and resource managers have a one-to-one correspondence. However, sometimes a subcomponent is not a resource manager (for example, the precompiler), or more than one resource manager is combined in a single subcomponent (for example, the instrumentation facilities subcomponent, which contains two resource managers). Each resource manager has associated with it a number called a resource manager identifier (RMID), which identifies the origin of diagnostic output in dumps. For a complete list of RMIDs and their corresponding subcomponents, refer to RMID versus subcomponent on page 778.

DB2 tasks and agents


Subcomponents that run in allied address spaces (for example, the attachment facilities) have task structures dictated by their particular functions. The following paragraphs apply to subcomponents affiliated with the system services address space and the database services address space. Until DB2 is started, these address spaces and related subcomponents are inactive. Each work request in DB2 is represented by an agent. When a work request identifies itself to DB2, an agent control element (ACE) is created to track the agent. The classes of agents are: v Allied agents, which represent work requests originating in allied address spaces. v System agents, which represent work requests internal to DB2. System agents are created internally by DB2 and do not go through the full identification process (described in The DB2 connection process on page 11). Database access agents are a type of system agent that represent distributed work requests from a requesting DBMS. One or more execution blocks (EBs) are associated with an ACE. The first EB is called the primary EB. Additional EBs, if created, are called secondary EBs. In z/OS, units of dispatch are in TCB mode (dispatched under a task control block) or SRB mode (dispatched under a service request block). In DB2 the term execution unit is used to describe each unique unit of dispatch and can be in either TCB or SRB mode.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Within DB2, an execution unit switch enables resource managers to switch from one execution unit to another. When a switch occurs, the current execution unit can (1) be suspended until the target execution unit completes its processing, or (2) continue executing in parallel with the target execution unit (synchronous or asynchronous execution) if that unit is a system agent. Execution blocks correspond one-for-one with an z/OS execution unit (TCB or SRB). Thus, when an execution unit switch occurs, a new EB must be created. For all allied agents, the primary EB is associated with, and points to, the users TCB in the home address space. All other EBs point to either TCBs in a DB2 address space or to SRBs dispatched to any DB2-affiliated address space. For a given agent, only one EB can be active at any one time. A DB2 resource manager, executing on behalf of an agent, initially runs under the primary EB of the agent. An execution unit switch to a secondary EB is performed if: v It is necessary to leave cross-memory mode. v Access is needed to resources owned by another task. v Special circumstances arise, such as the need for an asynchronous task (system agent). The choice of execution unit mode (TCB or SRB) is determined by performance or z/OS and DB2 design constraints. All the EBs associated with a given agent are chained from the agents ACE; the agents primary EB is pointed to by the ACEEBP field of the ACE. The currently active EB is pointed to by field ACEEBA. For additional control block information, see Chapter 31, Control block linkages, on page 757. Execution units created in TCB mode in the DB2 address spaces are called service tasks. A service task can be created and deleted dynamically by resource managers if required. However, most service tasks are created when DB2 is initialized and exist until DB2 is stopped. They remain idle until their services are needed. These permanent service tasks are:

System service tasks


v Agent Services (ASM) Default service task v General Command Preprocessor (GCP) Console task controller Console service tasks v Group Manager (GMC) GLM service task GBS service task v Initialization Procedures (IP) Stop DB2 (when needed) v Instrumentation (IF) Timer service Asynchronous services v Log Manager (RLM) Bootstrap data set access Log Off-load Archive log read tasks Output data set control Log command Log timer services v Recovery Manager (RM)

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v v

Checkpoint/Restart serial controller Commit LSN timer task Storage Manager (SM) Storage contraction service Stored Procedures Manager (STPM) Timeout monitor for stored procedures queues Process -START PROCEDURE and -STOP PROCEDURE commands Subsystem Support (SSS) Allied task termination Authorization service task Message Generator (MG) Message builder and issue write-to-operator (WTO).

Database services service tasks


v Buffer Manager (BM) Virtual Storage Access Method (VSAM) open/close Hierarchical storage manager (HSM) recall service tasks Deferred Close service task Timer service task GBP connect/disconnect DISPLAY GROUPBUFFERPOOL command processing and GBP damage assessment (only for data sharing) v Data Manager (DM) Delete Edit/Validate Procs Database deferred restart v Data Space Manager (DSM) Data Set Service Extend physical space Reset page sets v Service Controller (SC) Database Commands Automatic BIND v Utilities (UT) SYSIBM.SYSLGRNX recording services.

Distributed data facility service tasks


v Data Communications Resource Manager (DCRM) VTAM OPEN ACB Inbound datagram Outbound datagram v Distributed Transaction Manager (DTM) Start/Stop DDF Error monitor Resync Resync timer. Figure 6 on page 31 illustrates the z/OS task structure in each of the DB2 address spaces.

Invocation methods
DB2 resource managers can be invoked by a resource access request (RARQ) or a resource manager request (RMRQ). Both use branch and link register (BALR) linkage when possible; when the invocation must cross address space boundaries, they use a method of z/OS synchronous cross-memory support.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The RARQ is issued on behalf of an allied agent to request services of DB2. After the callers function request block (FRB) has been validated, a resource access list (RAL) entry, a function vector list (FVL) entry, and a qualifier are used to invoke the appropriate resource manager. The RMRQ is generally used by resource managers to request internal services from other resource managers. It can also be used to invoke a function within the calling resource manager. The RMRQ mechanism uses an RMID and function code specified at invocation to find an entry in an internal table, then transfers control to the specified function. If a function requires a particular execution mode (TCB or SRB), the RMRQ that invokes it is preceded by an execution unit switch to the required mode.

Resource locking
DB2 allows simultaneous processing on behalf of both local and remote agents. Sometimes, two or more agents need a single system resource. If any of them requires access to change a shared resource, access must be serialized to ensure correct results. This is achieved by locking the shared resource before use and unlocking it after use. DB2 uses two levels of serialization: latching and locking. Deadlock detection is performed for each type of serialization. Lock avoidance techniques also accomplish internal serialization. Latching is used for short-term serialization of internal DB2 resources such as storage or control block chains. It is performed by the DB2 agent services manager subcomponent and the Buffer Manager. Locking is performed for DB2 by the Internal resource lock manager (IRLM) to protect sections of a database. Because locking requires communication with another subsystem, it takes longer to perform than latching. For both latching and locking, a DB2 subcomponent checks for deadlocks, situations in which two programs hold a lock on a resource that the other needs and without which it cannot proceed. With distributed data processing, the two deadlocked applications could be running at different locations. In DB2, protection for distributed deadlocks is supported at the local site. The purpose of lock avoidance techniques is to verify the committed state of data without using locks. DB2 uses these techniques to reduce the volume of lock requests and thereby improve performance.

Locking in a data sharing group


Locks can be either local or global. In a non-data-sharing group, locks are local, or intra-DB2 locks. In a data sharing group, most locks are global, or inter-DB2 locks. Global locks use a lock hierarchy based on the type of resource being locked. For example, a DB2 lock hierarchy is table space/row. Data sharing makes this hierarchy explicit, because the relationship between resources is known to IRLM. This knowledge gives IRLM control over the increased locking overhead associated with global locks. In a data sharing environment, there are 3 types of locks: v L-lock: a logical, or transaction lock that is not negotiable v P-lock: a physical, or resource lock that is negotiable v LP-lock: a combination of logical and physical locks

10

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Only P-locks are negotiable in a data-sharing environment. The DB2 subsystem controls P-locks which are used on objects that are physically cached in the subsystem. When IRLM detects a change in inter-subsystem interest, that is the resultant state of locks held on the resource by other DB2 subsystems, lock negotiation is allowed. P-locks do not contend with L-locks within a DB2 subsystem. Locks in a data sharing group are either active or retained. Active locks belong to an active DB2 subsystem. Active L-locks durations are either manual, commit, or allocation, depending on the bind parameters. Active P-locks are usually held for longer durations. They are owned by the system, not by the transaction, and are not directly affected by transaction events that trigger L-lock activity. In general, P-locks are held to protect the coherency of cached objects, and are held for as long as the object remains cached. Retained locks belong to a failed DB2 subsystem. Locks that are retained across failures are retained modify locks, because they protect resources that are being modified. Retained locks are held until the failed subsystem is restarted and a recovery action is taken.

How users communicate with DB2


The following paragraphs describe how interactive users and user-written application programs communicate with DB2. This information is useful in diagnosing some subsystem failures.

Attachment facilities
Communication between the user of DB2 services and DB2 is provided by attachment facilities. Attachment facilities are DB2 subcomponents which run in the users address space; they include: v CICS attachment facility (CA) v Call attachment facility (CAF) v IMS attachment facility (IA) v TSO attachment facility (TA). v Resource Recovery Services attachment facility (RRSAF). For detailed information, see Chapter 2, Subcomponent descriptions, on page 27. In the data sharing environment, each DB2 subsystem that is a member of the data sharing group can run on a different z/OS system in the sysplex. DB2 attachment interfaces only attach to a DB2 subsystem running on the same z/OS system as the application. CICS and IMS attachment interfaces are the same for data sharing and single DB2 subsystems. TSO and batch programs can connect or reconnect to any DB2 member subsystem in the data sharing group.

The DB2 connection process


For a user application program to access DB2 data, it must have an allied agent to represent it within the DB2 environment. The creation of an allied agent is requested during the connection process, in which users proceed through several levels of authorization.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

11

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Initially a user is unknown to DB2. The first request of the connection process, called identify, is transmitted to DB2 via the z/OS subsystem interface facility. The identify request is passed to the z/OS system authorization facility and to the z/OS resource access control facility (RACF), if it is installed, which can ensure that the user is authorized to access DB2. Next, if the requester is not a CICS or IMS user, the connection authorization exit routine is invoked and the set of authorization IDs associated with the connection are established. (For more information see Part 3 (Volume 1) of DB2 Administration Guide.) After the identify has been successfully completed, an agent structure is created and the users address space is considered allied, but the agent is not yet authorized to access data. Another result of the identify request is that the necessary program call (PC) linkages are established which enables z/OS to handle further communication between the attachment facilities and DB2. The second operation in the connection process is performed for CICS and IMS, but not for TSO or CAF. It is called sign-on. The sign-on process establishes the set of authorization identifiers to be associated with the CICS or IMS users connection. The sign-on authorization exit routine is invoked, which an be used to provide the set of authorization IDs. The set of authorization IDs is used by the DB2 authorization function to verify the users privileges to access DB2 resources. Because there is only one user in a TSO address space, this level of authorization is not applicable to TSO. In either case, the agent is unable to access DB2 data until it has successfully issued a create thread request. The final step in the connection process is the creation of a thread, which is a control structure that connects an agent to some DB2 resources. If the DB2 resource is at a remote location, then the creation of a new physical thread at the accessed location, called a database access thread, logically connects the allied thread to the remote location. For an allied agent, the resources are in the form of an application plan (plan) or an application package (package). A plan results from binding one or more database request modules (DBRMs) or a list of packages. A package results from binding one database request module (DBRM). A DBRM is an output of the precompiler and contains (in internal form) all the SQL statements extracted from a precompiled program. In DB2 a package cannot be executed until it is part of a plan. The plans package list identifies packages to execute when the plan is run. Using REMOTE BIND, packages, but not plans, can be bound at a remote relational database that is the same network and subscribes to DRDA protocols. The remotely bound packages can be executed from an application at the local DB2. The bind process checks references to database objects (for example, tables and views) against the results of previous GRANT and REVOKE statements to verify the users authorization. After authorization to execute the plan or package is verified, the thread is created and the allied agent can access the DB2 resources and facilities that have been allocated to it.

Utilities
The DB2 utilities (UT) subcomponent is started from the TSO attachment package or by JCL statements. It runs in a batch address space and goes through the same connection process as the attachment facilities do. After connecting to DB2, it connects to associated code in the database services address space to perform specified functions.

12

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Use of z/OS subsystem interface


As a formal subsystem of z/OS, DB2 communicates with z/OS through the z/OS subsystem interface. DB2 receives and processes the following z/OS subsystem interface broadcasts: v First and second end-of-task v End-of-memory v Commands. DB2 and IRLM use two specially defined SSI broadcasts: v Identify, a request for initial connection to DB2 by attachment facilities and utilities. v Help, a request by an allied address space to include allied agent control blocks in a SYSUDUMP or SYSABEND dump.

Exit routines
DB2 provides a number of exit points where a routine for specialized processing can be supplied. The IBM-supplied exit routines that DB2 invokes are: v Connection, sign-on, and access control authorization routines v Edit routines v Validation routines v Field procedures v Date and time routines v Character conversion procedures v Log capture routines v CICS dynamic plan selection routines Generally, exit routines run as extensions of DB2 and use its storage key and state. However, the CICS dynamic plan exit does not run as an extension of DB2 and does not use the DB2 storage key or state. The CICS dynamic plan exit runs as an extension of the CICS task-related user exit. An abend in a user-written exit routine can appear as a DB2 failure. However, if an authorization exit fails, the DB2-provided diagnostics include the name of the routine that failed and the location within the routine of the failure. For more information, see DB2-issued SVC dump title on page 184, The variable recording area (VRA) on page 192 and Appendix B (Volume 2) of DB2 Administration Guide.

Authorization exit routines


A site can provide authorization exit routines for connection processing and/or sign-on processing. These routines can determine the values of the authorization IDs of the process, and they can reject the connection or sign-on request altogether. The site can also provide an authorization control exit routine, which can do DB2 authorization checking, external security system (such as RACF) checking, or a combination. Connection authorization exit routine: The connection authorization exit routine must be named DSN3@ATH. It is called by the subsystem support subcomponent CSECT DSN3AUCN during agent connection (identify) processing for TSO, batch, remote access, and IMS and CICS recovery coordinators.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

13

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Sign-on authorization exit routine: The sign-on authorization exit routine must be named DSN3@SGN. It is called by the subsystem support subcomponent CSECT DSN3AUSI during remote access, IMS or CICS transaction sign-on processing. Access control authorization exit routine: The access control exit routine must be named DSNX@XAC. It is called by the authorization control function of the RDS subcomponent during DB2 startup and shutdown, and when DB2 performs an authorization check on a privilege.

Edit exit routine


The edit exit, optionally specified in the SQL CREATE TABLE statement, is called by data manager subcomponent CSECT DSNIENSR to compress, alter, or encrypt data before storage. This routine is also called by data manager subcomponent CSECT DSNIREDR when data is retrieved to restore user-modified data in preparation for DB2 processing.

Validation exit routine


The validation exit can be specified as an option of the SQL CREATE TABLE or ALTER TABLE statements. This routine is called by data manager subcomponent CSECT DSNIENSR just before a row is loaded, inserted, updated, or deleted in a table to verify the data values in the row.

Field procedure exit routine


The field procedure exit is called by the relational data system subcomponent of DB2. It enables a site to encode (or decode) data as it is placed in (or retrieved from) the database. This routine affects individual columns in a record, while the edit exit affects an entire record. The FIELDPROC exit can be specified as an option of the SQL CREATE TABLE or ALTER TABLE statements.

Date and time exit routines


The DATE and TIME exits enable a site to convert date and time values into a site-defined format or into one of the four formats provided by DB2. These routines are invoked when date or time data is input to or output from DB2 and are called by the relational data system (RDS) subcomponent or the DB2 utility (UT) subcomponent (through the LOAD utility).

Character conversion exit routines


DB2 uses these routines to handle character conversion for distributed data from one coded character set to another coded set. Character conversion is described in terms of code character set identifiers (CCSIDs).

Log data capture exit routines


The log capture exit makes DB2 log data available for recovery purposes in real time. The routine receives data from the log capture exit when DB2 writes data to the active log. It does not enter or return data to DB2.

14

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

CICS dynamic plan selection exit routines


The CICS dynamic plan selection exit allows CICS transactions to select a plan dynamically. It can select the plan for the transaction at execution time and before DB2 thread allocation. For more information on these exit routines, refer to Appendix B (Volume 2) of DB2 Administration Guide.

Functional error recovery


DB2 uses both functional recovery routines (FRR) and extended specify task abnormal exits (ESTAE) to recover from functional errors. When an error occurs in DB2, an error recovery routine is scheduled by the z/OS recovery termination manager (RTM) to diagnose and report the error. System services, database services, and distributed data facility services contain general-purpose error recovery routines. In addition, individual subcomponents provide specialized error recovery routines as appropriate. In most cases, the application that caused the error is abended, and DB2 continues processing on behalf of other allied agents.

The DB2 commit process


The following paragraphs describe the DB2 commit process in terms of subcomponent interaction, and explain when recovery information is written to the log media. This information is useful for understanding the state a system is in if it abnormally terminates. A commit point occurs when the data being acted on has reached a state of consistency. DB2 does not proceed beyond a commit point until it has ensured that all work done before that commit point is fully protected against loss or invalidation. DB2 is notified that a commit point has been reached by the application using DB2 services. IMS and CICS applications establish sync points to announce a point of consistency; TSO applications can use the SQL COMMIT statement. If the application program is unable to reach a point of consistency, or if the application terminates after changing database information but before declaring a point of consistency, DB2 aborts all of the uncommitted changes. CICS, IMS, and TSO applications can use the rollback function to intentionally back out the data changes since the last commit point. When DB2 restarts after an abnormal subsystem termination, uncommitted database changes are backed out, and committed changes that might not have been applied to the database media are reapplied to ensure consistency of data. After database changes have been committed, they cannot be backed out. A unit of recovery (UR) is the information necessary to back out all of an applications database changes since its last commit point; UR information is contained in entries in the DB2 recovery log. The recovery log includes the active log and the archive log, and contains chronological entries that record significant DB2 activity of many users and jobs. The recovery log is protected by optional, but recommended, dual logging. The active log consists of two or more DASD data sets. When one of the active log data sets becomes full, logging continues on another data set while the full data set is moved to the archive log. The archive log media can be either tape or DASD.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

15

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

When data is changed, the new information is queued in a buffer, but the DASD media might not be updated immediately. If a second change is made to the same DASD record before the media has been updated, the buffer is altered to reflect both changes. The device is accessed only once for the two original changes. In the data sharing environment, DB2 uses a force-at-commit policy for updates done against page sets that are dependent on the group buffer pool (GBP). The GBP is a cache structure used by DB2 subsystems that are members of a data sharing group. It caches data and maintains data consistency for group members. Updated pages are forced to the GBP when the updating transaction is committed. In commit processing for a TSO application, DB2 acts as the commit coordinator. In commit processing for CICS or IMS, DB2 acts as a participant and CICS or IMS is the coordinator. In commit processing for RRSAF, DB2 is a participant, and RRS is the coordinator. The case of a TSO application is the simplest of these and is explained first.

Commit processing for TSO applications


For a TSO application, the unit of recovery begins (as viewed on the recovery log) with a begin-UR log record. The begin-UR log record and the log records that follow are queued and written on the log media immediately or later. At some point, the user application determines that its data has reached a state of consistency and notifies DB2 using an SQL COMMIT statement or normal termination. DB2 then polls each resource manager involved in the commit process, and each responds about its ability to commit. If any resource manager indicates that it cannot complete its commit processing, DB2 converts the commit operation into an abort (undo) operation, as described below. If all resource managers reply affirmatively, DB2 queues a phase1-phase2 transition record to be written to the recovery log. DB2 then waits for all of the queued log output to be written to the log media. If DB2 abends before completing the remainder of the commit process, the log records for the unit of recovery are considered redo and are redone when DB2 restarts. The resource managers are notified that the commit is to take place, and each does its necessary processing. After the resource managers have completed their commit processing, an end-phase-2 record is queued for writing to the log, and commit duration locks held on database objects are released. The exception to this is the case of locks for cursors declared WITH HOLD. For cursors defined as WITH HOLD, the cursor position is maintained past a commit point, and the locks needed to maintain that position are not released immediately. See the description of DECLARE CURSOR in DB2 SQL Reference for more information. At this point, the commit process is complete.

Commit Processing for CICS, IMS, or RRSAF applications


In commit processing for CICS, IMS, or RRS, DB2 acts as a participant and CICS, IMS, or RRS is the coordinator. As in TSO, the first log record for the unit of recovery (UR) is a begin-UR record. Log records that follow are queued for writing on the log media. There are three types of commits in the attachment facility: 1. Single-phase commits occur when DB2 is the only resource manager that communicates with CICS or RRS in this UR. CICS and RRS do no logging at all when DB2 is the only resource manager holding any updates. If other resource managers (including CICS) are holding updates in addition to DB2, CICS drops

16

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

into a two-phase commit. If other recoverable resource managers are holding updates in addition to DB2, RRS drops into a two-phase commit. 2. Two-phase commits occur when a DB2 update has happened and there is at least one other resource manager communicating with CICS or RRS in the same UR. 3. Read-only commits occur when there is another updater in addition to DB2, but the DB2 access was read-only. There is no DB2 logging for read-only commits, because DB2 does not start logging a UR until recoverable work has been done. In a two-phase commit, an application at some point determines that its data has reached a state of consistency and makes a sync point request. DB2 is polled to determine if it can complete its commit processing if the coordinator decides to go ahead. DB2 begins commit phase 1 and polls each of the resource managers involved to verify that all can perform their commit functions. If all resource managers reply affirmatively, DB2 queues an end-phase-1 log record, waits until all queued log data is written onto the log media, and replies to the coordinator (CICS, IMS, or RRS) that it can perform its commit processing. (If a DB2 resource manager reports that it cannot complete its commit processing, DB2 replies negatively to the coordinator and the commit converts to an abort.) After DB2 replies affirmatively to the coordinator, the DB2 unit of recovery enters a state known as indoubt. The unit of recovery remains indoubt until the commit coordinator informs DB2 whether the commit is to be completed or not. If DB2 is notified that the commit is to be carried out, it queues a begin-phase-2 log record for output and waits for all queued log data to be written onto the DASD media. The resource managers involved are notified that the commit is to be completed and each does its commit processing. An end-phase-2 log record is queued for output and commit duration locks held on database objects are released. The commit is then complete. There are occasions when CICS, IMS, or RRS invokes DB2 when no DB2 resource has been altered since the completion of the last commit process. This can happen, for example, when a sync point is issued after performance of a series of SELECT statements or when end-of-task is reached immediately after a sync point has been issued. When this occurs, the DB2 subsystem performs both phases of the two-phase commit during the first commit phase and internally records that the user or job is read-only in relation to its DB2 processing. When CICS is the coordinator, a read-only indicator is set in the resource manager interface (RMI) to signal CICS that the second phase call to DB2 is unnecessary. If a version of IMS prior to IMS 4.1 is the coordinator, DB2 accepts the phase 2 call but immediately recognizes that the IMS user or job is read-only, and returns to IMS without further processing. In IMS 4.1, DB2 notifies IMS of the read-only commit thread by returning RC=12 to IMS and IMS no longer issues the Phase 2 call. If RRS is the coordinator, DB2 sends the reply ATRX_FORGET to RRS to indicate that DB2 has read-only access to the resources. Then RRS does not issue the Phase 2 call. If DB2 abends while units of recovery are indoubt, the units of recovery remain indoubt and the associated work is considered to-do (it remains pending and is
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

17

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

processed later). After DB2 is restarted, the database objects described by the UR are relocked until the commit coordinator notifies DB2 of the disposition of the indoubt unit of recovery.

Abort Processing for TSO, CICS, IMS, and RRSAF applications


Abort processing by DB2 is the same whether DB2 is the coordinator or participant. DB2 begins abend processing by queuing a begin-abort log record and waiting until all queued log data has been externalized. Then, all recovery managers involved are notified that the UR is to be backed out, log records for the UR are read, and each resource manager does its specific abort processing. Then an end-abort log record is queued for output, and DB2 waits until all queued log records have been written to the log media. The commit duration locks held on the unit of recoverys database objects are released and the abort process is complete.

Commit and abort processing for a global transaction


The first agent that receives a commit/rollback request and is part of an XID, determines the outcome of the XID. DB2 assumes that all agents that are part of a global transaction will be driven for prepare, commit or rollback processing. When an XID is rolled back, all of the DB2 UREs that participate in the XID are rolled back by the first agent invoked for abort processing. The log is read backwards from the last log record written by a URE in the XID back to the BEGIN-UR log record written by the first URE in the XID by the agent.

The distributed two-phase commit process


The purpose of distributed two-phase commit protocol is to guarantee that the actions of a logical unit of work performed at more than one location result in uniform commitment across those locations. When these actions update recoverable resources, a logical unit of work commit protocol is required. A resource manager guarantees the consistency of all updates made to recoverable resources within a logical unit of work. A distributed two-phase commit protocol ensures that either all logical unit of work updates occur and are externalized to other applications, or none of the updates occur, despite any component, system or communication failures. Within a distributed system, the actions of a logical unit of work can occur at more than one system. Coordinated recovery takes place between: v One DB2 requester subsystem and one or more remote relational database servers, or v A remote requester and a DB2 relational database server A DB2 requester subsystem accesses remote relational database servers via DRDA protocols. If the server is another DB2 subsystem, it can also be accessed via DB2 private protocols. For further description of DRDA protocols, see Distributed relational data system (DRDS) on page 46. For further description of DB2 private protocols, see Private protocols on page 41. A remote requester accesses a DB2 relational database server via DRDA protocols. If the remote requester is another DB2 subsystem, access can also be via DB2 private protocols. Achieving the guarantee of uniform commitment in a distributed system requires these facilities: 1. A locking service must be available to each resource manager involved in a logical unit of work.

18

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

2. A recovery log service must be available to the coordinating RM, each participant RM, and each resource manager involved in a logical unit of work.

Two-phase commit protocols


The two-phase commit protocols described here are described in detail in SNA LU 6.2 Peer Protocols Reference This section summarizes these protocols: v Presumed nothing (PN) v Presumed abort (PA) v Last agent optimization The two main protocols are PN and PA. Last agent optimization applies to both of these protocols.

Presumed nothing protocol


PN is the standard two-phase commit protocol. DB2 supports this protocol in the roles of both coordinator and participant, and only uses PN protocol with partners that do not support PA protocol. The coordinator must remember both the commit and the backout decisions, making no assumptions relative to the final outcome. This responsibility requires the coordinator to write and force a log record containing the names of all participants prior to sending the prepare message. In most situations, the coordinator is responsible for indoubt resolution if communication with the participant is lost. See Figure 35 on page 102 for a detailed description of the PN system flow.

Presumed abort protocol


PA means that when the coordinator receives an inquiry about the status of a logical unit of work that is indoubt at a participant, the coordinator responds backout if it has no knowledge of the logical unit of work. Therefore, the coordinator does not have to remember logical units of work whose final outcome is backout. PA protocol includes a reliable partner optimization. A reliable participant allows indoubt situations to exist and does not make heuristic decisions, whereas an unreliable participant supports a programmed policy of making heuristic decisions. A heuristic decision is made when an administrator chooses to resolve indoubt logical units of work prior to the recovery process. Figure 36 on page 104 gives a detailed description of the PA system flow with reliable and unreliable participants. When an application decides to commit a logical unit of work, it invokes the coordinating RM. The following figure provides an overview of the sequence of events during the distributed two-phase commit process.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

19

DO NOT COPY
COMMIT PHASE 1

Restricted Materials of IBM Licensed Materials Property of IBM

DB2 Coordinator

DB2 Participant

1)

Prepare message sent

2)

Log prepared

(Indoubt state)

3)

Request-commit response

COMMIT PHASE 2
4) Log committed Committed message sent

5) Forget response

(Committed state)

Log committed

6)

Log END phase 2

Figure 3. Distributed two-phase commit process

Commit phase 1 1. The coordinator initiates the first phase of the commit protocol by sending prepare messages to the participants to determine if they are willing to commit the logical unit of work. A participant can be local or remote. In this example, the participant is remote, therefore the message is logically directed to a remote RM and direct communication between RMs is not necessary. 2. Each participant writes and forces a prepare log record when they decide they are willing to commit the logical unit of work and they have updated recoverable resources.

20

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

3. Participants then send a request-commit vote to the coordinator and wait for the final decision from the coordinator to commit or back out. The logical unit of work at the participant is now in the prepared state, also known as the indoubt state. A participant can send a forget vote or a backout vote: Forget vote: if a participant did not update recoverable resources, they send a forget vote which allows them to release locks and forget about the logical unit of work. A read-only participant writes no log records and does not need to receive a commit or backout message from the coordinator. Backout vote: if a participant wants a logical unit of work backed out, the participant writes a non-forced backout log record, and sends a backout vote to the coordinator. Commit phase 2 After the coordinator receives all participant votes, the coordinator initiates the second phase of the protocol. 4. When the coordinator receives a request-commit vote from all participants, the coordinator moves to the committing state, writes and forces a commit log record, and sends committed messages to all subordinates. A participant can send a forget vote or a backout vote to the coordinator: Forget vote: the coordinator does not send a commit message to that participant. If all participants vote forget and the coordinator did not update recoverable resources, the commit process does not proceed to phase 2 and the coordinator does not write any log records. Backout vote: the coordinator moves to the backout state, writes a non-forced backout log record, and sends backout messages to all participants who did not vote backout or forget. 5. After a participant receives a committed message, the participant moves to the committing state, writes and forces a commit log record, sends a forget response to the coordinator, and commits and forgets the logical unit of work. If a participant receives a backout message, the participant moves to the backout state, writes a non-forced backout log record, sends an acknowledgement response to the coordinator, and backs out and forgets the logical unit of work. 6. The coordinator writes an end record and forgets the logical unit of work after receiving responses from all phase 2 participants who received a message.

Presumed abort with failures


In PA protocol, each RM is responsible for initiating indoubt resolution. Indoubt resolution is the process of resolving indoubt logical units of work to either the commit or the backout state. The coordinators responsibility begins when the commit log record is forced to the recovery log. This responsibility ends when all participants who answered the prepare message with a request-commit vote acknowledge the coordinators committed message with a forget response message. The participants responsibility begins when the prepare log record is forced to the recovery log and ends when a forget response is sent to the committed request. When the RM at the participant reconstructs the logical unit of work state from the recovery log and finds a logical unit of work in the prepared state, the RM periodically tries to contact the coordinator to determine how to resolve the logical unit of work.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

21

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

When the RM at the coordinator informs the participant of the outcome of a logical unit or work, the participant RM take the steps outlined in above. Also, an administrator can make a heuristic decision at the participant location to resolve indoubt logical units of work prior to the recovery process. This can lead to inconsistent recovery if the heuristic decision is different than the decision made by the coordinator.

Presumed abort - implied forget


The implied forget optimization can occur between a participant and coordinator when the participant declares itself reliable. In this situation, the forget response to the committed message is deferred. The response is implied in the response to the next request sent to the participant. This optimization saves one message.

Last agent optimization


Last agent optimization applies to both PN and PA protocols. The RM that receives the commit request from the application reverses the coordinator/participant roles with one of the participants. The RM that receives the commit request is the originator of commit processing rather than the coordinator. The originator becomes a participant. DB2 supports last agent optimization as a participant. DB2 originates last agent optimization only in an application termination situation if a PA connection exists at application termination and no activity has been directed to the connection since the last commit or rollback. The DB2 requester uses the last agent optimization with the deallocate attribute to each such connection. The following figure shows four RMs using PA or PN without last agent optimization. A is the coordinator and B, C, and D are participants. This figure represents a sync point tree in which A is the root node and B, C, and D are leaf nodes.

Figure 4. RMs without last agent optimization

The following figure shows the same four RMs using last agent optimization. In this illustration, A chooses D to be the coordinator while A, B, and C are the participants. The sync point tree is temporarily rearranged so that D is the coordinator, A is an intermediate node and B and C are leaf nodes. A is the only participant of D and is the coordinator of B and C. B and C are the participants of A. When the sync point tree shifts from a two-tier to a three-tier tree, the perspective of each RM changes. From the perspective of A, there are downstream participants and an upstream coordinator. From the perspective of D, there is only a downstream participant. From the perspective of B and C there is only an upstream coordinator.

22

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Figure 5. RMs with last agent optimization

With last agent optimization, when all but one subtree of the sync point tree is ready to commit, the last subtree makes the final decision.

Program input/output and processing overview


Input/output
Three classes of input to DB2 initiate subsystem action: DB2 commands, utility control statements, and SQL statements. Although there are other sources of input to DB2, none of them initiate system action; an example is log record input used by the utilities. There are two basic input paths to DB2: the z/OS console and the attachment facilities. The z/OS console can be used to enter any DB2 command, but cannot be used to enter SQL statements. Any SQL statement or any DB2 command except -START DB2 can be entered through an appropriately authorized attachment facility. DB2 output comes from DB2 Interactive (DB2I) data and status information returned to application programs, and changes to databases. Other output includes error and informational messages.

Command processing
All DB2 commands pass through the subsystem support subcomponent, which routes them to the general command preprocessor. The general command preprocessor parses the command input according to DB2 command syntax and then passes the parsed command to its command processor. The table below shows which subcomponent processes each of the DB2 commands:
Table 1. Relationship of DB2 commands to subcomponents Command -ALTER BUFFERPOOL -ALTER GROUPBUFFERPOOL -ALTER UTILITY -ARCHIVE LOG -CANCEL DDF THREAD -CANCEL THREAD -DISPLAY ARCHIVE -DISPLAY BUFFERPOOL -DISPLAY DATABASE -DISPLAY GROUP
LY37-3218-01 Copyright IBM Corp. 1983, 2007

Processing subcomponent Buffer manager (BM) Buffer manager (BM) Utilities (UT) Recovery log manager (RLM) Distributed transaction manager (DTM)* Distributed transaction manager (DTM)* Recovery log manager (RLM) Buffer manager (BM) Service controller (SC) Group manager (GM)

DO NOT COPY

Chapter 1. Program Overview

23

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 1. Relationship of DB2 commands to subcomponents (continued) Command -DISPLAY GROUPBUFFERPOOL -DISPLAY LOCATION -DISPLAY LOG -DISPLAY PROCEDURE -DISPLAY RLIMIT -DISPLAY THREAD -DISPLAY TRACE -DISPLAY UTILITY -MODIFY TRACE -RECOVER BSDS -RECOVER INDOUBT -RESET GENERICLU -RESET INDOUBT -SET ARCHIVE -SET LOG -SET SYSPARM -START DATABASE -START DB2 -START DDF -START PROCEDURE -START RLIMIT -START TRACE -STOP DATABASE -STOP DB2 -STOP DDF -STOP PROCEDURE -STOP RLIMIT -STOP TRACE -TERM UTILITY Processing subcomponent Buffer manager (BM) Data communications (DCRM)* Recovery log manager (RLM) Relational data system (RDS) Service controller (SC) Agent services manager (ASM) Instrumentation facilities (IF) Utilities (UT) Instrumentation facilities (IF) Recovery log manager (RLM) Agent services manager (ASM) Distributed data facility (DDF) Distributed transaction manager (DTM)* Recovery log manager (RLM) Recovery log manager (RLM) System parameter manager (SPM) Service controller (SC) Initialization procedures (IP) Distributed transaction manager (DTM)* Relational data system (RDS) Service controller (SC) Instrumentation facilities (IF) Service controller (SC) Initialization procedures (IP) Distributed transaction manager (DTM)* Relational data system (RDS) Service controller (SC) Instrumentation facilities (IF) Utilities (UT)

Note to Table 1 on page 23: An * indicates a resource manager of the distributed data facility subcomponent.

Utility control statement processing


Utility control statements are processed by the following modules: v DSNUTILB, a release-independent load module invoked by a JCL stream originating in a non-allied batch address space. v DSNUTxxx, where xxx matches the release level of the subsystem. DSNUTILB loads DSNUTxxx. Users or DB2I can generate JCL that invokes DSNUTILB.

24

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

DSNUTILB performs these steps: 1. Identifies to the DB2 subsystem that the user specifies. 2. Obtains the three-character release identifier from the release information block (RIB). 3. Concatenates the release identifier to DSNUT to obtain the name of the release-dependent utilities module to load. 4. Loads DSNUTxxx. DSNUTxxx performs these steps: 1. Reads utility control statements from a SYSIN data stream. 2. Uses associated load modules in the database services address space to perform the functions specified by the utility control statements.

SQL statement processing


SQL statements are either applicationembedded (static) or dynamic. Application-embedded SQL is coded within an application program. The precompiler (PRE) takes the application program as input, changes the embedded SQL statements into comments, and replaces them with statements in the application language. The precompiler also creates a file called a database request module (DBRM), which contains an internally coded form of the SQL statements obtained from the application program. A precompiled application program must undergo the bind process before it is ready to run with DB2. SQL statement execution is handled by the relational data system (RDS) subcomponent. Statements which define database structures are processed by the RDS interpreter. Statements which manipulate previously defined database structures are transformed by the RDS structure generator into tables (structures) that are interpreted at run-time by structure executors. The process of transforming the manipulative SQL statements of a DBRM into run-time structures is called binding. When a bound application program runs with its attachment facility, the embedded SQL statements have been replaced by calls to a language-specific library routine that invokes the attachment facility. The attachment facility communicates with the program request handlers, DSNAPRH and DSNAPRHX. The program request handlers use the function request block (FRB) passed by the attachment facility and issue an RARQ to the DB2 subcomponent needed to process the application program request. After DB2 has processed an applications request, the attachment facility returns control to the application and its execution continues. Dynamic SQL is a special case of application-embedded SQL that contains embedded PREPARE, DESCRIBE, or EXECUTE statements. v The PREPARE statement causes a character string held in a local application variable to be parsed and bound into a temporary run-time structure. (Applications containing embedded SQL take on the authorization ID of the user who does the binding; dynamic SQL takes on the authorization ID of the user who executes the program containing the PREPARE statement.) v The DESCRIBE statement causes DB2 to return information about a previously prepared SQL statement to the application program, by means of the SQLDA data structure.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 1. Program Overview

25

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v The EXECUTE statement causes the previously prepared SQL statement to be executed. (The execution of a dynamically prepared SQL statement is similar to the execution of an equivalent embedded SQL statement.) These statements are precompiled and bound just as any other embedded SQL, and the resultant application program interacts with DB2 as described above. When statement execution is completed and the data is committed, the temporary run-time structures are discarded. The ability to dynamically prepare and execute SQL statements that are read as input (or generated by the application program based on some input) makes it possible to write application programs that allow you to execute SQL statements without writing a program in which to embed them. One such program is SPUFI, part of the TSO attachment subcomponent (see TSO attachment (TA) on page 68).

26

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 2. Subcomponent descriptions


The DB2 subsystem consists of the following subcomponents: Agent services manager (ASM): ASM provides services to other DB2 subcomponents that are operating on behalf of allied agents. Services provided include: v Latch management v Agent creation/termination v Execution unit switching v Synchronization services (suspend/resume execution unit) v Functional recovery assistance services v Linkage services. See Agent services manager (ASM) on page 30 for more information. Buffer manager (BM): BM is primarily responsible for controlling the movement of database pages between DASD and main storage buffers. BM also controls the writing of updated pages, opens and closes page sets and their underlying data sets, and preformats newly acquired pages. See Buffer manager (BM) on page 33 for more information. CICS attachment (CA): CA supports the connection of CICS to DB2 by receiving requests from CICS applications and passing them to DB2. See CICS Transaction Server for z/OS DB2 Guide for more information. Call attachment facility (CAF): CAF allows application programs to connect to and use DB2. It is a low-level attachment facility designed for users of TSO (foreground or background) and z/OS batch environments who want more control over their execution environment than is possible using the DSN command processor, TSO, CICS, or IMS attachment facilities. See Call attachment facility (CAF) on page 34 for more information. Data manager (DM): DM defines and manipulates requests issued by other DB2 resource managers. It is responsible for locating, inserting, and updating requested data, performing any necessary locking/unlocking, logging, recovery of data, managing page set space, maintaining indexes, and collection and externalization of real-time statistics. See Data manager (DM) on page 36 for more information. Data space manager (DSM): DSM performs the following: v Allocation, extension, and deletion of DB2 STOGROUP-defined, VSAM linear data sets v Extension of DB2 user-defined, linear data sets These VSAM data sets correspond to the separate DB2 page set partitions or pieces. See Data space manager (DSM) on page 40 for more information. Distributed data facility (DDF): DDF enables applications to access DB2 data stored at other instances of DB2. DDF consists of the following resource managers: v Data communications resource manager v Distributed transaction manager v Distributed relational data system manager v Distributed data interchange service

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

27

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DDF runs in its own address space. See Distributed data facility (DDF) on page 41 for more information. General command preprocessor (GCP): GCP parses DB2 commands according to the DB2 command syntax definition and passes the parsed command to the indicated command processor. See General command preprocessor (GCP) on page 47 for more information. Group manager (GM): The group manager component controls DB2 data sharing group activities through its three subcomponents: v Group startup/shutdown (GS): manages startup and shutdown activities v Group list manager (GLM): manages resource manager-defined lists contained in the list structures (SCA) in the z/OS cross-system coupling facility (XCF) v Group basic services (GBS): monitors and provides services for group members IMS attachment (IA): IA connects IMS to DB2 by receiving requests from IMS applications and passing them to DB2. See IMS attachment (IA) on page 48 for more information. Internal Resource Lock Manager (IRLM): IRLM manages locks that enable a given resource (primarily data) to be safely shared by several resource managers. See Internal Resource Lock Manager (IRLM) on page 49 for more information. Instrumentation facilities (IF): IF collects and makes available accounting and statistical information; provides performance and serviceability information; controls trace execution, dumping services, and dump formatting. IF also allows application programs to obtain operational information about DB2 through the instrumentation facility interface. See Instrumentation facilities (IF) on page 51 for more information. Initialization procedures (IP): IP controls the initialization and termination of the DB2 subsystem and participates in the establishment of an address space as allied to DB2. See Initialization procedures (IP) on page 51 for more information. LOB manager (LOBM): LOBM locates, inserts, and updates large objects (LOBs). See LOB manager (LOBM) on page 52 for more information. Message generator (MG): MG generates messages by expanding message parameters in accordance with the DB2 message directory and routes the generated messages to the z/OS console or returns them to the caller. See Message generator (MG) on page 53 for more information. Precompiler (PRE): While operating in a non-DB2 address space (independent of DB2 subsystem operation) PRE converts SQL statements embedded in an application program to statements acceptable to the application language. The SQL statements are also validity checked, converted into internal format, and stored in a database request module (DBRM) for later binding. See Precompiler (PRE) on page 53 for more information. Relational data system (RDS): RDS performs the following services: v Establishes and checks authorization v Processes and parses SQL statements v Interprets SQL definitional statements v Selects access paths v Generates run-time control block structures v Executes run-time structures containing the executable forms of SQL statements.

28

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v Provides environment to invoke stored procedures See Relational data system (RDS) on page 54 for more information. Recovery log manager (RLM): RLM maintains the DB2 recovery log. This includes writing log records and retrieving log information in response to resource manager requests. RLM also maintains the DB2 bootstrap data set (BSDS), which contains linkage information pointing to all of the DB2 log data sets, and controls the movement of full active log data sets to the archive log. See Recovery log manager (RLM) on page 58 for more information. Recovery manager (RM): RM controls the interactions between resource managers when recovering data. RM controls the application of units of recovery that are committed at the time of DB2 subsystem restart and the backout of units that are uncommitted. It also processes units of recovery that are indoubt as directed by the commit coordinator after subsystem reconnection. See Recovery manager (RM) on page 59 for more information. Resource Recovery Services attachment facility (RRSAF): RRSAF allows application programs to connect to and use DB2. It is a low-level attachment facility that uses the RRS subcomponent of z/OS for commit control. In addition to the features provided by CAF, RRSAF adds the following: v Signon capability v z/OS-wide coordinated commit control for recoverable resources accessed by applications and stored procedures See Resource Recovery Services attachment facility (RRSAF) on page 60 for more information. Service controller (SC): SC mediates between subcomponents providing database services and subcomponents providing system services. It performs the following general service functions used by many subcomponents that provide database services: v Processes the DISPLAY DATABASE command v Provides linkage to command processors for the START DATABASE and STOP DATABASE commands v Coordinates bind processing v Provides subsystem exits accessed by IRLM in servicing resource locking requests v Provides resource limit facility to prevent runaway queries and updates See Service controller (SC) on page 62 for more information. Stand-alone utilities (SU): SU provides services that enable the installation to: v Copy DB2 table spaces to SAM or VSAM output files (and in some cases to other DB2 table spaces) v Print DB2 table spaces and index spaces in hexadecimal format v Validate DB2 data pages in the DB2 catalog or directory v Extract portions of the recovery log and format and display the extracted portions See Stand-alone utilities (SU) on page 64 for more information. Storage Manager (SM): SM provides services enabling other resource managers and service tasks to acquire and release areas of main storage. See Storage manager (SM) on page 65 for more information.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

29

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

System parameter manager (SPM): SPM provides directory services for use by other resource managers. Resource managers can use these directory services to create their own directories; an example is the message directory used by MG. Additionally, SPM maintains a directory of system initialization parameters called the system parameter directory. See System parameter manager (SPM) on page 65 for more information. Subsystem support subcomponent (SSS): SSS supports the z/OS subsystem interface. It contains connection support functions including IDENTIFY, SIGN-ON, CREATE THREAD, and TERMINATE. SSS processes RARQ invocation requests. See Subsystem support subcomponent (SSS) on page 66 for more information. TSO attachment (TA): TA receives requests from TSO applications and passing them to DB2. TA contains the DB2I capability, which allows the TSO user to: v Submit SQL statements contained in a file (using SPUFI) v Interactively execute SQL statements v Prepare and execute application programs v Execute DB2 commands and utilities v Perform DCLGEN, BIND, REBIND, and FREE operations See TSO attachment (TA) on page 68 for more information. Utilities (UT): UT provides capability for database loading, reorganization, backup, index and/or data checking, recovery and statistical reporting. See Utilities (UT) on page 69 for more information. | | | | | XML data services (XDS): XDS performs the following services: v Evaluates SQL/XML functions v Parses and serializes XML data v Decomposes XML data into relational records v Evaluates XQuery

Agent services manager (ASM)


The agent services manager (ASM) subcomponent contains a set of functions that provide a DB2 resource manager environment to other DB2 functions operating on behalf of attached subsystems. This includes the following functional areas: v Address space startup and shutdown v Service task creation and deletion v Execution unit switch v Agent creation and termination v Allocation/deallocation control v Synchronization services v Latch management v Functional recovery assistance v Command processors v Linkage services Address space startup and shutdown: ASM participates in the initialization and termination of all address spaces in DB2, including the DB2 address spaces and any allied address spaces. When one of the DB2 address spaces is initialized, the ASM creates three z/OS tasks within that address space:

30

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v The service task controller (processes requests to create, delete, and reinstate service tasks). v The recovery control task (acts as the z/OS related TCB for most SRBs created by ASM. Should a failure occur in a resource manager while operating in SRB mode, the recovery control task is the recipient of the SRB to TCB percolation). v A default service task (created for optional use by any resource manager). The structure of these and other service tasks is shown in Figure 6.

Job Step TCB (DSNYASCP)

Service Task Controller (DSNVEUS4)

Recovery Control Task (DSNVRCT)

Default Service Task (DSNVEUS3)

Service Task (DSNVEUS3)

Service Task (DSNVEUS3)

Figure 6. Task structure in system and database address spaces after startup

Additional TCBs are not created for allied address spaces, but, whenever a new allied address space connects to DB2 (for a explanation of the connection process see The DB2 connection process on page 11), ASM obtains global storage and builds an ASM local communications area (VLCA) in which to anchor subsequently created agent control structures. The ASM address space shutdown dissolves the address space control structure of the address space that is terminating. Service task creation and deletion: Resource managers can create and delete service tasks in the DB2 address spaces for their own use. The resource manager can optionally be notified upon creation, termination, or reinstatement of a service task so that initialization and termination processing can be performed. Execution unit switch: This service allows resource managers to invoke functions under a different z/OS execution unit (TCB or SRB) in the same address space or a different address space. Scheduled execution units can be related or unrelated. If related, the new execution unit operates under the same agent control element (ACE) and unit of work as the requester. If unrelated, a new ACE and the associated control structures can be created.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

31

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

If the requesting resource manager specifies that it is to be suspended until the new execution unit has completed its processing, the switch is considered synchronous; if the requesting resource manager continues processing while the new execution unit is processing, the switch is considered asynchronous. Agent creation and termination: Agent creation builds an agent structure (consisting of an agent control element (ACE), an execution block, and a resource options block), and associates it with the appropriate home address space by adding it to a chain of active ACEs anchored in the address spaces agent services managers local communication area (VLCA). It also invokes the ASM resource allocation control function. Agent termination invokes deallocation control (if required) and collapses the agent structure. Allocation/deallocation control: Allocation/deallocation control oversees the process of agent resource allocation and deallocation. This service invokes other resource managers to perform the actual resource allocation or deallocation. Synchronization services: Synchronization Services provides functions for suspending, resuming, and canceling DB2 execution units independent of execution mode (TCB or SRB). The cancel function provides a soft cancel in which the execution block is flagged as canceled, and (if the execution unit is suspended) is scheduled for resumed processing at its cancel entry point. This allows the canceled resource manager to complete a critical function before termination. Latch management: Latch management controls concurrent access to internal DB2 resources that cannot be simultaneously updated. Functions provided are: v Shared and exclusive latch control v Suspension of the requesters execution unit if the latch is unavailable (unconditional requests only) v Conditional latch requests v Enforcement of a latch hierarchy (deadlock detection) v Latch status testing Functional recovery assistance: ASM provides a number of services to assist resource managers in the event of a failure in either allied or DB2 address spaces. Among these services are: v Disconnect and reconnect agent: An allied agent is disconnected from its currently connected address space and reconnected to a fully functional address space (usually the system services address space). This enables the completion of commit or abend processing and resource deallocation after the recognition of an z/OS end-of-task or end-of-memory condition for an allied address space. v ABEND DB2: Invoked when a resource manager (probably in an FRR or ESTAE) determines that a serious error exists and that further execution could result in a loss of data integrity. v Cancel active agents: This service is called as a result of the -STOP DB2 MODE(FORCE) command. It uses the cancel function of synchronization services to soft cancel each allied agent active in DB2, then waits until all the agents have performed their cleanup functions and terminated. Command processors: ASM processes three DB2 commands: -DISPLAY THREAD, -CANCEL THREAD, and -RECOVER INDOUBT

32

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The display thread processor searches the agent chains for all address spaces and returns connection information on active and indoubt threads. The cancel thread processor searches the agent chains for all address spaces and schedules termination for any threads with the qualifying token. The recover indoubt processor schedules all (or selected) indoubt threads associated with a specific connection name for commit or abort processing. The actual recovery action takes place asynchronously with respect to the command processor. Linkage services: The ASM linkage services provide the resource access request and the resource manager request linkage mechanisms used by DB2 resource managers. Diagnostic considerations: If a failure occurs in a resource manager CSECT executing under a service task, the ESTAE established by DSNVEUS3 is given control; the ESTAE records the error and request a dump, then percolate to the next recovery routine or to end-of-task. Thus, the dump appears as if an error had occurred in DSNVEUS3. The SDWA must be examined to determine the actual location of the failure.

Buffer manager (BM)


DB2 data is stored in linear addressable DASD data set collections called page sets. Within page sets, the data is stored in fixed-sized units called pages. DB2 functions that process this data (for example, the data manager or utilities) do not directly access the page sets, but instead operate on virtual storage copies of the pages. The buffer manager (BM) controls the movement of these pages between their page sets and virtual storage buffers, thereby making virtual storage copies available for DB2 processing. The buffer manager allocates virtual storage buffers in the ADMF address space. The data sharing environment includes an additional storage area, the group buffer pool, which is a coupling facility cache structure. A group buffer pool controls access to data that is being shared by DB2 subsystems within a data sharing group. DB2 uses the group buffer pool as a store-in cache, writing changed pages there. BM can read pages from the group buffer pool into its local BP. There is one group buffer pool for all virtual buffer pools of the same name, for example one GBP0 for all BP0s. Pages are read from the group buffer pool to a private DB2 buffer and written from the private buffer to DASD. The data movement is controlled in a manner that is consistent with the DB2 requirements for data recovery capability (after agent or subsystem abend or after media failures) and shared data (by several agents executing within the same DB2 subsystem), while still providing an adequate level of performance. This does not mean that BM supports these functions in an isolated manner; BM participates indirectly in this support. The functions of locking, logging, and data recovery are performed by BMs invokers, rather than by BM itself. The functions of data set definition/deletion and physical extension are performed by the data space manager subcomponent.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

33

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

BM services are available only to the other subcomponents of DB2. Services are provided to: v Obtain and release virtual addressability of requested pages v Control the writing of updated pages to DASD v Open and close page sets and their underlying data sets v Initialize and terminate structures supporting the use of other buffer manager services within DB2 v Assist other DB2 subcomponents in performing backout, restart, and media recovery processes v Preformat newly acquired physical space prior to actual use v Perform destructive read which deallocates work-file space, once all the pages in a segment have been read v Obtain, modify, or release a page latch v Claim a linear page set or partition v Drain a linear page set or partition

Call attachment facility (CAF)


The call attachment facility (CAF) subcomponent of DB2 allows application programs to connect to and use DB2. It is a low-level attachment facility designed for users of the TSO (foreground or background) and z/OS batch environments who want more control over their execution environment than is possible using the DSN command processor, TSO, CICS, or IMS attachment facilities. Application programs that use CAF can: v Run when DB2 is not up, though they cannot make SQL calls unless DB2 is active. v Access DB2 from z/OS address spaces where TSO, IMS, or CICS do not exist. v Run without being subtasks of the DSN command processor or any other DB2 code. v Use a call interface to DB2 connection services, allowing them to control the exact state of their connection to DB2. v Use two modes of connection control, explicit and implicit, which provide different levels of control over the connections between the application and DB2. v Establish a DB2 connection for each task in an address space. Each task can have its own plan name. CAF permits multiple, simultaneous, asynchronous connections to DB2, but such connections can cause deadlocks and resource contention. Only one DB2 connection is supported per TCB, and each TCB must manage its own connection. Each connection must make all DB2 requests (connection or SQL service) from the same TCB. v Execute CAF applications either above or below the 16-megabyte line. v Provide event control blocks (ECBs) for DB2 to post for start-up and termination notification. v Examine return codes, reason codes, abend codes, and SQLCODEs. v Execute a trace facility and receive diagnostic messages useful for debugging applications or the call attachment code itself. CAF does not generate task structures, nor does it provide attention processing exits.

34

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Call attachment facility control functions The CAF control functions are: v CONNECTEstablishes an identify-level connection between the current address space and DB2 (if not already done). v OPENAllocates database resources for SQL access (creates a thread). v CLOSEDeallocates database resources (terminates the thread). v DISCONNECTRemoves the task as a user of DB2 services. v TRANSLATE Causes information to be written to the SQLCA that describes missing resources in a DB2 resource unavailable condition. v SQL CallsMakes it possible for CAF applications to issue SQL calls without having done CONNECT or OPEN. However, when this is done, the connection is implicit, and the application has less flexibility in managing the session. Language interface A DB2 language interface (LI) load module is provided as part of the CAF code. It is named DSNALI and has ALIASes of DSNHLI2 and DSNWLI2. The CAF LI has five entry points: DSNALI, DSNHLI, DSNHLI2, DSNWLI, and DSNWLI2. Entry point DSNALI is for DB2 connection service requests; DSNHLI and DSNHLI2 are for SQL calls; DSNWLI and DSNWLI2 are for IFI calls. Applications should load the CAF LI. This makes it easier to maintain because only one copy exists in the system. The likelihood that the application requires modification because of changes to the LI load module is also reduced. The precompiler always sends SQL requests to DSNHLI, even though there can be different versions of this entry point in the system. To preserve compatibility with precompiler-generated calls to DSNHLI, the application should use a dummy entry point named DSNHLI. When the precompiler passes control to the dummy DSNHLI, the application should do nothing but pass control to DSNHLI2, preserving the parameter list as it does so. Figure 7 on page 36 shows a typical example of a CAF load module configuration.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

35

DO NOT COPY
Application LOAD DSNALI LOAD DSNHLI2 LOAD DSNWLI2 CALL DSNALI (CONNECT) (OPEN) (CLOSE) (DISCONNECT) CALL DSNWLI CALL DSNHLI (SQL calls) (Process connection requests) Call DSNALI CAF Language Interface

Restricted Materials of IBM Licensed Materials Property of IBM

Load

CAF Mainline Code

DSNHLI (dummy application entry point) CALL DSNHLI2 (Transfer calls to real CAF SQL entry point) DSNWLI (dummy application entry point) CALL DSNWLI2 (Transfer calls to real CAF IFI) DSNWLI DSNHLI2 (Process SQL stmts)

DB2

Figure 7. Sample call attachment facility configuration

Data manager (DM)


The data manager (DM) subcomponent provides physical record management and associated services used by other DB2 subcomponents to access data stored in DB2 databases. DM services include the following: v Data manipulation v Database descriptor management v BIND and allocation v Index management v Environmental descriptor management v Allocation control of database resources v Locking v Logging v Temporary file management v Space management within table spaces and index spaces v User exit routines v Restart and recovery of data v Collection and externalization of real-time statistics Data manipulation: The data manipulation services allow other DB2 subcomponents to load, retrieve, insert, change, or delete record instances that are stored in DB2 databases. These services perform any locking needed to

36

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

synchronize access to the data and to ensure that only committed modifications can be accessed. These services also perform the logging necessary to ensure that modifications to data objects can be backed out or redone as necessary in the event of a system failure or a media recovery operation. Data manipulation services also enforce referential constraints that are defined under referential integrity. Data manager uses the buffer manager subcomponent to read pages from and write pages to DASD. Database descriptor management: External data objects (databases, table spaces, tables, and indexes) are mapped to internal objects that are described by a set of DM control blocks called database descriptors (DBDs). DM uses these internal descriptors to operate on internal objects and thereby affect the corresponding external objects. The descriptor management services provided by DM allow DM users to create, change, and delete the internal database descriptors. In addition, these services support table and index versioning. The major user of these services is the interpreter function of RDS. The DM locking function is used to ensure that only committed descriptor modifications are used by other agents. The DM environmental descriptor management function is used to retrieve, insert, replace, or delete DBDs. The data space manager is used to create, delete, and initialize data sets associated with table spaces and indexes. BIND and allocation: In addition to the internal descriptors described above, DM uses a second set of control blocks to access data at run time. BIND services create these control blocks at either BIND time or at run time. Allocation services allocate and deallocate resources (DBDs, table spaces and indexes) managed through these control blocks. Index management: Index management services are used by other DM functions (for example, data manipulation), and by other DB2 subcomponents (for example, the utilities subcomponent). These services load, retrieve, modify, and delete entries in indexes. They use the buffer manager subcomponent of DB2 to read pages from and write pages to DASD. They also perform any necessary locking. Environmental descriptor management: Environmental descriptors are descriptors that describe the environment of an agent and include DBDs, skeleton cursor table (SKCT) blocks, and skeleton package table (SKPT) blocks. The DM environmental descriptor management function provides services to retrieve, insert, replace and delete these internal objects in the DB2 directory (DSNDB01). These services use the DM data manipulation services to retrieve and update data stored in the system directory. They are used by DM database descriptor management to maintain DBDs, and by many other DM services for access to DBDs. These services are also used by the service controller subcomponent to maintain and retrieve skeleton cursor table blocks and skeleton package table blocks. Allocation control of database resources: These services support the DB2 commands START DATABASE, STOP DATABASE, and DISPLAY DATABASE, and allow authorized users to control access at the database, table space, and partition level. Internally at resource allocation time they verify that the allocation of a specific resource is allowed. They are also used by the utilities subcomponent to temporarily limit access to table spaces and/or index spaces. Locking: The DM uses the IRLM to lock various resources in order to synchronize access to those resources. DM provides both explicit and implicit locking services to its users. The explicit locking services allow the DM users to lock specific table spaces, tables, or partitions. Implicit locking of DBDs, table spaces, or partitions is

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

37

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

performed during the resource allocation process. If necessary, the DM also locks pages or rows in table spaces. These locks prohibit more than one agent from updating the same data. The locking function also provides lock escalation when a table space lock limit is reached. For a partitioned table space with selective partition locking, escalation results in promotion of locks from page or row level to partition level. For any other kind of nonsegmented table space, escalation results in the promotion of locks from page or row level to table space level. For a segmented table space, escalation results in promotion of locks from page or row level to table level. Two subsystem parameters, NUMLKTS and NUMLKUS, control the maximum number of locks for any object or user in a DB2 subsystem. NUMLKTS controls the maximum number of page or row locks in a single table space or table before lock escalation occurs. NUMLKUS controls the maximum number of page or row locks that can be held by a single user. The parameter LOCKMAX of CREATE TABLESPACE and ALTER TABLESPACE controls the maximum number of page or row locks that an application process can hold simultaneously in a single table space. In segmented table spaces, a single table can be locked. Segmented table space organization allows some tables to perform page or row locking and other tables in the same table space to perform table locking. If the number of locked pages or rows for a table exceeds the limit, a table lock is acquired for that table. Nonsegmented table spaces do not have single table locking capability. For a partitioned table space, DB2 can lock only the partitions it accesses if the following items are true: v Any application that accesses the table space falls into one or more of the following categories: Uses dynamic SQL Is associated with a package bound to a plan Is associated with a plan bound with ACQUIRE(USE) v The table space is not defined with LOCKSIZE TABLESPACE. v Applications that access the table space do not execute the statement LOCK TABLE IN EXCLUSIVE MODE. For data sharing, DM ensures that all members of the data sharing group see the current version of a changed page by forcing the pages out at a commit or as a result of p-lock negotiations. Lock avoidance techniques accomplish internal serialization by verifying the committed state of data without locks. A common lock avoidance technique uses a point on the log RBA which indicates that all changes prior to that point have been committed. Comparing the value at this point on the log RBA with the log RBA of a page determines whether the data on that page is committed. Optimistic locking techniques, which use comparison by value, accomplish serialization by delaying lock aquisition to the time of actual update. No locks are obtained at the time of fetch. Instead, the column values returned to the application are saved. Eventually, on a positioned UPDATE or DELETE request, the corresponding row is locked and the current values are compared to the saved values. If the values match, the UPDATE or DELETE is allowed. This technique is used with updatable static scrollable cursors.

38

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Logging: The DM uses the recovery log manager to write (and read) records in the DB2 log. These log records describe data modifications (before and after information) and/or system state (for example, databases that are stopped). The data modification records are used to undo uncommitted updates (during rollback or at system restart time) or to redo committed updates (at system restart time or for media recovery purposes). Log records describing system state are used at restart time to restore the system to its previous state. Temporary file management: RDS creates and deletes temporary files (unrecoverable work files) as needed, and uses normal DM data manipulation services to insert and retrieve records in these temporary files. A major user of these services is the RDS sort function. Space management within table spaces and index spaces: These services manage space within table spaces and index spaces and are used only by other DM functions. These services locate a page with sufficient space during insert operations, and return space as a result of delete operations. User exit routines: The data manager supports two site-defined exits: v The validation exit allows the installation to examine, prior to changing the database, the contents of a record that is to be inserted, updated, or deleted. This allows records to be rejected before unnecessary changes have been made to the database. v The edit exit allows a site to encode (or decode) a data record as it is placed in (or retrieved from) the database. For further information, see Exit routines on page 13 and Appendix B (Volume 2) of DB2 Administration Guide. Restart and recovery of data: The DM uses records from the DB2 log to restore data to its correct state during DB2 restart, defer restart, ABORT, ROLLBACK, or RECOVER. Uncommitted updates are undone during DB2 restart, ABORT, and ROLLBACK. Committed updates are redone during DB2 restart, defer restart, and RECOVER. The DM analyzes each log record against the actual data in the page and applies the necessary information from the log to undo or redo the original update to the page. Real-time statistics collection and externalization: These services are collectively known as Data Manager Real-time Statistics Manager (DMRTS). They perform the following functions: v Process in-memory statistics and externalize them with the statistics in the SYSTABLESPACESTATS and SYSINDEXSPACESTATS tables DMRTS provides these services to support processing and externalizing in-memory statistics: Services to initialize and enable the statistics manager service task. The statistics manager service task is a timer-based function that periodically awakens and invokes DMRTS to process the in-memory statistics and write the results to the real-time statistics tables. Services to check that the real-time statistics database, table space, tables, and indexes are created correctly. Services to externalize in-memory statistics when the operator issues the STOP DATABASE command. If the database that is specified in the STOP DATABASE command is the real-time statistics database (DSNRTSDB), DMRTS externalizes real-time statistics for all objects in the subsystem. If
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

39

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

another database and a single table space or index space is specified (STOP DATABASE(dbname) SPACENAM(space-name)), DMRTS externalizes statistics for that table space or index space. Services to externalize in-memory statistics when the operator issues the STOP DB2 MODE QUIESCE command. v Record certain utility events, such as page set reset and the end of successful RUNSTATS, COPY or REORG execution This support keeps the in-memory statistics correct with respect to utility operations and provides the timestamp information that is in the real-time statistics tables. If the operator terminates a utility, DMRTS invalidates the real-time statistics for the objects on which the utility is operating. v Notify other DB2 data sharing members that their in-memory statistics should be processed or invalidated This keeps the in-memory statistics correct for all DB2 members of the data sharing group. v Maintain the statistics table rows during CREATE and DROP DBDM notifies DMRTS that a CREATE or DROP is in progress for an object. During a CREATE, DMRTS removes rows from the real-time statistics tables for objects with the same dbid.psid.partition-number as the object that is being created, and creates a row for the object. During a DROP, DMRTS deletes any rows from the real-time statistics tables for the object that is being dropped.

Data space manager (DSM)


The data space manager (DSM) subcomponent performs data set and page set space management. For a description of page sets and page set/data set relationships, see Page sets on page 349. These services are used by the database descriptor management (DBDM), data manager (DM), and utilities (UT) subcomponents. The DSM assists in the management of page set and data set objects. The functions provided are: v Create page set space: the DSM obtains and preformats DASD space, including the creation of VSAM data sets for STOGROUP defined data sets, and verifies the existence of user-defined data sets. v Drop page set space: If the space specification for the page set being dropped identifies a data set defined by a storage group, then all data sets related to the space specification must be deleted. Data set deletion is deferred until commit-phase 2 to allow backout if necessary. Data sets pending deletion are tracked by means of a drop list. If the space specification identifies a user-defined data set, the associated user-defined data sets are closed but not deleted. For data sharing, DSM ensures that all members of the data sharing group close the page set before the data sets are deleted. v Reset page set/data set: This function resets each of the data sets underlying the page set or one data set to its condition at the end of the create page set space function. v Check drop list: This function is provided for use by the DBDM subcomponent, and determines whether a particular page set is pending deletion. v Extend: Extends and preformats the data set corresponding to the specified page set piece. The following capabilities are included: Expansion of a data sets formatted area Pre-extend based on an internally computed hedge value Extend to a new volume

40

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v v v v

Extend to a new piece (applicable to nonpartitioned page sets only) The extend function uses a piece-related exclusive lock (via IRLM) to serialize concurrent requests. For data sharing, DSM works with the service controller notify service to propagate HURP/HARP changes resulting from the extend across the DS group. Get number of pieces to open: Invokes the show catalog function iteratively to determine how many pieces should be opened for a particular simple page set. Show catalog: Issues a VSAM catalog LOCATE request to retrieve fields from the VSAM catalog entry that describes the indicated data set. HSM Recall: Invokes hierarchical storage manager to recall a page set that had been migrated. Alter shareoptions: Updates the shareoptions page sets.

Distributed data facility (DDF)


Using the distributed data facility (DDF), an application process connected to the local DB2 subsystem can access data residing on another DB2 or non-DB2 database management system that participates in the same distributed network. In this case the local DB2 is the requester. Conversely, using the distributed data facility (DDF) at the local DB2, an application connected to another relational database that participates in the same network can access data on the local DB2. In this case the local DB2 is the server. Typically an application uses the distributed data facility to fetch rows from a table at a DB2 subsystem. The distributed data facility supports two types of connections between a requesting DB2 system and the serving relational database. DB2 chooses between the two connection types based on the SQL statements contained in the application process. The connection types are private protocols and distributed relational database architecture (DRDA). The distributed data facility subcomponent consists of four resource managers: The data communications resource manager (DCRM) The distributed data interchange services (DDIS) The distributed transaction manager (DTM) The distributed relational data system (DRDS)

Private protocols
DB2 uses private protocols when an SQL statement in the application process references a table or view that resides on another DB2 subsystem in the same network by using a three-part name or an alias that resolves to a three-part name. An application that wants to use private protocols must have its plans/packages bound explicitly with the option DBPROTOCOL(PRIVATE). However, starting with Version 9.1 of DB2, if a bind package or plan is processed with the DBPROTOCOL(PRIVATE) option, a package or plan is being rebound and it was previously bound with DBPROTOCOL(PRIVATE), or the source package of a BIND PACKAGE COPY was previously bound with DBPROTOCOL(PRIVATE), the bind will complete with a warning return code and a message indicating that DBPROTOCOL(PRIVATE) bind option is no longer recommended, assuming no other warnings or errors were detected. The local DB2 subsystem identifies the remote system using tables in the communications database (CDB). This method of access to distributed data is known to users as DB2 private protocol access. DB2s private protocols have these characteristics: v Only DB2 subsystems can communicate using this protocol.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

41

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v The application can connect to more than one remote DB2 subsystem in a single commit scope. v The application can establish many paths to a remote DB2 system in a single commit scope. For a complete description of the flow of control during private protocol processing see Process private protocol SQL (first connection with a remote location) on page 96.

Distributed relational database architecture (DRDA)


DB2 uses DRDA protocols when an application connects to a remote DBMS by using an SQL CONNECT or SET CONNECTION statement or through bind option CURRENTSERVER or DBPROTOCOL(DRDA). This method of access to distributed data is known to users as DRDA access, and it is the recommended distributed processing access. DRDA is built on top of the following architectures: v Advanced Program to Program Communications and Logical Unit type 6.2 (APPC/LU 6.2) or Transport Communications Protocol/Internet Protocol (TCP/IP) v Distributed Data Management (DDM) v SNA Management Services Architecture v Formatted Data Object Content Architecture (FDOCA) DRDA has provided extensions to these architectures where necessary. DRDA provides one connection protocol and two basic kinds of functions. DRDA provides a connection between requesters and database servers. The two types of functions are: v Requester functions. Support SQL and program preparation services from the applications. v Database server functions. Support requests that ARs have sent and route requests to ASs. Distributed Data Management (DDM) is an architected data management interface used for data interchange among like or unlike systems. DDM provides a conceptual framework or model for constructing common interfaces for data interchange between systems. The DDM data stream, which consists of architected commands, parameters, objects, and messages, accomplishes the data interchange between the various pieces of this model. If an application running on DB2 accesses data on a database server using the DRDA protocols, the data transaction manager (DTM) notifies the data communications resource manager (DCRM) of the connection request. DCRM creates a DDM control structure required to support DDM requests. During the connection processing, DTM requests that DCRM allocate a conversation. The allocation of the conversation initiates a process at the server (a database, either DB2 or non-DB2, that uses DRDA) to process the DDM requests. If the server is another DB2, the distributed data facility at the server creates a database access agent. When a DDM request is received by a database access agent, the DDM command and command data is extracted and routed to the message processing routine (MPR). The message processing routine builds a DDM

42

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

reply and returns control to the data communications resource manager (DCRM). The DCRM transmits the DDM reply to the requester.

Data communications resource manager (DCRM)


The data communications resource manager allows a DB2 instance to communicate with another relational database management system, either DB2 or non-DB2. DCRM sends requesting messages and receives responding answers over the link. Apart from initialization and termination, the data communication resource manager consists of a conversation manager, a queue manager, a VTAM manager, and a TCP/IP manager. Conversation manager: The conversation manager provides protocols that allow a DB2 allied agent to: v Create and terminate connections with a remote DBMS (called a conversation) v Send requests to the remote system v Receive responses from the remote system At a DB2 server, the conversation manager creates a new agent, called a database access agent, in order to access DB2 data. The conversation manager provides protocols that allow a database access agent to: v Receive requests from the remote requester v Send responses to the requester v Manage conversations at the server The conversation manager provides two different sets of protocols. One supports DB2 to DB2 private protocols, and the other supports DRDA. The DB2 private protocols support multiple conversations between an allied thread at the requester and a database access thread at a server. DRDA protocols support a single conversation between a requester (an allied agent at a DB2 requester) and a server (a database access agent at a DB2 server). Queue manager: The queue manager controls the dispatching of work requests to database access agents. To request services from a database access agent, the queue manager adds a work request to the database access agents queue. Services that the queue manager performs include: v Creating a work request queue for an agent v Queuing work requests for a database access agent v Routing work requests from the queue to the appropriate service routine v Purging work requests from an agent queue v Terminating queue activity for a database access agent, and deleting an agent queue v Manages inactive connection processing VTAM manager: The DCRM conversation manager uses the VTAM manager to communicate with other database management systems in the network. Communication is through APPC/VTAM Version 3 Release 3. The VTAM manager also maintains a control block structure which defines the state of an APPC conversation and contains all the required VTAM control blocks needed to support APPC/VTAM conversation

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

43

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

verbs. The VTAM manager uses the DB2 communications database (CDB) which defines how communication resources are to be used. TCP/IP manager: The DCRM conversation manager uses the TCP/IP manager to communicate with other database management systems in the network. Communication is through TCP/IP. The TCP/IP manager also maintains a control block structure that defines the state of a TCP/IP conversation and contains all the required TCP/IP control blocks needed to support TCP/IP calls. The TCP/IP manager uses the DB2 communications database (CDB) which defines how communication resources are to be used.

Distributed data interchange services (DDIS)


The distributed data interchange services (DDIS) performs the functions of DRDA data stream generation and decoding for distributed processing. The data streams include distributed data management (DDM) commands, reply messages and reply data, and object descriptors. DDIS functions include: v Mapping local DB2 objects (SQLCA, SQLDA, and rows of data) and requests into the requisite objects to be sent to a database server v Mapping objects received from that database server into local DB2 objects v Mapping objects received from a requester into local DB2 objects/requests v Mapping local DB2 responses into objects returned to that requester The distributed data interchange services (DDIS) parses both request data streams and reply data streams and creates local DB2 objects, such as, SQLCA, SQLDA, and rows of data. While DRDA supports partial objects for example, the partitioning of a single row returned from a database server into more than one reply data object the data objects exchanged between DB2 and invoking resource managers represent complete objects. DDIS supports the following requester/server DRDA protocols: 1. Generate an requesting data object stream, which maps DB2 objects to the necessary distributed data management (DDM) command, command data, and, if required, accompanying object data stream or streams. This is a requester service. 2. Parse an reply data object stream received from a database server, and mapping that data stream into local DB2 objects. This is a requester service. 3. Parse a requesting object data stream received from an requester, and map DRDA objects into local DB2 objects which are passed to the resource manager owning those objects. This is a database server service. 4. Generate a reply data object stream which maps DB2 objects to the correct distributed data management reply message, reply data, and, if required, accompanying object data stream or streams that are returned to the requesting requester. This is a database server service. DDIS works in conjunction with the data communications resource manager (DCRM). The DCRM builds data stream structures from the objects that DDIS generates. Conversely, DCRM extracts objects from the data stream structures received from a requester or database server to be processed by DDIS. Any resource manager can send requests to DDIS to generate objects to send to a database server.

44

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Distributed transaction manager (DTM)


The distributed transaction manager (DTM) handles distributed transactions. A distributed transaction between two DB2 subsystems consists of an allied agent (requesting agent) and one or more database access agents at the serving location or locations. A distributed transaction between two non-DB2 database management systems using DRDA consists of a requester and a database server. See Data communications resource manager (DCRM) on page 43 for more information. The distributed transaction manager performs the following functions: v Connection support (DRDA protocols) v Migrating transactions (private protocols) v Processing commit/abort v Monitoring errors v Starting DDF v Managing functional recovery services v Gathering DDF information for dumps v Distributed indoubt thread support Connection support (DRDA protocols): DTM provides protocols that support connection to the local DB2 or to a remote server DBMS and maintains connection status. DTM generates the DDM commands exchange server attributes (EXCSAT) and access RDB (ACCRDB) at a DB2 requester and also processes the corresponding reply messages EXCSATRD and ACCRDBRM. DTM receives these commands at a DB2 server and generates the corresponding reply messages. Migrating transactions (private protocols): During the allocation of a conversation, the conversation manager determines whether the agent has an existing conversation with the server. If it does not, the conversation manager invokes the DTM migrate transaction function. The conversation manager also invokes the DTM migrate transaction function when there has been no communication with the server since the last commit process. The DTM sends either a migrate and allocate or a migrate and reuse message to the server. If the server is a DB2 instance, the conversation manager creates a type of system agent called a database access agent. Processing commit/abort: The distributed data facility is not part of the base DB2 system, which contains system services and database services. It is, therefore, necessary to extend the RAL (resource access list) of an allied agent so that the distributed data facility can participate in commit, abend and deallocate processing. A DTM function allocates and formats an unused RALE (resource access list entry) for the distributed data facility to use. When an allied agent commits or aborts, DTM sends the commit or abort to the server agent using the commit protocol appropriate to the SYNC_LEVEL of the conversation and the distributed protocol (DRDA or private) being used with the server. When a commit or abort message is processed at a DB2 server, DTM drives either commit or abort. If distributed two-phase commit protocols (SYNC_LEVEL SYNC) are being used with remote partners, then DTM writes log records during the commit process to remember which distributed partners are involved in the unit of work. These log
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

45

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

records also track if the partner has acknowledged receipt of the final commit decision, and which partners DB2 has the responsibility to contact in the event of a failure prior to the commit decision being acknowledged. If the commit process fails after commit phase one is complete, and DB2 stops before DTM completes automatic resolution of the resulting indoubt unit of work, then these log records are used at DB2 startup to reconstruct the distributed indoubt unit of work information and complete the distributed indoubt thread resolution process. Monitoring errors: DTM monitors queued conversation allocation requests (for both DRDA and private protocols) in order to limit the length of time a request is queued. Starting DDF: DTM also supports DDF initialization, startup, and shutdown. During DB2 startup, DTM initializes DDF, including reading the LOCATION name from the bootstrap data set and creating the DDF Start/Stop service task. DTM determines if DDF is to be automatically started, and, if so, invokes the Start/Stop service task to perform DDF start processing. DTM also provides command processors that the general DB2 command processor invokes to process -START DDF and -STOP DDF commands and provides a processor to handle requests to abnormally terminate DDF. These processors, in turn, invoke the DDF Start/Stop service task to perform these operations. Managing the functional recovery services: The distributed transaction manager provides a mechanism and code to manage z/OS functional recovery for the DDF subcomponent. The functional recovery management services interfaces to z/OS to create and terminate a functional recovery routine and to provide the basic elements of a recovery routine: dump gathering, recovering from errors if directed, and/or releasing resources without recovering from the error. Gathering distributed data facility information for dumps: DTM provides a dump gathering module for DDF that is invoked during DB2 dump processing. The module determines if DDF information should be included in the dump and, if it should, includes a selected set of DDF control blocks and/or storage pools in the dump. Distributed indoubt thread support: DTM runs in the DSCF address space during DB2 startup to reconstruct distributed indoubt thread information from log records. Also, DTM runs in the DSCF address space to write checkpoint log records pertaining to distributed units of work. DTM initiates and responds to resynchronization requests to resolve (commit or abort) distributed indoubt units of work. These resynchronization requests are directed to, or received from, remote partners involved with an indoubt distributed unit of work.

Distributed relational data system (DRDS)


SQL operations on remote objects:

46

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The distributed relational data system resource manager provides support for application read/write access to distributed data. Private protocols: DRDS provides support for access to distributed data for applications which perform SQL read/write operations upon remote objects through v Any static or dynamic SQL select (cursor or embedded) v Any static or dynamic SQL INSERT, UPDATE, or DELETE statement All remote objects accessed within a given SQL statement must resolve to exactly one server. See DB2 Application Programming and SQL Guide for more information. The distributed relational data system resource manager receives control from RDS when it is determined that an SQL request needs remote processing. DRDS builds request messages and invokes the DCRM resource manager to send the request message to the serving DBMS subsystem. If the serving relational database management system is a DB2 subsystem, DRDS, at the server receives the request to access local data, invokes the DB2 database functions, and sends response data to the requesting DB2 subsystem. DRDA protocols: With DRDA processing, the SQL statements of a program are prebound into packages which reside at the server site. The location of the server can either be determined through DB2 bind commands, through CONNECT statements in the application program, or through the location name in a 3-part name. This allows distributed processing to have static as well as dynamic statements, since the information is at the serving site before program execution begins. When executing a statement by DRDA protocols, the local DB2 does not need to send the whole statement to the remote relational database management system, as in private protocol processing. Instead, the statement to execute is identified, and only the information required for statement execution is sent to the remote location. Therefore, static statements are executed statically. In DRDA, DRDS provides support for access to distributed data for applications which perform SQL read/write operations upon remote objects through any static or dynamic statement that is considered legitimate at the server. As with private protocols, all remote objects accessed within a given SQL statement must resolve to exactly one serving site. DRDS provides the services which allow a requester to request bind, rebind, free, and, in addition, remote SQL execution. DRDS receives a request from DCRM, and constructs the proper structures to initiate the requested service. DRDS also coordinates the construction of reply messages that are returned to the requester.

General command preprocessor (GCP)


The function of the general command preprocessor (GCP) subcomponent is to analyze command input, validate command syntax and parameter values, supply default values for omitted parameters, and invoke the indicated command processor. If errors are detected during GCP command validation, the message generator subcomponent is invoked to construct error messages which are then routed to the command source by GCP.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

47

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The -START DB2 command must originate from the z/OS console. Other commands can originate from the z/OS console or from a terminal connected through the TSO, CICS, or IMS attachment facilities.

Group manager (GM)


The Group Manager component provides services to DB2 data sharing group members and regulates member activity. It consists of three subcomponents: v Group startup/shutdown (GS) v Group list manager (GLM) v Group basic services (GBS)

Group startup/shutdown (GS)


The group startup/shutdown subcomponent controls each members startup and termination within a group. Both data sharing and non-data-sharing DB2 systems register with Automatic Restart Manager (ARM) at startup. ARM services include detecting failures and automatically restarting DB2 in the event of a failure. GS controls required initialization for the local DB2s participation in a data sharing group by invoking the GLM and GBS subcomponents, and joining a recovery group, XCF data sharing group, an ARM. If an invalid member is detected during GBS validation, this member is deleted from the group. If an invalid member tries to startup, then GS terminates the startup.

Group list manager (GLM)


The GLM manages resource manager-defined lists in the coupling facility. There is one list structure per data sharing group used as the shared communications area (SCA) for group members. The GLM function controls all interactions to the SCA. GLM uses z/OS services provided by the coupling facility (CF) list structure. Each resource manager has to serialize data in the SCA. GLM does not perform locking when the data in the SCA list is updated.

Group basic services (GBS)


The GBS subcomponent provides the following services to a DB2 data sharing group: v Creates an active z/OS cross-system coupling facility (XCF) group when the first member forms a data sharing group v Validates group members as they join the group and continues to monitor members until they leave the group v Provides query information and services for group members v Gathers information from resource managers for DISPLAY GROUP processing

IMS attachment (IA)


The IMS attachment (IA) subcomponent provides a connection between IMS and DB2. Application programs running in an IMS MPP, BMP, DL/I batch or fast-path (IFP) environment, can use both IMS and DB2 functions. Application programs access IMS functions using DL/I via the IMS language interface, and access DB2 functions using embedded SQL statements. Refer to DB2 Application Programming and SQL Guide for details about DB2-DL/I batch support.

48

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The IMS attachment subcomponent operates as a logical extension of IMS and runs in both control and dependent regions to provide a telecommunication link to DB2 as illustrated in Figure 8.

DB2 IMS IMS Attachment Control DFSxxxxx

Application Program-MMP DFSLI000

SQL

(IMS)

(IMS)

(SQL)

Note 2 DFSxxxxx Note 1 Note 2 (SQL) DB2-DL/I Batch Support DL/I Calls Note 2 DB2 DB2 IMS Attachment (SQL) DL/I (SQL)

Figure 8. IMS attachment conceptual structure

Notes to Figure 8: 1. Command and control region coordination. 2. Dependent region coordination.

Internal Resource Lock Manager (IRLM)


The IRLM is a formal subsystem of z/OS that provides resource locking facilities to other z/OS subsystems. The IRLM performs: v Request handling v Deadlock detection v IRLM-IRLM communication processing v Storage management v Modify command processing v Initialization v Termination v Dump and CTRACE format support Request handling: The IRLM request handler performs all interactions with the other z/OS subsystems to which IRLM provides services. This includes processing lock requests, invoking exit routines, and maintaining the IRLM intra-system lock control block structure. Deadlock detection: The IRLM detects deadlocks, and suspends additional user requests when there is a deadlock.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

49

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

IRLM-IRLM communication processing: IRLM uses z/OS cross-system extended services (XES) to do global locking for data sharing. IRLM uses z/OS cross-system coupling facility (XCF) services for IRLM-IRLM communication and resource sharing. For DB2 data sharing, IRLM uses an XCF lock structure (LOCK1) to keep global lock information. The LOCKTAB name specified in the startup procedure is the name of the XCF lock structure. Storage management: The IRLM storage management function performs the following subfunctions: v Loads IRLM load modules v Builds JOBPACK queue entries for IRLM control block storage areas v Gets storage elements v Frees storage elements. IRLM uses z/OS services to load IRLM load modules. z/OS services manages the appropriate JOBPACK queue entries for the load modules. IRLM builds JOBPACK queue entries for IRLM control block storage entries. Modify command processing: This function processes several commands which affect IRLM status, including: v STATUS: Displays the status of an IRLM v ABEND: Causes an immediate ABEND of the IRLM An SDUMP of the IRLM address space and z/OS storage might be taken If you are using the z/OS Automatic Restart Manager (ARM), ABEND, NODUMP causes IRLM to deregister from ARM before IRLM terminates. z/OS ARM will NOT restart IRLM. Initialization: This function loads the IRLM load modules and invokes their initialization entry points. Upon completion of this function, IRLM operator command support is enabled. If you are using the z/OS Automatic Restart Manager (ARM), IRLM registers with ARM during initialization. Termination: The IRLM termination function includes three types of termination processing: v Normal termination v Abend v IRLM SSI End of Task. If you are using the z/OS Automatic Restart Manager (ARM), IRLM deregisters from ARM during normal termination as a result of: v A STOP irlmproc command v A MODIFY ABEND,NODUMP command v Automatic stop of IRLM. This occurs when the last subsystem terminates and IRLM was automatically started. Dump and CTRACE format support: This function consists of the following parts: v Offline dump formatting load modules that execute in the IPCS environment v Online trace services including: An internal IRLM trace function A build and submit CTRACE records function

50

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Instrumentation facilities (IF)


The instrumentation facilities (IF) subcomponent provides serviceability and performance trace, dump services, accounting, and statistics services for DB2. Trace: The trace function collects and records data for diagnosis and performance tuning. Trace is invoked by most DB2 CSECTs. Trace can be automatically activated at DB2 startup, or manually by operator command. The IFC selective dump function can also write DB2 records to an z/OS OS data set, rather than to z/OS SMF or GTF data sets. Writing records to an OS data set allows for the timely use of trace data for diagnosis. For more information see DSN1SDMP utility on page 278 and DB2 Utility Guide and Reference. Dump services: Dump services provide pertinent DB2 data areas and diagnostic information. Dump services are also used off line to format DB2 information. Dump services include the following functions: v Common SDUMP invocation: Determines the pertinent DB2 data areas to be included with the dump data set and invokes z/OS SDUMP. v Selective Dump function: the selective dump function consists of two features: It can select any data within a trace record, and, if the selection passes, can optionally cause a dump. It can also write DB2 trace records to an z/OS OS data set. See DSN1SDMP utility on page 278 and DB2 Utility Guide and Reference. v SDWA data gathering: Updates the SDWA with DB2 diagnostic information.

Initialization procedures (IP)


The initialization procedures (IP) subcomponent, also known as startup/shutdown, is responsible for initializing and terminating DB2 Startup: IP performs the following subsystem startup functions: v Starts the system services, database services address spaces, and depending on startup options, the distributed data facility services address space v Builds subsystem control blocks (SCOM, RMFT, RMVT, ASCE, ASST, MEPL) v Loads the required subsystem load modules v Creates program call linkage tables v Invokes the required subcomponent initialization code v Initiates subsystem restart data recovery procedures v Notifies resource managers that the subsystem is ready. Shutdown: IP performs the following subsystem shutdown functions: v Sequentially disconnects all allied address spaces v Invokes resource managers to perform subsystem cleanup processing v Invokes service task termination functions v Collapses subsystem control structures v Terminates the database services, system services address spaces, and the distributed data facility services address space, if started.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

51

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

LOB manager (LOBM)


The LOB manager (LOBM) subcomponent provides services to other DB2 subcomponents for accessing data stored in LOB table spaces. LOBs include all objects of data type binary large object (BLOB), character large object (CLOB), or double-byte character large object (DBCLOB). LOBM services include the following: v LOB data manipulation v LOB file reference management v LOB locator management v LOB space management v LOB data manipulation: The LOB data manipulation services allow other DB2 subcomponents to retrieve, insert, load, delete, and update LOB values in DB2 databases. Those services also control searching for character strings in LOB objects to support predicates that include LIKE and POSSTR. | | | | | | | | LOB file reference management: A LOB file reference variable manages the movement of LOBs from the database server to an application or from an application to the database server without going through the memory of the application. The other advantage that the file reference variables gives is that it bypasses the host language limitation on the maximum size allowed for dynamic storage to contain a LOB. So, you can insert a LOB from a file into a DB2 table, or, select a LOB from a DB2 table to put into a file without having to acquire any application storage. LOB locator management: A LOB locator is a mechanism used to refer to a LOB. Because LOBs can be very large, it is often inconvenient or impossible to load an entire LOB into memory. LOB locators enable application programs to operate on LOBs without bringing them into memory. LOB manager locator services create and free LOB locators. If an application requests that a LOB locator persist past the end of a unit of work, LOB manager locator services also perform this function. Sometimes, LOB values must be materialized in storage. Examples of when materialization is necessary are: v A LOB is an argument of a user-defined function. v A LOB is moved into or out of a stored procedure. v A LOB host variable is assigned to a LOB locator host variable. v A LOB needs to be converted. v A LOB and a XML are inserted into DB2 on the same insert statement in distributed environment. If a LOB must be materialized in storage, LOB manager acquires storage above the 2 GB bar. The amount of storage used for LOB materialization depends on a number of factors, including: v The size of the LOBs v The number of LOBs in a statement that need to be materialized Field QXSTLOBV in statistics or accounting traces for IFCID 0002 or IFCID 0003 contains the maximum amount of storage used for LOB materialization.

| |

52

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Space management within LOB table spaces: These services manage space within LOB table spaces. These services locate a page with sufficient space during insert operations, return space as a result of delete operations, and reorganize the LOB table space when the REORG utility is run.

Message generator (MG)


The primary functions performed by the message generator (MG) subcomponent are the generation and routing of system messages, including the optional substitution of variable parameters within the messages generated. This function is provided for subcomponents that operate within the DB2 environment, and also for subcomponents that must operate in a stand-alone environment (for example, the utilities subcomponent). In addition to this primary function, the message generator subcomponent also provides the ability to create the system message directory and to define certain system initialization parameters (for example, the z/OS console to which system messages are routed, the number of log records between checkpoints, and trace parameters). The message generator uses the services of the system parameter manager subcomponent, which provides low-level access to parameter directories as specified by MG.

Precompiler (PRE)
The precompiler (PRE) subcomponent validates and translates SQL statements in application programs. Access to databases from supported host languages is accomplished by coding SQL statements at the appropriate points in the source code or by indicating that dynamically built statements must be translated. The precompiler scans the source code before it is compiled or assembled, performs some validation of the SQL statements, and converts the SQL statements into calls and parameters for DB2. The SQL statements can be of the following types: v Definitional: These create, alter, and drop DB2 objects, such as tables, views, and databases. v Authorization: These GRANT and REVOKE privileges to DB2 users. v Manipulative: These can read from or write to DB2 databases. v Declarative: These describe attributes of objects referred to by executable SQL statements (for example, cursors). v Include: These copy the specified member from a partitioned data set into the submitted source code. v Exception control: These associate the specified exception condition with the action to be taken when the condition occurs (for example continue, or go to a user routine). As the precompiler reads and scans source programs, it replaces each SQL statement with a CALL and parameters to a language and environment-dependent library load module. At execution time, control is passed from the application program via the CALL to an entry point in the attachment facility. The information in each SQL statement is packaged in a database request module (DBRM), which is written to an external data set. This DBRM is used by the RDS subcomponent to construct executable code for processing the SQL statements.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

53

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The DSNH CLIST uses the TSO command procedure (CLIST) language to invoke the precompiler, language translators, z/OS linkage editor, and BIND and RUN subcommands of DSN. Diagnostic considerations: The precompiler does not use ESTAE to intercept abends, so standard system abends can occur. PRE does not use the SYNAD I/O error exit, so I/O errors cause S001 or S002 abends.

Relational data system (RDS)


The relational data system (RDS) subcomponent performs SQL processing. SQL processing includes the parsing of SQL statements, interpretive processing of definitional SQL statements, and compilation processing of manipulative SQL statements, which includes selection of access paths and generating unique run-time structures and control blocks for each SQL statement. RDS processing consists of the following functional areas: v Parser v Interpreter v Authorization control v Optimizer v ASL generator (ASLGEN) v Structure generator v Run-time executor v Executives v Sort v Initialization and termination v RDS program request handler v SQL EXPLAIN v Date and time exit routines v Catalog access facility v Pipe manager v Stored procedures manager v Trigger manager Parser: The parser analyzes an SQL source statement passed as input, performs syntactic and some semantic checking, and produces as output a tree-structured form of the statement (called a parse tree). The parser is invoked by the executives function. Interpreter: The RDS interpreter processes SQL definitional statements, such as CREATE, ALTER, and DROP. A parse tree form of the statement, built during the bind process, is passed as input from the executives function. Processing of the parse tree includes the following steps: v Validity checking of the operation v Creation of appropriate internal descriptors v Modification of the catalog to reflect the creation of a new data object, altering an existing object or dropping an object v Invocation of the authorization function to GRANT appropriate authorization to the creator of the new data object. If data definition control support is installed, before a DDL statement is processed, the application registration table and the object registration table are checked. Depending on the installation options governing the interpretation of the

54

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

application registration table and the object registration table, DDL statements are processed, dependent on the plans that issue them and the object names they use. Execution of definitional statements is performed synchronously within the execution unit of the agent which originated the statement. Authorization control: The authorization control function is responsible for determining access eligibility to data objects. When a new data object is created, the authorization ID of the owner is recorded in the authorization tables of the catalog. The owner has full access rights to the data object created, and can GRANT any or all access rights over the data object to other authorization IDs. The owner can also REVOKE any access right originally granted. The processing of SQL authorization statements (GRANT and REVOKE) is similar to the processing of definitional statements. That is, at run time, the CALL placed in the application program by the precompiler causes control to be passed to the authorization function through the executives, which provide as input a parse tree form of the GRANT or REVOKE statement. The authorization control function performs validity checks on the parse tree and makes the appropriate modifications to the authorization tables of the catalog to reflect the occurrence of the GRANT or REVOKE. Optimizer: The RDS optimizer prepares a single SQL statement for execution. Input consists of the parse tree for that statement, created by the parser. The following functions are performed by the optimizer: v Authorization checking: The optimizer invokes the authorization control function to ensure that the requester of an operation has the appropriate authority. v Symbol resolution: Names of tables, views, and columns are verified against the contents of the catalog. Internal identifiers of such are saved for use by ASLGEN in preparing the run-time structures to communicate with data manager. v Semantic checking: The SQL statement is checked for validity of meaning. For example, the operands of each comparison operator are checked to see that they are comparable. v Access path selection: A plan for executing each database request is selected by considering both the access paths (including indexes) available and statistics on the data to be accessed. See Part 5 (Volume 2) of DB2 Administration Guide for more information on access path selection. The plan developed by the optimizer, along with a parse tree form of the SQL statement, is passed to the access specification language (ASL) generator (ASLGEN). ASL generator (ASLGEN): The ASL (access specification language) generator uses the parse tree, plan information, and catalog information developed by the optimizer to construct the run-time control blocks necessary to invoke the data manager for execution of the SQL statement. These control blocks are linked to the parse tree to form the ASL tree (which is passed to the structure generator). Structure generator: The structure generator traverses the ASL tree, produced by the ASL generator, and generates an access module that is composed of a series of run-time structures. Each run-time structure contains a function code, which identifies a specific operation, and the necessary operands to perform the function.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

55

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The structure generator is invoked both at static bind and dynamic bind by the executives to process an SQL manipulative statement. Run-time executor: The run-time executor carries out the execution of an SQL statement according to the functions specified in the run-time structures. Run-time processing is driven by the run-time structures and the call type, such as open or fetch. The run-time executor is passed a pointer to the highest level run-time structure, which can contain pointers to other run-time structures, which can contain pointers to still more run-time structures. All are processed in order until the last run-time structure has been processed or an error condition is encountered. Executives: The executives provide a connection to RDS functions and contain general services used throughout RDS. These general services include: v Communication between SQL and the application v Storage acquisition, tracking, and freeing v Error handling v PREPARE processing v DESCRIBE processing v Bind processing v Manipulative SQL statement execution by passing control to run-time executor v CONNECT / CONNECT TO / CONNECT RESET processing v COMMIT / ROLLBACK / NEWUSER processing v RDS router v Relocation support. Sort: This function enables run-time routines to sort data stored in data manager temporary files. This sorting is required for such SQL functions as join, GROUP BY, DISTINCT, and ORDER BY. Initialization and termination: This function is invoked by the service controller subcomponent and is responsible for coordinating RDS initialization and termination processing. A major portion of the RDS initialization and termination processing is the loading or deleting of the RDS program request handler which resides in the common service area (CSA). In conjunction with loading or deleting the RDS program request handler, this function must also establish or break the linkage between the RDS program request handler and DB2. RDS program request handler: The RDS program request handler resides in the common service area. Its function is to serve as an intermediary between the system support services (SSS) program request handler and RDS. When invoked by the SSS program request handler, it invokes RDS; when the RDS request has been completed, it places feedback in the callers SQLCA. SQL EXPLAIN: The RDS subcomponent provides the SQL EXPLAIN function, which handles requests for information about the decisions that DB2 makes about processing an SQL statement. In processing the EXPLAIN statement, the RDS places information into the PLAN_TABLE table, which is provided by the administrator initiating the EXPLAIN. Information in the table indicates: v The order in which tables are accessed v What indexes are used v The methods used to evaluate the SQL statement. Date and time exit routines: The DATE and TIME exits enable a site to convert date and time values into a site-defined format or into one of the formats provided

56

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

by DB2. These routines are invoked when date or time data is input to or output from DB2 and are called by the relational data system (RDS) subcomponent or the DB2 utility (UT) subcomponent (through the LOAD utility). For more information about DATE and TIME exits, see Appendix B (Volume 2) of DB2 Administration Guide. Catalog access facility: The catalog access facility of RDS provides certain DB2 subcomponents access services to the DB2 catalog. It determines the correct access to the catalog and builds a request that is passed to the data manager (DM) subcomponent which actually accesses the catalog. The following subcomponents use this service of RDS: v Authorization portion of RDS v Interpreter portion of RDS v Utilities (UT) v Service controller (SC) v Distributed Data Facility (DDF). Pipe manager: The pipe manager uses sequential prefetch to schedule data processing for queries through a data pipe. Data from several partitions of one or more tables is sent through the data pipe and returned to the user. The pipe manager maintains a global pipe structure for the DB2 subsystem in which each pipe represents a portion of a query. The pipe manager provides protocols, or pipe, between the producer of the rows needed for a query and the consumer of those same rows. Producers retrieve data from the data manager and feed it to the data pipe. Consumers take data from the data pipe, by invoking the run-time executor, and return it to the user. The pipe manager merges all of the producers output and makes it available for the consumers. Stored Procedures Manager: The Stored Procedures Manager performs stored procedures initialization and control. | | | | WLM starts the stored procedures address spaces. Stored Procedures Manager passes CALL statement and user-defined function invocations to WLM, which assigns them to service tasks. Service tasks in a WLM-established address space use RRSAF to communicate with DB2. The number of service tasks that can be run in a stored procedures address space is equal to the value of NUMTCB in the address space startup procedure. The Stored Procedures Manager also provides the following function: v Support for -DISPLAY, -FUNCTION, -START, and -STOP PROCEDURE commands Trigger Manager: The trigger manager performs the following functions to support the execution of triggers: v Environment stacking for triggers, UDFs, and stored procedures

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

57

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

This function saves and restores the run-time environment to support multiple calls to the same UDF or stored procedure, or multiple invocations of the same trigger. v Recursive package management This function handles multiple calls within a program to the same trigger or UDF package. v Transition table management This function keeps track of old and new transition tables and supports passing of transition tables to UDFs through transition table locators. v Trigger executor function This function builds structures for input host variables and calls the run-time executor to execute a trigger.

Recovery log manager (RLM)


The recovery log manager (RLM) subcomponent supports other DB2 resource managers by reading and writing data on the DB2 recovery log and by copying active log data sets to archive log data sets as the active log data sets become full. The recovery log can be logically viewed as a vast buffer. As log records are built, they are assigned ascending relative byte addresses (RBAs) and mapped into physical data sets as described by the bootstrap data set (BSDS). Dual recording is available as an option for all RLM data sets. For DB2 data sharing, log records are read from the data sharing group, or from selected members of the data sharing group, in merged log record sequence number (LRSN) sequence. In addition to online log support, the recovery log manager provides the RECOVER BSDS command, the ARCHIVE LOG command, and the following utility functions which execute as z/OS jobs: v The change log inventory utility, which updates the BSDS to indicate changes in the log data set inventory. v The print log map utility, which produces a listing showing the log RBAs and LRSNs contained in each log data set. All active and archive data sets that contain log data are included in the listing, as well as all active log data sets that are available for use, all conditional restart control records, the subsystem checkpoint queue, and the DDF communication record. v The DB2 stand-alone log services, which provides an assembler language macro capability enabling user-written application programs to read the DB2 log from an z/OS job environment. v The Log Format utility, which preformats new active log data sets. The recovery log manager uses DASD for active log data sets, and either DASD or tape for archive log data sets. The recovery log manager maintains the following data sets: v Active log data sets, which contain the log records written during DB2 execution v Archive log data sets, which are dynamically allocated by the RLM as they are needed and recorded in the BSDS v The bootstrap data set, which contains an inventory of all active and archive log data sets, the log RBA limits of each log data set, and a list of data sets available to be used as active log data sets. The following subfunctions are provided by the recovery log manager:

58

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v v v v v v v v v v v v v v v

Open log for write Set write cursor Check log record written Close log for write Open log for read Set read cursor range Read log record Close log for read Read BSDS record Write update BSDS record Insert new BSDS record Delete BSDS record Stand-alone log open Stand-alone log read Stand-alone log close.

Recovery manager (RM)


The recovery manager (RM) subcomponent supplies coordination services that control the interaction of DB2 resource managers during the following processes: v Commit v Abort v Checkpoint v Restart. The RM also supports the recovery mechanisms of other subsystems (for example, IMS) by acting as a participant in the other subsystems process for protecting data that has reached a point of consistency. At the beginning of each unit of recovery (UR) for a given agent, the recovery manager obtains a log write cursor for that UR; this cursor is subsequently used by all resource managers when writing log records on behalf of the agent during the UR. When resource managers write records to the recovery log, they can specify one or more generic log record types. Individual resource managers can establish record selection criteria during restart to notify the recovery manager which record types are to be presented during a particular recovery phase. The recovery manager determines which URs require processing during restart, but the individual resource manager determines the record types needed to accomplish a specific corrective action. Commit: The recovery manager coordinates the actions of the DB2 resource managers that are involved in the commit process as described in The DB2 commit process on page 15. For data sharing, the recovery manager also tracks the log record sequence number (LRSN) for each DB2 subsystem that is a member of the data sharing group. Abort: The RM provides the coordination associated with the backing out of actions performed by an agent since the prior commit point. It invokes the appropriate resource managers to undo the actions attempted by the agent, and provides resource managers with log record type selection services during the abend process. Checkpoint: The RM provides the coordination necessary for the successful completion of a DB2 checkpoint operation. The resource managers involved are invoked by the RM and record their status information as part of the checkpoint data. Three general types of checkpoint are supported:
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

59

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v Subsystem checkpoint (taken while the subsystem continues to execute in its usual mode) v Shutdown checkpoint (taken after the subsystem has been quiesced as part of the shutdown process) v End restart checkpoint (taken at the end of DB2 restart). Restart: The recovery manager provides the coordination required to ensure resource consistency when DB2 is started. It invokes the appropriate resource managers, making their checkpointed information available to them as needed. Three general types of restart can occur: v Warm (which uses a shutdown checkpoint to restore the subsystem) v Emergency (which uses last complete checkpoint plus recovery log information to restore the subsystem) v Conditional (which uses a conditional restart control record to control the restart process. Refer to Part 4 (Volume 1) of DB2 Administration Guide for more information.) The bootstrap data set maintained by the recovery log manager is used to obtain information required to establish the restart environment.

Resource Recovery Services attachment facility (RRSAF)


The Resource Recovery Services attachment facility (RRSAF) subcomponent of DB2 allows application programs to connect to and use DB2. It is a low-level attachment facility that uses the Resource Recovery Services (RRS) for commit control. RRSAF has all the capabilities of the call attach facility. In addition, RRSAF provides these capabilities: v Sign-on capability This is the ability to establish a new primary and possibly several secondary authorization IDs for the connection to DB2. v z/OS-wide coordinated commit control for resources accessed by the following types of DB2 programs: applications that connect to DB2 using Resource Recovery Services attachment facility stored procedures that execute in a WLM-established address space v The ability to switch a DB2 thread from one TCB to another An application must be APF-authorized to use this feature.

Resource Recovery Services attachment facility control functions


The external RRSAF control functions are: v IDENTIFYEstablishes the callers task as a user of DB2 services. v SWITCH TOdirects RRSAF, SQL and/or IFI requests to a specified DB2 subsystem. SWITCH TO is useful only after a successful IDENTIFY call. v SIGNONProvides a user ID and, optionally, one or more secondary authorization IDs for the connection and invokes the signon exit. v AUTH SIGNONPerforms one or both of the following functions: Provides an ACEE Provides an already verified authorization ID and, optionally, one or more secondary authorization IDs for the connection and invokes the signon exit. This function is available to APF-authorized programs only.

60

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v CONTEXT SIGNONEstablishes a primary authorization ID and one or more secondary authorization IDs for a connection. v SET_ID and SET_CLIENT_IDSet end-user information that is passed to DB2 when the next SQL request is processed. v CREATE THREADAllocates DB2 resources for the application. v TERMINATE THREADDeallocates DB2 resources. v TERMINATE IDENTIFYTerminates a connection to DB2. v TRANSLATEConverts an RRSAF reason code to an SQLCODE and message text and puts them in an SQLCA. The internal RRSAF control functions are: v ASSOCIATE THREADReassociates the current TCB with a DB2 thread. v DISSOCIATE THREADDissociates the current TCB from its connected DB2 thread. v IDENTIFYJPerforms an IDENTITY when the caller is the JDBC driver. RRSAF processing does not establish a trusted context. v SET_TRUSTEDEstablishes a trusted connection with DB2 if a matching trusted context is found for the primary authorization ID and started task name. v SWITCH_USERSwitches user in the trusted connection if the user is allowed in the trusted context.

| | | | | |

Language interface
A DB2 language interface (LI) load module is provided as part of the RRSAF code. It is named DSNRLI and has ALIASes of DSNHLIR and DSNWLIR. The RRSAF LI has five entry points: DSNRLI, DSNHLI, DSNHLIR, DSNWLI, and DSNWLIR. Entry point DSNRLI is for DB2 connection service requests; DSNHLI and DSNHLIR are for SQL calls; DSNWLI and DSNWLIR are for IFI calls. Applications should load the RRSAF LI. This makes it easier to maintain because only one copy exists in the system. The likelihood that the application requires modification because of changes to the LI load module is also reduced. The precompiler always sends SQL requests to DSNHLI, even though there can be different versions of this entry point in the system. To preserve compatibility with precompiler-generated calls to DSNHLI, the application should use a dummy entry point named DSNHLI. When the precompiler passes control to the dummy DSNHLI, the application should do nothing but pass control to DSNHLIR, preserving the parameter list as it does so.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

61

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Figure 9. Sample Resource Recovery Services attachment facility configuration

Service controller (SC)


The service controller (SC) subcomponent mediates between system services and database services, to coordinate functions that span several database services subcomponents and to support the bind and the database commands. The service controller provides services in the following areas: v Agent local notification v Bind, rebind, and free processing v Database services checkpoint/restart v Database command processing v Dump services

62

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v v v v v

Database services functional recovery Internal resource lock manager services Task manager Database services initialization and termination Resource limit facility (governor).

Agent local notification: This function coordinates the following events: v Caching of local data structures v Begin abend v Final abend log record v Commit phase 1 v Commit phase 2 v Authorization ID change v Plan allocation and deallocation. Bind, rebind, and free processing: These functions support requests to bind, rebind, or free a DB2 plan or package. It coordinates the various subcomponents involved during the generation of structures required to support the plan or package. Database command processing: This function receives control to process a request made to start, stop, or display information about a database, table space, index space, or a partition of a table space or index space. Dump services: This function is called when a dump is taken. It adds entries to the list of structures (such as storage pools) to be dumped and invokes other database services subcomponents to allow them to add entries to the list. Database services functional recovery: This function determines the area of processing in which the error occurred and invokes any special error handling routines for database services environment cleanup to ensure the release of all subsystem resources held. Internal resource lock manager services: This function: v Identifies database services as a user of IRLM services v Informs IRLM that there are no more DBS lock requests because of normal or abnormal subsystem termination v Supports the following IRLM exits: Deadlock resolution Work unit request suspend Work unit request resume Status Notify Timeout P-lock DB2 data sharing uses the IRLM Notify process for inter-system messaging for data-sharing. Task manager: This function provides services to a resource manager to run parallel tasks as pre-emptible SRBs running in the Database Services address space (ADMF) The SRBs priority is inherited from the invoking address space (either allied or DDF address space). Database services initialization and termination: This function receives control from the initialization procedures subcomponent and is the only database services

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

63

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

subcomponent to receive notification of DB2 initialization and termination. It coordinates the initialization and termination functions of all database services subcomponents. Resource limit facility: By providing a processor usage limit for manipulative dynamic SQL statements, this function prevents runaway queries and updates. The RLF can also disable query parallelism modes for dynamic statements. The RLF also prevents binds to save on resource use. The predictive capability of the RLF provides information on the estimated cost of a particular static or dynamic SELECT, INSERT, UPDATE, or DELETE statement. Administrators can then use that information to set time limits for execution of SQL statements.

Stand-alone utilities (SU)


Stand-alone utilities (SU) provides the following function for DB2 table spaces and indexes: v Data compression estimates (DSN1COMP) v Data copy (DSN1COPY) v Data print (DSN1PRNT) v Data validation (DSN1CHKR) v Recovery log extraction (DSN1LOGP) v Selective dump function (DSN1SDMP) Most of these utilities can be used whether or not the DB2 subsystem is up and running; DSN1SDMP, however, can be used only if DB2 is up. If the DB2 subsystem is up, ensure that the data sets involved are not currently allocated to DB2. Initiate a -STOP DATABASE command to ensure this. Initiate a -STOP DB2 command to ensure that the active log is not allocated to DB2. In this way, DSN1LOGP can read out of the active log. See DB2 Utility Guide and Reference for information about how to use these stand-alone utilities. Data compression estimates (DSN1COMP): DSN1COMP estimates space savings to be achieved by DB2 data compression in table spaces. Data copy (DSN1COPY): DSN1COPY copies DB2 table spaces and indexes to SAM or VSAM data sets. In certain limited situations, DSN1COPY can copy table spaces and indexes to other DB2 table spaces or indexes. Data print (DSN1PRNT): DSN1PRNT prints the DB2 table spaces and indexes in hexadecimal format. Data validation (DSN1CHKR): DSN1CHKR validates one or more data pages in the DB2 catalog or directory whenever there is reason to believe that data inconsistencies exist in the link or hash chains in those pages. Recovery log extraction (DSN1LOGP): DSN1LOGP extracts portions of the recovery log and formats and displays the extracted portions. This program can also prepare a summary for all units of recovery within the specified portion of the recovery log. Ifc selective dump (DSN1SDMP): DSN1SDMP can, under the direction of IBM service, take dumps and write diagnostic trace records.

64

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Storage manager (SM)


The storage manager (SM) subcomponent provides a set of main storage management services to meet the needs of DB2. These services, available to DB2 subcomponents operating in either TCB or SRB mode, are: v Resource manager functional support v Startup/shutdown support v End-of-memory support. Storage is managed in pools, with each pool further divided into blocks. Pools can be fixed-length storage, variable-length storage, or variable-length stack storage; each type is described later in this section. For fixed-length storage pools and variable-length storage pools, a resource manager in the ADMF address space can direct the storage manager to allocate the storage pool in a data space. Storage manager can allocate up to 10 data spaces in a subsystem. Resource manager functional support: The storage manager allocates and deallocates blocks of storage for the resource managers, as required, from the three types of pools available. Startup/shutdown support: The storage manager is invoked during startup/shutdown to GETMAIN and FREEMAIN pools and/or blocks of storage, as required, to initialize DB2. End-of-memory support: The storage manager releases all allocated storage in response to allied and subsystem end-of-memory broadcasts. Types of storage pools: Each pool is further divided into blocks. The storage manager acquires and maintains three types of storage pools: v Fixed-length storage In fixed-length storage pools, all blocks of storage within the pool are the same length and are represented by a pool header block (PHB). An example of the use of this type of storage is for control block allocation and deallocation. Fixed-length storage can be restored in any sequence. v Variable-length storage In variable-length storage pools, all blocks of storage within a pool are variable in length and are represented by a PHB. An example of the use of this type of storage is building variable-length log records. Variable-length storage can be restored in any sequence. v Variable-length stack storage Variable-length-stack storage is more commonly referred to as stack storage. All blocks of storage within a stack storage pool are of variable length and are represented by a stack storage block (SKB). An example of the use of this type of storage is for register save areas. Stack storage must be restored in the reverse order of acquisition.

System parameter manager (SPM)


The system parameter manager (SPM) subcomponent provides directory services for use by other resource managers. The primary directory maintained by the SPM is a directory of system initialization parameters called the system parameter directory.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

65

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The parameters contained in the system parameter directory are obtained from a load module that is loaded at subsystem startup time, and also from keyword parameters specified in the -START DB2 command. After the system parameter directory is created at subsystem startup time, the values of the parameters remain fixed until the subsystem is stopped or abends. DB2 resource managers can access the parameters individually by name. In addition, resource managers can use SPM directory services to create their own directories; an example is the message directory used by the message generator.

Subsystem support subcomponent (SSS)


The function of the subsystem support subcomponent (SSS) is twofoldto provide the mechanism necessary for communication between DB2 and other (allied) address spaces and to provide support of DB2 as a formal z/OS subsystem. The SSS includes the following functional areas: v Application program support v Allied address space connection v z/OS subsystem interface support v Subsystem initialization and termination processing. Application program support: This function links application programs to the allied address space connection function. It consists primarily of CSECT DSNAPRH, which is link-edited with the application program, an identify service CSECT (DSN3ID00), and the program request handler DSNAPRHX, which resides in the common service area. If the program is requesting an identify operation, the identify service CSECT constructs an SSI (subsystem interface) identify broadcast that is processed by the allied address space connection function. If the request is other than identify, DSNAPRHX issues an RARQ to the resource manager function. If you are trying to determine which DB2 subsystems are being used, the group attachment name is used by TSO/batch and CAF as a generic attachment name for DB2 subsystems running on the z/OS system that the job was submitted for. The name defines the list of DB2s in the group. Allied address space connection: This function supports non-DB2 subsystems that request DB2 resources and services. This functional area provides the following capabilities: v Allied address space access control: This contains connection processors that perform the identify, sign-on, create thread, and terminate functions. (For a general description of the connection process, see The DB2 connection process on page 11.) v Commit/abort processing: The SSS mediates between the requester of commit or rollback operations and the recovery manager, which coordinates the actual recovery operations. v Establish exits: This enables identify-level agents to specify an ECB that is to be posted if a -STOP DB2 command is issued or DB2 abends. v Allied address space abends support: When an SSI broadcast is received for an end-of-task or end-of-memory event in an allied address space, the affected agents are driven through rollbacks by this portion of the SSS.

66

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v Restart support: The SSS provides support to the recovery manager, allied agents, and the -RECOVER INDOUBT command processor during subsystem restart after the abend of one of the participants in the commit process. v Associate thread function for CICS: This function creates a new association between the caller task (TCB) and a previously dissociated thread designated by the caller. v Dissociate thread function for CICS: This function removes the existing association between the calling task (TCB) and its connected DB2 thread. v Associate thread function for RRSAF: This function creates a new association between the caller task (TCB) and a previously dissociated thread designated by the caller. v Dissociate thread function for RRSAF: This function removes the existing association between the calling task (TCB) and its connected DB2 thread. z/OS subsystem interface support: This SSS function receives z/OS subsystem interface broadcasts and invokes the DB2 subcomponents responsible for processing them. Subsystem initialization and termination processing: During the z/OS IPL process, the SSS obtains and initializes the ERLY control block, builds System/370 dual address space facility PC linkage tables for the subsystem interface, and builds the z/OS subsystem vector table (SSVT) for DB2. As part of the DB2 termination process, SSS posts all ECBs specified in establish exits requests to notify the allied agents that DB2 is terminating. If the STOP command is in QUIESCE mode, the SSS waits until all allied agents have disconnected from DB2 before it disconnects DB2 from the subsystem interface. Diagnostic considerations: Load module DSN3EPX is loaded during the z/OS IPL initialization process. (The CSECTs within this load modules are also known as the ERLY code.) DSN3INI initializes DB2 as a subsystem and then terminates. DSN3EPX remains loaded in CSA, but is logically associated with the master scheduler address space and, thus, cannot be deleted during the life of the IPL. If you receive a fix from IBM and apply it to a CSECT in these load modules, the fix does not take effect until the next IPL. A shared SYSTEM ENQ is issued by the subsystem support subcomponent for every SSI broadcast received from any TCB in any address space. The exceptions to this are end-of-task and end-of-memory broadcasts. An ENQ is only issued if the involved TCB/address space is known to DB2. During DB2 initialization and termination, an exclusive ENQ having the same resource name is issued. These ENQs prevent access to the SSI paths by allied agents during periods when DB2 is neither fully initialized nor completely dormant. The QNAME and RNAME specified on the ENQs are SYSZDSN3 and ERLYOLRH.ERLY-block-address, respectively. During the connection and disconnection of an allied address space, an exclusive STEP ENQ is issued by SSS. This ENQ ensures the serialization of all allied address space connection and disconnection processing within that single address space. The QNAME and RNAME specified on the ENQ are SYSZDSN3 and DSNYALLI, respectively.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

67

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

TSO attachment (TA)


The TSO attachment (TA) subcomponent provides a connection between user-written application programs running in a TSO environment and DB2. It also helps users develop programs. Two command processors are available: v DSN command processor, which uses a linear syntax v DB2 Interactive (DB2I), which uses a full-screen syntax and invokes the DSN command processor. DSN command processor: The DSN command processor is a formal TSO command processor that runs in TSO foreground or under TSO in JES-initiated batch. It can be invoked directly using a linear syntax or indirectly through DB2I, which provides a full-screen syntax. The DSN command processor invokes: v User application programs via the RUN subcommand (object module DSNELI must be link-edited with the users application to provide a means of communication between an application program and the DB2 environment) v DB2 commands v The declaration generator (DCLGEN) v BIND, REBIND, and FREE subcommands v TSO commands v SPUFI (SQL processor using file input) DB2 Interactive: DB2 Interactive (DB2I) is the Interactive System Productivity Facility (ISPF) interactive connection to DB2. It consists of ISPF panels, ISPF messages, CLISTs, and programs that enable users to invoke the functions listed below. It does this by invoking the DSN command processor. DB2I supports: v All DSN linear syntax functions (with one exception: command processor support is not provided from the RUN panel). v Program preparation. This is a facility to streamline program preparation by permitting a user to precompile, bind, compile, assemble, prelink (C language only), link, and/or run under the control of panels. Program preparation is accomplished by making calls to the DSNH CLIST. v The BIND, REBIND, and FREE subcommands, directly from DB2I panels. Where applicable, they also use the DSNH CLIST, and the DSN subcommand services. v Utilities. The panels/CLISTs combination drives a JCL-building CLIST (DSNU). For most utilities, the user must build a file containing control statements. v SPUFI. This is an online SQL facility for direct access to DB2 databases from ISPF. SPUFI can be invoked as a DSN subcommand, which can be in a CLIST. SPUFI uses ISPF dialog manager facilities to manage terminal interactions with the user. It enables you to: Edit SQL statements Submit SQL statements for execution (in either repeatable read or cursor stability mode) Control the output format, commit processing, and isolation level Browse the results (through ISPF BROWSE) of the SQL statements you submit.

68

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Utilities (UT)
The utilities (UT) subcomponent performs: v Services for other subcomponents v Utility control v Reorganization and loading v Backup v Data and index checking v Recovery v Diagnosis v Collection of database statistics v Modification of recovery data sets. For information about the utilities mentioned here, see DB2 utilities on page 271 and DB2 Utility Guide and Reference. Services for other subcomponents: UT provides these services to other DB2 subcomponents: v Builds an index used by the data managers database descriptor management function. v Records the occurrence of I/O errors and notifies the system console. This service is used by the buffer manager subcomponent. v Records the log relative byte address (RBA) ranges of open page sets. This service is used by the buffer manager subcomponent. v Deletes recovery information concerning a page set that is being deleted or dropped. This service is used by the data managers database descriptor management function. v Sets table space check pending status and updates catalog tables with data used for recovery. Utility control: UT processes 3 DB2 commands: -DISPLAY UTILITY, to determine the status of a utility job, -ALTER UTILITY, to change certain parameters of the REORG utility during execution, and -TERM UTILITY, to terminate a utility job. Those commands are executed only in the DB2 database services address space. UT execution is initiated from within an z/OS batch environment. UT reads utility control statements from the SYSIN data set and connects to associated code in the database services address space to perform the specified functions. For information about the connection process, see The DB2 connection process on page 11. When UT receives control, it verifies the authorization of the invoker before performing the specified function. Reorganization and loading: Two utilities perform these functions: REORG and LOAD. REORG reorganizes table spaces and indexes to help decrease access time to the data. If neither SHRLEVEL CHANGE nor SHRLEVEL REFERENCE is specified when the utility is invoked, the page sets involved are unavailable to other agents during the reorganization process. If SHRLEVEL CHANGE is specified, the page sets involved are available to other agents for read/write access, except for a short period of time. If SHRLEVEL REFERENCE is specified, the page sets involved are available to other agents for read access, except for a short period of time. LOAD loads a DB2 table space using a sequential data set as input. Indexes are built after the table space has been loaded. LOAD validates unique indexes and
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

69

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

checks foreign keys. Unless SHRLEVEL CHANGE is specified, the table space and indexes are unavailable to other agents during the load process. Backup: The BACKUP SYSTEM, COPY and MERGECOPY utilities back up data and record appropriate information in the DB2 catalog. When prior backup data is needed (for example, in a recovery operation), the appropriate catalog records are checked to ensure that the correct data is used as input. | | | | | Data and index checking: The CHECK utility checks table spaces for referential constraints and checks whether indexes are consistent with the data they index. The CHECK utility also checks for consistency between the base table space and the LOB table spaces, invalid LOBs, and it checks for consistency between the base table space and the XML table spaces. Recovery: Five DB2 utilities aid in data recovery: QUIESCE, REPORT, RECOVER, REBUILD INDEX, REPAIR, and RESTORE SYSTEM. The QUIESCE utility establishes a point of data consistency, to which data can later be recovered. The REPORT utility determines the recovery history of a table space or index space. The RECOVER utility recovers specified table space and/or index space data using recovery log and image copies. The REBUILD INDEX utility rebuilds indexes from the data in the table space and recreates indexes in their entirety. The REPAIR utility accesses DB2 data by key, record identifier, or page, and then displays and re-specifies the data. REPAIR should always be used with caution. The RESTORE SYSTEM utility recovers a DB2 subsystem or a data sharing group to a previous point in time. Diagnose: The DIAGNOSE utility generates information useful in diagnosing problems. It is intended for use after direction by an IBM support center. Database statistics: RUNSTATS and STOSPACE utilities allow monitoring performance and DASD space utilization information and the MODIFY STATISTICS utility deletes unwanted statistics history records. RUNSTATS scans tables and related indexes for a specified table space, collecting space usage information (for example, allocated, used, and dropped space) and tuning (for example, record length, and pointer reference locality) information. This information is stored in the catalog for use by the RDS optimizer function and by system administrators and is true for non-LOB table spaces. STOSPACE determines the amount of DASD space allocated for data objects in specified storage groups. The output is stored in the catalog fields associated with the target data objects. | | | | | MODIFY STATISTICS deletes unwanted statistics history records from the corresponding catalog tables. Run MODIFY STATISTICS regularly to clear outdated information from the statistics history catalog tables. By deleting outdated information from those tables, you can improve performance for processes that access data from those tables. Modify recovery data sets: MODIFY RECOVERY deletes SYSIBM.SYSCOPY and SYSIBM.SYSLGRNX records older than a specified number of days or written before a specified date, or all SYSIBM.SYSCOPY and SYSIBM.SYSLGRNX records.

70

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | |

MODIFY RECOVERY also deletes SYSIBM.SYSLGRNX records for table spaces and indexes (with the COPY YES attribute) even if no corresponding SYSIBM.SYSCOPY records exist. The SYSIBM.SYSLGRNX records are deleted according to the AGE or DATE criteria specified by the user. The MODIFY utility checks the authorization of the user, issues appropriate messages, deletes specified records, and updates SYSIBM.SYSLGRNX in the DB2 directory.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 2. Subcomponent descriptions

71

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

72

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 3. System Flow of Control


The flow of control descriptions in this chapter provide a high-level picture of DB2 system operation during the processes listed in Table 2.
Table 2. DB2 system operation flow diagrams System Operation Startup Shutdown (Quiesce) Shutdown (Force) IMS Application Execution TSO attachment TSO RUN TSO with DB2I/SPUFI Call Attachment Facility Application Execution Resource Recovery Services attachment facility application execution General Command Processing Utility Job Create a Thread for an Application Plan Terminate a Thread Process SQL CREATE statement Process SQL CREATE TRIGGER statement Process Trigger Activation and Execution Process SQL INSERT statement Process SQL INSERT with a LOB column Process User-defined Function Call Process SQL Query With Parallelism (CP and Sysplex) Process private protocol SQL Process DRDA SQL to a server Process DRDA SQL from a requester Process Stored Procedure Call Remote Bind at Requester Presumed Nothing Two-Phase Commit Presumed Abort Two-Phase Commit Figure and Page Number Figure 10 on page 79 Figure 11 on page 80 Figure 12 on page 80 Figure 13 on page 82 Figure 14 on page 82 Figure 15 on page 83 Figure 16 on page 84 Figure 17 on page 86 Figure 18 on page 87 Figure 19 on page 88 Figure 20 on page 90 Figure 21 on page 90 Figure 22 on page 91 Figure 23 on page 91 Figure 24 on page 92 Figure 25 on page 93 Figure 26 on page 94 Figure 27 on page 95 Figure 28 on page 96 Figure 29 on page 96 Figure 30 on page 97 Figure 31 on page 98 Figure 32 on page 99 Figure 33 on page 100 Figure 34 on page 101 Figure 35 on page 102 Figure 36 on page 104

These flow descriptions can help to explain how DB2 interacts with other subsystems and how the parts of DB2 work together. The following subcomponent and resource manager abbreviations are used: ASM BM Agent services manager Buffer manager

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

73

DO NOT COPY
DCRM Data communications resource manager DDIS Distributed data interchange services DM Data manager

Restricted Materials of IBM Licensed Materials Property of IBM

DRDS Distributed relational data system resource manager DSM DTM GCP IA IF IP LOBM LOB manager MG PRE RLM RM RDS SC SU SM SPM SSS Message generator Precompiler Recovery log manager Recovery manager Relational data system Service controller Stand-alone utilities Storage manager System parameter manager Subsystem support subcomponent Data space manager Distributed transaction manager General command processor IMS attachment Instrumentation facilities Initialization procedures

STPM Stored procedures manager TA UT TSO attachment Utilities

Startup
z/OS IPL DB2 subsystem interface is initialized and ready to receive -START DB2 command. Establish ERLY code as SSI listening post for z/OS broadcast. If specified, the subsystem name is added to the DB2 group attach name table. If specified, the DB2 prefix is registered with z/OS. -START DB2 command entered at z/OS console. z/OS communications task. z/OS subsystem interface (SSI) command broadcast (IEFSSREQ). (SSS) ERLY code receives the command broadcast. Start the system services address space via MGCR (SVC 34). (z/OS) Process START DSNMSTR z/OS command.

74

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Create system service address space. (IP) Create the DB2 environment in the system services address space. (See data area diagram for DB2 after startup.) Initialize resource managers that execute in or are affiliated with the system services address space. (Refer to Figure 204 on page 762 for data areas related to this step.) (SC) Optionally, start the IRLM address space. If the z/OS system is using Automatic Restart Facility (ARM), register IRLM with ARM. Identify DB2 to the IRLM. (GM) Data sharing startup validation checking. (RLM) Read BSDS conditional restart control record, if it exists. Determine restart type and log scope. Start DB2 database services address space via MGCR (SVC 34). (z/OS) Process START DSNDBM1 z/OS command. Create database services address space. Initialize the resource managers that execute in or are affiliated with the database services address space. (Refer to Figure 203 on page 762 for data areas related to this step.) If the distributed data facility address space is not to be started, invoke an initialization module in its place to structure control blocks so that its absence does not cause errors when a program attempts to access it. If the distributed data facility address space is to be started, perform the following three steps: Start the distributed data facility via MGCR (SVC 34). (z/OS) Process START DSNDIST z/OS command. Create the distributed data facility address space. Initialize the resource managers that execute in or are affiliated with the distributed data facility address space. (IP) Invoke recovery manager restart to recover any resources inconsistent at last termination. (RM) Restart. If BSDS conditional restart control record (CRCR) exists, read it, validate it, update its checkpoint information, and process its begin and end RBA values. Read the log forward from the applicable checkpoint to the end of the log scope to determine any incomplete units of recovery. (RLM) Read a log record. Pass each log record to its owning resource manager. (DM) From DM and BM checkpoint records,
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

75

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

determine oldest record in log that records activity that cannot be guaranteed complete. (RM) From UR control and checkpoint records, develop a list of URs, if any, requiring forward or backward recovery. If CRCR exists, process URs according to CRCR flags (for single DB2 subsystems). If an incompatible request is received, it will cause DB2 abnormal termination and the outcome of the global transaction will be completed during restart processing. Current status rebuild (CSR) for data sharing. No URs completed; no database changes. Determine if SCA or retained locks recovery needed. If SCA available, acquire database exception states. Otherwise, perform group restart to rebuild SCA from its log records or peer copy. Database exception states restored when all members complete CSR. Acquire P-locks for opened pagesets/partitions at the end of CSR. If retained locks are not lost, DB2 reacquires P-locks. If retained locks are lost, the log is scanned to acquire P-locks. Peer SCA recovery (Not for normal restart; only for data sharing restart when the SCA was lost and must be rebuilt) Perform peer SCA recovery if SCA or retained locks recovery required for data sharing. DB2 subsystem checks non-starting peers. Peer DB2 initialization. Peer CSR to rebuild SCA from peers log if SCA is lost. Scan peers log to acquire pageset/partition P-locks. Ensure all group members complete CSR before proceeding. Forward log recovery For single DB2 subsystems: If not suppressed in the CRCR, do forward recovery for any units of recovery that began but did not complete phase two of commit or were indoubt at the last termination. Read the log forward from the oldest record required by any resource manager to the end of the log scope. For data sharing: Do forward recovery for any units of recovery that began but did not complete or were indoubt at the last termination.

76

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Determine if retained locks recovery required. Forward log recovery begins at an earlier point if this DB2 must participate in group restart to rebuild retained locks. Reacquire page P-lock if necessary and reacquire page set locks. Indicate in log that each in-commit UR is complete. Make all database changes for each indoubt UR. Retained locks are reacquired to prevent access to indoubt data after restart. If retained locks are lost, they are reacquired for in-flight and in-abort URs for group restart. Externalize all updates to coupling facility or DASD. Add relevant pages and log ranges to the logical page list (LPL) if problem occurs while applying log record. Enable P-lock exit to permit release of page P-locks.

(RLM) Read a log record. Pass each log record to the owning resource manager. (DM) From redo log records and previously created list of URs, (BM) Open page set not already open. Redo database action from log record content; if to-do, lock data and defer the change. (DSM) Process any DROPs that did not complete. (IDCAMS) delete the data sets. (DM) Reconstruct the state (START/STOP) of page sets. Peer retained locks recovery for data sharing (for group restart when lock structure was lost and must be rebuilt from the logs) Perform retained locks recovery for non-starting peers. Perform peer DB2 initialization. Perform peer CSR to rebuild UR status. Perform peer forward phase to rebuild peer retained locks. Read access to peers BSDS and log data sets required. Ensure all group members complete previous phases before proceeding. Backward recovery If not suppressed in the CRCR, do backward recovery for any units of recovery that did not complete commit phase one or began but did not complete abend at the last termination. Read the log backward from the end of the log scope to the oldest record required. Backward recovery in data sharing: all forward log applies have been performed. Locks protect all in-flight, and in-abort transactions. Reverse all changes performed for in-flight
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

77

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

and in-abort URs. (RLM) Read a log record. Pass each log record to the owning resource manager. Acquire/reacquire page P-locks as needed. (DM) From undo records and previously created list of URs, (BM) Open page set not already open. Undo database action from log record content. (DSM) undo incomplete CREATEs. (DSM) undo incomplete add volumes during EXTENDS (IDCAMS) delete the data sets. (IDCAMS) remove volumes. (DM) Reconstruct the state (START/STOP) of page sets. Notify resource managers that resource recovery is complete. (SC) Pass notification to other database resource managers. (DM) End restart (1). Close stopped page sets opened during restart (for non-indoubt page sets only). (BM) Close page set. Close syslog range, if necessary. Perform special logical open for GBP-dependent page sets (in order to perform cast out processing) Create the RID-block storage pool. Return to SC. | | | | | | | | | | | | | | | | | | | | | | | | | (RDS) End restart. Initialization for definitional control facility (DDL registration). Initialization of the SYSSTRINGS cache. Validation of the catalog level. (DM) End restart (2). Initialize temporary file space (DSNDB07). Initialize indoubt URs. Return to SC. (BM) End restart. Access installation-supplied buffer pool size, and adjust existing pools. Schedule write I/O to databases for any outstanding restart activity. Complete all writes. Purge all retained locks not previously purged or reacquired. Return to SC. Return to RM. Return to IP. Invoke recovery manager for a system checkpoint. (RM) Checkpoint. Invoke resource managers to record their status in the log.

78

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | |

(RM) Logs status of each UR. (SC) Invoke database resource managers. (BM) Write page set checkpoint log records for each open page set. (DM) Write DBET (DBE table) checkpoint log records. (BM) Schedule modified database pages for I/O. Update bootstrap data set (BSDS) restart record to show resource manager status as active and this checkpoint RBA. Data sharing Notify other members of this members start. Return to IP. Permit attachment facility identification and DB2 commands.

Figure 10. Startup

Shutdown (quiesce)
-STOP DB2 MODE(QUIESCE) command received and processed by the general command processor (see the Command flow description). (GCP) Invoke -STOP DB2 command processor. (IP) Stop command; notify SSS and other resource managers that the system is stopping. Quiesce all work--(SSS) Disallow new connections. (SSS) Notify attachment facilities to allow normal termination. (SSS) Inhibit DB2 command entry. (SSS) Wait for all allied agents to terminate normally. (SSS) Notify stored procedure manager that all allied agents have terminated. (SSS) Wait for all WLM-SPAS to terminate normally. (SSS) Inhibit DB2 command entry. ---------------(IP) Request a shutdown checkpoint. (RM) Checkpoint. (RLM) Write a checkpoint log record. Invoke resource managers to write their checkpoint data in the log. (RM) Log any remaining incomplete units of recovery. (SC) Invoke database resource managers. (BM) Write checkpoint log records, complete all committed database I/O, and close all open page sets. (DM) Write checkpoint log records for DBET. | | | | | Update BSDS restart record to reflect this checkpoint RBA and that a normal shutdown has occurred. (GM) Group shut-down. Database resource managers release z/OS resources and terminate.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

79

DO NOT COPY
| | | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

If the distributed data facility address space was started, stop the distributed data facility address space and release its z/OS resources. Disconnect from WLM. WLM notifies the WLM-established address spaces to terminate. Stop the database address space and release its z/OS resources. (RM) Notify other data sharing group members of quiesced stop. System services resource managers release z/OS resources and terminate. Stop the system services address space and release its z/OS resources. Subsystem interface is again ready to receive -START DB2 command.

Figure 11. Shutdown (quiesce)

Shutdown (force)
-STOP DB2 MODE(FORCE) is the same as MODE(QUIESCE), except that work in process is aborted instead of quiescing to normal termination. (GCP) Invoke -STOP DB2 command processor. (IP) Stop command. Stop all work--(SSS) Disallow new connections. (SSS) Notify connected subsystems that DB2 is stopping (FORCED). (SSS) Prevent new requests from being made from active connection by inhibiting the program request handler. Any subsequent requests to DB2 receive an error return code indicating DB2 is not active. (SSS) Back out all active agents with requests in process. (ASM) Cancel all stored procedures. (ASM) Cancel all allied agents. (SSS) Make agent indoubt if between commit phases and indoubt resolution supported. (SSS) Terminate each agent not made indoubt. (RM) Abort. (ASM) Terminate the thread. (ASM) Terminate the sign-on. (ASM) Terminate the identify. ---------------(IP) Request a shutdown checkpoint (see Shutdown (quiesce) on page 79).

Figure 12. Shutdown (force)

80

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

IMS application execution


IMS application first SQL statement. IMS language interface. IMS program request handler. Connect the application to DB2. (IA) Sign-on exit. (IA) Create thread exit. Process the SQL call. (IA) Call exit. (SSS) program request handler. (RDS) Database program request handler. Call (using RARQ) RDS call router in the database address space. ---- Process the SQL statement ---(RDS) Fill in the SQLCA and SQLDA. Return to the database program request handler. Return to the SSS program request handler. Return to the IA Call exit. Return to Language Interface. Return to application. IMS application second and subsequent SQL statements. IMS language interface. IMS Program request handler. Process the SQL call. (IA) Call exit. (SSS) Program request handler. (RDS) Database program request handler. Call (using RARQ) RDS call router. ---- Process the SQL statement ---Return to the database program request handler. Return to the program request handler. Return to the IA Call exit. Return to language interface. Return to application. Application completes. IMS (IA) Prepare exit to do phase one of commit. Call (using RARQ) Prepare, in the system services address, space for phase one of commit. (SSS) Prepare (RM) Commit-UR. IMS (IA) Terminate thread exit. (SSS) Program request handler, Call (using RARQ) DB2 to terminate the thread level connection and the allied agent after doing commit phase two. (SSS) Terminate the thread with commit. Return to IMS. IMS continues to terminate the application.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

81

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Figure 13. IMS application execution

TSO attachment
User logs on to TSO. User enters DSN DB2 TSO command. (TA) Attach a subtask. Connect to DB2. (SSS) System services program request handler. Issue z/OS IEFSSREQ IDENTIFY request. (SSS) Create identify-level agent. (SSS) System services program request handler. Call (using RARQ) establish exit in the system services address space. (SSS) Establish exit. PUTGET. Prompt user with DSN (PUT). Read users input from terminal (GET). Invoke TSO scan to determine what user entered. Process specific DSN subcommand entered. Invoke TSO parser to determine subcommand parameters. Call the subcommand processor. Create a thread unless subcommand is RUN for which the thread is created at the first SQL call. If not a DCLGEN subcommand, then call program request handler to call (using RARQ) the function of the subcommand; otherwise, issue prepare and describe to DB2 to collect information. Terminate the thread. When not a recognized DSN subcommand, assume it is a TSO command processor and try to attach it. When subcommand is END, terminate the identify level of connection. Repeat to invoke TSO PUTGET to prompt the user again with DSN and get the next subcommand. Detach the DSN subtask. Return to TSO. User can continue TSO session with other activity or log off.

Figure 14. TSO attachment

TSO RUN
DSN subcommand is RUN. LINK to the specified application or ATTACH if the application is a command processor. Application makes first SQL call.

82

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

(TA) TSO language interface. Call DSN processor. Create a thread for this application. (SSS) Subsystem program request handler. Call (using RARQ) create thread in the system services address space. (SSS) Create thread. Process the SQL statement. (SSS) Subsystem program request handler. (RDS) Database program request handler. Call (using RARQ) RDS Call router. ----- Process the SQL statement ----(RDS) Fill in the SQLCA. Return to the language interface. Return to the application. Application makes 2nd and subsequent SQL calls. (TA) TSO language interface. (SSS) Subsystem program request handler. (RDS) Database program request handler. When SQL COMMIT OR ROLLBACK, call (using RARQ) SSS (SSS) Synchronize or abort. (RM) Commit or abort. When any other SQL statement, call (using RARQ) the RDS call router. (RDS) ----- Process the SQL statement ----(RDS) Fill in the SQLCA. Return to the language interface. Return to the application. Application terminates. Return to DSN.

Figure 15. TSO RUN

TSO with DB2I/SPUFI


User logs on to TSO. User invokes ISPF. User invokes DB2I. --------When user selects DCLGEN, DB2 commands, BIND, REBIND, FREE, SPUFI or RUN: Invoke CLIST for users selection. Display the panel for the users selection. Build parameter list for DSN command with the users selection as the DSN subcommand. Invoke DSN (see TSO attachment on page 82). Detach the DB2 subtask when the user returns to the DB2I main panel. --------When user selects SPUFI: Invokes SPUFI program. Display the main SPUFI panel. Display SPUFI defaults panel if requested.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

83

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Invokes ISPF EDIT to change input data set if requested. Execute the input data set if requested. Repeat to Display user selection panel again. For each SQL input statement, (RDS) dynamic SQL prepare. (RDS) dynamic SQL describe. (RDS) dynamic SQL execute or OPEN, do multiple fetches, and CLOSE. If any DB2 errors encountered, perform rollback. At end of file, if AUTOCOMMIT=YES, commit and terminate thread. (SSS) Synchronize. Invoke ISPF browse to display results if requested. If AUTOCOMMIT=NO, ask for commit or rollback Perform commit or rollback. If AUTOCOMMIT=NO, do not terminate thread. Repeat display of main SPUFI panel until user requests exit from SPUFI. At exit from SPUFI: terminate the thread if using AUTOCOMMIT=NO. Detach the DB2 subtask, and return to the main DB2I panel. --------When user selects precompile or program prep: Invoke a CLIST to: Display the first panel. Display any other requested panels. Call DSNH CLIST. If PL/I macro processor required, EXEC DSNHC. Call PL/I compiler. If CICS XLAT, call CICS command translator. If compiling, EXEC DSNHC. Call compiler/assembler. If link edit, use link command. If BIND desired, use DSN and BIND subcommand. If RUN use DSN and RUN subcommand. Repeat until user requests END. --------When user selects utilities: Invoke a CLIST, which: Displays a panel. Calls the DSNU CLIST to build JCL statements for a utility job. (utility control statements must be built manually by user) Repeats to display the panel again. --------When user selects defaults panel: Invoke a CLIST, which: Displays a panel. The CLIST re-displays the panel until user presses END.

Figure 16. TSO with DB2I/SPUFI

84

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Call attachment facility application execution


Application TCB issues CONNECT request. Language Interface entry point DSNALI gets control. LI LOADs a new, non-reentrant copy of the CAF control block CAB. LI branches to the main CAF load module, DSNACAF. DSNACAF does syntax checking on the function request. It also: Sets up for z/OS IEFSSREQ IDENTIFY. Calls DB2 program request handler to process the request. Sets up for DB2 ESTABLISH EXIT RARQ. Calls DB2 program request handler to process the request. Application TCB issues OPEN request. Language Interface entry point DSNALI gets control. LI searches CDE and LLE chains to find the CAB. LI branches to the main CAF load module, DSNACAF. DSNACAF does syntax checking on the function request. It also: Sets up for DB2 CREATE THREAD RARQ. Calls DB2 program request handler to process the request. Application TCB issues SQL calls. Language interface entry point DSNHLI2 gets control. LI searches CDE and LLE chains to find the CAB. Calls DB2 program request handler to process the request. Application TCB issues CLOSE request. Language interface entry point DSNALI gets control. LI searches CDE and LLE chains to find the CAB. LI branches to the main CAF load module, DSNACAF. DSNACAF does syntax checking on the function request. It also: Sets up for DB2 TERMINATE THREAD RARQ. Calls DB2 program request handler to process the request. Application TCB issues DISCONNECT request. Language interface entry point DSNALI gets control. LI searches CDE and LLE chains to find the CAB. LI branches to the main CAF load module, DSNACAF. DSNACAF does syntax checking on the function request. It also: Sets up for DB2 TERMINATE IDENTIFY RARQ. Calls DB2 program request handler to process the request. When DSNALI regains control, it DELETES the CAB

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

85

DO NOT COPY
and DSNACAF. Control returns to the application program.

Restricted Materials of IBM Licensed Materials Property of IBM

Figure 17. Call attachment facility application execution

Resource Recovery Services attachment facility application execution


Application TCB issues IDENTIFY request. Language Interface entry point DSNRLI gets control. If there is no RRS control block (RRB) in storage, LI GETMAINs storage for and initializes the RRB. LI loads the main load module, DSNARRS. LI branches to DSNARRS. DSNARRS does syntax checking on the function request. It also: Sets up for z/OS IEFSSREQ IDENTIFY. Calls DB2 program request handler to process the request. Sets up for DB2 ESTABLISH EXIT RARQ. Calls DB2 program request handler to process the request. Application TCB issues SIGNON request. Language Interface entry point DSNRLI gets control. LI branches to the main RRSAF load module, DSNARRS. DSNARRS does syntax checking on the function request. It also: Sets up for DB2 SIGNON RARQ. Calls DB2 program request handler to process the request. Application TCB issues CREATE THREAD request. Language Interface entry point DSNRLI gets control. LI branches to the main RRSAF load module, DSNARRS. DSNARRS does syntax checking on the function request. It also: Sets up for DB2 CREATE THREAD RARQ. Calls DB2 program request handler to process the request. Application TCB issues SQL calls. Language interface entry point DSNHLIR gets control. Calls DB2 program request handler to process the request. Application TCB issues TERMINATE THREAD request. Language interface entry point DSNRLI gets control. LI branches to the main RRSAF load module, DSNARRS. DSNARRS does syntax checking on the function request. It also: Sets up for DB2 TERMINATE THREAD RARQ. Calls DB2 program request handler to process the request. Application TCB issues TERMINATE IDENTIFY request.

86

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Language interface entry point DSNRLI gets control. LI branches to the main RRSAF load module, DSNARRS. DSNARRS does syntax checking on the function request. It also: Sets up for DB2 TERMINATE IDENTIFY RARQ. Calls DB2 program request handler to process the request. When DSNRLI regains control, it deletes DSNARRS. Control returns to the application program.

Figure 18. Resource Recovery Services attachment facility application execution

General command processing


IMS master terminal operator (MTO) enters a DB2 command. IMS command that has DB2 command in text. Command exit (IAC). Sign-on (SSS). Create thread (SSS). Call (using RARQ) submit command for processing to GCP. Parse the command (GCP). Invoke the command function. Copy response messages to callers storage (GCP). Return. Present responses to user (IA). Return to IMS. IMS continues to process. CICS operator enters a DB2 command. CICS DB2 command transaction (CA). CICS language interface. CICS resource manager interface (RMI). RMI command exit (CA). Thread subtask (CA). Sign-on (SSS). Create thread (SSS). Call (using RARQ) submit command for processing (GCP). Parse the command (GCP). Invoke the command function. Copy response messages to callers storage (GCP). Return to GCP. Return to RMI exit. Return to CICS RMI. Return to CICS language interface. Return to DB2 command transaction. Present responses to user. TSO user enters DSN at terminal. DSN command processor (TA). TSO/batch user enters a DB2 command. IDENTIFY exit (TA). CREATE THREAD (TA).
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

87

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Call (using RARQ) submit command for processing (GCP). Parse the command (GCP). Invoke the command function. Copy response messages to callers storage (GCP). Present responses to user (TA). z/OS console operator enters a DB2 command. z/OS communication task. z/OS subsystem interface (SSI) broadcast. Listening post (SSS). Call GCP interface module. Copy command to GCP buffer. Execution switch to console service task (asynchronous, unrelated). Return to SSS. Return to z/OS subsystem interface (SSS). Asynchronous console service task (GCP). Receive the command for processing (GCP). Parse the command (GCP). Invoke the command function. Copy response messages to callers storage (GCP). Present responses to console via write to operator (GCP).

Figure 19. General command processing IMS, CICS, TSO or z/OS console

Utility job
Utility job step initiated via JCL in batch address space (job step can contain invocations of several utility functions). (UT) Establish connection with DB2. (SSS) Identify. (SSS) Create thread (plan=DSNUTIL ). (UT) Call the utility controller. Parse utility control statements. Invoke utility job initialization in database address space. (SSS) subsystem program request handler. Call (using RARQ) utility job initialization. (UT) Utility job initialization (includes check for same utility already executing). (DM) Manipulative functions to insert a record for this utility execution in the SYSUTIL table. (RM) Commit the SYSUTIL changes. (SSS) return. ----Invoke utility function initialization in database address space. (SSS) subsystem program request handler. Call (using RARQ) utility function initialization in the database address space. (DM) Manipulative functions to update the SYSUTIL record for this utility function

88

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

execution. (RM) Commit the SYSUTIL changes. (SSS) Return. Call batch address space utility load module for specific utility function to be executed (for example, LOAD, COPY, and so on..). Call sequential data set access to read input or write output as appropriate for specific utility. BSAM OPEN, CLOSE, READ, WRITE, and so on. Invoke specific utility functions in database address space. (SSS) subsystem program request handler. Call (using RARQ) utility function in database address space. (UT) Utility function for each specific utility. (Includes check for conflicting utility function against same object.) (UT) Utility access path creation to build control blocks for invoking data manager and buffer manager. (DM) Manipulative functions for row-oriented I/O (LOAD, REORG, RUNSTATS, STOSPACE, catalog access). (LOBM) Manipulative functions for LOBs (LOAD, REORG, RUNSTATS). (LOBM) Scan LOBs to recover an auxiliary index (RECOVER). (DM) data manager index functions for index building. (BM) Buffer manager page oriented I/O services (REPAIR, RECOVER, COPY). (UT) Utility cross memory move service to pass output data (for example, unloaded tables) to batch address space for sequential output. (UT) Utility message service for output messages. (UT) Commit the changes for the utility function. (SSS) Return to batch address space utility function. Invoke utility function termination in database address space. (SSS) subsystem program request handler. Call (using RARQ) utility function termination in the database address space. (UT) Utility function termination. (DM) mini-deallocate to release resources acquired for allocation duration in database address space. (DM) Manipulative functions to update the SYSUTIL record to reflect completion of this utility. (RM) Commit the SYSUTIL changes. (SSS) Return to batch storage utility function. Repeat from Invoke utility function initialization
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

89

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

for next utility function in batch input stream. Invoke utility job termination in database address space. (SSS) subsystem program request handler. Call (using RARQ) utility job termination in the database address space. (DM) Manipulative functions to delete the record of the utility job from the SYSUTIL table. (RM) Commit the SYSUTIL changes. Disconnect from DB2. (SSS) Terminate thread level connection. (SSS) Terminate identify level connection. Return to z/OS at end of batch job step.

Figure 20. Utility job

Create a thread for an application plan


(SSS) Subsystem program request handler. Call (using RARQ) create thread in subsystem address space. (SSS) Create a thread. (ASM) Create allied agent. Create the agent structure (see Data Areas for agent structure). (ASM) Allocate the plan resources. (IF) Accounting collects agent-related data. (SSS) Create a function vector list for the agent related control service calls (for example, prepare, abort). (SC) Create the cursor table and a function vector list for SQL calls. (DM) If ACQUIRE(ALLOCATE), lock all page sets referred to by the plan for allocation duration, invoke BM to allocate and OPEN all page sets. (BM) Allocate and OPEN page set. (RDS) relocate/initialize cursor table section. Return to SSS create thread. Return to the subsystem program request handler in the allied address space. Return to the caller of the subsystem program request handler.

Figure 21. Create a thread for an application plan

90

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Terminate a thread
(SSS) Subsystem program request handler. Call (using RARQ) terminate in subsystem address space. (SSS) Terminate with commit, abort, or deallocate. (RM) Commit-UR or abort-UR. (ASM) Terminate the allied agent. (ASM) Deallocate the plan resources. (IF) Accounting collects agent-related data. (SSS) Destroy the function vector list. (SC) Destroy the cursor table and function vector list. (DM) Invoke BM to perform page set CLOSE processing for all page sets allocated at CREATE THREAD. (BM) Decrement page set use count. Release all locks that had allocation duration. Destroy the agent structure. Return to SSS terminate. Return to the subsystem program request handler in the allied address space. Return to the caller of the subsystem program request handler.

Figure 22. Terminate a thread

Process SQL CREATE statement


RDS call router (can also be referred to as RDS executive) receives control in the database services address space from the database program request handler in the allied address space. (RDS) Interpreter. (RDS) Authorization check. (DM) Manipulative functions for catalog access. (DM) Definitional functions for database access. (DSM) define data sets for SQL objects. Invoke access method services (IDCAMS) to define data sets. (BM) preformat the pages. Invoke DFP media manager to preformat the pages. Return to DSM. (DM) Manipulative function to format the control pages. Return to DSM. Return to the RDS Interpreter. Return to the RDS call router. Fill in SQLCA. Figure 23. Process SQL CREATE statement

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

91

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Process SQL CREATE TRIGGER statement


RDS call router (can also be referred to as RDS executive) receives control in the database services address space from the database program request handler in the allied address space. (RDS) Interpreter. (RDS) Authorization check. (RDS) Extract trigger information to be passed to the service controller. (SC) Service controller. (SC) Check for duplicate package name. (SC) Set up default bind options for a trigger package. (SC) Insert record in SYSPACKAGE catalog table. (SC) Insert records for triggered SQL statements in SYSPACKSTMT catalog table. (RDS) Call RDS executive to bind the trigger package. (RDS) Executive. (RDS) Call the parser, optimizer, and structure generator to process each statement in the package. (RDS) Call database descriptor management (DBDM) to store the OBD for the trigger. Return to RDS Interpreter. (RDS) Build and insert record for SYSTRIGGERS catalog table. Return to the RDS call router. Fill in SQLCA. Figure 24. Process SQL CREATE TRIGGER statement

Process trigger activation and execution

92

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

RDS call router (can also be referred to as RDS executive) receives control in the database services address space from the database program request handler in the allied address space. (RDS) RDS executive calls run-time to process the triggering statement like any other update statement. (RDS) Run-time calls DM to process the triggering statement like any other update statement. (DM) Determines triggers defined on the triggering table. (DM) Creates old and new transition tables, where needed. (DM) Invokes RDS trigger manager to execute the triggers. (RDS) Trigger manager. (RDS) Calls environment management service to save the current and set up a new environment for the execution of the trigger. (RDS) Determines which triggers to execute. (RDS) For AFTER ROW triggers, reads each row from the old and new transition tables. Processes all triggers for each row. (RDS) For each trigger, loads a copy of the trigger package. (RDS) For each WHEN clause in a trigger, calls RDS executive and run-time to determine whether to execute the triggered SQL statements after the WHEN. (RDS) Calls RDS executive and run-time and DM to execute each triggered SQL statement. (RDS) Calls the environment manager service to restore the environment after trigger execution. (DM) Executes the triggering SQL statement. (DM) Checks relational constraints and performs actions that result from constraints. If these actions fire triggers, executes those triggers. (DM) If a new transition table is required, inserts new row values. Return to run-time. Return to the RDS call router. Fill in SQLCA. Figure 25. Process trigger activation and execution

Process SQL INSERT statement

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

93

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

This flow description assumes that the table space has the LOGGED attribute: RDS call router (might also be referred to as RDS executive) receives control in the database services address space from the database program request handler in the allied address space. RDS run-time structure executor. (DM) manipulative functions for user data access. (BM) Open the page set if it is not already open. Call index manager function of the DM. Read the index over the users table. (BM) Get the index root page. Lock the leaf page (exclusive). (BM) Get the leaf page. Unlock the root page. Read the space map page. (BM) Get the space map page. Read the data page. Lock the data page (exclusive). (BM) Get the data page. (BM) Set write intent to indicate changes the data page. Establish a unit of recovery. (RM) Begin UR. (RLM) Write a log record. Write a log record (redo/undo) containing the insert record. (RLM) Write a log record. (BM) Modify data page, reset write intent to indicate change is complete. Write log record for index record. (BM) Set write index. Update index. (RLM) Write a log record. (BM) Reset write index. Return to RDS run-time structure executor. Return to the RDS call router. Fill in SQLCA. Figure 26. Process SQL INSERT statement

Process SQL INSERT with a LOB column


| | | | | | | | | | | | | | | This flow description assumes that the table space has the LOGGED attribute: RDS call router (may also be referred to as RDS executive) receives control in the database services address space from the database program request handler in the allied address space. RDS run-time structure executor. (DM) Build row. (DM) Fill in indicator columns and default values, including ROWID. (BM) Open the page set if it is not already open. Call index manager function of the DM. Read the index over the users table. Lock the index root page (share). (BM) Get the index root page. Lock the leaf page (exclusive).

94

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | |

(BM) Get the leaf page. Unlock the root page. Read the space map page. (BM) Get the space map page. Read the data page. Lock the data page (exclusive). (BM) Get the data page. (BM) Set write intent to indicate changes to the data page. Lock the LOB table space and columns and release immediately at the completion of the operation. Establish a unit of recovery. (RM) Begin UR. (RLM) Write a log record. Write a log record (redo/undo) containing the insert record. (RLM) Write a log record. (BM) Modify data page, reset write intent to indicate change is complete. Write log record for index record. (BM) Set write index. Update index. (RLM) Write a log record. (BM) Reset write index. Call LOB Manager (LOBM) to insert the LOB data into the LOB table space. (LOBM) Call DBDM to find OBDRA of LOB column. (LOBM) Allocate LOB data pages and format LOB map pages. (LOBM) Get data from input source and insert into LOB data pages. (LOBM) Invoke index manager to insert an entry in the auxiliary index. Return to RDS run-time structure executor. Return to the RDS call router. Fill in SQLCA.

Figure 27. Process SQL INSERT with a LOB column

Process user-defined function call

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

95

DO NOT COPY
RDS call router (may also be referred to as RDS executive) receives control in the database services address space from the database program request handler in the allied address space. RDS run-time sets up the parameter list for the function call and moves the parameter list to the stored procedures address space. DB2 searches SYSIBM.SYSROUTINES table. DB2 verifies that owner of package or plan that contains the function call has EXECUTE authority. DB2 passes information about the request to STPM. STPM passes the request to WLM, which requests a z/OS task control block (TCB). STPM uses a SPAS_ID call to connect DB2 to RRS through RRSAF. The function executes statements. STPM invokes RDS runtime to move information to the output parameter (only one for UDF). and returns control to DB2. DB2 returns control to the application. DB2 waits for the application to commit or abort the work. Figure 28. Process user-defined function call

Restricted Materials of IBM Licensed Materials Property of IBM

Process SQL query with Sysplex parallelism


RDS call router (also called RDS executive) receives control in the database services address space from the database program request handler in the allied address space. RDS run-time structure executor. RDS run-time checks for parallelism prerequisites (enclave services, hardware sort assist if needed, etc.). If not available, then run the query sequentially. Call RDS executive to create the parallel group. Call SCC task manager to create the parallel group. Loop (parallel degree times). Call RDS executive called to create the parallel task. Call SSC task manager to create the parallel task. (Parallel tasks execute the decomposed query and send data to the originating task via the RDS pipe manager). RDS pipe manager waits for data to arrive from parallel tasks. Return to the RDS call router. Fill in SQLCA. Figure 29. Process SQL query with parallelism (CP and Sysplex)

Process private protocol SQL (first connection with a remote location)

96

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Server DB2 subsystem: VTAM attention exit -- request to receive conversation. Open ACB process VTAM exit. Receive system conversation and IDENTIFY message. DC queue manager dequeues request and invokes requested service. Validate connection between locations. Compare remote LUNAME with LUNAMES in CDB. Establish inbound and outbound conversations. (system conversation) IDENTIFY message received. Connect system function with datagram agent. Resume datagram if suspended. Outbound system conversation created and IDENTIFY message sent. Allocate a Database Access Agent (server) Received on primary conversation ALLOCATE PRIMARY: (DCRM) ALLOCATE PRIMARY. (DCRM) create DC queue structure. Create Database Access Agent and pass control to DTM. (DTM) Invokes Queue Manager. (DTM) MIGRATE TRANSACTION message processed. Perform agent allocation. Return to Queue Manager. (DRDS) PREPARE SQL STATEMENT message processed. (DRDS) Process the PREPARE SQL STATEMENT message. (RDS) Process SQL STATEMENT. (DRDS) Receive response data (SQLDA). (DRDS) Return answer set to application. VTAM signals operation complete. Send Response to Requester (server): VTAM APPC I/O Complete Exit (SRB). Queue message and resume DB agent. Open/Fetch message to DRDS. Fetch one row into buffer. Buffer full -- send response buffer. Return to queue manager and await re-invocation. Figure 30. Process private protocol SQL

Process DRDA SQL to a server (first connection)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

97

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

(RDS) Implicit or explicit SQL CONNECT. (DRDS) Process CONNECT request, or, for an SQL statement with a 3-part name, do an implicit connection. (DTM) Initiate DRDA connection. (DCRM) Create DDM control structures to enable DDM commands. (DDIS) Construct Exchange Server Attributes (EXCSAT) command. Construct Access Relational Database (ACCRDB) command. (DCRM) Allocate a conversation with the Transaction Program Name (TPN) at the LU. Send DDM Data Structure Stream (DSS) structure. (SERVER) Executes the SQL statement and builds a reply message. Sends reply message. (DCRM) Receives RPYDSS/OBJDSS data stream chain from the server. (DDIS) Parse and convert the Exchange Server Attributes Reply Data Object (EXCSATRD). (DTM) Process the reply message. (DDIS) Parse and translate Access RDB Complete Reply Message (ACCRDBRM). (DTM) Reply to DRDS. (DRDS) If necessary, format SQLCA with release level information for the database server. If this is an implicit connection for an SQL statement with a 3-part name, make the remote connection dormant and set the connection back to local. (RDS) return answer set to application. Figure 31. Process DRDA SQL to a server

Process DRDA SQL from a requester (first connection)

98

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

(DCRM)Receive VTAM or TCP/IP ALLOCATE CONVERSATION from requester. Receive FMH5 (function management attach header) from requester. Create a database access agent and pass control to DTM. DTM invokes queue manager. (DCRM)Receive request data stream structure (RQSDSS). (DDIS)Parse and convert the Distributed Data Management (DDM) level 6b objects in the request data stream. Create a DB2 message for owning DB2 resource manager from the request data stream. (DCRM)Allocate parameter list for address of the distributed data exchange block (DDX) and the address of the buffer to construct the reply. Pass control to the resource manager that owns the message. Resource manager processes the DB2 message and creates a RPYDSS/OBJDSS data stream for the requester. (DCRM)Send the RPYDSS/OBJDSS data stream to the requester. Place conversation in RECEIVE state. Figure 32. Process DRDA SQL from a requester

Remote stored procedure call


The application issues the SQL CONNECT statement to create a conversation with the DB2 subsystem on which the stored procedure will run. DB2 creates a thread to process SQL requests. The application issues an SQL CALL statement providing stored procedures input and output parameters. DB2 searches SYSIBM.SYSROUTINES and SYSIBM.SYSPARMS table, caches all rows associated with requested stored procedure. | | | | | | | | | | | | | | DB2 verifies that owner of package or plan that contains the SQL CALL statement has EXECUTE authority. STPM passes the request to WLM, which requests a z/OS task control block (TCB). STPM uses a SPAS_ID call to connect DB2 to RRS through RRSAF. DB2 passes information about the request to the stored procedures address space. Stored procedure executes SQL statements. RDS runtime moves parameters and returns control to DB2. If the stored procedures address space is WLM-established: STPM uses the RRSAF SPAS_DISC call to invoke a RRS SPAS_TERM_SP interface.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

99

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DB2 returns control to the application. DB2 waits for the application to commit or abort the work. The application receives the output parameters as host variables. If the stored procedure returns result sets: The server sends result sets to the requester, and the application program receives them: At the requestor site, DRDS creates the same environment that it would create if the application had opened a cursor for SELECTs against a table at the server. At the server site, DRDS sends the data. At the requestor site: DRDS returns control to RDS, indicating that one or more result sets were returned. The application: - Determines the number and content of result sets, if necessary. - Allocates cursors to receive the result sets. - Opens those cursors. - Fetches the result sets. At the server site, DRDS: Closes all cursors opened by the stored procedure. Discards all SQL statements prepared by the stored procedure. Reclaims the working storage used by the stored procedure. At the requestor site, DB2 receives and processes the COMMIT or ROLLBACK request.

Figure 33. Stored procedure call

Remote bind at requester

100

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

(SC)Invoke DRDS. (DRDS)Issue CONNECT and ALLOCATE CONVERSATION. (DCRM)Establish LU 6.2 conversation with transaction program name (TPN). (DDIS)Prepare EXCSAT and ACCRDB commands. Create the BGNBND, REBIND, or DRPPKG RQSPSS/OBJSS data stream. (Hold until ENDBND is requested.) For each member SQL statement within the source DBRM: (SC)Invoke DRDS. (DRDS)Accept statement and host variable definitions. If necessary, invoke parser to replace host variable names with colons. (DDIS)Create RQSDSS/OBJDSS data stream. (DCRM)Chain request. (SC)Process next SQL statement within the source DBRM. After all SQL statements within the source DBRM have been processed: (SC)Invokes DRDS to terminate the bind process. (DDIS)Create ENDBND DDM command. Pass command to DCRM. (DCRM)Send BGNBND, BNDSQLSTTs, and the ENDBND to the database server. (DCRM)Reply received. (DRDS)Invoke DDIS. (DDIS)Parse and convert data stream. Map SQLCARD to an SQLCA. After all replies processed, DCRM returns control to DRDS. (DRDS)Map the SQLCA to the appropriate message and return control to the service controller. Figure 34. Remote bind at requester

Presumed nothing two-phase commit

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

101

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

(DTM) Coordinator writes and forces remember participant log record that contains participant names. Coordinators indoubt resolution responsibility begins. (DTM) Coordinator sends prepare request to participant. Participant updates changed resources for commit or backout. (DTM) Participant writes remember coordinator log record. However, participant does not have indoubt resolution responsibility. (RM) Participant writes and forces prepare log record. The remember coordinator log record can collapse into this log record (it is not in DB2). DB2s equivalent of the prepare log record is the end-phase-1 log record. (DCRM) Participant sends request commit vote in response to prepare request. (RM) Coordinator writes and forces committed log record. (DCRM) Committed request sent to participant. (RM) Participant writes and forces committed log record. (RM) Participant commits changed resources; writes end-phase-2 log record; ends the commit process. (DCRM) Participant sends forget indication in response to committed request. (DTM) Coordinator writes the end-phase-2 log record. Coordinators indoubt resolution responsibility terminates. Figure 35. Presumed nothing two-phase commit

Presumed abort two-phase commit


When the participant is reliable: (DTM) Coordinator sends prepare request to participant. Participant updates changed resources for commit or backout. (DTM) Participant writes log record that contains the coordinator name. This is the remember coordinator record used for subsequent indoubt resolution in the event of failure prior to receiving the phase two request. (DTM) Participant writes and forces prepare log record. The remember coordinator log record can collapse into this log record (it is not in DB2). DB2s equivalent of the prepare log record is the end-phase-1 log record. This log record represents the beginning of the participants indoubt resolution responsibility. (DCRM) Participant sends request commit vote in response to prepare request. This vote indicates a reliable partner. (DTM) Coordinator writes remember reliable participant log record. This record is used for subsequent indoubt resolution in the event of failure prior to receiving response to phase two request.

102

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

(RM) Coordinator writes and forces committed log record. The remember reliable participant log record can collapse into this log record (it is not in DB2). This log record represents the beginning of the coordinators indoubt resolution responsibility. (DCRM) Committed request sent to participant. This is a one way flow. The coordinator maintains conversation send state. (DTM) Coordinator writes end-phase-2 log record and maintains indoubt resolution responsibility until implied forget is received from participant. (DTM) Participant writes and forces committed log record. In DB2, this also represents the forget coordinator log record. Participants indoubt resolution responsibility terminates. (RM) Participant commits changed resources; writes end-phase-2 log record; ends the commit process. (DCRM) Next request sent to participant. This can be an SQL request, a deallocate request, or any normal flow request. (DTM) Response to request implies that participant received and processed committed request for previous logical unit of work. (DTM) Coordinator writes forget participant log record. Coordinators indoubt resolution responsibility terminates. When the participant is not reliable: (DTM) Coordinator sends prepare request to participant. Participant updates changed resources for commit or backout. (DTM) Participant writes log record that contains the coordinator name. This is the remember coordinator record used for subsequent indoubt resolution in the event of failure prior to receiving the phase two request. (DTM) Participant writes and forces prepare log record. The remember coordinator log record can collapse into this log record (it is not in DB2). DB2s equivalent of the prepare log record is the end-phase-1 log record. This log record represents the beginning of the participants indoubt resolution responsibility. (DCRM) Participant sends request commit vote in response to prepare request. This vote indicates an unreliable partner. (DTM) Coordinator writes remember unreliable participant log record. This record is used for subsequent indoubt resolution in the event of failure prior to receiving response to phase two request. (RM) Coordinator writes and forces committed log record. The remember unreliable participant log record can collapse into this log record (it is not in DB2). This log record represents the beginning of the coordinators indoubt resolution responsibility.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 3. System Flow of Control

103

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

(DCRM) Committed request sent to participant. (DTM) Participant writes and forces committed log record. (DTM) Participant writes forget coordinator log record. This log record can collapse into the committed log record or the end-phase-2 log record. In DB2, it collapses into the committed log record. Participants indoubt resolution responsibility terminates. (RM) Participant commits changed resources; writes end-phase-2 log record; ends the commit process. (DCRM) Participant sends forget indication in response to committed request. (DTM) Coordinator writes end-phase-2 log record. Coordinators indoubt resolution responsibility terminates.

Figure 36. Presumed abort two-phase commit

104

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 2. Keyword Descriptions

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

105

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

106

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 4. Building a keyword string


This section explains how to systematically select keywords to describe a failure in DB2 for z/OS (DB2) or internal resource lock manager (IRLM). Its keywords are pre-defined words or abbreviations that identify aspects of a program failure. A string of keywords can be used to pinpoint a similar known problem in a software support database, such as the Early Warning System (EWS) or Information System (INFO/System), two optional search tools. If the search is successful, a similar problem description and, usually, a fix exists. If the search is unsuccessful, use these keywords when communicating with the IBM Support Center or IBM Service for additional assistance or when documenting a possible APAR (Authorized Program Analysis Report). The keywords described in the following chapters are in two distinct formats: DB2 format (or free format) and structured database format. Follow the procedures explained in this section to build keyword strings in either format.

Getting started
Before using the procedures in this section, thoroughly check the application programs, JCL, and data set definitions for user errors. The following manuals can be useful: v DB2 Application Programming and SQL Guide v DB2 Command Reference v DB2 Utility Guide and Reference v DB2 Messages. v DB2 Codes. Each keyword describes one aspect of a program failure. The first keyword specifies a component identification number for DB2 or internal resource lock manager. A search of the IBM software support database with this keyword alone would detect all reported problems for that component (DB2 or internal resource lock manager). Each added keyword makes the search argument more specific and reduces the number of problem descriptions. Sometimes, a similar problem can be found using an incomplete set of keywords. To some extent, then, each keyword after the first is optional. If access is available to EWS (Early Warning System) or other search tools, a search can be conducted with an incomplete keyword set. If too many matches occur, keywords can be added to narrow the search. When communicating with the IBM Support Center or IBM Service, identify the program failure with these keywords: v Component identification keyword v Release level keyword v Type-of-failure keyword v CSECT keyword (required for certain failure types) v Modifier keywords (optional). These keywords can be specified either in the DB2 format or in the structured database (SDB) format. For both formats, the choice of keywords depends on the type of failure that occurred.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

107

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DB2 format (free format)


To determine which DB2 keywords to use and the procedures for selecting them, refer to the flowchart in Figure 37 on page 109. To begin selecting keywords: 1. Follow the procedures in Component identifier keyword on page 114 and The release level keyword on page 115. Do this for all failures. 2. Follow one of the type-of-failure keyword procedures. If uncertain about which to use, refer to Figure 39 on page 118. This chart describes procedures to follow based on common symptoms. 3. Identify the area of the failure using CSECT and modifier keywords when appropriate. The procedures in this section refer you to these steps as needed. 4. Follow Chapter 6, Search argument process, on page 157 to learn how to search with your set of keywords. Do this for all failures. 5. If the search is unsuccessful, turn to APAR preparation on page 158. This helps IBM product support personnel determine if an APAR should be submitted.

108

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Start

Component ID Keyword Procedure

Release Level Keyword Procedure

Abnormal Termination

Type of Failure Wait or Loop Message MSGx Keyword Procedure Performance PERFM Keyword Procedure Documentation DOC Keyword Procedure Incorrect Output
INCORROUT Keyword Procedure

ABENDx Keyword Procedure

WAIT OR LOOP Keyword Procedure

CSECT Keyword Procedure

CSECT In MSG Yes

No

CSECT Found Yes

No

CSECT Keyword Procedure INCORROUT Modifier Keyword Procedure

Load Module Modifier Keyword Procedure

Code In MSG

No

Load Module Found Yes VRA Data Modifier Keyword Procedure

No

Message Modifier Keyword Procedure Recovery Routine Modifier Keyword Procedure

No Function =SQL Yes SQLCODE Modifier Keyword Procedure

Search Argument Procedure

Match Yes Apply the Correction

No

APAR Preparation Procedure

End

Figure 37. High-level flowchart of various sets of keywords

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 4. Building a keyword string

109

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Structured database (SDB) format


Use this format if your installation has a tool for performing structured searches. Structured symptoms are also called RETAIN symptoms and failure keywords. The structured symptoms consist of a prefix keyword, which identifies the type of symptom, followed by a slash (/) and the data portion of the symptom. v The prefix keyword has one to eight characters. v All characters must be alphanumeric, or one of the following characters: # @ $. v At least one character of data is required. v The maximum length, including the prefix, is 15 characters. For example, the following is a structured search symptom for a message identifier of IEC0201:
MS/IEC0201

The examples in the following sections show both the free format and the structured alternatives. The most commonly used structured search symptoms follow. Prefix keyword Meaning AB Abend code

FLDS Field or control block name involved with the problem LVLS MS Level of the base system or licensed program Message ID

OPCS Operation code (opcode) for software, such as an assembler opcode PCSS PIDS Program command or other software statement, such as JCL, a parameter, or a data set name Program ID for a component involved in the problem

PRCS Program return code, generated by software, including reason codes and condition codes PTFS Program temporary fix (PTF) for software associated with a problem

PUBS Publication ID associated with a problem RECS Record associated with a problem REGS Register for a software program associated with a problem. The value can be the register/PSW difference (rrddd), which the STATUS FAILEDATA subcommand of IPCS provides for abends. The difference (ddd) is a hexadecimal offset from a probable base register or branch register (rr) RIDS Routine ID, such as the name of a CSECT or subroutine. If the RIDS/value has no suffix, the value is a CSECT name. The following suffixes are supported: #L for a load module #R for a recovery routine

VALU Value in a field or register. One of the following qualifiers is required as the first character of the value: B for a bit value C for a character value

110

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
H for a hexadecimal value

WS

Wait state code issued by the system or device-issued wait code. One of the following qualifiers is required as the first character of the value: D for disabled wait (system disabled for I/O or external interrupts) E for enabled wait

A complete list of prefix keywords follows. It provides a symptom-to-keyword cross-reference to aid in selecting SDB keywords.
Symptom abend access methods address APARs assembler macros assembler messages clist commands compiler messages completion codes component condition codes control block control block offset control register CSECTs data set name dependent component device error code diagnose command disabled wait (coded) displacements displays documents DSECTs enabled wait (coded) error code EXECs feedback code field field value file mode file name file type
LY37-3218-01 Copyright IBM Corp. 1983, 2007

Prefix Keyword AB/ RIDS/ ADRS/ PTFS/ RIDS/ MS/ RIDS/ PCSS/ MS/ PRCS/ PIDS/ PRCS/ FLDS/ ADRS/ REGS/ RIDS/ PCSS/ PIDS/ PRCS/ PCSS/ WS/ ADRS/ DEVS/ PUBS/ FLDS/ WS/ PRCS/ RIDS/ PRCS/ FLDS/ VALU/ PCSS/ PCSS/ PCSS/

DO NOT COPY

Chapter 4. Building a keyword string

111

DO NOT COPY
Symptom flag floating-point regs fullscreen mode function keys general purpose regs hangs hung user/task I/O op codes incorrect output JCL cards JCL parameters job step codes keys labels, code language statements level library names line command loops low core address machine checks macro as a routine macro as a statement maintenance levels message module offsets opcode operator commands operator keys operator messages options overlay PA key panel parameters performance PF key procedure names process names profile options

Restricted Materials of IBM Licensed Materials Property of IBM Prefix Keyword FLDS/ REGS/ PCSS/ PCSS/ REGS/ WS/ WS/ OPCS/ INCORROUT1 PCSS/ PCSS/ PRCS/ PCSS/ FLDS/ PCSS/ LVLS/ PCSS/ PCSS/ LOOP1 ADRS/ SIG/ RIDS/ PCSS/ PTFS/ MS/ RIDS/ ADRS/ OPCS/ PCSS/ PCSS/ MS/ PCSS/ OVS/ PCSS/ RIDS/ PCSS/ PERFM1 PCSS/ PCSS/ PCSS/ PCSS/

112

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Symptom program checks program id program keys program statement PSW PTFs, PE or otherwise publications PUT level reason codes register value registers release level replies to messages replies to prompts request codes responses to msgs responses to prompts return codes routines service level special characters SRLs statements status codes step codes structure word subroutines SVC SYSGEN parameters system check tables terminal keys value variable waits (coded) waits (uncoded) Note:

DO NOT COPY
Prefix Keyword AB/ RIDS/ PCSS/ PCSS/ FLDS/ PTFS/ PUBS/ PTFS/ PRCS/ VALU/ REGS/ LVLS/ PCSS/ PCSS/ OPCS/ PCSS/ PCSS/ PRCS/ RIDS/ PTFS/ PCSS/ PUBS/ PCSS/ PRCS/ PRCS/ FLDS/ RIDS/ OPCS/ PCSS/ PRCS/ FLDS/ PCSS/ VALU/ FLDS/ WS/ WAIT1

1. No prefix keyword. Use failure keyword shown for searches.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 4. Building a keyword string

113

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Using diagnostic aids


One of the most useful diagnostic aids DB2 provides is the SVC dump title. For most problems, this title provides enough information to build a keyword string. (For an example, see DB2-issued SVC dump title on page 184.) For some problems, one or more dumps, SYS1.LOGREC entries, and trace tables might need to be reviewed. For some failures, log records might be needed from before and at the time of failure. Always keep the DB2 archive log data sets until it is certain that no problems have occurred for which they might be needed. For information on when DB2 archive log data sets can be safely discarded, refer to Part 4 (Volume 1) of DB2 Administration Guide.

Component and release identifier keywords Component identifier keyword


The component identifier is the first keyword in the search argument. It identifies the library within the IBM software support database that contains APARs (Authorized Program Analysis Reports) and PTFs (Program Temporary Fixes) for the product. The component identifier keyword is derived from a four-digit number (5740) and a five-digit identifier. This chapter describes how to determine the nine-digit component identifier keyword for the failure. Try to locate the component identifier by following the steps under Using the SVC dump title. If a dump title isnt available, follow Using the SYS1.LOGREC entry on page 115 or Using the first page of an SVC dump on page 115. The component identifiers for DB2 and its subcomponents are: 5740XYR00 DB2 569516401 IRLM 5740IX100 CICS attachment 5740IY100 IMS attachment 5740XYR01 Subsystem initialization subcomponent

Using the SVC dump title


1. Locate the C= label in the dump title, and the first five characters following that label. For an example of the dump title syntax, see Figure 38 on page 115. 2. Append those five characters to 5740 and use this as the first keyword. Then turn to The release level keyword on page 115.
5740XYR00 (free format) PIDS/5740XYR00 (structured format)

114

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

1. No Distributed Data Processing: For threads with no remote activity: ssid,ABND=compltn-reason,U=authid, C=compid.release.comp-function,M=module, LOC=loadmod.csect+csect_offset 2. Distributed Data Processing: For allied thread with remote activity (requesting location threads): ssid,ABND=compltn-reason,U=authid, C=compid.release.comp-function, DISTRBUTED, LOC=loadmod.csect+csect_offset For database access threads (responding location threads): ssid,ABND=compltn-reason,U=authid, C=compid.release, LOCN=16_char_loc_name, LOC=loadmod.csect+csect_offset Figure 38. Sample SVC dump titles

Using the SYS1.LOGREC entry


1. Locate the SYS1.LOGREC entry related to the error. To do this, compare the date, time, program name, and ERRORID string in the dump with those in the SYS1.LOGREC entry. 2. Locate the COMP ID INVOLVED column at the top of the first page and the five characters beside it. 3. Append those five characters to 5740 and turn to The release level keyword.
5740XYR00 (free format) PIDS/5740XYR00 (structured format)

Using the first page of an SVC dump


1. Locate the Symptom String heading toward the middle of the first page and the nine characters following the PIDS/ label. For an example, see Figure 55 on page 183. 2. Use those characters as the first keyword and turn to The release level keyword.
5740XYR00 (free format) PIDS/5740XYR00 (structured format)

The release level keyword


The release level keyword narrows the symptom search to a specific release level. Using this keyword is optional, but recommended, when searching the IBM software support database. It is required, however, when you submit an APAR.

In DB2
1. Locate the three-digit release identifier in the title area of the formatted dump. It follows COMP=XYR00. For example:
COMP=XYR00.910.SSSC-SSI CALL

The highlighted digits signify:


LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 4. Building a keyword string

115

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

6 Version 1 Release level 0 Modification level 2. Build a keyword similar to Rxxx, replacing xxx with the version, release, and modification level numbers. Add this to the component identifier keyword and turn to Chapter 5, Type-of-failure keywords, on page 117.
5740XYR00 R910 (free format) PIDS/5740XYR00 LVLS/910 (structured format)

116

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 5. Type-of-failure keywords


A type-of-failure keyword describes an external symptom of a program failure. The various types of failures are shown in Table 3. Use this table to find the name and page number of the procedure that best matches the problem. If unsure about which procedure to use after looking at the chart, refer to Figure 39 on page 118.
Table 3. Types of DB2 failures Problem Abend of the subsystem or task. Unexpected program suspension. Uncontrolled program looping (often signaled by repeating messages or trace entries). Errors signaled by or associated with messages. Performance degradation. Use this only when other keywords are inappropriate. Documentation problem. Unexpected or missing output (not related to a message). Procedure ABENDx keyword on page 120 WAIT/LOOP keywords on page 124 WAIT/LOOP keywords on page 124 MSGx keyword on page 140 PERFM keyword on page 141 DOC keyword on page 142 INCORROUT modifier keyword on page 150

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

117

DO NOT COPY
Yes Start MSG DSNV086E No

Restricted Materials of IBM Licensed Materials Property of IBM

ABENDx Keyword Procedure

Yes SVC Dump No

Issue MVS 'DISPLAY DUMP' to locate dump title for this abend

COMPID =XYR00/01

Yes

No Yes

SYSABEND or SYSUDUMP

Yes

IS Dump From IRLM

ABENDx Keyword Procedure

No

No

04E Completion Code No

Yes

Not DB2 or IRLM Refer To: MVS DIAGNOSTIC TECHNIQUES

One or more DB2 ASIDs current No

Yes ABENDx Keyword Procedure

Not DB2 or IRLM Refer To: MVS DIAGNOSTIC TECHNIQUES

IS DB2 Unresponsive

Yes

Issue MVS 'DISPLAY ACTIVE' To See if DB2 is Active No

Yes Is DB2 Active

WAIT/LOOP Keyword Procedure

No

Issue MVS 'WRITELOG' to Locate the DSNV086E Msg

ABENDx Keyword Procedure

Figure 39. Determining the type of failure

118

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Looping Symptoms

Yes

WAIT/LOOP 4 Keyword Procedure

No

Message Problem

Yes

MSGx Keyword Procedure

No

Performance Problem

Yes

PERFM Keyword Procedure

No

Problem in Document

Yes

Doc Keyword Procedure

No

Incorrect Output No For Other Problems, Call The IBM Support Center

Yes

INCORROUT Keyword Procedure

End

Figure 40. Determining the type of failure continued

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

119

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

ABENDx keyword
Use this keyword procedure when the subsystem or task terminates abnormally. This procedure describes how to (1) locate the abend completion code and the abend reason code, if there is one, and (2) how to use them in a set of keywords. When a DB2 or an IRLM abend occurs, it involves one of these symptoms: v An IEA911E message from z/OS, indicating an SVC dump occurred. See IEA911E message. v A SYSABEND or SYSUDUMP dump occurred. See SYSABEND or SYSUDUMP on page 121. v DB2 is unresponsive, but no messages or dumps were detected. See DB2 unresponsive on page 123. v The DSNV086E message, DB2 ABNORMAL TERMINATION REASON=xxxxxxxx. See DSNV086E message on page 123.

IEA911E message
1. Locate the SVC dump title for this abend using one of these methods: v Issue the z/OS DISPLAY DUMP command. Refer to z/OS MVS System Commands , if necessary. v The dump title is always at the top of each page of the formatted copy of an SVC dump. 2. If COMP=XYR00 or COMP=XYR01 a. Locate the 3-character completion code following the word ABND. v If the completion code is X071 or X122, the operator pressed the RESTART key or canceled the job, probably to break a loop. Turn to WAIT/LOOP keywords on page 124. v If the completion code is anything except X04E, build a keyword similar to ABENDxxx, replacing xxx with the completion code. Add this to the keyword string.
:5740XYR00 R910 ABEND0C4: (free format) :PIDS/5740XYR00 LVLS/910 AB/S00C4 (structured format)

Some non-X04E abends also have reason codes. These reason codes are usually found in register 15 at the time of the abend. Locate the reason code for the abend in either the 4-byte reason code field in a DB2-generated dump title, in the registers at time of error in the abstract information section of the dump, or from the value of register 15 in the error summary display obtained by issuing the z/OS command DISPLAY DUMP,ERRDATA,DSN=nn. Check the value against the description of the abend code in the z/OS system codes publication. If the value is a valid reason code for the abend completion code, add it to the keyword string.
ABEND058 RC0000000C (free format) AB/S0058 PRCS/0000000C (structured format)

After adding the completion code and the reason code, when the abend has a reason code, to the keyword string, turn to CSECT keyword on page 143. v If the completion code is X04E, find the 4-byte reason code following it. For an example, see Figure 38 on page 115. b. Review the diagnostic information for this reason code in DB2 Codes. Follow any recommended procedures.

120

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

c. Build a keyword similar to ABEND04E RCxxxxxxxx, replacing xxxxxxxx with the reason code. Add this to the keyword string and turn to CSECT keyword on page 143.
5740XYR00 R910 ABEND04E RC00E20015. (free format) PIDS/5740XYR00 LVLS/910 AB/S00E4 PRCS/00E20015 (structured format)

3. If COMP is not XYR00 or XYR01 Review the dump heading. If it reads DB2 SUBSYSTEM TERMINATION REQUESTED REASON=xxxxxxxx, follow the steps below. Otherwise, go to Step 4. a. Locate the 4-byte reason code in the message or dump heading following the word REASON. b. Build a keyword similar to ABEND04F RCxxxxxxxx, replacing xxxxxxxx with the reason code. Add this to the keyword string, and turn to Chapter 6, Search argument process, on page 157.
5740XYR00 R910 ABEND04F RC00D93001: (free format) PIDS/5740XYR00 LVLS/910 AB/S004F PRCS/00D93001 (structured format)

4. Scan the dump heading for IRLM (an IRLM-produced SVC dump title contains the character-string IRLM only if the subsystem name of the failing IRLM is IRLM). If found, follow the steps below. Otherwise, refer to the z/OS diagnostic techniques publication to determine the failing product. a. Print the SYS1.LOGREC entries. Refer to the z/OS diagnostic techniques publication, if necessary. b. Locate the appropriate SYS1.LOGREC entry. It should have the same time of day and program name as those appearing in the dump. For an example of a SYS1.LOGREC entry, see Figure 88 on page 214. c. Locate the 3-character completion code in the SYS1.LOGREC entry. To do this, locate the SDWACMPC field of the SDWA (system diagnostic work area). This contains the completion code. Figure 88 on page 214 illustrates its location. v If the completion code is X071 or X122, the operator pressed the RESTART key or canceled the job, probably to break a loop. Turn to WAIT/LOOP keywords on page 124. v Otherwise, build a keyword similar to ABENDxxx, replacing xxx with the completion code. Add this to the keyword string, which should identify IRLM as the failing component. Turn to CSECT keyword on page 143 and see Procedure using a SYS1.LOGREC entry on page 145.
569516401 AR220 ABEND52A (free format) PIDS/569516401 LVLS/220 AB/S052A (structured format)

SYSABEND or SYSUDUMP
1. Determine if there is also an SVC dump for this abend. a. Issue the z/OS DISPLAY DUMP command. Refer to the z/OS system commands publication, if necessary. b. Verify that the SVC dump has the same date, time stamp, and program name as those in the SYSABEND or SYSUDUMP. For information on printing the summary dump, see Printing dumps on page 167. 2. If there is a corresponding SVC dump, continue with the steps below. Otherwise, go to Step 3 on page 122.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

121

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

a. Review the dump title and verify that COMP=XYR00 or COMP=XYR01. If it does not, the problem might not be DB2. Consult the z/OS diagnostic techniques publication to determine the failing product. b. Locate the 3-character completion code following the word ABND. v If the completion code is X071 or X122, the operator pressed the RESTART key or canceled the job, probably to break a loop. Turn to WAIT/LOOP keywords on page 124. v If the completion code is anything except X04E, build a keyword similar to ABENDxxx, replacing xxx with the completion code. Add this to the keyword string and turn to CSECT keyword on page 143.
5740XYR00 R910 ABEND0C4 (free format) PIDS/5740XYR00 LVLS/910 AB/S00C4 (structured format)

v If the completion code is X04E, find the 4-byte reason code following it. For an example, see DB2-issued SVC dump title on page 184. c. Review the diagnostic information for this reason code in DB2 Codes, and follow any recommended procedures. d. Build a keyword similar to ABEND04E RCxxxxxxxx, replacing xxxxxxxx with the reason code. Add this to the keyword string and turn to CSECT keyword on page 143.
5740XYR00 R910 ABEND04E RC00E20015 (free format) PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E20015 (structured format)

3. If there is no corresponding SVC dump, follow the steps below. a. Locate the 3-character completion code. This follows the words COMPLETION CODE on the first page of the SYSABEND or SYSUDUMP. For an example, see Figure 86 on page 211. v If the completion code is X071 or X122, the operator pressed the RESTART key or canceled the job, probably to break a loop. Turn to WAIT/LOOP keywords on page 124. v If the completion code is X04E, locate the registers at time of error (identified by REGS AT TIME OF ERROR). See Finding the RTM2WA summary in a SYSUDUMP on page 211 for an example. Locate the reason code in register 15, the last register shown. Build a keyword similar to ABEND04E RCxxxxxxxx, replacing xxxxxxxx with the reason code. Add this keyword to the string and turn to CSECT keyword on page 143 and use Procedure using a SYS1.LOGREC entry on page 145.
5740XYR00 R910 ABEND04E RC00E50063 (free format) PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E50063 (structured format)

v If the completion code is not X071, X122, or XX04E, determine whether the problem occurred in DB2. (SYSUDUMP and SYSABEND dumps are rarely taken for DB2 internal errors; invalid user data is usually the cause.) Check the failing PSW address in the list of CDE entries for the task. If the failing address falls within the range of a module name beginning with DSN, the failure occurred in a DB2 attachment module. If the failing PSW address is outside the normal addressing range (such as zero), check the address in register 14 at time of failure. If this

122

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

address falls within the range of a module name beginning with DSN, the failure occurred in a DB2 attachment module or stored procedure module. Compare (1) the PASID value in XSB associated with the active RB at the time of failure and (2) the first 4 digits of the IDSQ field in the ASCB. If they are unequal and the application was executing SQL statements, the failure could have occurred in a DB2 address space. Check register 15 at time of failure. If it contains a reason code of X00F300nn, then one of the following situations occurred: (1) The abend took place in DB2 while processing a parameter supplied by the attachment subcomponent, and the passed parameter is in error. (2) The SQLCA address is invalid, and the problem is in the application program. (3) An invalid reason code or authorization ID was returned by an authorization exit routine, and the problem is in the application program. b. If the problem is not in DB2, check the application program. Often, there is invalid user data and, upon retry, an SQL error code is returned. c. If the problem appears to be in DB2, build a keyword similar to ABENDxxx, replacing xxx with the completion code. Add this to the keyword string and turn to CSECT keyword on page 143 and use Procedure using a SYS1.LOGREC entry on page 145.
5740XYR00 R910 ABEND0C4 (free format) PIDS/5740XYR00 LVLS/910 AB/S00C4 (structured format)

DB2 unresponsive
1. Issue the z/OS DISPLAY ACTIVE command to see if DB2 is active. Refer to the z/OS. system commands publication, if necessary. 2. If DB2 is active, turn to WAIT/LOOP keywords on page 124. 3. If DB2 is not active, review the console messages. Locate the DSNV086E message and the 4-byte reason code within it. 4. Build a keyword similar to RCxxxxxxxx, replacing xxxxxxxx with the reason code. Add this keyword to the string, and read DB2 Codes for additional diagnostic information. Then turn to Chapter 6, Search argument process, on page 157.
5740XYR00 R910 ABEND04F RC00D93001 (free format) PIDS/5740XYR00 LVLS/910 AB/S004F PRCS/00D93001 (structured format)

DSNV086E message
1. Issue the z/OS DISPLAY DUMP command to see if any SVC dumps occurred near the time the message appeared. Refer to the z/OS. system commands publication, if necessary. 2. If there were no SVC dumps for the abend, follow the steps below. Otherwise, go to Step 3 on page 124. a. Locate the 4-byte reason code in the message. b. Review the diagnostic information in DB2 Codes. Follow any recommended procedures. c. Build a keyword similar to ABEND04F RCxxxxxxxx, replacing xxxxxxxx with the reason code. Add this keyword to the string, and turn to Chapter 6, Search argument process, on page 157.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

123

DO NOT COPY
5740XYR00 R910 ABEND04F RC00D93001 (free format) PIDS/5740XYR00 LVLS/910 AB/S004F PRCS/00D93001 (structured format)

Restricted Materials of IBM Licensed Materials Property of IBM

3. If there was only one SVC dump for the abend, follow the steps below. Otherwise, go to Step 4. a. Review the dump title and verify that COMP=XYR00 or COMP=XYR01. If not, the problem might not be DB2. Use the z/OS diagnostic techniques publication to determine the failing product. b. Locate the 3-character completion code following the word ABND. v If the completion code is X071 or X122, the operator pressed the RESTART key or canceled the job, probably to break a loop. Turn to WAIT/LOOP keywords. v If the completion code is anything except X04E, build a keyword similar to ABENDxxx, replacing xxx with the completion code. Add this to the keyword string and turn to CSECT keyword on page 143.
5740XYR00 R910 ABEND0C4 (free format) PIDS/5740XYR00 LVLS/910 AB/S00C4 (structured format)

v If the completion code is X04E, find the 4-byte reason code following it. For an example, see DB2-issued SVC dump title on page 184. v Review the diagnostic information for this reason code in DB2 Codes. Follow any recommended procedures. v If the reason code is not in the ranges shown above, build a keyword similar to ABEND04E RCxxxxxxxx, replacing xxxxxxxx with the reason code. Add this to the keyword string and turn to CSECT keyword on page 143.
5740XYR00 R910 ABEND04E RC00E20015 (free format) PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E20015 (structured format)

4. If there were two or more SVC dumps, follow the steps below. Otherwise, go to Step 5. a. Read the sections in DB2 Codes that describe (1) the reason code appearing in the message, and (2) any reason codes appearing in the SVC dump titles. Reason codes appear after the completion code in the SVC dump title. For an example, see DB2-issued SVC dump title on page 184. b. Compare the reason codes in the SVC dumps to determine which dump relates to the DSNV086E message. Correlate the SYS1.LOGREC entry with console log time stamps. c. Use that SVC dump and follow Step 3 above. 5. If there were two or more different abends, follow the steps below: a. Determine which abend was the original cause by reviewing the time stamps in the SYS1.LOGREC entries. b. Follow Step 3 in this section, DSNV086E message on page 123.

WAIT/LOOP keywords
This chapter combines the procedures for the WAIT and LOOP keywords because the symptoms might not be distinguishable at first. When unable to complete one or more of the steps listed, perhaps because a command wont function, continue with the others to gather as much information as possible.

124

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

When DB2 is hung, waiting or looping, some z/OS diagnostic techniques can aid in analysis. Refer to the z/OS diagnostic techniques and debugging handbook publications for z/OS diagnosis and command syntax information. In addition, refer to DB2 Command Reference for the syntax of DB2 commands. Refer to Chapter 7, Printing and analyzing dumps, on page 167 for information on locating DB2 control blocks and formatting dumps. Finally, keep track of the current log and archive information.

Guidelines for good operational procedures


Good operational procedures make problem diagnosis easier and minimize the risk of damaging data. Consider these guidelines: v If DB2 hangs during distributed processing, it is possible that the problem is with VTAM or the network, rather than DB2. See Chapter 12, Diagnosing Distributed Data Facility (DDF) Failures, on page 295 for more information and procedures on diagnosing problems in a distributed environment. v If a DB2 hangs in the data sharing environment, the steps listed in this section can be used to resolve the problem. Follow the extra steps for data sharing, where indicated. v Keep space available on the active logs. If all active log data sets are full and archiving has not been completed, DB2 functions do not complete. DB2 cannot be stopped in this situation. v Verify that all archive mount requests have been properly satisfied. v Be sure that IRLM address spaces have a higher dispatching priority than any allied, DB2, or IMS address spaces. If IRLM does not get enough CPU time, a DB2 subsystem can experience bad performance or wait conditions. v Whether the entire operating system seems to be affected or only DB2 and some of its users, request an z/OS console dump. It should include: The common service area (CSA) The DB2 system services and database services address spaces and, for distributed processing only, the distributed data facility address space. If the problem occurs in the data sharing environment and involves more than one member of the data sharing group, take dumps of these address spaces for each member of the data sharing group. z/OS master scheduler address space IRLM address space. If the problem occurs in the data sharing environment and involves more than one member of the data sharing group, take a dump of this address space for each member of the data sharing group. Always include the XESDATA keyword in the SDATA parameters when IRLM is a member of a SYSPLEX GROUP. The address space of at least one involved user GRSTRACE (global resource serialization trace) Cross-system extended services (XES), if the problem occurs in the data sharing environment and involves more than one member of the data sharing group. To obtain an Z/OS console dump: 1. If an allied address space is hung: Determine if the relevant allied ASID getting CPU or if it is swapped out. If it is swapped out:

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

125

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Take a console dump of the Z/OS master (ASID=0001). Order is important. The Z/OS master must be dumped first to ensure good dump data. After the Z/OS master ASID=0001 is dumped, then dump: - Allied ASID - DB2MSTR - DB2DBM1 - IRLM If the relevant ASID is not swapped out, the z/OS master is not required, so dump only: - Allied ASID - DB2MSTR - DB2DBM1 - IRLM 2. If DB2 is hung, take a console dump of: DB2MSTR DB2DBM1 IRLM XES, if the problem occurs in the data sharing environment and involves more than one member of the data sharing group. SDATA information should include GRSQ and RGN added to the SDATA PARAMETER defaults on the dump command. Request the console dump as soon as it becomes evident that DB2 or a transaction is not functioning normally. v If you suspect that DB2 is looping, start the DB2 global trace, if it is not already active. Refer to Chapter 8, Printing and analyzing traces, on page 225 for information on the DB2 global trace facility. v If a performance problem is suspected, consider using the DB2 performance trace to obtain additional information. Refer to Part 5 (Volume 2) of DB2 Administration Guide for information about running the performance trace and choosing the events to be traced. Refer to Using the performance trace for diagnosis on page 241 for an example of using the performance trace to diagnose a WAIT problem. v After the console dump has completed, try to break the wait or loop by issuing the command
-CANCEL THREAD(token)

to cancel any hung or looping threads. If the hung thread cannot be canceled, or if DB2 is hung, try the following commands, in order, until one of them succeeds (ssnm is the DB2 subsystem name): 1. -STOP DB2 MODE(QUIESCE) 2. -STOP DB2 MODE(FORCE) 3. MODIFY irlmproc,ABEND 4. CANCEL ssnmMSTR 5. CANCEL ssnmDBM1 6. FORCE ssnmMSTR Use the FORCE command only as a last resort. FORCE can put IRLM in an indefinite state, and you might have to re-IPL z/OS before you can restart DB2. If all attempts to clear the problem fail, then a re-IPL of z/OS is necessary. Taking a stand-alone dump at this point provides little diagnostic value, because the preceding attempts to clear the problem might have deleted important diagnostic information. It is very important that a console dump be taken BEFORE attempting to clear the problem.

126

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v If X04E or X04F abends occurred before the WAIT/LOOP condition, obtain their corresponding SVC dumps. Follow the instructions in Chapter 7, Printing and analyzing dumps, on page 167 and any recommendations of the support center. v It is important to save the SYS1.LOGREC entries for the duration of the abnormal condition and for at least one hour preceding it. It is likewise important to save and print the console log for a similar period, preferably back to the -START DB2 command if this is not excessively long. While the documentation needed for a WAIT/LOOP may appear excessive, remember that this failure typically does not produce any documentation specific to its occurrence. Determining its cause often requires considerable examination.

Initial procedure
1. Determine the scope of the problem and the users and environments affected. 2. If the problem occurs in a sharing environment and involves more than one member of the data sharing group, do the following: v Issue the command
-DISPLAY GROUP

to get information this information about the status of the data sharing group: Status of each member: ACTIVE, QUIESCED, or FAILED. Lock structure and SCA storage: the percentage of lock entries in use and the percentage of SCA in use indicates whether a resource availability problem might be the reason for the hang. v Issue the IRLM status command:
F irlmproc,STATUS

on each member of the data sharing group to determine which IRLMs are responsive. If any IRLM does not respond, it might indicate that a wait on a lock is causing the hang. In some cases, DB2 uses the IRLM notify service to send XCF messages between data sharing members. The sender of the message might be waiting indefinitely for the receivers to respond. The message from the command F irlmproc,STATUS does not indicate if a system is suspended on a notify message. The buffer manager drain service, data definition language, and data set extend services use IRLM notify. If the hung user is draining a page set, the user task might be suspended waiting for the claim count to reach zero. Issue the command:
-DISPLAY DATABASE(dbname) CLAIMERS

to determine which users across the data sharing group hold a claim on the page set. If claimers exist, the drainer will be resumed when the claim count reaches zero, or the drainer will time out. 3. If DB2 hangs during distributed processing, see Chapter 12, Diagnosing Distributed Data Facility (DDF) Failures, on page 295 for procedures to follow. 4. Collect information about active DB2 threads. You can do this by issuing the DB2 command -DISPLAY THREAD TYPE(ACTIVE), or by formatting your console dump using DSNWDMP with the option DS=1. For information about DSNWDMP, see Using the DSNWDMP statement on page 169. Review the
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

127

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

output generated and the data in the following three fields. The field labels in -DISPLAY THREAD and DSNWDMP output are shown in parentheses. v Status (ST or first part of Status): For each thread, these status codes are possible: N ND QT T TD PT TR RA RN The thread is in either identify or sign-on status. The thread is in either IDENTIFY or SIGNON status. The thread is not currently associated with any TCB. The create thread request is queued. The associated allied task is in a wait state. An allied, non-distributed thread has been established. An allied thread was established (plan allocated). The thread is currently not associated with any TCB. The thread is a parallel task. The thread (an allied distributed thread) is requesting data from another database management system. The thread (database access agent) is performing a remote access on behalf of a request from another DBMS. A distributed thread is performing a remote access on behalf of a request from a partner location. The thread was suspended because DB2 must first connect to the partner location. The DB2 command DISPLAY LOCATION(*) shows conversation activity for this DB2 system conversation (SYSCON-O) service task. A distributed thread is performing a remote access on behalf of a request from another location. The thread was suspended because the maximum number of active database access threads (as described by the MAX REMOTE ACTIVE value of the DSN6SYSP macro in the DB2 startup parameter, usually DSNZPARM) was reached. Database access agents (DBAAs) are queued until a slot becomes available. Consider increasing the MAX REMOTE ACTIVE value. A thread is executing within a stored procedure. A thread is waiting for a stored procedure to be scheduled. An allied thread was distributed to access data at another DB2 location, but was suspended because DB2 system conversations have not been established. The DB2 command DISPLAY LOCATION(*) shows conversation activity for this DB2 system conversation (SYSCON-O) service task. The thread is queued for deferred termination because the associated allied task terminated. The allied task is placed in a WAIT state if this DB2 thread is the last (or only) one for the address space.

RQ

SP SW TN

QD

The thread is being terminated because the associated allied task terminated. The allied task is placed in a WAIT state if this DB2 thread is the last (or only) one for the address space. If a QT status is reported on the connection identifier (job name for batch), you are in a WAIT for a thread to become available. If you receive an excessive number of QT status codes, the limit specified for DB2 subsystem D

128

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

parameter CTHREAD can be increased. CTHREAD corresponds to field MAX USERS on installation panel DSNTIPE. If after repeating the -DISPLAY THREAD command several times, different threads have the D status and the ones previously having a D have terminated, then there is NO wait or loop. It is simply taking a long time to terminate all threads. Since deferred termination is serialized across all threads whose allied tasks have abended, and since abend processing must be performed, the total length of elapsed time can be excessive. However, if after considerable time, the same thread still has a status of D, a wait or loop is the probable cause. Software or hardware monitors can be used to see if one or more of the DB2 address spaces is consuming processor or I/O resources. (The users allied task has been in a wait state and cannot be using any processor or I/O resources.) If the processor utilization is high, then a loop should be assumed. If processor utilization is not high and there is ongoing I/O activity to the DB2 database and logging data sets, then wait a little longer. The allied thread is probably still in abend processing. If the processor and I/O utilization are low, it is safe to assume that DB2 is in an endless wait. If the allied thread with the status of D that appears to be waiting or looping is distributed, that is, the message, ACCESSING DATA AT location appears on the display thread command, attempt to terminate the thread by issuing the VTAM VARY NET, TERM command. If this does not solve the problem, continue with the following sections. After confirming a wait or loop condition, take an z/OS console dump as described in the previous section, Guidelines for good operational procedures on page 125. After the dump is complete, canceling one of the DB2 address spaces is likely to clear the problem. Canceling the allied address space of the hung thread or issuing -STOP DB2 has no effect. v DB2 activity indicator (A or second part of Status): If the activity indicator is on (if column A contains an asterisk), the threads allied task is executing in one of the DB2 address spaces. If the activity indicator is blank, the threads allied task is not executing in a DB2 address space. v Wraparound request counter (REQ or Req): If several -DISPLAY THREAD commands are issued and the request counter is incrementing, the thread is not in a WAIT but may be in a LOOP. If the counter is incrementing and the activity indicator is changing from blank to asterisk, the loop is NOT in DB2 code, but in the application. The combined state of the activity indicator and the REQ counter indicate that control of the task is continuously transferring between DB2 and the application. If the activity indicator consistently contains an asterisk and the REQ counter is not incrementing, it is safe to assume there is a wait or loop in DB2 code. 5. Verify that the problem is not in an application process. v If there is no asterisk in the DB2 activity indicator (column A), the thread is not active and the problem is in the application. v If the problem is in the application, determine where the processor cycles are being used. The z/OS DISPLAY ACTIVE command or other tools can help accomplish this. This can help to determine if the application is in a wait or a loop. Applications that fail to check SQL return codes properly after each SQL call might go into a loop, making it appear that DB2 is looping.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

129

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

6. Issue the DB2 command -DISPLAY DATABASE to determine if any DB2 resources are unavailable to the transactions involved in the wait or loop. 7. If DB2 resources are restricted because of utilities, issue the DB2 -DISPLAY UTILITY command to determine which utilities are operating. Utilities holding exclusive use of DB2 objects during normal processing include REORG (except when SHRLEVEL CHANGE is specified), LOAD, REBUILD, RECOVER, CHECK, MODIFY, and REPAIR. 8. Check for long-running jobs and for SPUFI users running with AUTOCOMMIT=NO. This determines if needed resources are being held. 9. Determine if the DB2 catalog is being updated. v The catalog can be updated through BIND, DDL, and certain utilities, including COPY, RUNSTATS, and STOSPACE. v Many updates can lock out other users, causing what appears to be a wait. The problem disappears when the catalog updates are completed. 10. Check for transactions using both DL/I and SQL. These transactions can wait for extended periods if IRLM has a large deadlock timeout specified and if a deadlock occurs over DL/I and SQL. 11. If a user is holding needed resources, wait for termination of that user, or cancel the user and request a dump. Reassess the scope of the problem. 12. If only one user is affected, determine if any indexes have been dropped that would extend the applications execution time. 13. If you receive no response from DB2 commands, DB2 is in a wait state. A problem can have occurred during -STOP DB2 processing or abnormal subsystem termination. 14. Review the list below to determine the appropriate procedure to follow next based upon the environments affected. The first procedure has the largest scope. v If DB2 is waiting during DB2 startup (See below) v If DB2 and/or z/OS are not operational on page 131 v If users in more than one environment cannot issue SQL statements on page 134 v If IMS dependent regions cannot issue SQL statements on page 135 v If DSN users cannot issue SQL statements on page 137

If DB2 is waiting during DB2 startup


After the -START DB2 command has been entered on the console, the system services address space is started, then the database services address space is started, and, finally, the distributed data facility address space is started. The system services address space waits for a signal that the database services address space has gained control. If the wrong program name is specified in the JCL, the program executes but the database services job step task does not gain control and the system services address space continues to wait indefinitely. 1. Cancel the system services address space from the console. 2. Once DB2 is stopped, check the start procedures for the DB2 address spaces (system services, database services, distributed data facility) to ensure the JCL is correct. 3. Verify that the data set names on the //STEPLIB card are correct and that the region size is correct. Check the JES JOBLOG, if needed, for additional information helpful to diagnosis.

130

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

If DB2 is waiting during distributed processing with another DB2


If DB2 hangs during distributed processing, the condition causing the problem could be at the requesting DB2 location, the responding DB2 location, in VTAM, in TCP/IP, or in the network. Capture enough information from all the participants to allow for effective diagnosis of the problem. In general, the SYSLOG, SYS1.LOGREC, and SVC dumps are needed from both the requesting and responding locations. (VTAM documentation can also be used.) See Chapter 12, Diagnosing Distributed Data Facility (DDF) Failures, on page 295 for more information.

If DB2 and/or z/OS are not operational


Looping
1. If z/OS is operational, take an z/OS console dump as directed in Guidelines for good operational procedures on page 125, before attempting to break the loop. If z/OS is not operational, take a stand-alone dump and IPL z/OS again. 2. Use standard z/OS diagnostic techniques to determine the location and scope of the loop. Refer to the z/OS diagnostic techniques and debugging handbook publications. 3. If DB2 is causing the loop, try to determine the CSECT or load module involved. Turn to CSECT keyword on page 143 and then to Load module modifier keyword on page 146. 4. Build a keyword similar to LOOP xxxxxx, replacing xxxxxx with the CSECT name. If the CSECT name is unavailable, or if a search with this proves unsuccessful, replace it with the load module identifier. Add this to the keyword string, and turn to Chapter 6, Search argument process, on page 157.
5740XYR00 R910 LOOP DSNXCR2 (free format) PIDS/5740XYR00 LVLS/910 RIDS/DSNXCRS LOOP (structured format)

Diagnosing a wait using the SYSZDSN3.ERLYOLRH ENQ


If DB2 and, possibly, z/OS are unresponsive, the holding of ENQ resource SYSZDSN3.ERLYOLRH can provide important clues about the location, but not the cause, of a wait. Normally this resource is held for very short periods of time. If a number of tasks are holding or waiting for the resource longer than a few seconds, then the tasks should be examined. SYSZDSN3.ERLYOLRH.ERLY_block_address is the full name of the ENQ resource. ERLY_block_address is a 32 bit binary address. If more than one DB2 subsystem is active, the ERLY_block_address value is unique for each subsystem. Be sure to look at the correct ENQ resource name. To locate the resource and analyze the status of each holding task, use the procedure below. 1. The holders of the ENQ resource can be located by these methods: v Various software monitor products can display the status of ENQ resources. However, if TSO or the z/OS consoles are unresponsive, not all of them are working. v If z/OS is unresponsive, a stand-alone dump should have been taken before re-IPLing. Find the SYSZDSN3.ERLYOLRH ENQ resource in the GRSTRACE portion of the dump. If printing the dump, include the GRSTRACE verb.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

131

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Locate the ENQ resources in the section entitled, OUTPUT FROM GRSTRACE VERB. If using the dump online using IPCS, then invoke the GRSTRACE verb directly. v Issue the following z/OS console command which can also be issued via the TSO OPER command: D GRS,RES=(SYSZDSN3,*) 2. If the ENQ resource is not held, skip the rest of this section. If it is held, the next step should be to determine if a problem exists in GRS. Review any messages and accompanying return and/or reason codes you receive. If any match those in Table 4, it indicates a possible GRS problem.
Table 4. Messages and codes for GRS problems Message IDC3009I Return Code 4 184 IEC161 28 52 Reason Code Any Any 184 Any

3. In the GRSTRACE display of the SYSZDSN3.ERLYOLRH ENQ resource, an exclusive request at the top of the list prevents any shared request from getting the resource. v Shared holders that are higher in the list than an exclusive request must all release the resource before the exclusive request can be satisfied. v In DB2, a task holds this resource while it is executing in the DB2 subsystem interface code. Tasks hold the resource in SHARED mode, with the exception of the DB2 job step tasks and a Master Scheduler task which is transmitting an End-of-Memory (EOM) condition on a DB2 address space. These tasks request the ENQ in EXCLUSIVE mode. 4. If all of the tasks are holding the resource in SHARED mode, then one or more are waiting in some DB2 module. v If viewing the ENQ resource online with a software monitor, the -DISPLAY THREAD command might be used to determine the status of the corresponding threads. Match the ASIDs in the list of tasks holding the resource with the ASIDs of the threads. For an interpretation of the -DISPLAY THREAD fields and the actions to take, refer to Initial procedure on page 127. Discontinue using this procedure unless the wait condition cannot be cleared. v If viewing the ENQ resource from a dump, it should be a stand-alone dump. It is necessary to look at the status of each task holding the resource. The address and module name of the wait point must be determined for each task. Refer to Locating the waiting CSECT on page 133 below. 5. If any task is requesting or holding the resource in EXCLUSIVE mode, then the DB2 subsystem is in the process of abnormal termination. Remember the jobname, ASID, and TCB address of the task. As stated above, it is either a DB2 job step or Master Scheduler task. v If the task is the first on the list, it is holding the ENQ resource. The DB2 subsystem interface code is attempting to complete subsystem abend termination, but has been unable to do so. v If the task is not first on the list, then it is waiting to obtain the resource in EXCLUSIVE mode, but is unable to do so because of one or more SHARED holders. The process of DB2 subsystem abend issues an ABEND with code

132

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

X04F against the allied task of each thread executing DB2 code. The presence of SHARED holders indicates that the abend was unsuccessful on those holders. v In any case, under this condition, DB2 cannot be recovered. If you a stand-alone dump and re-IPL has not been requested, do so now. 6. Using the stand-alone dump, locate the address space and task of the EXCLUSIVE holding or waiting task and any shared holding tasks. Determine the address and module name of the wait point for each task. Refer to Locating the waiting CSECT below. If the dump is printed, use the z/OS TCB Summary to locate each address space and task in the dump. If viewing the dump using IPCS, use IPCS procedures to locate each. Any shared waiting tasks following the EXCLUSIVE holding task need not be examined. They have not caused the wait condition.

Locating the waiting CSECT


1. Determine if an SVRB (supervisor request block) is beneath the lowest PRB (program request block) of a task. v If not, check its PSW to see if it points into DSNVSR. If this PSW points into DSNVSR, use save area sets to determine the CSECT and offset from which suspend was called. Refer to If DB2 and/or z/OS are not operational on page 131 and follow the procedure given for waits. v If so, look in the field labeled WLIC in the PRB; the last byte in this field indicates the SVC executed. The PSW points to the instruction following the SVC. If the interrupt code is X2F, the SVC was a STIMER. DB2 uses STIMER loops in several places to wait for the occurrence of an event. The PSW in the PRB is in the CSECT in which the STIMER loop is occurring. 2. Find the CSECT and load module names using one of the two methods listed below. v Using the module entry point list (MEPL) enables positive verification of an entry point, which is helpful in determining the offset of an instruction within a CSECT. (The MEPL can also be obtained by specifying IFCID 186 in the IFCID() parameter of the -START TRACE command.) Refer to Chapter Chapter 7, Printing and analyzing dumps, on page 167 for detailed information about MEPLs. There are three MEPLs: Batch Utilities MEPL A batch utilities MEPL is found in all DB2-issued SVC dumps involving batch utility abends. This list contains the CSECTs for the batch load module, DSNUTILB. Use the batch utilities MEPL only when message DSNU0171 is issued or when the dump title lists DSNUTILB as the failing load module. Early Code MEPL If the component ID in a dump title is XYR01, an early code MEPL is included in the summary dump for load module DSN3EP. The eyecatcher is EEP MEPLLIKE FOR DSN3EP. Use this MEPL when the failure occurred in a CSECT of load module DSN3EP; its format is the same as the other MEPLs. Locate the failing CSECT by following the procedure described under Finding the name of the failing CSECT in the MEPL on page 200. The ASID of load module DSN3EP is always 0000. Standard MEPL

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

133

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The standard MEPL is included in all dumps of the DB2 address spaces. If the dump is initiated by component 5740XYR00, that MEPL is included in the summary section of the dump. The standard MEPL contains entries for all load modules and CSECTs in the DB2 address spaces. It can be recognized by the MEPL eyecatcher or by several pages of EBCDIC CSECT or load module names on the interpreted area of the dump at the right. Use the standard MEPL when the criteria for using the other two MEPLs do not apply. Refer to The module entry point list (MEPL) on page 196 and The batch utilities MEPL on page 201 for detailed information about how to find the CSECT and load module in the MEPL. v Using the PSW a. Locate the instruction to which the PSW points and back up to the EBCDIC eyecatcher for the CSECT. This contains the function modification identifier (FMID), which indicates the fix level. b. Verify that you are in the correct address space. Look at the XSB just under the PRB from which the PSW was obtained. The PASID field indicates the ASID of the current primary address space, from which instructions are being fetched. 3. Add WAIT xxxxxx to the keyword string, replacing xxxxxx with the CSECT name. If the CSECT name is unavailable or if a search with this name is unsuccessful, replace it with the load module identifier. For more information, turn to Load module modifier keyword on page 146. To conduct a search, turn to Chapter 6, Search argument process, on page 157.
5740XYR00 R910 WAIT DSNXCR2 (free format) PIDS/5740XYR00 LVLS/910 RIDS/DSNXCR2 WAIT (structured format)

If users in more than one environment cannot issue SQL statements


This is a situation in which users of two or three of the attachment facilities cannot complete transactions, but DB2 is not hung; DB2 still responds to commands, or one attachment facility still operates normally. 1. If the z/OS GTF trace facility is not active, issue the z/OS START GTF command with the USR and TIME=YES options. 2. Verify that dump data sets are available. 3. Issue the z/OS DUMP command to dump the DB2 address spaces (database services, system services, distributed data facility address space (for distributed processing only) and any user address spaces) and the IRLM address space. Many large dumps are produced that can help to diagnose the problem if other methods fail. 4. Determine if the problem is a WAIT or LOOP. v Examine the trace tables: GTF, DB2, TSO, GRS, CICS, IMS attachment facility, or IMS. Be aware of any repeating patterns, which might indicate a LOOP. To use the GRS (global resource serialization) trace for a stand-alone dump, use the GRSTRACE keyword when the dump is printed. v Investigate what some users were doing before the problem occurred. If several users were doing the same thing, such as trying to access one resource, this might indicate a WAIT.

134

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

5. Add WAIT or LOOP to the keyword string. If unsure about which is appropriate, create two strings, one with each keyword. Turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 WAIT 5740XYR00 R910 LOOP (structured format): PIDS/5740XYR00 LVLS/910 WAIT PIDS/5740XYR00 LVLS/910 LOOP

If IMS dependent regions cannot issue SQL statements


This is a situation in which users communicating to DB2 through IMS cannot complete transactions, but DB2 is still operational, still responding to commands, or operating normally through an attachment facility. For details on the IMS commands described here, refer to the IMS Command Reference 1. Issue the IMS /DISPLAY ACTIVE command repetitively to identify the transactions being processed by each dependent region. Any dependent regions whose transaction codes are not changing might be involved in a WAIT or LOOP. 2. Issue the IMS /DISPLAY TRAN xx to verify that the program/transactions are not stopped. 3. Issue the z/OS command DISPLAY ACTIVE jobname repetitively, once for each message region that appears to be in a WAIT or LOOP. 4. Determine if the processor time remains the same. If so, the dependent region is probably in a WAIT state. Follow the steps in Gathering the information on page 136. 5. Otherwise, determine if the dependent region is in a loop. v IMS detects loops that occur within IMS dependent regions. The user specifies the timeout value using the TRANSACTION macro PROCLIM parameter. v If the dependent region has a long timeout, issue the IMS /DISPLAY TRAN y command. If this shows the IMS transaction is decreasing, the region is processing messages and the application is not in an endless loop. v If desired, issue the DB2 command -DISPLAY THREAD and review the REQ column, which often indicates loops. See the description under Step 4 on page 127 for additional information. 6. Issue the IMS /DISPLAY SUBSYSTEM command to determine the status of the connection to DB2. 7. Issue the IMS /TRACE SET ON SUBS OPTION LOG command to trace IMS calls to DB2 on the IMS log. 8. Issue the following IMS commands in order until one breaks the connection. If successful, skip the next step. If not successful, go to the next step. /STOP region reg# abdump /STOP region reg# CANCEL /STOP SUBSYS subsysname If none of these commands break the connection, the IMS control region might need to be forced into an abnormal abend. Before doing this, you must understand that all the IMS dependent regions and not only the one that has the connection problems with DB2 are terminated, and that an emergency restart of IMS(/ERE) has to be performed. The commands used to terminate the control region are explained in the next step.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

135

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

9. Issue the following MODIFY commands in this order until one successfully breaks the subsystem connection. Do not confuse these with the /MODIFY command or the MODIFY utility. F IMS,DUMPname F IMS,STOPname F IMS,FORCEname name refers to the attached external subsystem name defined in the IMS external subsystem PROCLIB member. 10. Follow the instructions under Gathering the information.

Gathering the information


1. If the reason for the wait or loop has not been determined, issue the IMS /STOP REGION x ABDUMP yyyy command to terminate the specific region involved in the wait or loop. If you receive a dump, the problem is in the applications address space and is probably the result of a user error. Analyze the dump and correct the problem. Do not continue with this procedure. 2. If the z/OS GTF trace facility is not active, issue the z/OS START GTF command with the USR and TIME=YES options. 3. Verify that dump data sets are available. 4. Use the z/OS DUMP command to dump the DB2 address spaces (database services, system services, the distributed data facility address space for distributed processing only, and any user address spaces) and the IRLM address space. This generates many very large dumps, which can help to diagnose the problem if other methods fail. 5. Terminate the dependent region and produce a SYSABEND or SYSUDUMP. Be aware that doing so can cause the IMS control to ABEND, with an ABENDU113, or cause DB2 to ABEND. With a dump data set available, issue the IMS /STOP REGION x CANCEL command. 6. Print the entries in the SYS1.LOGREC data set for the estimated time that the loop or wait began. For more information on printing SYS1.LOGREC entries, refer to Analyzing SYS1.LOGREC information on page 212. 7. Analyze the TOD (time of day) information in SYS1.LOGREC to determine if any failures occurred around the time the wait or loop occurred. Find entries related to the DB2 or dependent region address spaces. 8. Determine if users are doing something in the IMS attachment facility that might prevent them from accessing DB2. This might indicate a wait or loop in another component or in the attachment facility. 9. Determine if control is in IMS or in DB2. Review the information in the SYSABEND dump, IMS attachment facility trace table, and DB2 trace table. The trace tables are described in Chapter 8, Printing and analyzing traces, on page 225. 10. If control is in IMS, refer to the IMS diagnostic aids publication. Otherwise, keep the SYS1.LOGREC entries, the GTF trace, and the dumps you obtained in Step 4. 11. Add WAIT or LOOP to the keyword string. If unsure about which is appropriate, create two strings, one with each keyword. Turn to Chapter 6, Search argument process, on page 157.

136

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

(free format): 5740XYR00 R910 WAIT 5740XYR00 R910 LOOP (structured format): PIDS/5740XYR00 LVLS/910 WAIT PIDS/5740XYR00 LVLS/910 LOOP

If DSN users cannot issue SQL statements


This is a situation in which users communicating with DB2 through the DSN command processor cannot complete transactions, but DB2 is still operational (still responding to commands, or operating normally through other attachments). For information on call attachment facility restrictions, see DB2 Application Programming and SQL Guide. 1. If you are a SPUFI user, determine if the SQL statement just issued, and for which you received no response, is one that can take longer than usual to execute. For example, a statement that updates 80,000 records undoubtedly takes longer than one that updates one record. 2. Verify that the application programs are checking SQL return codes properly. A return code of +100 is received when work completes successfully. Refer to DB2 Application Programming and SQL Guide for more information on return code checking. 3. If the problem is in a batch environment, refer to In a batch environment on page 139. If the problem is in a foreground environment, continue below with In a foreground environment. The TSO attachment facility provides several different tracing mechanisms, only one of which, the DSN trace stream, is mentioned here. For information about other tracing mechanisms, refer to TSO attachment facility traces on page 253.

In a foreground environment
1. Try to terminate the current DSN session. Enter END or Enter END press the ATTENTION key twice. 2. If the z/OS GTF trace facility is not active, issue the z/OS START GTF command with the USR and TIME=YES options. 3. Issue the DB2 command -START TRACE(GLOBAL) DEST(GTF). 4. Allocate a DSNTRACE data set to collect a copy of the DSN trace messages that are going to appear on your terminal. 5. Restart the DSN session using the DSN command DSN SYSTEM(subsystemname) TEST(255), where subsystem-name is the site-defined name of the subsystem. 6. Review the DSN trace messages produced. Find any trace messages containing
BEFORE . . . ============= AFTER . . . =============

These indicate control is being passed between the application and DB2. For an example, see Figure 41 on page 138. 7. If the last trace stream message contains BEFORE with no corresponding AFTER message following, the problem is in DB2. Follow the steps below: a. Verify that dump data sets are available. b. Issue the z/OS DUMP command to dump the DB2 address spaces and the address space of the affected TSO user. This generates very large dumps, which can help to diagnose the problem if other methods fail.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

137

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

8. If the last trace message does not contain BEFORE, the problem is in the application or the DSN command processor. Follow the steps below: a. Verify that the application program is not in error. If necessary, have the operator cancel the TSO users involved in the problem. Request dumps for each user whose DSN session is canceled. b. If you see an unending series of messages similar to those shown below, the application program is in a loop. Verify that it is checking the SQL return codes properly.
BEFORE SQL CALL ========== AFTER SQL CALL ========== DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNETRAP DSNETRAP DSNETRAP DSNETRAP DSNETRAP DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 CIBCORID :H443722 X00000000 X00000000 ZINDOUBT :NO X00000000 X00000000 BEFORE CREATE THREAD DB2 CALL======R6,CIBRFRB X00187840 X00187DA0 AFTER CREATE THREAD DB2 CALL======R6,CIBRFRB X00187840 X00187DA0 FOLLOWING ARE FRB FIELD CONTENTS, CIBCTFRM= X00187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) X00000000 X00010004 FRBPARM(PTR), FRBPCNT(BIN15) X00000000 X00000000 FRBRC1(BIN15), FRBRC2(CHAR4) X00000000 X00000000 FRBFBACK PRT(31), FRBRHPC X00000000 X00000000 FRBQUAL(BIN15), FRBRSV1(BIN15) X00000001 X00000000 CIBPLNID :TSOAP1 X00000000 X00000000 ZINDOUBT :NO X00000000 X00000000 R6=, CIBCTRTN=X00187840 XE2E8D5C3 EXIT DSNECP13 X00000000 X00187DA0 AFTER DSNECP13, CIBCTRTN=,CIBCTFRB= XE2E8D5C3 X00187DA0 HERE COMES THE FRB <<<<<<<<<<<<<<< CIBRFRB= X80187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) X00000000 X00030001 FRBPARM(PTR), FRBPCNT(BIN15) X001AB1E0 X000000000 FRBRC1(BIN15), FRBRC2(CHAR4) X00000000 X00000000 FRBFBACK: X00000000 X00000000 FRBFBACK PTR(31),FRBRHPC X00000000 X00000000 840 X00187DA0 FRBQUAL(BIN15), FRBRSV1(BIN15) X00000001 X00000000 EXIT DSNECP28,CIBRFRB,CIBFRMLI X80187DA0 X00000000 BEFORE SQL CALL=======================FRB,R1== X80187DA0 X00187870 AFTER SQL CALL=====================RC1,FBACK== X00000000 X00000000 BEFORE SQL CALL=======================FRB,R1== X80187DA0 X00187870 AFTER SQL CALL=====================RC1,FBACK== X00000000 X00000000 AFTER LINK GOOD, R15=, R1= X00000000 X0018753C 40 X00187DA0 ENTER DSNECP18, CIBTRMOP= XE2E8D5C3 X00000000 CIBTRMOP NOT BLANK, CIBTRMOP= XE2E8D5C3 X00000000 FRB FIELDS FOLLOW (CIBFRB): X00187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) X00000000 X00010001 FRBPARM(PTR), FRBPCNT(BIN15) X001873A8 X00000000 FRBRC1(BIN15), FRBRC2(CHAR4) X00000000 X00000000 FRBFBACK(PTR), FRBRHPC(BIN32) X00000000 X00000000 FRBQUAL(BIN15), FRBRSV1(BIN15) X00000001 X00000000 BEFORE TERMINATE DB2 CALL===============TRMOP= XE2E8D5C3 X00000000 AFTER TERMINATE DB2 CALL====================== X00000000 X00000000 FRB FIELDS FOLLOW (CIBFRB): X00187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBRVLE(BIN15) X00000000 X00010001

Figure 41. Example of DSN trace messages. Each pair of BEFORE SQL CALL and AFTER SQL CALL trace messages represents one SQL statement. The BEFORE and AFTER TERMINATE DB2 CALL messages show DSN terminating its connection to DB2.

9. If the problem appears to be in the DSN command processor, add WAIT TSOATTACH or LOOP TSOATTACH to the keyword string. If unsure about which is appropriate, build two keyword strings, one with each keyword. Then turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 WAIT TSOATTACH 5740XYR00 R910 LOOP TSOATTACH

138

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

(structured format): PIDS/5740XYR00 LVLS/910 TSOATTACH WAIT PIDS/5740XYR00 LVLS/910 TSOATTACH LOOP

10. If the problem appears to be in DB2, add WAIT or LOOP to the keyword string. If unsure about which is appropriate, build two keyword strings, one with each keyword. Then turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 WAIT 5740XYR00 R910 LOOP (structured format): PIDS/5740XYR00 LVLS/910 WAIT PIDS/5740XYR00 LVLS/910 LOOP

In a batch environment
1. If the z/OS GTF trace facility is not active, issue the z/OS command START GTF with the USR and TIME=YES options. 2. Issue the DB2 command -START TRACE(GLOBAL) DEST(GTF). 3. Request an z/OS dump of DB2 and the batch job involved in the problem. 4. Cancel the job. 5. Resubmit the job with a SYSUDUMP DD card, using the DSN command DSN SYSTEM(subsystem-name)(TEST(255). Replace subsystem-name with the site-defined name of the subsystem. For more information about the DSN trace facility, refer to DSN trace stream on page 254. 6. Let the job run until you think the problem has occurred again. Then have the operator cancel the job with a dump. 7. Review the trace output. In batch DSN sessions, the trace messages go to the SYSTSPRT data set. Figure 41 on page 138 provides an example of these trace messages. Find any trace messages similar to
BEFORE . . . ============= AFTER . . . =============

These indicate control is being passed between the application and DB2. 8. Verify that the application program is not causing a loop. a. Submit the job two or more times and compare the amount of trace message output. Determine if the trace messages seem to continue until the job times out or the operator cancels it. b. If necessary, have the operator cancel the TSO users involved. Request dumps for each user whose DSN session is canceled. c. Check for an unending sequence of messages similar to those shown below. If this occurs, the application program is causing the loop. Verify that it is checking the SQL return codes properly.
BEFORE SQL CALL ========== AFTER SQL CALL ==========

9. If the problem appears to be in the DSN command processor, add WAIT TSOATTACH or LOOP TSOATTACH to the keyword string. If unsure which is appropriate, build two keyword strings, one with each keyword. Then turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 WAIT TSOATTACH 5740XYR00 R910 LOOP TSOATTACH

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

139

DO NOT COPY
(structured format): PIDS/5740XYR00 LVLS/910 TSOATTACH WAIT PIDS/5740XYR00 LVLS/910 TSOATTACH LOOP

Restricted Materials of IBM Licensed Materials Property of IBM

10. If the problem appears to be in DB2, add WAIT or LOOP to the keyword string. If unsure which is appropriate, build two keyword strings, one with each keyword. Then turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 WAIT 5740XYR00 R910 LOOP (structured format): PIDS/5740XYR00 LVLS/910 WAIT PIDS/5740XYR00 LVLS/910 LOOP

MSGx keyword
Use this keyword if an error is associated with a DB2 or an IRLM message. If you receive more than one message for one error, search the database using the first message issued. If unsuccessful, search the database using the next message, then the next, and so on. To see if other messages related to the problem have been issued, check the console sheets that contain DB2 messages, as well as messages issued by other products. If any messages are prefixed with IEC, indicating it was issued by media manager services, check the SYSLOG for messages that identify associated VSAM problems. SYSLOG can also help to diagnose user errors. If the message was issued immediately after you did something that a DB2 publication told you to do, the problem can be related to the documentation rather than to the message. If this is the case, turn to DOC keyword on page 142. Otherwise, compare the message prefix with those shown in the table below to determine the appropriate procedure to follow.
Table 5. Message prefixes Prefix DSN DXR DFH DFS IDC IKJ IST Component DB2 IRLM CICS IMS Access method services TSO VTAM Procedure Follow Procedure for DB2 messages on this page Follow Procedure for IRLM messages on page 141 Consult CICS Transaction Server for z/OS Messages and Codes Consult IMS Messages and Codes Volumes 1 and 2 Consult z/OS MVS System Messages Volumes 1-10 Consult z/OS TSO/E Messages Consult VTAM for MVS/ESA Messages and Codes

Procedure for DB2 messages


1. Check if the name of the CSECT issuing the message appears. This name follows the message number, as shown in Figure 42 on page 141.

140

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

DSNW413I s csect_name - ACCOUNTING FACILITY HAS LOST DATA RC=y DSNJ202I csect_name INSUFFICIENT VIRTUAL STORAGE AVAILABLE TO CONTINUE WITH UTILITY. Figure 42. Finding a CSECT name in a DB2 message

No CSECT name appears if only one CSECT can issue this message. 2. Determine if the message contains any variables, such as return or reason codes. 3. If no CSECT name appears, build a keyword similar to MSGxxxxxxxx, replacing xxxxxxxx with the message number. Add this to the keyword string. If the message contains any variables, turn to Message modifier keyword on page 155. Otherwise, turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 MSGDSNE004E (structured format): PIDS/5740XYR00 LVLS/910 MS/DSNE004E

4. If a CSECT name does appear, build a keyword similar to MSGxxxxxxxx yyyyyyyy. Replace xxxxxxxx with the message number, and replace yyyyyyyy with the CSECT name. Add this to the keyword string. If the message contains any variables, turn to Message modifier keyword on page 155. Otherwise, turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 MSGDSNJ202I DSNJU0001 (structured format): PIDS/5740XYR00 LVLS/910 MS/DSNJ2021 RIDS/DSNJU0001

Procedure for IRLM messages


1. Determine if the message contains any variables, such as return or reason codes. 2. Build a keyword similar to MSGxxxxxxxx, replacing xxxxxxxx with the message number. Add this to the keyword string. If the message contains variables, turn to Message modifier keyword on page 155. Otherwise, turn to Chapter 6, Search argument process, on page 157.
(free format): 569516401 AR220 MSGDXR124E (structured format): PIDS/569516401 LVLS/220 MS/DXR124E

PERFM keyword
Most performance problems can be resolved through system tuning and should be handled by the DB2 system administrator. Before following this procedure, use the checklist below to verify that the performance problem cannot be resolved through other means. v Try to tune performance following the guidelines in Part 5 (Volume 2) of DB2 Administration Guide and the z/OS initialization and tuning guide publication. Performance information related to application design is in DB2 Application Programming and SQL Guide. v Verify that the performance problem is not related to a wait or loop. Turn to Initial procedure on page 127, which is part of WAIT/LOOP keywords on page 124.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

141

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v If the problem occurs immediately after doing something according to a DB2 manual, the problem can be related to the publication. Turn to DOC keyword. v If performance degraded after someone tuned DB2, verify that the tuning options selected were appropriate. Most likely, the problem can be resolved by choosing other options.

Procedure
1. Record the actual performance, expected performance, and source of expected performance criteria. 2. Add PERFM to the keyword string, and turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 PERFM (structured format): PIDS/5740XYR00 LVLS/910 PERFM

DOC keyword
This keyword identifies problems caused by incorrect or missing information in a DB2 publication. It is possible that a publication problem can be detected when trying to resolve problems with messages, incorrect output, and performance.

Procedure
1. Locate the incomplete or erroneous page. Describe the error and the resulting problem. 2. Build a keyword similar to DOC xxxxxxxxx, replacing xxxxxxxxx with the document number on the cover of the book. Omit hyphens. Add this keyword to the string, and turn to Chapter 6, Search argument process, on page 157. If the search is unsuccessful, follow Step 3.
(free format): 5740XYR00 R910 DOC LY274603 (structured format): PIDS/5740XYR00 LVLS/910 PUBS/LY274603

3. Broaden the search by replacing the last digit with two asterisks (**). This searches for all problems on that document, rather than on a specific release of the document. If the search is unsuccessful, follow Step 4.
(free format): 5740XYR00 R910 DOC LY274603** (structured format): PIDS/5740XYR00 LVLS/910 PUBS/LY274603

4. If this problem could cause other users to lose time, consider initiating a DOC APAR. Use the information gathered in Step 1, and turn to APAR preparation on page 158. 5. If the problem is less severe, include your suggestions on the Readers Comment Form in the back of that manual. Include your name and address to receive a reply. Corrections resulting from readers comments are included in future editions of the manual but are not included in the software support database.

142

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

INCORROUT keyword
Use this procedure when output was expected but not received or when output was different from expected. However, if this incorrect output problem occurred after you did something that a DB2 publication told you to do, the documentation can be in error. Refer to DOC keyword on page 142 on this page.

Procedure
Add INCORROUT to the existing keyword string, and turn to INCORROUT modifier keyword on page 150 to specify the problem.
(free format): 5740XYR00 R910 INCORROUT (for DB2) 569516401 R220 INCORROUT (for IRLM 2.2) (structured format): PIDS/5740XYR00 LVLS/910 INCORROUT (for DB2) PIDS/569516401 LVLS/220 INCORROUT (for IRLM 2.2)

CSECT keyword
To find the name of the failing CSECT, follow Procedure using SVC dump title on page 144; this is the easiest and most efficient method. If the dump title is not available, use one of these procedures: Procedure using a SYS1.LOGREC entry on page 145. Procedure using first page of an SVC dump on page 145. Any CSECT name that is located following these procedures should begin with: DSN for DB2 DXR for IRLM DSNC or DSN2 for CICS attachment DSNM for IMS attachment DSN3, DSNA, DSNV, or DSNZ for the subsystem initialization component, or the primary DB2 component. Some DSNA CSECTs belong to the call attachment facility. v If the CSECT prefix is DSN3, DSNA, DSNV, or DSNZ follow the steps below. 1. Use SMP to list the CSECT. Issue the command LIST CDS MOD(csect-name). Locate the FMID from this. 2. If the FMID is HIZ2220, use the subsystem initialization component identifier (5740XYR01) in the keyword string. If the FMID is HDB2220, use the primary DB2 component identifier (5740XYR00). Consult the z/OS diagnostic techniques publication to identify the failing product. v If the prefix denotes an attachment facility, use its component identifier in the keyword string: 5740IX100 for CICS (old attachment facility), 565501800 for CICS (new attachment facility), and 5740IY100 for IMS. If a CSECT name with a different prefix is found, the problem probably is not in DB2. Isolate the failing product using the z/OS diagnostic techniques publication. Other ways of finding the CSECT name are explained elsewhere in this section. For example: v If you received a DB2-generated message and if the type-of-failure keyword is MSGx, follow the procedures for MSGx keyword on page 140.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

143

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v If using SQL and access is available to an SQL Communication Area (SQLCA) for the problem, use the procedure for SQLCODE modifier keyword on page 154. You have access to the SQLCA if the application program displays it or if a dump was generated for this specific problem. If the CSECT cannot be found, turn to Recovery routine modifier keyword on page 148.

Procedure using SVC dump title


1. Locate the second word following the label LOC=. This is the CSECT name (a number follows it). v For an example, see DB2-issued SVC dump title on page 184. v If the dump title does not contain this label, follow either Procedure using a SYS1.LOGREC entry on page 145 or Procedure using first page of an SVC dump on page 145. 2. If the abend completion code found when following ABENDx keyword on page 120 is not X04E, add the CSECT name to the keyword string. If desired, find the load module name and any appropriate VRA data; see Modifier keyword on page 145.
(free format): 5740XYR00 R910 ABEND0C4 DSNVATRM (structured format): PIDS/5740XYR00 LVLS/910 AB/S00C4 RIDS/DSNVATRM

3. If the reason code found when following ABENDx keyword on page 120 is X00C90101, X00C90102, X00C90105, or in the range of X00C902xx, locate the four-character reason code qualifier in the dump title. See Figure 59 on page 186. Build a keyword similar to xxxxxxxx VRACEyyyy or xxxxxxxx ERQUAL yyyy. Replace xxxxxxxxx with the CSECT name and yyyy with the reason code qualifier. Add this to the keyword string. If desired, find the load module name and any appropriate VRA data; see Modifier keyword on page 145.
(free format): 5740XYR00 R910 ABEND04E RC00C90105 DSNKDLEV VRACE0D01 5740XYR00 R910 ABEND04E RC00C90105 DSNKDLEV ERQUAL 0D01 (structured format): PIDS/5740XYR00 LVLS/910 PRCS/00C90105 RIDS/DSNKDLEV FLDS/VRACE VALU/H0D01 PIDS/5740XYR00 LVLS/910 PRCS/00C90105 RIDS/DSNKDLEV FLDS/ERQUAL VALU/H0D01

4. If the reason code found when following ABENDx keyword on page 120 begins with X00E7, locate the P or M sign in the dump title and the three-digit decimal reason code qualifier that follows it. For an example, see Figure 61 on page 187. Append the qualifier to SQLERRD. Add this and the CSECT name to the keyword string. If desired, find the load module name and any appropriate VRA data; see Modifier keyword on page 145.
(free format): 5740XYR00 R910 ABEND04E RC00E70005 DSNXAMCT SQLERRD101 (structured format): PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E7005 RIDS/DSNXAMCT FLDS/SQLERRD101

144

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

5. If the reason code found when following ABENDx keyword on page 120 begins with X00E2, the name of the CSECT calling the failing Storage Manager CSECT is included in the VRA. Search the database using the information in the dump title. The search can be narrowed by including the CSECT name, turn to VRA data modifier keyword on page 149.
(free format): 5740XYR00 R910 ABEND04E RC00E2000B DSNSFBK (structured format): PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E2000B RIDS/DSNSFBK

Procedure using a SYS1.LOGREC entry


1. Locate the SYS1.LOGREC entry related to the error. Compare the date, time, ERRORID string, and program name in the dump with those in the SYS1.LOGREC entry. 2. Locate the CSECT name in the SYS1.LOGREC entry. It follows the words NAME OF CSECT INVOLVED on the top left corner of the first page. For an example, turn to Analyzing SYS1.LOGREC information on page 212. 3. Add the CSECT name to the keyword string. The component identifier must correspond to the CSECT prefix. If desired, determine the load module name and any appropriate VRA data by turning to Modifier keyword.
(free format): 5740XYR00 R910 ABEND0C4 DSNVATRM (structured format): PIDS/5740XYR00 LVLS/910 AB/S00C4 RIDS/DSNVATRM

Procedure using first page of an SVC dump


1. Locate the SYMPTOM DATA column and note the name listed as the second item. This is the CSECT name, as the EXPLANATION column indicates. For an example, see Figure 55 on page 183. 2. Add the CSECT name to the keyword string and turn to Modifier keyword if you wish to narrow the search further.
(free format): 5740XYR00 R910 ABEND0C4 DSNVATRM (structured format): PIDS/5740XYR00 LVLS/910 AB/S00C4 RIDS/DSNCATRM

Modifier keyword
Modifier keywords identify problems more precisely and help to narrow the search. Most of these keywords change only certain failures; use this chapter if you were referred here from a previous chapter. Table 6 on page 146 lists several modifier keywords. See the column Conditions for Using This Keyword to determine which keyword to use; follow the corresponding procedure.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

145

DO NOT COPY
Table 6. Types of modifier keywords Keyword Load Module modifier RECOVERY ROUTINE modifier Conditions for Using This Keyword You have a related SYS1.LOGREC entry or SVC dump. Both conditions are true: v The load module and CSECT names cannot be found in the SVC dump or in the SYS1.LOGREC entry, and v You have an SVC dump title. VRA Data modifier You have access to a variable recording area (VRA) for the abend. The VRA is in the system diagnostic work area (SDWA), which when available is in the SYS1.DUMP data set and the SYS1.LOGREC data set. All these conditions are true: v The type-of-failure keyword was INCORROUT, Description

Restricted Materials of IBM Licensed Materials Property of IBM

Procedure to Follow Load module modifier keyword

Identifies the name of the load module involved.

Identifies the name of the Recovery routine functional recovery routine modifier keyword on (FRR) or the extended specify page 148 task abnormal exit (ESTAE) that handled the program failure. Identifies information stored in the VRA that describes the abend. VRA data modifier keyword on page 149

SQLCODE modifiers

Identifies the additional information to describe the problem, such as:

SQLCODE modifier keyword on page 154

v The function keyword was SQL, v SQLCODE (SQL return code) v You are fairly certain the v Name of the CSECT that problem was not caused by a issued the return code user error, and v SQL subcode. v You have access to the SQL communication area (SQLCA). (The SQLCA can be displayed by the application program or found in a dump.) INCORROUT modifiers The type-of-failure keyword is INCORROUT MESSAGE modifier Both conditions are true: v The type-of-failure keyword is MSGx, and v The DB2-issued message you received contains variables Identifies various primary and secondary modifier keywords. Identifies additional items of information provided when the message is issued. INCORROUT modifier keyword on page 150 Message modifier keyword on page 155

Load module modifier keyword


Use this keyword if (1) the search was unsuccessful when you used the CSECT keyword or (2) the search yielded too many possible matches when you used the CSECT keyword. If the search was unsuccessful, replace the CSECT name with the load module name and try again. If the search yielded too many possible matches, add the load module name to the string to further narrow the search. All DB2 load module names begin with DSN; all IRLM load module names begin with DXR. If you follow these instructions and find a load module name with a different prefix, the problem is probably in another product. Use the z/OS diagnostic techniques publication to identify the failing product.

146

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

To locate the load module name, follow Procedure using the SVC dump title. If the dump title is not available, follow one of these procedures: v Procedure using a SYS1.LOGREC entry. Use this if you received a SYSABEND or SYSUDUMP. v Procedure using first page of an SVC dump on page 148.

Procedure using the SVC dump title


1. Locate the first word following the label LOC=. This is the load module name, and it precedes the CSECT name. For an example, see DB2-issued SVC dump title on page 184. If the dump title does not contain this word, follow either Procedure using a SYS1.LOGREC entry or Procedure using first page of an SVC dump on page 148 on this page. 2. Add the load module name to the keyword string, or substitute it for the CSECT name as appropriate. If you have access to the variable recording area (VRA) for the abend, turn to VRA data modifier keyword on page 149. If not, search the database again using the revised keyword string. Turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 ABEND04E RC00E50013 DSNSLD1 DSNSVSTK (with load module name and then CSECT name) 5740XYR00 R910 ABEND04E RC00E50013 DSNSLD1 (with load module name only) (structured format): PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E50013 RIDS/DSNSLD1#L RIDS/DSNSVSTK (with load module name and then CSECT name) PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E50013 RIDS/DSNSLD1#L (with load module name only)

Procedure using a SYS1.LOGREC entry


1. Locate the SYS1.LOGREC entry related to the error. Compare the date, time, program name, and ERRORID string in the dump with those in the SYS1.LOGREC entry. 2. Locate the load module name in the SYS1.LOGREC entry. It follows the words NAME OF MODULE INVOLVED in the top left corner of the first page. For an example, turn to Figure 88 on page 214. If UNKNOWN appears instead of the load module name, try to determine the load module by following Procedure using first page of an SVC dump on page 148. 3. Add the load module name to the keyword string, or substitute it for the CSECT name as appropriate. If you have access to the variable recording area (VRA) for the abend, turn to VRA data modifier keyword on page 149. If not, search the database again using the revised keyword string. turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 ABEND04E DSN9SCNP (with load module name 5740XYR00 R910 ABEND04E (with load module name (structured format): PIDS/5740XYR00 LVLS/910
LY37-3218-01 Copyright IBM Corp. 1983, 2007

RC00F9000C DSN9PREP and then CSECT name) RC00F9000C DSN9PREP only) AB/S004E RIDS/DSN9PREP#L
Chapter 5. Type-of-failure keywords

DO NOT COPY

147

DO NOT COPY
RIDS/DSN9SCNP (with load module name and then CSECT name) PIDS/5740XYR00 LVLS/910 AB/S004E RIDS/DSN9PREP#L (with load module name only)

Restricted Materials of IBM Licensed Materials Property of IBM

Procedure using first page of an SVC dump


1. Locate the column titled SYMPTOM DATA and the name listed as the first item. This is the load module, as the EXPLANATION column indicates. For an example, turn to Figure 55 on page 183. If UNKNOWN appears instead of the load module name, try to determine the load module by following Procedure using a SYS1.LOGREC entry on page 147. If the SYS1.LOGREC entry also has UNKNOWN for the load module name, try to improve the search argument by turning to Recovery routine modifier keyword. 2. Add the load module name to the keyword string, or substitute it for the CSECT name as appropriate. If you have access to the variable recording area (VRA) for the abend, turn to VRA data modifier keyword on page 149. If not, search the database again using the revised keyword string. Turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 ABEND04E RC00E50013 DSNSLD1 DSNSVSTK (with load module name and then CSECT name) 5740XYR00 R910 ABEND04E RC00E50013 DSNSLD1 (with load module name only) (structured format): PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E50013 RIDS/DSNSLD1#L RIDS/DSNSVSTK (with load module name and then CSECT name) PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E50013 RIDS/DSNSLD1#L (with load module name only)

Recovery routine modifier keyword


Include the name of the recovery routine only when these conditions are true: v An SVC dump is available. v The names of the CSECT and load module involved at the time of failure cannot be determined after looking in both the SVC dump and the SYS1.LOGREC entry. To obtain the recovery routine name, follow Procedure using the SVC dump title. If the dump title isnt available, follow one of these procedures: Procedure using a SYS1.LOGREC entry on page 149. Procedure using first page of SVC dump on page 149.

Procedure using the SVC dump title


1. Locate the area of the dump title containing the symbol M=. The word following this identifies the FRR (functional recovery routine) or the ESTAE (extended specify task abnormal exit). For an example, turn to DB2-issued SVC dump title on page 184. 2. Add that word to the keyword string. If you have access to the variable recording area (VRA) for the abend, turn to VRA data modifier keyword on page 149. If not, search the database, following the instructions in Chapter 6, Search argument process, on page 157.

148

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

(free format): 5740XYR00 R910 ABEND04E RC00E20015 DSNTFRCV (structured format): PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E20015 RIDS/DSNTFRCV#R

Procedure using a SYS1.LOGREC entry


1. Locate the SYS1.LOGREC entry related to the error. Compare the date, time, program name, and ERRORID string in the dump with those in the SYS1.LOGREC entry. 2. Locate the recovery routine name in the SYS1.LOGREC entry. It follows the words RECOVERY ROUTINE in the top left corner of the first page. For an example, see Figure 88 on page 214. 3. Add this name to the keyword string. If you have access to the variable recording area (VRA) for the abend, turn to VRA data modifier keyword. If not, search the database, following the instructions in Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 ABEND04E RC00E20015 DSNTFRCV (structured format): PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E20015 RIDS/DSNTD4FRCV#R

Procedure using first page of SVC dump


1. Locate the column titled SYMPTOM DATA and the name listed as the fourth item. This is the recovery routine name, as the EXPLANATION column indicates. For an example, see Figure 55 on page 183. 2. Add this to the keyword string. If you have access to the variable recording area (VRA) for the abend, turn to VRA data modifier keyword. If not, search the database, following the instructions in Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 ABEND04E RC00E20015 DSNTFRCV (structured format): PIDS/5740XYR00 LVLS/910 AB/S004E PRCS/00E20015 RIDS/DSNTFRCV#R

VRA data modifier keyword


Use this keyword procedure if all these conditions are true: v The type of failure was ABEND. v You have access to a variable recording area (VRA), located in the system diagnostic work area (SDWA) of an SVC dump or a SYS1.LOGREC entry. Some information in the VRA is common to all DB2 subcomponents; however, a given subcomponent can add specialized information at failure. In the examples shown here, the abend reason code X00E2000B is listed as one of the reason codes for the storage manager subcomponent for which significant data is stored in the VRA. Refer to The variable recording area (VRA) on page 192 for additional information about the VRA.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

149

DO NOT COPY
Procedure

Restricted Materials of IBM Licensed Materials Property of IBM

1. Determine if the reason code received for the abend indicates that significant information is recorded in the VRA. Refer to DB2 Codes. 2. If significant information is recorded, locate the VRA Diagnostic Information Report. See Figure 67 on page 193 for an example. It usually appears in the beginning of the formatted dump. For more information on the VRA report and details on locating it, see The variable recording area (VRA) on page 192. 3. Scan the KEY column until the key containing the significant data is found. 4. Determine the appropriate key name based upon the hexadecimal key value. For example, a key of 3D for reason code X00E2000B indicates the key name VRACAN. See Table 23 on page 223. 5. Build a keyword similar to xxxxxx yyyyyy. Replace xxxxxx with the VRA key name and yyyyyy with the data appearing in the corresponding VRA DATA FIELDS column. Add this to the keyword string and search the database using the CSECT name or the load module identifier (or both, if appropriate). Turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 ABEND04E RC00E2000B DSNSFBK VRACAN DSNVASIM (with CSECT name) 5740XYR00 R910 ABEND04E RC00E2000B DSNSLD1 VRACAN DSNVASIM (with load module identifier) 5740XYR00 R910 ABEND04E RC00E2000B DSNSLD1 DSNSFBK VRACAN DSNVASIM (with load module identifier and CSECT name) (structured format): PIDS/5740XYR00 LVLS/910 AB/S00E4 PRCS/00E2000B RIDS/DSNSFBK FLDS/VRACAN RIDS/DSNVASIM (with CSECT name) PIDS/5740XYR00 LVLS/910 AB/S00E4 PRCS/00E2000B RIDS/DSNSLD1#L FLDS/VRACAN RIDS/DSNVASIM (with load module identifier) PIDS/5740XYR00 LVLS/910 AB/S00E4 PRCS/00E2000B RIDS/DSNSLD1#L RIDS/DSNSFBK FLDS/VRACAN RIDS/DSNVASIM (with CSECT name and load module identifier)

INCORROUT modifier keyword


Use this modifier keyword if the type-of-failure keyword is INCORROUT.

Procedure
1. Determine the primary and secondary modifier keywords for the problem. 2. If the primary modifier keyword is not SQL, add that keyword and the secondary modifier keyword to the string. Turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 INCORROUT UTILITY MERGECOPY (structured format): PIDS/5740XYR00 LVLS/910 INCORROUT

3. If the primary modifier keyword is SQL, determine if you have access to the SQLCA (structured query language communication area). This area is available if the application program displays the SQLCA or if a dump was issued for this specific problem. Refer to Sample SQLCA control blocks on page 204 for examples. The SQL communication area (SQLCA) on page 203 describes how to locate the SQLCA in a dump.

150

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

DB2 Application Programming and SQL Guide describes how to embed the SQLCA in application programs. 4. If you have access to the SQLCA, add the primary and secondary modifier keywords to the string. Then turn to SQLCODE modifier keyword on page 154.
(free format): 5740XYR00 R910 INCORROUT SQL INSERT (structured format): PIDS/5740XYR00 LVLS/910 PCSS/SQL PCSS/INSERT INCORROUT

5. If you do not have access to the SQLCA, add the primary and secondary modifier keywords to the string. Then turn to Chapter 6, Search argument process, on page 157.
Table 7. INCORROUT modifier keywords Primary keyword Secondary keywords CLIST INSTALL PREP UTILITIES DB2I BIND DB2 COMMAND DCLGEN FREE PREP REBIND SPUFI UTILITY IMSATTACH APPLICATION DB2 COMMAND DISC IRLM REQLOCK REQPURGE MIGRATION/ FALLBACK LOAD REMIGRATE RESTORE UNLOAD PRECOMPILER ASM C COBOL FORTRAN PLI REXX Problem occurrence While using a CLIST While using DSNTINST installation CLIST While using DSNH program preparation CLIST While using DSNU utilities CLIST During DB2I processing After executing BIND panel request After executing the DB2 COMMANDS panel request After executing DCLGEN panel request After executing FREE panel request After executing DB2 PROGRAM PREPARATION panel request After executing REBIND panel request After executing SPUFI panel request After executing UTILITY panel request With IMS attachment facility While an IMS application was processing an SQL statement While processing a DB2 command using the IMS attachment facility During IMS attachment facility DISconnect connect processing In IRLM Error in lock processing Error in PURGE processing During migration to next release or fallback to previous release During load phase of migration During migration after a fallback During restore phase of fallback During unload phase of migration During precompile During assembler processing During C processing During COBOL processing During FORTRAN processing During PL/I processing During REXX processing

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

151

DO NOT COPY
Table 7. INCORROUT modifier keywords (continued) Primary keyword Secondary keywords RECOVERY BACKOUT CHECKPOINT COMMIT LOGGING RECOVER RESTART RRS ATTACH APPLICATION DB2 COMMAND DISC SERVICEAID DSN1CHKR DSN1COPY DSN1LOGP DSN1PRNT DSN1SDMP SQL ALLOCATE CURSOR ALTER ASSOCIATE LOCATORS CALL CLOSE COMMENT COMMIT CONNECT CREATE DECLARE DELETE DESCRIBE DROP EXECUTE EXPLAIN FETCH FREE GRANT HOLD

Restricted Materials of IBM Licensed Materials Property of IBM

Problem occurrence During recovery (but not associated with RECOVER utility; for that use UTILITY function keyword) At backout time At checkpoint time At commit time During logging During attempt to recover indoubt threads During restart processor With Resource Recovery Services attachment facility (RRSAF) While an application in the RRS environment was processing an SQL statement While processing a DB2 command using RRSAF During RRSAF TERMINATE IDENTIFY processing While running a service aid utility While running DSN1CHKR While running DSN1COPY While running DSN1LOGP While running DSN1PRNT While running DSN1SDMP After issuing an SQL statement After issuing an ALLOCATE CURSOR statement After issuing an ALTER statement After issuing an ASSOCIATE LOCATORS statement After issuing a CALL statement After issuing a CLOSE statement After issuing a COMMENT statement After issuing a COMMIT statement After issuing a CONNECT statement After issuing a CREATE statement After issuing a DECLARE statement After issuing a DELETE statement After issuing a DESCRIBE statement After issuing a DROP statement After issuing a EXECUTE statement After issuing a EXPLAIN statement After issuing a FETCH statement After issuing a FREE statement After issuing a GRANT statement After issuing a HOLD statement

152

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Problem occurrence After issuing a INCLUDE statement After issuing a INSERT statement After issuing a LOCK statement After issuing a OPEN statement After issuing a PREPARE statement After issuing a RELEASE statement After issuing a RELEASE SAVEPOINT statement After issuing a RENAME statement After issuing a REVOKE statement After issuing a ROLLBACK statement After issuing a ROLLBACK TO SAVEPOINT statement After issuing a SAVEPOINT statement After issuing a SELECT statement After issuing a SELECT INTO statement After issuing a SET CONNECTION statement After issuing a SET CURRENT APPLICATION ENCODING SCHEME statement After issuing a SET CURRENT DEGREE statement After issuing a SET CURRENT LOCALE LC_CTYPE statement After issuing a SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION statement After issuing a SET CURRENT OPTIMIZATION HINT statement After issuing a SET CURRENT PACKAGE PATH statement After issuing a SET CURRENT PACKAGESET statement After issuing a SET CURRENT PRECISION statement After issuing a SET CURRENT REFRESH AGE statement After issuing a SET CURRENT RULES statement After issuing a SET CURRENT SQLID statement After issuing a SET host variable statement After issuing a SET transition variable statement After issuing an UPDATE statement After issuing a VALUES statement After issuing a VALUES INTO statement After issuing a WHENEVER statement While using one of the DB2 stand-alone utilities While using the Change Log Inventory Utility While using the Log Read utility While using the Print Log Map utility

Table 7. INCORROUT modifier keywords (continued) Primary keyword Secondary keywords SQL continued INCLUDE INSERT LOCK OPEN PREPARE RELEASE RELEASE SAVEPOINT RENAME REVOKE ROLLBACK ROLLBACK TO SAVEPOINT SAVEPOINT SELECT SELECT INTO SET CONNECTION SET CURRENT APPLICATION ENCODING SCHEME SET CURRENT DEGREE SET CURRENT LOCALE LC_CTYPE SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION SET CURRENT OPTIMIZATION HINT SET CURRENT PACKAGE PATH SET CURRENT PACKAGESET SET CURRENT PRECISION SET CURRENT REFRESH AGE SET CURRENT RULES SET CURRENT SQLID SET host variable SET transition variable UPDATE VALUES VALUES INTO WHENEVER CHANGE LOG LOG READ PRINT LOGMAP

SQL continued

STAND-ALONE

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

153

DO NOT COPY
Table 7. INCORROUT modifier keywords (continued) Primary keyword Secondary keywords TSOATTACH BIND DB2 COMMAND DCLGEN FREE REBIND RUN SPUFI TSOCOMMAND UTILITY BACKUP CHECK COPY COPYTOCOPY DIAGNOSE INDEXBUILD LOAD MERGECOPY MODIFY REBUILD RECOVER RELOAD REORG REPAIR REPORT RESTORE RUNSTATS QUIESCE STOSPACE UNLOAD

Restricted Materials of IBM Licensed Materials Property of IBM

Problem occurrence With TSO/Batch attachment facility During BIND subcommand processing During DB2 command processing During DCLGEN subcommand processing During FREE subcommand processing During REBIND subcommand processing While running an application program While invoking SPUFI as a panel request During TSO command processing While a utility was processing While running BACKUP SYSTEM utility While running CHECK utility While running COPY utility While running COPYTOCOPY utility While running DIAGNOSE utility While running REORG or LOAD (BUILD phase) While running LOAD utility While running MERGECOPY utility While running MODIFY utility While running REBUILD INDEX utility While running RECOVER utility While running REORG utility (RELOAD phase) While running REORG utility While running REPAIR utility While running REPORT utility While running RESTORE SYSTEM utility While running RUNSTATS utility While running QUIESCE utility While running STOSPACE utility While running REORG (UNLOAD phase) or UNLOAD utility

If DB2 rolls back to the wrong savepoint: If you encounter problems when rolling back to a savepoint: 1. Collect log records for the pertinent transaction. 2. Verify that the savepoint you intended was not accidentally replaced by another savepoint of the same name. (Savepoint log records have a record type of X2200 and subtype X0014.) If DB2 rolls back to the wrong savepoint, the data is probably incorrect. In that case, you need to recover to a prior point in time. See Part 4 (Volume 1) of DB2 Administration Guide for information on recovery to a prior point in time. 3. If you suspect a DB2 error, then contact the IBM Support Center and report the symptoms and supply the pertinent log records.

SQLCODE modifier keyword


Use this modifier keyword only when: v An incorrect output problem occurred in response to an SQL statement. v The SQLCODE (SQL return code) was not issued because of a user error. DB2 Codes should help determine this. v The SQLCA (Structured Query Language communication area) is available.

154

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Procedure
1. Locate the SQLCA. Finding the SQLCA on page 204 describes how to locate the SQLCA in a dump. An example appears in Sample SQLCA control blocks on page 204. 2. Locate the 3-digit decimal SQL code following the label SQLCODE. Find any variables in the SQLCODE message, such as the name of an unavailable resource. 3. Find any additional relevant information that can be present. The format and contents of the SQLCA varies from problem to problem. Check for: v Any CSECT names following the label SQLERRP. v Any meaningful 4-byte hexadecimal subcodes following the label SQLERRD. There are six such subcode fields. Find only those whose values do not equal X00000000 or XFFFFFFFF. 4. Build a keyword based on the relevant data that was collected. Include the SQL return code and any pertinent CSECT names, message variables, and subcodes. The SQL return code should appear similar to SQLCODExxx, with xxx indicating the 3-digit code with the minus sign omitted. Add this to the keyword string and turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 INCORROUT SQL CREATE SQLCODE901 DSNHPA RC0000C901 (structured format): PIDS/5740XYR00 LVLS/910 INCORROUT PCSS/SQL PCSS/CREATE FLDS/SQLCODE901 RIDS/DSNHPA PRCS/0000C901

Message modifier keyword


Use this procedure when the type-of-failure keyword is MSGx and the message you receive contains variables. Refer to DB2 Messages to determine if the message has variables.

Procedure
1. If the message contains return or reason codes, usually indicated by RC, build a keyword similar to RCx. Replace x with the return or reason code, and add this to the string. Turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 MSGDSNM002I RCE (structured format): PIDS/5740XYR00 LVLS/910 MS/DSNM002I PRCS/0000000E

2. If the message contains any other types of variables, append them to the keyword string. Turn to Chapter 6, Search argument process, on page 157.
(free format): 5740XYR00 R910 MSGDSNJ104I OPEN (structured format): PIDS/5740XYR00 LVLS/910 MS/DSNJ1041 MS/OPEN

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 5. Type-of-failure keywords

155

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

156

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 6. Search argument process


Searching the IBM software support database is most effective if you: v Use the keywords given in this chapter. v Always spell keywords the way they are spelled in this chapter. v Include all the appropriate keywords in any description with IBM.

Procedure
1. Search the IBM software support database using the keywords you have developed, or use tools that are available (such as EWS or INFO/System) to search the database. Otherwise, contact the IBM Support Center or IBM Service. Do not use both the CSECT keyword and the load module modifier keyword at the same time for the first search. Refer to Load module modifier keyword on page 146 for additional information. 2. Compare each matching PTF or APAR closing description with the current failure symptoms. 3. If you find an appropriate PTF or APAR, apply the correction. 4. If you do not find an appropriate PTF or APAR, vary the search argument by following the suggestions provided under Techniques for varying the search. 5. If you still cant find a similar problem, see APAR preparation on page 158.

Techniques for varying the search


To vary the search, follow these guidelines: v If a complete set of keywords was used (as described in this chapter) and were unable to find any problem descriptions to examine, drop one or more of these keywords and try again: Dependency keywords listed in Dependency keywords on page 162 Release level keyword Load Module modifier keyword Recovery routine modifier keyword SQLCODE modifier keyword Performance modifier keyword CSECT keyword. v If you tried to search with an incomplete set of keywords and found too many problem descriptions to examine, add keywords to narrow the search. For example, for storage manager abends (which begin with a reason code of X00E2), use the CSECT name recorded in the VRA as a means to narrow or vary the search. v If you tried to search with a complete set of keywords and found too many matching descriptions and if you received a 4-byte DB2 abend reason code, you might be able to make the set of keywords more precise. Look up the 4-byte abend reason code in DB2 Codes. Additional information is available for this problem. v If the type-of-failure keyword is WAIT, LOOP, or PERFM, and a matching problem description is not found, try to replace whichever type-of-failure keyword that was used with one of the other two listed here. Sometimes a
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

157

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

problem that appears to be a performance problem might actually be a wait or loop; likewise, a problem that seems to be a wait or a loop might actually be recorded as a performance problem. v If the type-of-failure keyword is MSGx and you received more than one message near the time of the problem, replace the number of the message in the keyword with other related message numbers. v If the type-of-failure keyword is MSGx, PERFM, or INCORROUT, and if the problem occurred immediately after performing some action that a DB2 publication described, then the problem can be recorded as a DOC type of failure. In this case, try searching with DOC as the type-of-failure keyword, rather than with MSGx, PERFM, or INCORROUT.

APAR preparation
An Authorized Program Analysis Report (APAR) can be submitted if the keyword search proves unsuccessful. Call IBM for help in determining if an APAR is necessary. APARs can be generated only by authorized IBM personnel. To prepare for an APAR: 1. Initiate an APAR by contacting the IBM Support Center or IBM Service. Be ready to supply the following information: v Customer number v Current service level (PTF list and list of APAR fixes applied) v Keyword string used to search the IBM software support database v Processor number (serialmodel). 2. Gather APAR documentation. Any or all of the items listed here might be requested to determine if an APAR is appropriate or to accompany an APAR. Because of the size of DB2 SVC dumps in the cross memory environment, transfer the SYS1.DUMPxx data set to a tape or like device. Use the PRDMP service aid program to transfer the SYS1.DUMPxx data set contents to another set for archiving until the problem is resolved. Depending on the nature of the problem, the IBM support center might request the entire dump on tape. The preferred format is a standard label tape. This allows the support center to extract any additional data needed for problem resolution; for example, CSA, SQA, or the private storage area. Refer to the z/OS service aids publication for information about transferring the data set and gathering the following information, if necessary: v Console output from the system on which the job was run, and listing of SYSLOG data set, for the period of time spanning the failure. v IMS system log information for the period of time spanning the failure. v Stand-alone dump, SYSABEND, SYSUDUMP, or SYSMDUMP output. v SYSPRINT output, including JCL for the listing of the program or batch job and system messages that were issued. v Dynamic dump, taken to SYS1.DUMPxx data set. v SVC dump (or system dump), taken to SYS1.DUMPxx data set. (To print this, submit the job with the appropriate parameters shown in Printing dumps on page 167.) v Listing of SYS1.LOGREC data set. (To obtain this, execute IFCEREP1. If more than one site is involved, get SYS1.LOGREC listings from each connected site.)

158

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v Output of GTF trace (tape or listing) or SDMPTRAC trace (see DSN1SDMP utility on page 278). Try to have the tape of GTF output available. (To obtain this, start the GTF procedure and submit the job with the appropriate parameters.) v Link pack area map (LPAMAP) and nucleus load module map. (To obtain this, execute AMBLIST.) v Listing of the PROCs used to initialize DB2 address spaces. v Listing of PTFs and PTF module cross references. For information on how to obtain these, refer to the SMP/E guide publication. v IDCAMS LISTCAT output for the ICF (VSAM) catalog that contains the DB2 system catalog within which the failing index or table was defined. v A dump of the index or table space that failed. This is generated by running the DB2 REPAIR utility with the DUMP option. v A VTOC listing of the DASD volume on which the failing operation occurred. v A listing of DB2s log entries. (When sending archive log data, remember that archive log tapes have two data sets on them, the boot strap data set and the archive log data set. Be sure to send both data sets.) v A listing of the DSNTRACE data set for the DSN (TSO attachment facility) session involved in the problem. v A listing produced by doing an SQL SELECT * for the failing table or for some of the DB2 catalog tables. v A source listing of the failing application process. 3. Submit APAR Documentation When submitting material for an APAR to IBM, carefully pack and clearly identify any magnetic tapes or printed output containing application source programs, job stream data, data sets, or libraries. Each item submitted must have the following information attached and visible: v The APAR number assigned by IBM v A list of data sets on the tape (application source program, JCL, or data) v A description of how the tape was made, including: The exact JCL listing or the list of commands used The recording mode and density Tape labeling The record format, logical record length, and block size used for each data set. Note: For best results, Use IBM standard labels when building APAR tapes, and start dump data sets at the beginning of a tape.

Data needed to analyze RDS problems


Some or all of the following data may be requested by the IBM support center to analyze a DB2 RDS problem. In a situation with both a good and bad scenario, include data from both. When the data is requested as hardcopy, print the data on paper. When the data is requested as softcopy, put the data on a cartridge or tape. For the DDL and DML the preferred format is fixed block, LRECL 80 or 132. Having the data in this format allows the IBM support center to quickly analyze the problem.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 6. Search argument process

159

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Class 1 data - always needed: A complete copy of the problem query: It is very important that this be an exact, unmodified copy of the query that is causing the problem. If there are host variables in the query, they should be left in the query. Please include a hardcopy as well as softcopy. Values used for any host variables in the query: This should be hardcopy. Complete copies of all DDL involving all tables and views in the query: This would include all creates for stogroups, databases, table spaces, tables, views, and indexes. This should be softcopy. Explain output for the query: Please refer to Part 5 (Volume 2) of DB2 Administration Guide to see how to select from PLAN_TABLE. Catalog statistics: Gather statistics for all tables involved in the query, including any tables in any views referenced by the query. Make sure that you gather statistics for all tables in any view referenced by the query. To do this, run the following select statements, substituting the appropriate values for TABLELIST and CREATORLIST. Please try to gather the results from the following selects in such a way that a data row does not wrap onto more than one line. The IBM support team can model a system more efficiently if the data is not wrapped. This should be softcopy.

160

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

SELECT DISTINCT TS.NAME,TS.CREATOR,NACTIVE,NTABLES FROM SYSIBM.SYSTABLESPACE TS, SYSIBM.SYSTABLES TBL WHERE TBL.NAME IN (TABLELIST) AND TBL.CREATOR IN (CREATORLIST) AND TBL.TSNAME = TS.NAME ORDER BY NAME; SELECT NAME,CREATOR,CARD,NPAGES,PCTPAGES FROM SYSIBM.SYSTABLES WHERE NAME IN (TABLELIST) AND CREATOR IN (CREATORLIST) ORDER BY NAME; SELECT NAME,TBNAME,TBCREATOR,FIRSTKEYCARD,FULLKEYCARD,NLEAF, NLEVELS,CLUSTERRATIO,CLUSTERED FROM SYSIBM.SYSINDEXES WHERE TBNAME IN (TABLELIST) AND TBCREATOR IN (CREATORLIST) ORDER BY TBNAME,NAME; SELECT NAME,TBNAME,TBCREATOR,COLNO,COLCARD,HIGH2KEY, LOW2KEY,HEX(HIGH2KEY),HEX(LOW2KEY) FROM SYSIBM.SYSCOLUMNS WHERE TBNAME IN (TABLELIST) AND TBCREATOR IN (CREATORLIST) AND COLCARD ^= -1 ORDER BY TBNAME,COLNO; SELECT NAME,TBNAME,TBOWNER,FREQUENCY,STATSTIME, SUBSTR(COLVALUE,1,8),HEX(SUBSTR(COLVALUE,1,8)) FROM SYSIBM.SYSCOLDIST WHERE TBNAME IN (TABLELIST) AND TBOWNER IN (CREATORLIST) ORDER BY TBNAME,NAME; SELECT NAME,TBNAME,TBOWNER,PARTITION,FREQUENCY,STATSTIME FROM SYSIBM.SYSCOLDISTSTATS WHERE TBNAME IN (TABLELIST) AND TBOWNER IN (CREATORLIST) ORDER BY TBNAME,NAME,PARTITION; SELECT NAME,TBNAME,TBOWNER,PARTITION,COLCARD, HIGH2KEY,LOW2KEY,HEX(HIGH2KEY),HEX(LOW2KEY) FROM SYSIBM.SYSCOLSTATS WHERE TBNAME IN (TABLELIST) AND TBOWNER IN (CREATORLIST) AND COLCARD ^= -1 ORDER BY TBNAME,NAME,PARTITION; SELECT NAME,OWNER,PARTITION,FIRSTKEYCARD,FULLKEYCARD,NLEAF, NLEVELS,CLUSTERRATIO FROM SYSIBM.SYSINDEXSTATS WHERE NAME IN (TABLELIST) AND OWNER IN (CREATORLIST) ORDER BY NAME,PARTITION; SELECT NAME,OWNER,PARTITION,CARD,NPAGES,PCTPAGES FROM SYSIBM.SYSTABSTATS WHERE NAME IN (TABLELIST) AND OWNER IN (CREATORLIST) ORDER BY NAME,PARTITION;

For example if a query referenced tables T1 and T2, and these tables were created by USER1, then the first query to run would be:
SELECT DISTINCT TS.NAME,TS.CREATOR,NACTIVE,NTABLES FROM SYSIBM.SYSTABLESPACE TS, SYSIBM.SYSTABLES TBL WHERE TBL.NAME IN (T1,T2) AND TBL.CREATOR IN (USER1) AND TBL.TSNAME = TS.NAME ORDER BY NAME;

Buffer pool sizes (specified in IFCID 0202): This should be hardcopy.


LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 6. Search argument process

161

DO NOT COPY
CPU model: This should be hardcopy.

Restricted Materials of IBM Licensed Materials Property of IBM

A count of the number of rows that are returned from the query: This should be hardcopy. DBRMs for static applications: This should be softcopy. Class 2 data - may be needed: Performance summary report. The preferred report is the DB2 PM accounting summary report. However, if DB2 PM is not available, a summary report from a different performance monitor can be used. This should be hardcopy. Class 3 data - may be needed: A complete, unformatted storage dump at a specified module or at the failure point. An IBM support person can provide more details about how to generate a storage dump. Class 4 data - may be needed: Performance trace of the problem query. The start command for the most common kind of trace is shown below. An IBM support person might ask that different trace classes be turned on.
-START TRACE(PERFM) CLASS(1,2,3,6,8,9,10,32) IFCID(135,136,186) RMID(*) DEST(GTF) TDATA(COR,CPU) AUTHID(AUTHID) PLANID(PLANID)

DEST(SMF) can be used. The trace must be unformatted. This must be softcopy. Class 5 data - may be needed: A DSN1COPY of all table spaces and index spaces involved in the query, including DDL for all tables defined in the table spaces and all DBID, PSID, and OBID information. This must be softcopy.

Dependency keywords
This section lists program-dependent or machine-dependent symptom keywords that qualify the problem description beyond the normal set given so far. For example, a failure can occur only in a CICS environment. The dependency keyword, D/CICS, when added to the set of keywords, can help reduce the number of problem descriptions that need to be examined. Generally, a dependency keyword should only be used at the direction of a person from the IBM support center. Keyword Environment D/BATCH Batch D/CICS CICS D/DXT Data Extract D/IMS IMS D/ISPF Interactive System Productivity Facility

162

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

D/QMF Query Management Facility D/TSO TSO D/VTAM VTAM D/ZOS z/OS

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 6. Search argument process

163

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

164

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 3. Diagnostic Aids for Single Systems and Data Sharing

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

165

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

166

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 7. Printing and analyzing dumps


This chapter explains the following topics: v Types of DB2 for z/OS dumps v Printing dumps v Formatting dumps on page 168 v Analyzing SVC dumps on page 181 v Suppressing SVC dumps using z/OS DAE on page 209 v When SVC dumps are not produced on page 210 v SYSUDUMP dumps on page 210 v Analyzing SYS1.LOGREC information on page 212.

Types of DB2 for z/OS dumps


The following tables gives the data set, output type, printing information, and cause of each DB2 dump type.
Table 8. Types of DB2 dumps Dump type Data set Output type Machine readable Printed by IPCS in conjunction with a DB2 verb exit Normally SYSOUT=A Caused by Operator entering z/OS DUMP command An abend of a DB2 application

Dynamic SYS1.DUMPxx (z/OS console) SNAP

Dynamic Formatted allocation of SNAP data set for SYSOUT Defined by installation (tape or disk) SYS1.DUMPxx Machine readable Machine readable

Stand-alone

IPCS in conjunction with a DB2 verb exit IPCS in conjunction with a DB2 verb exit

Operator IPL of the stand-alone dump program z/OS or DB2 functional recovery routine detecting error. For information on printing SVC dumps, refer to Printing dumps An abend condition (and only taken if there is a SYSABEND DD statement for the step) An abend condition (and only taken if there is a SYSUDUMP DD statement for the step)

SVC

SYSABEND

Defined by JCL (SYSOUT=A) Defined by JCL (SYSOUT=A)

Formatted

Normally SYSOUT=A

SYSUDUMP

Formatted

Normally SYSOUT=A

Printing dumps
DB2 supports IPCS under z/OS. It is recommended that IPCS be used for versatility. The DB2 dump formatter routine, DSNWDPRD, is invoked by IPCS with:
DB2 VERBEXIT DSNWDMP

Figure 43 on page 168 contains sample JCL for printing and formatting a dump through IPCS. These JCL samples illustrate the appropriate parameters for
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

167

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

formatting SVC, stand-alone, and dynamic dumps. The DSNWDMP control statement shown in the examples causes the DB2 dump formatter (DSNWDPRD) to be invoked and defines the DB2 control block structures to be formatted. For more information about the DSNWDMP control statement, see Formatting dumps. The JCL included here contains only the DD statements recommended for DB2. Your site might choose to include other DD statements as well.
//PRDMP00 JOB 1,PRINT SYS1.DUMP00 //********************************************** //* IPCS INVOCATION AS VERB EXIT * //********************************************** //DB2DMP EXEC PGM=IKJEFT01,REGION=5120K //SYSTSPRT DD SYSOUT=* //SYSABEND DD SYSOUT=* //IPCSPRNT DD SYSOUT=* //IPCSDDIR DD DSN=dump.directry-name,DISP=OLD //DUMP00 DD DSN=SYS1.DUMP00,DISP=SHR //SYSTSIN DD * IPCS NOPARM TASKLIB(DB2 Load Library) SETDEF PRINT TERMINAL DDNAME(DUMP00) NOCONFIRM VERBEXIT DAEDATA STATUS SYSTEM CPU REGS VERBEXIT CPUDATA VERBEXIT CVTMAP VERBEXIT LOGDATA VERBEXIT TRACE VERBEXIT GRSTRACE SUMMARY JOBSUMMARY FORMAT ALL VERBEXIT SUMDUMP VERBEXIT DSNWDMP TT,ALL //* //* For printing stand-alone and dynamic dumps, //* the DSNWDMP statement should also include //* SUBSYS=DB2_subsystem_name, for example: //* VERBEXIT DSNWDMP TT,ALL,SUMDUMP=NO, //* SUBSYS=DB2_subsytem_name //* CLOSE ALL END The DSNWDMP statement can be changed to print SVC, stand-alone, or dynamic dumps. Figure 43. Sample JCL for printing dumps through IPCS in the z/OS environment. The format of the JOB statement is defined by the site.

Formatting dumps
There are a number of ways to format sections of a dump. Use IPCS or keywords on the DSNWDMP statement to selectively print portions of a dump.

Using IPCS options


Specify IPCS options to select portions of the dump to print: v To request the TCB summary section, use the FORMAT statement. v To indicate the type of data to be formatted from the dump, use the IPCS VERB keywords. v To ensure that the dump contains formatted SYS1.LOGREC records, use the LOGDATA option.

168

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Using the DSNWDMP statement


Format the DB2 control blocks in a dump by changing the parameters on the DSNWDMP control statement. The DSNWDMP statement enables you to specify the dump records to be used as input, and causes the DB2 dump formatter (DSNWDPRD) to be invoked, which formats the specified DB2 control blocks. The format of this control statement and the options that can be specified are shown in the following diagram.

SUMDUMP=YES ,SUBSYS=nnnn DSNWDMP ,SUMDUMP=NO ,SUBSYS=nnnn , TT TT=1 TT=2 TT=3 ,AA ,SA=asid ,LG

|
,ALL , ds-options sm-options st-options dm-options bm-options sh-options db-options et-options di-options disys-options

ds-options:

|
DS=1 DS=2 DS=3 DS=4 , LM=1 LM=2 LM=3 ,TOKEN=xxxxxxxx

sm-options:

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

169

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

SM=1 SM=2 SM=3 SM=4 SM=5 SM=6

,SMSA=asid

,PHB=phb-addr

st-options:

ST=1 ST=2 ST=3

dm-options:

DM=1 DM=2

,CT=xxxxxxxx

bm-options:

BM=1 BM=2 BM=3 ,BBIP=vvvv ,DBID=yyyy ,OBID=zzzz

sh-options:

170

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

SH=1 SH=2 SH=3 SH=4 SH=5

db-options:

DB=1 ,DBID=yyyy DB=2 ,DBID=yyyy DB=3 ,DBID=yyyy DB=4 ,DBID=yyyy ,OBID=zzzz DB=5 ,DBID=yyyy ,OBID=zzzz ,CT=xxxxxxxx

et-options:

ET=1 ET=2

di-options:

|
DI=1 DI=2 ,TOKEN=xxxxxxxx

disys-options:

DISYS=1

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

171

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Separate multiple operands by commas, not blanks. A blank that follows any operand in the control statement terminates the operand list, and any subsequent operands are ignored. Table 9 lists and explains each of the various keywords that can be specified in the DB2 control statement for formatting dumps.
Table 9. Keywords to format DB2-issued SVC dumps Keyword SUBSYS= nnnn Explanation Specifies the site-defined DB2 subsystem name (nnnn). Range is one to four characters. Optional if SUMDUMP=YES; required if SUMDUMP=NO. Refer to SUMDUMP Information for more information. TT Formats the DB2 global trace table. v If TT is specified without a suboption, format the global trace table. v If TT=1, display summary lines. v If TT=2, display the TT=1 information, as well as data items. v If TT=3, and DS is also specified, filter information by EB. AA SA Formats significant DB2 control blocks in all active address spaces for the subsystem. Formats significant DB2 control blocks associated with a single address space. The control statement must designate the ASID in hexadecimal (up to four digits). Apostrophes and leading zeros can be included or omitted (as in DE, 00DE, or 00DE). Formats a long form of the significant DB2 global control block structures. Includes all resource manager specific global information as well as the system-wide global control blocks. Formats all significant DB2 control blocks. Includes the trace table, control blocks in global storage, and control blocks in all active address spaces for the subsystem. Equivalent to specifying TT, AA, and LG. SUMDUMP Specifies the part of the dump data set to be used as input to the dump formatter. v If SUMDUMP=YES, the input dump data is to be obtained from the summary portion of the dump data set. v If SUMDUMP=NO, the input dump data is to be obtained from the non-summary portion of the dump data set. The DSNWDPRD dump formatter always tries to format the same control blocks and data structures, regardless of whether input dump data is obtained from the summary or non-summary portion of the dump data set.

LG

ALL

172

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 9. Keywords to format DB2-issued SVC dumps (continued) Keyword DS Explanation Specifies the level of detail about agents to report. v If DS=1, display information on only those agents at thread level that are on the allied agent chain are reported. v If DS=2, display information on all agents on the allied agent chain are reported. v If DS=3, display information on the system agent chains, plus all agents on the allied chain are reported. The system agent chains are needed to obtain details of parallel tasks and DDF tasks.

| | | |
LM

If DS=4, in addition to the information for DS=3, the LUWID (Logical Unit of Work ID), XID (Global Transaction ID), end-user and accounting information to be displayed for each agent.

Specifies information about IRLM to report. v If LM=1, report TRWA statistics. v If LM=2, if the agent is currently waiting for an IRLM request, report the status of the last request. v If LM=3, list the held locks for every agent.

SM

Specifies information about Storage Manager to report. v If SM=1, display the PHB chains from the GPVT. This information gives an idea of global storage usage. v If SM=2, in addition to the information for SM=1, display the SHB chains from each PHB. v If SM=3, display the information for SM=2 for every address space connected to DB2. v If SM=4, in addition to the information for SM=3, display statistics on the amounts of allocated and free storage in the variable pools. v If SM=5, in addition to the information for SM=4, display a sample of allocated elements and attempt to determine the module that GETMAINed the storage. v If SM=6, in addition to the information for SM=5, display free elements.

PHB ST

Specifies a PHB address. If SM is specified, the storage manager information is displayed only for the PHB with this address. Specifies information about stack storage. v If ST=1, display the PSW, registers from the SDWA, and save area trace the abending task, except for a console dump. If the DS option is also specified, display the high-level SKB and stack storage usage. v If ST=2, in addition to the information for ST=1, display a formatted save area trace for each stack. The DS option must also be specified. v If ST=3, and the DS option is also specified, in addition to the information for ST=2, display a formatted display of stack storage.

SMSA

Specifies storage information for only the requested ASID and for global storage.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

173

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 9. Keywords to format DB2-issued SVC dumps (continued) Keyword DM Explanation Specifies the Data Manager informationto report: v If DM=1, format agent DMTR and LKTR traces. v If DM=2, in addition to the information for DM=1, display parent lock and claim and drain information for agent. BM Specifies Buffer Manager information to report: v If BM=1, format agent BBTR trace. v If BM=2, in addition to the information for BM=1, display agent BBRA information. v If BM=3, format all PBs and PB0. To restrict the amount of information that is reported, you can filter by buffer pool, DBID, or OBID. SH Specifies data sharing information to report: v If SH=1, format agent BBTR trace. v If SH=2, in addition to the information for SH=1, display agent BBRA information. v If SH=3, in addition to the information for SH=2, display agent BBRA information. v If SH=4, in addition to the information for SH=3, display agent BBRA information. v If SH=5, in addition to the information for SH=4, display agent BBRA information. DB Specifies database descriptor information to report: v If DB=1, list the DBDs that are in memory. If DBID is also specified, list information only for that DBID. v If DB=2, in addition to the information for DB=1, display DBD section information. v If DB=3, in addition to the information for DB=2, display OBD information. v If DB=4, format information for the specified DBID and OBID. The DBID and OBID parameters are required. v If DB=5, in addition to the information for DB=4, display trigger and referential constraint information. The DBID and OBID parameters are required. CT ET Specifies the CT address for a specific agent. Use this parameter with the DM or DB option to narrow the output to a single agent. Specifies information about exception states: v If ET=1, list exception states. v If ET=2, in addition to the information for ET=1, list LPL and WEPR information.

| | | | | | |

DI

Specifies information about DDF threads to report: v If DI=1, DDF DTM (Distributed Transaction Manager) related information for the thread.

v If DI=2, in addition to the information for DI-1, DDF DC (Data Communications) related information for the thread. DISYS Specifies information about DDF system to report: v If DISYS=1, general DDF system related information.

174

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 9. Keywords to format DB2-issued SVC dumps (continued) Keyword Explanation Specifies the TOKEN value for a specific thread to be displayed. Use this option in conjunction with the DI option and the DS=3 or DS=4 option. A warning message will be displayed if the TOKEN value is invalid or no threads are associated with the specified TOKEN.

| | | | |

TOKEN

Use the keyword default values as described below: v If the SUBSYS keyword is specified with SUMDUMP=YES, the SUBSYS keyword is used only if no summary records are found in the dump data set. In this case, the SUBSYS keyword is used to locate significant DB2 control blocks within the non-summary portion of the dump data set. v If none of the operands listed below are specified on a DSNWDMP control card, the default is ALL.
AA SA LG

v A number of operands are shown below. For each set of operands, the first operand overrides the operands that follow it when all operands are used in the same control statement. This is because the first operand generates formatted data that includes the formatted data that would be generated by the operands that follow it.
ALL ALL ALL TT LG AA

SA

For example, ALL overrides LG if both operands are specified. v If the DS option is not specified, the output does not contain formatted agent information. SUMDUMP Information: Because the formatted control blocks consist of both volatile and static data, input dump data selection should be based upon the state of the control blocks at a time that is as close as possible to the time of the error. v SUMDUMP=YES For SVC dumps, the default is to use summary data records as input to the dump formatter, because the summary dump records contain volatile data that was captured at a time close to the time of the error. Specifying YES ensures that relevant DB2 diagnostic information is sent. v SUMDUMP=NO Because non-summary data is obtained asynchronously to the current system activity when the dump is generated, volatile data might have been altered or lost by the time it was placed into the dump data set. Use this option if errors occur when gathering dump data or formatting the summary portion of the dump data set. Appropriate error messages are issued in these circumstances. In addition, use this option to format stand-alone or dynamic (z/OS console) dumps. DS information: Use the DS option to help diagnose hangs and waits. The DS option gives you a snapshot of the activity in DB2 at the time the dump was taken. The output generated when you specify the DS=1 option looks like that in Figure 44 on page 176.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

175

DO NOT COPY
1 2 3 4 ACE: 0A85FD28 Status: T Req: 010B Allied Chain 5 6 7 8 9 Authid: FRNT Plan: FRNMFRNT Corrid: GT00FRNT Corrname: PLACQA09 Token: 000004C0 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 0A85FD98 ISCICQ09(007D) ISCICQ09(007D) 00000000 007ABD90 Running 8BA6D1FA Jobname #T2QMBB ASID(0032) 1 2 3 4 ACE: 0D5C7990 Status: T Req: 0005 Allied Chain CT: 67290030 Sh/Lg: 67248840 140K Vlong: 67248BD0 56K 5 6 7 8 9 Authid: SOFPROD Plan: DSNREXX Corrid: #T2QMBB Corrname: DB2CALL Token: 0001389C EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 10 11 12 13 14 15 16 0D5C7A20 #T2QMBB (0032) #T2QMBB (0032) 00000000 007BF788 Running 8F869734

Restricted Materials of IBM Licensed Materials Property of IBM

17 01/20/2004 15:27:02.850291

Figure 44. Sample output from DSNWDMP with DS=1 option Figure Label 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Description Address of the agents ACE. Status of the thread. This value is the same as the ST and A fields in output from the command -DISPLAY THREAD. Request count. This value is the same as the REQ field in output from the command -DISPLAY THREAD. The chain that the ACE is on. Possible values are System Chain, Allied Chain, or Stored Proc. Authorization ID associated with a signed-on connection. This value is blank if no sign-on took place. Plan name for the agent. This value is the same as the PLAN field in output from the command -DISPLAY THREAD. Correlation ID for the agent. This value is the same as the ID field in output from the command -DISPLAY THREAD. Correlation name for the agent. Token associated with the thread. This value is the same as the TOKEN field in output from the command -DISPLAY THREAD. Address of the execution block. ASID of the primary address space. ASID of the home address space. Address of a spawned execution block, if there is one. The TCB address, if this is a TCB. This value is zero if this is an SRB. Whether the agent was suspended by DB2 at the time of the abend. Value in Register 14 the last time that suspend was requested. This value is valid only if the agent is suspended. Timestamp when the suspend occurred.

Run DSNWDMP with option DS=1 or DS=2 to view allied threads in DB2. Option DS=2 generates information on all allied threads, while DS=1 generates only active threads. Figure 45 shows output from DSNWDMP with option DS=2 after a DB2 hang at shutdown. The details of the first ACE show that a CICS thread was active at the time of the shutdown, which is the reason for the hang.

ACE: 0A85FD28 Status: T Req: 010B Allied Chain Authid: FRNT Plan: FRNMFRNT Corrid: GT00FRNT Corrname: PLACQA09 Token: 000004C0 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 0A85FD98 ISCICQ09(007D) ISCICQ09(007D) 00000000 007ABD90 Running 8BA6D1FA ACE: 0A040318 Status: N Req: 0003 Allied Chain Authid: ISCICQ09 Plan: Corrid: Corrname: PLACQA09 Token: 00000000 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 0A040388 ISCICQ09(007D) ISCICQ09(007D) 00000000 007A53C8 Running 00000000 Figure 45. Output from DSNWDMP with DS=2 option after DB2 hangs at shutdown

176

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Output from DS=3 shows both allied agents and system agents. See for a list of DB2 system agents. Option DS=3 is helpful for diagnosing problems in such areas as CPU parallelism and the distributed data facility, where the tasks are related to allied work but appear on the system ACE chain. Figure 46 shows the output from DSNWDMP with option DS=3 after a hang in a parallel task.

ACE: 04FA2D28 Status: PT* Req: 0000 System Chain Authid: USRT001 Plan: DSNTEP3 Corrid: RUN01 Corrname: BATCH Token: 00000000 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 04FA2D98 V42ADBM1(0067) V42ADBM1(0067) 80000000 00000000 Running 8BA6D1FA ACE: 04FA2BB8 Status: PT* Req: 0000 System Chain Authid: USRT001 Plan: DSNTEP3 Corrid: RUN01 Corrname: BATCH Token: 00000000 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 04FA2C28 V42ADBM1(0067) V42ADBM1(0067) 80000000 00000000 Running 8BA6D1FA ACE: 04FA2A48 Status: PT* Req: 0000 System Chain Authid: USRT001 Plan: DSNTEP3 Corrid: RUN01 Corrname: BATCH Token: 00000000 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 04FA2AB8 V42ADBM1(0067) V42ADBM1(0067) 80000000 00000000 Running 8BA6D1FA Figure 46. Output from DSNWDMP with DS=3 for a hang involving CPU parallelism

LM Information: Use the LM option to diagnose locking problems. The following output was obtained by executing DSNWDMP with options DS=1 and LM=3 to display information about held locks for an agent at thread level:
ACE: 05419548 Status: T * Req: 0004 Allied Chain Short: 7F298820 Authid: USRT001 Plan: TSTA85 Corrid: GT00XA85 Corrname: CICS41 Token: 00000003 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 054195D8 V91ADBM1(0067) CICS41F (001C) 00000000 005A9388 Suspended 85539590 IRLM statistics for ACE: 05419548 Suspend count - latch conflict: 0 Suspend count - other conflict: 0 Lock request count: 2 Unlock request count: 1 Query request count: 0 Change request count: 0 Other IRLM requests count: 0 P-Lock Lock requests: 0 P-Lock Change requests: 0 P-Lock Unlock requests: 0 Lock requests sent to XES : 0 Change requests sent to XES : 0 Unlock requests sent to XES : 0 Suspends due to IRLM Global contention : 0 Suspends due to XES Global contention : 0 Suspends due to false contention : 0 Requests denied due to retained lock : 0 Notify messages sent : 0 WU requested a LOCK at 03/21/1997 20:00:47.736272 for resource 0C0000020004001700000000 at state 3 with modify interest. This is a local resource that is held on this subsystem. This request is incompatible with a lock on this subsystem and the current states of this resource are: The local resultant held state is 8 The local modify held state is 8 Resource 0C0000020001005F00000000 is held in state 02 and was granted at 03/21/1997 20:00:47.620534. Resource 0C000004E3E2E3C1F8F54040 is held in state 04 and was granted at 03/21/1997 20:00:45.712241. Work unit 0067009505419548 holds 00000002 resource locks.

Figure 47. Output from DSNWDMP with DS=1 and LM=3 for held lock information

Using the SM options to analyze DB2 storage


The DB2 dump formatter provides a way to analyze the usage of DB2 storage with the Storage Manager (SM) options. Each level of the SM option provides more detailed information than the previous level. Table 9 on page 172 summarizes the information generated for each value of SM and for SMSA. All storage manager reports show information on local storage, global storage (z/OS CSA/ECSA), and EDM pool statistics.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

177

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

To obtain the simplest local storage report, execute the DSNWDMP statement with SM=1. The local storage report is divided into two sections: one for fixed storage and one for variable storage. Fixed storage is storage that has a predetermined length, and each element has the same length. Figure 48 shows an example of a local storage report generated for the following DSNWDMP statement:
DSNWDMP SUBSYS=V91A,SM=1

==Storage (Local) VARIABLE POOLS PHB Subpool name -------------1 2 7E9CB630 ADMF AGL 31 .pA. 66D109C0 ADMF AGL 31 .\.. 50C22EC0 ADMF AGL VL .Z.. 589B7D90 ADMF AGL VL .... 7E9BF7F0 ADMF AGL VL ... 7E983AB0 ADMF AGL VL .!. 7E97CB20 ADMF AGL 31 m.. 7E968C60 ADMF AGL 31 .N.

F/V --3 Var Var Var Var Var Var Var Var

4 136K 0K 28K 180K 56K 28K 992K 1204K

CL -5 12 12 12 12 12 12 12 12

SP -6 229 229 229 229 229 229 229 229

Figure 48. Local storage report for DSNWDMP with SM=1 option Figure Label 1 2 3 4 5 6

Description Pool header block address Pool name Fixed (fix) or variable (var) storage Size of pool DB2 storage class z/OS subpool

When you specify SM=1, DSNWDMP also generates storage statistics. Figure 49 shows an example of a storage statistics report.

Storage statistics -----------------QSSTGPLF Get Fixed length pool in dataspace 149 QSSTFPLF Free Fixed length pool in dataspace 72 QSSTFREF Fixed pools 6 QSSTEXPF Fixed pool extensions 5153 QSSTCONF Fixed contracted blocks 748 QSSTGETM Getmains(GETM) 190487 QSSTRCNZ Non RC=0 Getmains 0 QSSTCONT Contractions initiated 11238

QSSTGPLV QSSTFPLV QSSTFREV QSSTEXPV QSSTCONV QSSTFREM QSSTCRIT QSSTABND

Variable pool getmains 1081508 Variable pool freemains 1076402 Variable pools 570252 Variable pool extensions 924971 Variable contracted blocks 333901 Freemains (GETM) 188142 Short on storage 10812 Abends due to insufficient storage 51

Figure 49. Storage statistics report for DSNWDMP with SM=1 option

To obtain a local storage report with SHB control blocks, execute the DSNWDMP statement with SM=2. In a fixed storage pool, the storage always follows the SHB, so only the SHB address is listed in the report. Each block of variable storage has a varying length. With variable storage, the SHB is not in the same place as the storage, so the address of the storage is listed after the address of the SHB. Figure 50 on page 179 shows an example of a local storage report generated for the following DSNWDMP statement:
DSNWDMP SUBSYS=V91A,SM=2,SMSA=2D

178

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

==Storage (Local) VARIABLE POOLS PHB Subpool name -------------7E9CB630 ADMF AGL 31 .pA. SHB: 65BC2D88 52A32000 66D109C0 ADMF AGL 31 .\.. 50C22EC0 ADMF AGL VL .Z.. 1 2 SHB: 50CB8B08 2CA5A000 SHB: 50CB8AB8 5089F000 SHB: 50CB8A18 50A3A000

F/V --Var 136K Var Var 3 16K 8K 4K

CL SP -- -136K 12 229 0K 12 229 28K 12 229

Figure 50. Local storage report for DSNWDMP with SM=2 option Figure Label 1 2 3

Description SHB address Address of storage that SHB relates to Length of storage

Within a storage pool the sum of the segment (SHB) lengths should always equal the length described by the pool header block (PHB). In the above example, the PHB length, 32 KB, is equal to the sum of the SHB lengths: 12 KB+8 KB+8 KB+4 KB. Use SM=4 and SM=5 to check for fragmentation within blocks and storage use within individual variable storage pool blocks. The report includes the total length of allocated and free elements for each segment of storage and the total for the storage pool. The total for the storage pool appears after the last SHB for the pool. Figure 51 shows an example of a local storage report generated for the following DSNWDMP statement:
DSNWDMP SUBSYS=V91A,SM=4,SMSA=2D

Jobname V91ADBM1 ASID(002D) ==Storage (Local) FIXED POOLS PHB Subpool name -------------7F7594B8 EDM FIXED LENGTH POOL SHB: 7F2DE000 7F759518 EDM FIXED LENGTH POOL SHB: 7F0AF000 7F759810 RDS STPM LOCAL POOL 7F75B290 SHBS FOR LOCAL V-POOLS SHB: 7F705000 ==Storage (Local) VARIABLE POOLS PHB Subpool name -------------7F2C4510 ADMF AGENT LOCAL POOL SHB: 7F705AD8 7EF50000 SHB: 7F705AB8 7EF53000 SHB: 7F7059D8 7EF6B000 SHB: 7F7059B8 7EF80000

F/V --Fix 4K Fix 4K Fix Fix 4K F/V --Var 12K 8K 8K 4K Total:

CL SP -- -4K 12 229 4K 12 229 0K 12 229 4K 12 229 CL SP -- -32K 12 229 Free: 00000578 Free: 00001FD0 Free: 000003E0 Free: 00000160 Free: 00002A88 10K

1K Alloc: 00002A48 7K Alloc: 00000000 0K Alloc: 00001BD0 0K Alloc: 00000E20 Alloc: 00005438

10K 0K 6K 3K 21K

Figure 51. Local storage report for DSNWDMP with SM=4 option

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

179

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Use SM=5 to display the first 16 bytes, with their hexadecimal equivalents, of each allocated element. For the module that made a request to DB2 storage manager for storage, DSNWDMP attempts to display the following additional information: v The owner token for the storage v The CSECT and offset within the CSECT of the storage allocation request v The maintenance level of the module It is not always possible to determine the CSECT name. Therefore, this name might be incorrect or absent in some cases. Figure 52 shows an example of a local storage report generated for the following DSNWDMP statement:
DSNWDMP SUBSYS=V91A,SM=5,SMSA=2D

==Storage (Local) VARIABLE POOLS PHB Subpool name -------------7E9CB630 ADMF AGL 31 .pA.

F/V --Var

136K

CL SP -- -12 229 3 12.28

1 2 52A53F88: 00000060 20B20058 D7C3C220 00000000 00000000 ....PCB......... 00000000 DSNB1REL +0D25 SHB: 65BC2D88 52A32000 136K Free: 00021F60 135K Alloc: 00000060 0K Total: Free: 00021F60 135K Alloc: 00000060 0K 66D109C0 ADMF AGL 31 .\.. Var 0K 12 229 50C22EC0 ADMF AGL VL .Z.. Var 28K 12 229 2CA5A080: 00000048 201C003C E2E3C1C3 00000000 00000000 ....STAC........ 2FE99C30 DSNIALLI +2387 2CA5A0D8: 00000038 001C0030 C9D8E4C5 00000000 2FE99C30 ....IQUE.....Z.. 2FE99C30 DSNIALLI +1A33 2CA5A120: 00003EC8 20FE3EC0 C4D4E3D9 2CA5A160 2CA5B860 ...{DMTR.v~-.v.2FE99C30 DSNIALLI +174D

15.28 15.28 15.28

Figure 52. Local storage report for DSNWDMP with SM=5 option Figure Label 1 2 3

Description Owner token for the storage CSECT and offset of the storage allocation request Maintenance level

You can specify DS options with SM options to display storage information by thread. This information includes the short, long and vlong pool addresses. These addresses are addresses of storage pools within the DBM1 address space. Figure 53 on page 181 shows an example of a storage report generated for the following DSNWDMP statement:
DSNWDMP SUBSYS=V91A,DS=1,SM=5,SMSA=2D

This example shows that a CICS thread signed on as user USRT001, running plan TSTA85, on correlation ID PT01XA85 is using ADMF local pool 7F2C4510. The thread uses 32 KB of storage, of which 21 KB is currently allocated.

180

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Jobname CICS41F ASID(0021) ACE: 0624C008 Status: T Req: 0003 Allied Chain CT: 7F2E5030 Short: 7F2C43C0 Long: 7F2C43C0 Vlong: 7F2C4350 Authid: USRT001 Plan: TSTA85 Corrid: PT03XA85 Corrname: CICS41 Token: 00000028 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 0624C098 CICS41F (0021) CICS41F (0021) 00000000 006A67D0 Running 00000000 ACE: 0624BE38 Status: T Req: 0003 Allied Chain CT: 7F2E3030 Short: 7F2C44A0 Long: 7F2C44A0 Vlong: 7F2C4430 Authid: USRT001 Plan: TSTA85 Corrid: PT02XA85 Corrname: CICS41 Token: 00000027 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 0624BEC8 CICS41F (0021) CICS41F (0021) 00000000 006A6A60 Running 00000000 ACE: 0624BC78 Status: T Req: 0004 Allied Chain CT: 7F2E1030 Short: 7F2C4580 Long: 7F2C4580 Vlong: 7F2C4510 Authid: USRT001 Plan: TSTA85 Corrid: PT01XA85 Corrname: CICS41 Token: 00000026 EB Primary(Asid) Home(Asid) EBSPAWND TCB/SRB -Status-- R14 0624BD08 CICS41F (0021) CICS41F (0021) 00000000 006A6CF0 Running 861EF578

Figure 53. Storage by thread report for DSNWDMP with DS=1 and SM=5 option

For all storage reports, DSNWDMP displays EDM pool statistics. Those statistics are the same ones you obtain through DB2 statistics trace reports. Figure 54 shows an example report.

==EDM statistics -------------Fails due to POOL full: Pages in EDM POOL: REQ for CT sections: Load CT sections from DASD: Pages used for CT: Free pages in free chain: Pages used for DBDs: Pages used for SKCT: Requests for DBD: Loads of DBDS from DASD: Requests for PT sections: Loads of PT sections from DASD: Pages used for PT: Pages used for SKPT: Inserts for dynamic cache: Requests for dynamic cache: Pages used for dynamic cache:

0 225 28 3 8 194 18 3 24 3 6 2 0 2 0 0 0

Figure 54. EDM pool statistics report for DSNWDMP with SM option

Analyzing SVC dumps


For all abends, DB2 recovery routines request SVC dumps. DB2-issued SVC dumps are the primary source of diagnostic information for DB2 problems. When reviewing these dumps, keep in mind: v These dumps reflect the multiple address space environment in which DB2 was operating at the time of the failure. v When DB2 requests the capture of pertinent DB2 storage areas as summary dump data (SUMLSTA), z/OS suspends DB2 and copies these areas into the z/OS dump services address space. This preserves the status of these areas at time of error during subsequent DB2 recovery processing. Processing of the z/OS dump services address space and capturing of additional non-summary storage areas specified by DB2 are performed asynchronously to DB2 recovery processing once z/OS resumes DB2. v The non-summary portion of the dump consists of the primary, secondary, and home address spaces. See Program call linkages on page 278.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

181

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v The dumps can be formatted or unformatted (this manual refers to both). In most instances, use formatted dumps. v z/OS provides two indexes in formatted dumps (Print Dump Index and SUMDUMP Dump Index) which help to locate particular storage areas. For more information, see Dump indexes on page 189. Many areas of an SVC dump contain valuable diagnostic information. This subsection describes these areas, their locations, and their contents, including: v Contents of an SVC dump unique to DB2 on page 184 v DB2-issued SVC dump title on page 184 v IRLM-issued SVC dump title on page 188 v Dump indexes on page 189 v The system diagnostic work area (SDWA) on page 191 v The variable recording area (VRA) on page 192 v The recovery termination manager work area (RTM2WA) on page 193 v The failing execution block (EB) on page 194 v The save area trace report on page 195 v The module entry point list (MEPL) on page 196 v The batch utilities MEPL on page 201 v The cursor table (CT) on page 203 v The SQL communication area (SQLCA) on page 203 v The global trace table on page 205 v The task control block (TCB) summary on page 207 v Stack storage blocks (SKBs) on page 207 For more information about stand-alone dumps, refer to the general set of the z/OS diagnostic techniques publications.

General contents of an SVC dump


When DB2 requests SVC dumps, it specifies several parameters to z/OS SDUMP services. For SDATA parameters, DB2 specifies SQA, ALLPSA, LSQA, and SUMDUMP. This causes z/OS to collect such information as the selected common service area subpool, from which the global trace table is obtained, and the system queue area subpool. DB2 also specifies address lists through the ASIDLST and SUMLSTA parameters, causing z/OS to include the DB2 system services address space, DB2 database services address space, allied address space of the failing allied task, and other pertinent diagnostic information. Finally, DB2 specifies the BRANCH=YES and SUSPEND=YES parameters. Several areas are included as a result, such as the z/OS trace table and the home ASCB (address space control block). For dumps requested by DB2 functional recovery routines (FRR and ESTAE), the SDWA (system diagnostic work area) is also included. The SDWA is described in: v The system diagnostic work area (SDWA) on page 191. v Analyzing SYS1.LOGREC information on page 212. v Figure 88 on page 214. Part of the SDWA includes the variable recording area (VRA). DB2 formats this area in the VRA Diagnostic Information Report. Each entry within the VRA is recorded during functional recovery processing to provide additional diagnostic information related to the initial abend reason code. Refer to Figure 67 on page 193

182

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

for an example of this report. The variable recording area (VRA) on page 192 identifies the relationship between the VRA key that identifies the entry and the abend reason codes for which the entry is recorded. For dumps requested by DB2 ESTAE routines, the RTM2WA is also included. This block is described in The recovery termination manager work area (RTM2WA) on page 193. For details on the SDUMP parameters, see the z/OS system macros and facilities publications. For more information about SVC dumps, see the general set of the z/OS diagnostic techniques and debugging handbook publications.
Figure 55. First pages of a DB2-issued SVC dump ERRORID FOR THIS DUMP = SEQ00013 CPU00 ASID0007 TIME13.11.29.2 ACTIVE CPUS AT TIME OF DUMP ADDR VERS. SERIAL MODEL 0000 FF 120762 3084 ****** DUMP ANALYSIS AND ELIMINATION (DAE) ****** THIS DUMP WAS NOT SUPPRESSED BECAUSE DAE WAS NOT CHECKING FOR PREVIOUS OCCURRENCES. CRITERIA FOR USE AS A UNIQUE DUMP IDENTIFIER BY DAE: MINIMUM NUMBER OF SYMPTOMS: 08 FOUND: 10 MINIMUM TOTAL STRING LENGTH: 025 FOUND: 147 SYMPTOMS REQUIRED TO BE PRESENT: MOD/CSECT/ SYMPTOMS THAT ARE TO BE USED IF AVAILABLE, BUT ARE NOT REQUIRED: PIDS/ AB/S AB/U REXN/ FI/ REGS/ HRC1/ SUB1/ MVS SYMPTOM STRING: MOD/DSNSLD1 CSECT/DSNSFBK PIDS/5740XYR00 AB/S004E REXN/DSNYEATE FI/8910000C0A0D5980C5774770 REGS/0E0BE REGS/0946A HRC1/00E2000B SUB1/IPC##DSNYAGCS RETAIN SEARCH ARGUMENT: RIDS/DSNSLD1#L RIDS/DSNSFBK PIDS/5740XYR00 AB/S004E RIDS/DSNYEATE#R VALU/HC5774770 REGS/0E0BE REGS/0946A PRCS/00E2000B VALU/CDSNYAGCS SYMPTOMS PRESENT FOR USE AS A UNIQUE DUMP IDENTIFIER BY DAE: RETAIN MVS KEY KEY SYMPTOM DATA EXPLANATION ------- --------------------------MOD/ RIDS/ DSNSLD1 LOAD MODULE NAME CSECT/ RIDS/ DSNSFBK ASSEMBLY MODULE CSECT NAME PIDS/ PIDS/ 5740XYR00 PRODUCT/COMPONENT IDENTIFIER AB/S AB/S S004E ABEND-CODE SYSTEM REXN/ RIDS/ DSNYEATE RECOVERY ROUTINE CSECT NAME FI/ VALU/H 8910000C0A0D5980C5774770 FAILING INSTRUCTION AREA REGS/ REGS/ 0E0BE REG/PSW DIFFERENCE REGS/ REGS/ 0946A REG/PSW DIFFERENCE HRC1/ PRCS/ 00E2000B REASON CODE SUB1/ VALU/C IPC##DSNYAGCS COMPONENT SUBFUNCTION . . . . . . ADDITIONAL SYMPTOM DATA NOT USED BY DAE TO IDENTIFY THIS DUMP: RETAIN MVS KEY KEY SYMPTOM DATA EXPLANATION ------- --------------------------VARC/ PRCS/ 00E2000B ABEND REASON CODE VCBA/ ADRS/ 01C31500 CONTROL BLOCK ADDRESS VAID/ VALU/H 0010 CALLERS ASID VAID/ VALU/H 000F CALLERS ASID VAID/ VALU/H 0007 CALLERS ASID VCAN/ RIDS/ AE##DSNVASIM03#10#8621#23##### MODULE NAME OF CALLER
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

183

DO NOT COPY
VIMO/ ADRS/ FFFF048881C95F8016B00007 CID1/ VALU/C XYR00 AMD1/ VALU/C 02#06#87 VRS1/ VALU/C 11#40 CDB1/ VALU/C 5740 ASID1/ VALU/H 0007 ORCC1/ PRCS/ 04E000 atsign.202/ VALU/C SSID/DS GRP NAME atsign.204/ VALU/C SSUR atsign.219/ VALU/C ###W#N## . . .

Restricted Materials of IBM Licensed Materials Property of IBM

OFFSET IN ASSEMBLY MODULE COMPONENT IDENTIFIER MODULE ASSEMBLY DATE VERSION-PRODUCT/PTF IDENTIFIER BASE COMPONENT IDENTIFIER TASK RELATED ASID ORIGINAL COMPLETION CODE DEVELOPER ASSIGNED SYMPTOM KEY DEVELOPER ASSIGNED SYMPTOM KEY DEVELOPER ASSIGNED SYMPTOM KEY

Contents of an SVC dump unique to DB2


SVC dumps contain additional information specific to DB2 in the summary portion of the dump.

Summary portion of the dump


The information DB2 passes to the z/OS SDUMP service aid through the SUMLSTA parameter causes z/OS to capture volatile areas at failure, before other system activity can change their contents. Figure 204 on page 762 through Figure 211 on page 772 illustrate these areas. They are: v System communication area (SCOM) v Resource manager vector table (RMVT) v All resource manager function tables (RMFTs) v All address space control elements (ASCEs) v Failing agent (ACE, EBs, ROB, CCB, RAL, URE) v All DB2 working storage (stack) in the private area of the address spaces related to the failing agent (described in more detail under Stack storage blocks (SKBs) on page 207). v DB2s module entry point list (MEPL), described in: The module entry point list (MEPL) on page 196. Figure 75 on page 200. v CSECT storage v The DB2 cursor table (CT) and, in some error situations, DB2s SQL communication area (SQLCA), described in The SQL communication area (SQLCA) on page 203. v The SQL statement (in some error situations), as described in Finding the SQL statement on page 205. v Distributed data facility areas if the distributed data facility is installed and the thread is distributed. Two indexes in z/OS dumps make it much easier to find specific items and address ranges. Both are illustrated and described in greater detail in Dump indexes on page 189. The two indexes are: v Table of Contents at the beginning of dumps formatted through IPCS. v SUMDUMP Dump Index (located by a reference in Print Dump Index).

DB2-issued SVC dump title


The dump title at the beginning of DB2-issued SVC dumps includes the abend completion and reason codes, the failing load module and CSECT names, and the release identifier.

184

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The formats of SVC dump titles vary slightly, depending on the type of error. The following pages first illustrate and describe the dump title format for most abend reason codes. Then, variations are illustrated and described. In addition, this chapter provides cross-references to these fields and structured database keywords appearing elsewhere in the dump. SVC dumps can appear with two messages: DSNW050I and DSNW051I. DSNW050I indicates no SDWA was available; DSNW051I indicates an error occurred during dump processing, which might render the dump inaccurate or incomplete. For details, see DB2 Messages.

Common dump titles for abends


1. Format for threads with no remote activity Figure 56 illustrates the SVC dump title format for threads with no remote activity. Each field in the title is described after the figure.
ssid,ABND=compltn-reason,U=authid, C=compid.release.comp-function, M=module, LOC=loadmod.csect+csect_offset Figure 56. Sample SVC dump title for threads with no remote activity

ssid The 4-character subsystem name. ABND=compltn-reason Compltn is the 3-character abend completion code (often X04E or X04F). Reason is the 4-byte hexadecimal reason code (such as X00E20015). In structured database format, the completion code is preceded by AB/S and the reason code is preceded by PRCS. U=authid Authid is the primary authorization ID of the user (such as SYSOPR). No structured database keyword equivalent appears in the dump. C=compid.release Compid is the last 5 characters of the component identification keyword, explained in Component identifier keyword on page 114. The value XYR00 uniquely identifies DB2. XYR01 also identifies DB2, but refers to the subsystem initialization, or ERLY, code in particular. Release is a 3-digit code indicating the version, release, and modification level of DB2. In structured database format, the component identifier is preceded by PIDS/; the release identifier has no equivalent field. comp-function These fields are internally defined and vary depending on the circumstances under which the dump was generated. Comp often is an acronym for the subcomponent in control at the time of the abend (such as BMC). Function often is the name of a function, macro, or routine in control at the time of abend (such as DSNB1CMS). No structured database keyword equivalents appear in the dump. M=module Module is the name of the FRR or ESTAE recovery routine (such as DSNTFRCV). In structured database format, this information is preceded by RIDS/. LOC=loadmod.csect+csect_offset Loadmod is the name of the load module in control at the time of the abend (such as DSNSLD1). Csect is the name of the CSECT in control at the time
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

185

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

of abend (such as DSNSVSTK). Csect_offset usually is the offset within the failing CSECT at time of abend (such as 01CE). As this chapter describes later, this data is sometimes replaced by an abend reason code qualifier. In structured database format, the load module name is preceded by RIDS/; the CSECT name is also preceded by RIDS/; and the CSECT offset has no equivalent field. 2. Format for Allied Threads with Remote Activity Figure 57 illustrates the SVC dump title format for allied threads with remote activity (requesting location threads). The fields that are specific to this title format are described after the figure.
ssid,ABND=compltn-reason,U=authid, C=compid.release.comp-function, DISTRBUTED,LOC=loadmod.csect+csect_offset Figure 57. Sample SVC dump title for allied threads with remote activity

Distrbuted DISTRBUTED is a flag indicating that the thread had a remote connection. (SDWA VRA fields contain further information.) 3. Format for Database Access Threads Figure 58 illustrates the SVC dump title format for database access threads (responding location threads). The fields that are specific to this title format are described after the figure.
ssid,ABND=compltn-reason,U=authid, C=compid.release,LOCN=16_char_loc_name, LOCN=16_char_loc_name, LOC=loadmod.csect+csect_offset Figure 58. Sample SVC dump title for database access threads

LOCN=16_char_loc_name LOCN is the DB2 location name of the remote system.

Dump title variations


The SVC dump title can appear in three additional formats, each of which is shown here. Those fields that differ from the common format are also described; those that are the same are described in Common dump titles for abends on page 185. Whenever possible, descriptions include cross-references to structured database keywords appearing elsewhere in the dump.

Data manager variation


Certain data manager (DM) reason codes replace the CSECT offset with a reason code qualifier, as shown in the following figure.
ssid,ABND=compltn-00C9xxxx,U=authid, C=compid.release.comp-function, M=module, LOC=loadmod.csect:qualifier Figure 59. Dump title with data manager reason code qualifier

The X00C9 reason code prefix following the -ABND label indicates a data manager abend. The qualifier following the CSECT name is a 4-digit hexadecimal reason code qualifier, often a trace code (such as 0D01). A colon precedes it. No structured database keyword equivalent appears in the dump.

186

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Distributed title variations


In distributed data facility modules that contain several occurrences of the same reason code, an ABNDID replaces the CSECT offset in the SVC dump title as shown in the following figure.
ssid,ABND=compltn-00D3xxxx,U=authid, C=compid.release.comp-function, DISTRBUTED,LOC=loadmod.csect:abndid Figure 60. Dump title with distributed data facility reason code ABNDID

The X00D3 reason code prefix following the sABND label indicates a distributed data facility abend. The ABNDID following the CSECT name uniquely identifies the abend from more than one occurrence of the same reason code in the failing module. A colon precedes it. No structured database keyword equivalent appears in the dump.

Relational data system variation


All relational data system (RDS) reason codes replace the CSECT offset with an abend reason code qualifier, shown in the following figure.
ssid,ABND=compltn-00E7xxxx,U=authid, C=compid.release.comp-function, M=module,LOC=loadmod.csect:sign_qualifier Figure 61. Dump title with relational data system reason code qualifier

The X00E7 reason code prefix following the -ABND indicates an RDS abend. A subset of this reason code prefix, X00E72 indicates an error in the SORT component. The sign following the CSECT name is a 1-character field indicating plus or minus (P or M). The qualifier is a 3-digit decimal reason code qualifier (such as 101). No structured database keyword equivalents appear in the dump.

Variation with PSW and ASID


Some dump titles replace the load module name, CSECT name, and CSECT offset (or abend reason code qualifier) with the PSW and ASID (address space identifier). The following figure illustrates this format.
ssid,ABND=compltn-reason,U=authid, C=compid.release.comp-function, M=module,PSW=psw_contents,A=address_spaceid Figure 62. Dump title with PSW and ASID

psw_contents contains the PSW at time of error (such as X077C100000729F9C). No structured database keyword equivalent appears in the dump. address_spaceid identifies the address space in control at time of abend (such as X0011). In structured database format, this is preceded by VALU/H.

Error qualifier
An error qualifier exists to provide additional information about what was going on. The error qualifier can be found in the LOC keyword of the SVC dump title or

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

187

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

in the field of the CT named CTERQUAL. The first digit of this error qualifier identifies the DB2 resource manager that detected the problem. Possible values for this error qualifier are shown below. Code X1xxx Internal Resource Lock Manager (IRLM) An error return code was returned by the IRLM on a lock request by the data manager (DM). This situation usually does not indicate an inconsistency problem. An example of a X1xxx error qualifier is a situation that occurs when IRLM runs out of virtual storage that it uses to hold locks. X2xxx Buffer Manager (BM) An error return code was returned by the BM on a BM request by the DM. This might indicate inconsistent data. An example is a situation in which a RID contains a page number that is in error, causing the BM to detect an error when it attempts to access the page with the invalid number. X3xxx Recovery Log Manager (RLM) An error return code was returned by RLM on a log write request by the DM. This usually does not indicate an inconsistency problem. An example is a situation in which the RLM attempts to write a log record whose length is greater than 32 KB; this is a DM internal error. X5xxx Data Manager (DM) When the DM returns an error qualifier, it has detected some kind of internal inconsistency. In most cases, these situations do not involve inconsistent data, but rather, inconsistent internal parameters or control blocks. Refer to DB2 Messages for a list of error qualifiers associated with DSN1COPY misuse. X0Cxx Data Manager (DM) This error qualifier from the DM indicates that data inconsistency was detected. Check DSNWEIDS in SDSNSAMP for descriptions of the error. The low-order three digits of these error qualifiers represent a unique sequence number that identifies the place within the CSECT where the abend was issued. This information can be helpful to IBM support center personnel if they get involved in resolving the inconsistency problem. Resource Manager involved at time of abend

IRLM-issued SVC dump title


Figure 63 illustrates the format of an IRLM-issued SVC dump title.

DXR7 ESTAE ENTERED. ABEND U2025 MODULE DXRRL732+0162 APAR BASE 95/135 23: Figure 63. Sample IRLM-issued SVC dump title

188

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Dump indexes
In SVC dumps formatted through IPCS using the IPCS TOC DD statement, the Print Dump Index appears at the beginning of the SVC dump as a Table of Contents. See Figure 64 on page 190 for a sample.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

189

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Output from DAEDATA verb............................... 2 STATUS SUBCOMMAND OUTPUT................................ 3 MVS/XA Diagnostic Worksheet......................... 4 Output from LOGDATA verb...............................16 Output from TRACE verb...............................24 Output from GRSTRACE verb...............................33 SUMMARY FORMAT Report...................................47 GLOBAL SCHEDULED SERVICES (SRB).........................47 ADDR SPACE 0001 CONTROL BLOCKS......................48 LOCAL SCHEDULED SERVICES (SRB)..................48 CROSS MEMORY INFORMATION........................49 TASK CONTROL BLOCK (TCB)........................55 LOAD LIST...................................56 JOB PACK QUEUE (JPQ)........................56 ADDR SPACE 0002 CONTROL BLOCKS......................57 LOCAL SCHEDULED SERVICES (SRB)..................57 CROSS MEMORY INFORMATION........................57 ADDR SPACE 0003 CONTROL BLOCKS......................63 LOCAL SCHEDULED SERVICES (SRB)..................63 CROSS MEMORY INFORMATION........................63 ADDR SPACE 0004 CONTROL BLOCKS......................69 LOCAL SCHEDULED SERVICES (SRB)..................69 CROSS MEMORY INFORMATION........................69 . . . ADDRESS SPACE 0017 CONTROL BLOCKS...................198 LOCAL SCHEDULED SERVICES (SRB)..................199 CROSS MEMORY INFORMATION........................199 TASK CONTROL BLOCKS (TCB).......................211 REQUEST BLOCK (RB)..........................211 EXTENDED STATUS BLOCK.......................212 LOAD LIST...................................212 JOB PACK QUEUE (JPQ)........................212 TASK INPUT/OUTPUT TABLE (TIOT)..............212 TASK CONTROL BLOCKS (TCB).......................213 REQUEST BLOCK (RB)..........................213 EXTENDED STATUS BLOCK.......................214 LOAD LIST...................................214 JOB PACK QUEUE (JPQ)........................214 . . . TCB SUMMARY.........................................385 SYSTEM SUMMARY..........................................387 ACTIVE CPU LIST SUMMARY.............................387 SUMMARY JOBSUMMARY Report...........................387 SCHEDULED SERVICES (SRB) SUMMARY....................387 ADDRESS SPACE 0001 CONTROL BLOCKS...................387 . . ADDRESS SPACE 0065 CONTROL BLOCKS...................387 PROBLEM LIST SUMMARY................................403 Output form SUMDUMP verb...............................404 SUMDUMP INDEX...........................................725 Output from DSNWDMP verb...............................731 Figure 64. Sample print dump index (generated as table of contents through IPCS)

The SUMDUMP Dump Index cites the page numbers of given addresses. This can be particularly helpful when following pointers to locate various DB2 control blocks. A sample SUMDUMP Dump Index is shown in Figure 65 on page 191.

190

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
SUMDUMP DUMP INDEX ------------------

DATA AREA PAGE NUMBER ------------------SDWA .................................................. 00000006 PSA/PCCA/ICCA ......................................... 00000006 ASCB .................................................. 00000011 TCB ................................................... 00000011 INT HANDLER SA ........................................ 00000011 SUSPEND REGS SA ....................................... 00000014 SUMLIST/SUMLISTA... - 00AE0000 --- ASID FFFF........... 00000014 SUMLIST/SUMLISTA... - 00B2E000 --- ASID FFFF........... 00000014 SUMLIST/SUMLISTA... - 00B2E2C4 --- ASID FFFF........... 00000017 SUMLIST/SUMLISTA... - 00B2E2C8 --- ASID FFFF........... 00000017 SUMLIST/SUMLISTA... - 00B2EA5C --- ASID FFFF........... 00000017 SUMLIST/SUMLISTA... - 00B2EB34 --- ASID FFFF........... 00000017 SUMLIST/SUMLISTA... - 00B2EC0C --- ASID FFFF........... 00000018 SUMLIST/SUMLISTA... - 00B32000 --- ASID FFFF........... 00000018 SUMLIST/SUMLISTA... - 00B4BED8 --- ASID FFFF........... 00000018 SUMLIST/SUMLISTA... - 00B4BF40 --- ASID FFFF........... 00000018 SUMLIST/SUMLISTA... - 00B4BF98 --- ASID FFFF........... 00000019 SUMLIST/SUMLISTA... - 00B78198 --- ASID FFFF........... 00000019 SUMLIST/SUMLISTA... - 01A75000 --- ASID FFFF........... 00000019 SUMLIST/SUMLISTA... - 01A76000 --- ASID FFFF........... 00000021 SUMLIST/SUMLISTA... - 01A77000 --- ASID FFFF........... 00000023 SUMLIST/SUMLISTA... - 01A78000 --- ASID FFFF........... 00000025 SUMLIST/SUMLISTA... - 01A79000 --- ASID FFFF........... 00000028 SUMLIST/SUMLISTA... - 01A7A000 --- ASID FFFF........... 00000030 SUMLIST/SUMLISTA... - 01A7B000 --- ASID FFFF........... 00000033 SUMLIST/SUMLISTA... - 01A7C000 --- ASID FFFF........... 00000033 SUMLIST/SUMLISTA... - 01A7DA40 --- ASID FFFF........... 00000034 SUMLIST/SUMLISTA... - 01A7DC40 --- ASID FFFF........... 00000034 SUMLIST/SUMLISTA... - 01A7F0E8 --- ASID FFFF........... 00000035 SUMLIST/SUMLISTA... - 01A7F170 --- ASID FFFF........... 00000035 SUMLIST/SUMLISTA... - 01A7F1C8 --- ASID FFFF........... 00000035 SUMLIST/SUMLISTA... - 01A7F230 --- ASID FFFF........... 00000035 Figure 65. Sample SUMDUMP Dump Index

To locate this index, review the Print Dump Index or Table of Contents, looking for SUMDUMP Index. The SUMDUMP index can be used to quickly locate addresses in the unformatted sections of the SVC dump.

The system diagnostic work area (SDWA)


Each SVC dump requested by a DB2 functional recovery routine usually contains an SDWA with information about the status of the subsystem at the time of the error. Typically, the SDWA is a starting point for diagnosis.

Finding the SDWA


Use the SUMDUMP Dump Index to locate the SDWA. For more information about the contents of the SDWA, refer to: v Analyzing SYS1.LOGREC information on page 212 v VRA Data Recorded by DSNWSDWA v The z/OS diagnostic techniques publication.

Using the SDWA during the secondary error recovery processing


The z/OS SDUMP macro uses the SDWA at time of invocation to gather the storage areas around the registers (SDWAGRSV) and PSW (SDWAEC1) at the time of error to include in the dump data set. If secondary errors occur during DB2

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

191

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

dump processing, the SDWA used during SDUMP processing would therefore reflect the registers and PSW of the secondary error; the original SDWA error information would be lost. To avoid losing the original error information and to retain as much secondary error information as possible, DB2 saves selected fields from both the original and secondary SDWA in the DMPW data area. Before invoking SDUMP, DB2 dump services then uses fields from the original SDWA to overlay the corresponding fields (restored) in the secondary SDWA. The list below describes in greater detail the services performed when errors occur during dump processing. v These fields from both the original and secondary SDWA are saved in the DMPW data area:
FIELD Eyecatcher SDWAFLGS SDWAABCC SDWAGRSV SDWAEC1 SDWAAAEC1 SDWACOMU LENGTH 4 4 4 64 8 8 8 FUNCTION OERR and SERR SDWA flags (saved only) Completion code (restored) Registers at error (restored) Ext/CTL PSW (restored) EC mode data (restored) SDWA communication (restored)

Figure 66. DMPW data area

v The DMPW fields from the SDWA reflecting the original error OERR are used to overlay the same fields in the secondary SDWA SERR. The summary storage areas provided by SDUMP around the registers and PSW at the time of the error now reflect the original error. v Both the original and secondary SDWA error fields are kept in the DMPW for later examination during problem analysis. v This error message is inserted into the header portion of the DMPW to show that a secondary error occurred:

The variable recording area (VRA)


Additional diagnostic information for DB2 abend reason codes is placed in the variable recording area (VRA) of the system diagnostic work area (SDWA) and is extracted and displayed in the VRA Diagnostic Information Report. This data can be produced by (1) common recording routines and (2) certain DB2 subcomponents. VRA entries begin at offset X190 in the SDWA. Each entry within the VRA is recorded during functional recovery processing to provide additional diagnostic information related to the initial abend reason code (SDWACRC). For more information about the VRA, refer to the z/OS debugging handbook publication.

Finding the VRA diagnostic information report


The VRA Diagnostic Information Report appears at the front of the DB2-formatted section of the SVC dump and can be identified by its message number, DSNW053I. The Print Dump Index cites the location of the formatted dump under the entry Output from DSNWDMP Verb.

192

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The report cites the VRA hexadecimal key codes, the length of the VRA data, and the data itself. For an example of the report, see the following figure. For information about the data fields included in the report, refer to the tables in Common VRA Recording Routines and Individual VRA Recording Subcomponents. These tables follow Analyzing SYS1.LOGREC information on page 212 to provide assistance in interpreting SYS1.LOGREC entries.
DSNW053I - VRA DIAGNOSTIC INFORMATION REPORT SDWARA: (00FFA082) SDWA: ADDR=007BCB40 OFFSET=0190 KEY: LEN: VRA DATA FIELDS: 06 04 00E2000B 14 04 01C31500 C9 04 00000000 CA 04/16 E2E2E4D9 3A 02 0010 3A 02 000F 3A 02 0007 CB 08 00000000 00000000 CC 0C E2E2E4D9 40404040 40404040 DB 08 9C716CA6 9AD5CE90 7C 0C FFFF0488 81C95F80 16B00007 3D 20 81C5BFD0 C4E2D5E5 C1E2C9D4 F0F361F1 F061F8F6 F2F14BF2 F3404040 00080000 06 04 00000000 53 00 52 02 0008 DSNW056I - VRA DIAGNOSTIC INFORMATION REPORT COMPLETE

*.S.. *.C.. *.... *SSID/DS GRP NAME *.. *.. *.. *........ *SSUR *.....N.. *.....I...... *.E..DSNVASIM03/10/8621.23 *.... * *..

* * * * * * * * * * * ... * * * *

Figure 67. Sample VRA diagnostic information report

The recovery termination manager work area (RTM2WA)


The RTM2WA is a z/OS work area that is requested by DB2 ESTAE routines. z/OS formats and includes this block when a summary dump is printed or when a formatted address space dump is requested. The RTM2WA block contains the most recent information about the failing task at the time the dump was produced. Use this to relate the problem in a dump to a specific SYS1.LOGREC entry by comparing the completion code, PSW, and abend reason code (if present) in register 15. This control block is used by the RTM to control processing of abends. It includes registers, the PSW, the abend completion code, and other useful information about the status of the subsystem at the time of the failure. The RTM2WA maps a description of the errors and control flags for the functions of task termination or storage termination within the RTM (recovery termination manager). Refer to the z/OS diagnostic techniques and debugging handbook publications for more information about the contents of the RTM2WA control block.

Finding the RTM2WA


Multiple RTM2WAs are listed in order, beginning with the most recent failure. To find the unformatted RTM2WA control block or the RTM2WA summary (near its unformatted source), follow these steps: 1. Locate the TCB summary. The Print Dump Index or Table of Contents contains an entry and page number for Task Control Block Summary. 2. Find the TCB involved in the failure, looking for a TCB with a nonzero completion code. Scan the second column of the TCB summary, looking for a nonzero CMP value. Notice the address of the TCB (in the first column) and the page number on which the TCB is located (in the last column). This TCB was involved in the failure. An example of the TCB summary section of the dump is shown in The task control block (TCB) summary on page 207. 3. Locate the RTM2WA eye-catcher in this TCB. This is the unformatted RTM2WA control block.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

193

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

From the beginning of the TCB, turn forward a few pages. The eye-catcher is in the left margin. If you have access to a tool that allows you to examine dumps in machine-readable form, then search for RECORD ID = X0039 to find the unformatted RTM2WA control block. In most error situations, a summary of the most important information in the RTM2WA block is formatted and can be found near the unformatted RTM2WA control block in the dump. The following figures show the formatted and unformatted versions of the RTM2WA.
+1C +8C +94 +3C +5C +7C +DC +E8 +E0 +E4 +C +38 +C8 +D4 +14 +16C +170 +B8 +36C +37C +380 +384 0004E000 N/A 00000000 00000000 0004E000 001957A0 005A1DDC 009B5CE0 005A1C2C 009B8C78 005A9BA8 (0-7) 0099F550 0025B15A 005A1F58 4025AF24 005A1F58 4025B168 00C90001 (8-F) EC PSW AT TIME OF ERROR 0025B176 0002000D 0024F5A0 SDWACOMP 00000000 RETURN CODE FROM RECOVERY ROUTINE-00,CONTINUE WITH TERMINATION-IMPLIES PERCOLATION RETRY ADDR RETURNED FROM RECOVERY EXIT 009BE2A0 00000000 CVT ADDR 00035768 RTCT ADDR 00FDAE78 SCB ADDR 005FC7D0 SDWA ADDR 001477B8 SVRB ADDR 005FD158 PREV RTM2WA FOR THE TASK 00000000 PREV RTM2WA FOR RECURSION 00000000 ASID OF ERROR IF CROSS MEMORY ABTERM 0000 ERROR ASID 000E CURRENT TRACE ENTRY FOR SAVED TRACE TABLE 00000000 FIRST TRACE ENTRY FOR SAVED TRACE TABLE 00000000 LAST TRACE ENTRY FOR SAVED TRACE TABLE 00000000 COMPLETION CODE ABENDING PROGRAM NAME ABENDING PROGRAM ADDR REGS AT TIME OF ERROR

Figure 68. Sample formatted RTM2WA summary (RTM1) -RTM2WA---------------------------------AT -----+0 D9E3D4F2 005BF9A0 FF0004D4 00035768 +20 80808001 005FC7E8 80000000 00000000 -EED TYPE1 REGS AND PSW +3C 00000000 0004E000 001957A0 005A1DDC +5C 00000010 0099F550 0025B15A 005A1F58 +7C 077C2000 0025B176 0002000D 0024F5A0 ---+8C 005FD040 00000000 00000000 -EED TYPE 3 MACHINE CHECK +98 00000000 00000000 00000000 00000000 ---+B4 04041041 00001000 00000000 005CA058 +D4 001477B8 FA000418 00000000 009BE2A0 +F4 FF8500DF A07DF74A 00000000 -SNPPARMS +100 00000000 00000000 00000000 00000000 LOCATION 005BF9A0 005CAEA8 005FD158 00FC85F0 0004E000 005CAEA8 005FD158 00FDAE78 009B5CE0 005A1C2C 009B8C78 005A9BA8 4025AF24 005A1F58 4025B168 00C90001

00000000 00000000 00000000 00000000 00000000 005FC7D0 005ED820 00000000 00000000 00000000 FF74000D 6025B176 005BFD84

Figure 69. Sample unformatted RTM2WA control block (RTM2). When the completion code is X04E, register 15 contains the reason code.

The failing execution block (EB)


It is recommended that you use the save area trace report to find the failing EB and associated agent EBs. If you are not able to do this, use Figure 70 on page 195 to locate the address of the failing EB. It appears in the: v SDWA field at offset X30, which contains register 6. For details, see The system diagnostic work area (SDWA) on page 191.

194

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v Key 14 column of the VRA Diagnostic Information Report, which appears at the front of the formatted section of the SVC dump. For an example, see Figure 67 on page 193. v VRACBA field (Key 14) in the variable recording area (VRA) of the SDWA. VRA entries begin at offset X190 in the SDWA. v SUMLSTA range in the unformatted section of the SVC dump. The failing execution block (EB) can help in locating the cursor table (CT), stack storage, and other pertinent information. Knowing the address of the failing EB can also help you interpret the DB2 trace table, described in Using global trace output on page 234.
SDWA

.
X30 Register 6

.
VRA Diagnostic Information Report Key 14 Column Failing EB

VRA

.
VRACBA 1404xxxxxxxx

.
Figure 70. Finding the failing EB

The save area trace report


The save area trace report appears in the first few pages of the formatted section of an SVC dump, immediately following the VRA diagnostic information report. This report is identified by the string ==Save Area trace. Figure 71 on page 196 shows a sample save area trace report. The information in this report includes the register contents, module invocation sequence, and execution environments leading up to the point of error. The save areas for the current failing agent execution block (EB) and all associated agent EBs are traced from the point of error and are displayed in order of invocation. The address and content of each save area is displayed and identified by the name of the invoking module, as follows:
Save Area: module_name .... WD1 ... RET ... R1 ... R4 ... R7 ... R10 ... service_level_identifier HSA ... LSA ... EPA ... R0 ... R2 ... R3 ... R5 ... R6 ... R8 ... R9 ... R11 ... R12 ...

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

195

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The module_name identifies the module responsible for obtaining the save area as reflected in the module entry point list (MEPL) at the time of error. The service_level_identifier is also obtained from the corresponding MEPL entry, and consists of the compilation date and the PTF number, which reflects the latest maintenance applied. As a first step in diagnosing errors, be sure that the PTF number is up-to-date. If no maintenance has been applied against this module, this field defaults to the function modification identifier (FMID). The SA identifies the address and contents of each word of the save area and is displayed using the same format and register abbreviation conventions as defined by z/OS SNAP. All save area data references reflect the primary address space at time of execution. The report displays the current execution environment each time the current agent EB changed during processing. This information consists of the address of the associated EB, the z/OS job name associated with the home address space, the home address space identifier (HASID), the primary address space identifier (PASID), the agent EB z/OS execution mode (task control mode (TCB) or service request mode (SRB)). The report also displays the contents of the register save area chains for the current failing agent EB, and all suspended agent EBs at time or error. The name of the control block from which the registers for the current agent EB were obtained is displayed, along with the current execution status of the agent EB at time of error. The control block and registers might be displayed twice; once to list the registers at the time the agent was suspended, and once to list the registers in the save area at the last time they were saved. All register data references refer to the primary address space (PASID) associated with the currently active EB. Each time the primary address space changes during execution, the following information is displayed:
CHANGE of ADDRESS SPACE, NEW PASID=pasid

The save area trace can be terminated when a control block or data page is not found in the dump.
==Save Area trace --------------Note: Save Area may be broken at 00000000_7EDDC390, starting format right after this point Save Area: DSNXERST 12/06/02 14.31 + 013C EPA: DSNXLDBD 05/12/03 16.15 + 0000 00000000_7EDDCA50 WD1 00000000_7EDDCE14 HSA 00000000_7EDDC390 LSA 00000000_7EDDCBD8 RET 00000000_0830D5C4 EPA 00000000_083E7FD8 R0 00000000_7EDDCB94 R1 00000000_7EDDCB78 R2 00000000_060B2448 R3 00000000_7F4CD730 R4 00000000_060B28F0 R5 00000000_060B28F0 R6 00000000_060B8620 R7 00000000_00000140 R8 00000000_00000000 R9 00000000_00000000 R10 00000000_076130FE R11 00000000_076120FF R12 00000000_0830D488 Extension: EB 00000000_060B8620 00000000_00000000 CT 00000000_7F4CD730 MSIB 00000000_00000000 00000000_00000000 00000000_00000000 00000 .....

Service: 7EDDC5A0 7EDDCD78 00000000 06066FB0 | =.E.=.........?. | Save Area: DSNXLDBD 05/12/03 16.15 + 0146 EPA: DSNWVCOL 03/19/03 15.27 + 0000 Note: This save area may be residual 00000000_7EDDCBD8 WD1 00000000_00000000 HSA 00000000_7EDDCA50 LSA 00000000_7EDDD8B0 RET 00000000_883E811E EPA 00000000_067484B8 R0 00000000_7EDDD568 R1 00000000_7EDDCE59 R2 00000000_060B2448 R3 00000000_083E800C R4 00000000_060B28F0 R5 00000000_060B28F0 R6 00000000_060B8620 R7 00000000_00000162 R8 00000000_00000000 R9 00000000_00000000 R10 00000000_076130FE R11 00000000_076120FF R12 00000000_083E99F8 Extension: EB 00000000_060B8620 00000000_00000000 CT 00000000_7F4CD730 MSIB 00000000_00000000 00000000_00000000 00000000_00000000 00000 .....

Service: 00000000 0000000C 00000000 7EDDD248 | ............=.K. |

Figure 71. Save area trace report

The module entry point list (MEPL)


The DB2 module entry point list (MEPL) is found in all DB2-issued SVC dumps. It identifies the names of the load modules and CSECTs that have been loaded into the subsystem at startup and have remained in storage for the life of the subsystem. The DISPLAY parameter of the DIAGNOSE utility enables you, without forcing an SVC dump, to dump either the DB2 MEPL or the DSNUTILB MEPL to

196

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

SYSPRINT. For information on the DIAGNOSE utility, which is designed for use under the direction of IBM service personnel, see DB2 Utility Guide and Reference.

Finding the MEPL in the SVC dump


To locate the MEPL in the formatted section of the SVC dump, scan each page, looking for the MEPL label at right or left. A formatted MEPL is located near the beginning of the DB2-formatted section of the dump. An example of the MEPL appears in Figure 75 on page 200. Follow the procedure below to locate the MEPL in the unformatted section of the SVC dump. 1. Referring to Figure 72, locate the EBHASCE (at offset X24) or the EBPASCE field (at offset X28) in the failing EB. Both fields contain the address of the ASCE (address space control element). If necessary, see The failing execution block (EB) on page 194. 2. Locate the ASCESCOM field (at offset X0C) in the ASCE. This field contains the address of the SCOM (subsystem communications block). 3. Locate the SCOMMEPL field (at offset X94) in the SCOM. This field contains the address of the MEPL.

Failing EB

ASCE

SCOM

MEPL

.
EBHASCE EBPASCE

. .
ASCECOM

. .
SCOMMEPL

. .
Hexadecimal Offsets

. .

EBHASCE EBPASCE

24 28

ASCESCOM

SCOMMEPL

94

Figure 72. Finding the MEPL in the unformatted section of an SVC dump

Finding the MEPL in the IFCID trace


To obtain the MEPL, specify IFCID 186 in the IFCID() parameter of the -START TRACE command. IFCID 186 is intended to be used only under the direction of IBM Service personnel. The -START TRACE command writes the MEPL to a series of IFCID 186 records. Each record contains a 4096-byte section of the MEPL, except for the last. The number of records is equal to: (Length of MEPL / 4096) + 1. The following fields in IFCID 186 contain important information: QW0186SC The number indicating which section of the MEPL is in this record.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

197

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

QW0186TS The total number of IFCID 186 records required to display the complete MEPL. QW0186LN The length of the MEPL data in field QW0186MP + 2 for this field. This number is 4098, unless this is the last record. The length of the last record is (Length of MEPL - (4096 * (QW0186TS - 1))) + 2. For more information on IFCID 186, refer to prefix.SDSNIVPD(DSNWMSGS). If the DEST() parameter is not specified for the -START TRACE command, IFCID 186 is written to the default destination for the type of trace specified. For example, if a performance trace is specified, IFCID 186 is written to the general trace facility (GTF). For accounting, statistics, and audit traces, the default destination is the system management facility (SMF).

Contents of the MEPL


Header One 32-byte entry per MEPL, containing: 2-byte hexadecimal control block identifier (X00BA) 2 bytes of reserved space 4-byte EBCDIC control block identifier and eye-catcher (MEPL) 2-byte value for the total number of load module entries in the control block 2-byte value for the total number of entries (both load module and CSECT) in the control block 4-byte value for the length of the control block 16 bytes of reserved space Load Module One 32-byte entry for each load module in the MEPL, containing: 8-byte load module name 4-byte load module starting address (if the high-order bit is 1, the load module executes in 31-bit addressing mode under z/OS) 4-byte load module ending address 2-byte load module storage residency indicated by one of the following: v Address space identifier (ASID) if the load module is stored in local (private) storage, or v Zero (0000) if the load module is stored in global (common system area) 2-byte value for the total number of CSECT entries in the load module 4-byte program call (PC) linkage index (LX) value used to invoke a CSECT in this load module or zero (00000000) if PC is not used 8 bytes of reserved space. CSECT One 32-byte entry for each CSECT in a load module in the MEPL, containing:

198

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

4-byte CSECT entry point address 8-byte CSECT name 8-byte CSECT assembly date 8-byte number of last APAR applied to this CSECT 1-byte program call (PC) entry table index (EX) value used to invoke this entry point or zero (00) if PC is not used 1-byte initialization entry point list (IEPL) flag bits: X80Entry point invoked by PC linkage X40PC with space switch (dual address space) permitted X20Entry point invoked from application process environment X10Entry point invoked by CALL linkage X08Primary CSECT entry point X04Reserved (unused) X02Reserved (unused) X01Reserved (unused) 2 bytes of reserved storage. Finding the name of the failing load module in a MEPL: 1. Locate the MEPL in the dump. 2. Locate the appropriate PSW and use the address in its second fullword as an index into the list. Use the PSW and ASID listed in the PRINT DUMP ABSTRACT INFORMATION section, located just before the system diagnostic work area (SDWA). Refer to the data listed under INFORMATION AT TIME OF ERROR. 3. Review the beginning and ending addresses for each load module; the beginning address is the third word, and the ending address is the fourth word of each entry. 4. If the address in the PSW falls between the beginning and ending addresses of a particular load module, that can be the failing load module. For an example, refer to Figure 73. Assume the address in the PSW at failure is 005A144A. Looking in the MEPL, you find that load module DSNVGEPL begins at 005A0A20 and ends at 005AB000. Because 005A144A falls between 005A0A20 and 005AB000, the name of the load module containing the failing CSECT is DSNVGEPL.
09A0 09C0 09E0 0A00 0A20 00145830 C4E2D5E5 005A0A20 005A1268 005A1748 C4E2D5E5 C7C5D7D3 C4E2D5E5 C4E2D5E5 C4E2D5E5 C4D9D940 005A0A20 C1E2C9D4 E3D9E3C8 C5E4E2F1 F0F661F0 F/ 000 005AB000/ 00000 F0F661F/0080000 F0F66/ 00080000 F0F/40 00080000 *.DSNVDRR. *.DSNVGEPL *.DSNVASIM *.DSNVTRTH *.DSNVEUS1

Figure 73. Finding the name of the failing load module in a MEPL
00005980 000059A0 000059C0 000059E0 00005A00 00005A20 00005A40 00005A60 00005A80 00005AA0 00005AC0 . . . 20B90160 0000F3A0 00018288 00018418 000195A0 0001C868 0001CF50 0002AB30 0002B020 0002D138 00036808 C2C5D7D3 C4E2D5E4 C4E2D5E4 C4E2D5E4 C4E2D5E4 C4E2D5E4 C4E2D5E4 C4E2D5E4 C4E2D5E4 C4E2D5E4 C4E2D5E4 000AD4C5 C4C9C1C7 C7C1C2D5 C7C2C1C3 C7C2D7D3 C7C7C4D7 C7D4E2C7 C7E3D9C3 C7E4E3C3 D4E2C7E3 E3E2E2C2 D7D360D3 F1F161F1 F1F161F1 F1F161F1 F1F061F2 F1F161F1 F1F161F1 F1F161F1 F1F161F1 F1F161F0 F1F161F1 C9D2C540 F161F8F6 F161F8F6 F161F8F6 F361F8F6 F161F8F6 F161F8F6 F161F8F6 F161F8F6 F561F8F6 F161F8F6 C6D6D940 F2F14BF1 F2F14BF1 F2F14BF2 F1F14BF3 F2F14BF2 F2F14BF2 F2F24BF3 F2F14BF3 F1F94BF4 F2F14BF5 C4E2D5E4 F2404040 F8404040 F0404040 F8404040 F3404040 F5404040 F4404040 F6404040 F6404040 F8404040 E3C9D3C2 00000000 00000000 00000000 000273EC 00000000 00000000 00000000 00005510 00000000 00005D58 *....BEPL..MEPL.LIKE FOR DSNUTILB* *..3.DSNUDIAG11.11.8621.12 ....* *....DSNUGABN11.11.8621.18 ....* *....DSNUGBAC11.11.8621.20 ....* *....DSNUGBPL10.23.8611.38 ....* *..H.DSNUGGDP11.11.8621.23 ....* *....DSNUGMSG11.11.8621.25 ....* *....DSNUGTRC11.11.8621.34 ....* *....DSNUGUTC11.11.8621.36 ....* *..J.DSNUMSGT11.05.8619.46 ....* *....DSNUTSSB11.11.8621.58 ....*

Figure 74. Sample batch utilities MEPL

5. Verify that the suspected load module was involved in the failure.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

199

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Review the ASID field in the MEPL. This field is the first halfword immediately following the ending address of the load module. An example is included in Figure 75. The load module is the one that was involved in the failure if one of these conditions is true: v ASID field = 0000 v ASID field = xxxx, where xxxx is the ASID identified in the dump as primary and is the ASID of system services or database services. For example, if the primary address space identifier (the identifier following the eye-catcher PASID in the beginning of the dump) is 0012, the ASID field of the MEPL for the load module involved in the failure must either be 0000 or 0012. 6. If the suspected load module was not involved in the failure, continue searching the MEPL until a load module is found that contains the address in the PSW and whose ASID is equal to 0000 or to the ASID of the dump. If the failure is not a loop, the name of the failing load module should begin with DSN. If it begins with anything else, the problem might be in another product. Use the z/OS diagnostic techniques publication for help in diagnosing the failure. 7. If the search is unsuccessful, the name of the load module involved cannot be determined from the MEPL.

MEPL (00014) ADDR=7F71A000 ASID=0010 VVV=00 0000 00BA0000 D4C5D7D3 00850594 0000B2A0 0020 C4E2D5E8 C1E2C3D7 81D008C8 81D04000 0040 81D00950 C4E2D5E8 C1E2E3D7 F0F361F1 0060 81D010A8 C4E2D5E8 C1E2E3D9 F0F361F1 0080 81D00950 C4E2D5E8 C5C3E3C5 F0F361F1 00A0 81D02AE0 C4E2D5E8 C1E2C3D7 F0F261F1 00C0 C4E2D5E8 C1C7C3E2 81CB7340 81CBA000 00E0 81CB9638 C4E2D5E8 C1C7C3E2 F0F361F1 0100 C4E2D5E8 C1D3D3C9 81CB7340 81CB9000 0120 81CB73C8 C4E2D5E8 C5C1E3C5 F0F161F1 0140 81CB73C8 C4E2D5E8 C5C1E3F2 F0F361F1 0160 81CB8500 C4E2D5E8 C1D3D3C9 F0F161F1 . . . Figure 75. Sample MEPL (module entry point list)

FROM: SCOM (0006) OFFSET 00000000 00000000 00000 00100004 00000000 00000 F061F8F6 F1F84BF1 F3404 F061F8F6 F1F84BF1 F4404 F061F8F6 F1F84BF2 F0404 F061F8F7 F1F64BF0 F5404 00000001 00000000 00000 F061F8F6 F2F24BF4 F6404 00000003 00000000 00000 F961F8F7 F1F14BF4 F2404 F061F8F6 F1F84BF1 F7404 F961F8F7 F1F84BF3 F7404

Finding the name of the failing CSECT in the MEPL: Use this procedure only if the name of the load module that failed in the MEPL was found. If it is not, the CSECT name cannot be located either. 1. Locate the list of CSECTs contained in the load module. This list follows the load module in the dump. For an example of the MEPL, see Figure 75. 2. Locate the CSECT entry point address that is closest to the address in the PSW. This is the failing CSECT. The first word of each CSECT entry contains its entry point address. Scan the column that contains the CSECT entry point addresses to find the appropriate one. For an example of how to find a CSECT name in the MEPL, see Figure 73 on page 199. Assume the address shown in the PSW is 005A144A. This falls within the range of load module DSNVGEPL, whose entry point address is 005A0A20 and whose ending address is 005AB000. To determine the CSECT name, scan the first column for the entry point addresses of the CSECTs contained within

200

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

that load module. The second CSECT in the load module DSNVGEPL has the last entry point address less than the address in the PSW. The CSECT name is DSNVTRTH.

The batch utilities MEPL


A batch utilities module entry point list (MEPL) is found in dumps involving batch utility abends. Figure 74 on page 199 shows a sample batch utilities MEPL. This list contains the CSECTs for the batch load module, DSNUTILB. The list can help locate the starting address of a CSECT within DSNUTILB and can match the maintenance level between CSECTs in DSNUTILA and DSNUTILB load modules. The DISPLAY parameter of the DIAGNOSE utility is used, without forcing an SVC dump, to dump the DSNUTILB MEPL to SYSPRINT. For information on the DIAGNOSE utility, which is designed for use under the direction of IBM service personnel, see DB2 Utility Guide and Reference.

Finding the batch utilities MEPL


To locate this control block in a formatted section of the dump, scan each page, looking for the BEPL eye-catcher at right or left. Follow the procedure below to locate the batch utilities MEPL in the unformatted section of an SVC dump. 1. Review the messages or load module name associated with the abend to determine if execution stopped in batch memory or database services memory. Message DSN0U16I and load module DSNUTILB indicate that execution stopped in batch memory. Message DSN0U17I and load module DSNUTILA indicate that execution stopped in database services memory. The name of the failing load module is published in the dump title. See DB2-issued SVC dump title on page 184 for details. 2. If execution stopped in batch memory, follow the steps below. If execution stopped in database services memory, skip to Step 3.
Batch Utilities MEPL

SDWA

UJB

X30

Register 6

UJBBEPL

Hexadecimal Offset UJBBEPL 1C0


Figure 76. Finding the batch utilities MEPL (batch memory failures)

a. Referring to Figure 76, locate register 6 at offset X30 in the SDWA. This contains the address of the UJB (utilities job block). b. Locate the UJBBEPL field at offset X1C0. This contains the address of the batch utilities MEPL. 3. When execution has stopped in database services memory, follow these steps to find the batch utilities MEPL:
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

201

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

a. Referring to Figure 77, locate the CTUTP field at offset X38 in the CT (cursor table). (To find the CT, see The cursor table (CT) on page 203.) CTUTP contains the address of the UCA (utility block).
SDWA CT UCA

X34

Register 7

CTUTP

UCAUJB

Database Service Memory Batch Memory Batch Utilities MEPL

UJB

UJBBEPL

UJBBEPL1C0

Hexadecimal Offsets UCAUJB 24 CTUTP 38

Figure 77. Finding the batch utilities MEPL (database service memory failures)

b. Locate the UCAUJB field at offset X24 in the UCA. This field contains the address of the UJB (utility job block) in batch memory. c. Locate the UJBBEPL field at offset X1C0 in the UJB. This contains the address of the batch utilities MEPL.

Contents of the batch utilities MEPL


Header One 32-byte entry, containing: 2-byte hexadecimal control block identifier (X20B9) 2-byte value for the length of the control block 4-byte EBCDIC control block identifier and eye-catcher (BEPL) 2-byte value for the total number of entries in the control block 22 bytes of reserved space CSECT One 32-byte entry for each CSECT, containing: 4-byte CSECT entry point address 8-byte CSECT name 8-byte CSECT assembly date 8-byte CSECT maintenance level 4 bytes of reserved space

202

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The cursor table (CT)


The cursor table (CT) is one of DB2s most important blocks. It contains information about an application plan and the access being made through it to databases. Some explanations in DB2 Messages refer to the CT. The procedures listed here cite methods for locating the CT in both the unformatted and the formatted sections of the dump.

Finding the CT in the unformatted section of the SVC dump


1. Locate register 13 at offset X4C from the beginning of the SDWA and examine the data at offset XF4 from the address in register 13. If the two bytes at that address contain the characters, CT, you have found the CT.
SDWA

X4C Register 13

XF4

CT

Figure 78. Finding the CT in the unformatted section of an SVC dump

For details, see The system diagnostic work area (SDWA) on page 191. 2. Find the SUMLSTA range that contains the CT address. 3. Within this area, locate the beginning of the CT. The CT eye-catcher appears at the right.

Finding the CT in the formatted section of the SVC dump


Skim through the dump, looking for the CT eye-catcher on either the right or left side. The steps below describe a more precise method. 1. Determine the address of the failing execution block (EB). See The failing execution block (EB) on page 194.. 2. Refer to Figure 207 on page 765 for an illustration of the linkages for the control blocks in the steps that follow. 3. Locate the EB in the formatted area of the dump. This EB is associated with other blocks related to the same agent by an z/OS-assigned control block number. 4. Use the z/OS control block number to find the associated agent control element (ACE). The ACECT field of the associated ACE contains the address of the cursor table.

The SQL communication area (SQLCA)


The SQL communication area is one of DB2s most important blocks. It contains information about the status of one SQL statement. For diagnostic purposes, up to 4 KB of the SQL statement are included in both the formatted and unformatted sections of SVC dumps. The SQLCA also contains the SQLSTATE, which is a five character return code for the outcome of the most recent execution of an SQL statement. The range of values is 00000 through 65535. SQLSTATE provides application programs with common codes for common error conditions (the values of SQLSTATE are product-specific only if the error or warning is product-specific). Furthermore, SQLSTATE is designed so that application programs can test for specific errors or classes of
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

203

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

errors. The coding scheme is the same for all database managers and is consistent with the proposed ISO/ANSI SQL92 standard. See DB2 SQL Reference for more information and a complete list of the possible values of SQLSTATE. Some of the explanations in DB2 Messages refer to the SQLCA. The SQLCA is especially valuable for diagnosing abends with a completion code of X04E and an abend reason code that begins with X00E7. When these abends occur, the SQLERRP field contains the name of the CSECT for the code that issued the abend. The SQLERRD1 field contains an internal subcode that uniquely identifies the location within the CSECT where the error was detected. The SQLERRM field contains an optional error description. See DB2 SQL Reference for detailed information about the format and fields of the SQLCA.

Finding the SQLCA


1. Locate the CTRDSP field at offset X1C0 in the CT. This field contains the address of the RDA (relational data area). If this field contains a fullword of zero, there is no SQLCA associated with this dump. Do not continue with this procedure. If needed, see The cursor table (CT) on page 203. 2. Find the RDASQLCA field at offset X08 in the RDA. This contains the address of the SQLCA. At that address, the SQLCA eye-catcher appears.

CT

RDA

SQLCA

.
CTRDSP (non-zero)

.
RDASQLCA

. .

Hexadecimal Offsets CTRDSP 1C0 RDASQLCA 8

Figure 79. Finding the SQLCA

The SQLCA is especially valuable for abends with a completion code of X04E and an abend reason code that begins with X00E7 (for example, 00E70005).

Sample SQLCA control blocks


Figure 80 shows a portion of an SQLCA in the formatted section of an SVC dump. Figure 81 on page 205 shows this portion of the SQLCA as it appears in the unformatted section of the SVC dump. Notice the eyecatcher, SQLCA.
SQLC (00675) ADDR=7F6446A0 ASID=0016 VVV=00 FROM: RDA 0000 E2D8D3C3 C1404040 00000088 00000000 00004040 0020 40404040 40404040 40404040 40404040 40404040 0040 TO 005F SAME AS ABOVE 0060 00000000 00000000 00000000 FFFFFFFF 00000000 0080 00000000 00000000 (00673) OFFSET=0008 40404040 40404040 40404040 *SQLCA 40404040 40404040 40404040 * ........ * *

00000000 40404040 40404040 *....................... * *....... *

Figure 80. Sample SQLCA control block (formatted)

204

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM 7F6446A0 7F6446C0 ******** 7F644700 7F644720

DO NOT COPY
40404040 40404040 40404040 3E200001

E2D8D3C3 C1404040 00000088 00000000 00004040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 LINES FROM 7F6446E0 TO 7F644700 ARE THE SAME AS THE ABOVE LINE 00000000 00000000 00000000 FFFFFFFF 00000000 00000000 40404040 00000000 00000000 00280400 001EC4E2 D5E3C5D7 F2F2137E A1681D9C

Figure 81. Sample SQLCA control block (unformatted)

Finding the SQL statement


Up to 4 KB of the SQL statement are included in the sections of the SVC dump that pertain to SQL problems. To find the SQL statement in the formatted section of the SVC dump, skim through the pages for the statement on the right. It appears in the space block, which contains the SPA eye-catcher. There are occasions when DB2 might not have loaded the current space block (SPA). In this case, RDASPPT1 points to the previously executed SQL statement. This causes the RDASPPT1 to point to the previously executed SQL statement. To locate the SQL statement in the unformatted section of the SVC dump. 1. Locate the CTRDSP field at offset X1C0 in the CT. This field contains the address of the RDA (relational data area). If needed, see The cursor table (CT) on page 203. 2. Locate the RDASPPT1 field at offset X108 in the in the RDA. This field contains the address of the SPA (space block). The SPA begins with a header section, followed by several space block entries. 3. Locate the SPASQLTX field at offset X32 in the header section of the SPA. This field provides an index to the SQL statement within the first space block entry. 4. If desired, scan the right of the dump to locate the SQL statement. Otherwise, use the contents of SPASQLTX to pinpoint a 2-byte length field, which precedes the SQL statement.

| | | | | | | | | | |

CT

RDA

SPA

.
CTRDSP (non-zero)

.
RDASPPT1

SPA Header SPASQLTX SPA Entry SQL Statement

. .

.
SPA Entry

Hexadecimal Offsets
CTRDSP 1C0 RDASPPT1 10C SPASQLTX 44

Figure 82. Finding the SQL statement

The global trace table


The DB2 trace table contains entries for significant DB2 activities and is useful for diagnosing WAIT or LOOP problems. The formatted DB2 trace table usually appears at the end of the formatted section of an SVC dump. An unformatted table

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

205

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

also appears in the unformatted section of the dump. For more information, refer to Using global trace output on page 234.

Formatted global trace table


Global trace data sent to the resident trace table usually appears at the end of the formatted section of a DB2-issued SVC dump. To format the resident trace table, the DSNWDMP control card parameters must be either TT or ALL. For information about all the keyword options, see Using the DSNWDMP statement on page 169. Figure 83 illustrates a sample formatted trace table.

===Global trace EB 060B8620 RET 0052-8787240A DSNIDRCT 15.46 +01B2 EID 0E-0792 FUNC 00 DATA 00000000_7EFC39A0 00000000_00000001 EB 060B8620 RET 0052-8784798E DSNIDBRP 15.46 +013E EID 0E-05CC FUNC 00 DATA 00000000_00000000 EB 060B8620 RET 0052-866D4F28 DSNSVBK 15.22 +19E8 EID 06-001C FUNC 4C DATA 00000000_0000008C 00000000_C4C2D9D7 00000000_7F4DA928 00000000_00000000 00000000_00000000 00000000_7F42EC90 EB 060B8620 RET 0052-87847DF0 DSNIDBRP 15.46 +05A0 EID 0E-05CD FUNC 00 DATA 00000000_00000000 EB 060B8620 RET 0052-8784798E DSNIDBRP 15.46 +013E EID 0E-05CC FUNC 00 DATA 00000000_00000000

ASID 0052 05/30/2003 06:59:58.152746 ASID 0052 05/30/2003 06:59:58.152747 ASID 0052 05/30/2003 06:59:58.152750 ASID 0052 05/30/2003 06:59:58.152752 ASID 0052 05/30/2003 06:59:58.152753

Figure 83. Example of a formatted global trace table

Finding the unformatted global trace table


Global trace data sent to the resident trace table is always included in the non-summary dump data set of DB2-issued SVC dumps. The following information describes how to locate this unformatted table using control blocks published in the unformatted summary dump section.
Failing EB RMVT
Header

RMFT

TAB

. .
EBRMVT

. .
.

. .
RMFTRUSE

. .
TABTABLE

. .

X60

17th RMVTRMFT

. .

. .

Unformatted Trace Table

Hexadecimal Offsets
EBRMVT 20 RMFTRUSE C TABTABLE C

Figure 84. Finding the unformatted trace table

To find the unformatted global trace table: 1. Locate the EBRMVT field at offset X20 in the failing EB. This field contains the address of the RMVT. The failing EBs address is at offset X30 in the SDWA and is listed under Key 14 of the VRA Diagnostic Information Report. For more information, see The failing execution block (EB) on page 194. 2. Find the address of the RMFT (resource manager function table) at offset X60 in the RMVT. The seventeenth RMVTRMFT element in the RMVT is at this offset.

206

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

3. Locate the RMFTRUSE field at offset X0C in the RMFT. This field contains the address of the trace anchor block (TAB). If the high order bit of this word is on, then the trace is active. 4. Locate the TAB and these fields v TABTABLE is at offset X0C in the TAB and contains the address of the beginning of the trace table. v TABOTTOM is at offset X14 in the TAB and contains the address of the end of the trace table. v TABSLOT is at offset X18 in the TAB contains the address of the oldest (next available) entry in the trace table. This address changes as the table wraps.
Table 10. Global trace table header format Length in bytes 12 1 8 1 4 2 4 4 4 Trace table header field descriptions Eye-catcher TRACE TABLE Reserved Command prefix Reserved DB2 subsystem name DB2 system services ASID Address of the DB2 TAB control block Address of the DB2 RMFT control block for trace Address of the DB2 SCOM control block

The task control block (TCB) summary


When included in a dump, the TCB summary identifies the address spaces and their associated tasks. By looking at the column that contains the completion codes (CMP) for each task, those with abends can easily be found because they have nonzero completion codes. A nonzero completion code might represent a problem from which DB2 has recovered.

Finding the TCB summary


The Table of Contents cites the location of the TCB summary under its entry on Task Control Block Summary. Refer to the z/OS diagnostic techniques publication for more information about the TCB summary.

Stack storage blocks (SKBs)


SKBs consist of a fixed area containing pointers to additional storage segments. The first two bytes of the fixed portion of all SKBs contain X00AD. In addition to the fixed portion, all SKBs contain a variable portion used differently by each DB2 resource manager. The contents of the variable area are not documented externally.

Finding the stack storage blocks


The following paragraphs explain how to locate all stack storage blocks (SKBs) associated with the failing agent in any DB2-issued SVC dump. This includes the SKBs associated with all synchronously-created execution blocks (EBs) related to the failing agent. Use this information at the request of the IBM support center

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

207

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

staff when analyzing the unformatted section of an SVC dump. Stack storage usually appears toward the end of the formatted section of the dump. As shown in Figure 85 on page 209: 1. Locate the EBSKB field in the failing EB. This points to the primary SKB for that EB. If necessary, refer to The failing execution block (EB) on page 194. 2. Determine the address space in which this primary SKB resides. v Use the EBPASCE field in the EB to obtain the address of the ASCE. v Find The address space in the ASCEASID field of the ASCE. This is the address space of the desired SKB. 3. In the SKB, two fields contain important addresses: SKBNEXTS: This field contains the address of the next SKB within this stack. Multiple SKBs can be associated with this primary SKB. Each of these stack segments is considered part of this primary SKB. When SKBNEXTS equals zero, all of the stack segments for that primary SKB have been located. SKBOSKB: This field contains the address of the previous primary SKB, which was in a previous address space (identified in the field named SKBPASCE). To determine which address space the previous primary SKB was in, see the SKBPASCE field in this SKB; this field points to the ASCE. The field in the ASCE named ASCEASID identifies the address space that contains the SKB. Although this is a different primary SKB than the one pointed to directly by the EB, it is still associated with that EB. There can be a chain of primary SKBs associated with one EB. For each primary SKB in that chain, there can be a chain of stack segments (SKBs). When SKBOSKB equals zero, the end of the chain of primary SKBs associated with that EB has been located. 4. After you have located all the stack storage for the failing EB, the stack storage for all other EBs related to the failing agent can be located. Review the EBCHA field in the failing EB. This field contains the address of another related EB (and likewise, that EBs EBCHA field points to another related EB). These other EBs also have chains of primary SKBs (and possibly of stack segments), just as did the failing EB. When you locate an EB whose EBCHA field equals zero, all of the stack storage for all the EBs related to the failing agent have been located. If the primary address space of an associated EB was not included in the SVC dump, then the SKBs for that EB are not found in the dump.

208

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Register 6 Failing Agent Active EB Failing Agent Previous EB EBCHA EBCHA Failing Agent Primary EB EBCHA=0

EBSKB EBSKB

EBSKB

Primary SKB SKBNEXTS

Stack segment (SKB) SKBNEXTS

Stack segment (SKB) SKBNEXTS=0

SKBOSKB

Primary SKB SKBNEXTS SKBOSKB=0 SKBNEXTS SKBNEXTS=0

Figure 85. Locating stack storage for the failing agent

Suppressing SVC dumps using z/OS DAE


SVC dumps that duplicate previous dumps can be suppressed. z/OS MVS Diagnosis: Tools and Service Aids lists the user requirements for z/OS dump analysis and elimination (DAE). One of the requirements is that a new data set be defined. To support DAE, DB2 defines two variable recording area (VRA) keys and a minimum symptom string. The two VRA keys are: KEY VRADAE (X53) no data is associated with this key KEY VRAMINSC (X52) DATA (X08) DB2 provides the following data for the minimum symptom string in the system diagnostic work area (SDWA): LOAD MODULE NAME CSECT NAME ABEND CODE RECOVERY ROUTINE NAME FAILING INST AREA REG/PSW DIFFERENCE REASON CODE COMPONENT IDENTIFIER COMPONENT SUBFUNCTION

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

209

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Dumps are considered duplicates for purposes of duplicate dump suppression if eight (the X08 from the VRAMINSC key) of the nine symptoms are the same.

When SVC dumps are not produced


Occasionally, an SVC dump is not produced. Generally, dumps are suppressed for space, time, or security violations. The list below summarizes other reasons why SVC dumps might not be produced: v No empty dump data sets were available. v The z/OS serviceability level indication processing (SLIP) commands suppressed the abends. The z/OS initialization and tuning publication lists the defaults of these commands; however, sites can change them. Additional information can be found in the z/OS conversion notebook. Finally, refer to the z/OS diagnostic techniques publication for information about tailoring dumps with SLIP commands. v The abend reason code was one of those listed below. These do not require a dump to determine the cause of abend. 00C90080 00C90096 00D10100 00D99003 00E3000C 00E30085 00E30093 00E30301 00E30302 00E50070 00E7000C v DB2 subsystem percolation occurred 00E2002B 00E30089 00E50013 (SDWACOMU=DSN2).

v A dump was already provided (SDWAEAS=ON). v The abend was 04F, 222, 33E, B37, D37 E37, or x13 (where x is any hexadecimal digit). v The abend was 13E, and one or more of the following conditions was true: Home address space of the failing agent (EB) was not in allied memory. Termination of the execution unit TCB did not result from the z/OS CANCEL W/DUMP command. Prior dumps were generated for the terminating TCB. The DB2 dump work area (DMPW) is in use by another dump request:
VRA KEY VRARRK22 XDE) DATA (NODMPW)

SYSUDUMP dumps
DB2 SYSUDUMP dumps provide information useful for debugging application programs. For more information on SYSUDUMP dumps see z/OS MVS JCL Reference. Figure 86 on page 211 shows a sample SYSUDUMP dump.

210

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


JOB H443722 COMPLETION CODE STEP TSOUSER SYSTEM = 04E TIME 102958

DO NOT COPY
DATE 87152 ID = 000 CPUID = 632202333081

PSW AT ENTRY TO ABEND 078D1000 000433FC

ILC 2 INTC 000D

PSW LOAD MODULE = DSNECP10 ADDRESS = 000433FC OFFSET = 0000A7F4 ASCB: 00F56400 +0000 ASCB..... +0014 SYNC..... +0026 R026..... +002C TRQP..... +0038 CSCB..... +0048 EWST..... +005C TLCH..... +0068 TMCH..... +0074 RSV...... . . . +0084 LSQH..... +0098 FMCT..... +00A4 RTMC..... +00B5 SRQ2..... +00C0 SSRB..... +00C8 SRBT..... +00DC TCBL..... +00E7 IODP..... +00F7 SSO4..... +0106 ETCN..... +0114 LQEL..... +0124 GXL...... +0138 LL1...... +0140 IOSC..... +0150 ASSB..... +0168 CREQ..... +0174 ARC...... +0188 SAXT..... +0198 SCPT..... ASSB: 01946600 +0000 ASSB..... +0010 VFAT..... +0020 VSC...... +0038 ASCB 00000D6F 0000 80F5D381 00F4D048 9CCDE747 00000000 00000000 0000 00000000 008B 00000000 00 0000 00000000 00000000 9D 00 0000 02120A50 00000000 00 000001A5 01946600 0000002F 00000000 00000000 00000000 ASSB 00000000 00000000 00000000 FWDP..... IOSP..... LL5...... LDA...... TSB...... 76A09480 DUMP..... ASXB..... SRBS..... QECB..... LEVL..... MCC...... SRQ3..... SMCT..... 261ADA00 WPRB..... LOCI..... ASTE..... LXR...... GSYN..... EATT..... LL2...... PKML..... TCME..... RSME..... RSMA..... 00000000 261ADA00 00F60180 00000000 00 7FF154E8 00B61938 BWDP..... TNEW..... HLHI..... RSMF..... EJST..... JSTL..... 008FE520 AFFN..... 008FF118 SWCT..... 0000 R078..... 00000000 02 00000000 00 00 008FFA88 00000000 00F7F660 0000 00000000 00000000 00 0080 00000000 0195B840 0195B750 MECB..... R09B..... JBNI..... SRQ4..... SRBM..... LSMQ..... NDP...... CMLH..... LTOV..... AXR...... XTCB..... 97024600 LL3...... XCNT..... R158..... AVM1..... DCTI..... TCPT..... 00F47800 008D18F0 01 00 00000001 000141A4 FFFF 032E 00000000 40000000 00 00000000 00 07 00000000 9D 00000000 7FFFD000 0000 008CC608 CMSF..... CPUS..... DPHI..... R035..... 8C257E00 ECB...... RCTF..... DSP1..... RCTP..... 019D5A30 00000001 00 0000 808FEF78 00 00 008FF338 01947E90 00000000 00F4D050 00000000 0000283B 00000000 FF 00000000 7FFFE610 008FFA98 00 9CCDE6A0 00 00000000 00000000 00 00000000 SVRB..... ASID..... DP....... TRQI..... UBET..... FLG1..... FLG2..... LOCK..... OUXB..... IQEA..... SRQ1..... PCTT..... TCBS..... NTSG..... SSO1..... ETC...... GQEL..... R121..... 4572EE60 RCMS..... ASM...... 00000000 AGEN..... 00000000 008FE9E0 0066 9D 42 9CCDE740 00 00 00000000 01988CB0 00000000 00 02035078 00000001 FF 000000 0000 038E0CF0 000000 00000000 0195B860 0000

OUCB..... XMPQ..... JBNS..... VGTT..... SWTL..... LSPL..... TNDP..... CMLC..... ATOV..... STKH..... CS1...... INTS..... 00 LL4...... 01F4 NSQA..... 00000000 00000000 00 AVM2..... 00005735 TAXT..... 00000001 9070B600

VAFN..... 00000000 EVST..... 00000000 00000000 00000000 RSV...... 0000 XMCC..... 0000 XMCT.....00000000 NVSC..... 0000004C ASRR..... 00000000 R02C..... 00000000 00000000 00000000 00000000

*** ADDRESS SPACE SWITCH EVENT MASK OFF (ASTESSEM = 0) *** TCB: 008D18F0 +0000 RBP...... +0014 TRN...... +0022 LMP...... +0030 GPRO-3... +0040 GPR4-7... +0050 GPR8-11.. 008FE7D8 40000000 FF 00001000 00FDC730 81CC4360 PIE...... MSS...... DSP...... 008A4000 008A50C8 008A6754 00000000 7FFF7418 FE 00000000 00000002 008A67B4 DEB...... 008B1530 TIO...... 008D4000 CMP......8004E000 PKF...... 80 FLGS..... 01000000 00 LLS...... 008D1A88 JLB...... 00011F18 JPQ......00000000 00000000 80E73F04 00000008

Figure 86. Sample of the first page of a SYSUDUMP

Finding the RTM2WA summary in a SYSUDUMP


The recovery termination manager work area (RTM2WA) summary usually appears in the first few pages of a SYSUDUMP, as shown in Figure 87 on page 212.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

211

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

RTM2WA SUMMARY -------------COMPLETION CODE 8004E000 ABENDING PROGRAM NAME DSNECP10 ABENDING PROGRAM ADDR 0003F4C0 REGS AT TIME OF ERROR 80000000 8004E000 000264F4 00031C74 00006FE8 00008BF4 000368B0 00036AD0 (0-7) 00000000 000264F4 00031B98 600430AC 000440AB 00031B98 700433E0 00C50101 (8-F) EC PSW AT TIME OF ERROR 078D1000 000433FC 0002000D 00000000 SOWACOMP 00000000 RETURN CODE FROM RECOVERY ROUTINE-10,CONTINUE WITH TERMINATION-PREVENT FURTHER STAI/ESTAI PROCESSING RETRY ADDR RETURNED FROM RECOVERY EXIT 80000010 RB ADDR FOR RETRY 00000000 CVT ADDR 00FDC730 RTCT ADDR 00F71310 SCB 00000000 SDWA ADDR 00000000 SVRB ADDR 008FE8F0 PREV RTM2WA FOR THE TASK 00000000 PREV RTM2WA FOR RECURSION 00000000 ASID OF ERROR IF CROSS MEMORY ABTERM 0000 ERROR ASID 0066 Figure 87. Sample RTM2WA summary from a SYSUDUMP. Register 15 contains the 4-byte DB2 abend reason code when the abend completion code is X04E.

Analyzing SYS1.LOGREC information


The SYS1.LOGREC data set records various errors that different components of the operating system encounter. For additional information, see the z/OS diagnostic techniques publication. DB2 recovery routines write information in the SDWA (system diagnostic work area) to the SYS1.LOGREC data set when (1) retry is attempted, or (2) percolation to the next recovery routine occurs. Because two or more retries or percolations can occur for a single error, more than one SYS1.LOGREC entry can be recorded. In distributed data processing, threads are assigned a logical unit of work identifier. This identifier is used to correlate errors across many instances of DB2 for the same global transaction. The logical unit of work identifier is included in the SYS1.LOGREC error recording entries. For errors identified by a DB2 abend reason code, refer to Individual VRA Recording Subcomponents, which describes each DB2-unique abend reason codes and indicates whether or not SYS1.LOGREC information is available. The SYS1.LOGREC entries recorded near the time of abend can provide valuable historical information about the events leading up to the abend. Certain abends that occur as a result of errors in SQL statements are handled by DB2 recovery routines. Examples of those errors are: v An error in decimal arithmetic v Overflow v Underflow The value of the RECORD SOFT ERRORS field of installation panel DSNTIPM determines whether those errors appear in SYS1.LOGREC. The associated system parameter is SUPERRS. The default value is NO, which means that the abends are

212

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

not recorded in SYS1.LOGREC. If you want those abends to be recorded in SYS1.LOGREC, you can change the value to YES. Finding the applicable SYS1.LOGREC information: To obtain a SYS1.LOGREC listing: 1. Use the IFCEREP1 service aid, described in the z/OS diagnostic techniques publication, to format records in the SYS1.LOGREC data set. 2. Specify the LOGDATA keyword when printing a formatted dump. Only records available in storage when the dump was requested are included. Each formatted record follows the heading *****LOGDATA*****. Each DB2-issued SVC dump contains one unformatted SDWA describing the subsystem status at the time of the error. For information about the unformatted SDWA, see The system diagnostic work area (SDWA) on page 191. Correlate formatted SYS1.LOGREC records in a dump with the unformatted SDWA in the same dump by comparing: v Subsystem name. For data sharing, the data sharing group name and member name. v ASID (address space identifier). v Subcomponent involved (look at the fourth character in load module and CSECT names). v Timestamp. To locate these in a SYS1.LOGREC entry, see Interpreting SYS1.LOGREC Information. To find a formatted SYS1.LOGREC entry that corresponds to a DB2-issued SVC dump: 1. Compare the ERRORID of the dump with the ERRORID of the formatted SYS1.LOGREC record. These values, which appear on the first pages of the dump and of the formatted SYS1.LOGREC record, should be the same. 2. Compare the time stamp of the dump and formatted SYS1.LOGREC record. These should also be about the same. To locate this data in a SYS1.LOGREC entry, see Interpreting SYS1.LOGREC Information. Interpreting SYS1.LOGREC Information: A formatted SYS1.LOGREC entry is fairly self-explanatory. Figure 88 on page 214 provides examples of: v The first page of a formatted SYS1.LOGREC entry v The second page of a SYS1.LOGREC entry, which includes the unformatted SDWA, from which data is obtained and formatted. The z/OS diagnostic techniques publication also includes information about formatted SYS1.LOGREC entries. The unformatted section of a SYS1.LOGREC entry contains the SDWA at the time of the failure. v The first part of the SDWA, which is standard for all components, is formatted in the SYS1.LOGREC record. Refer to the z/OS diagnostic techniques publication for information about the standard part of the SDWA.)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

213

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v The entire SDWA including the VRA is in the unformatted area of the SYS1.LOGREC record, following the standard section. (VRA entries begin at X190 in the unformatted SDWA.) The following figure shows the first two pages of a SYS1.LOGREC entry.
Figure 88. Sample formatted SYS1.LOGREC record (pages one and two) TYPE: SCP: SOFTWARE RECORD (SVC 13) VS 2 REL 4 REPORT: MODEL: SERIAL: SOFTWARE EDIT REPORT DAY.YEAR REPORT DATE: 036.93 ERROR DATE: 028.93 9021 HH MM SS.TH 125784 TIME: 11:05:49.50

JOBNAME: T032478 ERRORID: SEQ=00611 CPU=0041 ASID=002D TIME=11:05:37.5 SEARCH ARGUMENT ABSTRACT PIDS/5740XYR00 RIDS/DSNIDM#L RIDS/DSNIMOST AB/S004E PRCS/00C90101 REGS/0C6EE RIDS/DSNTFRCV#R SYMPTOM DESCRIPTION ----------------PIDS/5740XYR00 PROGRAM ID: 5740XYR00 RIDS/DSNIDM#L LOAD MODULE NAME: DSNIDM RIDS/DSNIMOST CSECT NAME: DSNIMOST AB/S004E SYSTEM ABEND CODE: 004E PRCS/00C90101 ABEND REASON CODE: 00C90101 REGS/0C6EE REGISTER/PSW DIFFERENCE FOR R0C: 6EE RIDS/DSNTFRCV#R RECOVERY ROUTINE CSECT NAME: DSNTFRCV OTHER SERVICEABILITY INFORMATION DATE ASSEMBLED: 12/15/92 MODULE LEVEL: 15.49 SUBFUNCTION: DMC DSNISRTW SERVICEABILITY INFORMATION NOT PROVIDED BY THE RECOVERY ROUTINE RECOVERY ROUTINE LABEL TIME OF ERROR INFORMATION PSW: 077C0000 835D41B2 INSTRUCTION LENGTH: 02 INTERRUPT CODE: 000D FAILING INSTRUCTION TEXT: 00000000 00000000 00000000 REGISTERS 0-7 GR: 02EDB878 0004E000 7EFCD3C0 7EFCD040 7EFCD6D8 7F12E94B 02EDB878 7F3E4030 AR: 831B2716 00000000 00000000 00000000 00000000 00000000 00000000 00000000 REGISTERS 8-15 GR: 7EFCCEF8 836822E4 00000000 7F16E5E0 835D3AC4 7F16E5E0 7F16E654 00C90101 AR: 00000000 00000000 00000000 00000000 00000000 00000000 8325EDD4 02EDB878 HOME ASID: 002D PRIMARY ASID: 00CD SECONDARY ASID: 00CD PKM: FFFF AX: 0035 EAX: 0000 RTM WAS ENTERED BECAUSE AN SVC WAS ISSUED IN AN IMPROPER MODE. THE ERROR OCCURRED WHILE AN ENABLED RB WAS IN CONTROL. NO LOCKS WERE HELD. NO SUPER BITS WERE SET. RECOVERY ENVIRONMENT RECOVERY ROUTINE TYPE: FUNCTIONAL RECOVERY ROUTINE (FRR) PSW AT ENTRY TO FRR: 070C0000 831C22A8 FRR PARAMETER AREA ON ENTRY TO FRR: +00 7F16C71C C1C4D4C6 02EDB878 00000000 00000000 00000000 RECOVERY ROUTINE ACTION THE RECOVERY ROUTINE REQUESTED THAT TERMINATION PROCESSING CONTINUE. THE REQUESTED SVC DUMP WAS SUCCESSFULLY STARTED. NO LOCKS WERE REQUESTED TO BE FREED. HEXADECIMAL DUMP HEADER +000 40831820 00000000 0093028F 11054950 | C.......L..... | +010 45125784 90210000 |...D.... | JOBNAME +000 E3F0F3F2 F4F7F840 |T032478 | SDWA BASE +000 00000C60 0404E000 00000000 00000000 |...-..\.........|

214

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM +010 00000000 00000000 02EDB878 +020 7EFCD3C0 7EFCD040 7EFCD6D8 . . . +180 00000000 C4E2D5F1 00000000 +190 00FFA0D6 VARIABLE RECORDING AREA (SDWAVRA) +000 KEY: 06 LENGTH: 04 +002 00C90101 +006 KEY: 14 LENGTH: 04 +008 02EDB878 +00C KEY: C9 LENGTH: 04 +00E 00000000 +012 KEY: CA LENGTH: 04 +014 C4E2D540 +018 KEY: 3A LENGTH: 02 +01A 0039 +01C KEY: 3A LENGTH: 02 +01E 00CD +020 KEY: 3A LENGTH: 02 +022 002D +024 KEY: CB LENGTH: 08 +026 C4C2F2C3 C1D3D340 +02E KEY: CC LENGTH: 0C +030 E3F0F3F2 F4F7F840 40404040 +03C KEY: DF LENGTH: 01 +03E C1 +03F KEY: DB LENGTH: 08 +041 A6F6003C 62557F11 +049 KEY: 7C LENGTH: 0C +04B FFFF070A 835D3AA8 0CA800CD +057 KEY: 06 LENGTH: 04 +059 00000000 +05D +05F +061 +063 +065 +06A +06C +06E +070 +074 +076 +07A +07C +080 +082 +086 +088 +090 +092 +096 +098 +09C +09E +0A2 +0A4 +0B4 +0C4 +0D0 +0D2 KEY: 53 KEY: 52 0008 KEY: CD C9D4D6E2 KEY: CE 5007 KEY: CF 00000004 KEY: D0 00000000 KEY: D1 00000000 KEY: D2 00000000 KEY: D3 C4E2D540 KEY: D4 00000000 KEY: D5 00000000 KEY: D6 00000000 KEY: D7 00000000 00000000 00000000 KEY: D8 00000000 LENGTH: 00 LENGTH: 02

DO NOT COPY
0004E000 7F12E94B |..........8...\.| |=.L{=.} =.OQ".Z.|

0006180F

|....DSN1........| |...O | |.I.. |..8. |.... |DSN |.. |.. |.. |DB2CALL |T032478 |A |W6....". |....C).Y.Y.. |.... | | | | | | | | | | | | |

|.. LENGTH: 05 E3 LENGTH: 02 LENGTH: 04 |.... LENGTH: 04 |.... LENGTH: 04 |.... LENGTH: 04 |.... LENGTH: 08 40404040 LENGTH: 04 LENGTH: 04 |.... LENGTH: 04 |.... LENGTH: 2C 00000000 00000000 00000000 LENGTH: 04 00000000 00000000 00000000 00000000 00000000 |DSN |.... |IMOST | .

| | | | | | | | | | |

|................| |................| |............ | |.... | DSNISR| 12/1|


Chapter 7. Printing and analyzing dumps

SDWA FIRST RECORDABLE EXTENSION (SDWARC1) +000 E7E8D9F0 F0C4D4C3 4040C4E2 +010 E3E64040 40404040 40404040
LY37-3218-01 Copyright IBM Corp. 1983, 2007

D5C9E2D9 F1F261F1

|XYR00DMC |TW

DO NOT COPY

215

DO NOT COPY
+020 F561F9F2 F1F54BF4 F9404040 . . . +180 00000000 00000000 00000000 +190 00000000 00000000 00000000 +1A0 00000000 7F7070B0 00000000 SDWA SECOND RECORDABLE EXTENSION (SDWARC2) +000 00000000 00000000 00000000 SDWA THIRD RECORDABLE EXTENSION (SDWARC3) +000 00000000 00000000 00000000 +010 00000000 00000000 00000000 ERRORID +000 02630041 002D0006 180F 00C90101 00000000 00000000 00000000 00000000 00000000 00000000 |5/9215.49

Restricted Materials of IBM Licensed Materials Property of IBM .I..|

|................| |................| |...."..0........| |................| |................| |................| |.......... |

The second page of the SYS1.LOGREC entry includes the unformatted system diagnostic work area (SDWA). The formatted data on the first page is taken from this unformatted SDWA. Two significant fields in the unformatted section of the SDWA are: SDWACMPC The 3-character completion code for the abend. SDWAVRA The beginning of the variable recording area (VRA). Selected DB2 recovery routines update the VRA with diagnostic information concerning the abend. Dumps printed through IPCS format the VRA portion of the SDWA as shown in the example. The VRA is also formatted in the VRA diagnostic information report, shown in Figure 67 on page 193. Common VRA Recording Routines: Three common VRA recording routines exist: DSNWSDWA, DSNTFRCV, and DSN9SCN9. DSNWSDWA records significant information for all DB2 abends, regardless of the subcomponent involved. DSNTFRCV and DSN9SCN9 record significant information for only certain subcomponents. For each routine, Table 11 on page 217 through Table 15 on page 220 identify: The VRA key names identifying the VRA data The hexadecimal value of the VRA keys The length of the data that the VRA keys identify The information that the VRA keys identify. The DSNWSDWA table also identifies if DSN1 or DSN2 is recorded in the SDWACOMU field of the SDWA. This information indicates if percolation occurred and can help you interpret SYS1.LOGREC entries. VRA data recorded by DSNWSDWA: VRA data recorded by DSNWSDWA, as shown in Table 11 on page 217, represents data stored on the first invocation of DSNWSDWA. If DSNWSDWA is invoked again because of an error percolated by the z/OS recovery termination manager (RTM), DSNWSDWA stores only the VRARC, VRACBA, VRARRK1, and VRARRK2 fields. The remaining fields, which do not change during RTM percolation, are not stored. During DB2 recovery processing, the DSNWSDWA routine tries to gather information about the failing CSECT from (1) the PSW address at the time of error (SDWAEC1) and (2) the module entry point list (MEPL). This information is recorded in the VRA under the VRAIMO key and is then used to: v Provide the failing load module, CSECT, and offset in the dump title associated with the SVC dump.

216

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v Provide a summary storage entry for the failing CSECT to ensure that the entire failing CSECT is included in the SVC dump.
Table 11. VRA data recorded by DSNWSDWA VRAKEY key name VRARC VRAKEY hex value 06 VRALEN data length 4 bytes 4 bytes VRADAT data contents and format Abend reason code (first VRARC occurrence) DSNWSDWA return code (second VRARC occurrence) EB address EB latch hierarchy mask Subsystem name (non-sharing DB2) DB2 data sharing group name (8 characters) and member name (8 characters) Binary ASID of DSCF Binary ASID of ADMF Binary ASID of DDF address space (if DDF is active) Binary ASID of Home address space Connection-ID of home address space Thread correlation token Store clock (STCK) time of error Yes Yes Yes Yes Yes Yes Yes Yes Yes Recorded in DSN1 Yes DSN2 Yes 04F Yes

VRACBA VRARRK1 VRARRK2

14 C9 CA

4 bytes 4 bytes 4 bytes 16 bytes

VRAAID

3A

2 bytes 2 bytes 2 bytes

2 bytes VRARRK3 VRARRK4 VRARRK19 CB CC DB 8 bytes 12 bytes 8 bytes

Yes Yes Yes Yes

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

217

DO NOT COPY
Table 11. VRA data recorded by DSNWSDWA (continued) VRAKEY key name VRAKEY hex value DD VRALEN data length 36 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes 4 bytes

Restricted Materials of IBM Licensed Materials Property of IBM

VRADAT data contents and format Additional thread information of the form: EBICE14: R14 (caller) of execution unit switch1 EBSUS14: R14 (caller) of suspend1 EBRES6: R6 (EB) of EB initiating resume EBRES14: R14 (caller) of EB initiating resume1 EBCAN6: R6 (EB) of EB initiating cancel EBCAN14: R14 (caller) of EB cancel request1 EBOCAN14: R14 (caller) of original cancel request1 EBSPAWND: Spawned EB EBSC14: R14 (caller) of suspend when cancel is honored Thread type: v S DB2 system thread v A allied thread (no distributed activity) v D database access thread v R allied thread with remote activity Failing CSECT information XFFFF=CSECT data obtained X0000=CSECT not in MEPL

Recorded in DSN1 Yes DSN2 Yes 04F Yes

| VRARRK21 |

VRARRK23

DF

2 bytes

Yes

VRAIMO

7C

12 bytes 2 bytes

Yes

2 bytes 4 bytes 2 bytes 2 bytes VRADAE VRAMINSC Note: 53 52 0 bytes 2 bytes

Failing instruction offset Failing CSECT starting address CSECT length ASID of failing CSECT Indicate use of DAE DAE Symptom string count Yes Yes

1. A dump, or the Diagnose Display MEPL utility output is required to coordinate R14 addresses to specific DB2 CSECTs and offsets. A dump, or display MEPL output must be obtained for the same instance of DB2.

218

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 12. VRA data recorded by DSNLFRCV. The DB2 distributed database facility uses this routine. VRAKEY key name VRARRK20 VRARRK24 VRARRK25 VRARRK26 VRAKEY hex value DC E0 E1 E2 VRALEN data length 2 bytes 16 bytes 24 bytes 34 bytes 8 bytes VRADAT data contents and format Internal failure identifier for DDF Location name of the requesting location for this transaction (zero if this location is the requesting location) Logical unit of work identifier (LUWID) of the agent Distributed requester information: Requester product identifier of the form pppvvrrm where: v ppp identifies product (DSN=DB2) v vv identifies product version v rr identifies product release v m identifies product modification level Requester LU name or internal form of the IP address Requester location name Reserved

8 bytes 16 bytes 2 bytes

Table 13. VRA data recorded by DSNTFRCV. The DB2 database services subcomponents and the distributed data facility use this routine. VRAKEY key name VRARRK5 VRARRK6 VRARRK7 VRARRK8 VRARRK9 VRARRK10 VRARRK11 VRARRK12 VRARRK13 VRARRK14 VRARRK15 VRARRK16 VRARRK20 VRAKEY hex value CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 DC VRALEN data length 5 bytes 2 bytes 4 bytes 4 bytes 4 bytes 4 bytes 8 bytes 4 bytes Variable Variable Variable 4 bytes 2 bytes VRADAT data contents and format The name of the data manager (DM) subcomponent CSECT (CTERPROC) that detected the error An internal qualifier (CTERQUAL) of the data manager (DM) subcomponent A data manager (DM) subcomponent return code (CTDMRETC) A reason code (CTSIRCOD) from the data manager (DM) subcomponent A return code from the last function that data manager (DM) subcomponent called (CTRMRC) An SQL code (SQLCODE) from the relational data system (RDS) subcomponent An SQL error procedure name (SQLERRP) from the relational data system (RDS) subcomponent An internal code (SQLERRD1) returned by an SQL error procedure of the relational data system (RDS) subcomponent A resource unavailable reason code (CTRURESN). If a reason code is available, length is 4 bytes. Otherwise, length is 0. A resource unavailable resource type (CTRUTYPE). If a reason code is available, length is 4 bytes. Otherwise, length is 0. A resource unavailable resource name (CTRUNAME). If a resource name is available, length is 1 to 44 bytes. Otherwise, length is 0. A reason code (CTUNERMR) from the resource manager (RM) Internal failure identifier for DDF

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

219

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 13. VRA data recorded by DSNTFRCV (continued). The DB2 database services subcomponents and the distributed data facility use this routine. VRAKEY key name VRARRK33 VRAKEY hex value E9 VRALEN data length 12 bytes VRADAT data contents and format P-lock negotiation information 1 byte: p-lock held state 1 byte: p-lock cache state 1 byte: p-lock requested state 1 byte: unused 8 bytes: p-lock owning work unit

Table 14. VRA data recorded by DSN9SCN9. DB2 system service subcomponents use this routine. These subcomponents include the message generator, recovery log manager, general command processor, and, in some cases, instrumentation facility. VRAKEY key name VRACBM VRACB VRAKEY hex value 11 12 VRALEN data length 8 bytes Variable VRADAT data contents and format The name of the DSECT for DDT (DSNDDDT) The recordable portion of the diagnostic data table (DDT) control block containing information such as the name of the module that invoked the recovery routine. The abend reason code

VRARC

06

4 bytes

Table 15. VRA data recorded by DSNWDSDM VRAKEY key name VRARRK5 VRARRK6 VRARRK11 VRARRK12 VRARRK20 VRARRK22 VRAIMO VRAKEY hex value CD CE D3 D4 DC DE 7C VRALEN data length 5 bytes 2 bytes 8 bytes 4 bytes 24 bytes 6 bytes 12 bytes 2 bytes VRADAT data contents and format The name of the data manager (DM) subcomponent CSECT (CTERPROC) that detected the error An internal qualifier (CTERQUAL) of the data manager (DM) subcomponent An SQL error procedure name (SQLERRP) from the relational data system (RDS) subcomponent An internal code Internal failure identifier for DDF A dump work area was not obtained. (NODMPW) Failing CSECT information XFFFF=CSECT data obtained X0000=CSECT not in MEPL 2 bytes 4 bytes 2 bytes 2 bytes Failing instruction offset Failing CSECT starting address CSECT length ASID of failing CSECT

Individual VRA Recording Subcomponents: Nine DB2 subcomponents provide additional VRA data: agent services manager, buffer manager, IMS attachment facility, initialization procedure, instrumentation facility, recovery log manager, recovery manager, subsystem support, and storage manager. Unlike the common VRA recording routines, these subcomponents use different VRA keys for different abend reason codes. Table 16 on page 221 through Table 23 on page 223 LY37-3218-01 Copyright IBM Corp. 1983, 2007

220

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

on page 223 identify the VRA data provided by these individual DB2 subcomponents. For each of these subcomponents, the tables identify: v The abend reason codes for which VRA data is produced v The VRA key names for each abend reason code v The hexadecimal value of the VRA key
Table 16. Agent services manager. The agent services manager supplies VRA data for the following abend reason codes. Code 00E50013 00E50014 00E50015 00E50031 00E50032 00E50044 00E50050 00E50051 00E50052 00E50059 00E50070 00E50071 00E50072 00E50079 00E50500 00E50501 00E50701 00E50705 00E50707 Table 17. Buffer manager. The buffer manager supplies VRA data for the following abend reason codes: Code 00C200D0 00C200D1 00C200D5 00C200D6 00C202A5 00C202AA 00C202AB 00C202AC 00C202AE 00C202AF VRARRK30, VRAKK31, VRAKK32 VRARRK30 VRARRK30 E6, E7, E8 E6 E6 Key name VRARRP Hex value 10 VRARRP, VRARRK16, VRARRK17 VRARRP 10, D8, D9 10 VRARRK16, VRARRK17, VRARRK18 VRARC, VRARRP D8, D9, DA 06, 10 VRARRP 10 VRARRK18 DA VRAHEX 38 Key names VRAHEX, VRARRP VRARRK18 Hex values 38, 10 DA

VRARRK13, VRARRK14, VRARRK15, D5, D6 D7, E9 VRARRK33 VRARRK30 E6

VRARRK13, VRARRK14, VRARRK15, D5, D6 D7, E9 VRARRK33

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

221

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 17. Buffer manager (continued). The buffer manager supplies VRA data for the following abend reason codes: Code 00C202B0 00C202B1 00C202D0 Key name Hex value

VRARRK13, VRARRK14, VRARRK15, D5, D6 D7, E9 VRARRK33 VRARRK30 VRARRP E6 10

Table 18. The IMS attach subcomponent VRA data. The IMS attach subcomponent supplies VRA data for the following abend reason code. Code 00D40008 Key names VRARC, VRAFP Hex values 06, 23

Table 19. Initialization procedure. The initialization procedure subcomponent supplies VRA data E8 for all abend reason codes. Code All E8 abend reason codes Key name VRARRP Hex value 10

Table 20. Instrumentation facility. The instrumentation facility supplies VRA data for the following abend reason codes. Code Trace super 00E60887 00E60888 00E60889 Table 21. Recovery log manager. The recovery log manager supplies VRA data for the following abend reason codes. Code 00D10250 00D10251 00D10252 Table 22. Recovery manager. The recovery manager supplies VRA data for the following abend reason codes. Code 00D93011 00D93012 00D94011 00D9AAAA 00D9BBBB 00D9CCCC 00D9EEEE Key name VRAHEX Hex value 38 Key names VRARC, VRARRP Hex values 06, 10 Key names VRAPLI, VRAPL VRARC, VRAFP Hex values 20, 21 06, 23

222

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 23. Storage manager. The storage manager records the 32-byte MEPL entry of the calling module at abend. If the storage manager is unable to identify the invoking module, a VRACAN VRA entry is created with the following data: CALLER OF SMC UNKNOWN. The storage manager supplies VRA data for the following abend reason codes. Code 00E20001 00E20002 00E20003 00E20004 00E20005 00E20006 00E20009 00E2000B 00E2000C 00E2000D 00E2000E 00E2000F 00E2001B 00E2001F 00E20022 00E20027 (only for DSNSVBK or DSNSFBK modules) 00E20029 Key name VRACAN Hex value 3D

Subsystem support: The subsystem support subcomponent supplies the VRA data for all abend reason codes as specified in the following tables.
Table 24. Identify recovery. The Identify ESTAE recovery routine DSN3IDES generates the following VRADATA entries. The last entry, key VRAIMO, is generated only if the abend occurred within the Identify authorization exit. VRAKEY key name VRFPI VRAFP VRAKEY hex value 22 23 VRALEN data length 8 bytes 24 bytes VRADAT data contents and format Constant IDESTRAK 32-bit recovery tracking flag 32-bit integer AGNT block unique identifier AGNT block address AIDL block address Initial primary authorization ID

Table 25. Sign-on recovery. The sign-on ESTAE recovery routine DSN3SIES generates the following VRADATA entries. VRAKEY key name VRFPI VRAFP VRAKEY hex value 22 23 VRALEN data length 8 bytes 20 bytes VRADAT data contents and format Constant SIESTRAK Primary authorization ID (CCBUSER) AGNT block address Identify-level CCB block address Signon-level CCB block address

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 7. Printing and analyzing dumps

223

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 26. VRA data recorded by DSN3AUFR. Authorization Services Functional Recovery. VRAIMO is included if the error was in an exit routine. VRAKEY key name VRFPI VRAFP VRAIMO VRAKEY hex value 22 23 7C VRALEN data length 8 bytes 12 bytes 10 bytes VRADAT data contents and format AUFRTRAK Primary Auth Id (8 bytes) Address of CCB (4 bytes) Load module (4 bytes) Entry point (4 bytes) Offset of failing instruction (2 bytes)

224

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 8. Printing and analyzing traces


This chapter describes the following trace facilities: v Global trace facility on page 226 v Call attachment facility traces on page 242 v IMS attachment facility traces and IMS log record on page 244 v Resource Recovery Services attachment facility traces on page 251 v TSO attachment facility traces on page 253 v IRLM - DB2 activity trace on page 259 A trace must be active on the DB2 subsystem that you want to trace. For data sharing, the trace commands have member or group scope. You can activate a trace at all members of a data sharing group by issuing the START TRACE command with the SCOPE(GROUP) parameter on one member of the data sharing group. DB2 routes the command to each member of the data sharing group. The trace output goes to the destination that is specified on the DEST parameter.
Table 27. Keywords for use with the DB2 global trace Keyword TRACE Valid with commands START DISPLAY MODIFY STOP CLASS START DISPLAY MODIFY STOP DEST START DISPLAY STOP PLAN START DISPLAY STOP AUTHID START DISPLAY STOP RMID START DISPLAY STOP TNO DISPLAY MODIFY STOP * * * * * * * * * * * * From 1 to 8 RMIDs; see Table 28 on page 230 From 1 to 8 valid trace numbers From 1 to 8 valid AUTHIDs From 1 to 8 valid PLAN names If several PLANs are specified, only one AUTHID and TNO can be specified. If several values are specified, only one LOCATION value can be specified. If several AUTHIDs are specified, you only one PLAN and TNO can be specified. If several values are specified, only one LOCATION value can be specified. None. Established by trace type GTF, RES, SMF SRV, or OPn SRV is reserved for IBM service personnel. None None See DB2 Command Reference Class number Default None Other parameters Type of trace Comments and restrictions This keyword must be specified. A parameter does not need to be specified for the TRACE keyword if other keywords and their parameters provide sufficient detail to stop or display trace activity. None

If several TNOs are specified, only one PLAN and AUTHID can be specified. TNO is required with MODIFY If several values are specified, only one LOCATION value can be specified.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

225

DO NOT COPY
Table 27. Keywords for use with the DB2 global trace (continued) Keyword IFCID Valid with commands START MODIFY COMMENT START DISPLAY MODIFY STOP TDATA LOCATION START START DISPLAY STOP Established by trace type * * * COR, CPU, or TRA From 1 to 8 valid location names Default Set by trace type Blanks Other parameters IFCID number

Restricted Materials of IBM Licensed Materials Property of IBM

Comments and restrictions When a trace type is specified, all IFCIDs specified by the trace type, classes and the IFCID are started. The comment appears within the stop or start trace record that is sent to SMF, GTF, or SRV.

Any character string

The product section of a trace record can contain several headers. If several LOCATIONs are specified, only one PLAN, AUTHID, and TNO can be specified.

Global trace facility


The DB2 global trace is used to obtain information about program flowthe entries to and exits from DB2 functions and modulesto help resolve problems. The global trace is intended to be used under the direction of IBM support personnel. For information about the accounting, performance, and statistics traces, refer to Part 5 (Volume 2) of DB2 Administration Guide. For details on monitor trace, refer to Appendix E (Volume 2) of DB2 Administration Guide. For details on audit trace, refer to Part 3 (Volume 1) of DB2 Administration Guide. For general information about trace commands and syntax, refer to DB2 Command Reference. Table 27 on page 225 illustrates the keywords and parameters that can be used with the trace commands. This section explains the different destinations to which global trace records can be sent, how to start, change, display, and stop the DB2 global trace, how to locate the trace tables, and how the trace records in the trace tables are formatted. To use this command, you must have (1) SYSADM or SYSOPR authority, (2) authority to issue start/stop trace commands (trace authority), or (3) authority to issue the display trace command (display authority). The commands that control the global trace are: v -START TRACE(GLOBAL) v -DISPLAY TRACE(GLOBAL) v -MODIFY TRACE(GLOBAL) v -STOP TRACE(GLOBAL)

Starting the global trace


The DB2 global trace can be started in one of two ways: v Automatically at startup (by parameters specified during the install action or migration process). v With the -START TRACE(GLOBAL) command.

226

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Start trace syntax diagram

START TRACE (

PERFM ACCTG STAT AUDIT MONITOR

) destination block constraint block

COMMENT(string)

destination block:

, DEST( GTF SMF SRV OPn OPX )

constraint block:

* , PLAN( * , IFCID( , ifcid ) RMID( plan-name ) AUTHID( * , rmid

* , authorization-id ) CLASS(

* , integer )

) BUFSIZE(

* k_bytes

SCOPE(LOCAL) TDATA( CORRELATION TRACE CPU DISTRIBUTED ) LOCATION( * , location-name ) SCOPE(GROUP)

Specifying the global trace


To distinguish the DB2 global trace from other trace types, specify GLOBAL when invoking it, as this example shows:
-START TRACE(GLOBAL)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

227

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The global trace provides data related to the major functional and exceptional events taking place within DB2. When a trace is invoked, DB2 assigns it a trace number (TNO) from 1 to 32. This number mask appears in the standard trace record header externalized to SMF or GTF. Start a collection of global serviceability data when you install or migrate DB2. Refer to DB2 Installation Guide for an explanation of how this can be accomplished. The events recorded by a DB2 global trace are identified by event identifiers (EIDs). For more information about EIDs for global trace, refer to Global trace event IDs on page 234.

Limiting the scope of the global trace


Several keywords can be specified to limit the scope of the global trace to aid in diagnosis. These optional keywords include: CLASS Class or classes of events that the trace monitors DEST Destination or destinations to which trace data is sent PLAN Specific DB2 plan or plans that the trace monitors AUTHID Specific authorization ID or IDs that the trace monitors RMID Specific resource manager or managers that the trace monitors IFCID Instrumentation facility component identifier (IFCID) that the trace monitors LOCATION Specific location that the trace monitors The COMMENT keyword does not limit the trace scope but rather defines its purpose. The TDATA keyword specifies which headers are to placed on each record (unless the record destination is RES). Multiple traces: One -START TRACE command can invoke several traces, depending on the keywords and parameters used. v Multiple parameters specified for PLAN or AUTHID invoke multiple traces. This command invokes three traces:
-START TRACE(GLOBAL) AUTHID(USER1,USER2,USER3)

These traces can be displayed and stopped individually or collectively. v Multiple parameters specified for CLASS, DEST, or RMID invoke only one trace. This command invokes one trace:
-START TRACE(GLOBAL) DEST(SMF,GTF)

An individual class or destination that was started by this command cannot be displayed or stopped. For detailed descriptions of each of these keywords, see DB2 Command Reference.

Specifying a class
The CLASS keyword specifies a particular class or type of trace events for global trace. These classes include: v Class 1. Reserved for major functions and exceptions v Class 2. Utility tracing and reserved for medium functions

228

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Class 3. All other module entries/exits Class 4. Reserved Class 5. Reserved Class 6. Reserved for installation use with IFI Class 7. For distributed events Class 8. For tracing SQL statements for distributed events at the requesting and responding locations. v Class 9. For tracing DDF diagnostics information. v Class 10. For tracing detailed DBM1 storage usage information. v v v v v v The default on the global trace command is to start trace classes 1, 2, and 3. CLASS normally should not be specified for global trace. Global trace classes 1, 2, and especially 3 can SIGNIFICANTLY DEGRADE SYSTEM PERFORMANCE and can produce an enormous amount of data if externalized to GTF or SMF. If v v v v class 7 is specified, the following events are traced: VTAM exits to DB2 All VTAM calls/returns Buffer sent/received Conversation allocation request queued in DB2.

If class 8 is specified the following events are traced: v Requesting location SQL statements before modification v Both requesting and responding location SQL statements after modification.

Specifying a destination
The DEST keyword specifies the location to which global trace data is sent. These destinations include: RESResident trace table GTFGeneralized Trace Facility OPnDestination for trace output SMFSystem Management Facility SRVServiceability Routine. The default destination is the resident trace table (RES), which is located above the line in the extended common service area (ECSA). The installation defined parameter TRACTBL determines if the RES exists and its size. Global trace data can also be sent to GTF, SMF, or OPn (where n is a value from 1 to 8 that corresponds to a specific destination). SMF is not recommended. SRV is reserved for IBM service personnel. When specifying a location with the DEST keyword, use the appropriate abbreviation. For example, specify DEST(GTF) not DEST(generalized trace facility):
-START TRACE(GLOBAL) DEST(GTF)

Trace data can be sent to more than one destination. This example sends data to both RES and GTF:
-START TRACE(GLOBAL) DEST(GTF,RES)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

229

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Specifying a plan
The PLAN keyword limits the trace to the activity of a particular DB2 plan or plans. Up to 8 plan names can be specified. The default is an asterisk (*), which invokes the trace for all plans. If more than one plan is specified, several traces are invoked. This example invokes a trace for SAMPLE1 and a trace for SAMPLE2.
-START TRACE(GLOBAL) PLAN(SAMPLE1,SAMPLE2)

If traces are invoked for more than one plan, specify only one authorization ID.

Specifying an authorization ID
The AUTHID keyword limits the trace to the activity of up to eight authorization IDs. The authorization IDs specified must be the primary authorization IDs. The default is an asterisk (*), which invokes the trace for all current primary authorization IDs. If more than one authorization ID is specified, several traces are invoked. This example invokes one trace for USER1 and one trace for USER2.
-START TRACE(GLOBAL) AUTHID(USER1,USER2)

If traces are invoked for more than one authorization ID, specify only one plan.

Specifying a resource manager


The RMID keyword limits the trace to the activity of a particular DB2 resource manager. Up to 8 resource managers can be specified. The default is an asterisk (*), which invokes the trace for any resource manager. Table 28 identifies the RMIDs for a global trace.
Table 28. Resource manager identifiers (RMIDs) RMID Dec(Hex) 1(01) 2(02) 3(03) 4(04) 6(06) 7(07) 8(08) 9(09) 10(0A) 11(0B) 12(0C) 13(0D) 14(0E) 15(0F) 16(10) 17(11) Resource Manager Initialization procedures Agent services management Recovery management Recovery log management Storage management Subsystem support for allied memories Subsystem support for SSI functions Reserved Buffer management Reserved System parameter management Precompiler Data management Reserved Instrumentation commands, trace, and dump services LOB management

230

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 28. Resource manager identifiers (RMIDs) (continued) RMID Dec(Hex) 18(12) 19(13) 20(14) 21(15) 22(16) 23(17) 24(18) 25(19) 26(1A) 27(1B) 28(1C) 29(1D) 30(1E) 31(1F) Resource Manager Data space management Data Space management, AMS subcomponent Service controller Database utilities Relational database support General command processing Message generator Distributed Relational Data System Manager Instrumentation accounting and statistics Distributed Communications Resource Manager Distributed Transaction Manager (DDF address space) Distributed Data Interchange Services Distributed Transaction Manager (DSCF address space) Group Manager

Unlike the PLAN and AUTHID keywords, more than one trace does not start if more than one RMID is specified. This example invokes a single trace for 5 resource managers:
-START TRACE(GLOBAL) RMID(1,7,14,18,24)

Specifying an IFCID
The IFCID keyword specifies an optional IFCID (trace event) to start. When a trace type is specified, then all valid IFCIDs and classes for the trace type specified in the START TRACE command are started. For the range of valid IFCIDs, see DB2 Command Reference.

Specifying a location
The LOCATION keyword limits the trace to the activity of those threads that are connected to remote locations, that is, it limits the trace to threads involved in distributed processing. Only trace records at the local location are recorded. Up to 8 location names can be specified. The default is LOCATION(*), which invokes the trace for any thread, whether or not it is connected to a remote location. If more than one location is specified, several traces are invoked. The following example invokes a trace for threads connected to LOC1 and a trace for threads connected to LOC2.
-STA TRACE(GLOBAL) LOCATION(LOC1,LOC2)

If traces are invoked for more than one location, you can specify only one plan and one authorization ID.

Specifying a comment
The COMMENT keyword enables you to append a descriptive phrase to trace data sent to SMF or GTF. This information helps in distinguishing between several traces. In SMF or GTF, comments appear within the record that documents that a start trace occurred. In RES, the comment does not appear.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

231

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Enter any character string for the comment, but blanks, commas, and special characters must be enclosed in apostrophes. For example, specify:
-START TRACE(GLOBAL) DEST(GTF) COMMENT(INVESTIGATE SQL LOOP)

This starts a global trace and sends the data to GTF. The trace start record (IFCID 0004) written to GTF shows a trace has been started and contains the comment INVESTIGATE SQL LOOP.

Specifying the trace record header


The TDATA keyword specifies the type of product section header that is placed in the product section of each trace record. The default for a global trace is a trace header. A TDATA specification indicates what information is appended to the record. If a trace header is desired, then it must be specified. You can also indicate one of the following values: v COR to place a correlation header on the record. v CPU to place a CPU header on the record. The CPU header contains the current CPU time for the z/OS TCB or SRB executing. v TRA to place the trace header on the record v DIST to place the distributed header on the record.

Displaying trace activity


The -DISPLAY TRACE command displays information about the traces invoked, including the options in effect. In a data sharing group, you can enter the DISPLAY TRACE command on each subsystem that you want to monitor, or you can enter the command with the SCOPE(GROUP) option on one subsystem to cause DB2 to issue the command on all members of the data sharing group. The command output from all members goes to the console from which the -DISPLAY TRACE command was issued. Because other traces can be started and stopped while you view -DISPLAY TRACE output, the information presented by the -DISPLAY TRACE command might change immediately after the display is complete. For more information on using the -DISPLAY TRACE command, see DB2 Command Reference.

Specifying traces for display


Parameters can be used with the -DISPLAY TRACE command to specify which traces to display. Each option, except TNO, limits the effect of the command to active traces that were started using the same option, either explicitly or by default, with exactly the same parameter values. For example, the command
-DISPLAY TRACE (GLOBAL) CLASS (1,2)

lists only the active traces that were started using the options GLOBAL and CLASS(1,2); it does not list, for example, any trace started using CLASS(1). Information about a particular trace can be displayed by specifying its trace number. For example:
-DISPLAY TRACE TNO(2)

displays the second trace you invoked.

232

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

When a trace number is specified, you do not need to specify any other keywords or parameters. The trace number provides a sufficient level of detail for DB2 to stop or display trace activity.

Modifying trace activity


The -MODIFY TRACE command changes the trace events (IFCIDs) being traced for any active trace. The -MODIFY TRACE command actually stops the existing trace and then starts the specified trace. For example, this command modifies trace number 1 to collect only data from IFCIDs 106 and 131 (utility trace data and system parameters in effect at trace invocation). Any other data that was being collected is stopped.
-MODIFY TRACE(GLOBAL) CLASS(3) IFCID(106,131) TNO(1) COMMENT(SYS PARMS AND UTILITY TRACE)

If several traces are active, specify enough qualifying information to isolate the trace you wish to change.

Stopping trace activity


The -STOP TRACE command terminates trace activity. In a data sharing group, you can stop the trace only on one subsystem, or, if the trace was started with SCOPE(GROUP), you can stop the trace for the entire group by issuing the -STOP TRACE command with the SCOPE(GROUP) option. Stopping a trace might not require specifying all the keywords specified when starting the trace. Just provide sufficient detail to stop the trace. The command -STOP TRACE is invalid. To stop all active traces, issue the command
-STOP TRACE(*)

You might, for example, have started a trace with the following command:
-START TRACE(GLOBAL) DEST(GTF) RMID(10,12,24)

This command contains several keywords that limit the trace. Assuming this is the only global trace active, you can issue this command to stop it:
-STOP TRACE(GLOBAL)

If several global traces were active and you wanted to stop only one of them, you need to provide more details in the -STOP TRACE command. For instance, assume three traces are started as follows:
-START TRACE(GLOBAL) DEST(GTF) RMID(10,12,24) -START TRACE(GLOBAL) RMID(10,12,24) -START TRACE(GLOBAL) AUTHID(SYSADM1)

To stop the first of these three traces without disturbing the other two, you can enter:
-STOP TRACE(GLOBAL) DEST(GTF)

Because only the first trace sends data to GTF, specifying the trace destination provides sufficient detail.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

233

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The trace number (TNO) can also be used to stop trace activity. For instance, you might have previously started two traces with the following commands:
-START TRACE(GLOBAL) DEST(GTF) -START TRACE(GLOBAL) AUTHID(USER1)

If output from -START TRACE or -DISPLAY TRACE commands indicate that the traces that were started were assigned trace numbers 1 and 2, respectively, then the first trace can be stopped by entering:
-STOP TRACE(GLOBAL) TNO(1)

When a trace number is specified, you do not need to specify any other keywords or parameters. The trace number provides a sufficient level of detail for DB2 to stop or display trace activity.

Using global trace output


Trace output is based on the parameters specified for the -START TRACE(GLOBAL) command. Each record identifies one or more significant DB2 events. The information on the following pages explains the contents of DB2 global trace records and some concerns that must be addressed before invoking a trace.

Global trace event IDs


Event IDs (EIDs) appear in the global trace records that DB2 externalizes. The resource manager IDs (RMIDs) and event IDs (EIDs) for global trace are listed in the online tables described in .

Interpreting trace record formats


The destination of global trace records (specified with the DEST keyword of the -START TRACE command) affects their contents and, therefore, their interpretation. Data sent to the resident trace table (RES) contains only addresses and contents of registers. Data sent to GTF (Generalized Trace Facility) and SMF (System Management Facility) also may contain control blocks and storage areas. SMF and GTF trace entries do not appear in DB2 formatted SVC dumps, but resident tables do appear if the appropriate keywords are specified. The following pages describe how to format, locate, and interpret global trace data sent to the resident trace table. The process of locating and interpreting the resident trace table in the unformatted portion of the non-summary dump data set is described later in this book. For additional information about the resident trace table layout, refer to Interpreting the formatted global trace table on page 235 or Interpreting the unformatted global trace table on page 236. For record formats, IFCID definitions, and information about GTF and SMF data, refer to Interpreting GTF and SMF global trace records on page 238 and to Appendix D (Volume 2) of DB2 Administration Guide.

When to use the DB2 trace table


Global trace data sent to the resident trace table usually appears at the end of the formatted section of a DB2-issued SVC dump. See The global trace table on page 205 for details and a sample formatted DB2 trace table.

234

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

You might need to use the DB2 global trace table when you suspect a WAIT or LOOP problem or when you follow procedures in Chapter 4, Building a keyword string, on page 107, Chapter 5, Type-of-failure keywords, on page 117, or Chapter 6, Search argument process, on page 157. The DB2 trace table can be used to look for trace entries that relate to the CSECT that failed. If you notice, for example, that the trace table shows control entering but not leaving the CSECT that abended, then you know the location of the problem. If you look at the trace entries just before entry into the failing CSECT and analyze the data items in these trace entries, you might be able to learn more about the problem. (For example, if one of the data items is a field that contains the values of input to the CSECT, then you might be able to detect bad input; this would show that the caller of the abending CSECT is the cause of the abend.)

Interpreting the formatted global trace table


The formatted DB2 trace tables are printed in time sequence from the oldest to the most current. To begin an analysis, review the most current entries (these appear at the end). Continue analyzing the information by scanning backward. The most significant fields in each trace entry are: v RMID: The resource manager ID that made the trace entry. v Event number: The event number unique to the resource manager. To determine what the combination of the RMID and event number shows for each trace entry (starting from the most current at the end of the table), refer to . Refer to Figure 83 on page 206 and follow these guidelines for interpreting that trace table: 1. Determine the address of the failing EB (execution block). This helps pinpoint some of the significant trace entries to examine. The address of the failing EB is listed under Key 14 of the VRA Diagnostic Information Report (at the beginning of the formatted dump) and at offset X30 in the SDWA (system diagnostic work area). Chapter 7, Printing and analyzing dumps, on page 167 provides more information. For the trace table shown in the example, the failing EB is at X01E30480. (The SDWA and VRA Diagnostic Information Report are not shown.) 2. Turn to the end of the formatted trace table. The last entry is most current, but might not always correspond to the failing EB. 3. Scanning backwards through the table, locate the most recent entry for the failing EB. In the example, the last entry is the most recent entry corresponding to the failing EB. The EID (event identifier) indicates this entry is for the agent services manager (RMID = X02), event number X0001. The EID trace code tables show this involves an entry in the SUSPEND execution unit, and that the address of the resource options block (ROB) is recorded (to the right of the DATA column). There is no corresponding exit from SUSPEND (because this is the most recent entry and also the end of the table). 4. If desired, continue to scan backwards through the trace table, interpreting the entries for the failing EB as needed.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

235

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Interpreting the unformatted global trace table


The formatted trace table contains information copied from the unformatted resident trace table, which is always included in the non-summary section of the dump data set. Interpreting the formatted global trace table on page 235 explains how to use the formatted trace table in diagnosing problems. The following pages describe the contents of the unformatted trace table. A resident trace table contains fixed-length, 32-byte records. A given DB2 event is recorded in a single record if there are no more than three event-data items; otherwise, they are recorded in two adjacent records. The first record, which might be the only record, contains a long header and up to three event-data items. The second record, if there is one, contains a short header and any remaining data items (up to a maximum of five items in the second record). The short header of the second record contains only the time-of-day stamp, which matches the time-of-day stamp in the first record. The second fullword is XFFFFFFFF, and the next five fullwords contain the data items. If there are any unused fullwords, they are cleared to zeros. The contents of the first record are shown in Table 29 and the contents of the second record are shown in Table 30 on page 237.
Table 29. Unformatted DB2 trace record content for first record Decimal offset 0 Hex offset 0 Length (decimal) 4 Field Description Time of Day. Bytes 3 through 6 of the TOD clock. This field is zero if the TOD clock value is not available. In a formatted trace table, this field follows the eye-catcher TOD. Number of event-data items in the record or record pair. This field does not appear in the formatted trace table. Indicator of the type of event. (Possible values are shown in Table 31 on page 237.) RMID. One-byte ID of the reporting resource manager. In a formatted trace table, this field follows the eye-catcher EID. Two-byte event number, unique for the specific resource manager. When combined with the RMID, this number makes a unique trace event identifier. Internal function code. In a formatted trace table, this field follows the eye-catcher FUNC. Twelve-bit primary ASID (the address space containing the data). In a formatted trace table, this field follows the eye-catcher ASID. Any data addresses in the item list point to objects in this address space. Twelve-bit ASID of the caller of the CSECT that invoked the trace facility. In a formatted trace table, this field follows the eye-catcherRET. Four-byte return address of the caller (from register 14). Four-byte address of the EB control block that was current at the time of the event. In a formatted trace table, this field follows the eye-catcher EB.

4 4.5 5 6

4 4.5 5 6

0.5 0.5 1 2

8 9

8 9

1 1.5

10.5

A.5

1.5

12 16

C 10

4 4

236

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 29. Unformatted DB2 trace record content for first record (continued) Decimal offset 20 Hex offset 14 Length (decimal) varies Field Description A series of up to three 4-byte data items (such as addresses or values) associated with the event. The total number of items in the record, or record pair, is given in the second field of the trace record (offset X04). The end of the item list might contain unused bytes to complete the 32-byte record, which is cleared to zero. In a formatted trace table, this field follows the eye-catcher DATA.

Table 30. Unformatted DB2 trace record content for second record Decimal offset 0 Hex offset 0 Length (decimal) 4 Field description Time of Day. The 4-byte TOD clock. This field is zero if the TOD clock value is not available. In a formatted trace table, this field does not appear. Fullword of XFFFFFFFF A series of up to five 4-byte data items (such as addresses or values) associated with the event. The total number of items in the record, or record pair, is given in the second field of the first record. The end of the item list might contain unused bytes to complete the 32-byte record. These unused bytes are cleared to binary zero.

4 12

4 C

8 varies

Table 31. DB2 trace tag values and meanings TAG value (hex) 00 01 02 03 04 05 06 07 08 09 0A F0 F1 Tag Name In Formatted Trace Table blank RMENTRY RMEXIT RAENTRY RAEXIT BKNBCST ENDBCST Reserved Reserved CALLENTRY CALLEXIT Not applicable in DB2-issued trace tables Not applicable in DB2-issued trace tables Definition Used when none of the other predefined codes in this table is applicable Resource manager functional entry point, invoked via RMRQ Resource manager functional exit point Resource Application request functional entry point, invoked via RARQ Resource Application request functional exit point Begin notification sequence End notification sequence Reserved Reserved Resource manager functional entry point, invoked via CALL Resource manager functional exit point Start trace control record, valid for GTF destination only Stop trace control record, valid for GTF destination only

Distributed data facility global trace


The distributed data facility contains a serviceability trace. All distributed allied agents and database access agents have an associated DDF trace table with the following characteristics:
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

237

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v The trace table is fixed-length. v Each trace table contains many 128-byte event entries. v When a DDF agent block (DPSB) is allocated for an allied or database agent, the table is created and initialized. v The trace table wraps when it becomes full. Trace events can be added as needed to service the distributed data facility.

Correlating the DB2 trace with the z/OS trace


To associate entries in the DB2 trace table with entries in the z/OS trace table, compare time of day for both entries. As Table 29 on page 236 indicates, the time-of-day field in the DB2 trace entry is obtained from bytes 3 to 6 of the same clock from which z/OS obtains the time of day for its trace entries.

Interpreting GTF and SMF global trace records


DB2 global trace data written to GTF has a GTF ID of X0FB9 and an FID of X00. Records longer than the 256-byte limit of GTF are spanned by DB2. DB2 global trace data is written to SMF as a SMF type 102 record. This list shows the general format of these trace records: 1. Each record begins with a standard SMF or GTF writer header. 2. Each record next contains a self-defining section. The self-defining section always begins at the end of the writer header. It contains pointers used to find the sections of the record that contain the actual trace data. The self-defining section identifies: v The offset to the resource manager data v The length of one unique area v The number of times the unique area repeats. 3. The first self-defining area contains a product section. The product section has a standard DB2 header and identifies the record and RMID. The trace header section, present for all global trace records, contains the event ID (EID). 4. Each record contains a section for resource manager data. For more information about trace data sent to GTF or SMF, see Part 5 (Volume 2) of DB2 Administration Guide.

Global trace classes


The tables that follow can help you interpret global trace data sent to SMF or GTF. Each table lists IFCIDs (instrumentation facility component identifiers), RMIDs (resource manager IDs), and event descriptions. Nine classes are defined for global trace, one of which (class 4) is reserved by IBM for serviceability, and one (class 6) is user-defined.

Class 1 : reserved for major functions


IFCID 0106 RMID 26 Event System parameters in effect at trace invocation

238

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Class 2 : reserved for medium functions


IFCID 0106 RMID 26 Event System parameters in effect at trace invocation

Class 3 : entry and exit trace


IFCID 0000 0038 0046 0047 0048 0049 0050 0051 0052 0056 0057 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0093 0094 0106
LY37-3218-01 Copyright IBM Corp. 1983, 2007

RMID Actual RMID 04 02 02 02 02 02 02 02 02 02 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 02 02 26

Event Module entry exit trace Log buffer write Begin exec unit switch Begin new SRB End new SRB Begin new TCB End new TCB Shared latch resume (serviceability-only information) Shared latch wait (serviceability only information) Exclusive latch wait (Serviceability only information) Exclusive latch resume (serviceability-only information) Begin ABEND End ABEND Begin COMMIT phase 2 End COMMIT phase 2 Begin CREATE THREAD End CREATE THREAD Begin TERMINATE THREAD End TERMINATE THREAD Begin end-of-memory request End end-of-memory request Begin establish exit End establish exit Begin identify End identify Begin prepare to COMMIT End prepare to COMMIT Begin sign-on End sign-on Begin sync End sync Entry to suspend Exit from suspend System parameters in effect at trace invocation

DO NOT COPY

Chapter 8. Printing and analyzing traces

239

DO NOT COPY
IFCID 0114 0115 0116 0117 0174 0175 0252 0260 0265 0266 0267 0268 RMID 04 04 04 04 03 03 10 10 31 31 31 31 Event Archive I/O begin

Restricted Materials of IBM Licensed Materials Property of IBM

Archive I/O end DASD Archive I/O end tape Begin read archive Begins archive log mode (QUIESCE) command processing Ends archive log mode (QUIESCE) command processing Begins GBP request End GBP request Begin SCA request End SCA request Begin CF rebuild request End CF rebuild request

Class 4 : reserved by IBM for serviceability


IFCID 0106 RMID 26 Event System parameters in effect at trace invocation

Class 5 : work file and SQL parsing global trace


IFCID 0190 0249 RMID 22 14 Event Overflow condition during hybrid join Monitor DBD invalidations

Class 7 : distributed data facility global trace


IFCID 0164 0165 RMID 27 27 Event Distributed transaction VTAM macro calls/returns

Class 8 : distributed data facility global trace


IFCID 0168 RMID 22 Event Distributed SQL statements

Class 9 : DRDA distributed data facility global trace


IFCID 0180 0181 0182 RMID 27 29 29 Event VTAM buffer list entries that are sent or received DDM level 6B object generation FDOCA objects

240

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Class 10 : DBM1 storage usage global trace


IFCID 0217 RMID 20 Event Detailed information about DBM1 storage usage

Using the statistic trace for distributed diagnosis


The statistics class 4 can be used to diagnose Distributed Relational Database Architecture (DRDA) and distributed two-phase commit exception conditions. For DRDA, the statistics class 4 trace writes the following records: 1. IFCID 0191 This record is written by DDIS when DDIS identifies a DRDA exception condition, or on behalf of either DTM or DRDS when those managers identify a DRDA exception condition. 2. IFCID 0192 This record is written by DCRM it identifies a DRDA exception condition. 3. IFCID 0193 This record is written by DTM when it identifies a DRDA exception condition. 4. IFCID 0194 This record is written by DCRM when it identifies a DRDA exception condition. 5. IFCID 0195 This record is written by DRDS when it identifies a DRDA exception condition. For more information on DRDA exception conditions, see Chapter 14, Exception condition diagnostic procedures, on page 325. The statistics class 4 trace writes these records for the distributed two-phase commit process: IFCIDs 0203 - 0210 and 0234 - 0238. For more information on these exception conditions, see Distributed two-phase commit error conditions on page 342.

Using the performance trace for diagnosis


While the performance trace is primarily a tuning aid, it can sometimes be useful for diagnosis because degraded performance can also indicate a DB2 problemone for which you would specify the PERFM keyword in building a keyword string to describe the problem. You can use the performance trace to determine whether degraded performance represents such a problem or the need for subsystem tuning. Often degraded performance is a symptom of a WAIT or LOOP problem, and the performance trace can help you make this determination. In addition, performance trace classes 6 and 7 can help you detect locking problems. Refer to Part 5 (Volume 2) of DB2 Administration Guide for information on how to use the performance trace.

Trace field descriptions


A readable z/OS data set is shipped with DB2 for z/OS that describes the individual fields of each IFCID. This data set is called prefix.SDSNIVPD(DSNWMSGS).

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

241

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Some of the field descriptions in the prefix.SDSNIVPD(DSNWMSGS) data set are marked with S; that indicates that those fields contain diagnosis, modification, and tuning information.

Attention
Do not use diagnosis, modification, and tuning information as a programming interface. You can use the TSO or ISPF browse function to look at the field descriptions in prefix.SDSNIVPD(DSNWMSGS) online, even when DB2 is down. If you prefer to look at the descriptions in printed form, you can use ISPF to print a listing of the data set. Alternatively, you can choose to load the data set into a user-defined DB2 table. This approach has the advantage of providing you with access to the IFCID field descriptions through SQL SELECT statements in whatever order or format you choose. You can also use the power of SQL to tailor the information to meet the needs at your site before you print it. Because of the wide variation from customer to customer in how DB2 trace data is analyzed, you might find this method most convenient. DSNWMSGS contains sample SQL statements for creating a user-defined DB2 table and retrieving information from it, as well as LOAD utility control statements for populating the table.

Call attachment facility traces


The call attachment facility, which enables users to connect to DB2 through TSO foreground, TSO background, or z/OS batch, provides diagnostic trace messages intended primarily for use by IBM service personnel. The following pages describe the call attachment facility trace stream and provides an example of it. Call attachment facility trace messages on page 880 lists and describes the trace messages produced. | | | | | | | | | | | | |

Producing trace messages


Call attachment facility trace messages are always included in the call attachment facilitys trace table in SYSABEND or SYSUDUMP dumps. However, these trace messages can also be sent to a TSO terminal or to SYSOUT. To do this, allocate ddname DSNTRACE before starting an application. DSNTRACE can be allocated to a TSO terminal or to SYSOUT. In TSO foreground, issue FREE DD(DSNTRACE) to send SYSOUT data to the printer. See Activating the DSN trace stream on page 254 for further information on activating the DSN trace. Do not allocate DSNTRACE to a data set unless the application only connects to DB2 from a single task. The call attach DSNTRACE does not function in a multi-tasking environment because the call attachment facility does not serialize access to the trace data set. Writing trace records (SVC6F, DECIMAL SVC111) to the same JES2 SYSOUT data set results in ABEND378.

242

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Finding the trace table


SYSABEND or SYSUDUMP dumps of the call attachment facility address space publish a wrap-around trace table that includes trace messages, if the DSNTRACE data set was allocated at the time of the abend. To find this trace table, perform the following steps: 1. Locate register 6 at time of error. This contains the address of the call attachment facility control block (CAB). Locate the RTM2WA SUMMARY section in the first few pages of the dump. Register 6 is published near the heading that reads REGS AT TIME OF ERROR. 2. Find the beginning of the CAB. The eye-catcher CAB appears at right. 3. Scan down about 1,000 bytes into the CAB. The trace table appears nearby, preceded by the eye-catcher TRACE TABLE >>>>. Each message is preceded by the eye-catcher >>>>. followed by accumulative number indicating the relative sequence in which the trace message was produce. Use this number to determine the most recent events if the trace table has wrapped.

Interpreting trace messages


Call attachment facility trace messages on page 880 describes each message in detail. However, one class of messages is particularly significant because it helps identify where the error occurred (in DB2 or in an application address space, such as the call attachment facility). This class of messages contains a line of equal signs and indicates events that occurred before and after calls to the DB2 program request handler. These messages occur in BEFORE/AFTER pairs:
BEFORE some event ===================== AFTER some event =====================

After the BEFORE message is written, control passes from the call attachment facility to DB2. After the AFTER message is written, control has returned from DB2. If an abend occurs just after a DSNA810I BEFORE message is written, the problem probably is in DB2. Otherwise, the problem is probably in the call attachment facility or an application. The following figure illustrates a stream of trace messages.
DSNA800I DSNA805I DSNA826I DSNA827I DSNA826I DSNA827I DSNA825I DSNA813I DSNA814I DSNA810I DSNA811I DSNA813I DSNA814I DSNA828I DSNA813I DSNA814I DSNA810I DSNA811I DSNA813I DSNA814I DSNA801I DSNA800I DSNA208E DSNA807I DSNA801I DSNACA00 DSNACA00 DSNACA00 DSNACA00 DSNACA00 DSNACA00 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA70 DSNACA00 DSNACA00 DSNACA00 DSNACA00 DSNACA00 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 TCB=008F28E8 ENTERED DSNACA00 ACTION=CONNECT R1=000082A0 CABPTR=00014360 CABFLAG1=0B CABFLAG2=00 CONNECT REQUEST SSID=AAAA TECBP=0000740C SECBP=00007408 RIBW=00007420 BEFORE VALIDITY CHECKING THE START-UP ECB AT ADDRESS 00007408 AFTER VALIDITY CHECKING THE START-UP ECB WHICH CONTAINS 00000000 BEFORE VALIDITY CHECKING THE TERMINATE ECB AT ADDRESS 0000740C AFTER VALIDITY CHECKING THE TERMINATE ECB WHICH CONTAINS 00000000 CABSSID=AAAA CABREL=310 CABDECPP=00000000 FRBP=000144F8 RAL=00000000 RALE=0001 FVLE=0002 PARM=00000000 PCNT=0000 RC1=0000 RC2=00000000 FBACK=00000000 RHPC=00000000 QUAL=0001 RSV1=00 BEFORE IDENTIFY ============================== AFTER IDENTIFY ============================== FRBP=000144F8 RAL=00000000 RALE=0001 FVLE=0002 PARM=000058F8 PCNT=0006 RC1=0000 RC2=00000000 FBACK=008DBF90 RHPC=00000E05 QUAL=0001 RSV1=00 RIB ADDRESS=00BFF220 RIBPTR ADDR=00007420 FRBP=000144F8 RAL=00000000 RALE=0001 FVLE=000B PARM=00000000 PCNT=0000 RC1=0000 RC2=00000000 FBACK=008DBF90 RHPC=00000E05 QUAL=0001 RSV1=00 BEFORE ESTABLISH EXIT ======================== AFTER ESTABLISH EXIT ======================== FRBP=000144F8 RAL=00000000 RALE=0001 FVLE=000B PARM=000058F8 PCNT=0001 RC1=0000 RC2=00000000 FBACK=008DBF90 RHPC=00000E05 QUAL=0001 RSV1=00 LEAVE DSNACA00 CABFLAG1=CF CABFLAG2=00 CABPTR=00014360 ENTERED DSNACA00 ACTION=OPEN R1=000082A0 CABPTR=00014360 CABFLAG1=CF CABFLAG2=00 CANNOT HAVE 2 SSIDS (AAAA AND BBBB) FROM 1 TCB OPEN REQUEST SSID=BBBB PLAN=PLANNAME LEAVE DSNACA00 CABFLAG1=CF CABFLAG2=00 CABPTR=00014360

Figure 89. Sample call attachment facility trace stream

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

243

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Each of the four wall messages shown is either preceded by or followed by a dump of the FRB (this is dummy data). Further, message DSNA208E shows that the user committed an error: the user specified two different SSIDs on the CONNECT and OPEN calls. CAF user error messages begin with DSNA2... . If a DB2 abend occurred during establish exit, then no trace messages appear after the second BEFORE message (DSNA810I ... BEFORE ESTABLISH EXIT =========).

IMS attachment facility traces and IMS log record


The information in this section helps to determine whether a problem is in the application program, IMS, the IMS attachment facility, or DB2. The IMS attachment facility maintains two trace tables in storage. For many problems involving the IMS attachment facility, these two tables can be found in: v An IMS attachment facility 5501 log record, or v The WAL or WAU control blocks in a dump

IMS log entries


The IMS log contains entries (with an identifier of 5501FF) that are written by the IMS attachment facility whenever one of these unexpected error situations occurs: Request is denied because of prohibited circumstance. Request is denied because of an invalid sequence of requests. Request is denied because of a parameter error. When these records are written to the IMS log, they contain connection information and a 20-entry wraparound trace table called WALTAREA. (This same trace area is also in the WAL and WAU explained in Locating the IMS attachment facility trace tables in a dump on page 249.) The connection information in each of these records includes: Time and date stamp IMSID DB2 subsystem ID PST number PSB name Application program name scheduled Plan name Authorization ID Recovery token Call type Region information. The IMS log also contains entries (with identifiers of 5501FE) that the IMS attachment facility writes whenever a unit of recovery is processed during resolve indoubt processing. Each of these records includes: A time and date stamp DB2 subsystem ID FRB return code FRB reason code Recovery token status Recovery token Resource name Correlation token.

244

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

IMS attachment facility X5501FF00 log record


The IMS attachment facility writes the X5501FF00 log record when unexpected error conditions occur between DB2 and the IMS attachment facility. The format of the X5501FF00 log record is shown in Figure 90.

**** LOC 000 000 002 004 008 00C 010 010 018 01C 01C 020 028 030 038 040 044 044 044 048 04C 04C 050 054 058 058 059 05A 05B 05C 060 2E0 2E2 2E4 ****

SNAP LOG RECORD X5501FF00 START NAME SIZE DESCRIPTION WALSFF IMS LOG RECORD - 5501FF FOR DB2 WALSFFLN FIXED(16) LENGTH OF THE RECORD WALSFFZZ FIXED(16) RESERVED WALSFFID FIXED(32) RECORD CODE X5501FF00 WALSFFDT CHAR(4) DATE WALSFFTM CHAR(4) TIME WALIMSCN CONNECTION NAME TO DB2 WALIMSID CHAR(8) IMSID OR VTAM ID (CONNECTION NAME) WALSSID CHAR(4) DB2 SUBSYSTEM ID WALDISP CORRELATION ID WALPSTD CHAR(4) PST DISPLAY TOKEN WALPSBN CHAR(8) PSB EBCDIC VALUE WALAPN CHAR(8) APPLICATION PROGRAM NAME WALRESN CHAR(8) RESOURCE NAME (PLAN) WALAID CHAR(8) AUTHORIZATION ID WALWF FIXED(32) CREATE THREAD WEIGHT WALRCT RECOVERY TOKEN FOR ATTACH. WALNID1 NETWORK ID-VTAM NODE NAME OR BATCH CONNECTION NAME WAL1SI CHAR(4) OR IMS SUBSYSTEM ID WAL1SN CHAR(4) IMS SUBSYSTEM ID CONTINUED WALNID2 NETWORK ID - UNIQUE NUMBER EITHER IMS OR BATCH SUPPLIED WALNID2A FIXED(32) IMS SCHEDULE NUMBER (ONLINE) WALNID2B FIXED(32) IMS COUNTERS (ONLINE) WALCTYPE CHAR(4) CALL TYPE INDICATOR WALSCHF SCHEDULING FLAGS WALRECF CHAR(1) U=UPDATES, N=NO UPDATES WALMODF CHAR(1) MODE S=SINGLE,M=MULTIPLE. WALREGT BIT(8) REGION TYPE WALREGO CHAR(1) DEFAULT REGION SSM VALUE WALTEYE CHAR(4) EYE CATCHER ID OF TRC7 WALTAREA CHAR(640) TRACE AREA * FIXED(15) RESERVED WALERL FIXED(15) ERROR LENGTH WALERN * ERROR VALUE - CREATE THREAD SNAP LOG RECORD X5501FF00 END

Figure 90. Format of X5501FF00 log record

The format and content of each trace record in the WALTAREA trace is described in Contents of the IMS attachment facility trace table on page 247.

IMS attachment facility X5501FE00 log record


The IMS attachment facility writes the X5501FE00 log record any time resolve indoubt processing occurs between DB2 and the IMS attachment facility. The format of the X5501FE00 log record is shown in Figure 91 on page 246.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

245

DO NOT COPY
**** LOC 000 000 002 004 008 00C 010 014 016

Restricted Materials of IBM Licensed Materials Property of IBM

SNAP LOG RECORD X5501FE00 BEGINNING NAME SIZE DESCRIPTION WALSFE INDOUBT SNAP LOG RECORD WALSFELN FIXED(16) LENGTH OF THE RECORD WALSFEZZ FIXED(16) RESERVED WALSFEID FIXED(32) ID X5501FE00 WALSFEDT FIXED(32) INDICATES DATE. WALSFETM FIXED(32) INDICATES TIME. WALSFESI CHAR(4) DB2 SUBSYSTEM NAME WALSFER1 CHAR(2) RETURN CODE FROM DB2 WALSFECT FIXED(15) COUNTS INDOUBT PROCESSED. A COUNT OF THE NUMBER OF TIMES RESOLVE INDOUBT PROCESS HAS BEEN CALLED WITH L (LAST) SPECIFIED. ALSO USED AS A FLAG VALUE TO DETERMINE THE FIRST TIME VS THE OTHER 018 WALSFER2 CHAR(4) REASON CODE FROM DB2 01C WALRIP CHAR RESOLVE INDOUBT PARM AREA 01C RIURRQST CHAR(4) RECOVERY RESOLUTION REQUEST SHOW - REQUEST UR INFO IDBT - STORED ON GOOD SHOW COMM - REQUEST UR COMMIT ABRT - REQUEST UR ABEND - ANYTHING ELSE - ERROR 020 RIURCRID CHAR(12) THREAD LEVEL CORRELATION_ID PROVIDED AS FEEDBACK ON SHOW 02C RIURNID CHAR(16) UR LEVEL NETWORK_ID PROVIDED AS FEEDBACK ON SHOW AND USED TO IDENTIFY URS ON COMM/ABRT 02C RIURNIDC CHAR(8) 034 RIURNIDB BIT(64) 03C RIURRESN CHAR(8) RESOURCE NAME PROVIDED AS FEEDBACK ON SHOW 044 RIURTOKN BIN(16) TOKEN FOR SHOW-NEXT-NID 046 RIURICNT BIN(16) NUMBER OF INDOUBTS FOR CONNECTION 048 RIURCONN CHAR(8) CONNECTION NAME PROVIDED AS FEEDBACK ON SHOW AND USED TO IDENTITY URS ON COMM/ABRT ***** SNAP LOG RECORD X5501FE00 END Figure 91. Format of X5501FE00 log record

IMS attachment facility trace diagnosis guidelines


1. To determine if the problem occurred in the application program, see if the address in the PSW at the time of error falls within the address range of the application program. 2. Try to determine the cause of failure by reviewing abend completion code at the beginning of the dump.

246

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

3. 4. 5.

6.

v If the abend completion code indicates a user abend, then try to find an explanation for that user abend completion code in the IMS messages and codes publication. v If the abend completion code is a system X04E or X04F, locate the DB2 abend reason code value in register 15 and look up the reason code value in DB2 Codes. Locate the application programs last (most recent) save area. Determine the last event the application program performed before the failure. If the last event was a SQL call, locate the highest sequence number in the IMS attachment facility trace table. (The entry with the highest sequence number is the most recent.) Look at the WALTAREA trace area first to find the connection status. Analyze that entry to see at what control status point the call is, by using the information in Table 33 on page 249.

7. If the trace entry is complete (control status points A and E are nonblank), then analyze the WAU trace. 8. Looking at these trace tables should help in identifying where the problem occurred (that is, if it occurred in DB2, in the IMS attachment facility, or in IMS), and it should help identify the events that were occurring at the time of the failure (for example, a trace identifier of TRMT indicates that a thread has been terminated). 9. The DB2-DL/I batch support is packaged as part of the DB2 IMS attachment facility. Follow the procedures in Chapter 5, Type-of-failure keywords, on page 117 when reporting problems with the DB2-DL/I batch support. Abends produced by the DB2-DL/I batch support are either SYSABEND or SYSUDUMP dumps. A SYS1.LOGREC entry is normally not produced.

Contents of the IMS attachment facility trace table


When an application program makes a call to DB2 (via an SQL request), resources can be allocated (plan ID) and the call can be processed. The IMS attachment facility traces events, called control status points, such as resources being allocated, in the WALTAREA; the normal application call path is traced in the WAU trace table. The following sections describe the format and contents of individual trace entries and indicate when individual fields within a trace entry are updated. Sequence of IMS Trace Activities: This process is outlined below. The control status points are keys into Table 32 on page 248. v Control status point A: When IMS invokes the IMS attachment facility, the 32-byte trace entry is blanked out and replaced by an exit ID and unique ascending sequence number. v Control status point B: Just before the IMS attachment facility calls DB2, the call function fields are updated. v Control status point C: When DB2 returns control to the IMS attachment facility, the status fields are updated. v Control status point D: If the attachment facility calls one or more subroutines, the subroutine information is traced after the subroutine completes. v Control status point E: The return code is updated when the IMS attachment facility returns control to IMS.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

247

DO NOT COPY
Table 32. Format of IMS attachment facility trace entry Value and length Filled in at CSP Length in bytes Sequence Trace ID number A 4 A 2

Restricted Materials of IBM Licensed Materials Property of IBM

Call Call function Status B 6 C 6

Subroutines D 12

RC E 2

Notes to Table 32: The control status points (CSP) of A, B, C, D, and E are defined as follows: Trace identification, sequence number at CSP A: Each entry in the trace table begins with an eye-catcher to help identify the various trace identification field values in the trace table. Trace identification: v For the WAL trace, the trace identification field can be set to these events: ABRT Abort continue (rollback) a unit of recovery. CMD0 Process a DB2 command. COMC Commit continue (phase 2) a unit of recovery. CTHD Create a thread to DB2. ECHO Determine if DB2 is operational. ID00 INIT PREP RI00 Identify IMS to DB2. Initialize the IMS attachment facility work areas. Prepare to commit (phase 1) a unit of recovery. Resolve indoubt work units between IMS and DB2.

SIGN Sign on a new user to DB2. SOFF Sign off a user to DB2.

SUBT Handle subsystem termination of DB2 or IMS. TRMI Terminate the identify to DB2. TRMT Terminate the thread between DB2 and IMS. v For the WAU trace, the trace identification field can be set to these events: NORC Normal call to process a SQL request. SNO0 System not operational to handle exceptional conditions. Sequence number: The sequence number following the trace identifier reflects the order in which the trace entry was recorded in relation to the other trace entries. This sequence number can then be used to determine the correct sequence of events when the trace table wraps.

248

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Call function at CSP B: indicates that a request to DB2 has been made. This code is used internally; note only whether the value is blank or nonblank. Call status at CSP C: indicates that the request to DB2 has been completed and that control has returned to the IMS attachment facility. This DB2 return code and reason code is returned to the IMS Attach from DB2 for upon completion of the event. Subroutine at CSP D: called identification (traced after call to routine). This information is generally not applicable to diagnosing problems. Return code at CSP E: is the IMS attachment facility return code from the exit. The character string TRCx precedes the first trace entry in each of the trace tables (WAL and WAU). Refer to Table 33 for information about the combinations of field values in a trace entry and about what these might indicate.
Table 33. IMS attachment facility trace control status points Control Status Points A n n n n B b n n n/a C b b n n/a D n/a n/a n/a n/a E b b b n Remarks The call has entered the IMS attachment facility. The call is in DB2. The call has returned from DB2 and is in the IMS attachment facility or in a subroutine. v The call has returned to IMS, v The call is in IMS and never made it to the IMS attachment facility, or v The entry is a residual trace entry.

Notes to Table 33: v n represents nonblank fields v b represents blank fields (that is, X40) v n/a indicates this field contains information that is not applicable

Locating the IMS attachment facility trace tables in a dump


The WAL and DSNMWAU load modules belong to the region controller task. To be certain these trace tables are included in the dump, stop the region with a dump. The formats for the WAL and the DSNMWAU trace tables are the same except for two ID fields. The DSNMWAU data is primarily about applications. The format of the information in the WAL load module includes connection information, the 20-entry trace table (WALTAREA), and a work area used when problems occur due to unavailable resources. For details, see Table 32 on page 248. The trace table is always active. The IMS attachment facility load modules containing these trace areas are: WAL The trace table in the IMS control region and in the IMS dependent region that indicates the control status of the connection between IMS and DB2.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

249

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DSNMWAU The trace table exists in the dependent region that indicates the application call status. To find these trace tables in a dump, refer to Table 33 on page 249 and Figure 93 on page 251 and follow the steps below: 1. Locate the CDE for the IMS message region involved in the problem. 2. Find the names WAL and DSNMWAU in the list of load modules and the WAL and DSNMWAU addresses.

IMS attachment facility messages


When the attachment between DB2 and IMS is executed in an IMS online environment, the attach messages are issued to the master terminal operator and diagnostic information is issued to the IMS log. In the batch environment, the DB2 IMS attach messages and IMS attach diagnostic information are issued to the DDOTV02 output data set.

IMS attachment facility message format


The IMS attachment facility writes messages when the attach package connects to or disconnects from DB2, and when any resolve indoubt problems occur. The format of the attach messages is shown in the following figure.
LOC 000 002 004 NAME SIZE FIXED(15) FIXED(15) CHAR(*) DESCRIPTION LENGTH OF THE RECORD RESERVED ACTUAL MESSAGE TEXT

Figure 92. IMS attachment facility message format

When abends occur


Abends can occur during DB2 command request processing or during DB2 non-command-related requests.

Abends during DB2 command request processing


An attachment facility CSECT in the IMS control region establishes an ESTAE routine when it processes a DB2 command request. If an abend occurs during the processing request, the ESTAE routine writes an entry to the SYS1.LOGREC data set. This entry includes information in all of the standard fields of a SYS1.LOGREC entry (described in the z/OS diagnostic techniques publication In addition, information is recorded in the variable recording area (VRA), which includes: v DB2 abend reason code from the IMS attachment facility v Active trace entry of the IMS attachment facility v The command module autodata area.

Abends during DB2 non-command-related requests


If an abend occurs when DB2 is not processing command requests, the IMS attachment facility does not establish a recovery environment; therefore, any abends that occur are handled by IMS.

250

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


CDE 676F78 NCDE 00000000 RBP 00676AD0 676070 NCDE 006760A0 RBP 0069C980 676F58 NCDE 00676070 RBP 00676920 676F58 NCDE 00676070 RBP 00676920 6768A0 NCDE 00676030 RBP 00676818 FD7880 NCDE 00FD7730 RBP 00000000 66F860 NCDE 006763F8 RBP 00000000 6763F8 NCDE 0066FE10 RBP 00000000 66FE10 NCDE 0066F720 RBP 00000000 66F720 NCDE 0066F760 RBP 00000000 66F760 NCDE 0066F7A0 RBP 00000000 66F7A0 NCDE 0066F7D0 RBP 00000000 66F7D0 NCDE 00676228 RBP 00000000 676228 NCDE 00676278 RBP 00000000 676278 NCDE 006762B8 RBP 00000000 6762B8 NCDE 006762F8 RBP 00000000 6762F8 NCDE 00676338 RBP 00000000 676338 NCDE 00676378 RBP 00000000 676378 NCDE 006763A8 RBP 00000000 6763A8 NCDE 006768A0 RBP 00000000 FD7730 NCDE 00FD7760 RBP 00000000 676030 NCDE 00676F58 RBP 00000000 6760A0 NCDE 0069C3A0 RBP 00000000 69C3A0 NCDE 006760E0 RBP 00000000 6760E0 NCDE 00676120 RBP 00000000 676120 NCDE 0069C000 RBP 00000000 69C000 NCDE 0069C040 RBP 00000000 69C040 NCDE 0069C0C0 RBP 00000000 69C0C0 NCDE 0069C090 RBP 00000000 69C090 NCDE 0069C160 RBP 00000000 69C360 NCDE 00676FC0 RBP 00000000 676FC0 NCDE 0069C690 RBP 00000000 69C690 NCDE 0069C940 RBP 00000000 69C940 NCDE 00676F78 RBP 00000000 LPA/JPA MODULE WAL 66C500 000205C0 E6C1D340 0066C298 00670318 66C520 000F6C10 03480000 5501FF00 00000000 66C540 F0F0F0F1 C4C6D2C6 F0F0F0F6 C6C1C6C9 66C560 F0F0F0F6 00000004 E2E8E2F3 40404040 66C580 E3D9C3F7 C9D5C9E3 00014040 40404040 66C5A0 40400000 C9C4F0F0 00020001 00020001 66C5C0 40400000 E2C9C7D5 00030001 00030001 66C5E0 40400000 C3E3C8C4 00040001 00040001 66C600 40400000 00000000 00000000 00000000 66C620 00000000 00000000 00000000 00000000 LINES 66C640-66C840 SAME AS ABOVE 66C860 00000000 00000000 00000000 C6D9C2F7 66C880 00000000 00000000 00000805 00010000 66C8A0 00000000 00000000 00000000 00000000 66C8C0 00000000 00000000 00000000 00000000 66C8E0 0066C604 0066C7E4 00000004 00500000 66C900 00000000 00000000 00000000 00000000 LINE 66C920 SAME AS ABOVE 66C940 00000000 00000000 00000000 C3000000 66C960 00000000 00000000 00000000 00000000 LINE 66C980 SAME AS ABOVE 66C9A0 00000000 00000000 E2C1E2F7 00000000 66C9C0 00670318 00000001 0066C9F8 0066C564 66C9E0 00A15A74 0067538C 00A15050 0066D857 66CA00 0066CA18 0066C540 0066D857 0066C808 66CA20 00000000 00000000 00000000 00000000 NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM NM

DO NOT COPY
DFSRRC00 DFSRRC40 DFSPCC20 DFSPCC20 FAFI5022 IGG019DK DFSFSWA0 DSNMAPNX DSNMWAU DSNMBSRH DSNMERRO DSN31D00 DSNAPRH WAL DSNMSBO0 DSNMDR10 DSNMDR00 DSNMID00 DSNMINIT DFSEEVT IGG019DJ DFSECP20 DIRCA001 DIRCL001 WALESSTR EVTPSSTR WALEDSN EVTPDSN DFSSRB DFSLESE ESIESDCB DFDDPD10 DFSVC000 DFSPRPX0 EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA EPA 000F5E78 000F95B6 000F50F0 000F50F0 000FED16 00F88000 000F6390 00A4AE68 000F6C10 00670100 0066BD30 0066C298 00670318 0066C5000 0066CB80 0066D280 0066D938 0066E108 0066EAF8 00679048 00B28118 000F90C8 000F9748 00674000 00675310 00679190 00675988 00679928 000F8D80 00679839 006798A8 00679968 000F6869 000F6898 00000000 40404040 F5F0F2F2 E2D8D340 40404040 40404040 40404040 00044040 00000000 00000000 0066C9FC 00000000 00000000 0000001C 00000000 00000000 XL/MJ 006AC918 XL/MJ 00676060 XL/MJ 0069C6C0 XL/MJ 0069C6C0 XL/MJ 00676000 XL/MJ 00FD78A0 XL/MJ 006768C0 XL/MJ 006763E8 XL/MJ 0066FE30 XL/MJ 0066F710 XL/MJ 0066F750 XL/MJ 0066F790 XL/MJ 00676208 XL/MJ 00676248 XL/MJ 00676268 XL/MJ 006762A8 XL/MJ 006762E8 XL/MJ 00676328 XL/MJ 00676368 XL/MJ 006763C8 XL/MJ 00FD7750 XL/MJ 00676020 XL/MJ 006760C0 XL/MJ 0069C070 XL/MJ 00676100 XL/MJ 00676140 XL/MJ 0069C020 XL/MJ 0069C060 XL/MJ 00676FA0 XL/MJ 0069C0B0 XL/MJ 0069C380 XL/MJ 00676FE0 XL/MJ 0069C680 XL/MJ 0069C930 USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE USE 000100FB 000200FB 000200FB 000200FB 000100EB 00010000 000100FB 000100F1 000100FB 000100E6 000100E6 000100E6 000100E6 000100E6 000100E6 000100E6 000100E6 000100E6 000100E6 000100E6 00030000 000100FB 000100FB 000100E6 000100E6 000100E6 000100E6 000100E6 000100FC 000100E6 000100E6 000100E6 000100FB 000100FB ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR ATTR 3B20000 3B20000 3B20000 3B20000 0B20000 B022000 0320000 03A2000 0222000 31A2000 31A2000 39A2000 31A2000 02A2000 31A2000 31A2000 31A2000 31A2000 31A2000 02A2000 B022000 3320000 0222000 02A2000 02A2000 02A2000 02A2000 02A2000 3122000 02A2000 02A2000 02A2000 0320000 1320000

00000000 00000000 F5F0F2F2 0000000C 40404040 00000000 00000000 00000000 00000000 00000000 C6D9C240 00000000 00000000 00000000 5501FE00 00000000

0066BD30 E2E8E2F3 C6C1C6C9 00000001 40404040 00004040 00004040 0000C2C8 00000000 00000000 00010004 00000000 00000000 00000000 00000000 00000000

00670100 E2E2E3D9 C4C6D2C6 E4D404D9 40404040 40404040 40404040 40404040 00000000 00000000 00060000 00000000 00000000 0066C584 E2E2E3D9 00000000

*....WAL ..B.....................* *....................SYS3 SSTR* *0001DFKF0006FAFI5022FAFI5022DFKF* *0006....SYS3 ........SQL UM.R* *TRC7INIT.. * * ..ID00.............. * * ..SIGN.............. * * ..CTHD..............BH.. * * ..............................* *................................* *............FRB7FRB ......I.....* *................................* *................................* *..............................E.* *..F...GU....................SSTR* *................................* *............C...................* *................................* *........SAS7..................M.* *..........18..E...E...H.........* *..............Q...18 .K...H...E.* *......E ..Q...H...E.....YES0 001* *................................*

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0066C500 0066C9F8 8066C564 00000000 006758BC 0066CB70 4066D292 0000001C 00000000 00000000 00679190 0066C870 E8C5E2F0 00000000 5066D42C 00A15A58 0066C554 40FOFOF1 00000000

Figure 93. Sample IMS attachment facility trace

Resource Recovery Services attachment facility traces


The Resource Recovery Services attachment facility (RRSAF), which enables users to connect to DB2 using Resource Recovery Services (RRS), provides diagnostic trace messages intended primarily for use by IBM service personnel. If the RRSAF trace is started, messages are included in the RRSAFs trace table in SYSABEND or SYSUDUMP dumps.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

251

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The following pages describe the RRSAF trace stream and provide an example of it.

Starting the RRSAF trace


To start the RRSAF trace, allocate a data set with DD name DSNRRSAF before you start an RRSAF application. For example, if you use a batch job to start an application, include a DD statement like this:
//DSNRRSAF DD DUMMY

After you start the trace, you cannot turn it off. Because the trace can degrade performance, you should start it only when you need to diagnose a problem.

Finding the trace table


SYSABEND or SYSUDUMP dumps of the application address space include a wrap-around trace table with a maximum of 20 trace messages. To find this trace table, perform the following steps: 1. Search the dump for the eye-catcher RRB. 2. Look past this eye-catcher for the characters RRSAF TRACE>>>>. Examine the eight bytes that immediately precede those characters. The first four bytes contain the number of entries in the trace table. The second four bytes contain the index of the last entry written.

Interpreting trace messages


Each entry in the trace table has the format shown in Table 34.
Table 34. Description of an RRSAF trace record Bytes 1-4 Contents of Field Abbreviation for the RRSAF function performed: v SQL - SQL operation v IFCA - IFC API call v IFCX - IFC Translate call v IDEN - IDENTIFY v CTHD - CREATE THREAD v TTHD - TERMINATE THREAD v TIDY - TERMINATE IDENTIFY v SIGN - SIGNON v ASIN - AUTH SIGNON v XLAT - TRANSLATE v S_ID - SPAS_ID v S_IN - SPAS_INIT_SP v S_TM - SPAS_TERM_SP v S_SV - SPAS_SERV_SP v S_DS - SPAS_DISC v ASSO - ASSOCIATE THREAD v DSSO - DISSOCIATE THREAD If the function is SQL , the SQLCODE. Otherwise, the RRSAF return code. RRSAF reason code. Value of flag RRBFLAG1 after function completes Value of flag RRBFLAG1 before function starts Value of flag RRBFLAG2 after function completes

5-8 9-12 13 14 15

252

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 34. Description of an RRSAF trace record (continued) Bytes 16 Contents of Field Value of flag RRBFLAG2 before function starts

All functions that begin with SPAS are functions that DB2 performs for stored procedures running in a WLM-established address space. RRSAF writes one entry before it executes a function and another entry after it executes the function. After the before entry is written, control passes from RRSAF to DB2. After the after entry is written, control has returned from DB2. If an abend occurs just after a before message is written, the problem is probably in DB2. Otherwise, the problem is probably in RRSAF or the application. Figure 94 shows an example of RRSAF trace output in a dump.
1 0000000D 6 00000000 00000000 00000000 00000000 00000000 00000000 2 0000000C 7 CB000100 EFCF0101 FFFF0101 FFFF0101 FFFF0101 FFFF0101 3 D9D9E2C1 E2C9C7D5 E2D8D340 E2D8D340 E2D8D340 E2D8D340 E2D8D340

43301D20 43301BB0 43300CAE 43301BB8 00000000 4 43301D40 C640E3D9 C1C3C540 6E6E6E6E C9C4C5D5 43301D60 00000000 00000000 CFCB0101 C3E3C8C4 43301D80 00000000 00000000 FFFF0101 E2D8D340 43301DA0 00000000 00000000 FFFF0101 E2D8D340 43301DC0 00000000 00000000 FFFF0101 E2D8D340 43301DE0 00000000 00000000 FFFF0101 E2D8D340 8 43301E00 00000000 00000000 FFFF0101 E2D8D340

C3300C08 5 00000000 00000000 00000000 00000000 00000000 00000000

*................C...........RRSA* *F TRACE >>>>IDEN............SIGN* *............CTHD............SQL * *............SQL ............SQL * *............SQL ............SQL * *............SQL ............SQL * *............SQL ............SQL * *............SQL ................*

00000000 00000000 FFFF0101 00000000

Figure 94. Sample RRSAF trace stream Figure Label 1 2 3 4 5 6 7 8 Description Number of entries in the trace table Index of the last entry in the trace table Eye-catcher RRSAF TRACE >>>> Beginning of the first trace record, which records an RRSAF IDENTIFY function Return code for the IDENTIFY function Reason code for the IDENTIFY function RRSAF flags Beginning of the last trace record, which records an SQL statement

TSO attachment facility traces


The TSO attachment facility provides three tracing mechanisms, as described in: DSN trace stream on page 254, below. CLIST trace on page 256. SPUFI trace stream on page 257. Two other diagnostic aids, SPUFI diagnostic panels and the ABEND subcommand of the DSN command processor, are described in TSO attachment facility diagnostic aids on page 279. These tools are helpful for gathering pertinent information about the processing that occurs in the TSO attachment facility; much of that information is helpful to an IBM support center in resolving problems that occur.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

253

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The DB2 TSO attachment facility tracing maintenance system is intended for use either by IBM personnel or by a customer working with an IBM support center.

DSN trace stream


The DSN trace stream consists of trace messages; each represents a specific function that has been or is about to be performed. View these messages on the screen or specify that they be collected in a data set, or both. These messages are especially valuable in diagnosing possible WAITs and LOOPs. WAIT/LOOP keywords on page 124 provides procedures for using the DSN trace stream to determine whether a WAIT or LOOP has occurred in DB2, in the DSN command processor, or in an application program.

Activating the DSN trace stream


The DSN trace stream can be activated through explicit DSN commands or through DB2I. The following paragraphs describe both methods. To activate the DSN trace stream through explicit DSN commands, perform the following steps: 1. Start the DSN session with the TEST parameter, on the DSN command, set to a number that is greater than 100. Entering a number greater than 100 results in the tracing of all the CSECTs. Use the following command:
DSN SYSTEM(subsystem_name) TEST(255)

where subsystem_name is the site-defined name of the subsystem. A DSN session begins when DSN is entered from the TSO environment. To turn on the DSN trace stream during a DSN session, re-enter the DSN subcommand shown above within the current DSN session. 2. When the DSN trace is activated, all trace messages are routed through the TSO message issuer routine (IKJEFF02) to the TSO SYSTSPRT DD statement. Optionally, the DSN trace information can be duplicated by allocating a separate data set with a DD name of DSNTRACE. The DSNTRACE data set can then be used to maintain a separate log for offline reference and diagnosis that contains only the trace messages produced by the DSN command. The DSNTRACE data set should be allocated prior to DSN invocation as a sequential data set, with RECFM=F, and LRECL=132. 3. Refer to the notes about the DSN trace stream for additional information. To 1. 2. 3. activate the DSN trace stream through DB2I, perform the following steps: Invoke the DB2I primary menu (DSNEPRI). Select OPTION 0, which is not shown on the menu. Press ENTER to pass the panel that introduces the DB2 TSO MAINTENANCE SYSTEM. The next panel provides choices between several TSO attachment facility tracing mechanisms.

4. Enter a value greater than 100 in the TRACE DSN field. Press ENTER to return to the DB2I primary menu. 5. Run the application, and the DSN trace messages display. Notes about the DSN trace stream

254

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Review the DSN trace messages that appear on the terminal or in the data set that has collected the trace stream. The text contained in these DSN trace messages often provides clues about the problem. TSO attachment facility trace messages on page 791 lists the DSN trace messages. For diagnosing problems, special messages clearly show control passing from DSN to DB2 and back. They can help to determine whether a problem is in DB2, DSN, or an application program. Specifically, the trace messages that contain a line of equal signs indicate when control is being passed between the application and DB2. The series of equal signs can be thought of as a wall between DSN and DB2 that indicates in which area a given trace event occurs. Each of these trace messages begins with one of the following lines:
BEFORE some event ============= AFTER that event =============

Whenever a BEFORE message is displayed, this indicates that control has been passed to DB2. Whenever an AFTER message is displayed, this indicates that control has returned to the application program. See Figure 95 on page 256 for an example of these trace messages.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

255

DO NOT COPY
DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNET20I DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP13 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNECP28 DSNETRAP DSNETRAP DSNETRAP DSNETRAP DSNETRAP DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18 DSNECP18

Restricted Materials of IBM Licensed Materials Property of IBM

CIBCORID :H443722 X00000000 X00000000 ZINDOUBT :NO X00000000 X00000000 BEFORE CREATE THREAD DB2 CALL======R6,CIBRFRB X00187840 X00187DA0 AFTER CREATE THREAD DB2 CALL======R6,CIBRFRB X00187840 X00187DA0 FOLLOWING ARE FRB FIELD CONTENTS, CIBCTFRM= X00187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) X00000000 X00010004 FRBPARM(PTR), FRBPCNT(BIN15) X00000000 X00000000 FRBRC1(BIN15), FRBRC2(CHAR4) X00000000 X00000000 FRBFBACK PRT(31), FRBRHPC X00000000 X00000000 FRBQUAL(BIN15), FRBRSV1(BIN15) X00000001 X00000000 CIBPLNID :TSOAP1 X00000000 X00000000 ZINDOUBT :NO X00000000 X00000000 R6=, CIBCTRTN=X00187840 XE2E8D5C3 EXIT DSNECP13 X00000000 X00187DA0 AFTER DSNECP13, CIBCTRTN=,CIBCTFRB= XE2E8D5C3 X00187DA0 HERE COMES THE FRB <<<<<<<<<<<<<<< CIBRFRB= X80187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) X00000000 X00030001 FRBPARM(PTR), FRBPCNT(BIN15) X001AB1E0 X000000000 FRBRC1(BIN15), FRBRC2(CHAR4) X00000000 X00000000 FRBFBACK: X00000000 X00000000 FRBFBACK PTR(31),FRBRHPC X00000000 X00000000 840 X00187DA0 FRBQUAL(BIN15), FRBRSV1(BIN15) X00000001 X00000000 EXIT DSNECP28,CIBRFRB,CIBFRMLI X80187DA0 X00000000 BEFORE SQL CALL=======================FRB,R1== X80187DA0 X00187870 AFTER SQL CALL=====================RC1,FBACK== X00000000 X00000000 BEFORE SQL CALL=======================FRB,R1== X80187DA0 X00187870 AFTER SQL CALL=====================RC1,FBACK== X00000000 X00000000 AFTER LINK GOOD, R15=, R1= X00000000 X0018753C 40 X00187DA0 ENTER DSNECP18, CIBTRMOP= XE2E8D5C3 X00000000 CIBTRMOP NOT BLANK, CIBTRMOP= XE2E8D5C3 X00000000 FRB FIELDS FOLLOW (CIBFRB): X00187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) X00000000 X00010001 FRBPARM(PTR), FRBPCNT(BIN15) X001873A8 X00000000 FRBRC1(BIN15), FRBRC2(CHAR4) X00000000 X00000000 FRBFBACK(PTR), FRBRHPC(BIN32) X00000000 X00000000 FRBQUAL(BIN15), FRBRSV1(BIN15) X00000001 X00000000 BEFORE TERMINATE DB2 CALL===============TRMOP= XE2E8D5C3 X00000000 AFTER TERMINATE DB2 CALL====================== X00000000 X00000000 FRB FIELDS FOLLOW (CIBFRB): X00187DA0 X00000000 FRBRAL(PTR), FRBRALE(BIN15), FRBRVLE(BIN15) X00000000 X00010001

Figure 95. Sample TSO attachment facility DSN trace messages. Each pair of BEFORE SQL CALL and AFTER SQL CALL trace messages represents the processing of one SQL statement.

CLIST trace
The CLIST trace facility writes a stream of messages to the terminal while DB2I executes. To use this facility, familiarity with TSO CLISTs is recommended.

Activating the CLIST trace facility


1. Invoke the DB2I primary menu (DSNEPRI). 2. Select OPTION 0, which is not shown on the menu. 3. Press ENTER to pass by the panel that introduces the DB2 TSO MAINTENANCE SYSTEM. The next panel provides choices between several TSO attachment facility tracing mechanisms. 4. Specify SYMLIST on the TRACE CLISTS option. This traces the most events. 5. Run the application, and the CLIST trace messages display. Notes about the CLIST trace

256

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The options on the TRACE CLISTS line are the same as those that can be specified on the CLIST CONTROL statement. v Selecting LIST is equivalent to specifying CONTROL LIST; it traces TSO commands in the CLISTs. v Selecting CONLIST is equivalent to specifying CONTROL LIST CONLIST; it traces TSO commands in the CLISTs and each CLIST statement before variable substitution occurs. v Selecting SYMLIST is equivalent to specifying CONTROL LIST CONLIST SYMLIST; it traces TSO commands in the CLISTs, each CLIST statement before variable substitution occurs, and each CLIST statement after variable substitution occurs. If the CLIST tracing indicates a call to the DSN command processor that seems to have caused an error, then run the job again with DSN tracing set to a value greater than 100. Receiving messages from both the DSN and CLIST trace streams help the IBM support center resolve the problem. Trace messages must be viewed online; they cannot be sent to a data set.

SPUFI trace stream


The SPUFI trace stream consists of trace messages sent to the ISPF LOG. Also appearing in the ISPF LOG are messages from the ISPF trace facility.

Activating the SPUFI trace facility


1. Invoke the DB2I primary menu (DSNEPRI). 2. Select OPTION 0, which is not shown on the menu. 3. Press ENTER to pass by the panel that introduces the DB2 TSO MAINTENANCE SYSTEM. The next panel displays several TSO attachment facility tracing mechanisms. 4. Enter YES by the TRACE SPUFI option. The trace messages issued during the execution of SQL statements (in an input file) are written to the ISPF LOG. 5. Use the ISPF browse LOG option to review the SPUFI trace messages. For more information about the ISPF browse LOG option and other ISPF commands, refer to the z/OS ISPF program reference publication. 6. To save the LOG, specify the KEEP option on the ISPF panel displayed when the session is terminated. Notes about SPUFI trace messages The SPUFI trace messages provide a high-level view of the processing events. This list describes significant factors to be aware of while reviewing the ISPF LOG and the SPUFI trace messages it contains. See Figure 96 on page 259 for an example. v At the beginning of the ISPF LOG is the following message:
START OF ISPF LOG - - - - - SESSION # nnn --------

where nnn is the number of the session. v Each subsequent message relates to some significant aspect of the processing involved in that session. v The entries in the left column indicate the time (in minutes and seconds) that each corresponding trace message was issued.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

257

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v To the right of the time of the message is the message identifier itself; each SPUFI trace message begins with DSNE. (These trace messages are listed in TSO attachment facility trace messages on page 791.) v To the right of the message identifier for most of the SPUFI messages is the name of the CSECT that issued the trace message; the names of each of these CSECTs are in the format:
DSNESMxx

where xx are numbers between 0 and 99 that uniquely identify the CSECT. v The right column of the ISPF LOG describes what was happening when the message was issued. v If processing completes normally, the end of the ISPF LOG shows this final ISPF message:
END OF ISPF LOG - - - - - - SESSION # nnn --------

where nnn is the number of the session. v If an abend occurs during the session, the SPUFI trace messages are interrupted, and one or more TSO or ISPF error messages are printed at the bottom of the ISPF LOG. These error messages indicate the abend completion code and other pertinent information.

258

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM 16:13 16:13 16:13 16:13 16:13 16:13 16:13 16:13 16:13 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 16:14 DSNE454I DSNE420I DSNE445I DSNE446I DSNE447I DSNE449I DSNE454I DSNE454I DSNE420I DSNE445I DSNE446I DSNE447I DSNE449I DSNE454I DSNE599I DSNE812I DSNE812I DSNE581I DSNE404I DSNE820I DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM22 DSNESM22 DSNESM22 DSNESM22 DSNESM30 DSNESM68 DSNESM68 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30 DSNESM30

DO NOT COPY

- DSNE821I DSNE403I DSNE409I DSNE420I DSNE453I DSNE449I DSNE454I DSNE454I DSNE420I DSNE425I DSNE449I DSNE454I DSNE454I DSNE420I DSNE420I DSNE425I DSNE449I DSNE454I DSNE454I

LEAVE YSTUFBUF WITH RBUFU NOW = 64 LOOPTOP TYPE IS INTEGER OR SMALL INTEGER BEFORE CONVERSION AFTER CONVERSION NO TRUNCATION OCCURRED LEAVE YSTUFBUF WITH RBUFU NOW = 70 LEAVE YSTUFBUF WITH RBUFU NOW = 72 LOOPTOP TYPE IS INTEGER OR SMALL INTEGER BEFORE CONVERSION AFTER CONVERSION NO TRUNCATION OCCURRED LEAVE YSTUFBUF WITH RBUFU NOW = 80 - BEGIN EXECUTION ABOUT TO WRITE A LINE OF OUTPUT ABOUT TO WRITE A LINE OF OUTPUT - END EXECUTION 0 EXITED - BEGIN EXECUTION - SQL REQUEST = FETCH - END EXECUTION - SQLCODE = 00000000 ENTERED BEFORE MAIN LOOP LOOPTOP TYPE IS CHAR, VARCHAR, or LVARCHAR NO TRUNCATION OCCURRED LEAVE YSTUFBUF WITH RBUFU NOW = 8 LEAVE YSTUFBUF WITH RBUFU NOW = 20 LOOPTOP TYPE IS CHARACTER NO TRUNCATION OCCURRED LEAVE YSTUFBUF WITH RBUFU NOW = 28 LEAVE YSTUFBUF WITH RBUFU NOW = 30 LOOPTOP LOOPTOP TYPE IS CHARACTER NO TRUNCATION REQUIRED LEAVE YSTUFBUF WITH RBUFU NOW = 31 LEAVE YSTUFBUF WITH RBUFU NOW = 36

Figure 96. Sample TSO attachment facility SPUFI trace messages. SPUFI trace messages are written to the ISPF LOG.

IRLM - DB2 activity trace


IRLM uses the z/OS component trace (CTRACE) to trace the flow of activity between IRLM and DB2. IPCS CTRACE format, merge, and locate routines can be used to process buffer data, but the IPCS VERBX IRLM command provides more detailed output and is the preferred method. IRLM traces the following functions: SLM XCF XIT DBM INT EXP All calls to and from the system lock manager are traced. All calls to and from the cross system coupling facility are traced. Asynchronous interactions with the system lock manager are traced. All calls to and from the DBMs are traced. IRLM traces member and group status events. IRLM traces all exception events that occur during execution.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

259

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The XIT, EXP, and INT traces start automatically when you start the IRLM startup procedure. The TRACE=YES parameter of the IRLM startup procedure lets you capture trace data to wraparound buffers at IRLM startup time. When you specify TRACE=YES, IRLM starts all traces. You can use the z/OS TRACE CT command to start or stop specific traces and to specify whether the trace data wraps in the trace data sets. You cannot stop the EXP and INT traces using the TRACE CT command. This z/OS command requires that load module DXRRL183 be place in the linklib. IRLM traces are vital in resolving many of the problems in IRLM and DB2 that are related to lock requests. You should always activate these traces in a test or development environment. It is strongly recommended that you activate these traces in a production environment. To activate IRLM traces, specify TRACE=YES in the IRLM address space (IRLMPROC) startup procedure. The traces are written to internal wrap-around buffers. Initially, IRLM allows 10 64 KB buffers for each trace type. The buffer storage is taken from ECSA, and the buffers are allocated as needed. You can change the number of buffers for each trace type using a command of this form:
MODIFY irlmproc,SET,TRACE=nnn

Refer to DB2 Command Reference for the syntax of the MODIFY, START irlmproc, and TRACE CT commands.

Formatting the IRLM trace


Formatting the IRLM internal CTRACE entries is best accomplished with the IRLM dump formatter, using one of the following syntaxes: v verbx IRLM SU=nnnn, TR=xxx v IRLM SU=nnnn, TR=xxx, TY=DE where nnnn = irlmnm, and xxx = trace type (SLM, XCF, XIT, DBM, INT, or EXP) IRLM trace buffers can be formatted using IPCS. The IRLM trace formatting load module DXRRL184 and the buffer find routine load module DXRRL186 must be available to use IPCS. The following IPCS subcommands can be used to format IRLM trace buffers: SETD DA(dataset name) Set the trace dataset to the default. CTRACE QUERY Query the trace components and their associated subtraces that are identified to CTRACE. CTRACE COMP(irlm) SUB((sub))zzz Format the trace buffers where irlm is the IRLM subsystem name for the CTRACE component and sub is one of the IRLM subtraces (SLM, XCF, DBM, INT, EXP, XIT). zzz should be short or full depending on how much data is formatted. Short is the default.

260

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

CTRACE content
The IPCS VERBX IRLM command displays an IRLM DUMP format of the CTRACEs. 1. For single 132 character line output, use the following command:
VERBX IRLM SU=nnnn,TR=DBM

032A 100-01: START A REQUEST 07D3D6C3D2F0F1

0204 00 0000 B46F40E681462606 TKN: 0586D0C4

Figure 97. VERBX 132 character line output

2. For DETAIL output, in addition to the 132 character summary line output, use the following command:
VERBX IRLM SU=nnnn,TR=DBM,TY=DE

057B43AA +0048 +0058 +0068 +0078 +0088 +0098 +00A8 +00B8 +00C8 +00D8 +00E8 +00F8 057B447A

Trace Header +0000 010E0010 +0010 C4E7D9D9 +0020 D9E340C1 Element type = +0000 00000000 +0010 00000000 +0020 80BC9000 +0030 00000000 +0040 00000000 +0050 D2F0F100 +0060 00000000 +0070 00000000 +0080 02040000 +0090 00000000 +00A0 00000000 +00B0 00000000 +00C0 00000000 Element type = +0000 058D4994

00000002 D3F1F0F0 40D9C5D8 RLPL 00005A50 00000000 0581C048 001B0001 00000000 00000000 00000000 00000000 12000000 00000000 00000000 00000000 00000000 RLPL PT

B46F40E6 60F0F17A E4C5E2E3 Length = 00000000 00000000 001B0001 00000000 D3D6C3D2 00000000 00000000 0000A248 00000000 00000000 00000000 00000000

81462606 |.........? Wa... 40E2E3C1 |DXRRL100-01: STA 40404040 |RT A REQUEST 00C8 Address = 0583DA20 80000000 |......!&........ 00000000 |................ 058D4910 |.....a{......... 00000000 |................ 07D3D6C3 |........LOCK.LOC 00000000 |K01............. 80000000 |................ 00000000 |..........s..... 00000000 |................ 00000000 |................ 00000000 |................ 00000000 |................ |........| Length = 0004 Address = 0583D8C8 |...m|

Figure 98. VERBX DETAIL output

The CTRACE sample in Figure 100 on page 263 shows two types of traces for a lock request. The DBM is the request from the DBMS to IRLM. The SLM traces are the entries made when IRLM forwards those lock requests to the SLM.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

261

DO NOT COPY
032A 100-01: START A REQUEST 07D3D6C3D2F0F1 Trace Header +0000 010E0010 00000002 +0010 C4E7D9D9 D3F1F0F0 +0020 D9E340C1 40D9C5D8 Element type = RLPL 057B43AA +0000 00000000 00005A50 +0048 +0010 00000000 00000000 +0058 +0020 80BC9000 0581C048 +0068 +0030 00000000 001B0001 +0078 +0040 00000000 00000000 +0088 +0050 D2F0F100 00000000 +0098 +0060 00000000 00000000 +00A8 +0070 00000000 00000000 +00B8 +0080 02040000 12000000 +00C8 +0090 00000000 00000000 +00D8 +00A0 00000000 00000000 +00E8 +00B0 00000000 00000000 +00F8 +00C0 00000000 00000000 Element type = RLPL PT 057B447A +0000 058D4994 0204 00 0000 B46F40E681462606 TKN: 0586D0C4 B46F40E6 60F0F17A E4C5E2E3 Length = 00000000 00000000 001B0001 00000000 D3D6C3D2 00000000 00000000 0000A248 00000000 00000000 00000000 00000000 81462606 |.........? Wa... 40E2E3C1 |DXRRL100-01: STA 40404040 |RT A REQUEST 00C8 Address = 0583DA20 80000000 |......!&........ 00000000 |................ 058D4910 |.....a{......... 00000000 |................ 07D3D6C3 |........LOCK.LOC 00000000 |K01............. 80000000 |................ 00000000 |..........s..... 00000000 |................ 00000000 |................ 00000000 |................ 00000000 |................ |........| Length = 0004 Address = 0583D8C8 |...m|

Restricted Materials of IBM Licensed Materials Property of IBM

Figure 99. IRLM DUMP format of a CTRACE record

262

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

COMPONENT TRACE FULL FORMAT COMP(IRLE) SUBNAME((DBM)) **** 02/10/94 MNEMONIC ENTRY ID TIME STAMP DESCRIPTION -------- -------- --------------- ----------DBM 00000002 18:42:05.816178 RLPL format +0000 ID....... DXRRL100-01: START A REQUEST +0020 TLA1..... 000100C8 07166220 +0028 RLPL..... 00000000 06545768 00000000 80000000 00000000 +003C 00000000 006B12C8 008FBBC0 0090B000 00906048 +0050 00316545 06545060 00000000 00316545 06545060 +0064 00000000 00000000 00000000 0423AD20 09000058 +0078 C8806D01 D7000000 00000000 00000000 00000000 +008C 00000000 00000000 80000000 00000000 00000000 +00A0 006B12C8 008FBBC0 02060000 8A000000 00000000 +00B4 00000000 006B5BE4 00000000 00000000 00000000 +00C8 00000000 00000000 00000000 00000000 00000000 +00DC 00000000 00000000 00000000 00000000 00000000 DBM 00000002 18:42:05.816406 RLPL format +0000 ID....... DXRRL100-02: REQUEST COMPLETED +0020 TLA1..... 000100C8 07166220 +0028 RLPL..... 00000000 06545768 00000000 80000000 00000000 +003C 00000000 006B12C8 008FBBC0 0090B000 00906048 +0050 00316545 06545060 00000000 00316545 06545060 +0064 00000000 00000000 00000000 0423AD20 09000058 +0078 C8806D01 D7000000 00000000 00000000 00000000 +008C 00000000 00000000 80000000 00000003 00000000 +00A0 006B12C8 008FBBC0 02060000 8A000000 00000000 +00B4 00000000 006B5BE4 00000000 00000000 00000000 +00C8 00000000 00000000 00000000 0067027C A743B4E5 +00DC 09010080 00000000 00080000 00000000 00000000 COMPONENT TRACE FULL FORMAT COMP(IRLE) SUBNAME((SLM)) **** 02/10/94 MNEMONIC ENTRY ID TIME STAMP DESCRIPTION -------- -------- --------------- ----------SLM 00000010 18:42:05.816193 RNA, RTE and UDB format +0000 ID....... DXRRL120-01: IXLLOCK OBTAIN +0020 TLA1..... 00060020 00670238 +0028 RNA...... 09000058 C8806D01 D7000000 00000000 00000000 +003C 00000000 00000000 00000000 +0048 TLA2..... 000C0040 07166418 +0050 RTE...... 0423AD20 09000058 C8806D01 D7000000 00000000 +0064 00000000 00000000 00000000 00000000 00000008 +0078 C9D4E2C5 40404040 0423AD20 00000000 00000000 +008C 00000000 +0090 TLA3..... 000B0040 071663D8 +0098 UDB...... C9D4E2C5 40404040 00000000 00000000 00080000 +00AC 00000000 00000000 00000000 00000000 40000000 +00C0 08000000 00000000 A8D1A743 B4D7B281 A8D1A743 +00D4 B4D7B281 SLM 00000020 18:42:05.816397 RNA and reason code +0000 ID....... DXRRL120-03: IXLLOCK RETURN +0020 TLA1..... 00060020 00670238 +0028 RNA...... 09000058 C8806D01 D7000000 00000000 00000000 +003C 00000000 00000000 00000000 +0048 TLA2..... 00060004 0716637C +0050 REAS..... 00000000 Figure 100. Sample of a CTRACE record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

263

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Finding the locks that belong to an agent


To diagnose lock contention problems between agents within DB2, it may be necessary to find and analyze all locks for a particular agent. To find these locks, only the RLPL records are needed. To become oriented, find the lock request for the requests skeleton cursor table (CT) lock. The RLPL for this lock request contains the plan name in the resource name field. The resource name field begins at offset X48 from the beginning of the RLPL and consists of a four-byte hash field, followed by a one-byte length field, followed by the 31-byte resource name field that contains the plan name. Therefore, you should find the plan name at offset X4D from the beginning of the RLPL. To find this lock request, scan the RLPL records looking for the plan name. Within this lock request, the following items are used in finding the locks for a particular agent: 1. The two-byte work unit number (RLPWUN) at offset X2A. 2. The four-byte work unit ID address at offset X2C. This is the ACE or EB address. 3. The two-byte owning work unit number (RLPOWN) at offset X36. 4. The four-byte owning work unit address (RLPOWNID) at offset X38. This is an ACE address. For a given work number (RLPWUN) span and the work unit ID address in the owning work unit (RLPOWU) remains the same. For a given request, the work number, work unit ID address, and owning work unit address can change, depending on the overall processing involved for the request. Within a work number span, the last associated RLPL is an UNLOCK request to release all locks held. This RLPL can be identified by: v A four-byte token field (RLPLTOKN) at offset X44 of all zeros. v A 36-byte resource name field at offset X48 of all zeros. v A one-byte function field (RLPLFUNC) at offset X80 that contains X03, UNLOCK. v A one-byte duration field (RLPLDURA) duration field in byte X82 with a value equal to or higher than the duration of any prior lock requests. v A corresponding owning work unit address (RLPOWNID) at offset X38. After finding the RLPL for the plan request, find the work unit number and the owning work unit address. It might now be necessary to go backwards in the CTRACE to find the first occurrence of the work number/RLPOWU combination. If the preceding trace entries are to be ignored, then scan forward using the work number and RLPOWU. The last entry in the CTRACE for this combination should be an UNLOCK request to release all locks. Usually, entries follow this request, but they have a different work number/RLPOWU combination. Repeat the process for these combinations.

RLIPL (request identify parameter list)


Bytes 8-12 The identify return codelisted in DB2 Codes Bytes 64-68 The requesting work unit ID

264

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Bytes 72-76 IRLM subsystem name Bytes 76-84 DB2 subsystem name Bytes 132-140 Returned User Token Byte 143 The reason codelisted in DB2 Codes Byte 144 Subsystem return code

RLQD (query parameter list)


The RLQD begins with four bytes of global information, starting at offset X00. The remainder of the RLQD consists of alternate headers and data items. Each header contains a code that describes the type and length of the data item that follows. Each header is four bytes long and the data items are variable in length. The following shows the content of the headers and the four types of data items. The last header in the RLQD always contains X80 in the second byte to indicate that the following data item is the last one in the RLQD. GLOBAL INFORMATION Bytes 1-4 Global information HEADER INFORMATION Byte 1 Type of data Item X01 Work unit summary data X02 Resource data X03 Lock data for held resource X04 Lock data for suspended request Byte 2 Last data item X80 Last data item in the RLQD Bytes 3 and 4 Length of data item DATA ITEM X01: WORK UNIT SUMMARY DATA: Bytes 1-8 Owning work unit ID Bytes 9 and 10 Number of resources locked Bytes 11 and 12 Number of suspended requests DATA ITEM X02: RESOURCE DATA Byte 1 Global scope flag X80 Bytes 5-40 Resource name DATA ITEM X03: LOCK DATA FOR HELD RESOURCE Bytes 1-4 RLB pointer Bytes 5-13 Work unit ID

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

265

DO NOT COPY
Bytes 13-29 State counters8 halfword counters Byte 29 Lock duration Byte 30 Flags X80 Held lock is count by state X40 Held lock is resultant state Byte 31

Restricted Materials of IBM Licensed Materials Property of IBM

Current state DATA ITEM X04: LOCK DATA FOR SUSPENDED RESOURCE: Bytes 1-4 RLB pointer Bytes 5-12 Work unit ID Byte 13 The function that was requested. The functions are the same as in Word 1 Byte 2-Request Function (FC) Byte 14 Lock duration Byte 15 Flags X80 Suspended lock is count by state X40 Suspended lock is resultant state

IRLM SVC dump support


The IRLM uses SVC dump support to record errors or to dump its system status when an error occurs. This SVC dump support: v Provides a machine-readable dump that can be submitted with an APAR. v Ensures that dumps are issued for failures that occur within the IRLM address space, for failures that occur while executing IRLM code, or for failures that occur in DB2 IRLM exits that are coded within a DB2 address space. v Allows a dump to be issued at any time; that is, a dump can be issued even when neither DB2 nor the IRLM abends. v Offers the performance advantage of offline dump formatting. v Includes support for the MODIFY irlmproc,DIAG command, which controls when certain types of IRLM diagnostic dumps are taken. See DB2 Command Reference for more information. | | | | | | | | |

Diagnosing EDM pool space problems using traces


You can use IFCID 0133 and IFCID 0134 to diagnose and collect diagnostic information about EDM pool space problems. 1. Use an IFCID 0133 trace if you have been getting abnormal terminations like the following one:
ABNDND0E5 RC0C90101 DSNGEDLC:5009

A trace for IFCID 0133 helps IBM Software Support diagnose similar problems in the future. To use the IFCID 0133 trace, issue the following command before an abend occurs.

266

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | |

-START TRACE (PERFM) CLASS(30) IFCID(133)

If you want to turn off the trace, you must stop it explicitly. 2. Use an IFCID 0134 trace if you have been getting EDM pool full conditions. After you start this trace, DB2 generates a dump the first time an EDM Pool Full condition is detected. DB2 turns off this trace after the first abend dump is taken. To start the trace for IFCID 0134, issue the following command:
-START TRACE (PERFM) CLASS(30) IFCID(134)

After DB2 is refreshed, both traces will be inactive.

z/OS traces
z/OS traces, which are common to all products operating as formal subsystems of z/OS, are available for use with DB2. For information on using and interpreting this trace facility, refer to the z/OS diagnostic publications.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 8. Printing and analyzing traces

267

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

268

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 9. Other diagnostic aids


Writing DB2 log buffers to IFI
For diagnostic purposes, you might want to look at the contents of the DB2 log buffers as they are written to the active log. For example, you might want to capture log records from the log buffers during the time a job experiences repeatable failures. You might want to interactively capture a copy of the log buffers which are written to the active log, such that the copies of the log CIs can be transported or placed in a remote or local data set. To begin writing DB2 log buffers to IFI, an application can issue the following DB2 command via the IFI COMMAND interface:
-START TRACE(P) CLASS(30) IFCID(126) DEST(OPX)

Where: v P signifies to start a DB2 performance trace. Any of the DB2 trace types can be used (accounting, statistics, performance, audit, monitor, global). v CLASS(30) is a user-defined trace class (31 and 32 are also user-defined classes). v IFCID(126) activates DB2 log buffer recording. v DEST(OPX) starts the trace to the next available internal DB2 online performance (OP) buffer. The size of this OP buffer can be explicitly controlled by the BUFSIZE keyword of START TRACE. Valid sizes range from 256 KB to 16M, and the size must be evenly divisible by 4. Refer to DB2 Command Reference for more information on START TRACE. When the START TRACE command takes effect, from that point forward, until DB2 terminates, DB2 recovery log manager (RLM) begins writing 4 KB log buffer VSAM control intervals (CIs) to the OP buffer as well as to the active log. As part of the IFI COMMAND invocation, the application specifies an ECB to be posted and a threshold to which the OP buffer is filled when the application is posted to obtain the contents of the buffer. The IFI READA request is issued to obtain OP buffer contents. Reading specific log records: IFCID 129 or IFCID 306 can be used with an IFI READS request to return a specific range of log records from the active log into the return area the program has initialized. Enter the following command in the IFI program:
CALL DSNWLI(READS,ifca,return_area,ifcid_area,qual_area)

IFCID 129 or IFCID 306 must appear in the IFCID area. Refer to Appendix E (Volume 2) of DB2 Administration Guide for more information on calls to IFI.

DB2 stand-alone log services: change log inventory and print log map
DB2 provides two offline (batch) utilities to assist with the management of the active logs, the archive logs, and the bootstrap data set (BSDS). The change log inventory (DSNJU003) enables you to change the contents of the bootstrap data set (BSDS). The change log inventory utility is usually run with DB2 stopped because if it is run when DB2 is active, inconsistencies can result. Use
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

269

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

-STOP DB2 MODE(QUIESCE) to stop the DB2 subsystem, then run the utility, and after that restart DB2 with the -START DB2 command. More information about the change log inventory utility can be found in Part 4 (Volume 1) of DB2 Administration Guide and DB2 Utility Guide and Reference. The print log map (DSNJU004) utility enables you to print the contents of the bootstrap data set (BSDS). For DB2 data sharing, DSNJU004 prints BSDS information about each DB2 subsystem in the data sharing group. The print log map utility can run when DB2 is active or inactive. If it is run when DB2 is active, the users JCL and the DB2 started task must both specify DISP=SHR for the BSDS data sets. Part 4 (Volume 1) of DB2 Administration Guide and DB2 Utility Guide and Reference contain more information about the print log map utility.

DB2 catalog tables


The DB2 catalog tables contain descriptive information about the data stored in DB2 databases. These tables are updated by SQL statements. This list describes different problems for which the catalog tables are useful diagnostic aids: v Authorization problems. If authorization problems occur, a message is issued. Look at the following catalog tables: SYSIBM.SYSCOLAUTH SYSIBM.SYSTABAUTH SYSIBM.SYSDBAUTH SYSIBM.SYSRESAUTH SYSIBM.SYSPACKAUTH SYSIBM.SYSPLANAUTH SYSIBM.SYSUSERAUTH Select the catalog table that corresponds to the format of the GRANT statement. This catalog table includes information about who has authority and who can grant it. v Index problems. If you receive a message from a utility (message identifier DSNUxxxx) saying the index is incorrect for a given table space, look first at the SYSIBM.SYSINDEXES table, which identifies the table and database. After the table name is known, look at the SYSIBM.SYSTABLES catalog table, which identifies the table space. v Catalog consistency The sample library, SDSNSAMP, contains sample queries in member DSNTESQ that can be used to check for consistency between catalog tables. v RECOVER utility failure. If the RECOVER utility fails, either a message is issued or an abend occurs. You can use the REPORT utility to view recovery information that the RECOVER utility uses or you can review the SYSIBM.SYSCOPY catalog table. Try to determine which data sets and volumes of image copies were required by RECOVER. v Performance problems following RUNSTATS processing. If performance problems occur after running the RUNSTATS utility, check the data in the SYSIBM.SYSPLAN and SYSIBM.SYSPACKAGE catalog tables to confirm that any plans and packages associated with the table space on which

270

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

the utility was run are rebound. The table spaces referred to by the plans are recorded in SYSIBM.SYSPLANDEP. The tables referred to by the packages are recorded in SYSIBM.SYSPACKDEP. v Performance problems following creation of a new index. If performance problems occur after a new index is created, check the data in the SYSIBM.SYSPLAN and SYSIBM.SYSPACKAGE tables to make sure that any plans and packages that use the table on which the index was created are rebound. The tables referred to by the plans are recorded in SYSIBM.SYSPLANDEP. The tables referred to by the packages are recorded in SYSIBM.SYSPACKDEP. v Shortage of EDM pool space. If you receive a message saying that there is insufficient EDM pool space, check the SYSIBM.SYSPLAN and SYSIBM.SYSPACKAGE catalog tables. Determine how many plans and associated packages are to be running concurrently and/or the total number of plans and packages accessed during the lifetime of DB2. Refer to DB2 Installation Guide for information about how to calculate and redefine the minimum amount of storage space needed based on the value of PLSIZE and AVGSIZE. Check the KEEPDYNAMIC field in SYSIBM.SYSPLAN and SYSIBM.SYSPACKAGE to determine whether plans and packages use the dynamic statement cache. Dynamic statement caching uses the EDM pool, so using the cache without increasing the size of the EDM pool can lead to storage shortages. Using a data space for cached dynamic statements can help alleviate storage shortages. Refer to DB2 Installation Guide for information on how to define the amount of space that DB2 uses in a data space for the EDM pool. v Conversion error during LOAD utility processing or during INSERT or UPDATE processing. If a conversion error during LOAD processing occurs, a message is issued. Check the SYSIBM.SYSCOLUMNS catalog table to ensure that fields and columns being loaded are compatible. You can also determine the cases in which nulls are permitted. v DASD problems. Check the SPACE column in the SYSIBM.SYSSTOGROUP, SYSIBM.SYSTABLESPACE, and SYSIBM.SYSINDEXES catalog tables. The SPACE column is correct and current only if STOSPACE utility was run. Furthermore, the SPACE column is only applicable to table spaces and indexes using STOGROUPS, and is not applicable to user-defined data sets. Further information about the catalog tables can be found in: v DB2 SQL Reference. v Chapter 26, Directory and Catalog Diagrams, on page 545. This gives diagrams illustrating the logical relationships among the tables. v Chapter 27, Catalog formats, on page 569. This describes the columns of the catalog tables. v Chapter 28, Catalog index formats, on page 681. This describes the fields in the catalog table indexes.

DB2 utilities
The DB2 utilities (UT) subcomponent provides a number of utilities helpful for diagnosing various DB2 problems. Details on the syntax of these utilities can be found in DB2 Utility Guide and Reference.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 9. Other diagnostic aids

271

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Check utility
The CHECK utility checks table spaces for referential constraint violations and checks whether indexes are consistent with the data they index. CHECK DATA performs these functions: v Reports information about each referential constraint violation it detects and offers options to copy invalid rows to other tables and to delete invalid rows v For tables that contain LOB columns, checks for consistency between the base table space and the LOB table space | | v For tables that contain XML columns, checks for consistency between the base table space and the XML table space CHECK LOB checks LOB table spaces for structural defects and invalid LOBs. CHECK INDEX allows one or more indexes to be checked simultaneously and issues warning messages when it finds an inconsistency.

Copy utility
The COPY utility allows full or incremental copies to be made to sequential data sets to include full imaged copies of index spaces. The utility can produce up to four copies of the image into four different data sets, two for the local site, two for the recovery site. Incremental copies contain only pages that have changed since the prior copy function; full copies contain the entire table space.

Diagnose utility
The DIAGNOSE utility enables DB2 service representatives to diagnose problems with utilities. Up to 32 activities can be monitored through the TYPE parameter. These activities are defined as needed by the service staff. The DIAGNOSE can also be used to: v obtain dumps for any utility abend, overriding any considerations that might suppress such a dump v send OBD and SYSUTIL information to SYSPRINT for review (DISPLAY option) v dump both the DB2 MEPL and the application space (DSNUTILB) MEPL to SYSPRINT without forcing an SVC dump (DISPLAY MEPL option) v dump an entry for a database in SYSIBM.SYSDATABASE to SYSPRINT (DISPLAY option) v force DB2 to abend after a specific DB2 message is specified or when a module trace ID is encountered (ABEND option with the MESSAGE or TRACEID option)

Diagnose syntax diagram

DIAGNOSE

diagnose statement END

diagnose statement:

272

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

, TYPE( integer )

ALLDUMPS , ( Xabend-code )

NODUMPS , ( Xabend-code )

wait statement

display statement

abend statement

wait statement:

. WAIT message spec traceid spec

abend statement:

ABEND

message spec traceid spec

NODUMP

display statement:

DISPLAY

OBD database-name.

table-space-name ALL TABLES INDEXES

SYSUTIL MEPL DBET DATABASE database-name TABLESPACE database-name. INDEX index-name

table-space-name

message spec:
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 9. Other diagnostic aids

273

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

MESSAGE message-id INSTANCE integer

traceid spec:

TRACEID

Xtrace-id integer

INSTANCE integer

Keyword and parameter descriptions


For a description of how utility statements are parsed, and how to read a list of option identifiers and specifications like the one that follows, see DB2 Utility Guide and Reference. TYPE(integer, ...) Specifies one or more types of diagnose you wish to perform. integer is the number of types of diagnoses. The maximum number of types is 32. ALLDUMPS(Xabend-code, ...) Forces a dump to be taken from any utility abend code. Xabend-code is a member of a list of abend codes to which the scope of ALLDUMPS is limited. Limiting the scope of ALLDUMPS is optional. abend-code is a hexadecimal value. NODUMPS(Xabend-code, ...) Suppresses the dump for any utility abend code. Xabend-code is a member of a list of abend codes to which the scope of NODUMPS is limited. Limiting the scope of NODUMPS is optional. abend-code is a hexadecimal value. END Ends DIAGNOSE processing. WAIT Upon encountering the specified utility message or utility trace ID, a message is issued to the console and utility execution is suspended until the operator replies to that message, the utility job times out, or the utility job is canceled. This allows events to be synchronized while diagnosing concurrency problems. The utility waits for the operator to reply to the message, allowing the opportunity to time or synchronize events. If neither the utility message nor the trace ID are encountered, WAIT processing continues.

274

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

ABEND Upon encountering the specified utility message or utility trace ID, an abend is forced during utility execution. If neither the utility message nor the trace ID are encountered, ABEND processing continues. NODUMP Suppresses the dump generated by an abend of DIAGNOSE. DISPLAY Indicates that the specified database entities are to be formatted using SYSPRINT. OBD database-name.table-space-name Specifies that the object descriptor (OBD) of the specified table space is to be formatted to SYSPRINT. database-name is the name of the database in which the table space belongs. table-space-name is the name of the table space whose OBD is to be formatted. ALL Specifies that all OBDs of the specified table space are to be formatted with SYSPRINT. The OBD of any relationship associated with the table space is also formatted. TABLES Specifies that the OBDs of all tables in the specified table spaces are to be formatted to SYSPRINT. INDEXES Specifies that the OBDs of all indexes in the specified table spaces are to be formatted to SYSPRINT. SYSUTIL Specifies that every SYSUTIL record is to be formatted to SYSPRINT. MEPL Indicates that the module entry point lists (MEPLs) are dumped to SYSPRINT. DBET Indicates that the contents of a database exception table (DBET) table entry are dumped to SYSPRINT. This option is intended to be used only under the direction of your IBM Support Center. DATABASE database-name Indicates that the DBA table entry associated with the specified database is dumped to SYSPRINT. database-name is the name of the database. TABLESPACE database-name.table-space-name Indicates that the DBA table entry associated with the specified table space is dumped to SYSPRINT. database-name is the name of the database. table-space-name is the name of the table space to be dumped to SYSPRINT.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 9. Other diagnostic aids

275

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

INDEX creator-name.index-name Indicates that the DBA table entry associated with the specified index is dumped to SYSPRINT. creator-name is the ID of the creator of the index. index-name is the name of the index to be dumped to SYSPRINT. MESSAGE message-id Specifies a DSNUxxx or DSNUxxxx message that causes a wait or an abend to occur when that message is issued. Valid message IDs can be found in DB2 Messages. message-id is the message ID in the form of Uxxx or Uxxxx, depending on the length of the message number. INSTANCE integer Specifies that a wait or an abend occurs when the MESSAGE option message has been encountered a specified number of times. If INSTANCE is not specified, a wait or abend occurs each time the message is encountered. integer is the number of times a message is to be encountered before a wait or an abend occurs. TRACEID trace-id Specifies a trace ID that causes a wait or an abend to occur when the ID is encountered. Valid trace IDs can be found in data set prefix.SDSNSAMP(DSNWEIDS). trace-id is a trace ID associated with the utility trace (RMID21), and can be specified in either decimal (integer) or hexadecimal (Xtrace-id). INSTANCE integer Specifies that a wait or an abend occurs when the TRACEID option has been encountered a specified number of times. If INSTANCE is not specified, a wait or abend occurs each time the trace ID is encountered. integer is the number of times a trace ID is to be encountered before a wait or an abend occurs.

DSN1COMP utility
DSN1COMP is a stand-alone utility that estimates space savings to be achieved by DB2 data compression in data sets. The utility runs on data sets that contain uncompressed data and do not contain index spaces. The DETAIL and SHOWTREE parameters are provided for use by IBM support centers to examine dictionary structures: v the DETAIL option provides performance related information v the SHOWTREE option prints the formatted dictionary tree to the SYSPRINT output data set

Mergecopy utility
The MERGECOPY utility can either merge several incremental copies to form a combined incremental copy or merge one or more incremental copies with a full copy to form a combined full copy. MERGECOPY can produce up to four image copies.

276

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Quiesce utility
The QUIESCE utility establishes a point of consistency, a quiesce point, for a table space. The point of consistency is recorded as the current log RBA in the SYSIBM.SYSCOPY catalog table and can be used by RECOVER TORBA or TOLOGPOINT. TOLOGPOINT can accept an RBA or LRSN. In a data sharing group, the QUIESCE utility quiesces an object for the entire group and records a LRSN that can be used by RECOVER TOLOGPOINT.

Recover utility
The RECOVER utility recovers: v Entire table spaces and/or index spaces v A data set within a table space or a partition of an index space v A range of pages within a table space or index space To recover a table space, RECOVER looks at the ZPARM to determine if the current system is at the local site or the recovery site and recovers from copies of data registered on the current system. If you specify the LOCALSITE parameter, only local site image copies are used (even if the site is the recovery site). If you specify the RECOVERYSITE parameter, only recovery site image copies are used (even if the site is the local site).

Rebuild index utility


The REBUILD INDEX utility rebuilds: v One or more indexes within a table space v All indexes within a table space. v One or more logical or physical partitions of a partitioning index To rebuild an index, REBUILD INDEX deletes the erroneous index and builds a new index from the table.

Repair utility
The REPAIR utility is helpful for the diagnosis and repair of inconsistent data. Use the REPAIR utility with extreme caution; incorrect use of REPAIR can cause the loss of data integrity. The REPAIR utility functions useful for diagnosing and repairing problems are: LOCATE, VERIFY, REPLACE, DUMP, SET, and REPAIR DBD.

Report utility
The REPORT utility can help to determine the recovery history of a table space. It reports the following information: v The SYSIBM.SYSCOPY catalog table recovery records (REPORT can print all the SYSCOPY records in the local system, the recovery system, or both.) v Log ranges from the SYSIBM.SYSLGRNX directory table. v Log data sets from the bootstrap data set (BSDS) v Names of all table spaces in a table space set.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 9. Other diagnostic aids

277

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DSN1xxxx stand-alone utilities for diagnosing data inconsistency problems


The DB2 stand-alone utilities (SU) subcomponent provides four utilities particularly helpful for diagnosing data inconsistency problems: DSN1CHKR DSN1COPY DSN1LOGP DSN1PRNT The DSN1CHKR utility is used for checking the DB2 catalog and directory table spaces for potential data inconsistencies. The DSN1COPY utility is used for copying VSAM and sequential data sets, performing validity checking on data, index and dictionary pages, and translating object identifiers (OBIDs) to help in moving data sets between different systems. It also prints hexadecimal dumps of data sets and databases. DSN1COPY also reports if generic clustering is lost in certain catalog table spaces. Contact IBM Service if this occurs. The DSN1LOGP utility reads the recovery log and formats its contents for display. For data sharing, DSN1LOGP prints log records merged from the logs of more than one DB2 subsystem. Either a summary or a detailed report can be requested. For more detailed information see DB2 Utility Guide and Reference. DSN1PRNT is used for printing hexadecimal dumps of table spaces, index spaces, image copy data sets, and sequential data sets, and formats the pages of these data sets.

DSN1SDMP utility
The purpose of the DSN1SDMP utility, intended to be used under the direction of IBM Service, is to take dumps and write trace records for diagnostic purposes in a simple and timely manner. The DSN1SDMP utility consists of two features: v It can select on any data within a trace record and, if the selection passes, can optionally cause a dump. This function captures the first-failure data much closer to the time of error than was possible before. v It can also write DB2 trace records to an z/OS OS data set, rather than to z/OS SMF or GTF data sets. This allows trace data to be used more quickly for diagnostic purposes.

Program call linkages


DB2 uses z/OS program calls as one form of program invocation. Detailed information is in z/Architecture Principles of Operation and the z/OS diagnostic techniques publications. DB2 defines program call linkage to z/OS with one of these program call (PC) instructions: PC-ss Permits an address space switch

278

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

PC-cp Retains an address space as current primary and does not cause a space switch The z/OS architecture defines three addressable address spacesprimary, secondary and home. If a space switch occurs (because of the PC-ss instruction mentioned above), one address space is considered primary and another is considered secondary. If a space switch does not occur (because a PC-cp instruction is used), the primary and secondary address spaces are the same (that is, one address space is considered both primary and secondary). The home address space is always present, and contains the dispatchable unit of work before any program calls are issued. If a space switch does not occur, then the home address space is also both the primary and secondary address space. If a program call with a space switch is issued by the dispatchable unit (using PC-ss), the primary space becomes the secondary address space and the switched to address space becomes the primary address space. If the dispatchable unit issues another PC with a space switch, the previous primary becomes the secondary and the switched to address space becomes the new primary address space DB2 uses PC-cp to get into supervisor state and key 7. Both PC-cp and PC-ss are used to enter 31-bit addressing mode (AMODE). In addition, PC-ss defines a new primary address space. Each resource manager defines its PC linkage relationships using either (1) the RMVT and RMFT control blocks for RMRQ calls from one resource manager to another or (2) the RAL and FVL control blocks for RARQ calls to resource managers from an application. For more information about RMRQ and RARQ and the associated control blocks, refer to Invocation methods on page 9.

TSO attachment facility diagnostic aids


Two TSO attachment facility diagnostic aids are described below. TSO attachment facility traces on page 253 describes three other TSO attachment facility tools: DSN trace stream, CLIST trace, and SPUFI trace stream.

SPUFI diagnostic panels


When activated, SPUFI diagnostic panels appear on the terminal as SPUFI is executed. These panels display significant variable names and their assigned values (if any). These panels can be examined to verify that the information is correct. Using this option of the TSO maintenance system to change program variables can disrupt normal SPUFI operation. To use the SPUFI diagnostic panels: 1. Display the DB2I primary menu (DSNEPRI). 2. Select OPTION 0, which is not shown on the menu. 3. Press ENTER to pass by the panel that introduces the DB2 TSO MAINTENANCE SYSTEM. The next panel offers choices between several TSO attachment facility tracing mechanisms. 4. Select the DISPLAY SPUFI option (option 4). Specify any desired options, such as the SPUFI CSECTs to trace.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 9. Other diagnostic aids

279

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

5. With the SPUFI diagnostic panels activated, return to the DB2I primary menu and select the SPUFI option. 6. On the SPUFI panel, enter the parameters required to execute an SQL statement. At that time, the first diagnostic panel is displayed. A sample of a SPUFI panel (with some of the variables assigned) is shown in Figure 101. 7. Optional: If desired, v Change the display or trace options identified at top. v Print a screen image by pressing the PF key that was defined for that purpose (the ISPF print key). v Change the displayed panel by altering the last two characters in the field identifying the currently-displayed panel. Then press ENTER. For example, if the panel name is DSNEXP00, change 00 to some other valid number (20, 21, 30, 55, 56, 70, 80). To execute from the point at which you left off, press ENTER.

DSNEXP55 SPUFI INTERNAL VARIABLE DISPLAY ===> DSNE599I DSNESM55 - BEGIN EXECUTION CHANGE DISPLAY OR TRACE OPTIONS BELOW: 1 TRACE SPUFI ===> YES YES STARTS/CONTINUES TRACE 2 DISPLAY SPUFI ===> 123 0 0 ENTER 0 TO 99 OR OVER 100 3 DISPLAY PANEL ===> DSNEXP55 ENTER SPUFI PANEL NAME INTERNAL VARIABLES FROM DSNDSEB CONTROL BLOCK: 10 PREFIX ===> H443722 40 ILRCL ===> 80 70 ACTION ===> 4 11 LIB ===> DSN 41 IVOL ===> 71 ACODE ===> 1 12 TYPE ===> PLS 42 ORCFM ===> FB 72 RCODE ===> 0 13 MEMB ===> SPUFIIN 43 XXXXX ===> 73 FLAGS ===> 000000F4 14 OTHER ===> 15 OUTPU ===> SEQ.DS 16 ISTAT ===> C0 46 OSTAT ===> 00 76 OCLAS ===> SYSDA 17 IMEMB ===> SPUFIIN 47 OMEMB ===> ........ 77 PGW ===> 0 18 IDSN ===> H443722.DSN.PLS 78 OLRCL 999 19 ODSN ===> ........................... 70 OBSIZ 999 20 MODID ===> DSNESM55 80 MSGID ===> 21 DAIRF1 ===> ............................................................. 22 DAIRF2 ===> ............................................................. ............................................................................ Figure 101. Sample SPUFI diagnostic panel

ABEND subcommand of the DSN command processor


The TSO attachment facility provides an ABEND subcommand that enables users to request and obtain a dump. Use this subcommand when (1) a problem is suspected (such as incorrect output) with another DSN subcommand, and (2) the problem does not cause an abend and a dump to be generated. To use this subcommand, follow the steps listed below: 1. Allocate a SYSUDUMP data set. 2. Reissue the DSN subcommand you suspect is involved in the problem. 3. After receiving the DSN prompt, type the word ABEND. 4. After TSO issues a message saying that DSN has ended, press ENTER and wait.

280

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

5. After TSO issues a READY message, the dump can be browsed or printed. Sometimes, the information dumped is not the information desired. Always use the ABEND subcommand as soon as possible after a problem is re-created to increase the chances of obtaining meaningful data. Do not press the ATTENTION key before issuing the ABEND subcommand; usually, the desired data is lost.

SYS1 service aids


Internal resource lock manager (IRLM) diagnostic aids described here include: v SVC dumps of the IRLM address space in the SYS1.DUMPxx data sets v Entries on the SYS1.LOGREC data set v Output from the MODIFY ...,STATUS command Other IRLM diagnostic aids include: v z/OS component trace (CTRACE) entries, described in IRLM - DB2 activity trace on page 259. v DB2 performance trace classes 6 and 7. An example of using this trace to diagnose locking problems appears in Using the performance trace for diagnosis on page 241. Details about performance trace data appear in Part 5 (Volume 2) of DB2 Administration Guide. v IRLM messages and codes, described in DB2 Codes.

SYS1.DUMPXX
The IRLM address space is dumped to a SYS1.DUMPxx data set with an SVC dump whenever the IRLM, or an SRB that is related to the IRLM, abnormally terminates. You can use IPCS to format and display a dump of an IRLM address space. To view a list of parameters that you can use to extract information from the dump, issue this command in IPCS:
VERBX IRLM HELP

The IRLM verb has a parameter, IRLMNM, which is the IRLM subsystem name. The default is IRLM. If you are using a subsystem name other than the default, you need to specify the parameter.

SYS1.LOGREC
When IRLM detects a program error, it generates an entry on the SYS1.LOGREC data set. Use the IFCEREP1 service aid to obtain a listing of the SYS1.LOGREC data set containing the SYS1.LOGREC entries pertaining to the IRLM. For more information about this service aid, refer to the z/OS diagnostic techniques publication.

Output from the modify command


When you diagnose IRLM problems, you need to know the levels of the IRLMs to which your DB2 subsystems are connected. This is especially important in the data sharing environment, where there might be several IRLMs, all at different levels. The output from the command
MODIFY irlmproc,STATUS,ALLI

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 9. Other diagnostic aids

281

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

gives you information about the service level and function level of each IRLM in a data sharing group. The service level is the last APAR applied to the IRLM, or the release level of the IRLM, if no APARs have been applied. The function level is a number that IRLM increments when service to IRLM introduces a new function. The first two characters of the function level indicate the IRLM version. For example, 2. indicates IRLM 2.2. For a data sharing group, the output also includes the minimum function level and service level that the group can tolerate. Example: Output from a command that is run on a DB2 Version 8 subsystem: Suppose that a data sharing system has two DB2 Version 8 compatibility mode members and one DB2 Version 7 member. IRLM subsystem PR21 was started with procedure IRLMPR21. The members of the data sharing group are also connected to IRLMs SRLM and URLM. To determine the levels of the IRLMs in the group, you issue the command:
MODIFY IRLMPR21,STATUS,ALLI

If you issue this command on one of the DB2 Version 8 compatibility mode members, the output from the command is:
DXR103I PR21001 STATUS IRLMS PARTICIPATING IN DATA SHARING GROUP FUNCTION LEVEL=1.022 IRLM_NAME IRLMID STATUS LEVEL SERVICE MIN_LEVEL MIN_SERVICE PR21 001 UP 2.022 HIR2220 1.022 PQ52360 SRLM 004 UP 2.022 HIR2220 1.022 PQ52360 URLM 006 UP 1.022 PQ52360 1.012 PN90337 DXR103I End of display

This information indicates that IRLM URLM is at a lower service level and function level than the other two IRLMs. The minimum function level with which all three IRLMs can coexist is level 1.012. The minimum service level with which the IRLMs can coexist is PN90337. Therefore, the function level of the group is the same as the minimum level with which all IRLMs can coexist: 1.012. Example: Output from a command that is run on a Version 7 subsystem: Suppose that a data sharing system has two DB2 Version 8 compatibility mode members and one DB2 Version 7 member. IRLM subsystem URLM was started with procedure IRLMURLM. The members of the data sharing group are also connected to IRLMs PR21 and SRLM. To determine the levels of the IRLMs in the group, you issue the command:
MODIFY IRLMURLM,STATUS,ALLI

If you issue this command on the DB2 Version 7 member, the output from the command is:
DXR103I URLM006 STATUS IRLMS PARTICIPATING IN DATA SHARING GROUP FUNCTION LEVEL=022 IRLM_NAME IRLMID STATUS LEVEL SERVICE MIN_LEVEL MIN_SERVICE PR21 001 UP 094 HIR2220 022 PQ52360 SRLM 004 UP 094 HIR2220 022 PQ52360 URLM 006 UP 022 PQ52360 012 PN90337 DXR103I End of display

This information indicates that IRLM URLM is at a lower service level and function level than the other two IRLMs. The minimum function level with which all three IRLMs can coexist is level 012. The minimum service level with which the IRLMs can coexist is PN90337. Therefore, the function level of the group is the same as the minimum level with which all IRLMs can coexist: 012.

282

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

It is also important to know the maintenance level of each IRLM module. To display this information, use the modify command
MODIFY irlmproc,STATUS,MAINT

This command provides the CSECT list for the most important load modules, their APAR level, and their compile date. A partial sample follows:
DXR104I IR21240 Maintenance levels LMOD.Csect MaintLv Date DXRRLM00.DXRRL010 PQ35083 02/22/00 DXRRL030 PQ27464 08/18/99 DXRRL070 PQ36441 03/28/00 DXRRL090 PQ36533 03/28/00 .... Csect DXRRL020 DXRRL040 DXRRL080 DXRRL0B0 APAR PQ38455 PQ38455 PN92757 PQ35083 Date 05/26/00 05/26/00 08/18/99 02/22/00

For more information on the MODIFY ...,STATUS command, see DB2 Command Reference.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 9. Other diagnostic aids

283

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

284

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 10. Data Sharing Problem Diagnosis


Problem diagnosis in the data sharing environment is generally very similar to diagnosing problems that occur in a single DB2 subsystem. The key difference is that the actions required to identify and resolve problems must be applied to more than one DB2 subsystem. This section gives a general approach to diagnosing data sharing problems and tells you where to find detailed information.

Data sharing environment


Data sharing requires an z/OS sysplex, a group of central processor complexes (CPCs) running z/OS that are connected through channel-to-channel (CTC) communications or through a coupling facility. Data sharing uses System z Parallel Sysplex technology. The sysplex technology is supported by the z/OS Cross-System Coupling Facility (XCF) and Cross-System Extended Services (XES). Cross-System Coupling Facility services allow authorized applications on one system to communicate with applications on the same system or on other systems. Cross-System Extended Services allow authorized applications or subsystems running in a sysplex to share data using a coupling facility. In DB2 data sharing, DB2 subsystems belong to a DB2 data sharing group. Each DB2 subsystem, or group member, has the same direct access to the same data as any other member of the data sharing group. Group members share databases, a single DB2 catalog and directory, and a single z/OS ICF catalog. Each member has its own IRLM, buffer pool, EDM pool, workfiles, log, and local BSDS. The sysplex provides support for other facilities required for data sharing that include a global lock manager, and shared storage.

Problem types
Most problems in the data sharing environment fall into three categories: v Hangs v Timeouts and deadlocks v Delays v Inconsistent data

Hangs
In a data sharing environment, there can be two types of hangs: v Single system hangs v Group hangs (multi-system hangs) A single system hang means that the agent that is hanging is contending for resources that are held by other agents on the same DB2 member. A single-system hang can be diagnosed with a console dump of only the one DB2, and its associated IRLM. A group hang means that the agent or agents that are hanging are contending for resources held by other agents on other members. Diagnosing a group hang requires console dumps from multiple DB2s, and their associated IRLMs.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

285

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

If a hang is in a sysplex and there is any doubt of the extent of the hang, take dumps of all instances of DB2 and their IRLMs. If applications hang in the data sharing environment, there are several places where the problem can occur. The problem location might be: v The local DB2/IRLM v A peer member DB2/IRLM v In the z/OS XES component within the sysplex The probable cause for a hang in the data sharing environment is a problem with one of the following functions: v P-lock negotiation v Global locking v IRLM Notify message sending v Making the transition from group buffer pool simplex mode to duplex mode, or from duplex mode to simplex mode Regardless of the type of hang or the symptoms of the hang, you can diagnose it by using the procedures in WAIT/LOOP keywords on page 124.

Timeouts and deadlocks


A timeout or deadlock in the data sharing environment is similar to one in the non-data sharing environment, except that the problem might be caused by a lock held by a peer group member rather than a local or remote user on the same subsystem. When a deadlock or timeout occurs, you receive one or more of the messages DSNT318I, DSNT375I, DSNT376I, or DSNT377I. Those messages display the holder of the lock and its DB2 member name and provide detailed diagnostic guidance. Refer to DB2 Messages for more information. Use the command DISPLAY DATABASE to gather information about the lock status of all members of the data sharing group. Specify the LOCKS keyword for information on transaction locks for table spaces, tables, index spaces, and partitions. Specify the CLAIMERS keyword for information about claims on table spaces, tables, index spaces, and partitions. For more information on DISPLAY DATABASE, see DB2 Command Reference. Issue the IRLM MODIFY irlmproc,DIAG,HANG command to collect SVC dumps for all the IRLM instances in the sysplex. This command should be used only under the direction of your IBM service representative. This command prevents the TIMEOUT/LOCK SRB from running until z/OS dump services reschedules it. After this command runs, you must ensure that IRLM returns to normal processing. You can activate statistics trace class 3 or performance trace class 6 to get information about timeouts and deadlocks. IFCID 0196 gives timeout statistics, and IFCID 0172 gives deadlock statistics. Start the trace on the member where the application with timeout or deadlock problems runs. When a timeout or deadlock occurs, DB2 gathers information from all other members of the data sharing group. See Part 5 (Volume 2) of DB2 Administration Guide for information on how to monitor locking. See SDSNIVPD(DSNWMSGS) for descriptions of the trace records.

286

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

IRLM delays
IRLM can experience delays in child lock propagation because of events like these: v Member recovery XES delays work but does not inform IRLM of the failed connection. v Loss of connectivity of a lock structure XES delays work but does not request IRLM to rebuild or disconnect a lock structure. v XES is slow to process a lock request for an undetermined reason. See DB2 Data Sharing: Planning and Administration for more information on hierarchical locking. IRLM can also experience a delay in P-lock negotiation. A common reason for a delay in P-lock negotiation is that an active log is full, and DB2 is waiting for the operator to mount an archive tape. If your data sharing system experiences delays in child lock propagation or P-lock negotiation, you can request dumps of all IRLM instances in the data sharing group when a delay for child lock propagation lasts 45 seconds or more, or a delay for P-lock negotiation lasts two minutes or more. Issue this console command to request IRLM dumps for delays in child lock propagation:
MODIFY irlmproc,DIAG,DELAY

Issue this console command to request IRLM dumps for delays in P-lock negotiation:
MODIFY irlmproc,DIAG,PLOCK

Issue this console command to request IRLM dumps for either type of delay:
MODIFY irlmproc,DIAG,ALL

You need to issue MODIFY irlmproc,DIAG commands on only one member of a data sharing group. These commands are sent to all peer members to capture the same dumps from each member. A MODIFY irlmproc,DIAG command is active for only a single incident on a single member. After dump processing is triggered for a specific incident, dump collection for later incidents of that type are disabled. If diagnosis of another incident is needed, issue the MODIFY irlmproc,DIAG command again.

Inconsistent data
As is true in the non-data-sharing environment, problems with inconsistent data in the data sharing environment might be caused by broken pages, inconsistent data pages and index pages, or down-level data sets. You can use the techniques described in Chapter 17, Identifying DB2 Data Inconsistency Problems, on page 421 to resolve many data inconsistency problems in either environment. One cause of inconsistent data occurs only in the data sharing environment: DB2 might be improperly maintaining communication or data coherency between members. If more than one group member returns incorrect output, it might be an indication of a buffer pool coherency problem. For diagnosis of this problem, you need to provide merged logs from all members of the data sharing group. Use the DSN1LOGP utility to obtain them. To format the merged logs, include the following in your DSN1LOGP job:

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 10. Data Sharing Problem Diagnosis

287

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v A GROUP DD statement in the JCL. This statement names a BSDS for one member of the data sharing group. DB2 can find the rest of the information from that one BSDS. v The option LRSNSTART in the DSN1LOGP statement. You might also be asked to provide the following for all members of the data sharing group: v A dump of the group buffer pool (GBP) and shared communications area (SCA) list structures. You can use an z/OS DUMP command similar to this one to obtain a dump of each group buffer pool:
DUMP COMM=(GBPx-dump-name) nnn,STRLIST=(STRNAME=GBPx-structure-name, CONNAME=conname,ACCESSTIME=NOLIMIT, (STGCLASS=ALL,COCLASS=ALL,EDATA=SER)),END

To obtain a dump of the shared communications area, use a DUMP command similar to this one:
DUMP COMM=(SCA-dump-name) nnn,STRLIST=(STRNAME=SCA-structure-name, (LISTNUM=ALL,EDATA=SER)),END

Refer to z/OS MVS System Commands for the exact syntax of the z/OS DUMP command. v Dumps of all DB2 and IRLM address spaces v Console logs v SYS1.LOGREC data sets

288

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 11. Query Parallelism Problem Diagnosis


Query parallelism is the ability to process read-only queries in parallel. Queries that are most likely to be processed in parallel have access paths that perform sequential prefetch against page sets that consist of multiple data sets. There are three modes of query parallelism: v I/O DB2 prefetches data from several partitions of a table space at one time. A single processor processes the first request from each partition, then the second request from each partition, and so on. The processor does not wait for I/O, but there is only one processing task. v CP A single DB2 subsystem on an z/OS system with multiple processors uses multiple parallel tasks to process a query. v Sysplex Multiple DB2 subsystems in a data sharing group use multiple parallel tasks to process a query. This section focuses on diagnosis of problems in CP and Sysplex parallelism. The following topics are discussed: v Is a query problem related to parallelism? v Types of parallelism problems on page 291 v Using traces for diagnosis of parallelism problems on page 292

Is a query problem related to parallelism?


The first question you should ask when you encounter a problem in a parallel query is whether that problem is related to parallelism. To answer that question, disable all parallelism, then try the query again. If the problem occurs whether or not you have parallelism enabled, you can assume that it is unrelated to parallelism. If the problem occurs only with parallelism enabled, follow these steps to determine which type of parallelism is causing the problem: 1. Disable all parallelism. Run the problem query again. 2. If the problem still occurs, enable CP parallelism. Run the query again. 3. If the problem still occurs, enable Sysplex parallelism. Run the query again. When you run the query with CP parallelism and Sysplex parallelism, issue the following commands and collect the output: v DISPLAY BUFFERPOOL The output shows the buffer pool thresholds for parallelism. Issue this command for all constrained buffer pools. v DISPLAY THREAD Issue this command if you suspect a hang problem. The output shows PT in the status column for parallel threads. It also indicates which task is the originating task. In addition, when you run the query with Sysplex parallelism, issue the command DISPLAY GROUP DETAIL on all subsystems and collect the output. The output shows the values of the COORDINATOR and ASSISTANT subsystem parameters.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

289

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Disabling all parallelism: To disable parallelism, take one of the following actions: v For queries that use static SQL statements, bind the plan or package that contains the queries with the option DEGREE(1). v For queries that use dynamic SQL statements, execute the SQL statement
SET CURRENT DEGREE=1

before you execute the queries. Disabling CP Parallelism: To disable CP parallelism and leave I/O parallelism enabled, determine which processors are online by issuing the z/OS command:
D M=CPU

Then vary all but one processor offline by issuing the z/OS command:
CF CPU(n),OFFLINE

Disabling Sysplex parallelism: To disable Sysplex parallelism and leave CP parallelism enabled, take one of the following actions: v Set the value of subsystem parameter COORDNTR to NO on the coordinating member of the data sharing group. v Set the value of subsystem parameter ASSIST to NO on all other members of the data sharing group. v If the problem occurs when you run dynamic SQL statements, specify the parameter WITH RR on the SELECT statements. v Stop all but one member of the data sharing group. v Set the assisting parallel buffer pool thresholds to 0 by executing the command ALTER BUFFERPOOL with the parameter VPXPSEQT(0) on all but one member of the data sharing group. Using the resource limit facility to disable parallelism: If you use the resource limit facility (RLF), you can disable I/O parallelism, CP parallelism, or Sysplex parallelism for static or dynamic SQL statements by specifying the RLST values shown in Table 35. You should use RLF to disable parallelism for static statements only for diagnosis.
Table 35. RLST values for disabling parallelism RLFFUNC 3 3 3 4 4 4 5 5 5 RLFBIND blank S A blank S A blank S A Effect Disable I/O parallelism for dynamic statements Disable I/O parallelism for static plans or packages Disable I/O parallelism for static and dynamic statements Disable CP parallelism for dynamic statements Disable CP parallelism for static plans or packages Disable CP parallelism for static and dynamic statements Disable Sysplex parallelism for dynamic statements Disable Sysplex parallelism for static plans or packages Disable Sysplex parallelism for static and dynamic statements

290

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

These RLST values do not affect the way RLF governs the processor time for dynamic statements. To use RLF to change the parallelism mode for a plan or package, you must rebind the plan or package while RLF is active. For data sharing, RLF must be active on the DB2 member where the rebind occurs.

Types of parallelism problems


Parallel queries can experience these types of problems: v Hangs v Incorrect output v No parallelism v ABENDs This section discusses what you can do to diagnose each type of problem. Hangs: The diagnostic procedures for hangs during parallel processing are similar to those for hangs during other types of DB2 processing. See WAIT/LOOP keywords on page 124 for more information. One particularly useful source of diagnostic information is the output you receive when you run DSNWDMP with option DS=3 on dumps of the DB2 master address spaces. With DS=3, you can see what parallel tasks were running when the hang occurred. See Using the DSNWDMP statement on page 169 for more information on DSNWDMP. Incorrect output: Diagnosing incorrect output problems for query parallelism is similar to diagnosing problems when there is no parallelism. After you determine that you get different results with parallelism enabled and disabled, follow the procedure in INCORROUT modifier keyword on page 150. If you have collected trace data for IFCID 0221, you can check that data for parallel processing errors. Examine the page range or key range values in the QW0221D sections. There is a QW0221D section for each parallel task. Ensure that the ranges in any two QW0221D sections do not overlap. If the query produces output, you can obtain further diagnostic information by forcing a dump in CSECT DSNXROUA while the query runs. To do that, run utility DSN1SDMP with these control statements:
* START A GLOBAL TRACE TO TRACE MODULE ENTRIES AND EXITS START TRACE=GLOBAL CLASS(3) DEST(OPX) FOR(1) * ABEND WHEN THE SELECT CRITERIA ARE MET ACTION(ABENDTER(00E60100)) SELECT * FIND THE LOCATION OF THE EVENT CODE P2,06 * ABEND WHEN THE EVENT CODE IS DSNXROUA ENTRY DR,00,X023A

Then execute the query and collect the resulting dump data. No parallelism: The access path that DB2 chooses for a query is one factor that determines whether the query uses parallelism. For example, in a correlated subquery, the inner table access (single row retrieval) is not a good candidate for parallelism because the overhead of parallelism is too high. DB2 does not support

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 11. Query Parallelism Problem Diagnosis 291 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

parallel access for certain other access paths, such as an IN-list index scan. See Part 5 (Volume 2) of DB2 Administration Guide for a complete list of access paths that do not use parallelism. Even when the access path is right for parallelism, DB2 might choose sequential access instead. Some reasons for this are: v Host variable values limit the query to a single partition. v ESA sort facility hardware is not available. v Buffer pool resources are constrained. If you think a query that is not being processed in parallel should be, collect the following information: v A trace for IFCID 0221. This trace indicates whether buffer pools are constrained. IFCID 0221 records are written when performance trace class 8 is on. v An SVC dump of the ssnmDBM1 address space. v Execute the EXPLAIN statement for the problem queries and select all columns from the PLAN_TABLE. For column IBM_SERVICE_DATA, select HEX(IBM_SERVICE_DATA). The information in the PLAN_TABLE indicates whether the access path for the statement is right for parallelism. ABENDs: When a parallel task abnormally terminates, the originating task returns SQLCODE -904 with reason code X00E30101. DB2 generates no dump for the originating task. Obtain the dump generated for the parallel task and analyze it as you would any other dump produced during a query.

Using traces for diagnosis of parallelism problems


DB2 generates a number of trace records that are useful in diagnosing parallelism problems. The IFCIDs for those trace records are 0221, 0222, and 0231. Those IFCIDs are in performance trace class 8. See member DSNWMSGS in data set DSN910.SDSNIVPD for explanations of those trace records.

292

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 4. Diagnostic Aids for Distributed Data

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

293

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

294

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures


This section explains the flow of distributed requests and provides procedures that can be used when doing problem determination for DB2 for z/OS (DB2) in a distributed environment. The topics addressed are: v Distributed SQL application flow for VTAM connections v Distributed SQL application flow for TCP/IP connections on page 296 v Analyzing DDF error messages on page 296 v TCP/IP startup problems on page 302 v DB2 hangs during distributed processing on page 303 v Problem determination procedures on page 305

Distributed SQL application flow for VTAM connections


When the application program (the requester) issues the first SQL statement referencing a remote database system, an LU6.2 conversation must be established with the remote database system (the server). The APPC ALLOCATE verb is used to establish a conversation. When you look at a System Network Architecture (SNA) buffer trace, an ALLOCATE verb can easily be spotted, because the first path information unit (PIU) transmitted after the ALLOCATE is marked with the begin bracket (BB) flag. Path information unit is the structure for transmitting data through the network. Once the LU6.2 conversation is allocated, the local DB2 system builds a message that represents the applications SQL statement. The APPC SEND_DATA verb is used to send the SQL statement to the server for processing. During transmission, the message representing the SQL statement is broken up into path information units (PIUs), where the SQL data in each path information unit (PIU) is no larger than the request unit (RU) size selected by the communication administrator. Depending on the size of the SQL message, it takes 1 to n PIUs to transmit the SQL statement to the server. If the data does not fill a complete PIU, the data remains in the APPC buffer until the PREPARE_TO_RECEIVE verb is issued. System Network Architecture (SNA) pacing is what the receiver application can use to control the rate at which the sending application transmits data. A pacing window can be defined, which specifies the maximum number of path information units that can be transmitted by the sender before the sender must wait for the receiver to process the data. The sender must request pacing responses at the intervals dictated by the pacing window size. The requesters DB2 system issues the APPC PREPARE_TO_RECEIVE verb to tell the server that it is waiting for an answer to the SQL statement. The PREPARE_TO_RECEIVE verb transmits the very last path information unit (PIU) for the SQL statement, and marks the path information unit (PIU) with the change direction (CD) indicator. When the path information unit (PIU) immediately follows an ALLOCATE verb, the path information unit (PIU) is also marked with the BB (Begin Bracket) indicator.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

295

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

When the server detects the change direction (CD) indicator, it knows the SQL statement is complete and the requester is waiting to receive the answer to the SQL statement. The server executes the SQL statement, and builds a reply message that represents the answer to the SQL statement. As before, the answer message is broken into path information units for transmission, with the last path information unit (PIU) in the answer marked change direction (CD). The change direction (CD) indicator tells the requester that the SQL answer is complete, and the server is waiting for the next SQL statement. The requesting database returns the SQL answer to the application program, and waits for the next SQL request from the application. The next SQL request is also converted into a message representing the applications SQL statement. The message is broken into path information units for transmission, where the last path information unit (PIU) is marked change direction (CD). In this case, the SQL request fits in a single PIU. As before, the change direction (CD) indicator tells the server that the SQL statement is complete, and the requester is awaiting the answer message. The server sends the reply message, marking the last path information unit (PIU) with change direction (CD). When the application program terminates, a DEALLOCATE verb is issued by the requesting database to tell the database server that the distributed database application is complete. The DEALLOCATE verb causes a path information unit (PIU) containing the conditional end bracket CEB flag to be transmitted to the server, which tells the server the application is complete.

Distributed SQL application flow for TCP/IP connections


When the application program (the requester) issues the first SQL statement referencing a remote database system, a connection must be established with the remote database system (the server). The TCP/IP connect socket call is used to establish a conversation. The requesters DB2 system issues the READ call to tell the server that it is waiting for an answer to the SQL statement. Once the connection is established, the local DB2 system builds a message that represents the applications SQL statement. The WRITEV call is used to send the SQL statement to the server for processing. When the application program terminates, a CLOSE call is issued by the requesting database to tell the database server that the distributed database application is complete. The CLOSE call tells the server the application is complete.

Analyzing DDF error messages


A distributed request can run unsuccessfully for a number of reasons: v Local DDF is not started. v Remote DDF is not started (if the remote system is a DB2). v Remote system is not started.

296

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v v v v v v v

VTAM LU is not active. VTAM path errors have occurred. VTAM failure has occurred. Session or conversation failures have occurred. DB2 communications database entries are incorrect. Security failure has occurred. TCP/IP failure has occurred.

Resource unavailable messages for DDF


For some errors in the distributed environment, the DB2 user or application receives:
SQLCODE -904; RESOURCE UNAVAILABLE

The following is returned to the user in the SQLCA: The DB2 reason code, a code describing the type of the resource which is unavailable, and the resource name. Distributed data facility reason codes start with 00D3. RESOURCE TYPES for errors in a distributed environment are: v 00001000 DDF v 00001001 System conversation v 00001002 Agent conversation v 00001003 CNOS processing v 00001004 Communications database v 00001005 Database access agent v 00001007 TCP/IP domain name v 00001008 TCP/IP service name These resource types are described in DB2 Messages.

VTAM resource information


For VTAM connections, the RESOURCE NAME contains: v LU name v VTAM logon mode name v VTAM return codes v SNA sense data. Four VTAM return codes are displayed in the DB2 error message: v RTNCD: VTAM primary return code v FDBK2: VTAM secondary return code v RCPRI: APPC primary return code v RCSEC: APPC secondary return code. The VTAM macro return codes are described in z/OS Communications Server SNA Programmers LU 6.2 Reference. The SNA sense data is 4 bytes long and consists of: v BYTE 0 + 1 -- Sense code: Category (Byte 0) and Modifier (Byte 1) v BYTE 2 + 3 -- Sense code specific information. Figure 102 on page 298 shows the format of the SNA sense data:

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 297 DO NOT COPY

DO NOT COPY
Sense Data Sense Code Byte 0 Category Byte 1 Modifier Byte 2 Sense Code Specific Information Byte 3

Restricted Materials of IBM Licensed Materials Property of IBM

Figure 102. SNA sense data

The SNA sense data categories are: v X00 -- User sense data only (not for LU 6.2) v X08 -- Request reject v X10 -- Request error v X20 -- State error v X40 -- Request header (RH) usage error v X80 -- Path error. The SNA sense data is described in SNA Formats. If RTNCD contains 00 and FDBK2 contains 0B, the requested VTAM function was unsuccessful and RCPRI and RCSEC should be analyzed. Together with the SNA sense data, the problem can be identified. An example of a DB2 error message for DDF is shown in Figure 103 on page 299.

298

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

CNOS processing for LU LUDBD1 (which is DB2 system SYDNEY) and VTAM logon mode SYSTOSYS was unsuccessful. The VTAM return codes must be analyzed: -------------------------------------------------------------------------------SELECT * FROM SYDNEY.SYSIBM.SYSCOLUMNS; -------------------------------------------------------------------------------DSNT408I SQLCODE = -904, ERROR: UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00D31029, TYPE OF RESOURCE 00001003, AND RESOURCE NAME LUDBD1.SYSTOSYS.00.0B.0008.0001.08570003 DSNT415I SQLERRP = DSNLXCNV SQL PROCEDURE DETECTING ERROR DSNT416I SQLERRD = 900 0 0 0 0 0 SQL DIAGNOSTIC INFORMATION DSNT416I SQLERRD = XFFFFFC7C X00000000 X00000000 X00000000 X00000000 X00000000 SQL DIAGNOSTIC INFORMATION ---------------------------------------------------------------------------------DSNE618I ROLLBACK PERFORMED, SQLCODE IS 0 DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0 -------------------------------------------------------------------------------The DB2 error message is shown below: DSNT408I SQLCODE = -904, ERROR: UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00D31029, TYPE OF RESOURCE 00001003,AND RESOURCE NAME LUDBD1.SYSTOSYS.00.0B.0008.0001.08570003 SQLCODE -904, RESOURCE UNAVAILABLE, tells that the SQL statement could not be executed, because a specific resource was not available at the time the statement was executed: +------------------------------------------------------------+ DSNT408I|SQLCODE = -904, ERROR: UNSUCCESSFUL EXECUTION CAUSED BY AN | | +--------------------------------------+ |UNAVAILABLE RESOURCE.| +---------------------+ DB2 reason code X00D31029 tells that the requested VTAM function to allocate a conversation failed (VTAM returned a non-zero return code): +---------------+ |REASON 00D31029| +---------------+ Code 00001003 defines the resource type of CNOS processing: +-------------------------+ |TYPE OF RESOURCE 00001003| +-------------------------+ Because the VTAM function to perform CNOS processing failed, the specific resource name must be analyzed. The combination of RTNCD/FDBK2 00/0B tells that the VTAM function was unsuccessful and the APPC codes should be analyzed. The combination of RCPRI/RCSEC 0008/0001 tells that a conversation cannot be allocated. The SNA SENSE field 08570003 tells that the SSCP-SLU session is not active. In other words, DDF of SYDNEY is not active. +------------------------------------------------------+ |RESOURCE NAME LUDBD1.SYSTOSYS.00.0B.0008.0001.08570003| +------------------------------------------------------+ | | | | | | | | | | | | | | LUNAME <----------------+ | | | | | | Logon Mode Name <---------------+ | | | | | RTNCD (VTAM primary return code) <-----+ | | | | FDBK2 (VTAM secondary return code) <------+ | | | RCPRI (APPC primary return code) <------------+ | | RCSEC (APPC secondary return code) <---------------+ | SENSE (SNA sense code) <----------------------------------+ Figure 103. DB2 DDF error message in VTAM environment -- resource unavailable

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 299 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Example VTAM and DB2 error messages


In the example of Figure 103 on page 299, a distributed SQL statement references DB2 location SYDNEY and LUNAME = LUDBD1. DDF of the remote system, however, was not started. Both VTAM and DB2 write messages to the z/OS console (VTAM=IST...; DB2=DSN...). When using private protocols, the first conversation established with the remote DB2 is a system-to-system conversation. If this conversation fails, DB2 writes one message, DSNL502I, which indicates that the system conversation failed, and another message, DSNL501I, which indicates that CNOS processing for system-to-system communication failed. The DB2 messages contain VTAM return codes and SNA sense data. From the VTAM point of view, a request to a remote LU failed. VTAM message IST264I indicates that the required resource (the remote DDF) is not active. An example of a DB2 error message for DDF, that is displayed on the z/OS console, is given in Figure 104 on page 301

300

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

*DSNL502I ? SYSTEM CONVERSATION FAILED TO LOCATION=SYDNEY RESOURCE=LUDBD1.SYSTOSYS.01000002.F0EF951D7B82466E RTNCD=00 FDBK2=0B RCPRI=0048 RCSEC=0000 SENSE=08640000 IST663I CDINIT REQUEST TO VTAME FAILED, SENSE=08570003 IST664I REAL OLU=IMSNET.LUDBD2 REAL DLU=IMSNET.LUDBD1 IST889I SID = E2EF951D7B82466E IST264I REQUIRED RESOURCE LUDBD1 NOT ACTIVE IST891I IMSNET.VTAME GENERATED FAILURE NOTIFICATION IST314I END *DSNL501I ? CNOS PROCESSING FAILED FOR LU LUDBD1 AND MODE SYSTOSYS RTNCD=00 FDBK2=0B RCPRI=0008 RCSEC=0001 SENSE=08570003 ----------------------------------------------------------------------------The DB2 error message on the z/OS console is shown below: *DSNL500I ? CONVERSATION FAILED TO LOCATION SYDNEY RESOURCE=LUDBD1.IBMDB2LM.01000007.F0EF951D7B824660 RTNCD=00 FDBK2=0B RCPRI=0048 RCSEC=0000 SENSE=00000000 This message indicates a conversation failure with remote location SYDNEY: *DSNL500I ? CONVERSATION FAILED +------+ TO LOCATION|SYDNEY| +------+ Location name <----------+ The resource field consists of: +-----------------------------------------------------+ | RESOURCE=LUDBD1.IBMDB2LM.01000007.F0EF951D7B824660 | +-----------------------------------------------------+ | | | | LUNAME <--------------+ | | | VTAM logon mode name <--------+ | | Conversation identifier <--------------+ | Session identifier <--------------------------------+ The return codes field consists of: +--------------------------------------------------------+ | RTNCD=00 FDBK2=0B RCPRI=0048 RCSEC=0000 SENSE=00000000 | +--------------------------------------------------------+ | | | | | | | | | VTAM primary return code | | | | VTAM secondary return code <-+ | | | APPC primary return code <------------+ | | APPC secondary return code <---------------------+ | SNA sense data / DB2 reason code <--------------------------+ The sense field contains a DB2 reason code, if it starts with 00: +--------------+ |SENSE=00RRRRRR| 00RRRRRR = DB2 reason code +--------------+ Otherwise, the sense field contains the SNA sense data: +--------------+ |SENSE=CCMMIIII| CC = Category +--------------+ MM = Modifier IIII = sense code specific information Figure 104. Analyzing DB2 and VTAM error message on z/OS console

TCP/IP resource information


For TCP/IP connections, the RESOURCE NAME contains: v value in column LINKNAME in table SYSIBM.IPNAMES v value in column IPADDR in table SYSIBM.IPNAMES v TCP/IP error code from socket call gethostbyname or getservbyname
Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 301 DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
if v v v

Restricted Materials of IBM Licensed Materials Property of IBM

the resource is a TCP/IP domain name, or value in column LOCATION in table SYSIBM.LOCATIONS value in column PORT in table SYSIBM.LOCATIONS TCP/IP error code from socket call gethostbyname or getservbyname

if the resource is a TCP/IP service name.

Example TCP/IP and DB2 error messages


Figure 105 shows an example of messages you receive on the z/OS console when a local DB2 subsystem attempts to connect to a remote DB2 subsystem, but DDF is down on the remote system.
DSNL511I ? DSNLIENO TCP/IP CONVERSATION FAILED TO LOCATION STLEC1B IPADDR=9.112.126.120 PORT=447 SOCKET=CONNECT RETURN CODE=1128 REASON CODE=12F80291 Figure 105. Analyzing DB2 and TCP/IP error message on z/OS console

Message DSNL511I indicates that the TCP/IP CONNECT socket call failed. The CONNECT call establishes a connection between the socket for the local DB2 and the socket for the remote DB2. The IPADDR and PORT values are for the remote DB2. For information on the return codes and reason codes from TCP/IP socket calls, see z/OS MVS Programming: Callable Services for High-Level Languages.

TCP/IP startup problems


These TCP/IP startup problems are common sources of unsuccessful DDF operation: v The TCP/IP listener is not started because of a TCP/IP configuration problem, or because the DNS is not available during DDF startup. In this situation, DDF startup completes, but the domain name in message DSNL004I is -UNKNOWN. Connections cannot be established until the TCP/IP listener is successfully established and TCP/IP services become available for DDF. After the initial connection failure, DB2 periodically attempts to reinitialize TCP/IP. When the connection is successful, DB2 issues message DSNL519I. | | | | | | | | | | | | | | | | | | | v A TCP/IP getaddrinfo socket call fails during DDF startup. When this occurs, DB2 issues the following message:
DSNL512I ? DSNLILNR TCP/IP GETADDRINFO(myhostname) FAILED WITH RETURN CODE=1 AND REASON CODE=78AE1004

Possible causes are: The DDF application cannot access the TCPDATA data set. The DNS is not available. There is no entry for the IP address of the local host in the DNS. There is no entry in the /etc/hosts file. There is no entry in the hlq.HOSTS.ADDRINFO data set. The search order used to find the TCPDATA data set for the DDF application is: 1. /etc/resolv.conf file 2. Data sets in the //SYSTCPD DD statement 3. jobname.TCPIP.DATA 4. SYS1.TCPPARMS(TCPDATA) 5. TCPIP.TCPIP.DATA The first file in this list is used as the TCPDATA file. After this file is correctly defined to DDF, you can use the TRACE RESOLVER statement in this file to further diagnose a problem. The resolver trace displays the IP address that is

302

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | |

being resolved, so you can confirm that the gethostid call was successful. The resolver trace also displays any errors encountered with the DNS or local files. The output of the resolver trace is in the JES log of the DDF started task, DSNDIST.

DB2 hangs during distributed processing


If a user or application hangs during distributed processing, the condition causing the problem can be at the requesting (local) system, the serving (remote) system, or in the network (VTAM, TCP/IP, CTC, NCP, etc.). At a DB2 system, the command DISPLAY THREAD DETAIL can be used to get information about distributed threads. This command should be issued at both requesting and serving locations to get the current status of the distributed thread. | | | | The command -DISPLAY THREAD (*) TYPE(SYSTEM) can be used to identify the tokens of DB commands and system agents that can be canceled. After the tokens have been identified, you can use the -CANCEL THREAD (token) command to cancel DB commands and system agents that are in progress. Canceling a distributed thread that is hung in VTAM: When your network connection is through VTAM, a distributed thread can be: v Active in VTAM v Waiting in DB2 for VTAM notification that a particular event is completed v Not in VTAM, not in DB2 (for example, waiting for user input). If the distributed thread is not active in VTAM, it can be canceled by using the CANCEL DDF THREAD command. A distributed thread should be canceled at the requesting location. In this case, both the allied thread (at the requesting location) and the database access threads (at the serving location) are terminated with an SVC dump. If the distributed thread is canceled at the serving site, only the database access thread is terminated with a dump. A description on both the DISPLAY THREAD DETAIL and CANCEL DDF THREAD commands can be found in DB2 Command Reference. If a distributed thread is hung in VTAM, the following VTAM command can be used to terminate the session:
V NET,TERM,SID=SESSION-ID

To terminate a session, the session identifier must be known. The following procedure can be used to find the session identifier and terminate the thread: 1. Use the DB2 command DISPLAY THREAD LOCATION DETAIL to identify the hung thread. Get the session identifier (field SESSID). A DB2 command DISPLAY THREAD LOCATION DETAIL is used to find the hung thread. In this example, it is authorization ID SYSOPR using DB2 plan CAN1. The session identifier is F0EF951D7B824660:

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 303 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

?DIS THD(*) LOC(*) DET DSNV401I ? DISPLAY THREAD REPORT FOLLOWS DSNV402I ? ACTIVE THREADS - 056 NAME ST A REQ ID AUTHID PLAN ASID TSO TR 178 SYSOPR SYSOPR CAN1 0012 -IMSNET.LUDBD2.A0FFF131B239=3 ACCESSING DATA AT -SYDNEY --LOCATION SESSID A ST TIME --SYDNEY F0EF951D7B824660 S 8927509332750 DISPLAY ACTIVE REPORT COMPLETE DSN9022I ? DSNVDT ?DIS THD NORMAL COMPLETION Figure 106. Session identifier

TOKEN 3

2. Use the VTAM command D NET,ID=luname,SCOPE=ALL: Take the last seven bytes of the session identifier provided by the DISPLAY THREAD DETAIL command from step 1 to correlate the VTAM session identifier (field SID). In Figure 107, the VTAM session identifier is E2EF951D7B824660.
D NET,ID=LUDBD2,SCOPE=ALL IST097I DISPLAY ACCEPTED IST075I NAME = LUDBD2, TYPE = APPL IST486I STATUS= ACTIV, DESIRED STATE= ACTIV IST861I MODETAB=DB2MODES USSTAB=***NA*** LOGTAB=***NA*** IST934I DLOGMOD=***NA*** IST597I CAPABILITY-PLU ENABLED ,SLU ENABLED ,SESSION LIMIT NONE IST654I I/O TRACE = OFF, BUFFER TRACE = OFF IST271I JOBNAME = DBD2DIST, STEPNAME = DBD2DIST IST171I ACTIVE SESSIONS = 0000000004, SESSION REQUESTS = 0000000000 IST206I SESSIONS: IST634I NAME STATUS SID SEND RECV VR TP NETID IST635I LUDBD1 ACTIV-S E2EF951D7B824660 000A 0010 0 0 IMSNET IST635I LUDBD1 ACTIV-S E2EF951D7B82465F 001D 0000 0 0 IMSNET IST635I LUDBD1 ACTIV-P E3EF951D7C824D69 0000 000F 0 1 IMSNET IST635I LUDBD1 ACTIV-P E3EF951D7C824D68 0002 0002 0 1 IMSNET IST314I END Figure 107. Session identifier

3. Use the session identifier provided by the VTAM DISPLAY command from step 2 to terminate the session via the VTAM TERMINATE command V NET,TERM,SID=session-id.
V NET,TERM,SID=E2EF951D7B824660 IST097I VARY ACCEPTED MSG0: PLEASE STAND BY ..... IST455I SID=E2EF951D7B824660 SESSIONS ENDED Figure 108. Session identifier

After the session is terminated, APPC primary/secondary return codes of RCPRI=0048, RCSEC=0000 are returned to DB2. This combination of RCPRI and RCSEC indicates that the conversation was terminated because the session, which was used by the conversation, was terminated. In z/OS Communications Server SNA Programmers LU 6.2 Reference this combination of RCPRI/RCSEC is called Resource failure, no retry. At the remote site (subsystem recognition character !), APPC primary/secondary return codes of RCPRI=004C, RCSEC=0000 are returned to DB2. This combination is called Resource failure, retry.

304

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

*DSNL500I ? CONVERSATION FAILED TO LOCATION SYDNEY RESOURCE=LUDBD1.IBMDB2LM.01000007.F0EF951D7B824660 RTNCD=00 FDBK2=0B RCPRI=0048 RCSEC=0000 SENSE=00000000 *DSNL500I ! CONVERSATION FAILED TO LOCATION STUTTGART_PROD RESOURCE=LUDBD2.IBMDB2LM.01000007.F0EF951D7B824660 RTNCD=00 FDBK2=0B RCPRI=004C RCSEC=0000 SENSE=00000000 Figure 109. Session identifier

In this example, a DB2 reason code 00D300FE is returned to the user, indicating that the success of a remote commit operation could not be determined by DB2:
COMMIT PROCESSING ABNORMAL TERMINATION, REASON CODE X00D300FE

Canceling a distributed thread with a TCP/IP connection: When your network connection is through TCP/IP, a distributed thread can be: v Active in TCP/IP v Waiting in DB2 for TCP/IP notification that a particular event is completed v Not in TCP/IP, not in DB2 (for example, waiting for user input) A distributed thread that uses a TCP/IP connection can be canceled by using the DB2 command CANCEL DDF THREAD. Use the DB2 command DISPLAY THREAD DETAIL to identify the hung thread. A distributed thread should be canceled at the requesting location. In this case, both the allied thread (at the requesting location) and the database access threads (at the serving location) are terminated with an SVC dump. If the distributed thread is canceled at the serving site, only the database access thread is terminated with a dump. A description on both the DISPLAY THREAD DETAIL and CANCEL DDF THREAD commands can be found in DB2 Command Reference.

Problem determination procedures


Distributed processing problems fall into these general categories: v ABENDs v Performance problems and hang situations v Loops v Storage shortages v Incorrect output v Unexpected messages The following sections discuss each of these problems, along with general diagnosis techniques, and techniques specific to VTAM or TCP/IP.

Abends
All programs can abnormally end (ABEND) at one time or another. Most applications have some sort of recovery processing to try to avoid actually terminating the application. VTAM and TCP/IP are fairly typical in this respect, and usually attempt to recover before terminating. If there is no other indication of a problem, check whether a dump has been taken. For an ABEND0C4 or ABEND0A9, usually an SVC dump of the address space is taken. In general, for complete diagnosis of a VTAM or TCP/IP problem, CSA must be dumped.
Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 305 DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

From the dump, the location of the failure can be determined. This is often included in a dump summary, formatted at the top of the dump. This information can be used to check in INFOSYS (if INFOSYS is available at your site) for known problems in this area. If INFOSYS is not available or a fix cannot be found, then contacting the IBM Support Center or IBM Service with the following information often resolves the problem. v Abend code v Failing module name This information can be gathered from the dump, or sometimes from the console log messages issued at abend time. If the module name is not included in the dump summary information, then locate the PSW address (second word of the PSW) in the dumped storage. Work backwards through the dump (towards zero) until an eyecatcher is encountered. The eyecatcher includes the module name. VTAM module names all start with IST. TCP/IP module names all start with TC. (The eyecatcher is alphanumeric data usually written at the front of the module. It can be read from the EBCDIC conversion area on the right-hand side of the dump. For example, in the dump, the module name could be xC9E2E3D6D9C6C2C1. In the EBCDIC conversion area, you would see, ISTORFBA.) v Offset of PSW into this module Usually, just prior to the eyecatcher is a x47.... instruction, which branches around the eyecatcher and into the module code. This instruction is the start of the module. Subtract the address of this instruction from the PSW address to determine the offset. Remember that this is in hex, not decimal. If the module is in LPA, an LPA map can be generated. The LPA map indicates the start of the module. Work out the offset using this start address. v Latest maintenance to hit this module This information can be gathered either from the dump, or by using SMP/E. Again, find the eyecatcher in the dump. This normally includes an assembly date and the latest PTF to be applied to the module. Write down both the assembly date and the PTF number. v Registers at the time of the abend This information can be taken either from the console log or the dump. Register 15 sometimes contains a return code that assists in problem diagnosis; for example, on an ABEND0A9. v Recent maintenance applied PTFs or APARs that have been recently applied may have contributed to the circumstances that caused the problem. v Recent changes to the system In general, problems occur only after changes have been made to a system. Keep an open mind when looking at recent changes. Even changes that appear totally unconnected may be the cause of the problem. v Frequency of the abend How often the abend has occurred can give some idea of the magnitude of the problem. If the abend is occurring frequently, it indicates that something fairly fundamental is wrong. If it is a one-time occurrence, it may be an obscure set of circumstances, perhaps timing-related, that has caused the problem.

306

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The IBM support center personnel might request additional information. The console log around the time of the abend and the dump should be kept, in case further diagnosis of the problem requires more information from the dump. Abends in VTAM: VTAM abends fall into two categories: those where there is an abend in the VTAM address space, and those where the abend occurs in the VTAM code in a user (like DDF) address space. The link pack area (LPA) has VTAM code which is accessible by all address spaces. Remember that VTAM has its control blocks in the common service area (CSA). These too, are accessible by all address spaces. In this way, each address space can do VTAM processing in its own address space. In general, this is I/O processing: sending and receiving data across the application interface. In this way the DDF address space may abend in a VTAM module and cause a dump of the DDF address space to be taken. VTAM has several z/OS abend codes that are reserved for VTAMs use only. These are ABEND0A7, 0A8, 0A9, 0AA, 0AB, 0AC and 0AD. The most commonly occurring of these abends is ABEND0A9. The value in general purpose register 15 (GPR15) gives some indication of the problem. Sometimes the ABEND0A9 is preceded by an ABEND0C4. Always look for an indication of a previous error. This could be another abend, or an error message to the user or the console. It is not necessarily a VTAM message, and may not occur immediately before the abend. LOGREC is a good source for finding abends that may have been missed on the console by the operators. It is important to start diagnosing a problem when the first sign of trouble occurs, as later problems are often part of the aftermath of the original problem. Recovery routines normally retry the failing process before eventually terminating.

Performance problems and hang situations


When the problem is a hang, it can be very difficult to determine the cause of the problem. Always look for any indication of a problem on the console log. If the log contains nothing of immediate interest, try to determine the extent of the hang. Try to put the users that are hung into groups with common characteristics: Are only users of one particular application hung? For example, local DB2 (on DBD1) requests are working, but requests to another remote DB2 (DBD2) are hanging. Some areas that could be investigated include: Are local requests on the remote host (DBD2) working? If not, this would appear to be a problem on the other host. Look for an abend, loop or wait type problem. Check the remote host console for any relevant messages. Check whether DB2 commands on the remote host (DBD2) work. For example, if no commands work, this could mean a problem in DB2. If most commands work, but a cancel thread command does not, this may indicate a problem in the DDF address space or in VTAM or TCP/IP. If local requests are working, then the problem would appear to be in either the network or the DDF address space. Is any network traffic flowing between the two hosts?
LY37-3218-01 Copyright IBM Corp. 1983, 2007 Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 307 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Check whether there are any other network users hung. If there are, then this is most likely a network problem. Are all the hung users in one particular part of the network? For example, all hung users may have terminals on one controller. In this case, the problem could be the controller. Display the status of the controller, for it might need to be used again. Another example could be all the hung users are accessing the network through one particular link and this link has is having large numbers of errors. This could result in slow response times due to error recovery and retries. Investigate the link problem. When a device or line connected to an NCP goes inoperative (INOP), NCP generates a miscellaneous data record (MDR). This is sent to the owning SSCP. These records are found in LOGREC and can be viewed by requesting an EREP report. The records can also be seen online using NetView Hardware Monitor (or an equivalent). These records contain information on why the resource went INOP. They are very useful for problem determination. Is any particular address space using very high CPU utilization? If so, monitor this, as the address space might be in a loop. Are all users hung? If so, this is could be a more fundamental problem with the operating system. Check whether any z/OS commands are working. In any hang situation, the results (or lack of results) from a variety of displays can give a clearer picture of the scope of the problem. The more information that is available, the easier the problem diagnosis is, and, usually, the faster the resolution is. It is a discouraging task to find a problem in a VTAM dump when only told that it was hanging. It can also be very time-consuming. VTAM-specific questions to ask: What is the status of the remote application LU (LUDBD2)? The command D NET,ID=<remote DDF>,SCOPE=ALL issued on the host owning the application indicates if the application is active and has any sessions with the local DDF. If the status is not ACTIV, check the meaning of the status in the manual and take appropriate action. The same command issued on the local host displays the CDRSC status. Make sure this is ACTIV (or ACT/S) also. Are sessions already set up? The command above indicates whether there are active sessions. There are three sessions required for system use; one with a LOGMODE of SNASVCMG, and two with SYSTOSYS LOGMODE. If there are no sessions, then check the virtual route between the subareas. Are the sessions working? By repeating the displays, check the send and receive counts on the user sessions. Also, a DISPLAY THREAD(*) DETAIL command shows whether there is a conversation on each session. The users may be hung waiting for a conversation to end. When a session becomes available for a new conversation, this users remote database access is processed.

308

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Is the virtual route between the two subareas open and active? Use a D NET,ROUTE command to see if the virtual route is operational. If the virtual route is blocked, this indicates there could be a storage shortage problem somewhere in the network. This may be a host or an NCP storage shortage. Is the CDRM to CDRM session between the two hosts active? The command D NET,ID=<CDRM name> can be used to display the status of the CDRMs, these should both be ACTIV. Are all users that are in session working and only those that are causing a session to be established hung? In this circumstance, the problem could be a VTAM problem. Remember that most of the send and receive data processing is done in the users address space. All session establishment is done in VTAMs address space. Check the following areas: Do VTAM commands work? If so, then VTAM seems to be working. If not, then VTAM may be in a wait (unlikely) or loop (more likely) or perhaps VTAM is unable to get a share of the CPU. VTAM paging: Is VTAM doing a large amount of paging? If so, what looks like a loop in VTAM could be VTAM running a very long chain of control blocks. If the hang occurs only on a session when one particular request is made, often a VTAM buffer trace can be used to see the last PIUs flowing on the session. These PIUs can often hold the key to the problem.

Loops
When a loop is suspected, there are a variety of actions that can be taken: CPU usage: Usually a loop can be readily found by displaying CPU usage. Of course, it is necessary to have some idea of normal CPU usage for the suspected address space, for comparison purposes. In general, any address space using an unusually high amount of CPU should be suspected. Paging rates: The paging rates can be monitored to check for any abnormally high rates. Of course, normal usage is again needed for comparison purposes. Loop recording: The 3090 and 308X CPUs have a hardware facility to record up to 490 PSWs. This facility is activated from the hardware console and can be used to trace a loop. The output is dumped when an SVC or stand-alone dump is taken. This can be very helpful when debugging a loop problem. For more information on this facility, consult the documentation for your particular CPU. Dumps: Usually when a loop is encountered, there is not much that can be done to recover the situation. Usually, a dump must be taken and the system restarted. Dumps can be taken in any of the following ways: z/OS DUMP command: If the CPU has several processors, z/OS commands may still be working. If so, then, requesting a dump of the looping address space may be sufficient to obtain a dump. Restart dump: If the CPU has only a single processor, then a restart dump can be taken.
LY37-3218-01 Copyright IBM Corp. 1983, 2007 Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 309 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Stand-alone dump: If neither of the above dumping methods is appropriate, then a stand-alone dump can be taken. Normally, this is the last choice as the entire system is taken down, and an IPL is required to recover. With a multi-processor CPU a loop can appear as degraded performance. For example, if the CPU has four processors and one is processing the loop, this leaves three CPUs for normal processing. This reduction in processing power normally causes some performance degradation. Any users associated with the looping address space are normally hung. Before contacting the IBM Support Center, try to have the following information available: v Looping modules. Try to determine the modules involved in the loop using z/OS Communications Server SNA Diagnosis or z/OS Communications Server IP Diagnosis Guide. v Maintenance level of the modules. Gather this information from SMP/E. v Messages. Look for any messages on the console that might have triggered the loop. If one message is being repeatedly issued, include it in the description of the loop. v Trace output. Have the output from any traces taken available, together with any information gained from the trace. v Dump v Console log Have these available in case further diagnosis is required. VTAM internal trace: If the VIT is active, this can give some insight into the problem. If the loop causes entries to be written to the VIT, then the trace table is likely to wrap before the operators have determined that VTAM is in a loop. However, if the loop does not cause trace entries to be written, the VIT can be invaluable in determining the event that initiated the loop.

Storage shortages
Diagnosing storage shortage problems can be quite difficult. However, generally, with a dump and an idea of where the shortage occurs, the problem source can be identified. When contacting the IBM Support Center, have available as much relevant information as possible. Remember to check for any changes that have been made at the site. Many applications make use of VTAMs or TCP/IPs services. Changes made for one application can adversely affect another application. Storage shortages in VTAM: Storage shortages can manifest themselves in any of the following ways: VTAM messages: A VTAM message might be received at the console, indicating a storage shortage. This message normally indicates the z/OS subpool where the shortage has occurred. Using this subpool number, the area of storage experiencing the shortage can be determined. For example, subpool 231 (SP231) is CSA, while subpool 17 (SP17) is in the address space private area. The most common storage shortage problems involve CSA. VTAM uses large amounts of CSA for its control blocks and buffers containing data that is being sent around the network. This problem can be due to a variety of causes. For example,

310

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

if one application is flooding another with data, and the second application is unable to receive the data and process it at an adequate rate, then the buffers build up in VTAM storage. This situation can be avoided by using session pacing. If VTAM is unable to get enough storage to issue a message, then the normal storage shortage message is accompanied by an IST999E message. RCPRI and RCSEC: The Primary return code (RCPRI) and secondary return code (RCSEC) are both given to DDF when an APPCCMD macro has completed. On occasion, these codes may indicate that there is a storage shortage in VTAM. For example, if RCPRI is x0084 and RCSEC is x0000, then this indicates a storage shortage while VTAM was receiving data or sending a pacing response. A RCPRI of x0098 with RCSEC of x0000 indicates there is a temporary storage shortage while sending data. Usually this return code means that the send request has temporarily depleted the buffer pool to such an extent that the pool must be expanded. The expansion had not occurred before the completion of the APPCCMD macro. SNA sense code: Some SNA sense codes indicate there may be a storage shortage also. For example, a user might be accessing data from the remote database, and receive 084C0000. Checking this sense code in the manual indicates that there is a permanent insufficient resource condition. This resource could be storage. Other sense codes, such as 800A000 indicate a storage type problem, but not necessarily a storage shortage. Abends: There are a series of z/OS abends which indicate storage shortage problems. For example, ABEND878 and ABEND80A. These are uncommon in VTAM. Hangs: Depending on the storage shortage and the processing that is occurring, the storage shortage could manifest itself in a hang situation. For example, if a virtual route becomes blocked due to storage shortages, then all the sessions that had been using that session hangs until the storage shortage is relieved and the virtual route becomes open again. When any of these indications of a storage problem is received, the following steps can be used to find out more information about the shortage: Determine the area of storage shortage. This is important, as the VTAM display command has information about the VTAM CSA usage. This does not help diagnosis if the storage shortage is in VTAM private. However, perhaps CSA usage should probably be checked anyway. The area can be determined by checking the z/OS subpool number (for example, as given in a message). The following subpools are in the CSA area:
SP227, SP228, SP231, SP239, and SP241.

Display buffer usage: If the storage shortage has occurred in one of the CSA subpools, then a D NET,BFRUSE command can be used to determine the amount of CSA storage being used by VTAM. Usually the buffer use display gives a good idea of which VTAM pool is causing the storage shortage. Monitor buffer usage: When looking at a buffer shortage, it is often helpful to know whether the onset of the problem was gradual or immediate. If regular buffer usage displays are done, then gradual increases in buffer use can be seen.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 311 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

These gradual increases may take days to manifest themselves into storage shortage problems. In fact, if VTAM is taken down regularly, the storage shortage symptom may never been seen. Another benefit of regular monitoring of the buffers is that when a problem does occur normal buffer usage for that host is known, so some comparison of the buffer values can be done. If the onset of the buffer shortage is very fast, then check the system console (or log), looking for some event that has triggered this problem. This could be virtually anything. For example, an NCP has a problem and large amounts of data that was heading out onto the network is now caught in VTAM while recovery of the NCP is attempted. Take a dump: To finally determine the cause of the problem, a dump is usually necessary. When taking the dump, be sure to include CSA in the dumping options. Without CSA the dump is almost useless. The VTAM diagnosis manual describes how to find each of the VTAM pools, and what control blocks are allocated in each pool. Traces: The SMS option on the VTAM Internal Trace can be very helpful when looking at storage-related problems. When used in conjunction with other options (PSS, SSCP and PIU for example), it can give a much clearer insight into the processing that is causing the storage shortage. The SMS storage trace can be used to monitor the buffer pool usage if regular displays are inconvenient. Storage shortage problems fall into the following main categories: No session pacing: In this case, the VTAM IO buffers (IOBUFs) are being flooded by one application. Finding the IOBUFs in the dump can often lead to the application at fault. Usually the problem starts after the introduction of (or changes to) an application. Look for any changes in the system that could have caused the problem. Control blocks not freed: There have been problems in the past where control blocks were not freed when they were no longer needed. These control blocks gradually fill large amounts of CSA. This type of problem can normally be found with a search in INFOSYS, if this is available at the site, or RETAIN, if you call the IBM Support Center or IBM Service. If a known problem is not found, then the IBM Support Center should be contacted for further problem diagnosis. Buffer pool unable to expand: If the buffer pool has been scheduled for expansion by VTAM, but for some reason is unable to do so, a storage shortage error can be received. This could be a transient condition while the buffer pool is being expanded. If this is not a transient condition, check that the pool is eligible for expansion. That is, there is an expansion limit and expansion number assigned to the buffer pool. If dynamic expansion has not been allowed, then the pool may have used all of its base allocation. In this case, the base allocation should be increased.

312

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Incorrect output
Incorrect output problems can take a variety of forms. In general, the problems can be grouped into two categories. The first category is where the remote access request fails. An SQL return code and SNA sense code or TCP/IP return code and reason code are received. In the second category the request works, but the information received is not correct. REQUEST FAILS WITH RETURN CODE: When a remote database access fails, normally the user receives a DB2 DDF message. These codes should be investigated and depending on the type of error, the appropriate action taken. VTAM example: A user receives an SNA sense x800A0000. Checking this sense code in the SNA formats manual tells us that either the PIU was too long, or there was not sufficient buffering available for the PIU. To diagnose the problem, it is easiest to see the PIUs to check if the length is over the RUSIZE maximum that is defined in the MODETABLE entry for the session. To do this, take a VTAM buffer trace of the attempted remote access. This is done by starting the trace with ID=<DB2 LU>. Optionally, either (or both) of the DB2 systems can be traced: that is, the local and/or remote DB2 LU. If the remote DB2 system is traced, we see the PIUs (and the lengths of these PIUs) that the remote DB2 is sending. Remember that large amounts of data are coming from the remote host, so these large PIUs are more likely to be too long than the smaller requests from the local DB2. If the local DB2 is traced, the large PIUs should be seen arriving from the remote DB2. In this trace, look for a PIU which has sense included as part of the RU. Often a search in INFOSYS, or RETAIN reveals information on the effect of particular VTAM definitions. This often leads to a resolution. If not directly, then indirectly by indicating new areas that can be checked for errors. Of course, each problem must be treated individually, depending on the information received from the sense codes. Often a VTAM buffer trace helps in understanding a problem which results in a SNA sense code. The trace shows exactly what is happening on the session and the sequence of events leading up to the issuing of the sense. Inconsistent data: Under normal circumstances, inconsistent data is not caused by the network. Remember that if there is a network problem, all the network users are likely to be affected, not just one application. So, inconsistent data is more likely to be a problem within the database. For example, if a user does a remote update and the commit fails to complete, the data on the database could be updated or not, depending on how far the commit progressed. A DB2 code, for example, x00D300FE may be received when a DDF thread is canceled. In these circumstances a local request for the updated data should be made to check the actual state of the data to avoid inconsistent data being given to the users.

Unexpected messages
Sometimes the first indication of a problem is a message received at the console. In general, the meaning of the message should be reviewed in VTAM for MVS/ESA Messages and Codes or z/OS Communications Server IP Messages and the appropriate action taken.
Chapter 12. Diagnosing Distributed Data Facility (DDF) Failures 313 DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

VTAM example: Message DSNL013I VTAM OPEN ACB FAILED ERROR=90 is received. This message indicates a problem has been encountered while DDF was trying to open its ACB. The open ACB error code should be checked in z/OS Communications Server SNA Programming. The error codes are listed in the section describing the OPEN macro. In this case, an error code of 90 means that VTAM could not find a resource in the VTAM definitions that matches the name in the ACBs APPLID field. This is probably because the application major node is not active. Often an open ACB error is due to the ACB not closing properly when the application was last inactivated. The console log should be checked around the time of the last inactivation for any sign of an error. TCP/IP example: A DB2 data sharing group consists of 2 members, DB2A and DB2B. These messages appear on the z/OS console of member DB2B when DDF starts on DB2B:
DSNL512I -DSNB DSNLILNR TCP/IP LISTEN FAILED WITH RETURN CODE=1115 AND REASON CODE=12E00291 DSNL004I -DSNB DDF START COMPLETE LOCATION STLEC2 LU USIBMSY.SYEC2B GENERICLU -NONE DOMAIN V8EC113.STL.IBM.COM TCPPORT 446

All members of the data sharing group share the same port number for incoming requests. In this instance, DB2A is already using the port number (446), so DB2B gets error DSNL512I, which indicates that the LISTEN socket call failed. This means that DB2B cannot service incoming connection requests. DB2 retries the LISTEN call every 3 minutes. When DB2A stops, DB2B can use port 446, and DB2 issues message DSNL004I, which indicates that DDF has started successfully on DB2B.

314

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 13. Diagnostic Tools for DDF and VTAM


This chapter discusses the following tools that you can use to diagnose problems in DDF: v VTAM traces v Storage Management Services (buffer use) trace on page 324

VTAM traces
The VTAM buffer trace, the VTAM internal trace, and the z/OS I/O trace can be used to determine problems during distributed processing including investigating the flows between logical units (LUs).

Generalized trace facility (GTF)


The generalized trace facility (GTF) in z/OS allows users to write records to a trace file. These traces can then be formatted into a more easily-read form. GTF can be started by issuing the following command:
S GTFDDF.GTF (S is the z/OS GTFDDF is the name GTF is the name when you Start command of the GTF procedure of this job. Use this name want to stop GTF.)

GTF needs to be initialized with the USR option when you run the DB2 traces, the VTAM buffer, or the VTAM internal trace. The USR option allows VTAM or DB2 to write user (USR) to the GTF file. When you use the VTAM IO trace, RNIO should be included among the GTF options. The RNIO parameter includes all VTAM network activity in the trace. The output data set for the GTF trace (the default is called SYS1.TRACE) needs to large enough to avoid wrapping the traces. If the GTF trace data is on DASD and fills up, it wraps around to the beginning and the initial trace data is lost. In particular, the VTAM internal trace can create a large number of records. After the traces finish running, the GTF job should be stopped. After the traces are completed, the GTF job should be stopped, using the z/OS STOP command, which closes the data set holding the user records. The records can then be formatted.

Path information units (PIUs)


The path information unit (PIU) is the basic unit of information transfer throughout the network. The PIU contains the information necessary to reach its destination logical unit (LU), to maintain the protocols that the session is using, and to carry the data that the user transmits.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

315

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Transmission Header (26 bytes)

RH

Request/Response Header (3 bytes)

Request Unit (variable size)

Figure 110. The format of a PIU

The major parts of the PIU shown in Figure 110 are: v Transmission Header (TH) v Request or Response Header (RH) v Request Unit (RU). Figure 111 is an example of a BIND PIU.
LUDBD3 /LUDBD1 LRC(000,000) INBOUND TH=40000001 20008000 0000000F 0000000E 1D00006D 006A0018 0085 RH=6B8000 31001307 B0B050B3 00888585 88000602 00000000 *......&;.heeh.......* 00000010 23000006 D3E4C4C2 C4F12400 0902E2D5 *........LUDBD1....SN* C1E2E5C3 D4C70903 00EF951D 79D77865 0E04C9D4 *ASVCMG....n..P....IM* E2D5C5E3 4BD3E4C4 C2C4F100 06D3E4C4 C2C4F360 *SNET.LUDBD1..LUDBD3-* 15E3EF95 1D79D778 650CC9D4 E2D5C5E3 4BE5E3C1 *.T.n..P...IMSNET.VTA* D4C50E0E F3C9D4E2 D5C5E34B D3E4C4C2 C4F12C0A *ME..3IMSNET.LUDBD1..* 01084040 40404040 4040 *... * Figure 111. A BIND path information unit

Transmission header (TH)


The transmission header (TH) is used for routing information. It includes both the destination and origin logical unit (LU) addresses, and a length field. In Figure 111, the origin subarea address is four bytes long at offset XC, and the element address is two bytes long at offset X14. So, the origin address in our BIND PIU is subarea X0000000E, element X006A. The destination subarea address is four bytes long at offset X8, and the element address is two bytes long at offset X12. The destination address in Figure 111 is subarea X0000000F, element X006D At offset X18 in the transmission header, there is a length field. This length does not include the length of the transmission header, but only the length of the request/response header (RH) and the request unit (RU). In Figure 111 the length is X85. In the example there is a request/response header of three bytes; the request unit is X82 bytes long. VTAM uses the length byte to ensure that the correct length of data is received.

Request/response header (RH)


The request/response header (RH) is used for maintaining the sessions protocols. Each bit in the three bytes is an indicator. Bits that are relevant while using the distributed data facility (DDF) include: BYTE 0 - X6B

316

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v Request response indicator (RRI - byte 0 bit 0). If this bit is on (1), this PIU is a response PIU. If it is off (0), then the PIU is a request. v Sense data included (SDI - byte 0 bit 5). If this bit is on, then the first four bytes of the RU is SNA sense data. This sense data can often help to determine the cause of a problem. BYTE 1 - X80 Pacing indicator (PI - byte 1 bit 7) v If this bit is on and the PIU is a request, this is called a pacing request. A number of PIUs have been sent across the session and the origin LU is asking for confirmation that the destination LU is capable of taking more data. The LU that receives this PIU would normally (if there were no resource shortages) send back a pacing response. v The pacing response (with both the RRI and PI bits on) is normally sent with no user data. That is, it is sent on its own. The pacing request, however, is usually sent on a PIU that contains data. BYTE 2 - X00 v Begin bracket indicator (BBI - byte 2 bit 0) v End bracket indicator (EBI - byte 2 bit 1) v Conditional End Bracket Indicator (EBI - byte 2 bit 7). These three bits control the use of bracketing on the session. Brackets are used around each distributed data facility (DDF) conversation. v Change Direction Indicator (CDI - byte 2 bit 2). This bit is used in the control of the half duplex session. On a half duplex session, only one LU can be sending at a time. The other LU, at this stage, must be receiving. The CDI flows to allow this receiving LU to send data after the receive is complete. Not all bits in the RH have been included here. For a complete layout of the RH, see SNA Formats.

Request unit (RU)


The Request Unit is the information that is being sent between the two network addressable units (NAU) on the session. Depending on the session the RU can take different forms. SSCP sessions v The first bytes of the RU indicate a request or response code. Depending on the code, the rest of the RU takes a format specific for that code. For example, a CDINIT (Cross Domain INITiate) has a code of X818641 while a SESSST (session started) RU has X810686 as the first three bytes of the RU. LU to LU sessions v The first byte may contain a code like those in the SSCP sessions. (For an example, see Figure 111 on page 316.) The BIND has a code of X31 and has a standard format, which is documented in SNA Formats. The first bytes of the RU may be a Function Management Header (FMH). The distributed data facility (DDF) uses FMH5 to start conversations and for CNOS. It also uses FMH7 for errors. These FMHs have a standard format, which is documented in SNA Formats. Usually, the FMH is followed by other data being sent.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 13. Diagnostic Tools for DDF and VTAM 317 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The request unit (RU) can be data only, in a format (or it may be unformatted) that is recognized only by the applications on the session.
USRFD FEF ASCB 00F9D980 JOBN DBD2DIST BUFF LUDBD1 /LUDBD2 LRC(000,000) OUTBOUND VTAM TH=40000000 00000000 0000000E 0000000F 1C00006B 006E0007 0350 RH=0B90A0 270502FF 0003D000 400430F0 F3F20000 00000000 *........ ..032......* 00000000 00000000 00000000 00000000 00000003 *....................* 26EFFE41 550010D4 C2C84000 00032641 080060D4 *.......MBH .......-M* C9C24000 00008B00 00000000 00000000 010002A0 *IB .................* EFCF1437 699C01A0 EFCF1437 699C0100 00000000 *....................* 00000000 00000000 00000000 00000000 00000000 *....................* 00000000 00000000 00000000 00000000 00000000 *....................* 00000000 00000000 000000C9 D4E2D5C5 E34040D3 *...........IMSNET L* E4C4C2C4 F24040A0 EFCF1437 91008000 0000E2E3 *UDBD2 .....j.....ST* E4E3E3C7 C1D9E36D D7D9D6C4 404041 *UTTGART_PROD . * TIME 48910.013156

Figure 112. Outbound VTAM buffer entry

VTAM buffer traces


The VTAM buffer trace shows the contents of the message buffers as messages flow inbound and outbound from VTAM. To start a VTAM buffer trace, the user must first start the z/OS generalized trace facility (GTF) with option=USR. Then, an z/OS modify command is used to start and stop the trace. To start the trace:
F VTAMDDF,TRACE,TYPE=BUF,ID=LUDBD2

To stop the trace:


F VTAMDDF,NOTRACE,TYPE=BUF,ID=LUDBD2

(F VTAMDDF TRACE NOTRACE

is the z/OS modify is the name of the indicates that the on indicates that the

command VTAM startup procedure trace is being turned trace is being turned

off TYPE=BUF indicates that this command affects the buffer trace ID=LUDBD2 indicates which node is to be traced, or is to no longer be trace.)

The ID= parameter on the command causes the messages to and from this resource to be traced. When tracing session setup attempts, selection of the resource to be traced is very important. Once the trace is started, recreate the problem situation that needs diagnosing. After tracing the problem, stop the trace to avoid writing unnecessary records to the GTF data set. At present, the programs available to format the VTAM buffer trace are ACFTAP and IPCS. Remember that the VTAM buffer trace is primarily used to determine the cause of session and network related problems. The trace contains the transmission header (TH), the request/response header (RH), and up to 256 bytes of request unit (RU) data. Since the distributed data facility uses a RUSIZE of 4 KB, the buffer trace is of limited use when trying to capture the data sent of the session. The data can be

318

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

traced using the DB2 trace specifying IFCIDs 160 and 161. (For more information see DB2 Command Reference and SDSNIVPD(DSNWMSGS). Figure 112 on page 318 shows a VTAM entry.
USRFD FEF ASCB 00F9D980 JOBN DBD2DIST BUFF LUDBD2 /LUDBD1 LRC(000,000) INBOUND VTAM TH=40000000 20000010 0000000F 0000000E 1C00006E 006B0006 030D RH=039020 030AEFFE 41550010 D4C2C840 0000030A 41080060 *........MBH .......-* D4C9C240 000002FA 00000000 48000000 00030001 *MIB ................* A0EFCF14 37DA5B01 A0EFCF14 45E83700 4D000000 *......x......Y..(...* 0003561E 4D000000 0002F9F6 00000000 00000000 *....(.....96........* 00000000 00000000 00000000 00000000 00000000 *....................* 00000000 00000000 00000000 E2D8D3C3 C1404040 *............SQLCA * 00000088 00000000 00004040 40404040 40404040 *...h...... * 40404040 40404040 40404040 40404040 40404040 * * 40404040 40404040 40404040 40404040 40404040 * * 40404040 40404040 40404040 404040 * * TIME 48910.070212 USRFD FF1 ASCB 00F9D980 JOBN DBD2DIST BUFF LUDBD2 /LUDBD1 LRC(000,000) INBOUND USER 030AEFFE 41550010 D4C2C840 0000030A 41080060 *........MBH .......-* D4C9C240 000002FA 00000000 48000000 00030001 *MIB ................* A0EFCF14 37DA5B01 A0EFCF14 45E83700 4D000000 *......x......Y..(...* 0003561E 4D000000 0002F9F6 00000000 00000000 *....(.....96........* 00000000 00000000 00000000 00000000 00000000 *....................* 00000000 00000000 00000000 E2D8D3C3 C1404040 *............SQLCA * 00000088 00000000 00004040 40404040 40404040 *...h...... * 40404040 40404040 40404040 40404040 40404040 * * 40404040 40404040 40404040 40404040 40404040 * * 40404040 40404040 40404040 40404040 40404040 * * C4E2D540 40404040 00000000 00000000 00000000 *DSN ............* 436F24F0 *.?.0 * TIME 48910.070577

Figure 113. Inbound VTAM and user buffer entries


0000001 RNIO TRACE OUT ORIGIN(0000000F) DESTINATION(0000000E) TIME(10.08.48.174531) DATE(09.26.89) TH 40000000000000000000000E0000000F1C00006B006E00070350 OSAF OEF(0000000F 006E) DSAF DEF(0000000E 006B) ERN(0) VRN(0) TP PRI(0) VR SEQ(000) TG SEQ(000) SEQ(0007) COUNT(00848) RH 0B90A0 FM DR1 EXC BB CD FMT REQ UNKNOWN RU 270502FF0003D0 0000002 RNIO TRACE IN ORIGIN(0000000E) DESTINATION(0000000F) TIME(10.08.48.371635) DATE(09.26.89) TH 40000000200000100000000F0000000E1C00006E006B0006030D OSAF OEF(0000000E 006B) DSAF DEF(0000000F 006E) ERN(0) VRN(0) TP PRI(0) VR SEQ(010) TG SEQ(000) SEQ(0006) COUNT(00781) RH 039020 FM DR1 EXC CD REQ RU 030AEFFE415500

Figure 114. ACFTAP formatting with PRINT=YES

Advanced communication function trace analysis program (ACFTAP)


The Advanced Communication Function Trace Analysis Program (ACFTAP) is part of the ACF/SSP (System Support Programs) licensed product. This formatter interprets the GTF records and puts out the buffer trace records in a variety of formats, depending on the options requested. ACFTAP does not format the data given to VTAM over the application interface. This information is available only when formatting with IPCS. The options relevant to the VTAM buffer trace include: SOURCE=GTF: This option tells ACFTAP that the input data set has records in GTF format. Normally, this is the only input that is defined in an z/OS system. INPUT=BUFFER: This option tells ACFTAP to use only the buffer records in the input data set. The input data set could have a variety of different record types, including VTAM internal trace records, DB2 performance trace records, and many different z/OS records. NODE=<name>: This option requests ACFTAP to format any records for the node specified. If this option is omitted, ACFTAP formats only network PIUs (those PIUs
LY37-3218-01 Copyright IBM Corp. 1983, 2007 Chapter 13. Diagnostic Tools for DDF and VTAM 319 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

flowing to set up or take down a session, activate or deactivate resources, etc.). Depending on the time the trace was taken, there may be no output from the job. PRINT=YES: This option gives an entry for each PIU, including the interpretation of the TH and RH. Only 45 bytes of the RU is printed. In Figure 114 on page 319 is an example of ACFTAP formatting when using PRINT=YES. The PIU is the same as the one in Figure 112 on page 318. This trace entry shows an OUTbound (from this VTAM) PIU flowing from LUDBD2 to LUDBD1. The interpretation of the TH shows the addresses of the LUs and the count field. The count field has converted the length field in the TH from X350 to decimal 848. The Origin SubArea Field (OSAF) and Origin Element Field (OEF) show an address for LUDBD2 of 0000000F 006E. Similarly, the destination address is 0000000E 006B This address represents LUDBD1.
ADVANCED COMMUNICATIONS FUNCTION TRACE ANALYSIS PROGRAM SYSTEMS NETWORK ARCHITECTURE SUMMARY PAGE: 00001 **********TRANSMISSION HEADER********* ************************REQUEST HEADER********************* .-FORMAT IDENTIFIER (FID) .-REQUEST(Q) OR RESPONSES .-PACING INDICATOR | .-F/M/L/( =ENTIRE)SEGMENT **FID3** | .-SC/DFC/NC/( =FMDATA)RU | .-BEGIN BRACKET INDICATOR | | .-EXPEDITED | | .-FORMATTED | | .-END BRACKET INDICATOR | | | LSID---. | | | .-F/M/L( =ONLY)CHAIN | | | .-CHANGE DIRECTION IND | | | SAF-EF FROM/TO SSCP--. | | | | | | | | | .-ALT CODE | | | OR FROM/TO PU--. | | | | | | | | | | | *********RU****** | | | OAF DAF SEQNO COUNT | | | | | | | REQUEST/RESPONSES | | | | | COMMAND SENSE V V V _____________ _____ _____ V V V V V V V _________________ V V V V V _________ ______ 4 0000000F 006E 0007 00848 Q F DR1 EXCEPTION B S UNKNOWN 0000000E 006B 4 0000000E 006B 0006 00781 Q DR1 EXCEPTION S 0000000F 006E

DATE: 09:19:89 *******SDLC****** ..-SDLC ADDRESS || .-CMND/RESP DIRECTION-. || | .-POLL/FINAL | || | | .-RECEIVE TYPE--. | || | | | .-SEND ------- | | || | | | | .-TYPE MESSAGE | | || | | | | | CMND NUMBER V V VV V V V V V ____ 0000001 B O 0000002 B I

Figure 115. Buffer trace formatted using ACFTAP option SSPRT=YES

The bits in the RH have also been interpreted. The following functions are listed: v FMT to show there in an FMH in the RU. In our case, this is the FMH5. v BB to show that this is the beginning of a bracket. v CD for change direction, to allow LUDBD1 to send some data back. v REQ to show that this is a request PIU. v DR1 and EXC tell LUDBD1 to send a response to this PIU only if there is an error. v FM is the RU data type. This format indicates that the RU holds the FMH5, but little else. The following figure is an inbound PIU. It is the same as the PIU formatted in the VTAM entry in Figure 113 on page 319. This trace entry shows an Inbound buffer from LUDBD1 to LUDBD2. Similar interpretation of the TH and RH has occurred for this PIU. This PIU is in fact the first row of output from a select being sent back to LUDBD2. Not all the data is available in the VTAM buffer trace. It can be seen in the DB2 performance trace. SDPRT=YES: This option requests an SNA detail report of the VTAM buffer trace. The two entries formatted for the PRINT=YES have been formatted using the SDPRT=YES option for comparison purposes. SNA detail gives interpretation for each section of the TH and each bit of the RH, whether it is on or not. PRINT=YES gave only interpretation of the bits that were

320

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

on. SNA detail also includes all of the traced PIU - TH, RH and up to 256 bytes of the RU. In the USER DATA the RU has been converted from EBCDIC to alphanumerical characters, for easier interpretation of the data. SSPRT=YES: This option requests an SNA summary report shown in Figure 115 on page 320. On its own, this report is of little use in diagnosing a problem. However, it is very helpful if the buffer trace is very long and you are looking for a particular event that has occurred. You may be able to find the particular event using the command or sense column of the output. Once the event is located, use the message number on that row to cross reference into the SNA detail or print reports. Any particular PIU has the same message number in each of the reports.
0000001 RNIO TRACE OUT ORIGIN(0000000F) DESTINATION(0000000E) TIME(10.08.48.174531) DATE(09.26.89) TH 40000000000000000000000E0000000F1C00006B006E00070350 OSAF OEF(0000000F 006E) DSAF DEF(0000000E 006B) ERN(0) VRN(0) TP PRI(0) VR SEQ(000) TG SEQ(000) SEQ(0007) COUNT(00848) RH 0B90A0 FM DR1 EXC BB CD FMT REQ UNKNOWN RU 270502FF0003D0 0000002 RNIO TRACE IN ORIGIN(0000000E) DESTINATION(0000000F) TIME(10.08.48.371635) DATE(09.26.89) TH 40000000200000100000000F0000000E1C00006E006B0006030D OSAF OEF(0000000E 006B) DSAF DEF(0000000F 006E) ERN(0) VRN(0) TP PRI(0) VR SEQ(010) TG SEQ(000) SEQ(0006) COUNT(00781) RH 039020 FM DR1 EXC CD REQ RU 030AEFFE415500

Figure 116. VTAM IO trace printed using ACFTAP

The SNA summary report contains five main column sections


1. Section one has the message number, the type (in this case shows B for buffer), and the direction (O for outbound and I for inbound). 2. Section two is SDLC. This is used for NCP line traces and is not used for buffer traces. 3. Section three is a summary of the transmission header. The parts of interest are the addresses. The origin address 0000000F 006E is on the first line and the destination address 0000000E 006B is on the second line for the first message. These are the same addresses as the other formats, but the names of the LUs have not been included. The count is the length value again converted to decimal. The sequence number of the PIUs (SEQNO) has been included here also. Sequence numbers are kept on the PIUs that flow in each direction on the session to avoid getting data out of order at the receiving end and for pacing purposes. 4. Section four is a summary of the bits in the request header (RH). This has the same information that has been explained under the other formatting options. 5. Section five is for the RU. Only the command and sense are included here. On message number 0000001 the command is unknown. This is because the formatter does not recognize the FMH5. For PIUs that have a command code as the first bytes in the RU this indicates the interpreted code. For example, if the RU is a BIND, it has X31 as the first byte of the RU. ACFTAP interprets this, and put BIND in the command column for that PIU. If there is any sense in the RU, (remember there is a sense-data-included bit in the RH), ACFTAP puts the sense data in the SENSE column.

z/OS I/O trace


The I/O trace record is similar to the VTAM buffer trace. However, instead of tracing in VTAM itself, this trace is taken by z/OS in the I/O subsystem. Only 36 bytes of data are traced. That is, 26 bytes of TH, 3 bytes of RH and up to 7 bytes of RU. The IO trace is only of use when investigating the flow of PIUs on the session.
Chapter 13. Diagnostic Tools for DDF and VTAM 321 DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

GTF should be started with option=RNIO before starting the I/O trace with the command:
F VTAMDDF,TRACE,TYPE=IO,ID=LUDBD2 (F is the z/OS modify command VTAMDDF is the name of the VTAM startup procedure TRACE indicates that the trace is being turned on TYPE=IO indicates that this command affects the I/O trace ID=LUDBD2 indicates which node is to be traced.)

Stop the I/O trace and GTF after the event you are tracing has occurred. Use IPCS or ACFTAP to format the output. When formatting with ACFTAP in the SYSIN input commands, include INPUT=RNIO and PRINT=YES. Figure 116 on page 321 shows an example of the output from the IO trace formatted by ACFTAP. The information available in the buffer trace is generally available in the IO trace. The only difference is in the amount of RU data recorded, and the actual place of the recording. The ACFTAP format of the IO trace is very similar to the ACFTAP format of the VTAM buffer trace when using PRINT=YES. IN and OUT indicate whether the data is inbound or outbound to VTAM from the network.
USRFD FF0 ASCB 00F9DB00 VTAM BUFFERS IO PP LP WP NP LF TIME 41772.136371 USRFD FF0 ASCB 00F9DB00 VTAM BUFFERS CR UE SF SP AP TIME 41772.136411 Figure 117. SMS trace printed by IPCS JOBN DBD2DIST MAXU MAXQ 00000008 00000000 00000000 00000000 00000008 00000000 0000000A 00000000 00000000 00000000 00000002 00000000 JOBN DBD2DIST MAXU MAXQ 00000008 00000000 00000000 00000000 00000004 00000000 00000000 00000000 00000000 00000000 AVNO 000000C8 00000000 0000003B 00000044 00000000 00000027 AVNO 000000C1 00000000 00000060 00000002 00000010 TEXP 00000000 00000000 00000000 00000000 00000000 00000000 TEXP 00000000 00000000 00000000 00000000 00000000 MBUF 000000C8 00000000 00000040 0000004E 00000000 00000029 MBUF 000000C8 00000000 00000064 00000002 00000010 TOTL 000000C8 00000000 00000040 0000004E 00000000 00000029 TOTL 000000C8 00000000 00000064 00000002 00000010

VTAM internal trace


Under normal circumstances, the VTAM internal trace is run at the request of IBM service personnel. A great deal of information is available from these VTAM internal trace entries. For a more detailed appreciation of the information available, look at the layout of each entry in z/OS Communications Server SNA Diagnosis. The VTAM internal trace (VIT) can be run internally to VTAM or externally to GTF. When VTAM is started the default is to have the trace running internal to two 4 KB pages with no options. When the trace is running internally, the only method of getting the trace records is to dump VTAM. The trace can then be viewed in the unformatted dump, or it can be formatted using the VTAMMAP options in IPCS. Beside not having to dump VTAM, an additional advantage to running the VTAM internal trace to GTF is that GTF timestamps each entry. A VTAM internal trace run internally has no timestamps.

322

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

GTF must be started before the VTAM internal trace is started. Use the following commands to stop the VTAM internal trace running internally and to start it running to GTF.
F VTAMDDF,NOTRACE,TYPE=VTAM,OPTION=END (F is the z/OS modify command VTAMDDF is the name of the VTAM startup procedure NOTRACE indicates that the trace is being turned off TYPE=VTAM indicates that this command affects the VTAM internal trace OPTION=END stops the VIT and frees the pages in storage. F VTAMDDF,TRACE,TYPE=VTAM,MODE=EXT TRACE indicates that the trace is being turned on MODE=EXT causes the VIT records to be sent to GTF.)

Once the trace is running externally, the trace can be started with the options you require:
F VTAMDDF,TRACE,TYPE=VTAM,OPTION=(APPC,PIU,API,MSG) OPTION=xxx indicates which record types are to be traced.

Once the event is traced, you can stop the VTAM internal trace with the following command:
F VTAMDDF,NOTRACE,TYPE=VTAM,OPTION=ALL (OPTION=ALL requests the VIT remain active, but trace nothing OPTION=END stops the VIT.)

Then stop GTF so that the trace data can be formatted.

VTAM internal trace options


Trace options should be tailored to the requirements of the problem so that unnecessary record types are not included in the trace. The options of most interest to distributed data facility (DDF) diagnosis are: APPC: The Advanced Program to Program Communication option writes entries each time an application issues an APPC command using the APPCCMD macro, and each time one of these commands is posted back as complete. API: The API option traces the non-APPC application interface macros being issued and posted back. There are also trace entries written when the non-LU 6.2 exits (for example, the LOGON and SCIP exits) are driven. PIU: The PIU option gives details of all the PIUs that flow through this VTAM. MSG: Each time a message is issued by VTAM or an operator issues a VTAM command, an entry is made in the VIT. This can be very useful when becoming oriented in a large VIT, and should be included when running traces. DB2 messages do not appear in the VIT. The programs available to format the VTAM internal trace are the same as for the VTAM buffer trace. They are IPCS (depending on the level of z/OS) and ACFTAP.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 13. Diagnostic Tools for DDF and VTAM 323 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Storage Management Services (buffer use) trace


The Storage Management Services trace provides information on the use and availability of VTAM buffer pools. The trace entries are written after a specified number of requests for VTAM buffers. The IBM default causes an entry after every 1000 (x3E8) buffer requests. This threshold is specified by the half-word at label RACBSNAP in VTAM module ISTRACON. This can be changed using z/OSs SPZAP (SUPERZAP) facility. This trace facility is very similar to the display buffer use command in VTAM. It should not be confused with the SMS option in the VTAM internal trace. GTF should be started with option=USR before starting the SMS trace with the following command:
F VTAMDDF,TRACE,TYPE=SMS,ID=VTAMBUF (F is the z/OS modify command VTAMDDF is the name of the VTAM startup procedure TRACE indicates that the trace is being turned on TYPE=SMS indicates the storage management services trace ID=VTAMBUF required for the SMS trace.)

The formatters can again be used to print the SMS trace. ACFTAP, however, only gives a hex dump of the trace record. IPCS formats the SMS trace records into a more readable form. Figure 117 on page 322 shows a record formatted using IPCS. There is an entry for each of the VTAM buffer types: v AP APBUF, Application Program Pageable pool v CR CRPLBUF, Copied RPL pool v IO IOBUF, IO Buffer pool v LF LFBUF, Large Fixed pool v LP LPBUF, Large Pageable pool v SF SFBUF, Small Fixed pool v SP SPBUF, Small Pageable pool v WP WPBUF, Working Set Pageable pool. PPBUFs, NPBUFs and UEBUFs are no longer used by VTAM, though they still appear in the output listings. The columns in the output are: v MAXU. Records the maximum number of buffers in use in the pool at any one time. v MAXQ. Records the maximum number of requests for buffers that were queued waiting for storage at any one time. v AVNO. Number of buffers available when the trace entry was written. v TEXP. Number of times the buffer pool has expanded. v MBUF. Records the maximum number of buffers, used and unused, that were in the pool. This includes the static and expansion parts of the pool. v TOTL. Records the total number of buffers in the pool at the time the trace entry was written. Each time a trace entry is written these counters are reset. So, MAXU, MAXQ, TEXP and MBUF are counters relevant since the last trace entry was written. Similarly, for a display of buffer use by the D NET, BFRUSE command, the values in the resulting display are valid since the last trace entry was written; or, since the last VTAM startup, if the SMS trace is not running.

324

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 14. Exception condition diagnostic procedures


DRDA exception condition diagnostic procedures
DB2 defines a DRDA exception condition as an event which represents any of the following: 1. A reply message received from the , defined by Distributed Data Management (DDM) Level 6 as valid for the DDM command, but which is other than the normal reply message or reply data object defined for that command. 2. A reply message or reply data object returned from the in response to a DDM command which is not valid for the DDM command, or is structurally incorrect. In the latter case, a parsing error was detected by DB2. 3. A reply message or reply data object which is both valid and structurally correct but whose contents are inconsistent with the semantic of the reply message or reply data object. 4. A command or command data object which is not valid, as defined by DDM Level 6, or is structurally incorrect. In the latter case, a parsing error was detected by DB2. In terms of the DDM process model, a DRDA exception condition may be detected in either the SQLAM, AGENT or CMNMGR layers. The DB2 implementations of these managers are contained within the data communications resource manager (DCRM), the distributed transaction manager (DTM), distributed relational database systems (DRDS) and distributed data interchange services (DDIS). See Distributed data facility (DDF) on page 41 for a description of these resource managers.

DRDA exception event notification


When DDF resource managers identify DRDA exception conditions, event notification is sent to several destinations: 1. The application if detected by the requester 2. The requester through a DDM reply message if detected by the 3. One or more trace records written to the statistics class 4 trace. While event notification of all DRDA exception conditions is targeted to various destinations, the amount of diagnostic information sent to some destinations is limited. This is due primarily to the inability of DB2 to influence either the structure or content of information. For example, the SQLCA structure and contents are determined mainly by the SQL language. The one destination which DB2 alone can define is the structure and content of the statistics class 4 trace records. DB2 has designed these trace records to provide, for each DRDA exception condition, a rich amount of relevant information, contributed by one or more DDF resource manager, which is sufficient to determine the exact nature of the DRDA exception condition.

DRDA exception condition trace records


The following statistics class 4 trace records are available for diagnosis of DRDA exception conditions: 1. IFCID 0191
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

325

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

This record is written by DDIS when it identifies a DRDA exception condition, or on behalf of either DTM or DRDS when they identify a DRDA exception condition. 2. IFCID 0192 This record is written by DCRM when it identifies a DRDA exception condition. 3. IFCID 0193 This record is written by DTM when it identifies a DRDA exception condition. 4. IFCID 0194 This record is written by DCRM when it identifies a DRDA exception condition. 5. IFCID 0195 This record is written by DRDS when it identifies a DRDA exception condition. The first 8 characters of each DDF diagnostic trace record contain an eyecatcher with the following format.
IFCID 0191 0192 0193 0194 0195 Hexadecimal XC4D9C4C1F0F1F9F1 XC4D9C4C1F0F1F9F2 XC4D9C4C1F0F1F9F3 XC4D9C4C1F0F1F9F4 XC4D9C4C1F0F1F9F5 Printable DRDA0191 DRDA0192 DRDA0193 DRDA0194 DRDA0195

DB2 DRDA exception condition reason codes


In most cases, DB2 provides a 32-bit reason code as the common token sent to all destinations to be notified of the DRDA exception condition.

DB2 requester role


If the DRDA exception condition is identified at the DB2 AR, then the reason code is placed within the SQLERRD1 field within the SQLCA. Additionally, the reason code is externalized within the detailed data, subfield X82, subvector X96 (WHY) of the NetView alert as well as the IFCID 0191, 0192, 0193, 0194 and 0195 trace records. This reason code, directly traceable to an SQL statement issued by an application, is the common token that identifies the alert and all relevant trace records produced. The reason code is the starting point for the DRDA exception condition diagnosis.

DB2 database server role


If the DRDA exception condition is identified at the DB2 , then the reason code is placed within the server diagnostic information scalar, included within the DDM reply message returned to the requester. Once again, the reason code is externalized within the detailed data, subfield X82, subvector X96 (WHY) of the NetView alert as well as the IFCID 0191 trace records. This reason code, directly traceable to a DDM command received from the AR, is the common token that identifies the alert and all relevant trace records produced. The reason code is the starting point for the DRDA exception condition diagnosis.

326

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | |

Additional diagnostic options for DRDA exceptions


Under direction of IBM Service, a dump may be forced when some DRDA exception conditions are encountered instead of generating a trace record. This dump provides additional diagnostic information not present in the trace alone. To force the dump, the IFCID 299 trace must be activated. In general, the dump reason code will be the DRDA exception reason code, but may be different in some cases. The reason code will be identified by IBM Service when you are instructed to take this course of action.

DRDA summary
Before using the Statistics Class 4 trace records, you should be familiar with the distributed relational database architecture, which is documented in the DRDA publications and the following publications: v DRDA Version 2 Vol. 1: Distributed Relational Database Architecture (DRDA) v Data Stream and OPA Reference

DDM/FDOCA models
The DDM object model and the basic concepts of formatted data object content architecture (FDOCA) geometry and their application to the description of DRDA data are reviewed here. Refer to the cited references for further details.

DDM commands and reply messages


The DDM commands defined for Level 6 of the architecture include all commands unique to DRDA. For each DDM command which can be sent from an AR to an , DDM defines the collection of reply messages which the can send in response to the command. The semantic of the reply message is defined in DRDA Version 2 Vol. 1: Distributed Relational Database Architecture (DRDA). DB2 supports this semantic for all valid reply messages received in response to all DDM commands sent by DB2 to an .

DDM command data and reply data


For each DDM command which can be sent from an AR to an , DDM defines the collection of command data objects which may accompany the command. Additionally, DDM defines the valid DDM objects which the may send in response to that command. With the exception of EXCSATRD returned in response to EXCSAT, all command and reply data are either FDOCA descriptors or FDOCA data described by some FDOCA descriptor.

DRDA object descriptors


FDOCA models data or collections of data based on relating finite and discrete geometrical spaces of arbitrary dimension. With regard to describing DRDA objects, the application of the FDOCA geometry is restricted to simple data array (SDA), group data array (GDA) and row layout (RLO) triplets. Each SDA, GDA and RLO is assigned, through the meta-data definition triplet (MDD), a unique DRDA type. In the case of simple data arrays, the DRDA type is always a data type supported by DRDA. The DRDA data types may be mapped directly to SQL data types. Each group is assigned a DRDA type and describes an ordered collection of other groups or simple data arrays (possibly including length overrides). A row is assigned a DRDA type and describes an ordered set of elements, each of which is selected from one or more groups. An array is assigned a DRDA type and describes a finite number of rows.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 14. Exception condition diagnostic procedures 327 DO NOT COPY

DO NOT COPY
Local identifiers (LIDs)

Restricted Materials of IBM Licensed Materials Property of IBM

All FDOCA Descriptors are identified by a local identifier (LID). It is local because its definition is restricted to the current data stream containing the descriptor. The LID is merely a name by which the descriptor may be referenced. Thus, array descriptors reference row descriptors (RLOs) by LID, row descriptors reference groups (GDAs) and simple data arrays (SDAs) by LID, and groups reference other groups (GDAs) and simple data arrays (SDAs) by LID. The LID is distinct from the DRDA type.

Early DRDA descriptors


During AR- connection processing, a subset of the DRDA object descriptions is fixed and cannot be changed for the duration of that connection. These descriptors are called the DRDA early descriptors and consist of simple data arrays (SDAs), group data arrays (GDAs), rows and arrays (RLOs). The simple data arrays describe each data type supported by DRDA and are called the early environmental descriptors. Additionally, the early descriptors include a small number of groups, rows and arrays (GDAs and RLOs). Once committed, the AR/ need only send the DRDA object to the /AR; the descriptor is not sent. An AR or commits support to the Early Descriptors at two distinct points during connection processing. 1. The early DRDA group, row and array descriptors are established during EXCSAT/EXCSATRD processing. 2. The early environmental descriptors are established during ACCRDB/ACCRDBRM processing. These represent the 84 supported DRDA data types and are fixed and identical across these environments: QTDSQL370, QTDSQLX86, QTDSQL400, QTDSQLC, and QTDSQLVAX. Accepting one of these environments commits the AR or to support all 84 DRDA data types in a specific machine representation. While the DRDA data types cannot change, data type representations may be changed at various points in the processing of commands and replies.

Early descriptor LIDs


The LID which is assigned to each Early Descriptor (SDA, Group, Row, Array) is identical to its DRDA type. This assignment is fixed and cannot be changed. There are 84 DRDA data types and naming a particular environment, QTDSQL370, QTDSQLX86, QTDSQL400, QTDSQLC, or QTDSQLVAX, therefore identifies 84 MDDs and corresponding SDAs. The MDD contains the DRDA data type, and the SDA contains the LID by which each Early Environmental Descriptor may be referenced. For each Environmental Descriptor, the DRDA type is the DRDA data type and therefore the LID is identical to the DRDA data type. In order to describe data of a specific DRDA data type, the AR/ need only identify the 1-byte LID (DRDA data type) and this resolves to a complete Early Environmental Descriptor consisting of an MDD and SDA. DRDA describes the following DDM reply data objects through Early Descriptors: v The SQLCARD is described as an Early FDOCA row. v The SQLDARD is described as an Early FDOCA array. DRDA describes the following DDM command data objects through Early Descriptors: v The SQLSTT is described as an Early FDOCA row. v The SQLNUM is described as an Early FDOCA row. v The SQLOBKNAM is described as an Early FDOCA row. v The SQLSTTVRB is described as an Early FDOCA array.

328

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Late DRDA descriptors


There is a class of DRDA objects whose description is not known at connection time, but can only be known at SQL statement execution time. These include descriptions of input host variables passed by the application in support of OPNQRY and EXCSQLSTT, and descriptions of the answer set returned in response to an OPNQRY or SQL static SELECT (EXCSQLSTT). In these cases, the number of host variables or columns, their SQL data types and lengths are only known when the application executes the statement. The description of the data is assembled dynamically and sent to the AR/ along with (but preceding) the data. These are called Late Descriptors. The DRDA data types are fixed at ACCRDB/ACCRDBRM processing. The SQL types of all input host variables and constituent columns of an answer set must be mappable to one of these DRDA data types. If this cannot be done, then the AR/ supports some data type which is not defined within DRDA. It is in violation of DRDA. Otherwise, a DRDA data type can be identified.

DB2 representation of early/late descriptors


The DDIS FDLIDLST structure
Every FDOCA array consists of one or more FDOCA rows and all FDOCA rows represent elements of an FDOCA group. Command and reply data are either described as FDOCA rows or arrays. DB2 creates data structures to support data retrieval of DDM command/reply data objects described by an Early or Late Row Descriptor. This data structure is a list of FDOCA Local Identifiers (LIDs) and is called an FDLIDLST. A collection of FDLIDLST structures is created for every FDOCA row to be retrieved from command or reply data. Thus, the DB2 unit of data transfer is an FDOCA row. An FDOCA row is an ordered collection of elements of an FDOCA group. FDOCA groups are recursive, the elements are other FDOCA groups or Simple Data Arrays (SDAs). The DRDA objects described by FDOCA are usually defined in terms of nullable groups, that is all elements of the group are present in the object if the group null indicator value is 0, or none of the elements of the group are present in the object if the group null indicator value is positive (empty set). An FDOCA group may be modeled as a tree such that the root represents the group occurrence and nonterminal nodes represent other FDOCA groups. Terminal nodes consist of Simple Data Arrays (SDAs), and always represent a datum of a unique DRDA data type. Given an FDOCA row which orders the elements of an FDOCA group, G, there is a (parent) FDLIDLST representing G (root node) and an FDLIDLST for each non terminal group contained within G. Terminal nodes up consist of SDAs and always represent a datum of a unique DRDA data type. The hierarchical (tree) structure of the FDOCA group is represented by one or more FDLIDLSTs. Each FDLIDLST retrieves the subset of the data described by the parent FDLIDLST. The FDLIDLST header defines the total number of elements (GDAs or SDAs) comprising the group. This is followed by one LIDENT entry for each of these elements. The LID is stored in LIDENTLI and the DRDA type (SDA or GDA) is stored within LIDENTTY. The entry defines an SDA (terminal node) if the DRDA type (LIDENTTY) is less than X50. In this case, the value of LIDENTO1 is the offset relative to the Level 6b data stream (QW01916B) of the source data. If the value of LIDENTTY is greater than X50, the entry represents a non terminal node (another group) and the value of LIDENTO1 is the offset relative to the 0191 record of the child FDLIDLST which describes that group.
LY37-3218-01 Copyright IBM Corp. 1983, 2007 Chapter 14. Exception condition diagnostic procedures 329 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

FDLIDLST structures for early descriptors


The FDLIDLST structures to retrieve objects described by Late Descriptors are:

SQLCARD
The SQLCARD is described as a row, consisting of all elements of the nullable group SQLCAGRP. The SQLCAGRP contains three nonterminal SDAs, SQLSTATE, SQLCODE and SQLERRPROC and the nullable group SQLCAXGRP which itself contains 20 SDAs. The FDLIDLST to retrieve an SQLCARD is: 1. Parent FDLIDLST containing one entry with DRDA type (LIDENTTY) of X54. This is the parent and the value of LIDENTO1 is the offset to the child FDLIDLST. 2. The child FDLIDLST contains four entries, one each for SQLCODE, SQLSTATE, SQLERRPROC and SQLCAXGRP. The value of LIDENTTY for SQLCODE, SQLSTATE and SQLERRPROC are DRDA data types (less than X50). The data must be retrieved exactly as defined by the LIDENT lengths and representation. The value of LIDENTTY for the fourth entry is X52 and this is the DRDA type of SQLCAXGRP, an FDOCA group. Thus, the LIDENTO1 points to a third FDLIDLST structure. 3. The SQLCAXGRP FDLIDLST structure contains 20 entries all of which are terminal nodes (SDAs). These entries describe the representations and lengths of the data which is retrieved from the data stream.

SQLDARD
The content and structure of the SQLDARD depends on the DDM Levels of the AR and . If both AR and are both at DDM Level 6 and higher, then: The SQLDARD is described as an open array, such that row 1 is an SQLCARD, row 2 is an SQLNUMROW, and rows 3 through (N+2) are SQLDAROW instances. The SQLDARD thus couples an SQLCA with an SQLDA. The number of SQLDAROW instances, N, is given by row 2, SQLNUMROW. This row contains the only element from the nonnullable SQLNUMGRP, an SDA of type Integer 2. The SQLDAROW consists of all elements of the nonnullable SQLDAGRP group. Since data retrieval is at the row level, the FDLIDLSTs required to retrieve the SQLDARD consist of one FDLIDLST to process the SQLCARD, one FDLIDLST to retrieve the SQLNUMROW and one FDLIDLST to retrieve each of the N SQLDAROW instances. 1. The FDLIDLST to retrieve an SQLCARD has been described previously as a parent FDLIDLST, child FDLIDLST containing 3 terminal SDAs and one subordinate FDLIDLST describing the 20 terminal SDAs comprising the SQLCAXGRP 2. The FDLIDLST to retrieve an SQLNUMROW contains a single entry, defining the terminal SDA of type integer 2. 3. The FDLIDLST to retrieve an SQLDAROW contains 11 entries, each defining terminal SDAs and one subordinate FDLIDLST describing the 2 terminal SDAs comprising the SQLUDTGRP. NOTE: the definition of the terminal SDAs are dependent on the DDM levels of the AR and the . Check the DRDA reference for the contents at DDM Level 6. If either or both of the AR or has a DDM Level less than 6, then: The SQLDARD is described as an open array, such that row 1 is an SQLCARD, row 2 is an SQLNUMROW, and rows 3 through (N+2) are SQLDAROW instances.

330

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The SQLDARD thus couples an SQLCA with an SQLDA. The number of SQLDAROW instances, N, is given by row 2, SQLNUMROW. This row contains the only element from the nonnullable SQLNUMGRP, an SDA of type Integer 2. The SQLDAROW consists of all elements of the nonnullable SQLDAGRP group. Since data retrieval is at the row level, the FDLIDLSTs required to retrieve the SQLDARD consist of one FDLIDLST to process the SQLCARD, one FDLIDLST to retrieve the SQLNUMROW and one FDLIDLST to retrieve each of the N SQLDAROW instances. 1. The FDLIDLST to retrieve an SQLCARD has been described previously as a parent FDLIDLST, child FDLIDLST containing 3 terminal SDAs and one subordinate FDLIDLST describing the 20 terminal SDAs comprising the SQLCAXGRP. 2. The FDLIDLST to retrieve an SQLNUMROW contains a single entry, defining the terminal SDA of type integer 2. 3. The FDLIDLST to retrieve an SQLDAROW contains 11 entries, each defining terminal SDAs. NOTE: the definition of the terminal SDAs are dependent on the DDM levels of the AR and the . Check the DRDA reference for the contents at DDM Level less than 6.

SQLSTT
The SQLSTT row consists of all occurrences of the SQLSTTGRP. The SQLSTTGRP is a nonnullable group containing two SDAs: a variable SBCS character string and a variable Mixed character string. The FDLIDLST contains two entries, one each for the two SDAs and retrieval of the SQLSTT row must always retrieve both an SBCS variable character string and a Mixed variable character string. Only one of these strings may have a positive length.

SQLOBKNAM
The SQLOBKNAM row consists of all occurrences of the SQLOBJGRP. The SQLOBJGRP is a nonnullable group containing two SDAs: a variable SBCS character string and a variable Mixed character string. The FDLIDLST contains two entries, one each for the two SDAs and retrieval of the SQLSTT row must always retrieve both an SBCS variable character string and a Mixed variable character string. Only one of these two strings may have a positive length.

SQLSTTVRB
The SQLSTTVRB is described as an open array, such that row 1 is an SQLNUMROW row and rows 2 through (N+1) are SQLVRBROW instances. The SQLNUMROW consists of the single element of the nonnullable SQLNUMGRP. The SQLVRBROW consists of the nine occurrences of the nonnullable SQLVRBGRP group. 1. Since SQLNUMGRP is not nullable, the FDLIDLST structure to retrieve the SQLNUMROW contains a single LIDENT, defining a 2-byte integer, the contents of which is the number of SQLVRBROW instances. 2. Since SQLVRBGRP is not nullable, the FDLIDLST structure to retrieve an SQLVRBROW instance contains nine terminal SDAs. NOTE: the definition of the terminal SDAs are dependent on the DDM levels of the AR and the . Check the DRDA reference for the contents at DDM Level less than 6.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 14. Exception condition diagnostic procedures 331 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

FDLIDLST structures for late descriptors


The FDLIDLST structures to retrieve objects described by Early Descriptors are as follows:

SQLDTARD
The SQLDTARD array is an open array of SQLCADTA rows. Each SQLCADTA row consists of all occurrences of the SQLCAGRP (DRDA type is X54), followed by all occurrences of LIDs defined in the nullable SQLDTAGRP. If there are N elements (triplets) contained within the SQLDTAGRP, then the FDLIDLST consists of: 1. Parent SQLCAGRP FDLIDLST containing a single entry. 2. Child FDLIDLST containing 3 terminal SDAs and a non terminal GDA, pointing to a subordinate SQLCAXGRP FDLIDLST. 3. SQLCAXGRP subordinate FDLIDLST containing 20 terminal SDAs to retrieve the SQLCAXGRP. 4. Parent FDLIDLST containing a single entry (DRDA type is XD0), pointing to a child SQLDTAGRP FDLIDLST. 5. Child FDLIDLST containing N entries each representing a terminal SDA. The FDLIDLST structure follows.
FDLIDLST FDLIDCNT * * * FDLIDLST FDLIDF * FDLIDMX DSECT DS F Total # LIDs this Group Each LID is described by one LIDENT entry. The LIDENT entries are contiguous to FDLIDLST. F Last LIDLSTE processed X Flag byte 80X Optimization Flag XL3 Reserved F Max length if FDLIDF=80X XL8 Reserved *-FDLIDLST Sizeof(FDLIDLST header)

DS DS

DS DS DS FDLIDHLL EQU

***************************************************************** * Define Mapping for LID element within FDLIDLST. * * There is one LIDENT for each of the total number of LIDs * * specified by FDLIDCNT. The LIDENTs follow FDLIDLST. * ***************************************************************** LIDENT DSECT FDOCA LID entry Mapping LIDENTLI DS X FDOCA LID to be processed * this is identical to DRDA type * unless described by a Late * Environmental Descriptor LIDENTTY DS X DRDA Type (GDA or SDA) LIDENTFD DS X FDOCA Data Type Representation LIDENTNU DS X Null Byte if nullable LIDENTLT DS F Length of data in bytes * upper bound for variable LIDENTO1 DS F If LIDENTTY >= X50 then offset * relative to 0191 record to child * FDLIDLST. If LIDENTTY < X50 * then offset relative to objdss LIDENTO2 DS F Offset if partial object LIDENTVA DS X High Order Byte if Variable * data and LIDENT state is SV2 LIDENTST DS X FD_LIDENT State * values are defined below LIDENTVR DS X 0 - data is not variable * 1 - data is variable with * halfword prefix

332

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM * * * * LIDENT37 * * * * * LIDENTAL * LIDENTSD LIDENTRT LIDENTDL LIDENTF

DO NOT COPY
2 - data is variable null terminated 3 - data is variable with one-byte prefix X 0 - data is numeric, representation is S/370 1 - data is numeric, representation is 80X86 2 - data is numeric, representation is /400 F Actual size of object (may differ from LIDENTLT is data is variable F 0 A Data routine or 0 F Max length of data or 0 X Flag 80X Data is placeholder XL3 Reserved *-LIDENT Sizeof(LIDENT)

DS

DS DS DS DS DS

DS LIDENTLL EQU

****************************************************************** * Define LIDENT states: * * State 0: Initial/Final State * * NOTE: * * States SV1, SV2, SV3, SN1 and SN2 are only valid * * if the data described by the LIDLST may span multiple * * DDM objects. This is only true if the LIDLST describes * * row data which is being processed via Limited Block * * protocols. In this case, row data may span multiple * * query blocks, each of size qryblksz, each containing * * one qrydta object. * * * * For fixed data, the size of the datum is determined from * * the size specified by the DRDA SDA specification, or * * if a Late Descriptor, from a length override. Once spec* * ified, the length cannot change. For variable data, the * * size specified from the DRDA SDA specification or length * * override is an upper bound (a maximum). The actual length * * of the datum is transmitted as a halfword preceding the * * datum. Thus, it is possible that all or part of the half- * * word prefix is transferred in block n and the remainder * * is transferred in other blocks. * * The following LIDENT states support partitioning of * * the null indicator (if nullable), halfword length pre* * fix and data. * * * * State SV1: Variable Data - 0 bytes of halfword ll * * State SV2: Variable Data - 1 byte of halfword ll * * State SV3: Variable Data - 2 bytes of halfword ll - no * * data retrieved * * State SN1: Nullable Data - Null Indicator not available * * State SN2: Nullable Data - Null Indicator available - no * * data retrieved * ****************************************************************** * LIDST0 EQU X00 LIDSTV1 EQU X01 LIDSTV2 EQU X02 LIDSTV3 EQU X03 LIDSTV4 EQU X04 LIDSTN1 EQU X10 LIDSTN2 EQU X20

Figure 118. FDLIDLST structure

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 14. Exception condition diagnostic procedures 333 DO NOT COPY

DO NOT COPY
The DDIS RDTA structure

Restricted Materials of IBM Licensed Materials Property of IBM

There exists one parent FDLIDLST structure and 1 or more child FDLIDLSTs for every FDOCA row to be retrieved from the data stream. This is true for Early and Late FDOCA rows. However, a second data structure, the DDIS RDTA structure, is created to support Late Descriptors. There are two DRDA late descriptors defined: the SQLDTA describes the host variables sent in support of EXCSQLSTT or OPNQRY and the SQLDTARD describes the answer set returned from OPNQRY or EXCSQLSTT. Both descriptors have a simple geometry built around the late group descriptor, SQLDTAGRP. The SQLDTA Late Descriptor is built from an SQLDTAGRP and describes input host variables. It is mapped to an input SQLDA. Similarly, the SQLDTARD, also built from the SQLDTAGRP, describes an output answer set and is mapped to an output SQLDA. The RDTA structure correlates the SQLDTAGRP elements (SDAs) in terms of SQL data types, lengths and character representation (CCSID). The RDTA structure is given below. RDTALID contains the address of the parent SQLDTAGRP FDLIDLST structure required to retrieve data described by the late SQLDTA/SQLDTARD. For every triplet contained within the SQLDTAGRP, an RDTAENT element exists which defines the SQL attributes for that DRDA data type.
RDTA DSECT RDTAID DS RDTALEN DS RDTAEYE DS RDTDA DS A RDTALID DS * RDTAROW DS RDTALED DS RDTAGLID DS * DS RDTANUM DS RDTANPH DS RDTAFLG DS RDTALL * DS EQU H H CL4 F A 0XL4 X XL2 F F X XL3 *-RDTA Relational Data Block RDTA ID RDTA Length RDTA Eye Catcher A(DB2 Sqlda) offset within 0191 record of QW0191LT section A(Input Host Variables) SQLDTAGRP RLO LID and Reserved Total Number RDTAENT slots Number of placeholders Flag 80X RDTARAWP is used Reserved Sizeof(RDTA Header) RDTA Entry Mapping - one entry for each SDA processed in sqldtagrp SQLTYPE SQLSUBTYPE Derived CCSID SQL Length Decimal Precision Decimal Scale Flag 80X Placeholder only 40X Mapped type Reserved Original SQLTYPE, if mapped Raw data pointer, if mapped Reserved Sizeof(RDTAENT)

RDTAENT DSECT * RDTTYP DS H RDTUBT DS H RDTACCSI DS RDTALGTH DS RDTALEN1 DS RDTALEN2 DS RDTAFLG1 DS DS RDTAOTYP DS RDTARAWP DS DS RDTALL EQU

XL2 0H X X X X H A XL4 *-RDTAENT

Figure 119. RDTA structure

334

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | |

The DDIS ZEDA structure


The SQLDTA describes the input host variables sent in support of EXCSQLSTT or OPNQRY command. It has a simple geometry built around the late group descriptor, SQLDTAGRP, and it is mapped to an input SQLDA. The ZEDA structure is used internally to support the late descriptors retrieved from a SQLDTA object, which represents the input host variables received at the application server. This structure is traced for DB2 serviceability purpose only.

DDIS IFCID 0191 trace record structure


The IFCID 0191 record always consists of a header, QW0191HD, and one or more other sections. The exact structure of the 0191 record is dependent upon the DB2 parse state, DDM command and command/reply data object, and nature of the DRDA exception condition. In addition to the QW0191HD section, the IFCID 0191 record may contain one or more of the following sections: QW0191CR: There is one of these sections for each DDM command, command data object, reply message and reply data object processed (successfully or unsuccessfully) by DDIS. This section summarizes salient information extracted during DB2 processing. QW0191FD: There is one of these sections for every DDM QRYDSC object or FDODSC scalar contained within an SQLDTARD or SQLDTA object processed (successfully or unsuccessfully) by DDIS. These objects (scalars) contain FDOCA Late Descriptors (SQLDTA or SQLDTARD) and this section summarizes the state of the FDOCA geometry as processed by DB2. This section is also present if an OUTOVR descriptor is sent with a command to override the format of output data. QW0191RT: There is one of these sections for every DDM QRYDTA object or FDODTA scalar contained within an SQLDTARD or SQLDTA object processed (successfully or unsuccessfully) by DDIS. These objects (scalars) contain data described by an FDOCA late descriptor previously processed and this section contains the DB2 RDTA data structure required to process the data. The format of the RDTA data structure is described below. QW0191LT: There is one of these sections for every DDM command data object or reply data object which is described by an FDOCA early or late descriptor and has been processed (successfully or unsuccessfully) by DDIS. This section contains the DB2 FDLIDLST data structure required to retrieve the data from the command or reply data object. The format of the FDLIDLST data structure is described below. | | | | QW0191EA: There is one of these sections for every DDM FDODTA scalar contained within an SQLDTA object that is processed successfully or unsuccessfully by DDIS. This section is provided for DB2 serviceability purpose only. QW01916B: There is one of these sections for every DDM command or command data object received from a requester, or reply message or reply data object received from a database server. This section contains the actual level 6b data stream received.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 14. Exception condition diagnostic procedures 335 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DDIS IFCID 0191 common diagnostic procedures


The diagnosis of DRDA exception conditions detected by DDIS always begins with the 32-bit DB2 reason code. If the DRDA exception condition is detected at the requester, then the reason code is presented to the application through the SQLERRD1 field within the SQLCA. Additionally, it is included within the Detailed Data section of the NetView Alert and the QW0191HD section of the IFCID 0191 trace record. If the DRDA exception condition is detected at the database server, then the reason code is included within the Server Diagnostic Information scalar (SRVDGN) and returned as part of the DDM reply message sent to the requester . Additionally, the reason code is included within the Detailed Data section of the NetView Alert and the QW0191HD section of the IFCID 0191 trace record. The diagnostic procedures for interpreting each of the six sections which may be included within the IFCID 0191 trace records are described below.

How to read the QW0191HD section


The QW0191HD consists of the following fields: QW0191RS: Contains the DDIS reason code which uniquely describes the DRDA exception condition. This reason code should be used as the basis for further diagnosis of the DRDA exception condition. QW0191MN: Contains the name of the DDF module (DRDS, DDIS, DTM) which requested the 0191 record. QW0191NO: Contains the number of this IFCID 0191 record instance relative to the total number as specified in QW019190. QW0191T0: Contains the total number of IFCID 0191 records required to capture all DDM objects and FDOCA data. QW0191FL: Contains the length of the DDM object or FDOCA data retrieved from the data stream and which resulted in the DRDA Exception Condition. QW0191MI: A unique 2-byte identifier which identifies the processing point within the module defined in QW0191MN at which the 0191 request was made. QW0191TK: A unique 12 character error token. QW0191C1: The code point of the DDM command whose processing resulted in the request for the 0191 record. QW0191PA: The DDIS parse state of the command. v If this is P1, then the remaining sections in the 0191 record represent reply messages and reply data objects received the . v If this is P2, then the remaining sections in the 0191 record represent command data objects received from the AR. QW0191LN: The location name of the AR (if QW0191PA is P2), or the location name of the (if QW0191PA is P1).

336

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

QW0191RN: The total number of reply messages returned from the in response to the command. This is 0 if QW0191PA is P2. QW0191ON: The total number of OBJDSSs received from the AR/. QW0191DN: The total number of level 6b data streams received all of which have the same request correlator. QW0191ET: Defines the DB2 response to a detected error. v If QW0191ET is 0, then DB2 detected no syntactic or semantic errors in the data stream. v If QW0191ET is 1, then the DB2 AR detected an error or exception condition which resulted in formatting the SQLCA with an SQLCODE and SQLSTATE. In this case, QW0191SS contains the SQLSTATE. v If QW0191ET is 2, then the DB2 detected an error or exception condition which resulted in a DDM reply message being sent to the AR. The code point of the DDM reply message is contained in QW0191C2. QW0191PT: If QW0191PA is P1, then QW0191PT contains the last five states and events of the top level DDIS Reply Parser (DSNLZRPA). Similarly, if QW0191PA is P2, the QW0191PT contains the last five states and events of the top level DDIS Request Parser (DSNLZSPA). These parsers are implemented as finite state machines, consequently, the (state,event) trace provides the last path through the parser.

How to read the QW0191CR section


If the value of QW0191PA is P1, then one QW0191CR section is included for every reply message and reply data object processed in response to the command. If the value of QW0191PA is P2, then one QW0191CR section is included for the command and one section for every command data object which has been processed. The QW0191CR section consists of the following: QW0191PS: Contains the parse state of the DDM object. If the value is DRDUCC, then this object was successfully parsed. If the value is DRDAFAIL, then the object parse failed. QW0191C3: Contains the code point of the command, command data object, reply message or reply data object. QW0191NM: Contains the DSS number, carrying the level 6b object defined by QW0191C3. QW0191OF: Contains the offset relative to the start of the 0191 record of QW01916B section, containing a level 6b RQSDSS, OBJDSS or RPYDSS containing the object defined by QW0191C3. If QW0191PS is DRDUCC, then the value of QW0191FO is 0. If QW0191PS is DRDAFAIL, then the contents of QW0191FO are the offset relative to the 0191 record of the point at which the parse failed. This offset points within the data stream beginning at QW01916B. The cause of the parse failure depends on the object as defined by QW0191C3.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 14. Exception condition diagnostic procedures 337 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

If the value of QW0191C3 is X241A (QRYDSC) or X2413 (SQLDTARD), then the object contains a Late Descriptor. In this case, QW0191D1 contains the offset relative to the start of the 0191 record of a QW0191FD section, describing the progress of the parse of the Late Descriptor. If the value of QW0191C3 is X241B (QRYDTA), or X2413 (SQLDTARD), then the object contains data described by a Late Descriptor. In this case, QW0191D2 contains the offset relative to the start of the 0191 record of a QW0191RT section. This section contains a DB2 RDTA data structure which correlates the DRDA types extracted from the Late Descriptor with the SQL type. If the value of QW0191C3 is X243E (SQLOBKNAM), X2414 (SQLSTT), X2419 (SQLSTTVRB), X2408 (SQLCARD), X2411 (SQLDARD), X241B (QRYDTA) or X2413 (SQLDTARD), then the object contains data described by an Early or Late FD:OCA Descriptor, In this case, QW0191D3 contains the offset relative to the start of the 0191 record of a QW0191LT section. This section contains a DB2 data structure (FDLIDLST) which is a representation of the Early or Late Descriptor and used to retrieve data from the data stream. | | | | | If the value of QW0191C3 is X2412 (SQLDTA), then the object contains data described by an Early or Late FD:OCA Descriptor. In this case, QW0191D4 contains the offset relative to the start of the 0191 record of a QW0191EA section. This section contains an internal DB2 structure that is provided for DB2 serviceability purpose only.

How to read the QW0191FD section


This section is present within the 0191 record only if the object is a Late Descriptor (SQLDTA or SQLDTARD). The section is found from offset QW0191D1 within the QW0191CR section. QW0191LD: Contains the number of late environmental descriptors sent as part of the Late Descriptor. QW0191L1: Contains the SQLDTAGRP LID extracted from the descriptor. If this is 0, the SQLDTAGRP was not processed. QW0191L2: Contains the SQLCADTA LID extracted from the SQLDTARD descriptor. This is 0 if QW0191PA is P2. It is also 0 if QW0191PA is P1 and the SQLCADTA array descriptor has not been processed. QW0191L3 Contains the SQLDTA LID extracted from the SQLDTA descriptor. This is 0 if QW0191PA is P1. It is also 0 if QW0191PA is P2 and the SQLDTA array descriptor has not been processed. QW0191L4: Contains the SQLDTARD LID extracted from the SQLDTARD descriptor. This is 0 if QW0191PA is P2. It is also 0 if QW0191PA is P1 and the SQLDTARD array descriptor has not been processed. QW0191GN: Contains the total number of triplets (excluding Continue Previous Triplet) which reference DRDA types by LID, and are contained within the SQLDTAGRP. This is the number of input host variables being passed (QW0191PA is P2) or the number of columns in the answer set (QW0191PA is P1). QW0191F0: Is on if the geometry of the SQLDTAGRP descriptor is correct. All LIDs specified by the constituent SQLDTAGRP triplets must define a valid DRDA

338

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

type. If the SQLTAGRP specifies LIDs outside the range of X02 through X49 as late environmental descriptors, then the SQLTAGRP Meta Data Definition (MDD) (DRDA type XD0) must precede the SQLTAGRP GDA and each Late Environmental Descriptor must be specified by its 7 byte MDD and 12 byte SDA. QW0191F1: Is on if the geometry of the SQLCADTA row descriptor is correct. The SQLCADTA row must define all occurrences of the SQLCAGRP followed by all elements of the SQLDTAGRP. If QW0191PA is P1, then the DDM object is either a QRYDSC or the FDODSC scalar of the SQLDTARD. If QW0191PA is P2, then the DDM object is the FDODSC scalar of the SQLDTA object. If the SQLTAGRP specifies late environmental descriptors, then the SQLCADTA RLO must be preceded by the Meta Data Definition (MDD) for type XE0. In addition to satisfying the SQLDTAGRP requirements, the SQLCADTA row descriptor must define the row as consisting of all elements of the (nullable) SQLCAGRP followed by all occurrences of elements of the SQLDTAGRP. The reference to SQLCAGRP and SQLDTAGRP is by LID. The reference to SQLCAGRP must be X54, the reference to SQLDTAGRP must be identical to the LID which appeared within the SQLDTAGRP descriptor. QW0191F2: Is on if the geometry of the SQLDTA descriptor is correct. The SQLDTA descriptor must be such that all late environmental descriptors precede the SQLTAGRP descriptor. The SQLDTA/SQLDTARD geometry must be such that all late environmental descriptors precede the SQLDTAGRP descriptor. Also all LIDs contained within the constituent SQLDTAGRP triplets must have been defined previously by some Late Environmental Descriptor, or default to the DRDA type. In the latter case, the LID must be within the range X02 through X4F and X C8 through XCF. If any of these requirements are not satisfied, then the SQLDTA/SQLDTARD geometry is incorrect. In addition to satisfying the SQLDTAGRP requirements, the SQLDTA descriptor must define the row as all occurrences of the SQLDTAGRP. The reference to the SQLDTAGRP is via LID and this reference must be identical to the LID specified in the SQLDTAGRP descriptor. If the SQLTAGRP specifies late environmental descriptors, then the SQLDTA RLO must be preceded by the Meta Data Definition (MDD) for type XE4. If these requirements are not satisfied, the SQLDTA geometry is incorrect. QW0191F3: Is on if the geometry of the SQLDTARD row is correct. Following the SQLCADTA row, the descriptor must define the SQLDTARD array as an (open) array such that each row is one occurrence of the SQLCADTA row. Reference to the SQLCADTA row is by LID, thus, the LID referenced within the SQLDTARD array must be identical to the LID which appeared in the SQLCADTA row descriptor. If the SQLTAGRP specifies late environmental descriptors, then the SQLDTA RLO must be preceded by the Meta Data Definition (MDD) for type XE4. If any of these requirements are not satisfied, the SQLDTARD geometry is incorrect.

How to read the QW0191RT section


The QW0191RT section is included only if the object contains a late descriptor. Therefore, this section is included only if the object is a QRYDSC, SQLDTA, SQLDTARD, or OUTOVR. Both QRYDSC and SQLDTARD contain the late

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 14. Exception condition diagnostic procedures 339 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

SQLDTARD descriptor, both of which map to a DB2 output SQLDA. The FDODSC scalar in the SQLDTA object contains the late SQLDTA descriptor, and this maps to a DB2 input SQLDA. The OUTOVR descriptor contains override type information for the output SQLDA and only applies if LOB data formats are being overridden (either from LOB data value to LOB locator or vice versa). This section includes the DB2 RDTA data structure built from the SQLDTAGRP. There is one RDTAENT entry for every LID processed as one of the elements of the SQLDTAGRP. The value of RDTANUM is identical to the number of SDA references contained in the SQLDTAGRP. For each RDTAENT entry within this structure, the DB2 derived SQL type, subtype, CCSID, and length are recorded. The RDTA is the source of the input or output DB2 SQLDA. The DRDA type specified in the SQLDTAGRP triplets is used to find the 12-byte SDA for that DRDA type. If the SDA describes the data as character, then subtype is 1 for SBCS, 2 for Mixed and 3 for Graphic. Given the subtype of character data, the CCSID is derived from the CCSID overrides in effect at the time of descriptor processing. The selection precedence is as follows: 1. If Late Environmental Descriptor describes this LID, select CCSID from 12-byte SDA. 2. If no late environmental descriptor, then choose command local CCSID as specified via TYPDEFOVR command/reply data object. 3. If neither late environmental descriptor nor TYPDEFOVR, then choose CCSID as specified at ACCRDB/ACCRDBRM time. RDTDA contains the address of the DB2 input/output SQLDA which was created for DRDS. The SQLDA is not traced. RDTALID contains an offset to the QW0191LT section. This points to the same section pointed to by QW0191D3. The contents of RDTAROW are 0. RDTAGLID is the SQLDTAGRP LID extracted from the SQLDTA or SQLDTARD descriptor and RDTARLID is the SQLCADTA row LID extracted from the SQLDTARD descriptor. These values are identical to the values of QW0191DG and QW0191CA, appearing within the QW0191FD section. If the DRDA Exception Condition occurred during the data retrieval, the RDTA specifies the SQLDA which was presented to the RDS Resource Manager (input SQLDA) or the DRDS Resource Manager (output SQLDA).

How to read the QW0191LT section


This section includes the DB2 FDLIDLST data structure used to retrieve data described by an Early or Late Descriptor. All Early Descriptors FDLIDLSTs are pre-built and are part of DB2. Local copies from the read only pre-built structures are made on a demand basis. The FDLIDLSTs which support Late Descriptors are dynamically created during descriptor processing. There is one FDLIDLST for every FDOCA group (nullable or nonnullable) to be retrieved from the data stream. The DB2 unit of data transfer is an FDOCA row. Each row contains one or more groups, and the QW0191LT section captures the FDLIDLSTs required to retrieve all groups which constitute a row. When contained in a QW0191LT section, the contents of the FD_LIDENT_PTR fields are the offset relative to the data stream (QW01916B section) of the start of the data processed for that entry.

340

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

How to read the QW01916B section


The QW01916B section contains a level 6b header, defining a RQSDSS, RPYDSS or OBJDSS data stream, followed by the data stream.

Interpreting IFCID 0191 records


Each IFCID 0191 trace record contains a QW0191HD section, one QW0191CR section, and one QW01916B section for each DDM level 6b object which has been successfully or unsuccessfully parsed by DDIS. Further, depending upon the DDM object processed, there may be associated with the QW0191CR section a QW0191FD section, a QW0191RT section and a QW0191LT section: v The QW0191FD section is present if the DDM object is either a QRYDSC or the FDODSC scalar contained within the SQLDTA or SQLDTARD objects. v The QW0191RT section is present if the DDM object is either a QRYDTA or the FDODTA scalar contained within the SQLDTA or SQLDTARD objects. v The QW0191LT section is present if the DDM object is either a command data object or a reply data object, described by an FDOCA early or late descriptor.

IFCID 0191 trace record common diagnostic procedures


The diagnosis of a DRDA exception condition identified by DDIS begins with the one or more IFCID 0191 trace records and the DB2 reason code recorded within the QW0191RS field of the QW0191HD section. For each reason code, a diagnostic procedure exists which documents the specific nature of the IFCID 0191 records. How to interpret IFCID 0192 records: The correct format for DDM data streams is described in DDM under the term DSS. Essentially, DDM data streams consist of one or more DSSs, each of which contains a DDM level 6a header. Flags in the DDM level 6a header tell the receiver (DB2) about the relationship between the current DSS and other DSSs in the data stream. The DCRM component of DB2 is responsible for validating the content of DDM level 6a data streams, as described by the DDM term DSS. DDM defines several syntax error and protocol error conditions, which are produced when invalid DDM data streams are detected. These errors a produced for one of the following reasons: v A DDM level 6a header contains an invalid flag setting or data value. v The flag settings or data values in a DDM level 6a header are not consistent with the flag settings or data values in the previous DDM level 6a header. In order to describe these errors, the DCRM component records trace data for two events: 1. A DDM data stream is detected which contains a syntax error. When an error of this type is encountered, a DDM SYNTAXRM message is sent to describe the error. Within the SYNTAXRM message, the DDM SYNERRCD (syntax error code) and the DDM SVRCOD (severity code) describe the cause and severity of the error. For these errors, the reader should refer to the DDM SYNERRCD documentation, to determine the nature of the error. 2. A DDM data stream is detected which contains a protocol error. When an error of this type is encountered, a DDM PRCCNVRM message is sent to describe the error. Within the PRCCNVRM message, the DDM PRCCNVCD (conversational protocol error code) and the DDM SVRCOD (severity code) describe the cause and severity of the error. For these errors, the reader should refer to the DDM PRCCNVCD documentation, to determine the nature of the error.
LY37-3218-01 Copyright IBM Corp. 1983, 2007 Chapter 14. Exception condition diagnostic procedures 341 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

In either case, DCRM records the following information in the trace record: v The nature of the error (protocol or syntax) v The DDM severity code (SVRCOD) v The DDM error code (PRCCNVCD for protocol errors, SYNERRCD for syntax errors) v The offset of the current DDM level 6a header in the data stream. This offset is measured from the start of the first DDM level 6a header in the data stream. v The current DDM level 6a header, as defined in the DDM DSS term. This header may or may not be the cause of the error, since many of the errors indicate an inconsistent condition between the current DDM level 6a header and the previous DDM level 6a header. Thus, it is possible that the error was actually caused by the previous DDM level 6a header. v The first 250 bytes of data in the data stream following the current level 6a header v The offset of the previous DDM level 6a header, if the error was detected in a header other than the first. This offset is measured from the start of the first DDM level 6a header in the data stream. v The previous DDM level 6a header, as defined in the DDM DSS term. How to interpret IFCID 0193 records: These records document the inconsistency between the SQLCODE returned by the for a commit or rollback command, and the disposition of the Unit of Work reported by the . For example, if a commit command was sent, and an ENDUOWRM reply message was received with UOWDSP = 01X (commit disposition), and the SQLCODE in the SQLCA was -204, then the IFCID record would contain the values -204,C,C. The complete data stream for the reply, including the SQLCARD and the ENDUOWRM, is in the IFCID 0191 record which is always written when an IFCID 0193 record is written.

Distributed two-phase commit error conditions


DB2 support of distributed two-phase commit provides the detection of a number of events that can have a negative impact on data availability or that indicate or can lead to data inconsistency. Each of these events is the result of an error condition or recovery actions following an error condition. These error situations place DB2 in the role of recovery coordinator, recovery participant, or both. All of these events are traced to statistics class 4 and some of these events result in a NetView alert. The NetView alerts include alert models A001 - A006. See Chapter 13, Diagnostic Tools for DDF and VTAM, on page 315 for a description of these alert models.

Statistics class 4 trace records


The statistics class 4 trace includes error situations that involve indoubt threads during the distributed two-phase commit process. The trace records available for diagnosis of indoubt thread error conditions are IFCIDs 0203 - 0210 and 0234 0236. For a complete description of these and the other statistics class 4 IFCIDs (0191 - 0195 and 0238), see SDSNIVPD(DSNWMSGS). The IFCIDs described here are helpful in the diagnosis and resolution of indoubt thread error conditions.

IFCID 0203
IFCID 0203 reports a heuristic decision that forces a commit or rollback for a distributed indoubt thread. A heuristic decision is made when errors prevent or significantly delay automatic indoubt thread resolution.

342

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

This record is written when: v A DB2 RECOVER INDOUBT command is issued v During the resynchronization process This IFCID is often produced under a system service task rather than the DB2 agents task. For this reason, the fields in this trace record should take precedence over similar values found in the product information portion of the IFC trace data. For example, the LUWID in the product information describes the DB2 system service task. The LUWID in this record describes the DB2 agents thread.

IFCID 0204
IFCID 0204 is written when DB2 attempts to reconnect to a remote system that requests a cold start. A cold start means that the remote system has no memory of the work that was in progress when the previous connection failed. DB2 produces this record only when DB2 has memory of threads whose outcome must be resolved. If DB2 was the coordinator of one or more of those threads, the partner system might have been indoubt when the cold start occurred. The DB2 coordinator assumes that the participant recovery log record is lost or damaged and indoubt threads cannot be resolved. If the partner system was the coordinator of one or more of those threads, the local DB2 subsystem might be indoubt, requiring manual intervention with the RECOVER INDOUBT command. This IFCID is often produced under a system service task rather than the DB2 agents task. For this reason, the fields in this trace record should take precedence over similar values found in the product information portion of the IFC trace data. For example, the LUWID in the product information describes the DB2 system service task. The LUWID in this record describes the DB2 agents thread.

IFCID 0207
IFCID 0207 reports when heuristic damage is detected during two-phase commit resynchronization. Heuristic damage occurs when an operator forces an indoubt unit of work to commit or rollback, and the operators choice conflicts with the outcome chosen by the coordinator of the unit of work. If the alerting DB2 is the participant, the damage is at this DB2. If the alerting DB2 is the coordinator, the damage is at the participant. This trace record is recorded by the DB2 subsystem that makes the heuristic decision and any DB2 coordinator immediately upstream from that subsystem. Other DB2 subsystems involved in the unit of work do not produce this trace record. This IFCID is often produced under a system service task rather than the DB2 agents task. For this reason, the fields in this trace record should take precedence over similar values found in the product information portion of the IFC trace data. For example, the LUWID in the product information describes the DB2 system service task. The LUWID in this record describes the DB2 agents thread.

IFCID 0209
IFCID 0209 is written when a communication failure occurs after phase one and before or during phase 2 of the resynchronization process. The thread that

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 14. Exception condition diagnostic procedures 343 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

experiences the communication failure might still be indoubt at the participant location. If DB2 is the participant, the status is indoubt. If DB2 is the coordinator, the status is commit or rollback.

IFCID 0234
IFCID 0234 records when CICS or IMS attempts to perform indoubt thread resolution for a network identifier (NID) which DB2 does not recognize. This error can occur due to: v a DB2 conditional restart v a DB2 restart after recovering all of DB2 to a previous point in time v an IMS or a CICS start with downlevel recovery logs When a restart loses indoubt logical units of work, other downstream participants might be left with indoubt threads.

IFCID 0235
IFCID 0235 is written when a DB2 conditional restart results in partial information about a LUWID that might require resynchronization with a coordinator or participant. Incomplete information about the LUWID prevents resynchronization. This IFCID is often produced under a system service task rather than the DB2 agents task. For this reason, the fields in this trace record should take precedence over similar values found in the product information portion of the IFC trace data. For example, the LUWID in the product information describes the DB2 system service task. The LUWID in this record describes the DB2 agents thread.

344

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 5. Data Management

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

345

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

346

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 15. Data organization


This chapter provides information about how DB2 for z/OS stores data. It is recommended that you read this chapter before attempting to resolve data inconsistencies.
Index Key Hash Anchor Point Link Parent

Record

Record

Record

Record

Record

Record

Child

Child

Child

Relationship (Referential Constraint)

Parent

Parent

Dependent

Dependent & Parent

Dependent

Dependent

Figure 120. Four types of fan set

Data management subcomponents and services


The data manager (DM) subcomponent manages all data stored in DB2 databases, except for LOB data. The DM subcomponent includes services for index management, LOB manager (LOBM), and database descriptor (DBD) management. Two equivalent descriptions exist for any given database. One is in the DB2 catalog, which holds information about a database and its objects that can be accessed with data manipulation language (DML) and modified by using data definition language (DDL). The other is the internal representation of the same information in the DB2 directory that the DM maintains. This internal description is stored in a database descriptor (DBD). A DBD is modified by DDL; it cannot be accessed by DML. The data in both the DB2 catalog and DBDs is derived from the parameter values that were specified in the CREATE and ALTER statements for the respective objects. A DBD has a one-to-one correspondence to a DB2 database. It contains subdescriptors for all the DM objects that represent the table spaces, the tables contained in them, the indexes and constraints on those tables, and for tables with
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

347

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

LOB columns, the relationship between tables with LOB columns and the auxiliary tables that hold the LOB data. These subdescriptors are called object descriptors (OBDs). All OBDs for DM objects within a single database are stored in the same DBD. There are six types of OBDs: file, page set, record type, fan set, check constraint, and auxiliary relationship. Table 36 shows the relationship between DB2 external objects and DM internal objects.
Table 36. Relationship between DB2 external objects and DM internal objects DB2 external object Database Table space Internal object DBD (database descriptor) File File page set Table Index Record type Index fan set Index page set RI Relationship (referential constraint) Check constraint Auxiliary Relationship Hash Link Relationship fan set Check constraint descriptor (OBDCC) Auxiliary relationship descriptor (OBDRA) Hash fan set Link fan set XML relationship descriptor (OBDRM)

XML Relationship

A description of the various DM internal objects follows. File A logical grouping of all records (defined in one table space) that are to be stored together. A file descriptor contains information about how records are organized, stored, and accessed. A record is the internal representation of a row in a table.

Page set A collection of z/OS data sets containing either data records or index entries. Record type A collection of one or more fields that the DM manages as a single entity. A record type is similar to a table, and fields within record types are similar to columns of a table. Fan set Can be either: v A direct physical access path to data, provided by an index, hash, or link, and the means by which the DM supports orderings, or v A logical data constraint, as in a relationship fan set. Hashes and links exist only in the DB2 catalog and directory. For information about these fan sets, see Hashes and links on page 406. Figure 120 on page 347 illustrates the logical view of fan sets, and the terms associated with each type of fan set. Check constraint A structure that describes a table check constraint.

348

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Auxiliary relationship A structure that describes the relationship between a table with a LOB column (base table) and an auxiliary table that holds the data for the LOB column.

Page sets
DB2 stores data in page sets: v If the page set contains data records, it is called a file page set. A file page set is the physical (internal) representation of a table space. A file page set that contains LOB data is called a LOB page set. v If it contains index entries, it is called an index page set. An index page set is the physical representation of an index space (index). A page set is a collection of one or more data sets that are logically concatenated to form a linear addressing range. DB2 data sets are defined as VSAM linear data sets (LDSs). However, they cannot be read or written by VSAM record processing because of the format incompatibilities between DB2 and VSAM records. The data in LDSs can be accessed by services which use VSAM control interval (CI) processing such as the access method services commands IMPORT and EXPORT. DB2 data within LDSs can also be accessed through services which support the LDS type such as the access method services commands PRINT and REPRO. The z/OS Data Facility Hierarchical Storage Manager (DFHSM) can be used on all DB2 data sets because it supports VSAM CI mode processing. The data sets in a page set contain pages. If the page set is a file page set, its pages are 4 KB, 8 KB, 16 KB, or 32 KB in size. Pages use a VSAM control interval (CI) size of 4 KB, or the page size, depending on the value of system parameter DSVCI. If the page set is an index page set, its pages are 4 KB, 8 KB, 16 KB, or 32 KB in size. See Page types on page 369 for a description and illustrations of the various types of pages. | | | | | | | A file page set can be nonpartitioned, partitioned, or universal. An index page set can be nonpartitioned or partitioned. An XML table space can be partitioned, segmented, or a UTS. A partitioned page set corresponds to a partitioned table space. A universal page set corresponds to a table space that is segmented and partitioned at the same time, also known as a universal table space. Universal table spaces and page sets are discussed in Universal page sets for universal table space on page 355. A LOB page set is organized as described in LOB page sets on page 357.

Linear page sets


A nonpartitioned page set is used to store indexes and the data in segmented or nonsegmented table spaces as long as the segmented table space is not a universal table space. A segmented page set provides advantages for storing more than one table by organizing the pages contiguously into segments, each of which holds records from only one table. A nonsegmented page set can contain data from more than one table, but does not organize records or pages by table. Each segment in a segmented page set contains the same number of pages, which must be a multiple of 4 (from 4 to 64). The segments assigned to a table are chained together and the chain anchor is stored in the DB2 directory.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

349

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| | | |

A nonpartitioned page set, other than a nonpartitioning index on a partitioned table space that is defined as LARGE or defined with the DSSIZE parameter consists of between 1 and 32 VSAM LDSs. A nonpartitioning index on a partitioned table space defined as LARGE or defined with the DSSIZE parameter can have up to maxnumpart VSAM LDSs, where maxnumpart is the maximum number of partitions allowed for the table space. Those VSAM LDSs are concatenated to form a single DASD space, or addressing range. In other words, if the last page of the first data set has page number j, the first page of the second data set has page number j+1. Each VSAM data set can have a maximum of 255 extents. For a nonpartitioned page set other than a nonpartitioning index, the maximum size of a data set contained in the page set is 2 GB. Therefore, the maximum size of the page set is 64 GB (2 GB multiplied by 32 data sets). For a nonpartitioned index on a partitioned table space, the maximum size of a data set or page set depends on whether PIECESIZE was specified when the index was created or altered: v If PIECESIZE was specified, then the maximum size of a data set contained in the page set is the value of PIECESIZE. The maximum size of the page set is: PIECESIZE multiplied by 32 for a nonpartitioned index on a table space that was not defined as LARGE and not defined with the DSSIZE parameter PIECESIZE multiplied by 4096 for a nonpartitioned index on a table space defined as LARGE or defined with the DSSIZE parameter. (For DB2 Version 8 compatibility mode, the maximum size is PIECESIZE multiplied by 254.) v If PIECESIZE was not specified: For a nonpartitioned index on a table space that was not defined as LARGE and was not defined with the DSSIZE parameter, the maximum size of a data set is 2 GB, and the maximum size of a page set is 64 GB (2 GB multiplied by 32 data sets). For a nonpartitioned index on a table space defined as LARGE, the maximum size of a data set is 4 GB, and the maximum size of a page set is 16TB (4 GB multiplied by 4096 data sets). (For DB2 Version 8 compatibility mode, the maximum size of a page set is 1016 GB (4 GB multiplied by 254 data sets).) For a nonpartitioned index on a table space defined with the DSSIZE parameter, the maximum size of a data set is 64 GB, and the maximum size of a page set is 128TB (64 GB multiplied by 2048 data sets, or 32 GB multiplied by 4096 data sets). (For DB2 Version 8 compatibility mode, the maximum size of a page set is 16TB (64 GB multiplied by 254 data sets).) For information on partitioned page sets, see Partitioned page sets on page 352. Related reference CREATE TABLESPACE (DB2 SQL REFERENCE)

Format
The formats of segmented nonpartitioned and nonsegmented nonpartitioned page sets are shown in Figure 121 on page 351 and Figure 122 on page 352. Page sets with compressed data include dictionary pages as shown in these figures. These diagrams do not show system pages. For the format of a file page set with system pages, see System pages for OBDRECs on page 404.

350

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Page # Page Set 0 1 2 Header Page Space Map Page 1 Data/Dictionary Page

.
Data/Dictionary Page

Segment 1

.
Data/Dictionary Page

.
Data/Dictionary Page

Segment i Range of Space Map Page 1 Segment i+1 Data Set 1

.
Data Page

.
Data Page

Data Page

.
n-1 n n+1 Data Page Space Map Page 2 Data Page

Segment n

. . .
Data Page

Range of Space Map Page 2

Data Set 2

Figure 121. Segmented linear page set format

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

351

DO NOT COPY
Page # Page Set 0 1 2 Header Page Space Map Page 1 Data/Root/Dictionary Page Range of Space Map Page 1 Data Set 1

Restricted Materials of IBM Licensed Materials Property of IBM

. . .
3 Data/Dictionary Page Data Page

. . .
Data Page

. . .
n n+1 Space Map Page i Data Page Range of Space Map Page i Data Set 2

. . .
m-1 Data Page Space Map Page i+1 Data Page

m m+1

. . .
Data Page

Range of Space Map Page i+1

Figure 122. Nonsegmented linear page set format

In nonpartitioned page sets, the space map range does not correspond to the data set boundary. A new space map page begins a new space map range. The number of space maps in a data set depends on the type of page set and the size of the pages. See File page set space map pages on page 370 for a detailed description of the differences between the space map pages of segmented and nonsegmented page sets. In segmented page sets, the ranges covered by the space map pages include only the data pages, and the dictionary pages if data is compressed, associated with that space map page. The number of space map pages in a segmented page set is a factor of the size of the segments. In nonsegmented page sets, the range covered by the first space map includes the header page, the space map page itself, the data pages, and the dictionary pages if data is compressed. After that, space map ranges include the associated space map page and the data pages that follow.

Partitioned page sets


A partitioned page set is used to store data of a partitioned table space, which contains records from only one table.

352

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

A partitioned page set consists of between one and 4096 partitions, each of which has a one-to-one correspondence to a VSAM data set. As with nonpartitioned page sets, the data manager (DM) considers the total addressing range of a partitioned page set to be linear. That is, if the last page of the first partition has page number j, the first page of the second partition has page number j+1. Each VSAM data set can have up to 255 extents. The size of a partition can be 1 GB, 2 GB, 4 GB, 8 GB, 16 GB, 32 GB, or 64 GB. If the table space is not defined as LARGE and not defined with the DSSIZE parameter, and the number of partitions is less than or equal to 254, the size of the partition (and, therefore, of the VSAM data set) depends on the number of partitions contained in the entire partitioned page set. If the table space is not defined as LARGE and not defined with the DSSIZE parameter, and the number of partitions is greater than 254, the size of the partition (and, therefore, of the VSAM data set) depends on the page size that is specified for the table space. If the table space is defined as LARGE, the maximum partition size is 4 GB. If the table space is defined with the DSSIZE parameter, the maximum partition size is the value of DSSIZE. Table 37 shows the relationship between the number of partitions and the maximum partition (VSAM data set) size if neither DSSIZE nor LARGE is specified, and the number of partitions is less than or equal to 254.
Table 37. Maximum partition size when neither LARGE nor DSSIZE is specified and the number of partitions is less than or equal to 254 Number of partitions 1 - 16 17 - 32 33 - 64 65 - 254 Maximum size of partition (VSAM data set) 4 GB 2 GB 1 GB 4 GB

Table 38 shows the relationship between the number of partitions and the maximum partition (VSAM data set) size if neither DSSIZE nor LARGE is specified, and the number of partitions is greater than 254.
Table 38. Maximum partition size when neither LARGE nor DSSIZE is specified and the number of partitions is greater than 254 Page size 4 KB 8 KB 16 KB 32 KB Maximum size of partition (VSAM data set) 4 GB 8 GB 16 GB 32 GB

The maximum total addressing range of a page set depends on whether the table space is defined as LARGE or with the DSSIZE option: v If a table space is not defined with LARGE or DSSIZE, but has NUMPARTS > 64, then it is, by definition, a large partitioned table space and therefore can have up to 254 partitions. v For a partitioned page set defined as LARGE, the maximum total addressing range is 16TB (4 GB multiplied by 4096 partitions). v For a partitioned page set defined with the DSSIZE parameter, the maximum total addressing range is 128TB (64 GB multiplied by 2048 partitions, or 32 GB multiplied by 4096 partitions).
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

353

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The format of a partitioned page set is similar to that of a linear page set, with three exceptions: v In partitioned page sets, the first page of each partition is always a header page, and the second page of each partition is always a space map page. Linear page sets contain one header page (page 0) for the entire page set. v Partitioned index page sets contain a root page in each partition. Linear index page sets contain one root page (following the first space map page) for the entire page set. v In partitioned page sets, the space map range of each partition corresponds exactly to one data set. In nonpartitioned page sets, the range of the space map does not correspond to the data set boundary. Figure 123 shows the format of a partitioned page set. This diagram does not show system pages. For the format of a file page set with system pages, see System pages for OBDRECs on page 404.
Page # Page Set 0 1 2 3 Header Page Space Map Page 1 Data/Root/Dictionary Page Data/Dictionary Page Data Page Partition 1 Data Set 1 Space Map Range 1

. . .
Data Page n-1 n n+1 Data Page Space Map Page 2 Data or Root Page Partition 1 Data Set 1 Space Map Range 2

. . .
m-1 m m+1 Data Page Header Page Space Map Page 3 Data/Root/Dictionary Page

Partition 2 Data Set 2 Space Map Range 3

. . .
Figure 123. Partitioned page set format

File page sets for index-controlled partitioning


A partitioned page set is created when a partitioned table space is created with the SQL statement CREATE TABLESPACE with the NUMPARTS parameter. A partitioned page set has a set of key ranges associated with it. The definition of the page set is complete when the clustering index is created. Each partition has a high-key value assigned to it. For a partitioned table space other than a table space defined as LARGE or with DSSIZE, the high-key value assigned to the last

354

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

partition is a byte string composed entirely of XFF. For a partitioned table space defined as LARGE or with DSSIZE, the high-key value assigned to the last partition comes from the CREATE INDEX statement that created the partitioning index on the table space. The high-key value is the number that was specified in the VALUES clause for the last partition. For all other partitions, the value assigned represents the largest key that can be stored in the partition. Each partitioned file page set always has one table and one partitioning index page set defined on it. A partitioning index is always a clustering index. A partitioning index page set corresponds to a partitioning index. This partitioning index page set has the same number of partitions as does the partitioned file page set on which it is based, allowing for a one-to-one correspondence between index partition and file partition. For an index on a partitioned table space other than a table space defined as LARGE or with DSSIZE, the high-key value assigned to the last partition of the index is a byte string composed entirely of XFF. For a partitioning index on a partitioned table space defined as LARGE or with DSSIZE, the high-key value assigned to the last partition comes from the CREATE INDEX statement. When a record is to be inserted into a partitioned file page set, the DM uses the key that the clustering index is defined on to determine into which partition the data is to be inserted.

Partitioned page sets for table-controlled partitioning


A partitioned page set is created when a partitioned table space is created with the SQL statement CREATE TABLESPACE with the NUMPARTS parameter. A partitioned page set has a set of key ranges associated with it. The definition of the page set is complete when a CREATE TABLE statement with the PARTITIONING KEY clause successfully executes. Each partition has a high-key value assigned to it. The high-key value assigned to the last partition comes from the CREATE TABLE statement that created the partitioning keys. The high-key value is the number that was specified in the ENDING AT clause for the last partition in the CREATE TABLE statement. For all other partitions, the value assigned represents the largest key that can be stored in the partition. When a record is to be inserted into a partitioned file page set, the DM uses the partitioning for the table to determine into which partition the data is to be inserted. Each partitioned file page set always has one table defined on it. It might also have a partitioning index with a corresponding partitioning index page set defined on it. A partitioning index can be partitioned or nonpartitioned. It is partitioned if it is defined with the PARTITIONED keyword. The columns of the partitioning index are the same columns or a superset of the columns in the columns in the PARTITIONING KEY clause of the associated table. The columns in the partitioning index need to be in the same order and have the same ASCENDING or DESCENDING attributes as the columns in the PARTITIONING KEY clause of the table. A partitioning index does not need to be a clustering index. A partitioned file page set can have multiple partitioned indexes with corresponding partitioned index page sets defined on it. These indexes are called data-partitioned secondary indexes (DPSIs). They are partitioned according to the partitioning scheme of the underlying data. A partitioned index can be a clustering index and does not need to be a partitioning index. | | |

Universal page sets for universal table space


Explicitly, a universal page set is created when a universal table space is created with the SQL statement CREATE TABLESPACE with SEGSIZE and either the
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

355

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

MAXPARTITIONS or NUMPARTS parameter. The use of MAXPARTITIONS creates a partition-by-growth table space, and NUMPARTS creates a range-partitioned universal table space. The MAXPARTITIONS parameter identifies the maximum number of partitions to which the partition-by-growth table space can grow. The NUMPARTS parameter identifies the number of partitions on the range-partitioned universal table space, ranging from 1 to 4096. This MAXPARTITIONS cap can be used to protect against applications that run without end (for example an insert in an infinite loop) and can be adjusted by using ALTER TABLESPACE. A partition-by-growth table space can be created implicitly when creating a table. A universal table space is useful when all of the following conditions are true: v The table is the only table in its table space v The table is expected to exceed 64GB (each partition can be up to 128 TB) v The partition-by-growth table does not have a suitable partitioning key When a partition-by-growth table is created, its first partition is allocated if the tables space is not created with the DEFINE NO option. Otherwise the physical space will not be allocated until the first insert. After the first partition is full, a second partition is created. After the second partition is full, the third one is created, and so on until the table space reaches the maximum number of partitions designated with the MAXPARTITIONS parameter. For partition-by-growth table spaces, DB2 does not allow the user to explicitly add, rotate, or alter partitions, however for range-partitioned universal it does. Although the table space is partitioned, it has segmented organization and segmented space management capabilities within each partition. Unlike a segmented table space, a universal table space can grow up to 128 TB and its maximum size is determined by MAXPARTITIONS, NUMPARTS, or DSSIZE. The partitioning structure allows all of the DB2 utilities, except for LOAD PART on partition-by-growth, to continue partition-level operations and parallelism capabilities. The size of a partition can be 1 GB, 2 GB, 4 GB, 8 GB, 16 GB, 32 GB, or 64 GB. The MAXPARTITIONS integer specifies the maximum number of partitions to which the partition-by-growth table space can grow. The NUMPARTS integer specifies the number of partitions which the range-partitioned table space occupies. The value for integer must be in the range from 1 to 4096, which depends on the value in effect for DSSIZE and the page size of the table space. Table 39 shows the relationship between the maximum value for MAXPARTITIONS or NUMPARTS, and the DSSIZE for the table space.
Table 39. Maximum value for MAXPARTITIONS or NUMPARTS given the page size or DSSIZE for the table space DSSIZE 1 - 4 GB 8 GB 16 GB 32 GB 64 GB 4K page size 4096 2048 1024 512 256 8K page size 4096 4096 2048 1024 512 16K page size 4096 4096 4096 2048 1024 32K page size 4096 4096 4096 4096 2048

For partition-by-growth, by default each partition has a SEGSIZE of 4, and maximum of 256 parts for the entire table space unless otherwise specified upon

356

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | |

creating a partition-by-growth table space. Regarding range-partitioned universal table, its table space cannot be implicitly created, so a CREATE TABLESPACE with NUMPARTS and SEGSIZE is necessary. Restrictions: v A universal table space cannot be created with the MEMBER CLUSTER option v The only type of index that can be created on partition-by-growth table spaces are non-partitioned indexes v Any non-partitioned index created on a table which is contained in a universal table space always uses 5-byte RID v A partition-by-growth table space partition can not be explicitly added, rotated, or altered. v A universal table space can only contain a single table. v The LOAD PART utility cannot be used in a partition-by-growth table space.

LOB page sets


A LOB page set is used to store data for a LOB table space, which contains the data for a LOB column defined in an associated base table. If the base table is partitioned, a LOB table space holds data for a single LOB column and a single partition. The table that holds LOB columns in a LOB table space is called an auxiliary table. Figure 124 on page 358 shows the relationship between a base table space and its associated LOB table space for a nonpartitioned base table space, and Figure 125 on page 359 shows the relationship between a base table space and its associated LOB table space for a partitioned base table space. An auxiliary relationship descriptor (OBDRA) describes the relationship between a base table and an auxiliary table.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

357

DO NOT COPY
Base Table Space
Base Table Column

Restricted Materials of IBM Licensed Materials Property of IBM

... ... ROWID Column


Row Identifier Row Identifier Row Identifier Row Identifier

Column

Column

Index

Index

LOB Table Space


Auxiliary Table

LOB Table Space


Auxiliary Table

LOB

LOB

LOB

LOB

Figure 124. Relationship between a nonpartitioned base table space and a LOB table space

358

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Partitioned Table Space


Partition 1 Column ... ROWID Column Row Identifier Row Identifier Row Identifier Row Identifier Partition 2 Column ... ROWID Column Row Identifier Column Column

Partition n Column ... ROWID Column Row Identifier Column

Index

Index

...

Index

LOB Table Space

LOB Table Space

LOB Table Space

Auxiliary Table
LOBs from Partition 1

Auxiliary Table
LOBs from Partition 2

Auxiliary Table
LOBs from Partition n

LOB

Figure 125. Relationship between a partitioned base table space and a LOB table space

Each data set in a LOB page set holds up to 64 GB of data, and a page set can have up to 4096 data sets. A LOB page set can store almost 128TB of data (64 GB multiplied by 2048 data sets, or 32 GB multiplied by 4096 data sets). A LOB page set is created when the SQL statement CREATE LOB TABLESPACE is executed. Each LOB table space has one auxiliary table and one nonpartitioning index page set defined on it. An index on an auxiliary table has as its key a 19-byte value generated by DB2. The format of a LOB page set is shown in Figure 126 on page 360.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

359

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Figure 126. LOB page set format

A LOB page set has the following contents: v A header page, which is always the first page in the page set

360

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v High-level space map pages, which contain information about low-level space map pages v Low-level space map pages, which contain information about LOB pages v LOB pages, which contain LOB map pages and LOB data pages | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

XML page sets


An XML page set is created when you create a base table with an XML column or when you alter a base table to add an XML column. When an XML column is created, DB2 implicitly creates several objects to support the XML column. The implicitly created objects include the following items: v Document ID column in the base table v Document ID index on the base table v XML indicator column in the base table for each XML column v XML table space for each XML column in the base table v XML table for each XML column v Node ID index on an XML table The XML table definition is complete after the items in the previous list are implicitly created. DB2 generates names for these items and the names can be queried from the DB2 catalogs. Restriction: These implicitly defined objects cannot be dropped and only the XML table space and the node ID index can be altered.

Document ID column in the base table


A unique document ID (BIGINT) is required for each row in a table that contains XML columns; however, this column is hidden. The document ID column stores a unique document identifier for the XML columns of a row. You can only select the document ID column by its explicit name, which is generated by DB2 and obtainable from the SYSCOLUMNS table. Restriction: You cannot update this column.

Document ID index on the base table


This unique index is implicitly created on the document ID column. The document ID index key is just the document ID itself and the base table RID. If the base table space is partitioned, the document ID index is a nonpartitioning index.

XML indicator column in the base table


The base table has an indicator column for each XML column. The indicator column contains the following information: v Null bit v Invalid bit v Reserved bytes The XML indicator column identifies the base table as a table that has implicitly created XML columns.

XML table space for each XML column in the base table
The XML table space is implicitly created when you create a table with XML columns. Each XML column has its own table space. If the base table is partition-by-growth, then the XML table space will be partition-by-growth. If the base table is range-partitioned UTS then the XML table space will be range-partitioned UTS. The page size for an XML table space is 16 KB. A non-partitioned base table (either segmented or simple) has one segmented XML table space for each XML column. Each XML table space has just one table.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

361

DO NOT COPY
| | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

A partitioned base table has one partitioned XML table space for each XML column. Each XML table space contains one table with the corresponding number of partitions. The XML table space does not have limit keys. This partitioning is required to easily support functions like rotate part. It is also required so that values indexes can be created across all parts. The following figure demonstrates the relationship between segmented table spaces for base tables with XML columns and the corresponding XML table spaces and tables. The relationships are similar for simple base table spaces and partition-by-growth universal base table spaces.

Node ID index

Document ID index

XML index

Table for XMLCOL1 Columns: DOCID MIN_NODEID XMLDATA Partition-by-growth table space for XMLCOL1

Base table Columns: DB2_GENERATEDDOC_ID_FOR_XML XMLCOL1 XMLCOL2 Segmented base table space

Node ID index

Table for XMLCOL2 Columns: DOCID MIN_NODEID XMLDATA Partition-by-growth table space for XMLCOL2

XML index

| | | | | | | |

Figure 127. Relationship between a segmented base table space and an XML table space.

The following figure demonstrates the relationship between partitioned table spaces for base tables with XML columns and the corresponding XML table spaces and tables. The relationships are similar for range-partitioned universal base table spaces.

362

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

|
Document ID index (non-partitioning) Node ID index (non-partitioning, extended) XML index Columns: DOCID MIN_NODEID XMLDATA

Base table Partition 1 Columns: DB2_GENERATEDDOC_ID_FOR_XML XMLCOL1 XMLCOL2 Base table Partition 2 Columns: DB2_GENERATEDDOC_ID_FOR_XML XMLCOL1 XMLCOL2 Partitioned base table space with two partitions. Table has two XML columns.

XML table Partition 1

Columns: DOCID MIN_NODEID XMLDATA Range-partitioned table space with partitions for XMLCOL1 XML table Partition 2

Node ID index (non-partitioning, extended) XML index Columns: DOCID MIN_NODEID XMLDATA Columns: DOCID MIN_NODEID XMLDATA

XML table Partition 1 XML table Partition 2

Range-partitioned table space with partitions for XMLCOL2

| | | | | | | | | | | | | | | | | | | |

Figure 128. Relationship between a partitioned base table space and an XML table space

You can alter the following items for an XML table space: v Bufferpool v Compress v Primary quantity v Secondary quantity v v v v v v v Maximum rows Freepage free Percent free GBPCache Using stogroup Erase Locksize (only possible values are XML and TABLESPACE)

XML table for each XML column


The XML table is implicitly created and cannot be altered by the user. Each XML column in the base table becomes one XML table space that contains one XML table. An XML table has three columns (document ID, a minimum XML node ID, and an XML node record) and an implicitly created node ID index.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

363

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Table 40. Record header | Name | XDMRTOTALLEN | XDMRHDRLEN | XDMRNUMCHILD | XDMRESERVE | XDMRCTXTNID XDMRCNIDLEN | XDMRCNIDDATA | | XDMRCTXTPATH XDMRCPSTEPS | XDMRCPDATA | |
Size 2 bytes 2 bytes 2 bytes 4 bytes variable 2 bytes n bytes variable 2 bytes array of XDMRCTXTSTEP Description

Restricted Materials of IBM Licensed Materials Property of IBM

You can create more indexes on the XML table. Indexes that you create on an XML table are called values indexes. A values index is specific for an XML column on the base table. You can create multiple values indexes for each XML column. The values index combines the XPATH Value, the document ID, and the node ID to point to the XML table RID, where the XML data resides.

Node ID index on an XML table


The node ID index is created implicitly on the XML table for each XML column that is added to the base table. The XML node ID uniquely identifies a node within a document. To locate the corresponding XML column, DB2 uses the document ID from the base row and pairs that with an XML node ID in the XML table, starting with the minimum node ID, to search the node ID index for the XML data. The node ID index can contain multiple entries for each XML data row, depending on how the nodes are grouped in the XML data row.

XML table format


To leverage the Data Manager and storage infrastructure, a table format is used to store XML data. An XML table contains three columns: v XMLDATA VARBINARY(15850) v MIN_NODEID VARBINARY(128) v DOCID BIGINT

XMLDATA column
An XMLDATA column value, called an XML data record, conforms to a VARBINARY format. It has a total length and binary data. Because of the reordered row format, the total length is separate from the binary data on a page. An XML data record has to be viewed with the total length and the binary data together, and is divided into a record header and a record body. Their formats are described below.

Record header
The record header contains the number of children within the record and also context information for the children, in addition to the length fields.

Total length of following data Record header length, including the total length field The number of children, the top level nodes Reserved, must be all 0 Context nodeID from root to the parent of subtree roots. Context nodeID length 0<= n < 128 Context path The number of steps in context path

364

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 40. Record header (continued) Name XDMRINSCPNS XDMRINNSCOUNT XDMRINNSDATA XDMRCTXTSTEP array: XDMRCTXTSTEP XDMRCSNSSID XDMRCSLNSID XDMRINNSBIND array: XDMRINNSBIND XDMRINPFXSID XDMRINNSID 8 bytes 4 bytes 4 bytes In-scope namespace binding In-scope namespace prefix string ID In-scope namespace URI string ID 8 bytes 4 bytes 4 bytes Context path step (element namespace URI and local name) Namespace URI string ID Local name string ID Size variable 2 bytes array of XDMRINNSBIND Description In-scope namespaces The number of in-scope namespaces

The record header length for the record containing a document node (root record) is 16 bytes. The record header for a non root record always contains a context node ID. The context information includes the context path and in-scope namespaces for an element node. But for an attribute, comment, text, or PI node, the context information includes only the context path, no in-scope namespaces. The string IDs are in catalog table SYSIBM.SYSXMLSTRINGS, and specific to each DB2 catalog.

Record body
The record body contains all the nodes in a nested structure to represent the hierarchical data in the XML data model. If a tree or subtree is larger than the largest record can hold, a group of nodes forming a subtree will be put into a separate record, and replaced with a place holder node, called a proxy node.
Table 41. Common node header Name XDMNODE XDMNHEADER XDMNODEKIND 1 byte Common node header Node kind: D Document, E Element, A Attribute, N Namespace, P PI, C Comment, T Text, U Continue, B DocType, R Range Proxy Node flags Proxy node Continued Spanned subtree spans multiple records No escape needed char data does not require escaping reserved, always 0 Node length, covers an entire subtree for Document and Element nodes Node ID (local) Node ID length Encoded node ID, 1 <= n <= 6 Size Description

XDMNODEFLAG

8 bits 1....... .1...... ..1..... ...1.... ....0000

XDMNODELEN XDMNODEID XDMNIDLEN XDMNIDDATA

2 bytes variable 1 byte n bytes

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

365

DO NOT COPY
| Table 42. Document node | Name | XDMNHEADER | XDMDNUMCHILD | XDMDURI | XDMDXMLDECL XDMDVERSION | XDMDENCODING | | XDMDSTDALONE | XDMDFLAGS | | | XDMDXSROBID | XDMDVERSN
Size variable 2 bytes 4 bytes 6 bytes 1 byte 4 bytes 1 byte 1 byte 1....... .0000000 4 bytes 2 bytes Description

Restricted Materials of IBM Licensed Materials Property of IBM

Common node header The number of children within the record Document URI string ID (always 0 for V9) XML declaration 1 for 1.0 Encoding string ID y - yes, n - no, x - absent Document node flags Schema validated document Reserved XSR schema object ID for validated document Version number from XML indicator column

| Note that the length of a document node itself can be calculated. | | Table 43. Element node | Name | XDMNHEADER | XDMENUMCHILD | XDMENAMEID XDMENSSID | XDMELNSID | XDMEPFXSID |
Size variable 2 bytes 12 bytes 4 bytes 4 bytes 4 bytes Description Common node header The number of children within the record String IDs for the element QName (three parts) Namespace URI string ID Local name string ID Namespace prefix string ID

| Note that the length of an element node itself can be calculated. | | Table 44. Namespace node | Name | XDMNHEADER | XDMNSPFXSID | XDMNSSID | | Table 45. Attribute node | Name | XDMNHEADER | XDMANAMEID XDMANSSID | XDMALNSID | XDMAPFXSID | | XDMAVALUE XDMAVALLEN | XDMAVALDATA | |
Size variable 12 bytes 4 bytes 4 bytes 4 bytes variable 2 bytes n bytes Description Common node header String Ids for the attribute Qname (three parts) Namespace string ID Local name string ID Namespace prefix string ID Attribute value Length of attribute value Attribute value Size variable 4 bytes 4 bytes Description Common node header Namespace prefix string ID Namespace URI string ID

366

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 46. Text node Name XDMNHEADER XDMTXTLEN XDMTXTDATA Table 47. PI node Name XDMNHEADER XDMPITGNID XDMPICONTENT XDMPICONTLEN XDMPICONTDATA Table 48. Comment node Name XDMNHEADER XDMCMTLEN XDMCMTDATA Table 49. DocType node Name XDMNHEADER XDMDTNAMEID XDMDTLNSID XDMDTPFXSIDID XDMDTSYSID XDMDTSYSLEN XDMDTSYSDATA XDMDTPUBID XDMDTPUBLEN XDMDTPUBDATA Size variable 8 bytes 4 bytes 4 bytes variable 2 bytes n bytes variable 2 bytes n bytes Description Common node header Doctype name ID Local name string ID Namespace prefix string Doctype Sys ID Length of Sys ID string Sys ID string Doctype Pub ID Length of Pub ID string Pub ID string Size variable 2 bytes n bytes Description Common node header Common content length Common content Size variable 4 bytes variable 2 bytes n bytes Description Common node header PI target name string ID Length of PI content PI content data Size variable 2 bytes n bytes Description Common node header Text content length Text content

Note that a DocType node is used to keep information in the original document and is not used in any search processing or serialization.

Node flags Proxy flag The proxy flag is on when a partial node is used to represent a complete node or subtree in a separate record. The partial node is called a proxy node. Among seven kinds of nodes, only a document node and a namespace node cannot have the proxy flag on. When a node with the proxy flag on, it does not have the variable-length portion of the node body. An element node can be viewed as its variable-length body its entire subtree. A range proxy node (see below) also has this flag on. Continued flag: The continued flag is on when a node contains a value that is too long to
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

367

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | Table 50. Continue node | Name | XDMNHEADER | XDMCONTNKIND | XDMCONTLEN | XDMPICONTDATA | | | | | | | |
Size variable 1 bytes 2 bytes n bytes Description

Restricted Materials of IBM Licensed Materials Property of IBM

fit in a single record. The first node with this flag on that contains a partial long value is called the lead node for continuation. The lead node has the basic node kind. The content or value of a lead node contains a 4- bytes total length field for the entire long value. The nodes following the lead node are the continue nodes (see below). The last node will have the continued flag off. Spanned flag The spanned flag is on when a document node or element node contains a proxy node among its descendants. Noescape flag The noescape flag is one when an attribute node or text node or its continue node does not contain a character that requires escaping (entitization) during serialization into string. Continue nodes are used when a node (either attribute, text, comment, or PI) contains a value that is too long to fit in a record. For a long value, there is a lead node that has a normal node kind, followed by one or more continue nodes. The continued flag is on for the lead node and continue nodes, except for the last continue node. The record header for a continue node contains empty context information except for the context node ID since continue nodes are accessed only through a lead node. A continue lead node and all the continue nodes are in their own records, with continue nodes treated as children of the lead node when generating the node IDs.

Common node header Lead node kind Continuation content length Continuation content data

If there are many sibling subtrees, and each of the subtrees is relatively small, but the subtree one level higher is too big, then sibling subtrees are grouped together to form a record, and a range proxy node is used in place of the subtrees. A range proxy node can also represent any number of records, each of which can contain a single subtree or a sequence of subtrees. The node ID field of a range proxy node contains the minimum (local) node ID among the siblings, and its body contains the maximum (local) node ID.
Size variable variable 1 bytes n bytes Description Common node header (contains node ID for min node ID) Maximum node ID Max node id length Max node id data, n <= 6 bytes

| Table 51. Range proxy node | Name | XDMNHEADER | | XDMRPXYMAXNODEID XDMMAXNIDLEN | XDMMAXNIDDATA | | | | |

MIN_NODEID column
The Node ID for a node is the concatenation of local node IDs contained in each node along the path from the root to the node. For each XML data record, there is

368

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | |

a context node ID that contains node IDs from the root to the parent node for the nodes inside the record. The MIN_NODEID column of an XML table contains the minimum node ID within the XMLDATA record in that row, which is concatenation of the context node ID and the first node ID in the record body. DOCID and MIN_NODEID are used for clustering the rows belong to a same document. Local NodeID Encoding A local node ID is encoded using variable-length bytes. It starts with 02x for the first child under a parent, and increments by 2 for each following sibling, until it reaches A0x. Then it starts to use two bytes with an odd number in the first byte, such as A102x, until it reaches D0x. Then it starts to use three bytes, and so on. A 4-byte local node ID can encode over 10 millions of siblings, and a 6-byte over 33 billions. This encoding allows insertion at any position without requiring changes to other node IDs. Since each local node ends with an even byte, local node IDs at different levels can be isolated from an absolute node ID.

Page types
Every file page set contains three types of pages: header pages, space map pages, and data pages. A file page set that is a LOB page set can contain high-level space map pages, low-level space map pages, LOB map pages, and LOB data pages. A file page set that includes a table space or partition with compressed data also contains dictionary pages. A file page set for a table space that has undergone ALTERs that resulted in changes to data type definitions also has system pages. Every index page set contains six distinct types of pages: header pages, space map pages, non-leaf pages, directory pages, root pages, and leaf pages.

Header pages
Header pages of all page sets have the format shown in Figure 129.
Page Header Reserved Page Trailer (1 byte)

Figure 129. Header page format

The page header fields contain control information that DB2 uses. For a description of the format and contents of page set header pages, see File page set header page on page 461 or Index page set header page on page 483.

Space map pages


A space map page identifies the data pages that have enough free space for additional data to be inserted. Each space map in a page set covers a specific range of pages; the size of the range is computed on the basis of the type of page set (segmented file, nonsegmented file, partitioned file, LOB, or index), the page size, and whether the page set has the MEMBER CLUSTER attribute. There are six corresponding space map page formats: segmented, nonsegmented, partitioned, LOB high-level, LOB low-level, and index. Nonsegmented and partitioned file page set space map pages are almost identical and are therefore described together in

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

369

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

this section. Descriptions of the different formats are detailed in File page set space map pages, LOB space map pages on page 376, and Index page set space map pages on page 378.

File page set space map pages


In file page sets, there are three space map page formats: one for segmented page sets and UTS page sets, one for nonsegmented page sets, and one for LOB page sets. Refer to Segmented space map pages, Nonsegmented and non-UTS partitioned space map pages on page 374, and LOB space map pages on page 376 for the general format and description of the contents of file page set space map pages. Segmented space map pages: Space map pages of a segmented and UTS page set have the format shown in Figure 130.
Page Header (28 bytes)

Space Map of Segment Entries

(Each entry has 7 bytes of control information and 4 bits per page in segment) Modified Page Indicators (1 bit per page) Page Trailer (1 byte)

Figure 130. Segmented space map page format

In a segmented and UTS page set, each space map page covers a fixed number of segments and page 1 is always allocated as the first space map page (SMAP(1) = 1). The page number of the second (or subsequent) space map page can be computed as follows:
SMAP(i+1) = SMAP(i) + (SEGSIZE * SEGNUM) + 1

The format and contents of segmented space map pages are described in Segmented file page set space map page on page 465. This section contains a general description of the space map segment entries and modified page indicators. Segment entries The space map portion of a segmented space map page consists of segment entries. The number of segment entries is determined by the page size (4 KB, 8 KB, 16 KB or 32 KB) and the segment size and is stored in the SEGNUM field of the page header. SEGNUM can be computed as follows:
SEGNUM = (page size - LENGTH(SEGHDR) - LENGTH(SEGTAIL) - 1)*8/(8*LENGTH(SEGBLK) + SEGSIZE * 5) where page size = 4 KB, 8 KB, 16 KB, or 32 KB LENGTH(SEGHDR) = 28 bytes (page header block) LENGTH(SEGTAIL) = 1 byte (page trailer) LENGTH(SEGBLK) = 7 bytes (segment entry header) SEGSIZE = number of pages per segment (page range)

370

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Each segment entry covers a range of pages of size SEGSIZE. Within a space map page, the segment entry is uniquely identified by its relative segment entry number (RSEN). RSEN is numbered from 1 to SEGNUM and is computed as follows:
RSEN = ((offset to SEGBLK - LENGTH(SEGHDR))) /(LENGTH(SEGBLK) + (SEGSIZE/2))) + 1

Let SMAP be the space map page covering the segment entry number RSEN(i). The range of pages covered by RSEN(i) are pages m to n where:
m = SMAP + (RSEN(i)-1)*SEGSIZE + 1 and n = SMAP + RSEN(i)*SEGSIZE

When a relative segment entry number (RSEN) and its covering space map page number (SMAP) are given, the unique segment entry number (SGEN) can be derived within a page set. First, compute how many space map pages are preceded by SMAP, as follows:
NPSMAP = (SMAP - 1)/(SEGSIZE*SEGNUM + 1)

Then, SGEN can be computed as follows:


SGEN = ((SMAP - (NPSMAP + 1))/SEGSIZE) + RSEN

SGEN can also be derived from a page number as follows:


SGEN = (PNO - 2 - (PNO - 1)/((SEGSIZE*SEGNUM) + 1)) /SEGSIZE + 1

The SGEN is used as the chaining segment number stored in the SEGNEXT field of the segment entry. The relative segment number (RSEN) and the covering space map page (SMAP) of an absolute segment number (SGEN) can also be computed as follows:
RSEN = (SGEN - 1) modulo SEGNUM + 1 SMAP = (SGEN - 1)/SEGNUM * ((SEGSIZE*SEGNUM) + 1) + 1

Each segment entry consists of 7 bytes of segment-related control information and a variable length area of 4-bit entries, one for each page in the segment. The number of 4-bit entries must be a multiple of 4, between 4 and 64. Each 4-bit entry indicates how much free space remains in the corresponding data page. It contains one of the following values: Binary value Explanation B0000 The page is empty (not yet formatted by the DM) B0001 The page is empty (caused by a mass delete) B0010 The page is empty (caused by a normal delete) B0011 The amount of free space available in the data page is greater than or equal to the maximum size of the record. Bxxxx Bxxxx = B0100 through B1010 = i. The amount of free space available in the data page is less than (MAX - (i-4) * INC) and greater than or equal to
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

371

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

(MAX - (i-3) * INC), where MAX is the maximum size of the record and INC is equal to the integral part of (maximum record size - minimum record size)/8. B1011 The amount of free space available in the data page is less than (MAX - 7 * INC) and greater than or equal to the minimum size of the record. B1111 The amount of free space available in the data page is less than the minimum size of the record. This means that, for practical purposes, the page is full. Page status settings of B0100 (4) through B1011 (11) are only applicable for variable-length records. For fixed-length records, the page status is set to B0011 (3) if it contains at least one record and to B1111 (15) if it is full. Unlike nonsegmented or non-UTS partitioned space map entries, the header page and space map page are not defined in the first segment entry. The range of pages that is covered by the space map is dependent on the segment size and the number of segments covered by the space map page. In a segmented table space, the number of pages covered by a space map page is computed by multiplying the number of segments per space map page (SEGNUM) by the segment size (SEGSIZE). The page range does not include the space map page itself. The following table shows the number of pages covered by a space map page for various SEGSIZE and SEGNUM values.
Table 52. Number of pages covered by segmented space map page offset to # of pages per space page map (NPM = SEGSIZE* modify bits SEGNUM) (in hex)

segment size (SEGSIZE) 4 KB page: 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 8 KB page: 4 8 12 16 20

# of segments per space map page (SEGNUM)

428 338 280 239 208 184 165 150 137 127 117 109 102 96 91 86 859 680 562 480 418

1712 2704 3360 3824 4160 4416 4620 4800 4932 5080 5148 5232 5304 5376 5460 5504 3436 5440 6744 7680 8360

F28 EA2 E54 E1D DEC DC4 DA5 D96 D7D D81 D5D D4F D42 D3C D43 D36 1E4F 1D54 1CA7 1C3C 1BDE

372

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 52. Number of pages covered by segmented space map page (continued) offset to # of pages per space page map (NPM = SEGSIZE* modify bits SEGNUM) (in hex) 8904 9324 9664 9936 10200 10384 10560 10712 10864 10980 11072 6884 10896 13524 15392 16760 17832 18676 19360 19944 20440 20856 21216 21528 21784 22020 22208 13784 21824 27084 30800 33560 35712 37408 38784 39924 40920 41712 42432 43056 43624 44100 44544 1BA5 1B6D 1B3E 1B10 1B01 1AD8 1AC0 1AAA 1AA2 1A8F 1A77 3C9D 3AA2 3957 387A 37C2 3741 36D3 3677 3636 3601 35CE 35A2 357A 354B 3527 34F9 7942 7554 72B9 70E7 6F8A 6E8C 6DB4 6D00 6C69 6C01 6B80 6B28 6AD8 6A9D 6A57 6A24

segment size (SEGSIZE) 24 28 32 36 40 44 48 52 56 60 64 16 KB page: 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 32 KB page: 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64

# of segments per space map page (SEGNUM) 371 333 302 276 255 236 220 206 194 183 173 1721 1362 1127 962 838 743 667 605 554 511 474 442 414 389 367 347 3446 2728 2257 1925 1678 1488 1336 1212 1109 1023 948 884 828 779 735 696

Segments for a particular table are connected through chained space map segment entries. For non-UTS, the anchor is stored on the header page. For segmented table

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

373

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

spaces, the chain anchor is stored in the OBDRXFSG field of the record type OBD (see Chapter 25, Database descriptor (DBD) formats, on page 503). Segments for system pages are also connected through chained space map segment entries; the chain anchor is stored in the HPGDFSG field in the file page set header page (see File page set header page on page 461). Modified page indicators The modified page indicator area in the second portion of the segmented space map is identical to the format and function of the modified page indicator area in nonsegmented space map pages. Nonsegmented and non-UTS partitioned space map pages: Space map pages of nonsegmented and non-UTS partitioned file page sets have the format shown in Figure 131.

Page Header (26 bytes)

Space Map of Page Entries

(2 bits per page)

Modified Page Indicators (1 bit per page)

Page Trailer (1 byte)

Figure 131. Nonsegmented and non-UTS partitioned space map page format

In nonsegmented and non-UTS partitioned page sets, each space map page covers a fixed number of pages, and page 1 is always allocated as the first space map page. Table 53 lists the length and number of pages for each page size. The format and contents of nonsegmented and partitioned page set space map pages are described in Nonsegmented or partitioned file page set space map page on page 466. The following paragraphs contain a general description of the space map entries and modified page indicators. Space map entries The space map portion of nonsegmented and partitioned page sets consists of a number of 2-bit entries. Each 2-bit entry: v Corresponds to a page within the range the space map covers. The following table shows the number of pages covered by a space map.
Table 53. Number of pages covered by nonsegmented space map page Page size Not MEMBER CLUSTER: 4 KB system 4 KB user 8 KB 16 KB Type Number of partitions # of pages per space map

Any Any Any Any

Any Any Any Any

10764 10760 21680 43528

374

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 53. Number of pages covered by nonsegmented space map page (continued) Page size 32 KB Type 4-byte RID Number of partitions 0-16 17-32 33-64 Any Any Any Any Any # of pages per space map 87216 65536 32768 87216 199 199 199 199

32 KB MEMBER CLUSTER: 4 KB user 8 KB 16 KB 32 KB

5-byte RID Any Any Any Any

v Indicates how much free space remains in the corresponding data page. It contains one of four possible values: Binary value Explanation B00 B01 The amount of free space available in the data page is greater than or equal to the maximum size of the record. The amount of free space available in the data page is greater than or equal to the average size of the record and is less than the maximum size of the record. The amount of free space available in the data page is greater than or equal to the minimum size of the record and is less than the average size of the record. The amount of free space available in the data page is less than the minimum size of the record. This means that, for practical purposes, the page is full.

B10

B11

The number of space map entries corresponds to the number of pages covered by the range of that space map and is stored in the page header. In the first space map page (page 1) of a nonsegmented file page set and in the first space map page of each partition of a partitioned file page set, the first space map entry is for the header page, the second entry is for the space map itself, the third entry is for the page following the space map (page 2 in a linear page set), and so on. In subsequent space maps in a nonsegmented file page set or in the same partition, the first entry is always for the space map itself. The entries for header pages and space map pages are initially set to binary 11. Modified page indicators The modified page indicator area in the second portion of a nonsegmented or partitioned page set space map page indicates whether or not the corresponding data page has been modified since the last image copy of the page set was taken. This information is available only if the table space was created or altered with the TRACKMOD YES option. The header page contains an LRSN indicating that an image copy has occurred. When an update operation to a data page is made, the PGLOGRBA is compared to that LRSN (which is saved in the PB0 when the page set is opened) to determine if the modified page indicator on the space map page needs to be set to 1. This indicates that at least one change has been made since the last image copy. The
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

375

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

incremental image copy utility copies only pages whose modified page bits are equal to 1. Whenever a full or incremental image copy is made of a page, the modified page bits in the space map are reset to 0.

LOB space map pages


For LOB page sets, there are two types of space map pages. LOB high-level space map pages are described in LOB high-level space map pages. LOB low-level space map pages are described in LOB low-level space map pages on page 377. LOB high-level space map pages: High-level space map pages for LOBs contain information about low-level space map pages. High-level space map pages have the format shown in Figure 132.
Header (63 bytes)

Space Map of Low Level Space Map Pages (8 bits/page)

Page Trailer (1 byte)

Figure 132. LOB high-level space map page format

Table 54 shows the number of low-level space map pages that a high-level space map page covers:
Table 54. Number of low-level pages covered by a high-level space map page Page Size 4 KB 8 KB 16 KB 32 KB Number of low-level space map pages 2016 1088 504 252

The header of a high-level space map page contains the following information about the low-level space map pages it covers: v The last formatted low-level space map page v The first low-level space map page to check for space Space map entries: The space map portion of a high-level space map page consists of a number of 8-bit entries. The first 4 bits of each entry contain the following information about a low-level space map page:
Table 55. Information in a high-level space map page entry Value in Bits 0-3 0 1 7 8 Information about low-level space map page Not formatted Formatted but empty Under half of the entries are allocated Over half of the entries are allocated

376

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 55. Information in a high-level space map page entry (continued) Value in Bits 0-3 D F Information about low-level space map page Page has no free chunks Page is full

LOB low-level space map pages: Low-level space map pages for LOBs contain information about LOB pages. Low-level space map pages have the format shown in Figure 133.
Header (70 bytes) Chunk Map (2 bits/chunk) Page Allocation (4 bytes/chunk)

Modified Page Indicators (2 bytes/chunk)

Usage Map (320 bytes/chunk) Page Trailer (1 byte)

Figure 133. LOB low-level space map page format

The number of chunks and LOB pages in the low-level space map page depends on the page size, as shown in Table 56.
Table 56. Number of chunks and LOB pages covered by a low-level space map page Page size 4 KB 8 KB 16 KB 32 KB Number of chunks 12 24 50 100 Number of LOB pages 192 384 800 1600

The offsets to the sections in the low-level space map page also depends on the page size, as shown in Table 57.
Table 57. Offsets to the page allocation and usage map areas in a low-level space Map Page Page size 4 KB 8 KB 16 KB 32 KB Offset to page allocation area (bytes) 73 76 82 95 Offset to usage map area (bytes) 145 220 382 395

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

377

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Chunk map entries: A chunk is 16 contiguous pages of a LOB. DB2 allocates space for LOBs in chunks. Each chunk map entry consists of 2 bits that indicate the status of a chunk: Binary value Explanation B00 B01 B10 B11 The chunk is empty. The chunk is partially allocated to 1 or more LOBs. The chunk map is fully allocated to a single LOB. The chunk is fully allocated to multiple LOBs.

Page allocation entries: Each 4-byte entry in the page allocation area consists of 16 2-bit entries, one for each page in the chunk. The two bits have the following meanings: Binary value Explanation B00 B01 B10 B11 The page is not allocated. The page is deallocated. The page is allocated. The page is allocated and is the first LOB page, which is the LOB map page.

Modified page indicators: The modified page indicator area follows the page allocation area. Each 2-byte entry in the modified page area consists of 16 1-bit entries, one for each page in the chunk. Each bit indicates whether the corresponding data page was modified after the last image copy of the page set was taken. Usage map entries: Each 320-byte usage map entry consists of 16 20-byte entries, one for each page in the chunk. The first 17 bytes of each 20-byte entry for a LOB page contain the ROWID of the row in the base table to which the LOB page is allocated. The 18th and 19th bytes contain a version number for the LOB that contains the page. DB2 uses the combination of the ROWID and the version number to determine if it can allocate the page.

Index page set space map pages


Index page set space map pages have the format shown in Figure 134.
Page Header

Space Map

(One bit per page 0 indicates free page 1 indicates page in use) Page Trailer (1 byte)

Figure 134. Index page set space map page general format

The format and contents of index space map pages are described in Index space map header (IPSMHEAD) on page 488. The following paragraphs contain a general description of the space map entries.

378

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Space map entries


An index page set space map page differs from a file page set space map page in two ways: v There is only one bit corresponding to each page, not two (as in nonsegmented or partitioned page sets) or four (as in segmented page sets). v There is no modified page indicator area. Each bit in the space map corresponds to an index page set data page in the range that the space map covers. For index page sets, the range that the space map covers is X7F78, or 32632 pages. Therefore, the second space map page in an index page set is on page X7F78. The first three bits in the first space map page (page 1) of an index page set and in the first space map page of each partition of a partitioned index page set are initialized to B111. This indicates that the header page, the space map page, and the root page are all in use; that is, they are part of the index tree. When an index page is in use, the bit in the index space map representing that page is set to 1. When the page is freed, meaning that all the entries in a given index page have been deleted, the corresponding bit is set to 0.

Dictionary pages
All table spaces and table space partitions that contain compressed data have a dictionary. The dictionary is stored in the table space or partition in the dictionary pages, which consist of a chain of pages anchored in the header page. The location of the dictionary pages in segmented, nonsegmented and partitioned page sets is shown in Figure 121 on page 351 through Figure 123 on page 354

Data compression
In ESA data compression, the unit of compression is a table row. Data can be compressed in: v All data pages in a table space v Individual partitions in a partitioned table space Data cannot be compressed in: v Work files v Table indexes v The catalog v The directory v LOB table spaces Dictionary: The dictionary controls the process of compression and decompression. Its content is based on the table space or partition contents at the time when the dictionary is built. A dictionary can be built or rebuilt by the LOAD or REORG utilities when the table space or partition is replaced or reorganized.

Dictionary structure
The dictionary pages always follow the first space map page and precede the data pages. Page number 2 is the first dictionary page. The location of the last dictionary page depends on the size of the dictionary and the size of the page. The dictionary size is saved in the header page for the table space or partition as the

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

379

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

number of 4 KB pages required for the dictionary. In the space map, entries for each dictionary page are always set to indicate that the page is full.

Segmented dictionary pages


A segmented table space uses the entire first segment and enough additional complete segments to contain all the dictionary pages. The page set OBID is used as a SEGID to identify the dictionary segments in the space map page. More than one segment may be required for 4 KB pages, depending on segment size. The last segment used for the dictionary pages must be fully allocated to the dictionary and may contain unused space.

Nonsegmented dictionary pages


In a nonsegmented table space, the number of pages required for the dictionary depends on the size of the dictionary and the size of the page.

Dictionary format
Each dictionary page contains a 24-byte header (PGLZDM) and an 8-byte trailer (PGLZDMF). Bytes 1 - 12 and the last two bytes have the standard DB2 format. Each dictionary page header contains the page number of the next dictionary page in the page set (PGLZDMNP). The information following the header is specific to the dictionary page. A 4 KB page contains up to 508 entries; a 32 KB page contains up to 4092 entries. See Dictionary page on page 481 for a complete description of the dictionary format.

Zero pages
A zero page is an empty page without a header or trailer. It can be a 4 KB, 8 KB, 16 KB, or 32 KB page full of zeros, or a 4 KB, 8 KB, 16 KB, or 32 KB page full of zeros with only the parity bits on. Zero pages can exist in a segmented table space. For example, consider a segmented table space that contains four pages. The first page is full. The second, third and fourth pages are zero pages. When DB2 formats the table space, the entire segment is formatted with three of the four pages not in use.

Data pages
The data pages of file page sets contain user data. In LOB page sets, data pages contain user data and information about the user data. In index page sets, data pages contain index entries that point to user data. For information about LOB pages, see LOB pages on page 398. For information about index page set data pages, see Index page set data pages on page 399. File page set data pages are described below. User data is stored in records that are identified by record identifiers (RIDs), as described under File page set data pages on page 384.

380

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Record identifiers
A row of data in a table is stored as a record and is identified by a unique record identifier (RID). RIDs are stored in index page set data pages and identify the records that are stored in file page set data pages. | | | | For a universal table space or a table space defined as LARGE or with the DSSIZE parameter, a RID is a 5-byte field, containing a 4-byte page number followed by a 1-byte page ID map entry number. A RID has the general format shown in Figure 135.
ID map entry in page

4-byte page number

Byte 1

Figure 135. Format of 5-byte record ID (RID)

For any other table space type, a RID is a 4-byte field, containing a 3-byte page number followed by a 1-byte page ID map entry number. A RID has the general format shown in Figure 136.
ID map entry in page

3-byte page number

Byte 1

Figure 136. Format of 4-byte record ID (RID)

Page number
The page number identifies the page in the page set where the record is stored. For partitioned page sets and related indexes, the high order bits of this field identify the number of the partition in which the page is located. | | | Partition numbers begin with partition number 0. For example, a page set with three partitions would have partitions numbered 0, 1, and 2. For non-EA-enabled table spaces, the number of high order bits used for identifying the partition
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

381

DO NOT COPY
| | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

number depends on how many partitions are in the table space, how large the pages are, and whether the table space uses 4-byte RIDs or 5-byte RIDs. For EA-enabled table spaces, the number of high-order bits used for identifying the partition number depends on the partition or data set (for LOBs) size and the page size. The partition or data set size is the value that is specified for the DSSIZE parameter when the table space is created. Table 58 indicates how many high-order bits are used for identifying the partition number for non-EA-enabled table spaces. Use this table to find the bits that identify the partition-number if the DSSIZE keyword is specified in the CREATE TABLESPACE statement for a partitioned table space and the data sets are allocated with the LARGE attribute, even if the table space is not EA-enabled.Table 59 gives the same information for EA-enabled table spaces. Use this table if partitioned table spaces are created without the DSSIZE keyword specified.
Table 58. Number of bits used to identify partition number for non-EA-enabled table spaces Type of RID 4-byte 4-byte 4-byte 5-byte Number of partitions 1 to 16 17 to 32 33 to 64 1 to 4096 Page size 4 KB 4 bits 5 bits 6 bits 12 bits Page size 8 KB 5 bits 6 bits 7 bits 13 bits Page size 16 KB 6 bits 7 bits 8 bits 14 bits Page size 32 KB 7 bits 8 bits 9 bits 15 bits

Table 59. Number of bits used to identify partition number for EA-enabled table spaces DSSIZE 1 GB 2 GB 4 GB 8 GB 16 GB 32 GB 64 GB Page size 16 KB Page size 4 KB bytes Page size 8 KB bytes Bytes 14 bits 13 bits 12 bits 11 bits 10 bits 9 bits 8 bits 15 bits 14 bits 13 bits 12 bits 11 bits 10 bits 9 bits 16 bits 15 bits 14 bits 13 bits 12 bits 11 bits 10 bits Page size 32 KB 17 bits 16 bits 15 bits 14 bits 13 bits 12 bits 11 bits

| | | |

Tip: If you want to print only the header information of a certain partition and you are having trouble determining the correct page number, you can limit the DSN1PRNT-output by coding PARM=FORMAT NODATA NODATPGS in the DSN1PRNT invocation. The SYSIBM.SYSTABLESPACE catalog table contains the number of partitions in each table space (PARTITIONS column), the size of the pages (PGSIZE column), and the table space type (defined with MEMBER CLUSTER, defined with DSSIZE, LARGE, or LOB) (TYPE column). SYSIBM.SYSTABLESPACE also contains the maximum number of rows that can be inserted, loaded into, or reorganized in a data page (MAXROWS). Users can set or modify MAXROWS using the CREATE TABLESPACE or ALTER TABLESPACE statement. See Table 219 on page 666 for a format description of SYSIBM.SYSTABLESPACE. Some examples of determining the partition a page is in, given the page number, are shown in Table 60 on page 383 and Table 61 on page 383.

382

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 60. Determining partition number given page number for a non-EA-enabled table space. Partition numbers and page numbers begin with 0. Number of partitions 4 32 50 8 28 52 12 24 60 16 20 64 1 to 4096 1 to 4096 Partition number 0 31 1 5 25 48 11 21 50 15 1 63 1 4095 Page number within partition 4 5 6 5 6 7 6 7 8 7 8 9 4 11

Type of RID 4-byte 4-byte 4-byte 4-byte 4-byte 4-byte 4-byte 4-byte 4-byte 4-byte 4-byte 4-byte 5-byte 5-byte

Page size 4 KB 4 KB 4 KB 8 KB 8 KB 8 KB 16 KB 16 KB 16 KB 32 KB 32 KB 32 KB 4 KB 32 KB

Page number X000004 XF80005 X040006 X280005 X640006 X600007 X2C0006 X2A0007 X320008 X1E0007 X010008 X1F8009 X00100004 X1FFE000B

Table 61. Determining partition number given page number for an EA-enabled table space. Partition numbers and page numbers begin with 0. DSSIZE 1 GB 2 GB 4 GB 8 GB 16 GB 32 GB 64 GB Page size 4 KB 8 KB 16 KB 32 KB 8 KB 32 KB 4 KB Page number X01000004 X00040040 X007C0005 X3FFFFFFF X06000007 X03F00009 XFFFFFFFF Partition number 64 1 31 4095 48 63 255 Page number within partition 4 64 5 262143 7 9 16777215

ID map entry
The low-order byte in the RID identifies the ID map entry number. If the data page is in the catalog or directory, the high order bit is the parent bit which identifies a parent record or anchor point. Refer to Hashes and links on page 406 for a description of parent and child records. The remaining 7 bits identify the ID map entry in the page. The ID map entry contains the offset in the page to a record or an anchor point. The maximum value that can be represented by these 7 bits is 127. Therefore, there are 127 possible entries in the ID map of a data page for the catalog or directory. If the data page is in a user-defined table space, 8 bits identify the ID map entry in the page. Therefore, there are 255 possible entries in the ID map of a data page for user-defined table space.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

383

DO NOT COPY
File page set data pages

Restricted Materials of IBM Licensed Materials Property of IBM

The following pages provide information about the contents and space management of file page set data pages. The fields in file page set data pages are described in File page set data page on page 478. Contents of a data page: The four basic parts of a data page are: 1. Data Page Header 2. Record or Anchor Point Area v Records (defined either by the user or by DB2, which can be part of the users data or part of the DB2 catalog or directory) or anchor points (in hash pages in the DB2 directory) v Overflow records and pointer records v Large and small holes 3. Contiguous free space 4. ID map and page trailer. Data page header: Every file page set data page has a 20-byte page header that contains control information that DB2 uses. For the format and contents of data page headers, see File page set data page on page 478. Records or anchor points: If the page is a hashable page (only in the DB2 directory), the header section is followed by a number of anchor points. Hashes on page 406 explains the process of hashing, which use anchor points to determine where records are to be stored. In non-hashed pages, records are stored following the data page header. Records stored in pages represent the rows of a table in a table space. The first 6 bytes of all records contain control information. This portion of the record is called the record header or prefix. For a description of the format and contents of record headers, see Record/overflow record on page 479. In all records that represent user-defined rows, the header is followed by user data. The format of records stored in DB2 directory tables is described in Chapter 24, Directory Formats, on page 497. The format of records stored in DB2 catalog tables is described in Chapter 27, Catalog formats, on page 569. For information about determining the record formats for user tables by using SQL statements (SELECT from SYSIBM.SYSCOLUMNS), see Part 2 (Volume 1) of DB2 Administration Guide. When there is an edit exit routine or a compressed table space, records are stored in encoded form. This means that every time a record is inserted, the edit routine is invoked to encode the record. When DB2 needs to retrieve a record, the edit routine must decode the record. In the absence of an edit exit routine, records are always stored and retrieved in nonencoded form. Validation exit routines are always given nonencoded records. Edit exit routines can be given both types of records. Records or anchor points that are not encoded have 4 basic formats: v Fixed-length string column: These records are merely byte strings. All columns in the record are fixed-length. If a column has been added to a table, there can be records of different lengths on the same table. v Varying-length string column: These records contain one or more varying-length columns. The format of the record depends on whether it is in basic row format or reordered row format. A record is in basic row format if the table space was created before V9 new function mode and you have not run the REORG or LOAD REPLACE utilities. A record is in reordered row format if the table space

| | | | |

384

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | |

| | | | | | | | | | | | | | | | | | | | | |

was created in V9 new function mode. The columns for each varying-length record that you migrated have a 2-byte length field at the beginning of the varying-length column. The length value does not include the 2-byte length field. In reordered row format, all fixed-length columns are placed in the beginning of the row, followed by offsets to the varying length columns, and then followed by the varying length columns. Exception: Catalog and directory tables remain in basic row format. v ROWID column: The ROWID format is similar to the format of a varying-length string column. The data is represented internally as a 2-byte length field followed by up to 17-bytes of data. ROWID columns do not have a 2-byte length if the record is in reordered row format. v Indicator column: There are two different types of indicator columns, LOB indicator columns and XML indicator columns. An indicator column is used to represent a LOB column or XML column in a base table. This is similar to the format of a varying-length string column. The indicator column is represented internally as a 2 byte length field followed by up to 4 bytes of data. The data portion of the varying length field contains the following information:
Table 62. Indicator column format Location 00 Data type and length BIT(16) 1... .... .1.. .... ...1 1111 1111 1111 FIXED(16) Description Flag bytes On=LOB column is null On=LOB column has length 0 Unused Unused The number of times the LOB column has been updated to a non-null, non-zero-length value, plus one. This is known as the LOB version number and allows DB2 to keep older versions of LOBs if there are outstanding readers on older versions.

02

For non-LOB columns, if null values are allowed for a column, an extra byte is stored before the actual column value. This byte is X00 if the column value is not null; it is XFF if the value is null. If the column is fixed-length and the value is null, DB2 sets the value to all 0s. The value can be not null and be equal to all 0s. An ALTER TABLE statement that adds a column to a table has no effect on existing rows. Therefore, in these rows, the default value is represented by the absence of any data rather than a null indicator. Figure 137 shows a fixed-length nullable column. The first instance has a value that is not null; the second instance has a null value.
X00 XC1C2C3 XFF X000000

Figure 137. Example of a nullable fixed-length column with null and nonnull values

DB2 uses varying-length columns to decrease secondary storage requirements; no gaps exist following varying-length columns. This means that columns that follow varying-length columns are at variable offsets in the record.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

385

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

For records that remain in basic row format, columns are ordered consecutively as they are added. A 2-byte length field at the beginning of the varying-length column indicates the length of the data in the varying-length column. To determine the offset of a given column in a record that contains varying-length columns, the DM sequentially scans the columns that follow the first varying-length column. In the following example of a record in basic row format, the data types of the column include: v Column 1: CHAR(10) not null v Column 2: VARCHAR(20) not null v Column 3: VARCHAR(15) not null v Column 4: CHAR(10) not null
Table 63. Column 1 D80 Column 2 0008 San Jose Column 3 0003 SJO Column 4 A17

For varying-length columns in basic row format, the null indicator is stored after the 2-byte length field, and the value stored in the length field includes the length of the null indicator. In reordered row format, all fixed length columns are placed at the beginning of the row, followed by the offsets to the varying-length columns, followed by the values of the varying-length columns. Table 64 shows the same information in Table 63, but in reordered row format:
Table 64. Column 1 D80 Column 4 A17 Offset for column 2 X18 Offset for column 3 X20 Column 2 San Jose Column 3 SJO

The row format is a function of a table space or a partition of a table space. Any table space, except for a LOB table space, created in new function mode is a reordered row format table space and all tables in this table space will have rows in reordered row format. The row format of an XML table space is independent of the base table space. For example, if you have a base table space in basic row format in new function mode and you alter the base table within that table space to add an XML column, the XML table space will be in reordered row format while the base table remains in basic row format. When you use the REORG or LOAD REPLACE operation on a table space or partition of a table space that is in basic row format, or when a partition is rotated or added to a table, the object of the operation is converted to reordered row format, even if the table contains only fixed-length rows. Reordered row format does not affect the existing tables: v DB2 catalog v DB2 directory v Any tables with varying-length columns with EDITPROCs or VALIDPROCs A partitioned table space can have a mixture of partitions with rows in basic row format and reordered row format. For example, if a partitioned table space in basic

386

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | |

row format had the LOAD DATA INTO TABLE PART REPLACE or REORG TABLESPACE PART operation performed on it, the partition of this table space would change to reordered row format, leaving the other partitions in basic row format. Numeric data columns: DB2 stores numeric data (SMALLINT, BIGINT, INTEGER, FLOAT(n), and DECIMAL) in a specially encoded format. To get the original numeric data, this data must be decoded as follows: v SMALLINT, BIGINT, or INTEGER: Invert the sign bit (high-order bit). v FLOAT(n) (SINGLE PRECISION floating-point or DOUBLE PRECISION floating-point): If the sign bit (high-order bit) is 1, invert the bit. Otherwise, invert all bits. v DECIMAL: Save the high-order hexadecimal digit (sign digit). Shift the number to the left one hexadecimal digit. If the sign digit is XF, put XC in the low-order position. Otherwise, invert all bits in number and put XD in the low-order position. v - DECFLOAT: read the Sortable Decimal Formats section for more info. For examples, see Table 65.
Table 65. Decoding encoded numeric data Data Type SMALLINT INTEGER Encoded 8001 7FF3 800001F2 7FFFFF85 8000000000000001 7FFFFFFFFFFFFFFF SINGLE PRECISION FLOAT C1100000 3EEFFFFF DOUBLE PRECISION FLOAT C110000000000000 3EEFFFFFFFFFFFFF DECIMAL F001 0FFE D8F77D00000000000C 270882FFFFFFFFFFF2 Decoded 0001 (+1 decimal) FFF3 (-13 decimal) 000001F2 (+498 decimal) FFFFFF85 (-123 decimal) 0000000000000001(+1 decimal) FFFFFFFFFFFFFFFF (-1 decimal) 41100000 (+1.0 decimal) C1100000 (-1.0 decimal) 4110000000000000 (+1.0 decimal) C110000000000000 (-1.0 decimal) 001C (+1 decimal) 001D (-1 decimal) 222C000000001E80 (+7.500 decfloat) A2300000000003D0 (-7.50 decfloat)

| |

BIGINT

| |

DECFLOAT(16)

Date/time columns: Date/time data (DATE, TIME and TIMESTAMP) is also encoded; however, it is readable in its encoded format. The data is represented internally as follows: v DATE: Four bytes of packed decimal digits. The first two bytes contain the year, the third byte contains the month, and the fourth byte contains the day. For example, July 4th, 1776 would be represented as: 17760704 v TIME: Three bytes of packed decimal digits. The first byte contains the hour, the second byte contains the minute and the third byte contains the second. For example, 2:54:27 p.m. would be represented as: 145427

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

387

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v TIMESTAMP: Ten bytes of packed decimal digits. TIMESTAMP concatenates the DATE and TIME values, together with three bytes which contain the microseconds. For example, July 4th, 1776 sometime between 2:54:27 p.m. and 2:54:28 p.m. would be represented as: 17760704145427104099 Refer to DB2 SQL Reference for details on the external format of date/time data types. Overflow records and pointer records:: An overflow record is created when a record increases to a size greater than the free space available to hold the additional data. If a record has one or more varying-length fields or if it has had a column added to it, its length can be increased by an update operation. When a record increases in size and there is not enough free space within the page to accommodate the larger record, the DM does the following: 1. Allocates space in another page for the record and inserts the record into the new location. The new record is called an overflow record. The header of the overflow record is 6 bytes in length and has the format described in Record/overflow record on page 479. 2. Stores the RID of the overflow record in a pointer record, at the location of the original record (before it overflowed). The pointer record is 6 bytes in length and has the format described in Pointer record on page 479. 3. Frees the remainder of space that the record previously occupied (that is, the extra space becomes a hole). Any subsequent access to a record that has overflowed requires one additional I/O access, because there is one extra pointer involved. If an overflow record must overflow again (because it increases in length), a new overflow record is built in another page, and the original pointer is updated to point to the new overflow record. The space in which the prior overflow record was stored is then freed. If the record will now fit on the same page as the pointer record, the pointer record is deleted and replaced by the new record. Figure 138 illustrates the above description.

Record

Pointer Record

Overflow Record

BEFORE

AFTER

Figure 138. Allocation of overflow record

Large and small holes: Holes consist of free space in a data page and occur when a record is deleted, when an updated record decreases in length, or when a record increases in length and is relocated.

388

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

A hole can be either large or small. Large holes are more than 4 bytes in length and are chained together beginning at the point indicated in the page header field named PGHOLE1. Small holes are up to 4 bytes in length and are not chained together. For a description of the format of a large hole, see Large hole on page 481, and for a small hole, see Small hole on page 481. Contiguous free space: When a page is initially formatted by the DM, the area following the header is contiguous free space. The first record that is inserted in the page is stored beginning in the first byte of the contiguous free area. After the insertion, the contiguous free area starts at the byte that follows the last byte of the inserted record. Records are stored from left to right in a page; that is, starting at the low address in the page. ID map and page tail area: The ID map contains one 2-byte entry for every record in the page and can contain free ID map entries. A filled entry contains the offset within the page where the record is located. A free entry has the high order bit turned on (except the last free entry, which contains all 0s). An entry is free if (1) it was never allocated to point to a record or (2) it was allocated to point to a record that has been subsequently deleted and the entry has not been reused for a subsequent insert. All free entries are chained together. The position of the next available new entry in an ID map with no free entries in the chain is found by adding 1 to the value in the PGMAXID (number of used ID map entries) field in the page header. If the second bit of the first byte of a free entry is on, the free entry is not available for reuse by insert. The first ID map entry is located in the two bytes preceding the page tail area in the page and has an ID of X01. Each subsequent ID map entry is allocated backward toward the beginning of the page. The maximum number of ID map entries is 127 or X7Ffor catalog and directory objects. The maximum number of entries increases to 255 or XFF for all other objects, independent of compression state. Interpretation of the contents of the ID map entry depends upon the status and value of the high-order bits: v If the high-order bit is off and the value of the entry is not 0, the entry contains the offset to a record. v If the high-order bit is on, the entry is free, and the value of the second byte, if it is not 0, is the number of the next free ID map entry. The free entries are chained together in last-in-first-out (LIFO) sequence; the chain begins with the next-to-last byte of the page. v If the value is X0000, X8000, or XC000, the entry is the last free entry in the chain. In the example shown in Figure 139 on page 390, there are seven ID map entries. Entries 01, 02, 04, and 07 contain offsets to records. The first free entry is 05, which is pointed to by the next-to-last byte in the page. Entry 05 points to entry 03; entry 03 points to entry 06; entry 06 is the last entry in the chain (because its value is X0000).

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

389

DO NOT COPY
Page Trailer
0154 0000 8003 0120 8006 0084 0014 05 C5

Restricted Materials of IBM Licensed Materials Property of IBM

07

06

05

04

03

02

01 Free

Start at next-to-last byte for pointer to first free ID map entry in chain
Figure 139. Chaining ID map entries

The page tail area consists of the last two bytes of the page. The first byte of the page tail area contains the ID of the first free ID map entry. A value of X00 indicates no map entries are free. The last byte of the page tail area is called the page trailer. The value of this byte is either XC5 or XD5 and corresponds to the PGCOMB field of the page header. A value of XC5 sets the 4th bit of the page trailer to B0 and XD5 sets it to B1. Whether the value of the last byte is XC5 or XD5 does not matter; what matters is that the fourth bit is consistent (either on or off) with the fourth bit in PGCOMB. This consistency checking determines whether an entire page has been successfully written to auxiliary storage. Each time the buffer is written to DASD, the buffer manager (BM) first switches the values in the page trailer and PGCOMB. When the page is next read in, the DM compares the 4th bit in PGCOMB with the fourth bit in the page trailer; if these bits have the same value, this indicates that the entire page was successfully written. Two examples of a situation in which an entire page is not written are when the system fails or when a device error occurs during the writing of a page. Inserting rows into a table space: When inserting a row into a table space, DB2 tries to: v Maintain the order of a clustering index, unless the table space has the MEMBER CLUSTER or APPEND attribute. See DB2 Administration Guide and DB2 SQL Reference for details about clustering indexes and the CREATE INDEX statement. v Use empty space in the table space. To avoid reading unnecessary data pages that have insufficient space for the insert, DB2 reads the space map pages to find a data page with enough space for the new row. Inserting a row into a table in a non-segmented table space without the MEMBER CLUSTER attribute Without an index: When the table into which the row is being inserted does not have a clustering index, DB2 attempts the following: v To insert the row on the same page (called the candidate page) as the row positioned at the cursor. If DB2 is unable to insert the row into this page because no space is available, DB2 looks for a candidate page in the following order: 1. Allocate a new data page at the end of the table space or partition. End search (without extending):

390

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v search the tail end of the page set from the highest formatted page +1 to the highest DB2 preformatted page, or v 3 more data pages are read in 2. Scan the space maps from the beginning to the end of the table space or partition. Exhaustive search: v search until one of the following occurs: an extend failure, or 3 or more data pages are read in End search: v search from the highest DB2 preformatted page until an extend failure occurs If the exhaustive search is stopped: v search from the point where the exhaustive search stopped until an extend failure occurs In those cases where a candidate page is not found because the cursor is not positioned and there was no previous insert, DB2 searches the last space map in the table space or partition for a candidate page, and allocates a new page, if necessary, extending the data set. With a clustering index: For inserts into a table with a clustering index, DB2 determines the candidate page using the index. (If an explicitly defined clustering index does not exist, DB2 uses the first index defined on the table as the clustering index.) This is the page containing the row with the next lower key or the last inserted duplicate key of the key in the new row. After a LOAD or REORG of that table space, the candidate page is the page with the next lower key or the first duplicate key of the key in the new row. Then DB2 determines from the space map whether or not space is available on the candidate page. If space is not available on the candidate page, DB2 searches for a new candidate page in the following order: 1. Interval search: Forward interval search: v Search forward from the candidate page +1 until one of the following occurs: 16 space map entries are scanned, or the end of the space map is reached, or the high DB2 preformatted page is searched for, or Three data pages are read in. Reading in three data pages does not apply to SCT02 and DBD01. v Backward interval search: Search backward from the candidate page -1 until one of the following occurs: 16 space map entries are scanned, or the beginning of the space map is reached, or Three data more pages are read in. Reading in three data pages does not apply to SCT02 and DBD01. If the forward and backward interval searches are not successful, and if the forward search was stopped because of the high DB2 preformatted page, continue the forward search until one of the following occurs: the full interval is scanned, or 3 data pages are read in, or an extend failure. Reading in three data pages does not apply to SCT02 and DBD01. 2. End search (without extending):

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

391

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v Search the tail end of the pageset from the highest formatted page +1 to the highest DB2 preformatted page, or v 3 more data pages are read in 3. Scan the space maps from the beginning to the end of the table space or partition. Exhaustive search: v Search until one of the following occurs: an extend failure, or 3 or more data pages are read in 4. End search: v Search from the highest DB2 preformatted page until an extend failure occurs 5. If the exhaustive search is stopped: v Search from the point where the exhaustive search stopped until an extend failure occurs Locks for inserts on non-segmented table spaces without the MEMBER CLUSTER Attribute: After the candidate page is found, DB2 conditionally requests an exclusive, commit duration page lock. If the lock is not immediately available, DB2 looks for another candidate page. If a page is not found and the data set cannot be extended, then the insert processing returns an extend failure, or, if the table space or partition has reached its maximum physical size, the insert processing returns resource unavailable, table space full or partition full. Inserting a Row into a Table in a Non-Segmented Table Space With the MEMBER CLUSTER Attribute If a table space is defined with the MEMBER CLUSTER attribute, DB2 does not cluster the data, but instead chooses an insert location that minimizes lock and latch contention. For data sharing, after a member uses a space map page, DB2 caches the page number so that other agents on that member will use that candidate page. DB2 uses the following strategy to search for space in a MEMBER CLUSTER table space: 1. Identify a candidate space map page. The candidate space map page is either a cached page, or, if there is no cached page, the last space map page. 2. Search the candidate space map page for space. DB2 requests a conditional P-lock on the space map page and searches the entire space map page. 3. If space is not available, search the other space map pages. DB2 searches from the space map page that follows the candidate space map page to the last space map page, then from the first space map page to the space map page that precedes the candidate page. For this search, DB2 obtains a conditional P-lock on each space map page. 4. If space is not available, extend the page set, and search the new last space map page. For this operation, DB2 obtains a conditional P-lock on the new space map page. 5. If an extend failure occurs, or if no space is available, search the entire page set, from the first space map page to the last space map page.

392

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

For this operation, DB2 obtains an unconditional P-lock on each space map page. 6. Indicate an out of space condition. Locks for inserts on non-segmented table Spaces With the MEMBER CLUSTER Attribute: After the candidate space map page is found, DB2 conditionally requests a P-lock. An agent holds the lock until another agent requests the lock unconditionally or until the buffer is stolen. If the lock is not immediately available, DB2 looks for another candidate space map page. Inserting a row into a table in a segmented table space Without an index: When inserting a row into a table that does not have a clustering index, DB2 attempts: v To insert the row on the same page (called the candidate page) as the row positioned at the cursor v To insert the row on the same page as the last insert With a clustering index: For inserts into a table with a clustering index, DB2 determines the candidate page using the index. If an explicitly defined clustering index does not exist, DB2 uses the first index defined on the table. In this case, the candidate page is the page containing the row with either the next lower key, the next higher key, or the last duplicate key of the key of the new row. DB2 determines from the space map whether or not enough space is available on that page. DB2 may be unable to insert the row into the candidate page for one of the following reasons: v The cursor is not positioned v There was no previous insert v Though a candidate page was found, it has insufficient space for the insert. If there is insufficient space, DB2 scans the segment containing the candidate page until it finds a data page which has space for the row or reaches the end of that segment. If space is not found from this initial search (as described above for both the with or without index case) DB2 continues searching in the following order: 1. Search the current segment: v Search the segment chain from the current segment to the ending segment within the current segments space map page. 2. Search the last segment on the chain. 3. Attach a new segment to the end of the chain: a. Search forward through space maps to find a free segment to attach to, starting with a space map that contains free segments. b. If none is found, allocate a new segment, unless the last page covered by the segment exceeds the highest DB2 preformatted page. 4. Scan for space from the beginning of the current segment through the last segment of the table. 5. Attach a new segment to the end of the chain: a. Search forward through space maps to find a free segment to attach to, starting with a space map that contains free segments. b. If none is found, allocate a new segment and extend the table space if necessary.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

393

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

c. If extend fails, do a last exhaustive search from the first segment through the last segment of the table. For better space reuse, the current segment pointer is updated to a lower segment number if a delete removes a row from a page in a segment that has a lower relative segment number. Locks for inserts on segmented table spaces: After a candidate page is found, DB2 conditionally requests an exclusive, commit duration page lock. If the lock is not immediately available, DB2 looks for another candidate page. If no page is found and the table space cannot be extended, insert processing returns, Resource unavailable, unable to allocate segment. Space management in a file page set data page: The VSAM media manager initializes all pages so that they initially contain all 0s. This occurs at CREATE time and during normal processing when more space is required. The number of pages that are initialized is dependent on the device type. When the DM reads a page in order to insert a record into the page and the page contains all 0s, the DM formats the header, ID map, and page trailer portions of the page. Hash pages with anchor points are never formatted by the DM; they are part of the DB2 directory. A page that contains all 0s, or an unformatted page, normally appears at the end of a page set. An unformatted page that is followed by a formatted page might or might not be in error. If the DB2 recovery log contains records that reflect modifications to the unformatted page (without a prior log record for formatting the page , the page is in error; if there have been no modifications to the unformatted page, the page is not in error. The format of a data page is shown in Figure 140.
Page 3
Page Header Records or Anchor Points Record ID X00000302 ID contains the offset in the page to the record whose RID= X00000302

Header 6 bytes

Data

Contiguous Free Space ID3 03 ID2 02 ID1 01 Page Tail Area Ptr

ID Map (Max. Entries=XFF=255)

Page Trailer XC5 or XD5

Figure 140. Format of file page set data pages

Insert a record: To insert a record, the DM: 1. Determines whether there is enough available space in the page. This includes not only space for the record, but also a free ID map entry or space for a new ID map entry. If there is not enough contiguous free space or a hole large

394

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

enough for the record, the DM moves all records to the front of the page, thereby combining all holes into a contiguous free space at the end of the page. During this process, the broken bit is turned on in the copy of the page in virtual storage to show that the content of the page is inconsistent until the DM processing is complete. When the processing is complete, the DM resets the broken bit. The changed information isnt written to DASD until the operation is complete. 2. Moves the record into the page. 3. Writes an undo/redo recovery log record describing the insert. Updates the page control information to reflect that previously available space is now unavailable. During the time the page control information is updated, the broken bit is set on. When the update of the control information is complete, the broken bit is reset. Delete a record: To delete a record, the DM: 1. Writes the recovery log record describing the deletion. 2. Sets the broken bit on. 3. Updates the page control information to reflect that previously unavailable space is now available by turning the space into a large hole and by making available the ID map entry corresponding to the record that was deleted. 4. Resets the broken bit. Update a fixed-length record: To update a fixed-length record, the DM: 1. Writes a recovery log record describing the update. 2. Sets the broken bit on. 3. Updates the record. 4. Resets the broken bit. Update a varying-length record: When the DM updates a varying-length record, it performs steps that are similar to those for updating fixed-length records. The primary differences are that: v If the new record is shorter than the old record, the DM updates the record and turns the additional space that is no longer needed into a hole, so that the free space can be used later. v If the new record is longer than the old record and there is enough space in the page for the added data, the new record is stored in that page. The DM can have to consolidate free space in the page. v If the new record is longer than the old record and there isnt enough space in the page to hold the added data, the updated record is inserted into another page as an overflow record. The original record is turned into a pointer record that points to the overflow record. In this case, the remainder of the original record is turned into a hole so that the space can be used again. If the length of a varying-length record is increased repeatedly because of many updates, the pointer record in the base page is adjusted to point to the overflow record whenever the overflow record is moved to a new page. Regardless of the situation, the broken bit is set on whenever the contents of the page (either data or control information) are inconsistent. The broken bit is reset when the data and control information reflect consistent data.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

395

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

Sortable decimal formats


In sortable decimal formats, each format uses one more byte than the source format. For example DECFLOAT(16) is expanded from 8-bytes to 9-bytes.

Finite numbers
The decimal format is separated into its constituent parts and normalized, and is reconstructed in the following order: sign, exponent, and coefficient. The amount that the coefficient was shifted is added at the end. Negative values are bit-wise inverted. The following steps explain the logical process that DB2 performs to create a finite number: 1. Note the sign bit. 2. Extract the two top bits of the exponent from the combination field and attach them to the remaining exponent bits to form the full biased exponent. 3. Extract the top digit of the coefficient from the combination field and attach it to the remainder of the coefficient. a. If the coefficient is non-zero, shift it left until the left-most digit is non-zero (that is, normalize to left), and record the count of digits shifted (0-33 for the 128-bit format) as a binary number. The extracted exponent is then reduced by the shift count so that the value of the number (coefficient 10exponent) is unchanged. (Subnormal values do not need special treatment during this process as there is additional exponent range available; we have four values in the top two bits of the exponent, but the IEEE 754r formats only use three). The bias of the exponent is also increased by a small constant to avoid it going negative. The coefficient is then encoded for the first digit and the remainder as declets with binary 0999 values in each 10 bits. b. If the coefficient is zero, the sortable coefficient and shift count are set to 0 and the extracted (biased) exponent is used directly for the sortable format. The exponent field could be moved into the coefficient in this case (leaving the top digit of the coefficient 0), but instead, an available extra bit is inserted before the exponent for all values; this non-zero bit is set to 0 if the value is a zero or a 1. This forces the zeros to sort below all other values without having to move the exponent. 4. Assemble the result with a leading bit of 1, followed by the non-zero bit, the exponent, the normalized coefficient, and the shift count to form the sortable format. If the original sign bit was 1 (a negative number) then the entire sortable format is inverted; the leading bit for all negative numbers is therefore 0.

Special values of decimal floating-point numbers


In addition to finite numbers, decimal floating-point numbers are able to represent one of the following named special values: v Infinity - a value that represents a number whose magnitude is infinitely large. v Quiet NaN - a value that represents undefined results which does not cause an invalid number condition. v Signaling NaN - a value that represents undefined results which will cause an invalid number condition if used in any numerical operation.

396

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Special values are encoded by setting the top 8 bits of the sortable format (PL, NZ, and 6 bits of the exponent field) to be the same as the original IEEE 754r top byte and inverting the seventh bit if the value is a NaN. The remaining bits of the exponent field are set to 0. Infinities and NaNs are coded as extreme exponent values, similar in principle to the BFP formats. The coefficient and shift-count for infinities and NaNs are set to 0. NaNs are treated just like finite numbers and their exponent/coefficient. That is, the exponent starts with an extreme value (for example, 111100... for a NaN) and the coefficient is then normalized as usual. The exponent is therefore incremented by some small number, and the shift count is always non-zero because the first digit of the coefficient is always 0 for a NaN. As for finite numbers, if the sign was 1, the sortable format for all special values is inverted. The top byte of the DFP number is copied to the top byte of the sortable format. If a NaN, the sNaN or qNaN distinguishing bit is inverted (so that sNaN < qNaN, as per IEEE 754r).

Space requirements
Unpacking the combination field requires one extra bit, and the shift count requires at most 6 bits (for the 128-bit format) and only 4 bits for the 64-bit. These 7 extra bits fit in one additional byte, with one bit left over. This spare bit is used as the non-zero bit, as mentioned above.

Details of the sortable formats


The following layout is used for both sortable formats:
Table 66. Sortable format layout PL NZ exponent normalized coefficient shift count

PL

Specifies the plus bit, the inverse of the 754 sign bit (1 for positive numbers and non-negative zeros, 0 for negative numbers and negative zeros). The following descriptions describe the encoding for when PL=1; if PL=0 then all remaining bits in the formats are inverted. Specifies the non-zero bit; 0 for a zero and 1 for everything else.

NZ

Special values are encoded by setting the top 8 bits of the sortable format (PL, NZ, and 6 bits of the exponent field) to be the same as the original IEEE 754r top byte and inverting the seventh bit if the value is a NaN. The remaining bits of the exponent field are set to 0. For each format, the name of the format is sortableN where N is the size in bits of the corresponding IEEE 754r format. The fields of the sortable formats have the following sizes (in bits, except where stated).
Table 67. Sortable formats Format sortable64 (DECFLOAT(16) encoded format) PL 1 NZ 1 exponent 10 coefficient 54 count 6 total 72 total bytes 9

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

397

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | | | |
Table 67. Sortable formats (continued) Format sortable128 (DECFLOAT(34) encoded format) PL 1 NZ 1 exponent 14 coefficient 114

Restricted Materials of IBM Licensed Materials Property of IBM

count 6

total 136

total bytes 17

When the coefficient of any value is non-zero, the bias of the sortable exponent is increased by the constant, which is at least as large as the maximum shift count for the format, and then the shift count is subtracted. For convenience, the maximum coefficient length (16 or 34) is used as the constant. The sortable exponent can also be calculated as the sum of the original biased exponent plus the number of digits in the original coefficient, because the extra bias less the shift count is equal to the number of digits. The following table displays corresponding formats and values of DECFLOAT(16).
Table 68. DECFLOAT(16) formats Format DECFLOAT (16) DECFLOAT (16) in hexadecimal DECFLOAT(16) in binary DECFLOAT(16) encoded format in hexadecimal DECFLOAT(16) encoded format in binary Value 7.50 22 30 00 00 00 00 03 D0 0010 0010 0011 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1101 0000 D8F77D00000000000D 1101 1000 1111 0111 0111 1101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1101

LOB pages
There are two types of LOB pages: LOB map pages and LOB data pages. LOB map pages describe the LOB data pages, and the LOB data pages contain the LOB data. LOB map pages always precede the LOB data pages. The last LOB map page can contain LOB data. LOB map pages: Figure 141 shows the layout of a LOB map page after data is placed in a LOB page.
Header (70 bytes) LOB Map Entry 1 LOB Map Entry 2

. . .

LOB Map Entry n (LOB map entry size=10 bytes) Header (10 bytes) LOB Data

Page Trailer (1 byte)

Figure 141. Format of a LOB map page after data is inserted in the LOB page

398

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The four basic parts of a LOB map page are: v LOB map page header Each header contains information that connects the LOB page with the base table. It also contains information about whether the LOB map page contains LOB data. v LOB map entries Each LOB map entry contains the page number of the first page of a section of the LOB and the length of that LOB section. v LOB map page data header and LOB data Not all LOB map pages contain LOB data. A field in the LOB map page data header, which precedes the LOB data, indicates how much LOB data is in the LOB map page. v Page trailer The value of this byte is either XC5 or XD5 and corresponds to the PGCOMB field of the page header. The fourth bit of the page trailer must be consistent with the fourth bit in PGCOMB. For detailed information about the contents of LOB map pages, see LOB map on page 475. LOB data pages: Figure 142 shows the layout of a LOB data page.
Header (22 bytes)

LOB Data

Page Trailer (1 byte)

Figure 142. Format of a LOB data page

The three basic parts of a LOB data page are: v LOB data page header Each header contains control information that DB2 uses, such as the number of bytes in the LOB page and the sequence number of the LOB page. v LOB data v Page trailer The value of this byte is either XC5 or XD5 and corresponds to the PGCOMB field of the page header. The fourth bit of the page trailer must be consistent with the fourth bit in PGCOMB. For detailed information about the contents of LOB data pages, see LOB data page on page 476.

Index page set data pages


The information in the following pages describes the different types of index page set data pages (index pages) and space management within those pages.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

399

DO NOT COPY
Root page

Restricted Materials of IBM Licensed Materials Property of IBM

A root page follows the first index space map page in an index page set. It is the highest level (or beginning point) of the index, and it always exists. In a index, a root page is always a nonleaf page.

Index: leaf page


A leaf page contains entries made up of pairs of keys and RIDs that point to data records. The key is one or more data columns from a DB2 table and the RID is the identifier of the row with a value that matches the key. Figure 148 on page 402 shows the format of the leaf page. A leaf page can have the following types of key formats: v Varying-length key for a PADDED index v Varying-length key for a NOT PADDED index v Fixed length key All types of key formats can also be either unique or non-unique. Variable-length key for a PADDED index For a PADDED index, an index key with varying length columns pads the columns to their maximum length, making the index keys a fixed length. Variable-length key for a NOT PADDED index For a NOT PADDED index, an index key with varying length columns does not pad the columns to their maximum length. The key contains the lengths of each of the columns. Fixed length key The flag byte in a leaf page entry indicates the status of the RID. The first bit indicates whether the RID is pseudo-deleted. A pseudo-delete is a RID entry within an index that has been marked as deleted. The second bit indicates the RID is possibly uncommitted, and the third bit indicates a RID hole follows. An array of RIDs is stored contiguously in ascending order to allow binary searching. The format of a leaf page entry for a fixed-length index or variable-length PADDED index with a unique key is shown in Figure 143.
Fixed Length
Fixed (or padded variable) length key

5 bytes (Flag+RID value)


Flag RID value

Figure 143. Index: leaf page entry for a fixed-length index or variable-length PADDED index with unique key

The format of a leaf page entry for a variable-length NOT PADDED index with a unique key is shown in Figure 144 on page 401.

400

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
5 bytes Flag (Flag+RID value) RID value

Variable Length Nonpadded variable-length key

Figure 144. Index: leaf page entry for a variable-length NOT PADDED index with unique key

The format of a leaf page entry for a fixed-length index or variable-length PADDED index with a nonunique key is shown in Figure 145.
Fixed Length
Fixed (or padded variable) length key Flag RID value Flag RID value

Number of RIDS in ridmap

Figure 145. Index: leaf page entry for a fixed-length or variable-length PADDED index with nonunique key

The format of a leaf page entry for a fixed-length index or variable-length PADDED index with a nonunique key is shown in Figure 145.
Variable Length Nonpadded variable-length key Flag RID value Flag RID value

Number of RIDS in ridmap

Figure 146. Index: leaf page entry for a variable-length NOT PADDED index with nonunique key

A chain of RIDs is appended to the end of a contiguous RID map to extend the RID map. If there is no room to insert another RID into the contiguous RID map, a RID chain is created. Figure 147 shows a RID chain.
Chain Length
Fixed Length Key RID Entry RID Entry Chain

Number of RIDS in RID map

Offset to first RID chain entry


RID Entry

Chain

RID Entry

Figure 147. Index: RID chain

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

401

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Key B

Key A Key C

off(key_c)

off(key_b)

off(key_a)

Page Trailer

Collated Key Map


Figure 148. Index: leaf pages

Index: nonleaf pages


A nonleaf page has the same keymap structure as a leaf page. Each nonleaf page contains high keys with child page pointers. The last page pointer has no high key, because it points to a child page that has entries greater than the highest high key in the parent. A high key stored in the parent page for a given child is always strictly greater than the highest key-RID pair actually stored in the corresponding child page because of the high key suffix truncation. The format of nonleaf pages is shown in Figure 149.

IPHEAD Page 3 Page 19 Page 5 Page 3 SYSADM1 00000A01 SYSADM3 SYSADM3 SYSOPR Page 5 SYSADM3 00000C01

00000C01

Page 19 SYSADM3 00000B01

Page 8 SYSOPR 00000C02

Leaf Pages
Figure 149. Index: nonleaf pages

For nonunique keys, the RID is stored with the high key if it is needed to distinguish what RIDs for a particular key value belong on which page. As the index grows, additional nonleaf pages are added between the root page and the leaf pages. An index can therefore have several levels. A multi-level index consists of a root page that is a nonleaf page with children. The children of a root page can be leaf pages or other nonleaf pages. Figure 150 on page 403 shows an example of a 3-level index.

402

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Root Page (Nonleaf)

Level 2

Nonleaf Page

Nonleaf Page

Nonleaf Page

Level 1

Leaf Page

Leaf Page

Leaf Page

Leaf Page

Leaf Page

Leaf Page

Leaf Page

Level 0

Figure 150. Example of a three-level index

Space management in an index leaf page An index contains a collated key map that contains the offsets to the index key entries in descending collating key order. The key map is located at the end of the index page and grows backwards into the page. It is stored in descending order so sequential load operations do not require keymap shifts for every key loaded. RID Entry Format Each RID stored has an additional byte of flags stored along with it. The flags are used to indicate the status of the RID, such as whether it is pseudo-deleted. Clusters of RIDs, or RID maps, are now stored in ascending order. This ordering of RIDs makes it possible to binary search for a particular RID within a contiguous RID map. The count field of RIDs within a RID map is two bytes long, so RID maps can be arbitrarily large. Thus, in non-unique indexes, a given key will occur at most once in a single leaf page. Indexes that are unique where not null are stored in the non-unique format. You can also append a chain of RIDs onto the end of a contiguous RID map. This can increase the efficiency of extending the RID map. If there is no room to insert another RID into the contiguous RID map, a RID chain is created to avoid having to move the entire entry to contiguous free space. RID chains are limited in length to avoid having to do long sequential searches of the RID chain. To avoid creating RID chains when there is freespace following the contiguous RID map, the index manager detects if there is space following the RID map as a result of a previous deletion within the RID map. These RID holes are present if the last RID within the RID map has a flag set. It is possible for many RID holes to follow the contiguous RID map if several deletions have occurred within the RID map. All RID holes are reclaimed as free space during garbage collection. Freespace Chain When entries are physically deleted from a page, the freed space is appended onto a chain of freespace. The freespace entries on the chain are ordered largest to smallest. When space must be allocated on a page, the freespace chain is first checked to see if it can satisfy the space request. A best-fit algorithm is used. Because the chain is ordered, checking the first entry on the chain establishes whether any entry in the chain has enough space to satisfy the request. The freespace chain is used to avoid using contiguous freespace whenever possible.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

403

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

This can reduce the frequency of garbage collection in non-unique indexes, and completely eliminates the need in unique indexes. Index Insert 1. Once the page on which the new entry belongs is found, it is determined if there is room on the page for the new entry. 2. If there is not enough room, then the page is split. 3. If there is enough room, set the broken bit on. 4. If inserting just a new RID, then try to add the RID to the existing RID map. If there is no room after the RID map, then create a RID chain to add the new entry. 5. If inserting a key and RID, allocate room for new entry including space in the keymap and insert entire key and new entry. Add a new keymap entry which points to the new key. 6. Update the header fields. 7. Log the key insertion. 8. Reset the broken bit. Index Page Split 1. A new page is acquired and formatted. 2. The higher half of the splitting page is moved to the new page. An exception is the case where the insert causing the split is the greatest entry in an index. In this case, only the new entry is moved to the new page and the new entry is inserted on the page. Index Physical Delete 1. Set the broken bit on 2. If deleting a RID, then remove the RID from the RID map or RID chain. 3. If deleting a key and RID, remove the key from the keymap and add freed space to the free space chain. 4. Update the page header 5. Reset the broken bit Index Pseudo Delete 1. Set broken bit on. 2. Turn flag on in RID to mark entry as pseudo deleted. 3. Update the page header 4. Reset the broken bit.

System pages for OBDRECs


After an ALTER occurs that changes the data format of a column (called a format-changing ALTER in this discussion), DB2 saves the old version of the table in the table space. If a table has had one or more format-changing ALTERs, and there is data in the table in multiple formats, DB2 stores the descriptions of those formats in system pages. The format descriptions are in the form of OBDRECs, so these system pages are called system pages for OBDRECs. Figure 151 on page 405 shows a page set that contains system pages. The header page of a page set contains anchors to the system pages. See the HPGDVI mapping in File page set header page on page 461 for information on those anchors. System pages in nonsegmented table spaces are interleaved among space map

404

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

pages and data pages. System pages in segmented table spaces are in dedicated system segments. In space map pages for system segments, the SEGOBID value is 1. In system pages, the third through fifth bits of PGFLAGS are B101, and the sixth through eighth bits are B000. Each data version is stored as an OBDREC structure that describes the table with the changed data type. There can be multiple OBDREC structures on each system page. Large OBDRECs can span system pages. OBDRECs are discussed in Database descriptors (DBDS) on page 409.

Header Page Space Map Page Data Page

Data Page System Page Data Page

Data Page System Page Data Page

Data Page System Page

Figure 151. Format of a page set with system pages

The version number of the OBDREC that describes a data record is stored in the record prefix of base and overflow records. For a pointer record, the version of the data can be determined by following the pointer record to the overflow record. The version number is stored explicitly in the record prefix, unless the eighth bit of PGSFLAGS is off. This means that the format of the record is version 0. A system page consists of a 20-byte header that is the same as a data page header, data records, an ID map, and a page tail. The header begins with a 20-byte prefix that is the same as a record or overflow record prefix. The prefix is followed by a field that points to the previous system page. See System pages for OBDRECs on page 404 for the format of the system page. The data in a system page is one or more OBDRECs. If an OBDREC is too big to fit on a system page, the data manager (DM) breaks the OBDREC into a series of fragments. Each fragment is preceded by a standard, six-byte prefix. Bit PGSXE in the prefix indicates whether the fragment also contains a variable-length suffix. The suffix varies, depending on whether the piece of the OBDREC is the first fragment, a middle fragment, or the last fragment. All suffixes contain the following items: v A field that indicates whether the suffix is for the first fragment, a middle fragment, or the last fragment. v An ID that uniquely identifies the spanned record to which the fragment belongs.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

405

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v The relative position of the fragment in the spanned record. In addition to the common suffix information, the suffix for the first fragment also contains the following items: v The RID of the next fragment of the spanned record. v The total length of all sections of the spanned record, excluding record prefixes and suffixes. In addition to the common suffix information, the suffix for a middle fragment also contains the RID of the next fragment of the spanned record.

Catalog and directory information


This section explains how data is accessed in the catalog and directory and how database descriptors manage the data.

Hashes and links


Data in the DB2 directory (database DSNDB01) can be accessed via indexes, hashes, and links. Data in the DB2 catalog (database DSNDB06) can be accessed via indexes and links; there are no hashes in the catalog. Indexes on the DB2 catalog and directory tables do not differ from indexes on any other DB2 tables. Indexes are described in Index page set data pages on page 399. This section explains only hashes and links.

The parent bit


A concept that is unique to hashes and links is that of the parent bit. The parent bit is the high-order bit of the fourth byte of a record ID (RID). For user-defined data, its value is irrelevant, and it is not used. When the RID is for data in the DB2 catalog or directory, however, the value of the parent bit indicates the following:
Parent bit is 1 In a hash In a link Hash anchor point Parent record Parent bit is 0 Record Child record

Hashes
Hashing is used only in the DB2 directory and in the DBD01 page set. DB2 directory page set SCT02 uses index DSNSCT02 to access data, while page set SPT01 use indexes DSNSPT01 and DSNSPT02 to access data. SYSLGRNX uses indexes DSNLLX01 and DSNLLX02 to access data. SYSUTILX uses indexes DSNLUX01 and DSNLUX02 to access data. Accessing a record via a hash involves putting a key value through a randomizing function, which yields a page number and an offset to an anchor point within the anchor point area of the page. This value uniquely identifies the beginning of a chain of records. Figure 152 on page 407 illustrates the hashing process in the DBD01 page set.

406

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Hashing Algorithm

Key

Page Number Page N

Offset

RID 1

RID 2

Anchor Point Hash Area Up to 127 anchor points Free Space ID Map

Last record on hash chain

Page M

Record pointed to by RID 1 in the anchor point

Figure 152. Accessing data via hashes

Hashing algorithms
The hash key for DBD01 is the DBID. Finding the page number The appropriate key value is the input to the following hashing algorithm:
page number = (DBID MOD 13) + 2

MOD 13 is used because there are 13 hash pages (pages 2 through 14) in each hashable page set. Adding 2 to the result accounts for the header page and the space map page. For example, a key of 257 yields a page number of 12 (X0C). Finding the anchor point Each of the 13 pages in the hash area of the DBD01 page set is formatted with 127 positions for anchor points, as illustrated in Figure 153 on page 408. The number of anchor points that exist in a particular page is stored in the PGNANCH field of the page header.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

407

DO NOT COPY
PGHEAD Page 0 Page 1 Page 2 Header Page Space Map Page Page of Anchor Points
Free Space Hash Area Up to 127 anchor points

Restricted Materials of IBM Licensed Materials Property of IBM

. . .
Page 14 Page of Anchor Points Page 15 Data Page

ID Map

. . .
Figure 153. Page set with hash pages. Pages 2 through 14 contain anchor points

Once the page is found, the anchor point within the page is located using the following hashing algorithm:
Offset to anchor point = 20 + ((key MOD 127) * 8)

The page header is 20 bytes in length, and each anchor point is 8 bytes in length, consisting of a 4-byte forward RID and a 4-byte backward RID. MOD 127 is used because there are up to 127 anchor points in a page in the hash area of a hashable page set. For example, a key of 257 yields an offset of 44 (X2C), the fourth anchor point in the page. Each anchor point contains the RID of the first and last record on the hash chain. When the key values of each record on the chain are hashed, the same page number and anchor point is yielded, even though the keys of the individual records might not be identical. The records on the chain are linked in ascending key value. Each record contains a pointer to the next record and a pointer to the previous record in the chain. These pointers are contained in the RID for the particular record, and the parent bit indicates whether the object being pointed to is a hash anchor point (parent bit is 1) or a record (parent bit is 0).

Links
Another access path to data in the catalog or directory is a link. A link is an RID, whereas a hash is a page number and an offset to an anchor point. A link is a parent/child relationship between two tables or records. In the catalog, links exist between rows of tables; in the directory, links exist between DBDR and DBDS records. A single record that is a parent can have no children, or it can have some number of children. This is represented internally by a chain of dependent records that are anchored in the parent record. The parent record always has a pointer (RID) to the first child record. If no child exists, the RID is set to zero. Each child record has a forward RID that points to the next record and a backward RID that points to the previous record of the same type. The backward RID of the first child record and the forward RID of the last child record in the link points to the parent record (parent bit is 1). For illustrations of the parent/child relationships in the DB2 catalog and directory, see Chapter 27, Catalog formats, on page 569 and Chapter 24, Directory Formats, on page 497. Figure 154 on page 409 illustrates the process of linking. An overflow record is included in this figure to show how an overflow situation would be handled. See

408

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Overflow Records and Pointer Records for a description of overflow records.

Parent

Child 1

Pointer Record

Child 2

(Overflow Record)

Child 3
Figure 154. Illustration of accessing data via links

Database descriptors (DBDS)


Recall from Data management subcomponents and services on page 347 that the DM relies on database descriptors (DBDs) to manage data. Each DBD corresponds to a single database and contains subdescriptors called object descriptors (OBDs). The internal structure of a DBD is a complex hierarchical network of OBDs that are chained together as shown in Figure 155 on page 410, Figure 156 on page 411, and Figure 157 on page 411. Each OBD has a unique identifier called an object identifier (OBID). The chain pointers that are used are the OBIDs themselves. An algorithm to locate an OBD within a DBD (given the OBID of the OBD) is explained in Analyzing a DBD on page 443. The formats for a DBD and the various OBDs are described in Chapter 25, Database descriptor (DBD) formats, on page 503.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

409

DO NOT COPY
OBDDBD OBDDFILE Chain of all files in the DBD (OBID of first file in the DBD) OBDFILE OBDFINX OBDFIPS OBDFIREC

Restricted Materials of IBM Licensed Materials Property of IBM

OBID of file of the page set OBID of first file page set

OBID of next file in DBD

OBDPSET OBDPSOB

OBID of first record in file

OBID of file containing record

OBID of first relationship fan set where record is a parent

OBDREC OBDREREC OBDREFIL OBDREPAR OBDRECC1 OBDRECCL OBDRECHI OBDRELPA OBDRELCH OBDRX2RA

OBID of next record in file

OBID of first check constraint OBID of last check constraint

OBID of first fan set where record is a child

OBID of first fan set where record is a parent

OBDCC OBDCCREC OBDCCNXT

OBID of first relationship fan set where record is a dependent

OBDRXTG OBDRXTGL(6) OBDRXFTID

Array of 6 trigger chains--one for each type

OBID of next check constraint

OBID of record containing this check constraint

OBDFS
See the following page for OBDFS relationships OBID of the first trigger on the chain OBID of the first auxiliary relationship descriptor

OBDTG
See the following page for OBDTG relationships

OBDRA
See the following page for OBDRA relationships

Figure 155. DBD and OBD structure

Notes: If OBDREPAR is not 0, it always points to a different fan set OBD (OBDFS) than does OBDRECHI.

410

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

OBDREC
OBID of child or dependent record in fan set (all fan sets)

OBID of parent record in fan set (link relationship)

OBID of relationship fan set for dependent (when not in same database as parent)

OBDFS OBDFSFSC OBDFSFSP OBDFSCHI OBDFSPAR OBDDCIP OBDDCIF OBDDCCHR OBDDCPAR OBDIPSET

OBID of next fan set with same child or dependent OBID of next fan set with same parent

OBID of index fan set enforcing primary key

OBID of index fan set used to locate dependents via foreign key (optional)

OBID of index page set OBD

OBDFS in DBID=OBDDCCHD OBID of relationship fan set for parent (when not in same database as dependent)

OBDPSET OBDPSOB

OBID of the related index fan set

OBDFS in DBID=OBDDCPAD

Figure 156. OBDFS relationships

OBID of the record for the base table

OBDREC

OBID of the record for the auxiliary table

OBDRA OBDABT OBDANEXT OBDAAT OBDAPS OBDAFS OBDAFI OBDAIPS

OBID of next auxiliary relationship descriptor for the base table OBDFS OBID of the fan set for the auxiliary index OBID of the index page set for the auxiliary index

OBID of the file page set for the LOB OBDPSET

OBDPSET OBID of the file for the LOB

OBDFILE

Figure 157. OBDRA and OBDRM relationships

The OBDs illustrated are defined as follows: v OBDDBD: Describes the header of a DBD. OBDDFILE: OBID of the first file in a DBD. v OBDFILE: Describes a file OBD. OBDFINX: OBID of the next file in a DBD (0 if last). OBDFIREC: OBID of the first record descriptor within a file. OBDFIPS: OBID of the first data page set that is associated with the file.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

411

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

v OBDREC: Describes a record OBD. OBDREREC: OBID of the next record in the file (0 if last). OBDREFIL: OBID of the file containing the record. If the OBDREC describes an auxiliary table, this field contains the OBID of the file for the LOB table space. OBDREPAR: OBID of the first fan set in which this record is a parent (0 if none). This field is not 0 only for certain records in the catalog and directory. If it is not 0, this record is a parent in a link. If this record type is a parent in more than one fan set, there is a chain of fan set OBDs beginning in this field and continuing in OBDFSFSP in each fan set OBD where this record is a parent. OBDRECHI: OBID of the first fan set in which this record is a child (0 if none). If the OBDREC describes an auxiliary table, this field contains the OBDFS for the index on the auxiliary table. A record is a child in an index fan set if the index contains entries that point to records of this record type. A record in the catalog or directory can be a child in a link fan set or a hash fan set. A record is a child in a hash fan set if a hash function is used to access the record. A record is a child in a link if a parent/child relationship is defined with another record type being the parent. If the record is a child in more than one fan set, this field is the start of a chain of fan set OBDs, with each succeeding fan set OBD chained to the next via the field named OBDFSFSC. OBDRECC1: OBID of the first check constraint. OBDRECCL: OBID of the last check constraint. OBDRELPA: OBID of the first relationship fan set in which this record is a parent (0 if none). If this record type is a parent in more than one relationship fan set, OBDRELPA marks the beginning of a chain of relationship fan set OBDs with each fan set OBD chained to the next via the OBDFSFSP field in the relationship fan set descriptor. OBDRELCH: OBID of the first relationship fan set in which this record is a dependent. v OBDFS: Describes a fan set OBD. OBDFSFSC: OBID of the next fan set OBD that has the same record type as the child or dependent in the fan set (0 if none). This field is used in conjunction with OBDRECHI and OBDRELCH to chain together all link and relationship fan set OBDs, respectively, that have the same child or dependent record type. OBDFSFSP: OBID of the next fan set OBD that has the same record type as the parent in the fan set (0 if none). This field is used in conjunction with OBDREPAR and OBDRELPA to chain together all link and relationship fan set OBDs, respectively, that have the same parent record type. This field is not 0 only for some records in the catalog that are parents in more than one link. OBDFSCHI: OBID of child or dependent record in the link or relationship fan set. This field is not 0 in all fan set OBDs. OBDFSPAR: OBID of the parent record in the link or relationship fan set. This field is 0 unless the fan set is a link or relationship fan set. OBDDCIP: OBID of the index fan set which enforces the primary key. OBDDCIF: OBID of the index fan set on the foreign key (0 if none). This field may be used to locate dependents. OBDDCCHR: OBID of the relationship fan set for a dependent record when the dependent record is in a different database than that of the parent record. OBDDCPAR: OBID of the relationship fan set for a parent record when the parent record is in a different database than that of the dependent record. OBDIPSET: OBID of the first index page set (only for index fan set). v OBDPSET: Describes either a data page set or index page set OBD. OBDPSOB: OBID of related file or related index fan set.

412

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v OBDCC: Check constraint OBD OBDCCREC: OBID of record containing check constraint OBDCCNXT: OBID of record containing next check constraint v OBDRA: Describes the relationship between a table that contains LOB columns (a base table) and the auxiliary tables that contain the LOB data. An auxiliary relationship OBD is created when the auxiliary table is created. OBDABT: OBID of the record OBD of the base table OBDANEXT: OBID of the next OBDRA for the base table

DBD management
A DBD is created whenever a CREATE DATABASE statement is executed. The DM allocates 4 KB of storage initially and formats a DBD with 10 free OBDDMAP entries (set to 0), as illustrated in Figure 158.
Array of 1-10 offsets (OBDDMAP)

DBD Header (OBDDBD)

Free Space for OBDs

Figure 158. Database descriptor (DBD) format. OBDDMAP entries are 4 bytes long.

The number of used 4-byte OBDDMAP entries increases as new OBDs are created within the DBD. The map is extended downward, whereas the space for a newly created OBD is allocated at the end of the free space. Inserting an OBD: A new OBD is created whenever a new object is created; for instance, when CREATE TABLE, CREATE TABLESPACE, or CREATE INDEX statements are executed. RI Relationship OBDs are created with the FOREIGN KEY clause of the CREATE TABLE or ALTER TABLE statements. When an object is created, the DM first searches for an available entry in OBDDMAP. The relative location of the entry in the map becomes the object identifier (OBID) of the object. Table 69 shows the names of the OBIDs for the various DB2 objects.
Table 69. Object identifier (OBID) names for DB2 objects Object Database Table space Type DBD File Page set Table Index space Index RI relationship Record Page set Fan set Fan set OBID Name DBID OBID PSID OBID ISOBID OBID RELOBID1 RELOBID2 Auxiliary relationship OBD OBD AUXRELOBID XMLRELOBID Defined in Catalog Table SYSIBM. SYSDATABASE SYSTABLESPACE SYSTABLESPACE SYSTABLES SYSINDEXES SYSINDEXES SYSRELS SYSRELS SYSAUXRELS SYSXMLRELS

| |

XML relationship

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

413

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

A file is always the first DM object created within a DBD; therefore, if a file OBD is created next for the DBD in Figure 158 on page 413, the OBID for the file is 1 (because all OBDDMAP entries are free initially). The file OBD is then stored at the end of the free space. The resulting DBD should look like the one in Figure 159.

OBDDBD (header)

OBDDMAP (1)

OBDDMAP (2-10 are free)

Free Space for OBDs

OBDFILE (OBID 1)

Figure 159. Sample DBD with one file OBD

An OBDDMAP entry contains the offset to the OBD relative to the beginning of the DBD (OBDDBD). The OBID of an OBD is the relative number (beginning with 1) of the entry in the OBDDMAP. Therefore, in order to locate an OBD with OBID = n, locate the nth OBDDMAP entry; the address of the OBD is:
ADDR(DBD) + value at OBDDMAP(n)

Deleting an OBD: If the object that is dropped is an index or a table space, the space becomes available in the DBD as soon as the DROP is committed. If the object that is dropped is a table, the space in the DBD becomes available only when one of the following events occur: v MODIFY was run against an explicitly created table space, and the remaining image copies do not contain records from a previously dropped table in the table space. v The DROP is committed for the table in an implicitly created table space. Refer to DB2 Administration Guide for an explanation of implicitly and explicitly created table spaces.

DBDs on DASD
A DBD is a single block when it is first created. A DBD can grow so that it is necessary to chain an additional DBD block to the original block. This can result in a chain of DBD blocks, which together form a single DBD. Therefore, a DBD can be a single block or a chain of multiple blocks when it is first read into memory from DASD. A DBD is written to DASD at a commit point. A chain of DBD blocks is written to DASD. Each DBD block has an OBDDMAP, which contains the OBID offsets of the OBDs that reside in the block. Those offsets are relative to the beginning of the DBD block. The modified DBD in storage is freed at the deallocation of the DB2 internal area that is changing the DBD. When the DBD is next read from DASD, it is read as a chain of blocks. If subsequent DDL activity requires that the DBD grow in size, one or more additional blocks are chained to the current DBD. DBD size is not automatically reduced when objects are removed or dropped. On DASD, the DBD block is stored in the data portions of DBDR and DBDS records in the directory (database DSNDB01), as illustrated in Figure 160 on page 415. Each DBD has one parent (root) record called the DBDR record, which is

414

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

accessed through a hash. The DBDR record points to a number (possibly zero) of child records called DBDS records. DBDS records are accessed through a link. If the DBD is stored in more than one record (that is, in a DBDR record and some number of DBDS records), the data portions of the DBDR and DBDS records need to be concatenated (so that they are contiguous) in order to use the relative addresses in the OBDDMAP. For a procedure describing how to put the multiple sections of a DBD together, see Chapter 20, Diagnosing DBD Inconsistencies, on page 439. Refer to Database descriptor records on page 497 for the format and contents of DBDR and DBDS records.
Offset X14
A Hashable Page Page Header Hash Area - Consists of up to 127 anchor points RID 1 RID 2

Space for Records Page ID Map Some Page Page Header

DM Prefix DBDR Record Prefix DBD Data

Page ID Map Some Other Page Page Header

DM Prefix DBDR Record Prefix More DBD Data

Page ID Map

Figure 160. Relationship between DBD parent and child records

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 15. Data organization

415

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

416

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 16. Backing Up Data


The DB2 RECOVER utility is often the quickest and easiest method of resolving data inconsistency problems. However, these problems can involve data that the RECOVER utility needs to use, such as the recovery log or image copy data sets. If the data needed by the RECOVER utility is damaged or unavailable, the problem might have to be resolved manually.

Actions to take
To aid in successful recovery of inconsistent data: v During the installation of, or migration to, DB2 for z/OS Version 9.1, make a full image copy of the DB2 directory and catalog with installation job DSNTIJIC (refer to DB2 Installation Guide). If this was not done during installation or migration, use the COPY utility, described in DB2 Utility Guide and Reference, to make a full image copy of the DB2 catalog and directory. If this is not done and there are later problems with inconsistent data in the DB2 catalog or directory, the RECOVER utility cannot be used to resolve the problem. To speed recovery of the catalog and directory indexes, take a full image copy of all the index spaces when you copy the table spaces. This enables you to recover the table spaces and index spaces at the same time. v Periodically run DSN1CHKR (before image copies are taken) against the catalog and directory table spaces that have links. This ensures that image copies are correct. The catalog table spaces that have links are: SYSDBASE SYSDBAUT SYSGROUP SYSPLAN SYSVIEWS The directory table space that has links is DBD01. v Periodically make image copies of the catalog, directory, and user databases. This minimizes the time the RECOVER utility requires to perform recovery. In addition, this increases the probability that the necessary archive log data sets are still be available. Make two copies of each level of image copy data sets to reduce the risk of loss or damage. To speed recovery of the indexes, take a full image copy of all the index spaces when you copy the table spaces. This enables you to recover the table spaces and index spaces at the same time. v Use dual logging for active log, archive log, and bootstrap data sets (BSDSs). This increases the chance of recovering from all problems, and is especially useful for data inconsistency problems. v Before using RECOVER, rename the data sets. If the image copy or log data sets are damaged, using the RECOVER utility can compound the problem. Therefore, before using RECOVER copy the data sets using DSN1COPY.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

417

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The RECOVER utility applies log records to the new data set with the old name. Then, if a problem occurs during RECOVER utility processing, there is a copy (under a different name) of the data set being recovered. v Keep back-level image copy data sets. If an image copy of a table space or index space that contains inconsistent data is made, the RECOVER utility cannot resolve the data inconsistency problem. However, RECOVER can resolve the inconsistency if there is an older image copy of that table space or index space taken before the problem occurred. The MODIFY utility deletes the SYSCOPY record that describes an image copy. To retain a particular image copy for use by RECOVER, use the MODIFY utility with the ICDATE of that image copy. This also retains any later image copies. v Maintain consistent referential structures. A referential structure is a set of tables and relationships designed with referential constraints, such that each table in the set is a parent or dependent of itself or another table in the set. To facilitate maintaining referential consistency, keep the number of table spaces in a table space set to a minimum, and avoid tables of different referential structures in the same table space. REPORT TABLESPACESET reports all members of a table space set defined by referential constraints. A referential structure must be kept consistent with respect to point in time recovery. Use the QUIESCE utility to establish a point of consistency for a table space set, to which the table space set can later be recovered without introducing referential constraint violations. See Part 2 (Volume 1) of DB2 Administration Guide for information on designing referential structures to help maintain data consistency.

Actions to avoid
v Do not discard archive logs that might be needed. The RECOVER utility might need an archive log to recover from an inconsistent data problem. If discarded, the problem must be resolved manually without using the RECOVER utility. (For information about determining when to discard archive logs, see Part 4 (Volume 1) of DB2 Administration Guide.) v Do not make an image copy of a table space or index space that contains inconsistent data. If the COPY utility is used to make an image copy of a table space or index space that contains inconsistent data, the RECOVER utility cannot recover a problem involving that space (unless an older image copy is available that was taken before the problem occurred). Run DSN1COPY with the CHECK option to determine whether intra-page data inconsistency problems exist on table or index spaces before making image copies of them. If a COPY of a catalog or directory table space is taken, run DSN1CHKR and DSN1COPY CHECK (before image copies are taken) to verify the integrity of DB2 catalog and directory table spaces. (For information, see DB2 Utility Guide and Reference.) v Do not use the -TERM UTILITY command on utility jobs you want to restart. If an error occurs while a utility is being executed, the data on which the utility was operating remains at a commit point. If the utility stops while it has exclusive access to data, other applications cannot access that data. In this case, you can issue the -TERM UTILITY command to terminate the utility and make the data available to other applications. However, use the -TERM UTILITY command only if the utility job cannot be restarted or does not need to be restarted. Issuing the -TERM UTILITY command can cause two different situations:

418

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

If the utility is active, it terminates at its next commit point. If the utility is stopped, it terminates immediately. By using the -TERM UTILITY command to terminate the REORG or LOAD utilities, or COPY utility for incremental image copies, the objects on which the utility was operating are left in an indeterminate state. Often, the same utility job cannot be rerun. The specific considerations vary for each utility, depending on the phase in process when you issue the command. (For details, see DB2 Utility Guide and Reference.)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 16. Backing Up Data

419

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

420

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 17. Identifying DB2 Data Inconsistency Problems


Data inconsistency problems occur for a variety of reasons, including internal DB2 problems, I/O errors, or system problems. Chapter 16, Backing Up Data, on page 417 lists several recommendations to follow while data is consistent for successfully recovering the data in the event a data inconsistency problem occurs. This chapter provides guidelines for identifying inconsistent data and index problems. See Chapter 10, Data Sharing Problem Diagnosis, on page 285 for information about resolving inconsistent data problems in the data sharing environment. The data inconsistency problems addressed in this chapter can occur as a result of referential integrity constraint violations. Referential integrity describes the condition where all references to data in pages are valid. DB2 provides referential integrity by enforcing referential constraints on the data. Referential integrity constraint violations do not cause abends, because DB2 does not depend on referential constraints in order to operate. Referential constraint violations do, however, cause incorrect results in processing. Refer to Part 2 (Volume 1) of DB2 Administration Guide for more details on referential constraints. Data inconsistency problems fall into one or more of the following categories: v Unavailable data v Internal inconsistency v Inconsistent page v Inconsistent page set. These conditions can exist singly or in combination. They are evidenced by a variety of symptoms, and can be identified by a number of messages and codes. Discovering an inconsistency in user or DB2 system data can be difficult, depending upon the complexity of the problem. However, if you suspect that a data inconsistency condition exists, follow these guidelines: 1. Identify the database dbname and table space tsname that contain the inconsistent data. 2. Enter -START DATABASE(dbname) ACCESS(RO) to limit access to the data before an attempt is made to resolve the inconsistency. This action prevents subsequent updates to the inconsistent data from compounding the problem. Inhibiting updates to the inconsistent data is particularly important if the DB2 catalog or directory is involved in the problem. If catalog or directory problems are suspected, issue -START DATABASE(DSNDB06) ACCESS(RO) to inhibit DDL, GRANT, REVOKE, and BIND activities. 3. Determine how to resolve the problem by following the guidelines in Symptoms and actions on page 422 or the detailed procedures in Chapter 19, Resolving Inconsistencies with RECOVER TABLESPACE and RECOVER INDEX, on page 437 or Chapter 18, Resolving Inconsistencies Manually, on page 427. 4. Enter -START DATABASE(dbname) SPACENAM(tsname) ACCESS(UT) to allow utility processing. 5. Invoke either RECOVER or REPAIR (depending on what the information in Table 70 on page 422 suggests). 6. Determine whether the damage has been corrected. 7. After the data is made consistent, issue -START DATABASE(db) SPACENAM(ts) ACCESS(RW) to restore full access to the data.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

421

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Symptoms and actions


Table 70 describes some common symptoms of each type of data inconsistency problem, and provides general recommendations for resolving these conditions.
Table 70. Types of data inconsistency Problem Symptoms Indicated By Unavailable data Table or index space is marked STOP or LPL RESOURCE UNAVAILABLE condition indicated Possible Causes Suggested Actions Start database containing the table or index space to apply all log records that were deferred at DB2 restart. Run RECOVER TABLESPACE for a table space, or RECOVER INDEX or REBUILD INDEX for an index.. Resolve problem manually if it is a data inconsistency problem. Create an index that enforces the primary key, or drop the relationship. Table or index Messages DSNI013I or Damaged recovery log is Refer to Chapter 5, space is marked DSNI014I used during DB2 restart Type-of-failure keywords, STOP processing (00C90101 on page 117. Abend reason codes issued). Many error 00C90101, 00C90107, Start database containing messages or abends 00C90108, or 00C90109 Unavailable data in the table or index space to identifying the pages (usually not an apply all log records that same set of pages inconsistency problem). were deferred at DB2 restart. Run the RECOVER able space or INDEX the REBUILD utility on the index. Resolve problem manually if it is a data inconsistency problem. Run DSN1COPY with CHECK option to obtain additional information. Run the RECOVER able space or index space or run REBUILD on the index.. Resolve manually. Activate global trace to obtain additional information. (See Special considerations for suspected page inconsistencies on page 425.)

Messages DSNT500I or DM is unable to open a DSNT501I required VSAM data set during restart processing. Type codes 300 (page), 301 (index subpage), Attempt to insert or 302 (table space page), update record with or 303 (index page) foreign key when index enforcing the primary Abend reason code key of the parent table 00C9009F has been dropped. SQL return code -904

Internal inconsistency

Inconsistent page

Table or index space is marked STOPPED INCONSISTENT DATA or INDEX condition indicated

Messages DSNI011I or DSNI012I Abend reason codes 00C90105 or 00C90102

DM tries to recover a page containing inconsistent data by using the recovery log, but is unsuccessful.

422

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Possible Causes Suggested Actions Issue -DISPLAY DATABASE(*) RESTRICT to display STOPPED table or index spaces. Run CHECK utility on index space to verify validity of indexes. Run DSN1CHKR to identify link damage.

Table 70. Types of data inconsistency (continued) Problem Symptoms Indicated By Inconsistent page set Table or index space is marked STOPPED. SQL statement is processing more rows or fewer rows than specified in the statement.

Messages DSNT500I or Link or hash chain is DSNT501I. damaged. Type codes 200 (table space) or 201 (index space). Abend reason codes 00C902xx or 00C9011x (DBDs). Extra or missing index entry. Inconsistencies between two or more items of data. Inconsistencies in DBD.

Inconsistent page set

In a segmented table space, results differ between index scan and table scan or total number of rows is less than expected.

Run the RECOVER able space or index space or run REBUILD on the index.. For segmented table A non-empty segment in For segmented table space space inconsistencies, a segmented table space errors, analyze SDUMP and abend reason codes is not on any segment run DSN1PRNT or REPAIR 00C90218 or 00C90219. chain; a deallocated with DUMP option to print segment is on a segment pages covered by chain; an allocated inconsistent segment; run segment is on the wrong REPAIR and/or reorganize segment chain. table space via REORG.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 17. Identifying DB2 Data Inconsistency Problems 423 DO NOT COPY

DO NOT COPY
Table 70. Types of data inconsistency (continued) Problem Symptoms Indicated By Inconsistent page set CHECK PENDING state indicated. CHECK PENDING indicated by DISPLAY DATABASE command with table space or RESTRICT specified. Possible Causes

Restricted Materials of IBM Licensed Materials Property of IBM

Suggested Actions

CHECK PENDING set by CHECK, LOAD or RECOVER utilities, or ALTER statement. Indicates that associated page set can contain records that violate referential or check constraints.

To reset CHECK PENDING on a table, rectify the violations and place deleted records into exception tables, run CHECK DATA utility with the DELETE YES option, DROP TABLE to alleviate the problem and LOAD REPLACE to replace the data adhering to For indexes, indicates referential or check one of the following constraints OR recover all cases: members of table space set v The index and its table to quiesce point. To reset space were recovered CHECK PENDING on an to a previous point in index, run CHECK INDEX. time that is not a quiesce point. v The index and its table space were recovered with the TOCOPY option, but not in the same RECOVER statement. v The index and its table space were recovered with the TOCOPY option and in the same RECOVER statement, but the image copies were not taken with the same COPY statement.

Inconsistent page set

RECOVER PENDING state indicated. LOAD or REORG does not complete normally.

Does not apply to databases. RECOVER PENDING RECOVER PENDING set indicated by DISPLAY by utilities when data DATABASE command found to be inconsistent. with table space, index Abnormal utility space, or RESTRICT termination leaves the specified. table space in RECOVER PENDING. Indicates that associated page set can contain inconsistent data, apart from referential constraint violations. Use REPAIR utility to manually turn off CHECK PENDING, and -START ACCESS (FORCE) to restart table spacethis approach is not recommended.

To reset RECOVER PENDING, run RECOVER, the LOAD REPLACE or REPAIR utilities.

424

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Possible Causes Internal DB2 problems, I/O errors, system problems. Data set is restored to a level that is inconsistent with other data sets and/or with the DB2 log. VSAM high-used RBA value has been corrupted. Suggested Actions Resolve manually.

Table 70. Types of data inconsistency (continued) Problem Symptoms Indicated By Inconsistent page set INCONSISTENT DATA or INDEX condition indicated by messages. Table space or index space is down-level. SQL return code -904.

Inconsistent page set

SQL return code -904. Reason code 00C2010D or 00C20110. Message DSNB232I.

Restore pageset or partition to correct level; or restore down-level pageset or partition to currency, run RECOVER or RECOVER LOGONLY; or accept down-level, run REPAIR LEVELID; or replace contents, run LOAD REPLACE; or restore to prior point in time, run RECOVER.

Special considerations for suspected page inconsistencies


During SQL processing of, for example, an INSERT, UPDATE, or DELETE statement, DB2 makes data consistency checks to verify that the processing did not produce any inconsistent data. The number of checks DB2 makes depends upon whether or not the global trace is active. If the global trace is not active, only a subset of the data inconsistency checks are made. If the global trace is active, all the checks are made. During normal operation the subset of checks is sufficient. If you suspect data inconsistency problems are the result of an inconsistent page, activating the global trace is yet another method that can be used to help verify whether or not there is inconsistent data. For more information on the global trace see Chapter 8, Printing and analyzing traces, on page 225. During utility operations and operations, such as RESTART, that apply log records to a page, DB2 performs all the data inconsistency checks, whether or not the global trace is activated.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 17. Identifying DB2 Data Inconsistency Problems 425 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

426

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 18. Resolving Inconsistencies Manually


Use this chapter when a data inconsistency problem cannot be resolved using the RECOVER utility. By following the appropriate procedures in this chapter, you should be able to determine the cause of the data or index inconsistency and resolve the problem. Be sure to keep a complete record of the actions you take. If the procedures do not help resolve the inconsistency, contact IBM Software Support and describe the analysis.

Analyzing 00C9010X or 00C902XX abends


The 00C9010x and 00C902xx abend reason codes are issued along with informational error messages (usually DSNI013I or DSNI014I) when logic errors, such as record length inconsistencies, are found. Referential integrity constraint violations do not cause C9010x or C902xx abends, because DB2 does not depend on referential constraints in order to operate. Referential constraint violations do, however, cause incorrect results in processing. v For 00C90101 or 00C90105 abends, the error messages issued include all pages in use at the time of abend. Generally, these pages have no inconsistency problem; refer to Chapter 5, Type-of-failure keywords, on page 117 to determine the cause of the abend. However, if you receive several error messages or abends identifying problems with the same set of pages, it can be an inconsistency problem; continue with this chapter. v For 00C902xx abends, the error messages issued usually include all pages involved in the inconsistency problem. The error messages provide the following information for each page: REASON The abend reason code issued with the message. TYPE NAME The name of the resource (database name, space name, and page number). CONN-ID The connection ID, which, when combined with the correlation ID (CORR-ID), and the logical-unit-of-work ID (LUW-ID), identifies the communication path involved. CORR-ID The correlation ID, which, when combined with the connection ID (CONN-ID), and the logical-unit-of-work ID (LUW-ID), identifies the communication path involved. LUW-ID The logical-unit-of-work ID, which, when combined with the connection ID (CONN-ID), and correlation ID (CORR-ID), identifies the communication path involved. Much of this information also appears in the abends diagnostic area of the associated SVC dump. Register 13 is at offset X4C in the SDWA. Offset XF4 from
LY37-3218-01 Copyright IBM Corp. 1983, 2007

A type code identifying the type of resource involved.

DO NOT COPY

427

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

the value in register 13 is the address of the CT. At offset X78 in the CT is the address of the abends diagnostic area. Figure 161 illustrates the format and contents of this diagnostic area. It begins with a 96-byte prefix area, which is followed by a number of 96-byte subareas, each containing information about one page involved in the problem. The diagnostic area contains as many contiguous subareas as there are pages involved in the problem.
Diagnostic Area for 00C9010x and 00C902xx Abends CT+X78 Field Length Identifier: X2087 Length of diagnostic area Eye catcher (IFCK) XC9C6C3D2 Abend reason code: X00C9010x or X00C902xx Address of DBD (if in use at abend) Number of pages involved DB2 internal diagnostic area Offset X60: Beginning of first page subarea Pointer to DM control block Address of page buffer Type of page: X00000302 (data) or X00000303 (index) Name of page: DB.SP.PG.ID Offset XC0: Beginning of second page subarea Reserved Pointer to DM control block Address of page buffer Type of page: X00000302 (data) or X00000303 (index) Name of page: DB.SP.PG.ID Reserved 2 Diagnostic area prefix 2 section 4 Total length 4 96 bytes

4 4 76 4 Subarea for first page 4 4 Total length 96 bytes

44 40 4 Subarea for second 4 page 4 Total length 96 bytes 44 40

. . .
Figure 161. 00C9010X and 00C902XX SVC dump diagnostic area format

The name of page field is abbreviated as DB.SP.PG.ID. This is interpreted as follows: DB SP PG Database name: 8 characters, followed by a 1-character delimiter Table space (file page set) or index space (index page set) name: 8 characters, followed by a 3-character delimiter Page number: 8 characters, followed by a 4-character delimiter

428

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

ID

The ID of a record in a data page or the index subpage number in a segmented leaf page: 2 characters, followed by a 1-character delimiter

A sample name is:


DSN8DAPP.DSN8SDEP.X000002.X01 (as it appears in messages) DSN8DAPP.DSN8SDEP.X.000002..X.01. (as it appears in dumps)

Names are stored in character format. If the ID is unavailable, the field contains blanks. If the high order bit of the ID field is on, the ID identifies an anchor point in a hash page or a parent record in a link; this means that the DB2 directory or catalog is involved in the problem. Although the database name, the space name, and the page number are included in DSNI013I and DSNI014I messages that are issued, the ID (when available) is only found in the diagnostic area of the dump.

Analyzing the SVC dump


Use the procedures below to analyze the SVC dump issued for the abend you received. 1. For each subarea in the diagnostic area of the dump, examine the ID in the name of page field. 2. If the ID is not included in the subarea for a given page, other diagnostic information produced before or along with the abend might indicate the record involved. However, you might have to analyze all the records in all the named pages. In cases of incomplete information, contact an IBM support center. 3. If you found one or more IDs, locate each record identified by the corresponding ID. For 00C9010x abends, each ID identifies the record in use at the time of abend. For 00C902xx abends, each ID identifies a specific record involved in the inconsistency. 4. Examine the records you found and try to determine where the inconsistency exists. 5. Analyze the structure containing each record and verify that the connecting RID pointers are correct. 6. Be aware that the inconsistency might involve a missing record. In this case, the PG field identifies the page that was supposed to contain the indicated record. The DM might have tried unsuccessfully to find the record in the page. 7. In some operations, such as a DELETE, one of the pages involved in the inconsistency might not be identified at all because processing on that page had already completed at the time of the abend. In cases of incomplete information, contact an IBM support center. 8. In the case of a 00C9010x abend, further information about the source of the problem might be obtained from knowing what DM operation was in process at the time the problem was detected. To determine what was going on, follow the steps below. a. Find the CSECT name identifier (last five bytes of the CSECT name) in the field named VRARRK5 of the variable recording area (VRA) in the SDWA. In an SVC dump, the VRA begins at offset X190 in the SDWA. The first three bytes are always DSN. See Chapter 7, Printing and analyzing dumps, on page 167 for a description of this report. b. Look up this CSECT name in the online CSECT Directory described in Chapter 30, CSECT Descriptions, on page 755 and read the description.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY Chapter 18. Resolving Inconsistencies Manually 429

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

In most cases, the description of the CSECT provides some indication of what was going on at the time of the abend. For example, suppose DSNIBHUN was the name of the CSECT that issued the 00C9010x abend. The description indicates that this CSECT is involved with processing recovery log records. The problem in this case might be an inconsistency within the log record that is being processed or an inconsistency between the log record and the page to which the log record is being applied. If a page is involved in the problem, it is identified in a DSNI014I message and corresponding diagnostic area in the dump. 9. For 00C902xx abend reason codes, it is possible for more pages to be identified as being involved in the problem than the number of pages that are actually involved. These additional pages are included because they were in use at the time of the abend. 10. If no problem is found after analyzing the records involved, it is still possible that an inconsistency exists between a database descriptor (DBD) and the data or index involved. If a DBD was involved at the time of the abend, the address of the DBD is in the prefix of the diagnostic area (see Figure 161 on page 428). Use this address to locate the DBD in the dump. Refer to Chapter 20, Diagnosing DBD Inconsistencies, on page 439 for information about analyzing inconsistent DBDs. If you find one or more inconsistencies in the pages you analyzed in the SVC dump, determine whether the problem exists on DASD or only in virtual storage a. Obtain a REPAIR, DSN1COPY, or DSN1PRNT dump of each page involved in the problem. See DB2 Utility Guide and Reference for the syntax of these utilities. b. Analyze the dump to determine whether the problem you found in the SVC dump also exists on DASD. v If the problem does not appear in the dump of the pages, this indicates that the transaction that was in process at the time the SVC dump was issued caused the problem, but only exists in virtual storage. This transaction is likely to cause the same problem when it is processed again. v If the problem does appear in the dump of the pages as well as in the SVC dump, the problem exists on DASD. Continue with the next step. c. If the problem exists on DASD: v If the catalog or directory is involved, use the DSN1CHKR utility to aid in diagnosing the problem. v Use the RECOVER utility to recover the page set containing the pages involved. If RECOVER completes successfully, you still need to verify that the problem has been resolved on DASD: 1) Obtain a REPAIR, DSN1COPY, or DSN1PRNT dump of the pages involved. 2) Look at the dump to determine whether the inconsistency is resolved. 3) If the inconsistency is resolved, you should be able to continue normal operations. If it is not resolved, use the REPAIR utility to manually resolve the problem. Refer to Running repair on page 434.

430

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Analyzing 00C90102 abends


The 00C90102 abend reason code is issued when an inconsistency is found within a data or index page and automatic recovery is not successful. Before a 00C90102 abend reason code is issued, DB2 issues a message (DSNI011I or DSNI012I), indicating that a page has been damaged. These messages identify the page number and page type, the name of the module that detected the inconsistency, and the trace code describing the event in process. If you were unable to successfully resolve the inconsistency using the RECOVER utility, and there is an SVC dump associated with the problem, start an analysis with Finding the trace code below. SVC dumps can provide some useful information, but might not always reflect the data actually residing on DASD, so do not use it as a basis for repairing data with the REPAIR utility. Instead, use a dump produced by REPAIR, DSN1COPY or DSN1PRNT. If you have a dump produced by REPAIR, DSN1COPY, or DSN1PRNT, follow the procedures under Analyzing a data page or Analyzing an index page on page 434.

Finding the trace code


The trace code describes the event that was in process at the time of abend and is shown in the messages issued for the abend (the value after the ERQUAL variable in the message), as well as in the SVC dump issued for the abend. If for some reason the trace code cannot be determined from the messages, you can find it in the SVC dump in the following locations: v In the last 2-byte field of the dump title on the first page. The trace code appears after the colon that follows the failing CSECT name. v In the VRA diagnostic information report and the VRA area of the SDWA or SYS1.LOGREC. The trace code is associated with the key XCE (field name VRARRK6). See The variable recording area (VRA) on page 192 for information about where these data areas appear in an SVC dump. Do not refer to the DB2 trace table in the dump; subsequent events might have overwritten necessary information. Use the trace code to determine what is wrong with the page. This is the first error DB2 detected in the page, but there can be others. Trace code XFFFx is one indication the DB2 catalog or directory is involved. Trace code X0000 indicates an abend occurred during RECOVER processing, causing DB2 to mark the page as inconsistent or broken. Refer to the information in Analyzing a data page and Analyzing an index page on page 434 when you have a REPAIR, DSN1COPY or DSN1PRNT dump of the inconsistent page. An SVC dump can also be used for analysis, but do not use it as the basis for changing data with the REPAIR utility. SVC dumps might not reflect the data as it appears on DASD. In SVC dumps, the address of the damaged page is in register 9 at offset X3C in the SDWA.

Analyzing a data page


To determine if a data page is damaged, you probably need to check the page header, the ID map, the records and holes, and the total free space by working
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY Chapter 18. Resolving Inconsistencies Manually 431

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

through the procedures that follow. If you find an error, continue checking all areas because other errors may exist as well. All errors must be resolved to restore the page to a consistent state. Figure 162 illustrates the structure of a data page. Refer to File page set data pages on page 384 for further information on the structure and features of data pages. The field names used in these procedures are described in Chapter 22, File Page Set Formats, on page 461.
X00 X0C X0E X10 X12 X13

Header Page 3 X14

PGFREE

PGFREEP

PGHOLE1

PGMAXID PGNANCH

Record X00000302

Records or Anchor Points Offset in PGFREEP

Header 6 bytes

Data

Contiguous Free Space

ID2 contains the offset in the page to the record with RID=X00000302

ID3 03

ID2 02

ID1 01

Ptr

Page Trailer Byte XC5 or XD5

ID Map (PGMAXID contains number of 2-byte ID map entries)

2-byte Page Tail Area

Figure 162. Format of file page set data page

Follow all steps in this procedure, even after detecting an error. All errors must be resolved, not just the first one you find. If data sharing, the relative byte address (RBA) field should have an LRSN value. 1. Check the page header (PGHEAD) v Check PGCOMB, a 1-byte field at offset X00. If Bit 3 = B1, the last byte in the page must be XD5. If Bit 3 = B0, the last byte in the page must be XC5. v Check PGFLAGS, a 1-byte field at offset X0B. If Bit 0 = B1, the data manager (DM) set the broken bit on to indicate a damaged page. If Bit 0 = B0, the DM did not set the broken bit. However, a problem can still exist. Bits 1 and 5 should be B0, indicating a data page. If Bit 3 = B1, the page is a space map page of either a segmented (Bit 2 is also B1) or nonsegmented file page set. Do not follow the remaining procedures. Call an IBM support center. 2. Check if the DB2 directory (DSNDB01) is involved. v Check PGNANCH, a 1-character field at offset X13. If PGNANCH > X00, bit 4 of PGFLAGS (at offset X0B) must be B1, indicating that the page is a hash page in the DB2 directory. PGNANCH contains the number of 8-byte anchors points in the page. Each anchor point

432

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

3.

4.

5.

6.

contains a forward and backward pointer. For all anchors points, verify that either (1) both pointers are X00000000 or (2) both pointers contain valid record identifiers (RIDs). A valid RID has a nonzero value in the first 3-byte portion and a nonzero value in the last byte. Define three working variables: (1) #IDS to accumulate the number of ID map entries, (2) TOTAL HOLE to accumulate the total amount of storage contained in holes and (3) CURRENT OFFSET to accumulate the offset to the part of the page being analyzed. Analyze the space that contains records and holes, which begins at offset X14 + (8PGNANCH). This space ends at the offset stored in PGFREEP (a 2-character field at offset X0E). Starting with the first record or hole, perform the checks described below, depending on what is stored in the page at the current point of interest. Refer to File page set data page on page 478 for the formats of records and holes. a. Record or Overflow Record (first byte is X00 or X20): v Verify that the ID map entry whose number is contained in PGSBID (a 1-character field at offset X05) contains the offset of this record. Add 1 to the value currently in the working variable named #IDS. v Add the value in PGSLTH (a 2-character field at offset X01 in the record) to CURRENT OFFSET to get the offset to the next record or hole. b. Pointer Record (first byte is X40): v Add 6 bytes to CURRENT OFFSET to get the offset to the next record or hole. c. Large Hole (first byte is X80): v Add the value in PGHLTH (a 2-character field at offset X01 in the hole) to TOTAL HOLE. v Add the value in PGHLTH to CURRENT OFFSET to get the offset to the next record or hole. d. Small Hole (first byte is X81, X82, X83 or X84): v Add the length of the hole to TOTAL HOLE. The length is the value of the second nibble in the first byte (for example, the first byte of a 2-byte short hole is X82). v Add the length to CURRENT OFFSET to get the offset to the next record or hole. Repeat these steps until CURRENT OFFSET is equal to the value in PGFREEP. Analyze the chain of large holes by checking PGHOLE1, a 2-character field at offset X10 in the data page. If PGHOLE1 is not X0000, use the value in PGHOLE1 as the offset to the first hole, and perform the following tests: a. Verify that a large hole is at the offset (the value of the first byte should be X80). b. Use the value in PGHCHAIN (a 2-character field at offset X03 of the large hole) as the offset to the next hole and repeat this step if PGHCHAIN > X0000. If PGHCHAIN = X0000, continue with the next step. Analyze the ID map and page tail area. If not all existing ID map entries are in use (#IDS (used entries) does not equal PGMAXID (used + free entries)), the next-to-the-last byte in the page should contain the number of the first free ID map entry in the chain. Refer to Figure 139 on page 390 for an illustration of the layout of this area. Perform the following steps: a. The ID map entry pointed to should not be currently in use (high order bit should be on).

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY Chapter 18. Resolving Inconsistencies Manually 433

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

b. Use the low order portion of the free ID map entry as an ID map entry number, and repeat these steps until you reach the end of the chain of free ID map entries. 7. Verify PGMAXID, a 1-character field at offset X12 of the page, contains the number of ID map entries that have been allocated this includes both used and free entries. 8. Verify PGFREE, a 2-character field at offset X0C of the page, contains the amount of total free space in the page. v For 4 KB pages (X1000, or 4096, bytes):
free space = X1000 - X02 for tail area - (2PGMAXID) - PGFREEP + XTOTAL HOLE = PGFREE

v For 8 KB pages (X2000, or 8192, bytes):


free space = X2000 - X02 for tail area - (2PGMAXID) - PGFREEP + XTOTAL HOLE = PGFREE

v For 16 KB pages (X4000, or 16384, bytes):


free space = X4000 - X02 for tail area - (2PGMAXID) - PGFREEP + XTOTAL HOLE = PGFREE

v For 32 KB pages (X8000, or 32768, bytes):


free space = X8000 - X02 for tail area - (2PGMAXID) - PGFREEP + XTOTAL HOLE = PGFREE

PGMAXID, at offset X12 of the page, contains the number of allocated ID map entries. PGFREEP, at offset X0E of the page, contains the offset to the contiguous free space in the page. TOTAL HOLE is the figure you computed in Step 4 for the total space occupied by holes in the page. If you have found errors and have determined what needs to be modified via the REPAIR utility, continue with Running repair. If no errors or inconsistencies have been detected, the page is probably not damaged.

Analyzing an index page


To determine if an index page is damaged, run the CHECK INDEX utility. This checks the index page header, the physical index page header, the subpage directory, the logical index page header, and the page entries. All errors must be resolved to restore the page to a consistent state. If you have found errors and have determined what needs to be modified via the REPAIR utility, continue with Running repair. If you detect no errors or inconsistencies, the index page is probably not damaged.

Running repair
The REPAIR utility is used to resolve data or index inconsistencies manually. (Use the CHECK utility to manually resolve referential constraint inconsistencies.) Use this chapter after (1) you have located and analyzed the damaged page in a dump and (2) you failed to resolve the problem with the RECOVER utility. Do not use an SVC dump as the basis for changing data via REPAIR; SVC dumps do not always reflect the data as it exists on DASD. Use a dump produced by REPAIR, DSN1COPY, or DSN1PRNT instead. Always verify that the page has not

434

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

changed on DASD. Do this by using the VERIFY keyword of REPAIR to verify the log RBA (PGLOGRBA) at offset X01 of the page header. Be extremely careful if you are changing the DB2 catalog or directory; refer to Physical Formats and Diagrams for detailed information about the contents and structure of the catalog and directory. Refer to DB2 Utility Guide and Reference for the complete syntax of the REPAIR utility and perform the following steps: 1. Invoke the REPAIR utility with the LOG YES option and the DUMP control statement, specifying the pages you suspect are damaged. Verify that the dump you receive contains the desired pages. 2. If you know which page is damaged and you can see how to resolve the error, repair the page and reset the broken bit. Invoke the REPAIR utility with the REPLACE RESET DATA control statement. Keep track of your actions in case anything needs to be undone later. 3. If you determined that the page is not really damaged but merely has the broken bit on, reset the broken bit. Invoke the REPAIR utility with the REPLACE RESET control statement. 4. If you cannot determine how to resolve the problem via REPAIR or are unable to do so, contact an IBM support center. If the REPAIR utility was used with the LOG NO option, do not use the RECOVER utility on the data modified by REPAIR. Since REPAIR activities are not logged, the RECOVER utility does not recognize the changes made with REPAIR. After you have successfully used REPAIR (all inconsistencies in the page set are resolved), take an image copy of the data; when the image copy is successfully completed, use the RECOVER utility on the data. This is because RECOVER uses the new image copy of the data you have modified with REPAIR. If the image copy of the repaired data should become damaged and fallback to a prior image copy occurs, the result of using REPAIR is lost, and the inconsistency reappears.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY Chapter 18. Resolving Inconsistencies Manually 435

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

436

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 19. Resolving Inconsistencies with RECOVER TABLESPACE and RECOVER INDEX
The RECOVER and REBUILD INDEX utilities provide the easiest way to recover inconsistent data indicated by abend reason codes 00C9010x or 00C902xx. v RECOVER can be used to recover an entire file page set, a single data page in a page set, or pages in error range. RECOVER can be used for table spaces and index spaces. v REBUILD INDEX can be used to recover a single index or multiple indexes associated with a table space. Refer to DB2 Utility Guide and Reference for the complete syntax of the RECOVER and REBUILD INDEX utilities.

Preparing to run RECOVER


Before running RECOVER on a table space or index space, determine the name of the page set and the number of the page involved in the data or index inconsistency. Use the most convenient of the procedures listed below: v Review the DSNIxxxx messages you received. The format of the NAME category is DB.SP.PG where DB = database name SP = table space (file page set) or index space (index page set) PG = page number If the database name of the inconsistent resource is DSNDB01 (directory) or DSNDB06 (catalog), there can be inconsistency problems in the hash or link chains in the directory or catalog, and subsequent DDL activity can cause more damage. Before proceeding, stop further DDL activity by issuing the following command:
-START DATABASE (DSNDB06) ACCESS (RO)

v Another way to find the page number of the damaged page is to locate register 8 at offset X38 in the system diagnostic work area (SDWA) of the SVC dump issued for the abend. The SDWA is at the beginning of the dump. Register 8 contains the address of the buffer manager (BM) block. At offset X10 in that block is the 3-byte hexadecimal number of the inconsistent page. v A third method for determining the number of the damaged page and the name of a damaged page set is to locate either the variable recording area (VRA) or the VRA diagnostic information report. In an SVC dump, the VRA begins at offset X190 in the SDWA. The VRA diagnostic information report is at the beginning of the formatted section of the dump. The page number in the dump where the formatted section begins can be found as the last entry of Print Dump Index or Table of Contents in the dump (indexed by Formatted From DSNWDMP). In the VRA, offset X02 contains the type code. If the type code is 302, the damaged page is a data page; a type code of 301 or 303 indicates an index subpage or index page. Offset X16 of the VRA contains the number of the damaged page and offset X0B contains the name of the page set involved in the inconsistency. In the VRA diagnostic information report, this information is associated with the following keys:
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

437

DO NOT COPY
XD6 XD7

Restricted Materials of IBM Licensed Materials Property of IBM

The field name is VRARRK14; it contains the type code. The field name is VRARRK15; it contains the name of the resource that is inconsistent. The page number is at offset X14 and the page set name is at offset X09 of this field.

See Figure 67 on page 193 for a sample VRA diagnostic information report. To determine which pages in a table space are logically in error, issue the command
-DISPLAY DATABASE(database-name) SPACENAM(ts-name) LPL

Running RECOVER TABLESPACE and REBUILD INDEX


Run RECOVER TABLESPACE and REBUILD INDEX by following these steps: 1. Run RECOVER TABLESPACE for inconsistencies in a table space, supplying the page set name and page number. Run REBUILD INDEX for an inconsistent index, supplying the name of the index. All indexes in a table space can be rebuiltthat is, every index on every table in the table spaceor specify a number of individual indexes (index spaces) to recover. Refer to DB2 Utility Guide and Reference for the syntax of RECOVER TABLESPACE and REBUILD INDEX. 2. Verify that the recovery was successful. Message DSNU500I indicates successful data recovery and message DSNU259I indicates a successful index rebuild. If the recovery was not successful (indicated by an error message or abend) and the inconsistency involves the DB2 directory or DB2 catalog, there could be damage to the hash or link chains in the directory or catalog. Run DSN1CHKR to determine if this is the case before attempting to resolve the inconsistency manually. Refer to DB2 Utility Guide and Reference for the syntax of DSN1CHKR. 3. If the inconsistency cannot be resolved with RECOVER TABLESPACE or REBUILD INDEX, use the SVC dump issued for the abend. Continue with Chapter 18, Resolving Inconsistencies Manually, on page 427. If an SVC dump is not available, but you know the page number involved, obtain a REPAIR, DSN1COPY or DSN1PRNT dump of the inconsistent page. The REPAIR utility can be used with the DUMP option to obtain a dump, or, for 00C90102 abends, DSN1COPY can be used with the CHECK option to obtain a dump. Refer to DB2 Utility Guide and Reference for the syntax of REPAIR, DSN1COPY and DSN1PRNT. Refer to DB2 Codes for information about inconsistencies caused by misuse of DSN1COPY. Once a dump of the page involved in the inconsistency is obtained, continue with Chapter 18, Resolving Inconsistencies Manually, on page 427. 4. When in doubt about what page to recover and a dump is not available, contact the IBM Support Center or IBM Service.

438

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies


This chapter describes how to locate a database descriptor (DBD) using the REPAIR DBD utility or in a dump, and explains how to analyze the structure of the DBD.

Using repair DBD


REPAIR DBD is an extension to the REPAIR utility. It is designed to help maintain consistent database definitions between the DB2 catalog and directory. Executing REPAIR DBD, requires SYSADM authority, SYSCTRL, or installation SYSOPR authority. REPAIR DBD provides the ability to: v Compare the definition of a database in the catalog with its definition in the directory. v Rebuild the directory from the information in the catalog. v Remove an inconsistent database descriptor (DBD) from the catalog and the directory. For more information about the REPAIR utility, see DB2 Utility Guide and Reference. DB2 must be operational when REPAIR DBD is run. Also, REPAIR assumes that the links in table spaces DSNDB01.DBD01, DSNDB06.SYSDBAUT, and DSNDB06.SYSDBASE are intact. Before executing REPAIR DBD, run the DSN1CHKR utility on these table spaces to ensure that the links are not broken. To aid in the diagnosis of an inconsistent DBD, run REPAIR DBD with the DIAGNOSE option. The output from REPAIR DBD contains two DBDs - the actual DBD on DASD and a DBD reconstructed from information in the DB2 catalog and directory. If you can obtain a copy of the inconsistent DBD with REPAIR DBD, continue with Analyzing a DBD on page 443, below. If using REPAIR DBD to obtain a copy of the inconsistent DBD is not successful, continue with Finding a DBD in a dump.

Finding a DBD in a dump


When analyzing problems involving a DBD, it is necessary to obtain an SVC dump which contains the DBD or a dump produced by REPAIR, DSN1COPY or DSN1PRNT. If you use an SVC dump which contains the DBD to analyze the inconsistency, be aware that the DBD that appears in the dump is not contained in DBDR (and DBDS) records, but rather in memory as one contiguous block or a chain of DBD blocks. Also, the area of memory which appears in the SVC dump might not include the entire DBD. To obtain a REPAIR, DSN1COPY or DSN1PRNT dump of the DBD, you need to know which DBD is involved and follow the steps under Analyzing a repair, DSN1COPY or DSN1PRNT dump on page 441. If you dont know which DBD is involved and are unable to obtain a dump, contact an IBM support center.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

439

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Analyzing an SVC dump issued by a DSNGDxxx module


When an SVC dump is issued by a DSNGDxxx module, a programming error was encountered while a DBD was being built or modified. In this case, there is nothing can be done to analyze the structure of the DBD, because the structure has not been completed. After completing the following steps, contact an IBM support center for assistance. 1. Print the dump that was issued. 2. Make a note about the SQL operations that were being performed before the dump was issued. If you cannot determine what SQL operations were going on, the description of the abend code might provide some clues; see DB2 Codes. This information might help the IBM support center understand and resolve the problem. 3. To prevent additional DDL activity from causing further damage, issue a -START DATABASE command for read-only (RO) access for the catalog database, DSNDB06:
-START DATABASE (DSNDB06) ACCESS (RO)

Analyzing an SVC dump issued by a DSNIxxxx or DSNKxxxx module


Some SVC dumps issued by DSNIxxxx or DSNKxxxx modules contain DBDs. If an SVC dump is obtained from a DSNIxxxx or DSNKxxxx module and you suspect that a DBD is involved in the problem, follow the procedure below to determine whether a DBD is included in the dump. 1. If the abend reason code is 00C90102, continue with step 2 until the DBD is found, or until it is determined that there is no DBD in the dump. If the abend reason code is 00C90101, 00C9011x, or 00C902xx, obtain the address of the DBD in the diagnostic area of the dump. Analyzing 00C9010X or 00C902XX abends on page 427 contains information about this diagnostic area; see Figure 161 on page 428. After locating the DBD in the dump, continue with Analyzing a DBD on page 443. 2. Locate the system diagnostic work area (SDWA) at the beginning of the dump. For information about locating the SDWA in a dump, see The system diagnostic work area (SDWA) on page 191. 3. In the field named SDWAGR13 (at offset X4C in the SDWA) is register 13. The value at offset XF4 from the value in register 13 is the address of the cursor table (CT). At the beginning of the CT should be the following value:
X200F

If this value is not in the dump at this location, there is no DBD in the dump. 4. Continue with step 5 or step 6 on page 441 until the DBD is found, or until it is determined that there is no DBD in the dump. 5. Using the DMPR control block to find the DBD: a. CTDMPR in the CT contains either a 0 or the address of the DMPR (dump request) control block. If the value is 0, there is no DBD in the dump. b. At the beginning of the DMPR should be the following value:
X20DFxxxC4D4D7D9

If this value is not in the dump at this location, there is no DBD in the dump.

440

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

c. At offset X40 from the start of the DMPR control block is an array of 16 8-byte elements. These elements represent the last 16 DBD requests. Each element contains a 2-byte control ID, followed by a 2-byte length field, followed by a 4-byte address field, DMPRRADR. Each DMPRRADR field contains the starting address of a requested DBD. d. At the beginning of each DBD should be the following value:
X2039xxxxC4C2C440

e. If the DBD you are looking for is not at one of the 16 DMPRRAD addresses, then continue with step 6; otherwise, continue with Analyzing a DBD on page 443. 6. Using the CTDB to find the DBD: a. CTCUBPT in the CT contains either a 0 or the address of the CUB (cursor block). If the value is 0, there is no DBD in the dump. b. At the beginning of the CUB should be the following value:
X2015xxxxC3E4

If this value is not in the dump at this location, there is no DBD in the dump. c. CUBCTDBP in the CUB contains the address of a CTDB (cursor table DBD block). At the beginning of the CTDB should be the following value:
X200DxxxxC3E3C4C2

If this value is not in the dump at this location, there is no DBD in the dump. d. CTDBPTR in the CTDB contains either 0 or the address of a DBD. If the value is 0, there is no DBD in the dump. e. At the beginning of the DBD should be the following value:
X2039xxxxC4C2C440

7. Continue with Analyzing a DBD on page 443.

Analyzing a repair, DSN1COPY or DSN1PRNT dump


If you know which DBD is involved in the problem and you dont have an SVC dump that includes the DBD, obtain a REPAIR dump of the various sections of the DBD or a DSN1COPY or DSN1PRNT dump of the data set that contains the DBD. If the data set is extremely large, you might want to dump the individual pages that the following procedures point you to, rather than expend the resources necessary to obtain a dump of the entire data set. However, dumping individual pages can involve a great deal of work. The steps in the procedure below explain how to obtain a dump of specific data areas using REPAIR. To obtain a dump of these areas using DSN1COPY or DSN1PRNT, refer to DB2 Utility Guide and Reference. If a DSN1PRNT dump is used to analyze the inconsistency, the FORMAT option should not be specified when the dump is printed. This option separates the header and anchor point area from the rest of the page, labels the individual fields of the header, and does not show the offsets from the beginning of the page, making it difficult to analyze the page. 1. DBDs are stored in the DB2 directory in the DBD01 page set (vsamcatalogname.DSNDBD.DSNDB01.DBD01.I0001.A001) in DBDR and DBDS records. The DBDR (parent) record is connected to the DBDS (child) record via a link. Locate the DBDR by following the steps below:

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies

441

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

a. The anchor point of the DBD contains the RID of the first DBDR on the hash chain. For a description of the format and contents of DBDRs, see Database descriptor records on page 497. For background information, see Database descriptors (DBDS) on page 409. Use the hashing algorithms described in Hashes on page 406 to find the page number and anchor point. b. Use the REPAIR utility with the DUMP control statement to dump the page of anchor points. (Refer to DB2 Utility Guide and Reference if you wish to use DSN1COPY or DSN1PRNT to dump the page.) The REPAIR utility expects page numbers to be given in hexadecimal, and offsets in either decimal or hexadecimal. c. After the anchor point is found, use the REPAIR utility with the DUMP control statement to dump the page specified in the first RID (if the page hasnt already been dumped). 2. Use the ID map entry value in the fourth byte of the first RID to locate the first DBDR record in the hash chain. See Record identifiers on page 381 for details on locating a record given its RID. 3. Having located the first DBDR in the chain, determine whether the DBID at offset X16 in the DBDR matches the DBID of the DBD being checked. For a description of the format and contents of a DBDR, see Database descriptor records on page 497. v If the DBID at offset X16 matches the DBID of the database involved, you have found the DBDR for the DBD in question. Go to step 4. v If the DBID of the database involved doesnt match the DBID in the DBDR, follow the hash chain (the RID at offset X06 of the DBDR) forward until you locate the DBDR with a DBID that matches the DBD in question. If a REPAIR, DSN1COPY or DSN1PRNT dump of the entire page set is not available, dump the page that the RID points to. Figure 163 illustrates the structure of DBDRs in the hash chain of an anchor point.
Anchor Point
RID of 1st DBDR on hash chain RID of last DBDR on hash chain

Hash Chain DBDR DBDR DBDR

Link Fan Set

DBDS

DBDS

DBDS

Figure 163. DBDRs in hash chain. DBDS records are linked to DBDRs to store additional DBD data.

4. Next, find the DBDS (child) records. For a description of the format and contents of DBDS records, see Database descriptor records on page 497.

442

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

5. To locate the first DBDS record in the link fan set, use the RID at offset X0E of the DBDR. A RID of 0 indicates that no child exists for this parent record. 6. Use the forward link pointer at offset X06 of the first child record to locate the second child record. 7. Continue to use the forward link pointers to locate successive child records in the link fan set. The forward link pointer of the last child record contains the RID of the parent record; the high-order bit of the last byte in the RID should be turned on. 8. After locating the parent (DBDR) and all the child (DBDS) records for the DBD, logically concatenate the data areas of these records so they can be analyzed as if they were in one contiguous section. 9. Continue with Analyzing a DBD.

Analyzing a DBD
Having located the DBD in the dump, the cause of the inconsistency can now be analyzed. For background information and illustrations of DBDs, see Database descriptors (DBDS) on page 409. A DBD in virtual storage (memory) can have many DBD sections (resulting from DDL CREATE statements). Conceptually, however, a DBD is a contiguous block of information that contains object descriptors (OBDs) for various DM objects. Each OBD has an identifier called an OBID. The OBID is an index into the OBDDMAP. The offset to a particular OBD from the beginning of the DBD header is equal to the value in OBDDMAP (OBID). For instance, if the OBID is 4, the offset to that OBD is stored at OBDDMAP(4), the fourth word of the OBDDMAP. The OBDDMAP begins at offset X48 from the start of the DBD header. Figure 164 on page 444 illustrates these relationships and can aid in analysis.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies

443

DO NOT COPY
DBD OBDDMAP X14 OBID of first file OBD DBID Offset to OBD1 DBD Header (OBDDBD) Offset to OBD2

Restricted Materials of IBM Licensed Materials Property of IBM

Element 1 Element 2

X26 OBDDFILE X04 DBD address + offset in element n of OBDDMAP OBIDn

X48 OBDDMAP

. . .
Offset to OBDn Element n

OBD (OBDFILE) X3C OBDFINX OBID of next file OBD (X00 if last in chain)

. . .
X04 DBD address + offset in element 2 of OBDDMAP OBID2

OBD (OBDPSET)

X04 DBD address + offset in element 1 of OBDDMAP

OBID1

OBD (OBDREC)

X3C

OBDREREC

OBID of next record type OBD (X00 if last in chain)

Figure 164. DBD and file OBD structure

The procedure provided explains how to go through all OBDs of all DBDs and how to analyze their structure. This process is extremely time consuming. When an error or inconsistency is found, you can choose to stop the analysis and assume that the problem is the only problem, or you can continue in an attempt to find other potential errors. If you suspect that a certain OBID is involved in the problem, you can locate the corresponding OBD directly, and use parts of the procedure below (depending on what type of OBD is involved). Begin with the first procedure, Checking the DBD header and chain of files on page 445, which explains how to start analyzing the structure of the DBD. This general procedure refers you to other more specific procedures that follow it. The procedure for checking the structure of the DBD applies to DBDs for user-defined databases only. Assume that the structure of system-defined DBDs for DB2 areas such as the catalog are correct. In the following procedures, OBD fields are referred to by name. Refer to Database descriptors (DBDS) on page 409 for an overview of the DBD structure

444

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

and the relationship between DBDs and OBDs. Refer also to Chapter 25, Database descriptor (DBD) formats, on page 503 for the formats and field descriptions of the different OBDs. Locating an OBD (given the OBID of the OBD) involves using the OBID value as an index into OBDDMAP. When doing this, mark the OBID to indicate that it is being used. When searching a chain, if an OBID is encountered that is already marked, this indicates that the OBD is pointed to by more than one other OBD; that is, it is in two chains. If the OBD is not a relationship OBD between tables in the same database, this is an error (only relationship OBDs in the same database can appear in two chains).

Checking the DBD header and chain of files


1. Check the DBD header. The control block identifier (first two bytes of the DBD header) is X2039. At offset X04 is the DBD eye-catcher. 2. Cross-check the DBD with the DB2 catalog. Issue the following SQL statement, specifying the DBID for the DBD being checked.
SELECT NAME FROM SYSIBM.SYSDATABASE WHERE DBID=dbid;

The result from this SELECT statement should be one row, and the name should equal the name found in the field named OBDDBNAM. If the number of rows returned is not 1 and/or the name does not equal the name found in OBDDBNAM, make a note of the error. 3. Check the OBD file chain (refer to Figure 155 on page 410 for an illustration). The OBDDFILE field in the OBDDBD contains the OBID of the first file OBD (OBDFILE). The OBDFINX field in the OBDFILE contains either 0 or the OBID of the next file OBD. (A zero indicates that this is the last file OBD in the chain.) For each file OBD (indicated by an OBDTYPE field that equals binary B10) on the file chain, mark it and perform the check described under Checking the files. If the file chain is damaged (that is, the OBD located is not a file OBD), make a note of the error. 4. After completing this procedure, no errors are found and if all OBIDs are marked, the structure of the DBD is probably consistent. If there are one or more unmarked OBIDs, this indicates one or more errors. 5. If any errors are found when you analyze the structure of the DBD, contact the IBM support center and describe the analysis that was done.

Checking the files


For each file OBD located, perform the following detailed check. 1. Cross-check the file OBD with the catalog. To do this, issue the following SQL statements, replacing dbid with the DBID of the DBD being checked and obid with the OBID of the file being checked.
SELECT NAME, PSID FROM SYSIBM.SYSTABLESPACE WHERE DBID=dbid AND OBID=obid;

The result should be one row, and the name and PSID should match the OBDFNAME and OBDFIPS, respectively, in OBDFILE.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies

445

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

If the number of rows returned is not 1, or if the name and PSID do not match, make a note of the error. 2. Check the data page set of the file OBD. Use the OBID contained in the OBDFIPS field to locate, check, and mark the data page set OBD (OBDPSET). The value for OBDTYPE is binary B11. To check the data page set OBD: v Determine whether the value of the OBDPSOB field matches the file OBID. v Cross-check the page set OBD with the catalog. Issue the following SQL statement, replacing obdfname with the value found in the OBDFNAME field of the file OBD, and replacing dbddbnam with the database name of the DBD being checked (that is, the value found in the DBDDBNAM field of the DBD header).
SELECT COUNT(*) FROM SYSIBM.SYSTABLEPART WHERE TSNAME=obdfname AND DBNAME=dbddbnam;

The result should be 1 if the table space is a simple table space (that is, if OBDPSANM equals 0). If the table space is partitioned, the result should be equal to the value of OBDPSANM (in OBDPS). 3. Check the OBD record chain within the file. The OBDFIREC field in the OBDFILE contains the OBID of the first record OBD (OBDREC). The OBDREREC field in OBDREC contains either a 0 or the OBID of the next record OBD. A 0 in OBDREREC indicates that this is the last record OBD. Check the record chain for the file. Mark each record OBD (indicated by an OBDTYPE field that equals binary B01) in the record chain. Perform the check described under Checking the records. If the record chain is damaged (that is, the OBD located is not a record OBD), make a note of the error. 4. Return to the procedure that referred you here.

Checking the records


For each record OBD located, perform the following detailed check. 1. If the record OBD is marked, make a note that it is a duplicate OBD (this indicates an error) and return to the procedure that referred you here. If it is not marked, continue with the next step. 2. Determine whether the OBDREFIL field of the OBDREC matches the file OBID. If not, make a note of the error and continue. 3. Cross-check the OBD with the catalog. Issue the SQL statement shown below, replacing dbid with the DBID of the DBD being checked, and obid with the OBID of the record OBD being checked.
SELECT NAME, CREATOR FROM SYSIBM.SYSTABLES WHERE DBID=dbid AND OBID=obid;

The result should be one row of output; if you receive more or less than one row, make a note of the error. 4. Issue the following SQL statement, replacing name with the NAME you received in the row of output from the previous SELECT, and creator with the CREATOR you received.
SELECT COUNT(*) FROM SYSIBM.SYSCOLUMNS WHERE TBNAME=name AND TBCREATOR=creator;

The result should be equal to the value of the OBDRENFD field of OBDREC; this field contains the number of columns in the table.

446

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

If the result is not as described above, make a note of the error. 5. Check the index chain of the record. The OBDRECHI field of the OBDREC contains the OBID of the first index OBD (OBDFS). The OBDFSFSC field of the OBDFS contains either 0 or the OBID of the next index OBD. 0 indicates that this is the last index OBD. Check the index fan set chain. Mark each index fan set OBD (indicated by an OBDTYPE field that equals B00) defined on the record. Perform the check described under Checking the indexes on page 453. If the index chain is damaged (that is, the OBD located is not an index type OBD), make a note of the error. 6. Check the referential integrity (RI) relationship chains of the record. a. Parent record: The OBDRELPA field of the OBDREC contains the OBID of the first RI relationship OBD (OBDFS) in which the record is a parent. The OBDFSFSP field of the OBDFS contains either a 0 or the OBID of the next RI relationship OBD in which the record is a parent. A 0 indicates that this is the last RI relationship OBD. Be sure that the record that is a parent in an RI relationship has a primary key and a primary index. The OBDRDEF field in the OBDREC equals binary B0 if a primary key and index exist. b. Dependent record: The OBDRELCH field of the OBDREC contains the OBID of the first RI relationship OBD (OBDFS) in which the record is a child. The OBDFSFSC field of the OBDFS contains either a 0 or the OBID of the next relationship OBD in which the record is a child. A 0 indicates that this is the last RI relationship OBD. 7. Check the RI relationship fan set chains. Mark each RI relationship fan set OBD (indicated by an OBDTYPE field that equals binary B00 and an OBDFSDC field that equals binary B1) defined on the record. Perform the checks described under Checking the RI relationships on page 448 If the RI relationship chain is damaged (that is, the OBD located is not an RI relationship-type OBD), make a note of the error. 8. Check the auxiliary relationship chains. To do this, examine the first and second extensions to the OBDREC. Find the first extension (OBDRX) by adding the offset in OBDREXTO to the address of the OBDREC. Find the second extension (OBDRX2) by adding the offset in OBDREXT2 (which is in OBDRX) to the address of OBDRX. If OBDRXLOB (in OBDRX) equals B1 and OBDRXILO (in OBDRX) equals B0, then OBDRX2RA (in OBDRX2) should contain the OBID of the first auxiliary relationship OBD (OBDRA) for the table. The OBDANEXT field of the OBDRA contains either 0 or the OBID of the next OBDRA. Perform the checks described in Checking the auxiliary relationships on page 450. If the relationship chain is damaged (that is, the OBD located is not an auxiliary relationship-type OBD), make a note of the error. 9. Return to the procedure that referred you here.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies

447

DO NOT COPY
External Representation:

Restricted Materials of IBM Licensed Materials Property of IBM

T1 R1 Parent of T4 and T5 Dependent of T1 R3

T3 R2

T4

T5

Internal Representation: T3 OBDREC

. .

R2 OBDFS R3 Relationship Fan Sets OBDFSFSP OBDFSPAR OBDDCIP OBDFS OBDFSFSP OBDFSPAR OBDDCIP 0 0 Primary Index Fan Set 0

OBDRELPA OBDRELCH

R1
OBDFS OBDFSFSC OBDDCIF OBDFSCHI

OBDFS OBDFSPAR

A parent record type OBD is incomplete if there is no primary index on the parent key. A dependent record type OBD might or might not have an index on a foreign key.

Figure 165. Example of an RI relationship fan set chain

Checking the RI relationships


1. Figure 165 illustrates the structure of relationship fan set chains. Refer to this figure and Figure 155 on page 410 to perform the following checks. These checks apply to informational referential constraints as well as enforced referential constraints. a. For each relationship fan set OBD (OBDFS): v If OBDDCCHR is non-zero, then the dependent in the relationship resides in a different database than the parent. The DBID of the other database is in the OBDDCCHD field of this relationship fan set. Make a note that when checking the relationship chains for database OBDDCCHD, you should ensure that the OBDDCPAR field contains the OBID of this relationship fan set, and that OBDDCPAD contains the DBID of this database.

448

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v Check that OBDFSPAR is equal to the OBID of the parent record type OBD (OBDREC). The OBID of OBDREC is stored in OBDRECID. v If OBDRDEF is equal to binary B0 OBDREC, then OBDDCIP (in OBDFS) contains the OBID of the index fan set for the primary index. Verify the existence of that index fan set. If OBDRDEF is equal to binary B1 in OBDREC, then the definition of OBDREC is incomplete (there is no primary index on the primary key) and OBDDCIP is meaningless. v Cross-check the OBD with the catalog. Issue the SQL statement shown below, replacing DBID with the DBID of the DBD being checked, and OBID with the OBID of the relationship.
SELECT R.RELNAME, R.REFTBCREATOR, R.REFTBNAME FROM SYSIBM.SYSRELS R, SYSIBM.SYSTABLES T WHERE R.REFTBCREATOR = T.CREATOR AND R.REFTBNAME = T.NAME AND T.DBID = dbid AND R.RELOBID1 = obid

This returns the name of the relationship with respect to the parent table. b. Relationship chain in which record is a dependent For each relationship fan set OBD (OBDFS): v If OBDDCPAR is non-zero, then the parent in the relationship resides in a different database than the dependent. The dbid of the other database is in the OBDDCPAD field of this relationship fan set. Make a note that when checking the relationship chains for database OBDDCPAD, you should ensure that the OBDDCCHR field contains the obid of this relationship fan set, and that OBDDCCHD contains the dbid of this database. v Check that OBDFSCHI is equal to the OBID of the dependent record type OBD (OBDREC). The OBID of OBDREC is stored in OBDRECID. v If OBDDCIF is not equal to zero, then it contains the OBID of the index fan set on the foreign key. Verify the existence of that index fan set. If OBDDCIF is equal to zero, then there is no index on the foreign key. v Cross-check the OBD with the catalog. Issue the SQL statement shown below, replacing dbid with the DBID of the DBD being checked, and OBID with the OBID of the relationship.
SELECT R.RELNAME R.CREATOR, R.TBNAME FROM SYSIBM.SYSRELS R, SYSIBM.SYSTABLES T WHERE R.CREATOR = T.CREATOR AND R.TBNAME = T.NAME AND T.DBID = dbid AND R.RELOBID1 = obid

This returns the name of the relationship with respect to the dependent table. 2. To check the number of foreign keys, issue the following SQL statement:
SELECT COUNT(*) FROM SYSIBM.SYSFOREIGNKEYS WHERE CREATOR = creator AND RELNAME = relname

To check the number of primary keys, issue:


SELECT COUNT(*) FROM SYSIBM.SYSINDEXES I, SYSIBM.SYSKEYS K

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies

449

DO NOT COPY
WHERE AND AND AND I.UNIQUERULE = P I.TBCREATOR = reftbcreator I.TBNAME = reftbname I.CREATOR = K.IXCREATOR

Restricted Materials of IBM Licensed Materials Property of IBM

3. Return to the procedure that referred you here.

Checking the auxiliary relationships


For each auxiliary relationship OBD (OBDRA): 1. Check that the OBD located is an OBDRA. For an OBDRA, the first three bits of OBDFLAGS are B010 and OBDATYP3 is B1. If these fields do not contain the correct values, return to the procedure that referred you here. 2. Check that the OBDABT contains the OBID of the record OBD for the base table. If the base table space is partitioned, execute the following SQL statement, replacing dbname with the name of the database and tsname with the name of the base table space.
SELECT COUNT(*) FROM SYSIBM.SYSTABLEPART WHERE DBNAME = dbname AND TSNAME = tsname;

The result should be equal to the value in field OBDAPARTN of OBDRA. This field contains the number of partitions in the base table space. 3. If the base table space is partitioned, there is an OBDAPART section for each partition. Element i in the OBDAPART array corresponds to partition i of the base table space. If the base table space is not partitioned, there is a single OBDAPART section. Each OBDAPART section contains: a. OBDAAT (OBID of the OBDREC for the auxiliary table) b. OBDAPS (OBID of the OBDPS for the LOB table space) c. OBDAFS (OBID of the OBDFS for the auxiliary index) d. OBDAFI (OBID of the OBDFILE for the LOB table space) e. OBDAIPS (OBID of the OBDPS for the auxiliary index) 4. Use the following queries to cross-check the values in the OBDAPART fields with the catalog. v Replace column with the value in field OBDACOLNO (the column number) in OBDRA. v Replace obid with the value in OBDAAT. v Replace obid1, obid2, ... obidn with the values in OBDAAT. v To cross-check the value in OBDAAT with the catalog, execute one of the following SQL statements. In these SQL statements, make the following changes: Replace column with the value in field OBDACOLNO (the column number) in OBDRA. Replace obid with the value in OBDAAT. Replace obid1, obid2, ... obidn with the values in OBDAAT. For a nonpartitioned base table space, execute this statement:
SELECT A.AUXTBNAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.OBID = obid;

450

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

The value of A.AUXTBNAME should be the name of the auxiliary table created for column A.COLNAME in base table A.TBNAME. For a partitioned base table space, execute the following query:
SELECT A.AUXTBNAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.OBID IN (obid1, obid2, ..., obidn);

The values of A.AUXTBNAME should be the names of the auxiliary tables created for column A.COLNAME in base table A.TBNAME. v To cross-check the value in OBDAPS with the catalog, execute one of the following SQL statements. In these SQL statements, make the following changes: Replace column with the value in field OBDACOLNO (the column number) in OBDRA. Replace obid with the value in OBDAPS. Replace obid1, obid2, ... obidn with the values in OBDAPS. For a nonpartitioned base table space, execute this SQL statement:
SELECT S.NAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSTABLESPACE S WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.TSNAME = S.NAME AND S.PSID = obid;

The value of S.NAME should be the name of the LOB table space associated with A.COLNAME in base table A.TBNAME. For a partitioned base table space, execute this SQL statement:
SELECT S.NAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSTABLESPACE S WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.TSNAME = S.NAME AND S.PSID IN (obid1, obid2, ... , obidn);

The values of S.NAME should be the names of the LOB table spaces associated with A.COLNAME in base table A.TBNAME. v To cross-check the value in OBDAFS with the catalog, execute the following SQL statements. In these SQL statements, make the following changes: Replace column with the value in field OBDACOLNO (the column number) in OBDRA. Replace obid with the value in OBDAFS. Replace obid1, obid2, ... obidn with the values in OBDAFS. For a nonpartitioned base table space, execute this SQL statement:

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies

451

DO NOT COPY
SELECT I.NAME, A.AUXTBNAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSINDEXES I WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.NAME = I.TBNAME AND I.OBID = obid;

Restricted Materials of IBM Licensed Materials Property of IBM

The value of I.NAME should be the name of the auxiliary index on table A.AUXTBNAME associated with A.COLNAME in base table A.TBNAME. For a partitioned base table space, execute this SQL statement:
SELECT I.NAME, A.AUXTBNAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSINDEXES I WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.NAME = I.TBNAME AND I.OBID IN (obid1, obid2, ... , obidn);

I.NAME should be the names of the auxiliary indexes on tables A.AUXTBNAME and associated with A.COLNAME in base table A.TBNAME. v To cross-check the value in OBDAFI with the catalog, execute one of the following SQL statements. In these SQL statements, make the following changes: Replace column with the value in field OBDACOLNO (the column number) in OBDRA. Replace obid with the value in OBDAFI. Replace obid1, obid2, ... obidn with the values in OBDAFI. For a nonpartitioned base table space, execute this SQL statement:
SELECT S.NAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSTABLESPACE S WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.TSNAME = S.NAME AND S.OBID = obid;

The value of S.NAME should be the name of the LOB table space associated with A.COLNAME in base table A.TBNAME. For a partitioned table space, execute this SQL statement:
SELECT S.NAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSTABLESPACE S WHERE C.NAME = A.COLNAME AND C.COLNO = column

452

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
AND T.NAME = A.AUXTBNAME AND T.TSNAME = S.NAME AND S.OBID IN (obid1, obid2, ... , obidn);

The values of S.NAME should be the names of the LOB table spaces associated with A.COLNAME in base table A.TBNAME. v To cross-check the value in OBDAIPS with the catalog, execute the following SQL statements. In these SQL statements, make the following changes: Replace column with the value in field OBDACOLNO (the column number) in OBDRA. Replace obid with the value in OBDAIPS. Replace obid1, obid2, ... obidn with the values in OBDAIPS. For a nonpartitioned base table space, execute this SQL statement:
SELECT A.COLNAME, I.NAME, A.AUXTBNAME, T.NAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSINDEXES I WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.NAME = I.TBNAME AND I.ISOBID = obid;

The value of I.NAME should be the name of the auxiliary index on table A.AUXTBNAME associated with A.COLNAME in base table T.NAME. For a partitioned base table space, execute this SQL statement:
SELECT I.NAME, A.AUXTBNAME, A.COLNAME, A.TBNAME FROM SYSIBM.SYSCOLUMNS C, SYSIBM.SYSAUXRELS A, SYSIBM.SYSTABLES T, SYSIBM.SYSINDEXES I WHERE C.NAME = A.COLNAME AND C.COLNO = column AND T.NAME = A.AUXTBNAME AND T.NAME = I.TBNAME AND I.ISOBID IN (obid1, obid2, ... , obidn);

The values of I.NAME should be the names of the auxiliary indexes on tables A.AUXTBNAME associated with A.COLNAME in base table A.TBNAME. 5. Return to the procedure that referred you here.

Checking the indexes


For each index fan set OBD located, perform the following detailed check: 1. If the index OBD is marked, make a note that it is a duplicate OBD (this indicates an error) and return to the procedure that referred you here. If it is not marked, continue with the next step. 2. Determine whether the OBDFSCHI field of the OBDFS matches the record OBID. If not, make a note of the error and continue. 3. Cross-check the OBDFS in the DBD with the DB2 catalog. Issue the SQL statement shown below, replacing dbid with the DBID of the DBD being checked, and obid with the OBID of the index fan set.
SELECT NAME, CREATOR FROM SYSIBM.SYSINDEXES WHERE DBID=dbid AND OBID=obid;

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 20. Diagnosing DBD Inconsistencies

453

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The result should be one row returned. If more or less than one row is returned, make a note of the error. 4. Issue the SQL statement shown below, using the NAME you received from the previous SELECT and the CREATOR you received.
SELECT COUNT(*) FROM SYSIBM.SYSKEYS WHERE IXNAME=name AND IXCREATOR=creator;

The result should be equal to the value of OBDKNFDO in OBDFS; this field contains the number of columns in the key. If the result is not as described, make a note of the error. 5. Use the OBID contained in the OBDIPSET field to locate, check, and mark the index page set). OBD (OBDPSET The value for OBDTYPE is binary B11. To check the index page set OBD: v Determine whether the OBDPSOB field matches the index OBID. v Compare the value of the OBDPSET field in the DBD to values in the SYSIBM.SYSINDEXPART catalog table. Issue the SQL statement shown below, replacing the NAME returned in step 3 on page 453 and the CREATOR returned in step 3 on page 453.
SELECT COUNT(*) FROM SYSIBM.SYSINDEXPART WHERE IXNAME=name AND IXCREATOR=creator;

The result should equal the value of OBDPSANM in OBDPS if the index is a clustering index for a partitioned table space. If the index is not a clustering index for a partitioned table space, the result should be 1. If the results are not as described, make a note of the error. v Return to the procedure that referred you here.

Resolving the inconsistent DBD


After following the procedures above and comparing the SVC dump of the DBD (the DBD as it appears in memory) to the dump produced by REPAIR, DSN1COPY or DSN1PRNT (the DBD as it appears in permanent storage), probable cause of the inconsistent DBD is significantly narrowed down. At this point, you should call the IBM support center and describe the analysis that was done. Do not attempt to resolve the problem with the REPAIR utility. The IBM support center representative requires the dumps you have worked with to resolve the inconsistent DBD.

454

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 21. Using the DSN1CHKR Utility


The DSN1CHKR utility detects and aids in the repair of broken DB2 catalog and directory links. DSN1CHKR does not repair links, but, if used properly, determines which links are broken and assists in determining how to repair them. This chapter outlines a series of steps for using DSN1CHKR. This outline is not a definitive guide for using the utility, but gives a general overview of the tool.

Step 1. Determining if broken links or orphans exist


The primary purpose of DSN1CHKR (link checker) is to determine if any broken links exist. To do this, run the link checker with the FORMAT or DUMP option only. Running in this mode, the link checker finds every link in the specified table space and indicates if any links are broken and if any orphans (records not part of a link) exist. By using the FORMAT or DUMP option, the link checker also prints each page in which an inconsistency (broken link or orphan) was found. If you are not familiar with the structure of DB2 data pages, it is recommended that the FORMAT option be used. In this outline, assume the FORMAT option is specified. After running DSN1CHKR, if broken links or orphans are found, proceed to Step 2. Refer to DB2 Utility Guide and Reference for more information on running DSN1CHKR.

Step 2. Using the diagnostic messages


At this point, the diagnostic messages have identified one or more broken links and they can be used as a starting point in determining the problem. Listed below are the most common messages along with associated explanations. Before proceeding, if you are unfamiliar with the structure of DB2 data pages, it is recommended that you study Chapter 15, Data organization, on page 347 and Analyzing a data page on page 431. Refer to DB2 Messages for a complete list of messages for DSN1CHKR. v DSN1802I RING/LINK CHAIN BROKEN - type RID: Specifies what the anchor or parent (type) RID is for the chain that is broken. v DSN1803I PARENT RID: RID for the immediate parent record of a broken link or ring. The difference between the parent RID in this message and the parent RID in the previous message is illustrated by the following example (refer to the DSNDB06.SYSDBASE diagram in Chapter 26, Directory and Catalog Diagrams, on page 545). If a broken link was detected in SYSCOLUMNS, then the PARENT RID would be from SYSTABLES, but the RING/LINK CHAIN BROKEN PARENT RID would be from SYSTABLESPACE. v DSN1804I CURRENT RID: This is the RID corresponding to the data record in which an inconsistency was detected. v DSN1805I PREVIOUS IN CHAIN: This is the RID corresponding to the data record which points to the inconsistent record. The forward pointer of the data record for this RID is equal to the value of CURRENT RID. v DSN1806I IDMAP ENTRY entry-no IN PAGE page-no IS IN ERROR: IDMAP entry is invalid. Most likely a RID has referred to an ID for a record that has been turned into a hole. However, it is possible that the IDMAP entry really is valid but that a bad RID references it. For example, suppose an error occurred while a chain was being deleted which left some of the records in the chain
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

455

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

behind. Then some of those records would have RIDs that referred to IDMAP entries that were now holes instead of valid records. This results in an IDMAP entry error message, but the IDMAP entries really should be holes. It is the RIDs that are incorrect. v DSN1812I ORPHAN ID = orph-id ID ENTRY = entry-val FOUND IN PAGE page-no: Record is an orphan so it does not belong to a valid chain. Determine if the record should belong to one of the valid chains or if the record should be eliminated. Refer to Step 5 for assistance in making this determination.

Step 3. Determining the table and record format given the previous rid
The diagnostic messages contain information that describes the broken link. The CURRENT RID message shows where the break point occurred, but most likely this RID does not point to a valid record. There is a good chance that the current RID points to a record marked as a hole. Therefore, the current RID cannot be used to determine the table and record format. However, the previous RID (the PREVIOUS IN CHAIN message) can be used to determine the table that contains the broken link and the format of the data record corresponding to the RID. First, locate the data page that contains the previous record. By matching the page number portion of the RID (the first 3 bytes of the RID is the page number) with the PGNUM field in the data page headers, the page can be located in the list of data pages printed by DSN1CHKR. Next, locate the data record. Using the ID portion of the RID, the data record can be found in one of two ways. First, the ID can be used to find the offset to the record by finding the IDMAP slot which corresponds to the ID value. The value in this slot is the offset from the beginning of the page to the data record. The second method of finding the data record is to scan the data page looking at the PGSBID field in each record until a value equal to the ID is found. This field contains the number of the IDMAP slot which points to that record. Once the data record is located, use the tables and diagrams listed in Physical Formats and Diagrams to find the table and record format. In the data record, the OBID of the table to which it belongs is in the PGSOBD field of the record. In Chapter 26, Directory and Catalog Diagrams, on page 545, there is a diagram of each of the catalog and directory table spaces (page sets). Find the diagram of the table space on which DSN1CHKR was run. This diagram contains each of the tables in the table space and shows the corresponding relationships. Listed under the name of each of the tables is the OBID of the table in both decimal and hex. Matching the PGSOBD value of the record with the hex representation of the OBIDs in the diagram determines the table to which the record belongs. The format of the record can now be found by looking for the table name in Chapter 27, Catalog formats, on page 569, depending on the type of table. The record format describes the fields of the record, in particular, the forward, backward and child pointers. With these pointers, follow the links and hopefully find enough information to repair the link. The preceding method was used to find the table and record format corresponding to the previous RID in the chain. However, this method can also be used to determine the table and record format for any RID that points to a valid record.

456

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Step 4. Using the map option


Before continuing, refer to DB2 Utility Guide and Reference to become familiar with the DSN1CHKR MAP option and its parameters. The MAP option is used to print the records of a link given a starting RID. Given the format of the records that contain the chain, the MAP option can be used to follow any of its pointers (RIDs). DSN1CHKR shows where the link is broken. However, the records that belong to the broken link can be scattered throughout the page or on different pages. Use the MAP option to specify a starting RID, and it follows the pointers and prints the records as it traverses the links. Use the record format found in Step 3 to find the pointer displacements into the record, then specify the forward, backward, or child pointer to follow. There are four parameters for this option to locate the starting RID: ANCHOR, RID, HASH, and PAGE. Use the ANCHOR or HASH parameter only for hashed table spaces when the starting RID is a parent. The PAGE and RID parameters can be used for both hashed and non-hashed table spaces. Use the diagrams to determine if a table space is hashed.

Step 5. Obtaining additional information from orphans


Another source of information about broken links is orphans. Orphans are data records that do not appear to be part of a link structure. Since DSN1CHKR (with the exception of the MAP option) only follows links in the forward direction, if a link is broken, a number of records are flagged as orphans, whether the backward links are intact or not. Therefore, orphans are a good place to look for clues on repairing the broken links. There are a number of things to look at depending on the break points. Here are some of the more common strategies: 1. Look for orphans with the same PGSOBD value as the records of the broken link. These records might be from the same table and if so, can provide some clues to fixing the problem. 2. Check if the orphans contain RIDs that point to records that belong to the broken link. If this is the case, there is a good chance that the orphans were originally part of the link. 3. If the break occurred between a relation (parent and child link), look for records that have relationships. Use these three strategies as follows: Use the information in the orphan messages (DSN1812I) to locate the data records flagged as orphans. Then use the first strategy to find the orphans that are potentially from the same table as the previous RID. If orphans from the same table are found, then use the second strategy to check if any of those orphans contain RIDs that point to either the current RID or the parent RID. If RIDs are found that satisfy this criteria, use the MAP option to follow the forward and backward pointers of those orphans. Hopefully, this shows the missing part of the link or at least provides some clues as to how the orphans are related to the link. If unsuccessful in finding orphans from the same table, then the third strategy can be applied. Use the information provided in Step 3 to determine if there is a

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 21. Using the DSN1CHKR Utility

457

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

relationship between the records of the broken link and any of the orphan records. If so, use the second strategy in conjunction with the MAP option to determine if the orphans are part of the link. This guide to using DSN1CHKR should provide some assistance in repairing broken links. All data inconsistency problems (broken links) are unique and therefore must be dealt with on a case by case basis. As with any tool, its effectiveness is largely based on knowledge of the area in which the tool is to be applied and knowledge of the tool itself. Therefore, it is suggested that before using DSN1CHKR to aid in data repair, you should read all of the material referred to in this chapter and become familiar with the various DSN1CHKR options.

458

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 6. Physical Formats and Diagrams

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

459

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

460

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 22. File Page Set Formats


This chapter contains the various types of page formats that exist in file page sets in DB2 for z/OS.

File page set header page


Table 71. File page set header page LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... ..11 10.. ..01 10.. 0C 0C 0E 10 HPGOBID HPGDBID HPGPSID HPGHPREF CHAR(4) CHAR(2) CHAR(2) FIXED(32) DESCRIPTION Flag byte. Page was read with an I/O error. Page was modified by REPAIR utility. Page was not modified by REPAIR utility. Last byte of page = XD5.1 Last byte of page = XC5.1 Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Header page in segmented page set. Header page in nonsegmented page set. Full page set ID (HPGDBID + HPGPSID). Internal DBID of the database in which this page set is defined. Internal OBID (within DBID) of the descriptor for this page set (also known as PSID in SYSIBM.SYSTABLESPACE). Current high-used page in a page set or partition. Updated at physical close, pseudo-close, and the down-level detection checkpoint interval. The high-used RBA returned by VSAM media manager is checked against this value at a physical open of the page set or partition. If the value from VSAM media manager is lower, a resource unavailable error occurs. Catalog release level of the DB2 catalog. The field is reserved for all table spaces but only used for the DSNDB01.DBD01 table space in the directory. Release mark. Set to L when data compression dictionary is loaded into the table space. Set to blank when the dictionary is deleted. Catalog inter-release change indicator (for directory DBD01 only). RBA to which RECOVER utility has recovered page set or partition. DB2 subsystem name. Internal identifier of the table file descriptor, also known as OBID in SYSIBM.SYSTABLESPACE.

14

HPGCATRL

CHAR(1)

15 16 17 18 28 2C

HPGREL HPGZLD HPGCATV HPGTORBA HPGSSNM HPGFOID

CHAR(1) CHAR(1) CHAR(1) CHAR(6) CHAR(4) CHAR(2)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

461

DO NOT COPY
Table 71. File page set header page (continued) LOC 2E 30 NAME HPGPGSZ HPGSGSZ SIZE FIXED(16) FIXED(15) DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

Page size in multiples of 4. X1000 for 4K page size. X8000 for 32K page size. The number of pages in each segment of a segmented table space. Zero if the table space is not segmented. It is also known as SEGSIZE in SYSIBM.SYSTABLESPACE. Number of partitions in a partitioned table space. Page number of first dictionary page or 0 if no dictionary. Valid if HPGLGOB=B0. Number of 4 KB memory pages required to store dictionary. Table counter: v = 0 if there is no table in this table space v = 1 if there is exactly one table in this table space since it first became a non-zero value v = 2 if there is more than one table in this table space v After the counter has been set to 2, it resets to 0 if all the tables in this table space are dropped.

32 34 37 38

HPGPARTN HPGZ3PNO HPGZNUMP HPGTBLC

FIXED(15) CHAR(3) FIXED (8) FIXED(15)

3A 3C 40

HPGROID HPGZ4PNO HPGMAXL

CHAR(2) CHAR(4) FIXED(15)

Internal identifier of the table if HPGTBLC = 1. (Not applicable if HPGTBLC is not equal to one.) Page number of the first dictionary page or 0 if no dictionary. Valid if HPGLGOB=1b. Maximum record length (not including record prefix). This field is only applicable if HPGTBLC is equal to 1, that is, a single-table table space. Number of columns in the table. This field is only applicable if HPGTBLC is equal to 1, that is, a single-table table space. Flag bytes. EDITPROC indicator. This flag is applicable if HPGTBLC = 1; that is, there is one table in the table space. v ON means that there is an EDITPROC. v OFF means that there is not an EDITPROC. v ON means the data set is user defined. v OFF means the data set is storage group defined. Reserved. ON means full log records are generated. (Log records are generated in CDC format.) ON means page set is defined as LARGE. ON means log records are counted. ON means this page set is a LOB table space page set ON means that this data set is EA-enabled. ON means that migration to ENFM is successful. ON means that the pageset or partition are in reordered row format. ON means that the table space is partitioned by range universal. ON means that the table space is partition-by-growth. Unused.

42 44

HPGNUMCO HPGFLAGS HPGEDITP

FIXED(15) FIXED(16) ...1 ....

HPGUSERD

.... 1... .... .1..

HPGFLOG HPGLGOB 45 HPGCLOG HPGLOBPS HPGeaLRG HPGSPT01 HPGRRFmt HPGPBRUTS HPGPBGUTS

.... ..1. .... ...1 1... .... .1.. .... ..1. .... ...1 .... .... 1... .... .1.. .... ..1. .... ...1

| 46 | 47 | 48 | 49 | | 4A | 4B | 4C

462

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 71. File page set header page (continued) LOC 4D 50 5A 62 6A 70 HPGCONTM HPGSGNAM HPGVCATN HPGRBRBA HPGAPP2 NAME SIZE CHAR(2) CHAR(10) CHAR(8) CHAR(8) CHAR(6) CHAR(0) DESCRIPTION Reserved. Timestamp of setting the consistency flag. This field is updated when HPGPSCON is set to ON or OFF. Storage group name if it is a stogroup defined data set, that is, if HPGUSERD = OFF. VSAM catalog name for data set. Recover base RBA updated by the buffer manager. For data sharing, the LRSN is updated. Hook for appendages dependent on page set type.

HPGPART2: Area of page for information dependent on type of page set. The last 24 bytes of HPGPART2 are defined for index page sets only. 70 CHAR(256) HPGCATH CHAR(1) CHAR(255) 190 HPGAPP3 CHAR(0) Hook for HPGPART3 information. Overlay page set-specific mappings here, 256 byte maximum. Highest level HPGCATV has been reached

| |

HPGPART3: Area of page for information common to all page set types. 190 196 19C 1A2 1B2 1C2 1D2 HPGLEVEL HPGPLEVL HPGCLRSN HPGSCCSI HPGDCCSI HPGMCCSI HPGFLAG2 HPGASCII CHAR(6) CHAR(6) CHAR(6) FIXED(16) FIXED(16) FIXED(16) FIXED(8) 1... .... .1.. .... ..11 1111 1DA 1E2 HPGEpoch HPGRBLP FIXED(8) FIXED(16) CHAR(6) CHAR(6) HPGDSSZ HPGAPP4 FIXED(32) CHAR(0) Level ID (down-level detection). Previous level ID (down-level detection). Image copy bit, update LRSN. If HPGASCI=YES, CCSID for the single byte character set. If HPGASCI=YES, CCSID for the double byte character set. If HPGASCI=YES, CCSID for the mixed character set. Flag byte. Yes, if the table space is ASCII. Yes, if the table space is Unicode. If both flags above are No, then the table space is EBCDIC. Unused. Unused. Epoch number. Base log point for system-level point-in-time recovery. Unused. Dataset size in kilobytes Hook for HPGPART4 information.

| | |

HPGUNICO

| | |

1F2 1F8 1FE 2BE

HPGPART4: Area of page for information that is dependent on the page set type. 2BE BB0 HPGAPP5 CHAR(2496) CHAR(0) Overlay page set-specific mappings here, 2496 byte maximum. Hook for future appendages.

| | |

HPGPART5: Area of page for information that is dependent on the page set type. 2BE 540 HPGAPP6 CHAR(640) CHAR(0) Overlay page set-specific mappings here, 640 byte maximum. Hook for future appendages.

HPGPART4 overlay HPGDVI: Data versioning information. HPGDHDR Information in front of hash buckets.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

463

DO NOT COPY
Table 71. File page set header page (continued) LOC NAME HPGDNUMB SIZE FIXED(8) CHAR(1) DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

Number of hash buckets: 1 for a partitioned page set. 31 for a nonpartitioned page set. Unused. Number of collision entries: 256 for a partitioned page set. 8 for a nonpartitioned page set. If the table space is segmented and not universal, the first segment for system pages. If the table space is segmented and not universal, the last segment for system pages. Unused. Hash buckets. HPGDNUMB contains the number of entries. Information in front of collision entries.

| | | | | | |

HPGDNUMC HPGDFSG HPGDLSG

FIXED(15) FIXED(31) FIXED(31) CHAR(4)

HPGDBKT HPGDBHD HPG1BEYE CHAR(1) 1... .... .111 1111 CHAR(7) HPGDCAPP

Bucket eyecatcher. ON if the bucket overflowed. Unused. Unused. Collision entries. HPGDNUMC contains the number of entries.

HPG1BKT: Hash bucket definition. This is the definition of one instance of HPGDBKT. HPG1BHD Information in front of collision entries. CHAR(1) 1... .... .111 1111 CHAR(7) Bucket eyecatcher. ON if the bucket overflowed. Unused. Unused. Collision entries. HPGDNUMC contains the number of entries. CHAR(1) HPGDOBID HPGDV HPGDRID CHAR(2) FIXED(8) CHAR(5) Reserved. Record OBID. Version number. RID of row with OBDREC.

HPG1BEYE

HPGDCOLL

| HPG1COLL: Collision entry definition. This is the definition of one instance of HPG1COLL. | | | | | | | | | | |
HPGSIOBI HPGSIBKT HPGSIBEYE CHAR(1) CHAR(1) CHAR(2) Bucket eyecatcher to aid dump read. Unused. Record OBID. HPG1OBID HPG1V HPG1RID CHAR(1) CHAR(2) FIXED(8) CHAR(5) Unused. Record OBID. Version number. RID of the OBID row.

| HPGPART5 overlay HPGSI: Segment information for universal table space.


HPGSIHD HPGSISP CHAR(4) CHAR(16) Information in front of hash buckets . For version 9 and later use (system page number). Unused.

464

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 71. File page set header page (continued) LOC NAME HPGSIFSG HPGSICSG HPGSILSG SIZE FIXED(31) FIXED(31) FIXED(31) DESCRIPTION SEGNUM of the first segment for a table. SEGNUM of the current segment for a table. SEGNUM of the last segment for a table.

| | | | | | | | | | |
Note::

HPGSIBKT: One SI bucket definition. HPGS1BEYE CHAR(1) CHAR(1) HPGS1OBI HPGS1FSG HPGS1CSG HPGS1LSG CHAR(2) FIXED(31) FIXED(31) FIXED(31) CHAR(4) Bucket eyecatcher to aid dump read. Unused. Record OBID. SEGNUM of the first segment for a table. SEGNUM of the current segment for a table. SEGNUM of the last segment for a table. Unused.

1. In an incremental image copy of a file page set header page: v If the fourth bit of PGCOMB is 1, the last byte of the page is XE5. v If the fourth bit of PGCOMB is 0, the last byte of the page is XF8.

Segmented file page set space map page


Table 72. Segmented file page set space map page header LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... ...0 .... ...1 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .0.. .... ..11 0... .... .0.. 0C 0E 10 12 14 18 SEGNUM SEGSIZE SEGFREE SEGENT SEGLENT FIXED(15) FIXED(15) FIXED(15) FIXED(15) FIXED(32) CHAR(4) DESCRIPTION Flag byte Page was read with an I/O error. Last byte of page = XC5. Last byte of page = XD5. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. No if page is in file page set. (Must be no.) Page is a segmented file page set space map page. Always zero for a file page set. Number of segment entries in the space map. Segment size. Number of free segment entries. Lowest possible free segment entry (relative segment entry number). Last formatted page (relative page number) within the scope of the space map page. Reserved.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

465

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Between the page header and the page trailer, the space map page is subdivided into two areas. The first area contains a fixed number (SEGNUM) of segment entries, beginning at offset X1C. The second area is reserved for the modified page indicators, following the last segment in the page. The format of a segment entry follows:
Table 73. Segmented file page set space map page segment entry LOC 00 NAME SEGNEXT SIZE FIXED(32) DESCRIPTION Absolute segment number of the next segment in the chain. This value is 0 if the segment is the last segment. This value is valid if SEGALLC=YES. OBID of the record type to which this segment is allocated. If this value is 1, the segment contains system pages. The value is valid if SEGALLC=YES. Flag byte. Values: v YES if the segment entry is allocated. v NO if the segment entry is free. Values: v YES if the segment entry is allocated as the first segment on the segment chain. v No otherwise. Start of 4-bit entries, one for each page in the segment.

04

SEGOBID

FIXED(16)

06

SEGFLAG SEGALLC

BIT(8) 1... ....

SEGFIRST

.1.. ....

07

SEGFULL

CHAR()

Nonsegmented or partitioned file page set space map page


Table 74. Nonsegmented or partitioned file page set space map page header LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...0 .... ...1 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .001 0000 0C 10 14 FOSMNENT FOSMLENT CHAR(4) CHAR(4) CHAR(6) FOSMANCH CHAR(0) DESCRIPTION Flag byte Page was read with an I/O error. Page was modified by REPAIR utility. Page was not modified by REPAIR utility. Last byte of page = XC5. Last byte of page = XD5. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Page is a nonsegmented file page set space map page. Number of entries in the space map. Last used entry in the map. Reserved. Anchor for space map entries.

| 1A

466

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 75. Nonsegmented or partitioned file page set space map for a 4 KB page that is not in a DB2 catalog page set LOC 1A A9C NAME FOSMANCH SIZE A82 541 DESCRIPTION Beginning of the space map Modified-page indicators

Table 76. Nonsegmented or partitioned file page set space map for a 4 KB page that is in a DB2 catalog page set LOC 1A A9D NAME FOSMANCH SIZE A83 542 DESCRIPTION Beginning of the space map Modified page indicators

Table 77. Nonsegmented or partitioned file page set space map for an 8 KB page LOC 1A 1546 NAME FOSMANCH SIZE 152C A96 DESCRIPTION Beginning of the space map Modified page indicators

Table 78. Nonsegmented or partitioned file page set space map for a 16 KB page LOC 1A 2A9C NAME FOSMANCH SIZE 2A82 1541 DESCRIPTION Beginning of the space map Modified page indicators

Table 79. Nonsegmented or partitioned file page set space map for a 32 KB page LOC NAME SIZE DESCRIPTION

4-byte RID and 1 to 16 partitions 1A 5546 FOSMANCH 552C 2A96 Beginning of the space map Modified page indicators

4-byte RID and 17 to 32 partitions 1A 401A FOSMANCH 4000 2000 Beginning of the space map Modified-page indicators

4-byte RID and 33 to 64 partitions 1A 201A FOSMANCH 2000 1000 Beginning of the space map. Modified-page indicators.

5-byte RID and any number of partitions 1A 5546 FOSMANCH 552C 2A96 Beginning of the space map. Modified-page indicators.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

467

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

LOB page set header page


Table 80. LOB page set header page LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...0 .... ...1 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... ..00 00.. 0C 0C 0E 10 14 HPGOBID HPGDBID HPGPSID HPGHPREF HPGCATRL CHAR(4) CHAR(2) CHAR(2) FIXED(32) CHAR(1) DESCRIPTION Flag byte. Page was read with an I/O error. Page was modified by REPAIR utility. Page was not modified by REPAIR utility. Last byte of page = XC5. Last byte of page = XD5. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. LOB header page. Full page set ID (HPGDBID + HPGPSID). Internal DBID of the database in which this page set is defined. Internal OBID (within DBID) of the descriptor for this page set (also known as PSID in SYSIBM.SYSTABLESPACE). High preformatted page in page set (or in partition). Catalog release level of the DB2 catalog. The field is reserved for all table spaces but only used for the DSNDB01.DBD01 table space in the directory. Release mark. Set to L when data compression dictionary is loaded into the table space. Set to blank when the dictionary is deleted. Catalog inter-release change indicator. RBA to which RECOVER utility has recovered page set or partition. Timestamp at which the database that holds this table space became a ROSHARE owner. It is X00010101000000000000 if the database is not shared. DB2 subsystem name. Internal identifier of the table file descriptor, also known as OBID in SYSIBM.SYSTABLESPACE. Page size in multiples of 4: v X1000 for 4 KB page size. v X8000 for 32 KB page size. The number of pages in each segment of a segmented table space. Zero if the table space is not segmented. It is also known as SEGSIZE in SYSIBM.SYSTABLESPACE. Number of partitions in a partitioned table space. Page number of first dictionary page or 0 if no dictionary. Number of 4 KB memory pages required to store dictionary.

15 16 17 18 1E

HPGREL HPGZLD HPGCATV HPGTORBA HPGTSTMP

CHAR(1) CHAR(1) CHAR(1) CHAR(6) CHAR(10)

28 2C 2E

HPGSSNM HPGFOID HPGPGSZ

CHAR(4) CHAR(2) FIXED(16)

30

HPGSGSZ

FIXED(15)

32 34 37

HPGPARTN HPGZ3PNO HPGZNUMP

FIXED(15) CHAR(3) FIXED (8)

468

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 80. LOB page set header page (continued) LOC 38 NAME HPGTBLC SIZE FIXED(15) DESCRIPTION Table counter: v = 0 if there is no table in this table space v = 1 if there is exactly one table in this table space since it first became a non-zero value v = 2 if there is more than one table in this table space After the counter is set to 2, it resets to 0 if all the tables in this table space are dropped. 3A 3C 40 HPGMAXL HPGROID CHAR(2) CHAR(4) FIXED(15) Internal identifier of the table if HPGTBLC = 1. (Not applicable if HPGTBLC is not equal to one.) Reserved. Maximum record length (not including record prefix). This field is only applicable if HPGTBLC is equal to 1, that is, a single-table table space. Number of columns in the table. This field is only applicable if HPGTBLC is equal to 1, that is, a single-table table space. Flag bytes. Share indicator: v ON for shared table space v OFF for non-shared table space EDITPROC indicator. This flag is applicable if HPGTBLC = 1; that is, there is one table in the table space. v ON if there is an EDITPROC v OFF if there is not EDITPROC Values: v ON if the data set is user-defined v OFF if the data set is storage group-defined Reserved. Values: v ON if full log records are generated, in CDC format v OFF if full log records are not generated ON means page set is defined as LARGE. ON means log records are counted. ON means this page set is a LOB table space page set. ON means this is an EA-enabled data set. ON means that migration to ENFM is successful. ON means that the pageset or partition are in reordered row format. ON means that the table space is partitioned by range. ON means that the table space is partition-by-growth. Unused. Reserved. Timestamp of setting the consistency flag. This field is updated when HPGPSCON is set to ON or OFF. Storage group name if it is a stogroup defined data set, that is, if HPGUSERD = OFF. VSAM catalog name for data set.

42 44

HPGNUMCO HPGFLAGS HPGSHARE

FIXED(15) FIXED(16) 1... ....

HPGEDITP

...1 ....

HPGUSERD

.... 1...

.... .1.. HPGFLOG .... ..1.

HPGLGOB 45 HPGCLOG HPGLOBPS HPGeaLRG

.... ...1 1... .... .1.. .... ..1. .... ...1 .... .... 1... .... .1.. .... ..1. .... ...1

| | | | | |
46 48 52 5A

HPGSPT01 HPGRRFmt HPGPBRUTS HPGPBGUTS

CHAR(2) HPGCONTM HPGSGNAM HPGVCATN CHAR(10) CHAR(8) CHAR(8)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

469

DO NOT COPY
Table 80. LOB page set header page (continued) LOC 62 68 NAME HPGRBRBA HPGAPP2 SIZE CHAR(6) CHAR(0) DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

Recover base RBA updated by the buffer manager. For data sharing, the LRSN is updated. Hook for appendages dependent on page set type

HPGPART2: Area of page for information dependent on type of page set. The last 24 bytes of HPGPART2 are defined for index page sets only. 68 168 HPGAPP3 CHAR(256) CHAR(0) Overlay page set-specific mappings here, 256 byte maximum. Hook for HPGPART3 information.

HPGLSD: LOB space descriptor appendage. 68 6A 6C 6D 6E 70 74 78 79 7C 80 84 88 8C 8E 90 92 94 A8 HPGLastH HPGLPAL HPGLMOD HPGLUMS HPGLMEPG HPGHLENT HPGHLCOV HPGLHCCV HPGLCPS HPGLLCOV HPGLCCOV HPGLHCSZ HPGLPPC HPGPLPGSZ HPGLLCSZ FIXED(15) FIXED(15) FIXED(8) CHAR(1) FIXED(15) FIXED(32) FIXED(32) FIXED(8) CHAR(3) FIXED(32) FIXED(32) FIXED(32) CHAR(4) FIXED(15) FIXED(15) FIXED(15) FIXED(15) CHAR(20) FIXED(32) Number of pages per chunk. Page size for a LOB space. Low level space map cluster size. Unused Number of chunks per low level space map. Number of pages covered by the low level space map. Total number of pages per low level space map cluster. High level space map cluster size. Unused. Number of low level space maps per high level space map. Number of pages covered by the high level space map. Total number of pages per high level space map cluster. Unused. Offset to the page allocation map. Offset to the page modified map (LLMOD) array. Offset to the usage map. Maximum number of LOB map entries per LOB map page. Unused. Last used high level space map.

HPGPART3: Area of page for information common to all page set types. 168 16E 174 17A 17C 17E 180 HPGLEVEL HPGPLEVL HPGCLRSN HPGSCCSI HPGDCCSI HPGMCCSI HPGFLAG2 HPGASCII CHAR(6) CHAR(6) CHAR(6) FIXED(16) FIXED(16) FIXED(16) FIXED(8) 1... .... .1.. .... ..11 1111 181 182 HPGEpoch FIXED(8) FIXED(16) Level ID (down-level detection). Previous level ID (down-level detection). Image copy bit, update LRSN. If HPGASCI=YES, CCSID for the single byte character set. If HPGASCI=YES, CCSID for the double byte character set. If HPGASCI=YES, CCSID for the mixed character set. Flag byte. Yes, if the table space is ASCII. Yes, if the table space is Unicode. If both flags above are No, then the table space is EBCDIC. Unused. Unused. Epoch number.

| |

HPGUNICO

470

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 80. LOB page set header page (continued) LOC 184 NAME HPGRBLP SIZE CHAR(6) CHAR(6) HPGDSSZ HPGAPP4 FIXED(32) CHAR(0) DESCRIPTION Base log point for system-level point-in-time recovery. Unused. Dataset size in kilobytes Hook for HPGPART4 information.

| | | | | | | | | | | | | | | | | | |

18A 190 1B0

HPGPART4: Area of page for information that is dependent on the page set type. 1B0 B7A HPGAPP5 CHAR(2496) CHAR(0) Overlay page set-specific mappings here, 2496 byte maximum. Hook for future appendages.

HPGPART5: Area of page for information that is dependent on the page set type. 1B0 B7A HPGAPP6 CHAR(640) CHAR(0) Overlay page set-specific mappings here, 640 byte maximum. Hook for future appendages.

HPGPART4 overlay HPGDVI: Data versioning information. 1B0 HPGDHDR HPGDNUMB FIXED(8) Information in front of hash buckets. Number of hash buckets: 1 for a partitioned page set. 31 for a nonpartitioned page set. Cannot exceed 31 for current HPGPART4, HPGPART5 definitions. Unused. Number of collision entries: 256 for a partitioned page set. 8 for a nonpartitioned page set. If the table space is segmented and not a universal table space, the first segment for system pages. If the table space is segmented and not a universal table space, the first segment for system pages. Unused. Hash buckets. HBGDNUMB contains the number of entries. Information in front of collision entries. CHAR(1) 1... .... .111 1111 CHAR(7) Bucket flags. ON if the bucket overflowed. Unused. Unused. Collision entries. HPGDNUMC contains the number of entries.

CHAR(1) HPGDNUMC HPGDFSG HPGDLSG FIXED(15) FIXED(31) FIXED(31) CHAR(4) HPGDBKT HPGDBHD

| | | |

HPGDBEYE HPGDBOVF

HPGDCAPP

CHAR(0)

HPG1BKT: Hash bucket definition. This is the definition of one instance of HPGDBKT. HPG1BHD HPG1BEYE CHAR(1) 1... .... .111 1111 CHAR(7) Information in front of collision entries. Bucket eyecatcher. ON if the bucket overflowed. Unused. Unused. Collision entries. HPGDNUMC contains the number of entries. CHAR(1) HPGDOBID HPGDV HPGDRID CHAR(2) FIXED(8) CHAR(5) Reserved. Record OBID. Version number. RID of row with OBDREC.

HPGDCOLL

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

471

DO NOT COPY
Table 80. LOB page set header page (continued) LOC NAME SIZE DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

| HPGPART5 overlay HPGSI: Segment information for universal table space. | | | | | | | | | | | | | | | | | |


HPGS1OBI HPGS1FSG HPGS1CSG HPGS1LSG HPGS1BEYE HPGSIOBI HPGSIFSG HPGSICSG HPGSILSG HPGSIBKT HPGSIBEYE CHAR(1) CHAR(1) CHAR(2) FIXED(31) FIXED(31) FIXED(31) CHAR(4) Bucket eyecatcher to aid dump read. Unused. Record OBID. SEGNUM of the first segment for a table. SEGNUM of the current segment for a table. SEGNUM of the last segment for a table. Unused. HPGSIHD HPGSISP CHAR(4) CHAR(16) Information in front of hash buckets . For version 9 and later use (system page number). Unused.

| HPGSIBKT: One SI bucket definition.


CHAR(1) CHAR(1) CHAR(2) FIXED(31) FIXED(31) FIXED(31) CHAR(4) Bucket eyecatcher to aid dump read. Unused. Record OBID. SEGNUM of the first segment for a table. SEGNUM of the current segment for a table. SEGNUM of the last segment for a table. Unused.

High level space map page for a LOB page set


Table 81. High level space map page for a LOB page set LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... ...0 .... ...1 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .000 1000 0C 10 14 18 HLSLastP HLSLastU HLSFirst FIXED(32) FIXED(32) FIXED(32) CHAR(39) DESCRIPTION Flag byte Page was read with an I/O error. Last byte of page = XC5. Last byte of page = XD5. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Page is a LOB high level space map page. Last formatted LLSMAP. Last used LLSMAP. First low level map to check. Reserved.

472

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 81. High level space map page for a LOB page set (continued) LOC 43 NAME HLSMent SIZE BIT(8) 0000 .... 0001 .... 0111 .... 1000 .... 1101 .... 1111 .... .... 111. .... ...1 DESCRIPTION Flags that indicate how full the low level space map is. Low level space map is not formatted. Low level space map is formatted. Low level space map is under 50% full. Low level space map is over 50% full. Low level space map has no free chunks. Low level space map is full. Unused. Yes if the low level space map is a remainder map.

Low level space map page for a LOB page set


Table 82. Low level space map page for a LOB page set LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... ...0 .... ...1 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .001 1000 0C LLSFlags BIT(32) 1... .... .1.. .... DESCRIPTION Flag byte Page was read with an I/O error. Last byte of page = XC5. Last byte of page = XD5. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Page is a LOB low level space map page. Flags for the LLSMAP. All deallocated pages are committed. Deallocated pages might be present in LLSMAP.

10 12 14 18 1A 1C 1E 20 24 26 28

LLTotPgs

FIXED(15) CHAR(2)

Number of pages covered by LLSMAP. Unused. First page covered by LLSMAP. Number of pages currently used. Chunk size for page set. Number of fully used chunks. Number of partly used chunks. Unused. Unused. Unused. LRSN of the last deallocated page.

LLCFCov LLPUseCt LLChSize LLCUseCt LLCPUseCt

FIXED(32) FIXED(15) FIXED(15) FIXED(15) FIXED(15) CHAR(4) FIXED(15) CHAR(2)

LLDelLSN

CHAR(6)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

473

DO NOT COPY
Table 82. Low level space map page for a LOB page set (continued) LOC 2E 2F 46 LLChMap NAME LLCluSeq SIZE FIXED(8) CHAR(23) BIT(8) 00.. .... 01.. .... 10.. .... 11.. .... ..00 .... ..01 .... ..10 .... ..11 .... .... 00.. .... 01.. .... 10.. .... 11.. .... ..00 .... ..01 .... ..10 .... ..11 DESCRIPTION Low level cluster sequence. Unused.

Restricted Materials of IBM Licensed Materials Property of IBM

Array of flags for chunk status: Chunk is empty. Chunk is partially allocated (to 1 or more LOBs). Chunk is fully allocated to a single LOB. Chunk is fully allocated, to multiple LOBs. Chunk is empty. Chunk is partially allocated (to 1 or more LOBs). Chunk is fully allocated to a single LOB. Chunk is fully allocated, to multiple LOBs. Chunk is empty. Chunk is partially allocated (to 1 or more LOBs). Chunk is fully allocated to a single LOB. Chunk is fully allocated, to multiple LOBs. Chunk is empty. Chunk is partially allocated (to 1 or more LOBs). Chunk is fully allocated to a single LOB. Chunk is fully allocated, to multiple LOBs.

LLSMAP: LOB space map entries. This is an array of 2-bit entries. The first bit of each indicates whether the page is allocated. LLSMAP BIT(8) 00.. .... 01.. .... 10.. .... 11.. .... ..00 .... ..01 .... ..10 .... ..11 .... .... 00.. .... 01.. .... 10.. .... 11.. .... ..00 .... ..01 .... ..10 .... ..11 Array of flags for space map page status: Page is not allocated. Page is deallocated. Page is allocated. Page is allocated to the first LOB page. Page is not allocated. Page is deallocated. Page is allocated. Page is allocated to the first LOB page. Page is not allocated. Page is deallocated. Page is allocated. Page is allocated to the first LOB page. Page is not allocated. Page is deallocated. Page is allocated. Page is allocated to the first LOB page.

LLMOD: An array that indicates the page modified status. Each byte contains 8 1-bit entries. Each entry corresponds to a page in the page set and describes whether the page was updated after the last image copy.

474

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 82. Low level space map page for a LOB page set (continued) LOC NAME LLMOD SIZE BIT(*) DESCRIPTION Modified-page indicators.

LLUsage: An array of structures that indicate: v Which row of a base table a page of the LOB table space is allocated to v The version number of the LOB LLRowId CHAR(17) CHAR(1) CHAR(10) LLDelLSN_PG LLVer LLFlags LLChunked CHAR(6) CHAR(1) CHAR(1) BIT(1) ROWID of the owning row, padded with X00. The first byte is a check byte. Check byte for LOB consistency check. Unused. Deallocate LSN for this page. Version of the LOB. Flags for more page information. LOB is chunked (LOB map entities are for full chunk allocations with at most 1 entry for a partial chunk). Maintained from the first LOB map page only. 1 = Indicates LLDELLSN_PG is set. 0 = Default, LLDELSN_PG is not set. Unused.

| | |

LLCheck

| | |

LLDelLSNSet

BIT(1) BIT(6)

LOB map
Table 83. LOB map LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... DESCRIPTION Flag byte Page was read with an I/O error.

...0 .... ...1 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .010 0000 0C 12 13 24 LMInsTim LMSeq LMRowID LMVer CHAR(6) FIXED(8) CHAR(17) CHAR(2)

Last byte of page = XC5. Last byte of page = XD5. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Page is a LOB map page. First 6 bytes of insert timestamp. Sequence number for the LOB page. ROWID of the owning row. The last byte is a check byte. LOB version number.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

475

DO NOT COPY
Table 83. LOB map (continued) LOC 26 NAME LMFlags LMLobMap LMComp LMInvld LMFirst LMLast SIZE CHAR(1) 1... .... .1.. .... ..1. .... ...1 .... .... 1... .... .111 27 28 2A 2C 30 32 34 38 3C 3E 40 LMUncLen LMDatOfs LMDatLen LMLobLen LMapEnts LMapUsed LMapPgs CHAR(1) FIXED(15) CHAR(2) FIXED(32) FIXED(15) FIXED(15) CHAR(4) FIXED(32) FIXED(15) FIXED(15) CHAR(6) DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

Flags for more page information. Yes if this is a LOB map page. Yes if LOB data is compressed. Yes if the LOB is invalid. Yes if this is the first LOB map page. Yes if this is the last LOB map page. Unused. Unused. In the first LOB map page, the number of LOB map pages. 0 otherwise. Reserved. Length of the LOB in bytes. Number of entries in this LOB map. Number of entries used in this LOB map. Unused. Length of the uncompressed data. Offset to data in this page. Length of LOB data in this page. Unused.

LMapSect: An array of structures that map the sections of the LOB. 46 LMEFlags LMIndPg CHAR(1) 1... .... .111 1111 47 48 4C LMSStart LMSLen CHAR(1) FIXED(32) FIXED(32) Flags that describe the LOB map entry: Yes if the entry is an individual page allocation. Unused. Unused. First page of LOB section. Length of LOB section.

LOB data page


Table 84. LOB data page LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... ...0 .... ...1 .... .... ...1 01 07 PGLOGRBA PGNUM CHAR(6) FIXED(32) DESCRIPTION Flag byte Page was read with an I/O error. Last byte of page = XC5. Last byte of page = XD5. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set.

476

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Table 84. LOB data page (continued) LOC 0B NAME PGFLAGS SIZE BIT(8) 1... .... .011 0000

DO NOT COPY

DESCRIPTION Flag byte. Page contains inconsistent data. Page is a LOB data page.

0C 10 12 13 14 16

LPUncLen LPDatLen LPSeq LPCheck

FIXED(32) FIXED(15) FIXED(8) CHAR(1) CHAR(2)

Length of uncompressed data. Length of LOB data in this page. Sequence number of LOB page. Check byte for LOB consistency check. Unused. LOB data.

LPData

CHAR(*)

System page for OBDRECs


The format of a system page is detailed below.
Table 85. System page LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... 1... .... .1.. .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .010 1... .... .000 0C 0E 10 12 13 13 PGFREE PGFREEP PGHOLE1 PGMAXID PGNANCH PGPUNCRA FIXED(15) PTR(15) PTR(15) FIXED(8) FIXED(8) FIXED(8) DESCRIPTION Flag byte. Page was read with an I/O error. Page was modified by REPAIR utility. Page was not modified by REPAIR utility. Last byte of page = XD5.1 Last byte of page = XC5.1 Page has reserved freespace. Page has reserved contiguous freespace. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Page type is determined by last three bits of this byte. Page is system page for OBDRECs. Total amount of free space in page. Offset to contiguous free space. Offset to first large hole, X0000 if none. Number of ID map entries in use; must be >=1. Number of anchor points in a hashed page; X00 if none. Approximate number of possibly uncommitted rows in a non-hashed page.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

477

DO NOT COPY
Table 85. System page (continued) LOC 14 18 20 2B Note:: 1. In a full image copy of a system page for OBDRECs: v If the fourth bit of PGCOMB is 1, the last byte of the page is XE5. v If the fourth bit of PGCOMB is 0, the last byte of the page is XF8. NAME SPOPREV SPOBKT SIZE CHAR(4) FIXED(8) CHAR(11) DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

Previous system page for OBDRECs. Follow this chain to get ODBRECs for less-recent versions. Header page has bucket to which this page belongs. Unused Data

File page set data page


Refer to File page set data pages on page 384 for a description and illustrations of the various data page areas. The field formats are detailed below.

File page set data page header


Table 86. File page set data page header LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... 1... .... .1.. .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .000 0... .000 1... .... ...1 0C 0E 10 12 13 PGFREE PGFREEP PGHOLE1 PGMAXID PGNANCH FIXED(15) PTR(15) PTR(15) FIXED(8) FIXED(8) DESCRIPTION Flag byte. Page was read with an I/O error. Page was modified by REPAIR utility. Page was not modified by REPAIR utility. Last byte of page = XD5. Last byte of page = XC5. Page has reserved freespace. Page has reserved contiguous freespace. Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Page is file page set data page. Page is a hash page. If page is not perfectly clustered. Total amount of free space in page. Offset to contiguous free space. Offset to first large hole, X0000 if none. Number of ID map entries in use; must be >=1. Number of anchor points in a hashed page; X00 if none.

478

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 86. File page set data page header (continued) LOC 13 14 NAME PGPUNCRA PGHBEGIN SIZE FIXED(8) CHAR(0) DESCRIPTION Approximate number of possibly uncommitted rows in a non-hashed page. Beginning of records and holes or beginning of anchor point area if this is a hashed page.

Refer to File page set data pages on page 384 for a description and illustration of overflow records, pointer records, large holes, and small holes.

Record/overflow record
Table 87. Record/overflow record LOC 00 NAME PGSFLAGS SIZE BIT(8) ..1. .... ...1 .... DESCRIPTION Flag byte. Yes, if entry is an overflow record. If the record is an overflow record: v Yes, if the pointer to the record is in a different partition. v No, if the pointer to the record is in the same partition, or if the tablespace is not partitioned. .... 1... .... .1.. .... ..1. .... ...1 01 PGSLTH PGSOBD PGSBID PGSV Data: 06 PGSRING CHAR(0) Data (link or hash pointers if this is a record in DSNDB01 or DSNDB06). CHAR(2) CHAR(2) FIXED(8) FIXED(8) Yes, if a suffix (PGX) follows the prefix. Yes, if record is compressed. Record is possibly uncommitted. Yes, if data is not in version 0 format. Length of record, including the 6-byte header. OBID of the record OBD within the DBD for records in non-universal table spaces only. If data is in version 0 format, the ID map entry that points to this record. If data is not in version 0 format, the number of the OBDREC that describes the format of this row.

| |

03 05

Pointer record
Table 88. Pointer record for a 4-byte RID (for releases before Version 5) LOC 00 NAME PGSFLAGS SIZE BIT(8) .1.. .... ...1 .... .... ..1. 01 05 PGSOLDOW PGSBID CHAR(4) FIXED(8) DESCRIPTION Flag byte. Yes, if entry is a pointer record. Bit is off, which means RID is a 4-byte RID that occupies offsets 1 through 4 of this record. Record is possibly uncommitted. The RID of the overflow record. ID map entry that points to this record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

479

DO NOT COPY
Table 89. Pointer record for a 5-byte RID LOC 00 NAME PGSFLAGS SIZE BIT(8) .1.. .... ...1 .... .... ..1. 01 PGSRIDOF CHAR(5) DESCRIPTION Flag byte.

Restricted Materials of IBM Licensed Materials Property of IBM

Yes, if entry is a pointer record. Bit is on, which means RID is a 5-byte RID that occupies offsets 1 through 5 of this record. Record is possibly uncommitted. The RID of the overflow record.

OBDREC stored as a data row


Table 90. An OBDREC that is stored as a data row LOC 00 NAME PGSFLAGS SIZE BIT(8) ..1. .... ...1 .... DESCRIPTION Flag byte. Yes, if entry is an overflow record. If the record is an overflow record: v Yes, if the pointer to the record is in a different partition. v No, if the pointer to the record is in the same partition, or if the tablespace is not partitioned. .... 1... .... .1.. .... ..1. .... ...1 01 PGSLTH PGSOBD PGSBID PGSV Data: 06 PGSRING CHAR(0) Data (link or hash pointers if this is a record in DSNDB01 or DSNDB06). CHAR(2) CHAR(2) FIXED(8) FIXED(8) Yes, if a record suffix follows. Yes, if record is compressed. Record is possibly uncommitted. Yes, if data is not in version 0 format. Length of record, including the 6-byte header. OBID of the record OBD within the DBD for records in non-universal table spaces only. If data is in version 0 format, the ID map entry that points to this record. If data is not in version 0 format, the number of the OBDREC that describes the format of this row.

| 03 |
05

Table 91. Record suffix for a spanned OBDREC record that is stored as a data row (PGX) LOC 00 NAME PGXMAP SIZE FIXED(8) DESCRIPTION Mapping of suffix: X00 X01 X02 08 PGXVAR First fragment of a spanned record Middle fragment of a spanned record Last fragment of a spanned record (not used)

Data: format depends on the PGXMAP value. This area is mapped by one or more of the following sets of fields.

480

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 92. Appendage for spanned record fragments (PGXVAR) LOC 00 06 0E 12 PGXSR0A NAME PGXSRI PGXSRRP SIZE CHAR(6) FIXED(8) CHAR(4) DESCRIPTION ID that uniquely identifies the record. Relative position in spanned record (1...n). Not used. Appendage for first and middle fragments. This area is mapped by one or more of the following sets of fields.

Table 93. Appendage for first and middle fragments (maps PGXR0A) LOC 00 05 08 PGXSR1A NAME PGXSRRID SIZE CHAR(5) CHAR(3) DESCRIPTION RID of next fragment in spanned record. Not used. Appendage for first fragment. This area is mapped by the following set of fields.

Table 94. Appendage for first fragment (maps PGXR1A) LOC 00 04 NAME PGXSRDL SIZE FIXED(31) CHAR(4) DESCRIPTION Total length of all fragments, excluding the prefix and suffix. Not used.

Large hole
Table 95. Large hole LOC 00 NAME PGHFLAGS SIZE CHAR(1) X80 01 03 05 PGHLTH PGHCHAIN PGHBYTES CHAR(2) CHAR(2) variable DESCRIPTION Flag byte. Large hole. Length of the hole, including the 5-byte header. Offset in the page to the next large hole; X0000 if the last one. Remainder of hole.

Small hole
Table 96. Small hole LOC 00 NAME PGHFLAGS SIZE CHAR(1) X81 X82 X83 X84 DESCRIPTION Flag byte. 1-byte hole. 2-byte hole. 3-byte hole. 4-byte hole.

Dictionary page
Refer to Dictionary pages on page 379 for a description and illustrations of the dictionary page. The field formats are detailed below.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 22. File Page Set Formats

481

DO NOT COPY
Dictionary page
Table 97. Dictionary page LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .010 00.. 0C 0D 11 13 19 PGLZDMNP PGLZDMLL PGLZDMI1 PGLZDMEH PGLZDME(n) CHAR(1) CHAR(4) FIXED(16) CHAR(6) CHAR(0) CHAR(8) DESCRIPTION Flag byte.

Restricted Materials of IBM Licensed Materials Property of IBM

Page was read with an I/O error. Page was modified by REPAIR utility. Page was not modified by REPAIR utility. Last byte of page = XD5.1 Last byte of page = XC5.1 Page was copied by DSN1COPY. Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set. Flag byte. Page contains inconsistent data. Page is a dictionary page. Reserved. Next dictionary page number. Length (in bytes) of dictionary entries on this page. Integrity check field 1. Hook for first entry. Dictionary data entries: v n= PGLZD04K: 508 entries for 4 KB pages v n= PGLZD08K: 1020 entries for 8 KB pages v n= PGLZD16K: 2044 entries for 16 KB pages v n= PGLZD32K: 4092 entries for 32 KB pages

PGLZDMF: Last 8 bytes of the dictionary page: PGLZDMI2 PGLZDMFF Note:: 1. In a full or incremental image copy of a dictionary page: v If the fourth bit of PGCOMB is 1, the last byte of the page is XE5. v If the fourth bit of PGCOMB is 0, the last byte of the page is XF8. CHAR(6) CHAR(2) Integrity check field 2 Standard page tail

482

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 23. Index Page Set Formats


This chapter contains the formats of the various types of pages that exist in index page sets.

Index page set header page


Table 98. Index page set header LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... ...1 01 07 0B PGLOGRBA PGNUM PGFLAGS CHAR(6) FIXED(32) BIT(8) 1... .... .1.. .1.. ..10 0... 0C 0C 0E 10 HPGOBID HPGDBID HPGPSID HPGHPREF CHAR(4) CHAR(2) CHAR(2) FIXED(32) DESCRIPTION Flag byte Page was read with an I/O error Page was modified by REPAIR LEVELID Page was not modified by REPAIR utility Last byte of page = XD5 Last byte of page = XC5 Page was copied by DSN1COPY Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set Flag byte Page contains inconsistent data Page is in an index page set Page is a header page Full page set id (HPGDBID + HPGPSID) Internal DBID of the database in which this page set is defined Internal OBID (within DBID) of the descriptor for this page set (also known as ISOBID in SYSIBM.SYSINDEXES). Current high-used page in a page set or partition. Updated at physical close, pseudo-close, and the down-level detection checkpoint interval. The high-used RBA returned by VSAM media manager is checked against this value at a physical open of the page set or partition. If the value from VSAM media manager is lower, a resource unavailable error occurs. Reserved Release mark Reserved RBA to which RECOVER utility has recovered page set or partition. For data sharing, LRSN is used. Timestamp at which the database which contains this index space became a ROSHARE OWNER. It is X00010101000000000000 if the database is not shared. DB2 subsystem name Internal identifier for the index descriptor, also known as OBID in SYSIBM.SYSINDEXES Reserved

14 15 16 18 1E HPGTORBA HPGTSTMP HPGREL

CHAR(1) CHAR(1) FIXED(15) CHAR(6) CHAR(10)

28 2C 2E

HPGSSNM HPGFOID

CHAR(4) CHAR(2) CHAR(4)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

483

DO NOT COPY
Table 98. Index page set header (continued) LOC 32 34 3A 3C 40 42 44 HPGMAXL HPGNUMCO HPGFLAGS HPGSHARE HPGROID NAME HPGPARTN SIZE FIXED(15) CHAR(4) CHAR(2) CHAR(4) FIXED(15) FIXED(15) BIT(16) 1... .... DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

Number of partitions in a partitioning index space. Reserved Internal identifier of the table on which this index is defined Reserved Maximum index key length Number of index key columns Flag bytes Share indicator: v ON means it is a shared index space v OFF means it is a non-shared index space Consistency indicator for data sharing. Applicable if HPGSHARE is ON. v ON means the index is consistent and can be opened in read-only mode by read-only systems. v OFF means the index might inconsistent and cannot be opened by read-only systems. Down-level indicator: v ON means the index space might be down level and cannot be opened by DB2 if HPGSHARE = ON. This flag is set by DSN1COPY when the index space is restored or this page was modified by REPAIR utility with RESET function. v OFF means the index space is not down level. EDITPROC indicator. Applicable if HPGTBLC = 1, which means that there is one table in the table space. v ON means that there is an EDITPROC. v OFF means that there is no EDITPROC. Data set type indicator: v ON means that the data set is user-defined. v OFF means that the data set is storage-group-defined. Unique index indicator: v ON means that the index is unique. v OFF means that the index is not unique. Changed data capture indicator: v ON means that full log records are generated in CDC format. v OFF means that full log records are not generated. LARGE table space indicator: v ON means that the index is defined on a table space that is defined as LARGE. v OFF means that the index is defined on a table space that is not defined as LARGE. Counted log records indicator: v ON means log records are counted. v OFF means log records are not counted. Reserved Timestamp indicating when consistency flag (HPGPSCON) was set. Storage group name (if HPGUSERD = NO) VSAM catalog name

HPGPSCON

.1.. ....

HPGDLVL

..1. ....

HPGEDITP

...1 ....

HPGUSERD

.... 1...

HPGUIDX

.... .1..

HPGFLOG

.... ..1.

HPGLGOB

.... ...1

45

HPGCLOG

1... ....

46 48 52 5A HPGCONTM HPGSGNAM HPGVCATN

CHAR(2) CHAR(10) CHAR(8) CHAR(8)

484

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Table 98. Index page set header (continued) LOC 62 68 NAME HPGRBRBA HPGAPP2 SIZE CHAR(6) CHAR(0)

DO NOT COPY

DESCRIPTION Recover base RBA updated by the buffer manager Hook for appendages dependent on page set type.

HPGPART2: Area of page for information dependent on type of page set. The first 24 bytes of HPGPART2 are defined for index page sets only. 68 168 HPGAPP3 CHAR(256) CHAR(0) Overlay page set-specific mappings here, 256 byte maximum. Hook for HPGPART3 information.

HPGIXD: Index page set definition. 68 HPGIFLGS HPGIVARL HPGINUNI HPGIXNUL HPGIPSPT HPGILGTS HPGIAUX HPGIDPSI BIT(8) 1... .... .1.. .... ..1. .... ...1 .... .... 1... .... .1.. .... ..1. .... ...1 HPGIFLGS2 HPGIXMLVALIDX HPGINODEIDIDX HPGISCALEXPIDX HPGICOMPRIDX BIT(8) 1... .... .1.. .... ..1. .... ...1 .... .... 11.. HPGITYPE2IDX .... ..1. .... ...1 6A 6C 6E 70 72 74 78 79 7A 7C 7E 7F 80 82 84 HPGIRCID HPGIFSID HPGITLTH HPGIOLTH HPGILENG HPGINNPS HPGIISMS HPGINSHF HPGIPGSZ HPGIPSNM HPGIPAD HPGIRIDL HPGVPFXO HPGKEYO HPGIMLEV FIXED(16) FIXED(16) FIXED(16) FIXED(16) FIXED(16) FIXED(31) FIXED(8) FIXED(8) FIXED(16) FIXED(16) CHAR(1) CHAR(1) FIXED(16) FIXED(16) FIXED(8) Yes if index is variable length. Yes if index is nonunique. Yes if index is UNIQUE WHERE NOT NULL. Yes if index is partitioned. Yes if index is defined on a table space defined as LARGE. Yes if index is on an auxiliary table. Yes if index is a DPSI. Unused. Version 9 index flag. Yes if the index is on an XML value. Yes if the index is on an XML node ID. Yes if the index is on a scalar expression. Yes if the index is compressed. Unused. Yes if the index is type 2. Unused ID of record descriptor. ID of fan set descriptor. Maximum key length. Maximum ordered key length. Length of generic clustering key. Number of pages covered by space map page. Search interval in space map. Shift value to get partition number from page number. Page size of index. Number of partitions in index. Pad character for comparisons. RID length: 5 for a table space defined as LARGE or with the DSSIZE parameter, otherwise 4. Offset to varying length prefix. Offset to key. Index maintenance level.

| | | | | | | | | | | | | | | |

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 23. Index Page Set Formats

485

DO NOT COPY
Table 98. Index page set header (continued) LOC 85 88 8C HPGIDP HPGIAPP NAME SIZE CHAR(3) FIXED(31) CHAR(0) DESCRIPTION Reserved. Directory page number.

Restricted Materials of IBM Licensed Materials Property of IBM

Hook for any other appendages.

HPGPART3: Area of page for information common to all page set types. 168 16E 174 17A 17C 17E 180 HPGLEVEL HPGPLEVL HPGCLRSN HPGSCCSI HPGDCCSI HPGMCCSI HPGFLAG2 HPGASCII CHAR(6) CHAR(6) CHAR(6) FIXED(16) FIXED(16) FIXED(16) FIXED(8) 1... .... .1.. .... ..11 1111 181 182 HPGEpoch HPGRBLP HPGCKPT HPGDSSZ HPGAPP4 FIXED(8) FIXED(16) CHAR(6) CHAR(6) Fixed(32) CHAR(0) Level ID (down-level detection). Previous level ID (down-level detection). Image copy bit, update LRSN. If HPGASCI=YES, CCSID for the single byte character set. If HPGASCI=YES, CCSID for the double byte character set. If HPGASCI=YES, CCSID for the mixed character set. Flag byte. Yes, if the table space is ASCII. Yes, if the table space is UNICODE. Unused. Unused. Epoch number. Recovery base log point. Last checkpoint time that was used to recover to a point in time. Dataset size in kilobytes. Hook for HPGPART4 information.

HPGUNICO

| 184 | 18A | 190


194

HPGPART4: Area of page for information that is dependent on the page set type. Used for file page sets only. 194 B46 HPGAPP5 CHAR(2496) CHAR(0) Overlay for page set-specific mappings. 2496 byte maximum. Hook for future appendages.

Index directory page header (IDPHEAD)


Table 99. Index directory page header (IDPHEAD) LOC 00 0C 14 18 1C 1E 20 22 24 IDPNextPg IDPPrevPg IDPFreePtr IDPFreeSp IDPIXDHNum IDP1stIXD NAME SIZE CHAR(12) CHAR(8) FIXED(31) FIXED(31) FIXED(16) FIXED(16) FIXED(16) FIXED(16) CHAR(44) DESCRIPTION Common page header Reserved Points to next directory page Points to previous directory page Offset to free space Free space left on the page Total number of DIXDHEAD on the page Offset to first DIXDHEAD entry UNUSED

486

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 100. Index directory index descriptor header (DIXDHEAD) LOC 00 02 04 08 0A NAME DIXDHEye DIXDPreflen DIXDRootPg DIXDTLen DIXDFlgs DIXDUsed DIXDvarL DIXDNUNI DIXDXNul DIXDVPrefOK SIZE CHAR(2) FIXED(16) FIXED(31) FIXED(16) BIT(32) 1... .... .1.. .... ..1. .... ...1 .... .... 1... BIT(27) 0E 10 12 14 16 18 1A 1C 1D 1E 1F 21 22 24 25 26 DIXDRCID DIXDFSID DIXDTLth DIXDOLth DIXDKcnm DIXDPfxO DIXDKeyO DIXDMLvl DIXDCVer DIXDSPad DIXDDPad DIXDOVer DIXDOBDV DIXDVAnm DIXDFVer DIXDLVer DIXDSTCK FIXED(16) FIXED(16) FIXED(16) FIXED(16) FIXED(16) FIXED(16) FIXED(16) FIXED(8) FIXED(8) CHAR(1) CHAR(2) FIXED(8) FIXED(16) FIXED(8) FIXED(8) FIXED(8) CHAR(8) CHAR(33) DIXDVERH DIXDVOFFA(0:*) DIXDVOFF CHAR(*) CHAR(2) CHAR(2) DESCRIPTION Eye catcher as XD DIXD prefix length Root page number Total length of DIXD Flags Yes if this entry is in use Yes if index keys variable length Yes if index keys non-unique Yes if index keys UXNULL index Yes if VERKPref (the version key prefix) is valid UNUSED ID of record descriptor ID of fan set descriptor Current version key length Current version ordered key length Number of key columns Offset of varying length prefix Offset to key Index maintenance level Index current version number SBCS pad character for comparisons DBCS pad character for comparisons Index oldest version number OBD index version number Version Array entry number First version number in this index directory page. Used when all version key formats cannot fit on a single index directory page. Last version number in this index directory page. Used when all version key formats cannot fit on a single index directory page. The time when DIXDCVER was updated. UNUSED Version offset array head Version offset array Offset to each version format array from IDPHEAD

| |

27 2F 50

Table 101. Version key format array header (VERKHDR) LOC 00 00 02 03 VERKNumCol NAME VERKPref VERKLen SIZE CHAR(6) FIXED(16) CHAR(1) FIXED(8) DESCRIPTION Version key prefix Version key length Reserved Total number of columns

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 23. Index Page Set Formats

487

DO NOT COPY
Table 101. Version key format array header (VERKHDR) (continued) LOC 04 05 06 06 VERKNumOff VERKEY(*) VERKCFLG VERKFVAL NAME SIZE CHAR(1) FIXED(8) CHAR(8) BIT(8) 1... .... .111 .... VERKCDES VERKCNUL VERKDBCS 07 VERKCTYP .... 1... .... .1.. .... ..11 BIT(4) BIT(4) 08 VERKCLEN VERKCFNO FIXED(16) FIXED(15) CHAR(2) DESCRIPTION Reserved

Restricted Materials of IBM Licensed Materials Property of IBM

Total number of variable-length offsets Version key format array. Dimension is in DIXDKCnm. Key column flag, ascending Yes if variable length Reserved Yes if descending field Yes if nullable field 01 if field is SBCS, 10 if field is DBCS Key column data type Reserved Key column length Column field number. Reserved

| 0A
0C

Index space map header (IPSMHEAD)


For additional information on index page set space map pages, see Index page set space map pages on page 378.
Table 102. Index page set space map page LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... ...1 DESCRIPTION Flag byte Page was read with an I/O error Page was modified by REPAIR LEVELID Page was not modified by REPAIR utility Last byte of page = XD5 Last byte of page = XC5 Page was copied by DSN1COPY

01 07 0B

PGLOGRBA PGNUM PGFLAGS

CHAR(6) FIXED(32) BIT(8) 1... .... .110 11..

Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set Flag byte Page contains inconsistent data Page is an index space map page Unused Number of pages covered by this space map page Index of last used entry. Number of free entries. Index of first unused entry.

0C 14 16 18 1A IPSNENTS IPSLUSED IPSNFREE IPSFFREE

CHAR(8) FIXED(15) FIXED(15) FIXED(15) FIXED(15)

488

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 102. Index page set space map page (continued) LOC 1C NAME IPSANCH SIZE CHAR(0) DESCRIPTION Anchor for page entries.

Index page set space map entry array (IPSMAP)


The index space map entry array consists of 4-bit entries and is defined on IPSANCH. Each entry corresponds to one index page. The array begins at index 0 to simplify calculations of offsets into the space map page.
Table 103. Index page set space map entry array LOC 00 NAME IPSENTRY IPSALOC1 SIZE BIT(8) 1... .... BIT(3) IPSALOC2 .... 1... BIT(3) DESCRIPTION Page entry Yes if page allocated Not used Yes if page allocated Not used

Index page set data pages


Iindex page set data pages (index pages) can be either leaf or nonleaf pages. Leaf pages are not segmented. Indexes do not have one-level indexes, so a root page is always a nonleaf page. All index pages are prefixed with a 12-byte header (PGHEAD), followed by the physical index page header (IPHEAD). The formats of the different types of index pages differ following IPHEAD. Refer to Index page set data pages on page 399 for a description and illustrations of the various types of index pages. The format and contents of the fields are detailed below.

Index page set data page header (PGHEAD)


Table 104. Index page set data page header (PGHEAD) LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... ...1 DESCRIPTION Flag byte Page was read with an I/O error Page was modified by REPAIR LEVELID Page was not modified by REPAIR utility Last byte of page = XD5 Last byte of page = XC5 Page was copied by DSN1COPY

01 07

PGLOGRBA PGNUM

CHAR(6) FIXED(32)

Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 23. Index Page Set Formats

489

DO NOT COPY
Table 104. Index page set data page header (PGHEAD) (continued) LOC 0B NAME PGFLAGS SIZE BIT(8) 1... .... .111 11... DESCRIPTION Flag byte

Restricted Materials of IBM Licensed Materials Property of IBM

Page contains inconsistent data Page set is index page set

Index physical index page header (IPHEAD)


Table 105. Index physical index page header (IPHEAD) LOC 00 NAME PGCOMB SIZE BIT(8) 1... .... .1.. .... .0.. .... ...1 .... ...0 .... .... ...1 DESCRIPTION Flag byte Page was read with an I/O error Page was modified by REPAIR LEVELID Page was not modified by REPAIR utility Last byte of page = XD5 Last byte of page = XC5 Page was copied by DSN1COPY

01 07 0B

PGLOGRBA PGNUM PGFLAGS

CHAR(6) FIXED(32) BIT(8) 1... .... .111 11..

Log RBA of the last page update. For data sharing, LRSN of the last page update. Page number in page set Flag byte Page contains inconsistent data Page is index page set data page Unused Index ID - OBID of index Page flags (bits 13-16 not used) Root page Leaf page Parent of leaf page Unique where not null Nonunique Varying length Structure modification All data on page committed All pseudo-deletes on page committed Index is on a table space defined as LARGE or with the DSSIZE parameter. ON means no RID follows this page high key entry. ON means no RID follows the previous page high key entry. Index leaf page extension is present. Unused

0C 14 16 IPIXID IPFLAGS IPROOT IPLEAF IPPARLF IPUXNULL IPNUNIQ IPVARL IPSMOD IPCOMMIT 17 IPDCMTD IPLGTS IPNORID IPNORIDP

CHAR(8) CHAR(2) BIT(16) 1... .... .1.. .... ..1. .... ...1 .... .... 1... .... .1.. .... ..1. .... ...1 1... .... .1.. .... ..1. .... ...1 .... .... 1... .... .111

IPLFEXT

490

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 105. Index physical index page header (IPHEAD) (continued) LOC 18 1A 1C 1E 20 22 24 28 NAME IPNKEYS IPFREESP IPFREEP IPFCHSIZ IPFCHNXT IPKEYLN IPPRNTPG IPLEVEL IPEXTLEN IPSEQNO IPAPP SIZE FIXED(15) FIXED(15) FIXED(15) FIXED(15) FIXED(15) FIXED(15) FIXED(32) CHAR(1) FIXED(8) FIXED(16) CHAR(0) DESCRIPTION Number of key values Amount of free space available after garbage collection Offset to contiguous free space Size of first entry in chain Offset to first entry or 0 Maximum length of index keys Parent page number Level of this page in tree Extension length Sequence number Index appendage

29 2A 2C

Index physical index page header, leaf pages (IPLFAPP)


The following information appears as an appendage to the physical index page header (IPHEAD) for leaf pages.
Table 106. Index physical index page header for leaf pages (IPLFAPP) LOC 2C 2E 30 34 NAME IPNDRIDS IPDRIDS IPLNXTPG IPLPRVPG SIZE FIXED(15) FIXED(15) FIXED(32) FIXED(32) DESCRIPTION Number of non-deleted RIDs Number of pseudo-deleted RIDs Next leafs page number Previous leafs page number

| | | | | | | | | | | | |

Index physical index page leaf pages (IPLFAPPEXT)


The following information appears as an appendage to the index physical index page header, leaf pages (IPLFAPP).
Table 107. Index physical index page leaf pages (IPLFAPPEXT) LOC 38 3A 3C 3D NAME IPINSKEYIDX IPNUMSEQINS IPEXTFLAGS SIZE FIXED(15) FIXED(15) CHAR(1) CHAR(1) DESCRIPTION Index of last key insert Sequential insert counter Extension area flags Unused

Index page leaf pages for compression (IPLFAPPEXT2)


The following information appears as an appendage to the index physical index page leaf pages (IPLFAPPEXT).

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 23. Index Page Set Formats

491

DO NOT COPY
| Table 108. Index page leaf pages for compression (IPLFAPPEXT2) | LOC | 3E | 3F | 40 | |
IPCOMPTYPE IPCOMPFREESP NAME SIZE CHAR(1) FIXED(8) FIXED(15)

Restricted Materials of IBM Licensed Materials Property of IBM

DESCRIPTION Unused Compression type Compression free space

Index leaf page versioned key prefix (IPVERPRFX)


The following two sections, Index leaf page nonunique key prefix (IPNPRFX) and Index leaf page variable key prefix (IPVPRFX) show the prefixes for the various key types in leaf pages allowed by the index manager. A key can have multiple prefixes. For example, a nonunique varying length key can have both IPNPRFX and IPVPRFX prefixes.
Table 109. Index leaf page versioned key prefix (IPVERPRFX) LOC NAME SIZE BIT(4) IPKVNUM BIT(4) DESCRIPTION Reserved Version number

Index leaf page nonunique key prefix (IPNPRFX)


This section details the nonunique key prefix (present if IPNUNIQ in the page header is YES).
Table 110. Index leaf page nonunique key prefix (IPNPRFX) LOC NAME IPNRIDS SIZE FIXED(15) DESCRIPTION Number of RIDs following key. If negative, then there is a RID chain following the RID map, and ABS(IPNRIDS) shows the number of contiguous RIDs. Key or other prefix appendage

IPNAPP

CHAR(0)

Index leaf page variable key prefix (IPVPRFX)


This section details the variable key prefix (present if IPVARL in the page header is YES).
Table 111. Index leaf page variable key prefix (IPVPRFX) LOC NAME IPVKLEN IPVAPP SIZE FIXED(15) CHAR(0) DESCRIPTION Length of key Key appendage

Index physical index page header, nonleaf pages (IPNLFAPP)


The following information appears as an appendage to the physical index page header (IPHEAD) for nonleaf pages.

492

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 112. Index physical index page header for nonleaf pages (IPNLFAPP) LOC 2C NAME IPLASTPG SIZE FIXED(32) DESCRIPTION Last page pointer

Index nonleaf page key prefix (IPPPRFX)


This section details the nonleaf page key prefix.
Table 113. Index nonleaf page key prefix (IPPPRFX) LOC 00 NAME IPPFLAGS IPPRIDP IPPVARLN SIZE BIT(8) 1... .... .1.. .... ..11 1111 01 IPPAGEN IPPAPP FIXED(32) CHAR(0) DESCRIPTION Flags for nonleaf entry Yes if RID following key Yes if varying length or truncated Not used Child page number Key appendage

Index nonleaf variable length high key prefix (IPPVARP)


This appendage is present if IPPVARLN=YES.
Table 114. Index nonleaf variable length high key prefix (IPPVARP) LOC NAME IPPKLEN IPPVAPP SIZE FIXED(15) CHAR(0) DESCRIPTION Present if IPPVARLN=YES Key appendage for truncated key

Index RID value (IPRIDVAL)


IPRIDVAL is a structure for a index RID value. The structure consists of a prefix and RID value. The prefix has flags to indicate if the RID has been deleted, or potentially modified.
Table 115. Index RID value (IPRIDVAL) LOC 00 NAME IPRIDPFX IPRIDDEL IPRIDCHG IPRIDRHF SIZE CHAR(1) 1... .... .1.. .... ..1. .... DESCRIPTION RID prefix with the following flags (bits 4-8 are not used) Yes if RID pseudo-deleted Yes if RID is possibly uncommitted Yes if the last entry in a RID map and there are unused bytes after the RID map that can be used to insert another RID. The RID holes following the RID map may also have this bit set to indicate more RID holes are present. Yes if a utility did the delete. Not used RID value appendage

IPRIDUEL

...1 .... .... 1111

IPRIDAPP

CHAR(*)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 23. Index Page Set Formats

493

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Index RID template (IPRID)


These are the RID templates. Table 116 shows the RID template for a 4-byte RID. Table 117 shows the RID template for a 5-byte RID. IPRID is split from IPRIDVAL so the RID structure can be independently accessed.
Table 116. Index RID template (IPRID) for a 4-byte RID LOC NAME IPRID IPRIDPG IPRIDID SIZE CHAR(*) CHAR(3) CHAR(1) DESCRIPTION RID RID data page number RID ID within data page

Table 117. Index RID template (IPRID) for a 5-byte RID LOC NAME IPRID IPRID5PG IPRIDID SIZE CHAR(*) CHAR(4) CHAR(1) DESCRIPTION RID RID data page number RID ID within data page

Index RID chain (IPRCHEAD)


IPRCHEAD is the header for a chain of RIDs following the contiguous RID map. The chain is present if IPNRIDS is less than or equal to 0. The space used for the RID chain header is counted in IPFREESP.
Table 118. Index RID chain (IPRCHEAD) LOC NAME IPRCHAIN IPRCLEN SIZE CHAR(2) CHAR(2) BIT(8) DESCRIPTION Offset to first RID in chain Length of RID chain Not used

Index RID chain entry (IPRCENT)


IPRCENTs size is CHAR(2) BASED. It is the RID chain entry prefix and its value is 0 for the last RID in chain.
Table 119. Index RID chain entry (IPRCENT) LOC NAME IPRIDNXT IPRVAPP SIZE CHAR(2) CHAR(0) DESCRIPTION Offset to next in chain Appendage for IPRIDVAL

Index free space chain entry (IPFCENT)


The smallest reusable free space is 6 bytes, so no smaller pieces of free space are chained. For nonunique indexes, 7 bytes is the smallest reusable free space. All space in the free space chain is included in IPFREESP.

494

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 120. Index free space chain entry (IPFCENT) LOC NAME IPFCESIZ IPFCENXT SIZE CHAR(2) CHAR(2) DESCRIPTION Size of next free space entry Offset to next entry or null. Next entry must be smaller than or equal in size to the current entry.

Collated key map (IPKMAP)


There is one entry for each distinct key value (IPNKEYS). An entry contains the offset to the key prefix of the key. The key map is maintained in reverse order; the first entry is always the highest key value in the page and entry(IPNKEYS) is always the lowest key value.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 23. Index Page Set Formats

495

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

496

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 24. Directory Formats


The DB2 directory (database DSNDB01) contains information that describes the structure of DB2 data, the manner in which it is stored, and how DB2 can access this data using indexes and various types of pointers. The tables that hold this information are different from other DB2 tables, in that they cannot be accessed with DML. The directory is maintained through SQL DDL statements, the BIND process, and utility executions. This chapter contains the formats of the data records in the DB2 directory tables. These tables exist in one of five page sets (table spaces): DBD01, SCT02, SPT01, SYSLGRNX, or SYSUTILX.

Database descriptor records


Page set DBD01 is used to store DBDs, which exist in DBDR (parent) and DBDS (child) records. For a description and illustrations of DBDs, refer to Database descriptors (DBDS) on page 409.

DBDR (DBD parent record)


Table 121. DBDR (DBD parent record) LOC NAME SIZE DESCRIPTION

DM prefix: 00 PGSFLAGS CHAR(1) X00 X20 01 03 05 PGSLTH PGSOBD PGSBID CHAR(2) CHAR(2) CHAR(1) Flag byte Record Overflow record Length of record, including the 6-byte header OBID (X0021) ID map entry that points to this record

DBDR record prefix: 06 0A 0E 12 16 18 DBD data: 1A * CHAR(*) A single field that contains DBD header and data * * * DBDLL DBID * CHAR(4) CHAR(4) CHAR(4) CHAR(4) CHAR(2) CHAR(2) RID of next record in hash or anchor point if the parent bit is 1 RID of previous record in hash or anchor point if the parent bit is 1 RID of the first DBDS record, which contains more of the DBD. If 0, none. Length of the first DBD section Internal DBD identifier (DBID) Length of the DBD data field

The DBD data area begins with the DBD header. See DBD header and ID map on page 503 for the format and contents of the DBD header.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

497

DO NOT COPY
DBDS (DBD child record)
Table 122. DBDS (DBD child record) LOC NAME SIZE DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

DM prefix: 00 PGSFLAGS CHAR(1) X00 X20 01 03 05 PGSLTH PGSOBD PGSBID CHAR(2) CHAR(2) CHAR(1) Flag byte Record Overflow record Length of record, including the 6-byte header OBID (X0022) ID map entry that points to this record

DBDS record prefix: 06 0A 0E DBD data: 10 * CHAR(*) A single field that contains DBD data * * * CHAR(4) CHAR(4) CHAR(2) RID of next record in the link or, if last DBDS in link, RID of parent record (parent bit is 1) RID of previous record in the link or, if first DBDS in link, RID of parent record (parent bit is 1) Length of the DBD data field

Skeleton cursor table (SKCT)


Page set SCT02 is used to store skeleton cursor tables (SKCTs). These tables store the access paths to DB2 data. When a plan is executed, DB2 uses this information to access the data it needs. Because a single SKCT can be longer than the maximum record length that can be used in DB2, SKCTs are stored as a sequence of SKCT sections. The skeleton cursor table parent record (SCTR) contains as much of the SKCT section as the record can fit. The entire SKCT section is stored in this record if it fits; if it does not fit, it is stored in one or more SCTRs. Each SCTR is identified by a unique section/sequence number.

SCTR (SKCT parent record)


Table 123. SCTR (SKCT parent record) LOC NAME SIZE DESCRIPTION

DM record prefix: 00 PGSFLAGS CHAR(1) X00 X20 01 03 05 PGSLTH PGSOBD PGSBID CHAR(2) CHAR(2) CHAR(1) Flag byte Record Overflow record Length of record, including the 6-byte header OBID (X0061) ID map entry that points to this record

SCTR record prefix: 06 SCTLL CHAR(4) Length of the SKCT

498

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 123. SCTR (SKCT parent record) (continued) LOC 0A 12 16 NAME SCTNAME SCTSEC SCTSEQ SIZE CHAR(8) CHAR (4) CHAR (2) DESCRIPTION Name of the SKCT (plan name) Section number Sequence number within section

SKCT data: 18 * CHAR(*) A single field that contains SKCT data

Skeleton package table (SKPT)


Page set SPT01 is used to store skeleton package tables (SKPTs). These tables store the access paths to DB2 data. When a package is executed, DB2 uses this information to access the data it needs. Because a single SKPT can be longer than the maximum record length that can be used in DB2, SKPTs are stored as a sequence of SKPT sections. The skeleton package table parent record (SPTR) contains as much of the SKPT section as the record can fit. The entire SKPT section is stored in this record if it fits; if it wont fit, it is stored in one or more SPTRs. Each SPTR is identified by a unique section/sequence number.

SPTR (SKPT parent record)


Table 124. SPTR (SKPT parent record) LOC NAME SIZE DESCRIPTION

DM record prefix: 00 PGSFLAGS CHAR(1) X00 X20 01 03 05 PGSLTH PGSOBD PGSBID CHAR(2) CHAR(2) CHAR(1) Flag byte Record Overflow record Length of record, including the 6-byte header OBID (X0081) ID map entry that points to this record

SPTR record prefix: 06 0A 0A SPTLL SPTPID SPTLOCID SPTCOLID SPTNAME SPTCONID * SPTSEC SPTSEQ SKPT data: SPTBODY VARCHAR(7500) A single field that contains SKPT data CHAR(4) * VARCHAR(128) VARCHAR(128) VARCHAR(128) CHAR(8) CHAR(2) CHAR (4) CHAR (2) Length of the SKPT Package ID Reserved Package collection ID Name of the SCPT (name of package) Package consistency token Reserved Section number Sequence number within section

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 24. Directory Formats

499

DO NOT COPY
Table 124. SPTR (SKPT parent record) (continued) LOC NAME SPTVER SIZE * DESCRIPTION

Restricted Materials of IBM Licensed Materials Property of IBM

Package Version ID (maximum CHAR (64))

SYSIBM.SYSLGRNX table
The SYSLGRNX table stores recovery log ranges that record the time an index space defined with COPY YES or a table space was open for updates. This provides an efficient way for DB2 to access the appropriate log records for recovery, rather than having to scan every record in the recovery log for a particular table.
Table 125. SYSIBM.SYSLGRNX table LOC 00 NAME PGSFLAGS SIZE CHAR(1) X00 X20 01 03 05 06 08 0A 10 18 1E 24 26 2C 32 PGSLTH PGSOBD PGSBID LGRDBID LGRPSID LGRUCDT LGRUCTM LGRSRBA LGRSPBA LGRPART LGRSLRSN LGRELRSN LGRMEMB CHAR(2) CHAR(2) CHAR(1) CHAR(2) CHAR(2) CHAR(6) CHAR(8) CHAR(6) CHAR(6) SMALLINT CHAR(6) CHAR(6) CHAR(2) DESCRIPTION Flag byte Record Overflow record Length of record, including the 6-byte header OBID (X00D1) ID map entry that points to this record DBID of the modified object OBID of the modified object Modification date - mmddyy Modification time - hhmmssth Starting RBA Stopping RBA Partition number in the table space or index space Starting LRSN of update log records for data sharing. X000000000000 otherwise. Ending LRSN of update log records for data sharing. X000000000000 otherwise. Data sharing member ID of the modifying DB2 subsystem.X0000 for non-data-sharing.

SYSIBM.SYSUTIL table
The SYSUTIL table stores status information about DB2 utilities that are active or stopped. Each record is uniquely identified by the utility identifier. Each row of the table contains the information for one utility execution step. When the utility completes running, the corresponding entries in the SYSUTIL table are deleted.

500

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Table 126. SYSIBM.SYSUTIL table LOC 00 NAME PGSFLAGS SIZE CHAR(1) X00 X20

DO NOT COPY

DESCRIPTION Flag byte Record Overflow record

01 03 05 06 16 1E 26 2A 2D 2E 36 3E 46 4A

PGSLTH PGSOBD PGSBID USUUID USUJOBNM USUAUID USURDATE USUREL USUIRQD * USUUTNAM USUPHASE * USUSTATU

CHAR(2) CHAR(2) CHAR(1) CHAR(16) CHAR(8) CHAR(8) CHAR(4) CHAR(3) CHAR(1) CHAR(8) CHAR(8) CHAR(8) CHAR(4) CHAR(1)

Length of record, including the 6-byte header OBID (X0051) ID map entry that points to this record UTILID passed on job parm Jobname from the job card Authorization ID of invoker Date of utility Release level checked at restart IBM required field Reserved Name of the currently executing utility Phase of the currently executing utility Reserved Status of current utility: XC1 = ACTIVE XE2 = STOPPED

4B

USUTREQ

CHAR(1)

Termination requested XE8 = -TERM has been issued for this utility XD5 or X40 = -TERM has not been issued

4C

USUFORCE

CHAR(1)

Element of USO forced XE8 = reload was successful XD5 or X40 = reload was not successful

4D

USURLOK

CHAR(1)

Reload has completed successfully XE8 = reload was successful XD5 or X40 = reload was not successful

4E

USUCMPOK

CHAR(1)

Compatibility check passed XE8 = compatible with executing utilities XD5 or X40 = not compatible

4F 52 56 5E 62 64 66

* USUPOS USUNDONE USUCKSUM USUDBOB USUPSID USUPSDD

CHAR(3) CHAR(4) CHAR(8) CHAR(4) CHAR(2) CHAR(2) CHAR(2)

Reserved Relative USM position in SYSIN Total number of pages/records done USM Checksum DBID for table space PSID for table/index space Secondary PSID for REBUILD INDEX Data page set

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 24. Directory Formats

501

DO NOT COPY
Table 126. SYSIBM.SYSUTIL table (continued) LOC 68 6A 6C 74 7C 88 11E 120 FA0 NAME USUDSNU * USUDBNAM USUSPNAM * USUUDA USUUSTRL USUUSTRT USUMEMBR SIZE CHAR(2) CHAR(2) CHAR(8) CHAR(8) CHAR(12) CHAR(150) CHAR(2) CHAR(3712) CHAR(8) DESCRIPTION Data set number Reserved Database name Table/index space name Reserved Utility dependent data Length of restart area Restart control blocks

Restricted Materials of IBM Licensed Materials Property of IBM

For data sharing, the member name of the DB2 subsystem that executes the utility. Otherwise blank.

SYSIBM.SYSUTILX table
The SYSUTILX table is a dependent of the SYSUTIL table. A record is created in the SYSUTILX table when the amount of information in the parent record exceeds the record size of SYSUTIL. The rows in SYSUTILX are uniquely identified by the utility identifier and sequence number.
Table 127. SYSIBM.SYSUTILX table LOC 00 NAME PGSFLAGS SIZE CHAR(1) X00 X20 01 03 05 06 16 18 24 CHECKPOINT PGSLTH PGSOBD PGSBID UTILID SEQNO CHAR(2) CHAR(2) CHAR(1) CHAR(16) SMALLINT CHAR(12) VARCHAR(4000) DESCRIPTION Flag byte Record Overflow record Length of record, including the 6-byte header OBID (X0053) ID map entry that points to this record The utility ID that identifies the parent record in SYSIBM.SYSUTIL The sequence number of this row Reserved The overflow checkpoint/restart information

502

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats


A database descriptor (DBD) contains global information about a database and the descriptors of objects such as files, page sets, fan sets, and records. The general format of a DBD is as follows: v A header that contains global DBD information, including an indication of whether the block is a base block and a chain pointer to the next DBD block (if any). v For DBDs in memory, an extendable ID map, which maps IDs of object descriptors to offsets (+ or -) from the beginning of the DBD block; that is, an OBD ID map entry can be in one DBD block and the OBD it references can be in the block chained to the first. This area is not used for OBDs on DASD, which are stored in DBDR and DBDS records, as shown in Database descriptor records on page 497. v A variable-length area of contiguous free space. v A (backward) extensible area reserved for object descriptors (OBDs) and holes. This chapter describes the general format of a DBD in the following sections: v DBD header and ID map v Short holes on page 505 v Long holes on page 505 v OBD header on page 505 v File OBD on page 506 v Check constraint descriptor on page 509 v Auxiliary relationship descriptor on page 542 v Record type OBD on page 510 v Record extension for segmented tables on page 517 v Fan set OBD on page 521 v Field list for order/hash/foreign key on page 532 v Page set OBD on page 533. For a general description of DBDs, see Database descriptors (DBDS) on page 409.

DBD header and ID map


-----------------------------------------------------------DBD HEADER, INSTANCE MAP, AND ID MAP -----------------------------------------------------------0 10 DBDPREX 0 8 DBDNEXT POINTER TO NEXT DBD SECTION. 8 4 DBDGINFO 8 3 * UNUSED. B 1 DBDCCNT DBD CHUNK COUNT. C 4 DBDDSIZE DBD CHUNK SIZE. -----------------------------------------------------------0 48 OBDDBD -----------------------------------------------------------DBD HEADER, WHICH CONTAINS GLOBAL DBD INFORMATION -----------------------------------------------------------28 OBDDHEAD 2 OBDDID HEX IDENTIFIER CODE. SET = OBDHXID (X2039) 2 2 * RESERVED. 4 4 OBDDENAM EBCDIC IDENTIFIER. SET = DBD
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

503

DO NOT COPY
8 4 OBDDNEXT

Restricted Materials of IBM Licensed Materials Property of IBM

| | |

ON DISK, THE SIZE OF THE NEXT DBD BLOCK. IN MEMORY, NOT USED. C 8 OBDDBNAM DATABASE NAME. UNIQUE SYSTEM-WIDE. 14 2 OBDDBID DATABASE ID. UNIQUE SYSTEM-WIDE. 16 2 OBDDIDNO NUMBER OF ID-MAP ENTRIES IN THIS DBD BLOCK. 18 2 OBDDBMAX MAX ID IN THIS DBD BLOCK. 1A 2 OBDDBMIN MIN ID-1 IN THIS DBD BLOCK = 0 IN BASE BLOCK = FIRST ID 1 IN OVERFLOW BLOCK. 1C 4 OBDDFREE NOT USED. 20 4 OBDDFREO OFFSET TO END OF CONTIGUOUS FREE SPACE. -----------------------------------------------------------24 1 OBDDFLGS FLAGS ASSOCIATED WITH DATABASE 1... .... OBDDOVFL YES IF OVERFLOW DBD BLOCK. .1.. .... OBDDBPR YES IF ONE OR MORE OBDS IN THIS DBD CAN HAVE A DATABASE PROCEDURE ASSOCIATED WITH IT. IF THIS FLAG IS OFF, THERE CAN BE NO SUCH OBDS, BUT IF THE FLAG IS ON, THERE CAN OR CAN NOT BE ANY SUCH OBDS. ..1. .... OBDDDBDB DBD HAS BEEN REBUILT BY REPAIR DBD. ...1 .... OBDDNDDL SET IF NO DDL HAS OCCURRED AFTER A REPAIR DBD REBUILD. RESET WHEN DDL DONE. .... 1... OBDDSHAR SET IF INTER-SYSTEM SHARING DATABASE .... .1.. OBDDOWN SET IF OWNING INTER-SYSTEM SHARING DATABASE .... ..1. OBDDINV DBD IS INVALID. IT HAS BEEN CHANGED BY ANOTHER DATA SHARING GROUP MEMBER. EXISTING USERS UNAFFECTED BY THE CHANGE CAN CONTINUE TO USE THIS COPY. THE NEXT NEW USER WILL LOAD A VALID COPY FROM DASD. .... ...1 OBDDWFLE 1 INDICATES A WORKFILE DATABASE. (DSNDB07 MIGHT NOT HAVE THIS BIT SET). INTER SYSTEM SHARING DATABASE AND UPDATES ARE POSSIBLE. VALID ONLY IF OBDDSHAR IS ON. ---------------------------------------------------------25 1 FLAGS 1... .... OBDDOLIM 1 INDICATES THE DBD SIZE IS GREATER THAN 25% OF THE EDM POOL. .1.. .... OBDDNEWFMT VERSION 8 NEW FORMAT. ..1. .... OBDDFIXED CCSID, ENCODING SCHEME, PADDED CHARACTERS FOR EBCDIC HAVE BEEN FIXED. ...1 1111 * RESERVED. 26 2 OBDDFILE OBID OF THE FIRST FILE IN THE DBD. 0 IF NONE. 28 4 OBDDSIZE SIZE OF THE DBD BLOCK. 2C 1 OBDDFMTNUM DBD FORMAT NUMBER, 0 IMPLIES V8 OR BEFORE V8 FORMAT. 2D 3 * NOT USED. -----------------------------------------------------------INSTANCE MAP: INDICATES WHICH INSTANCES EXIST FOR THE DATA BASE. AN INSTANCE IS IDENTIFIED BY A 1 BYTE POSITIVE INSTANCE NUMBER. NOTE THAT 00X IS AN ILLEGAL INSTANCE ID. OBDDBINS(I)=YES IF INSTANCE I EXISTS (I=1, 2 .. 255).

504

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

-----------------------------------------------------------30 20 OBDINSTM RESERVED. -----------------------------------------------------------ID-MAP, WHICH MAPS OBJECT IDS TO OFFSETS WITHIN THE DBD. OBDDMAP(I) CONTAINS THE OFFSET TO THE OBJECT DESCRIPTOR HAVING OBJECT ID = I. OFFSETS ARE COMPUTED FROM THE BEGINNING OF THE DBD BLOCK, THAT IS, FROM THE BEGINNING OF THE DBD HEADER AND CAN BE + OR - AND CAN BE TO AN OBD ACTUALLY STORED IN ANOTHER DBD BLOCK. AN OBJECT ID IS A 2-BYTE (16-BIT) POSITIVE NUMBER. X0000 IS AN ILLEGAL OBJECT ID. -----------------------------------------------------------50 0 OBDDMAP MAP OF OFFSETS TO OBJECTS

Short holes
-----------------------------------------------------------SHORT HOLE -----------------------------------------------------------0 1 OBDSHOLE 1 OBDSHFLA FLAGS 1... .... OBDSHHOL YES SINCE A HOLE .111 11.. RESERVED. .... ..11 OBDSHOLL LENGTH OF THE SHORT HOLE -----------------------------------------------------------1 0 OBDSHOLB REMAINDER OF HOLE

Long holes
-----------------------------------------------------------LONG HOLE -----------------------------------------------------------0 4 OBDLHOLE 1 OBDLHFLA FLAGS 1... .... OBDLHHOL YES SINCE A HOLE .111 1111 RESERVED -----------------------------------------------------------1 3 RESERVED 4 4 OBDLHLTH HOLE LENGTH 8 0 OBDLHOLB REMAINDER OF HOLE

OBD header
0 8 OBD -----------------------------------------------------------OBD HEADER -----------------------------------------------------------8 OBDHEAD 2 OBDFLAGS FLAGS 1... .... OBDHOLE NO SINCE NOT A HOLE .11. .... OBDTYPE OBJECT TYPE: 00 IF FAN SET, 01 IF RECORD/CHECK CONSTRAINT/TRIGGER, 10 IF FILE OR OBDRA, 11 IF PAGE SET. .1.. .... OBDTFIPS YES IF FILE OR PAGE SET ..1. .... OBDTREPS YES IF RECORD, PAGE SET, CHECK CONSTRAINT, OR TRIGGER. ...1 1111 MEANING DEPENDS ON OBDTYPE. 111. .... SEE INDIVIDUAL OBJECT DCLS ...1 .... OBDTYPE2 B0 IF RECORD TYPE. B1 IF CHECK CONSTRAINT TYPE OR TRIGGER TYPE. .... 111. MEANING DEPENDS ON OBDTYPE. SEE INDIVIDUAL OBJECT DCLS .... ...1 OBDTYPE3 B0 IF FILE OBD. B1 IF OBDRA.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

505

DO NOT COPY
2 4 8 A C 10 20 28 2 4 2 2 4 16 8 0 * OBDLTH

Restricted Materials of IBM Licensed Materials Property of IBM

| | |

OR TRIGGER TYPE. RESERVED. LENGTH OF OBJECT DESCRIPTOR INCLUDING HEADER PORTION. OBDID OBJECT ID. UNIQUE WITHIN DBD * RESERVED. OBDEXOFF OFFSET TO EXTERNAL SECTION. 0 IF NONE. * RESERVED OBDCPOFF OFFSET TO THE COUNTERPART. OBDBYTES REMAINDER OF OBJECT

File OBD
A file OBD consists of: v A fixed-length common section: header, OBID pointers, numeric parameters, area map information, and space management information. v A variable-length external section, present at offset OBDFIEXO if OBDFIEXO <> 0.
0 4C OBDFILE -----------------------------------------------------------HEADER OF A FILE OBD -----------------------------------------------------------8 OBDFIHEA 2 OBDFIFLG HEADER FLAGS FOR A FILE OBD 111. .... EQUAL TO 010, SINCE FILE OBD ...1 1111 OBDFIPSC FLAGS ...1 11.. OBDFITYP TYPE OF FILE: B0XX IF BASIC FILE (1). B100 IF DATA ENTRY FILE (2). B101 IF MAIN STORE FILE (3). ...1 .... OBDFIBAN NO IF BASIC FILE. IN THIS CASE THE NEXT 2 BITS GIVE THE FILE ATTRIBUTES. .... 1... OBDFIPAR YES IF PARTITIONED ATTRIBUTE .... .1.. OBDFIDYN YES IF DYNAMIC ATTRIBUTE .... ..1. OBDFIHAS YES IF HASHED FILE .... ...1 OBDFILOB YES IF LOB TABLE SPACE 1 11.. .... OBDFICLU CLUSTERING ATTRIBUTE OF FILE: 00 IF NONCLUSTERED FILE. 01 IF MHC FILE. 10 IF SHC FILE. 11 IF THC FILE. IF OBDFICLU <> 00,THEN HIERARCHY IS DEFINED BY ORDER OF RECORD OBDS CHAINED TO FILE OBD. FOR EACH RECORD THE FIRST FAN SET IN WHICH THE RECORD IS CHILD IS CLUSTERING ONE. ..1. .... OBDFALST YES IF ALLOCATION STRATEGY WHEN SPACE NOT AVAILABLE "NEAR" A RID IS AT BOF RATHER THAN EOF. ...1 .... OBDFIOHC YES IF OHC IN PROGRESS IN FILE .... 1... OBDFIIBM YES IF FILE DEFINED AND REQUIRED BY IBM .... .1.. OBDFISCL YES IF STRICT CLUSTERING FILE .... ..1. OBDFISEG B1 IF FILE IS SEGMENTED B0 IF NOT SEGMENTED .... ...1 OBDFITY3 B0 FOR OBDFILE. -----------------------------------------------------------2 2 OBDFFLG3 FLAGS. CHECK OBDS FOR SPECIFIC USAGE. 1111 .... * RESERVED .... 1... OBDFCLONE 1 - CLONE, 0 - BASE. .... .111 1111 1111 * CHECK OBDS FOR SPECIFIC USAGE.

| | | | |

506

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM 4 8 A

DO NOT COPY

| | | | | | | | |

4 OBDFILTH LENGTH OF FILE DESCRIPTOR 2 OBDFIID ID OF FILE DESCRIPTOR 2 OBDFIFG2 FLAG SET 2. 1... .... OBDFIXML XML TABLE SPACE. .1.. .... OBDFI_IMPLICIT IMPLICITLY CREATED TABLE SPAcE, ONLY WILL BE CREATED AFTER V9. ..11 1111 1111 1111 * RESERVED. C 4 OBDFIEXO OFFSET TO EXTERNAL SECTION. 0 IF NONE. 10 16 * RESERVED. 20 8 OBDFCPOFF OFFSET THE COUNTERPART OBD AT 33-40. 28 16 * RESERVED. -----------------------------------------------------------OBID-POINTERS TO DESCRIPTORS RELATED TO FILE -----------------------------------------------------------38 2 OBDFIREC OBID OF 1ST RECORD DESCRIPTOR WITHIN FILE. 0 IF NONE. 3A 2 OBDFIPS OBID OF FIRST DATA PAGE SET IS ASSOCIATED WITH THIS FILE. 0 IF NONE. 3C 2 RESERVED -----------------------------------------------------------FLAGS USED TO CONTROL DM SPACE MANAGEMENT -----------------------------------------------------------3E 1 OBDFSMFL DM SPACE MANAGEMENT FLAGS USED ONLY FOR A TEMPORARY FILE 1... .... OBDFSMWF YES IF THE FILE IS A TEMPORARY FILE .1.. .... OBDFSMNL YES IF DATA PAGES ARE NOT TO BE LOCKED WHEN ALLOCATED. ..1. .... OBDFSMNU YES IF SPACE MAP PAGE UPDATES NOT TO BE LOGGED FOR UNDO. ...1 .... OBDFSMFO YES IF DATA PAGES ARE TO BE FORMATTED WHENEVER ALLOCATED. .... 1111 RESERVED -----------------------------------------------------------NUMERICAL FILE PARAMETERS -----------------------------------------------------------3F 1 OBDFINID NUMBER OF ID MAP ENTRIES IN A DATA PAGE TO ALLOCATE 40 4 OBDFINPS MAXIMUM NUMBER OF PAGES COVERED BY A SPACE-MAP PAGE, INCLUDING THE SPACE-MAP PAGE ITSELF. EQUAL TO AREA SIZE IF FILE IS DYNAMIC. 44 4 OBDFIAPD MAXIMUM NUMBER OF SPACE MAPS PER DATA SET. SAME AS MAXIMUM NO. OF AREAS IF DYNAMIC FILE. OBDFIAPD=2**OBDFISHF/OBDFINPS. 48 2 * RESERVED 4A 2 OBDFINUM MAXIMUM NUMBER OF DATA SETS IN PAGE SET. THE VALUE IS 16, 32, 64, 4096 FOR PARTITIONED FILE AND 4096 FOR LINEAR FILE. 4C 1 OBDFISHF SHIFT VALUE USED TO OBTAIN THE DATA SET NUMBER FROM PAGE NO. DATA SET SIZE = 2**OBDFISHF. REDUNDANT WITH OBDFINUM SINCE: OBDFINUM=2**(24-OBDFISHF). 4D 1 OBDFI_RELCREATED RELEASE WHEN TS IS CREATED. 4E 2 OBDFISIZ PAGE SIZE 50 1 OBDFIHAN FOR NON-HASHED FILE: 0. FOR HASHED FILE: NUMBER OF ANCHOR POINTS IN A HASH PAGE 51 1 OBDFIPFS DEFAULT PERCENT FREE SPACE PER PAGE TO BE LEFT DURING LOAD OR REORGANIZATION
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

507

DO NOT COPY
52 1 OBDFISFS

Restricted Materials of IBM Licensed Materials Property of IBM

| | |

DEFAULT PERCENT OF FREE PAGES TO BE LEFT DURING LOAD OR REORGANIZATION. -----------------------------------------------------------OTHER FILE PARAMETERS -----------------------------------------------------------53 1 OBDFGROS TYPE OF GROSS LOCK TO BE ACQUIRED AT ALLOCATION. VALID VALUES ARE: A = LOCKSIZE(ANY), START WITH PAGE LEVEL LOCKING, POSSIBLY ESCALATE TO PAGE SET OR DATA SET LEVEL LOCKING IF UNSEGMENTED TABLESPACE, OR ESCALATE TO TABLE LEVEL LOCKING IF SEGMENTED TABLE SPACE. P = LOCKSIZE(PAGE), EXPLICIT PAGE LEVEL LOCKING. S = LOCKSIZE(TABLESPACE), PAGE SET OR PARTITION LEVEL LOCKING. T = LOCKSIZE(TABLE), TABLE LEVEL LOCKING, FOR SEGMENTED TABLESPACES ONLY. R = LOCKSIZE(ROW), FOR ROW LEVEL LOCKING. L = LOCKSIZE(LOB), FOR LOB LEVEL LOCKING. X = LOCKSIZE(XML), FOR XML LEVEL LOCKING. 54 8 OBDFNAME FILE NAME. UNIQUE ACROSS FILE NAMES AND INDEX NAMES IN DATABASE. -----------------------------------------------------------AREA-MAP INFORMATION. APPLICABLE ONLY IF DYNAMIC FILE. OBDFIAPM AND OBDFINPA ARE BOTH 0 IF THE FILE IS NOT DYNAMIC. -----------------------------------------------------------5C 4 OBDFIAPM MAXIMUM NUMBER OF AREAS COVERED BY AN AREA-MAP. 60 4 OBDFINPA MAXIMUM NUMBER OF PAGES IN THE SPACE COVERED BY AN AREA-MAP. -----------------------------------------------------------SPACE MANAGEMENT INFORMATION: IT CONSISTS OF 2 VARIABLES: (1) THE RANGE-MAP OBDFIMAP, A 3 ENTRY TABLE, USED TO MAP THE FREE SPACE F(P) OF A PAGE P INTO A 2 BIT CODE. IF F(P) >= OBDFIMAP(1) THEN CODE = 00. IF OBDFIMAP(1) > F(P) >= OBDFIMAP(2) THEN CODE = 01. IF OBDFIMAP(2) > F(P) >= OBDFIMAP(3) THEN CODE = 10. IF OBDFIMAP(3) > F(P) THEN CODE = 11. A 3 MAP ENTRY COVERS 4 INTERVALS. (2) THE SEARCH-INTERVAL OBDFISMS. IT IS THE NUMBER OF BYTES OF SPACE MAP TO SEARCH FORWARD AND BACKWARD WHEN SPACE IS REQUESTED "NEAR" A TENTATIVE PAGE. -----------------------------------------------------------64 6 OBDFIMAP RANGE MAP 6A 2 OBDFISMS SEARCH INTERVAL -----------------------------------------------------------DSI PROCESSING INFORMATION -----------------------------------------------------------6C 2 OBDFLRC RC-ID FOR WHICH A FS IS REQUIRED TO COMPLETE DEFINITION OF A HIERARCHICAL CLUSTERED FILE. -----------------------------------------------------------6E 1 OBDFFLAG FLAG BYTE 1... .... OBDFBIND YES IF BIND IS PROHIBITED ON THE FILE .1.. .... OBDFDSI YES IF DEFINITION IS PROHIBITED ON THE FILE. ..1. .... OBDFCIM YES IF CLUSTERED FILE DEFINITION NOT COMPLETE ...1 .... OBDFNSRP YES: NO SPACE RESERVATION PARMS ARE KEPT IN FILE OBD

508

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | |

THEY ARE KEPT IN OBDPSPFS AND OBDPSFPG OF PAGE SET OBD. NO: SPACE RESERVATION PARMS ARE KEPT IN OBDFIPFS AND OBDFISFS OF THE FILE OBD. .... 1... OBDFIENF ENFORCE LOCKSIZE INDICATOR YES = 1, NO = 0 .... .1.. OBDFILAR LARGE TABLE SPACE INDICATOR YES = 1, NO = 0 .... ..1. OBDFITY2 ALL INDEX INDICATOR YES = 1, NO = 0 .... ...1 OBDFIMRC MEMBER CLUSTERED TABLE SPACE INDICATOR YES = 1, NO = 0 -----------------------------------------------------------6F 1 OBDFIMRK FILE OBD DEPENDENCY MARK 70 2 OBDFINX OBID OF NEXT FILE IN DBD. 0 IF THIS IS THE LAST FILE. 72 2 RESERVED. 74 4 OBDFILKM LOCKMAX PARAMETER VALUE. IF VALUE IS 0 THEN NO ESCALATION IS DESIRED, IF -1 THEN LOCK ESCALATION IS NOT APPLICABLE, AND IF -2 THEN THE SUBSYSTEM LOCK LIMIT IS TO BE USED. 78 2 OBDFFLG2 FLAGS. 1111 .... OBDFIENC FLAGS FOR ENCODING SCHEME: B0000 IF THIS TABLE SPACE IS A WORK FILE TABLE SPACE OR THE TABLE SPACE WAS CREATED BEFORE VERSION 5. B0001 IF THIS TABLE SPACE IS EBCDIC. B0010 IF THIS TABLE SPACE IS ASCII. B0100 IF THIS TABLE SPACE IS UNICODE. .... 1... OBDFIEAL ENCODING SCHEME. .... .111 * RESERVED. 1111 1111 * RESERVED. 7A 2 OBDFSCCS CCSID FOR SBCS DATA IN THE TABLE SPACE. 7C 2 OBDFDBCS CCSID FOR DBCS DATA IN THE TABLE SPACE. 7E 2 OBDFMCCS CCSID FOR MIXED DATA IN THE TABLE SPACE.

Check constraint descriptor


A check constraint descriptor contains the following parts: v Fixed length common section: header, OBID-pointers v Variable length section: internal structure v Check constraint name structure, at offset OBDCCNAM_OFFSET
0 OBDCC -----------------------------------------------------------HEADER OF A CHECK CONSTRAINT DESCRIPTOR -----------------------------------------------------------00 8 OBDCCHEA FIXED LENGTH SECTION WITHOUT THE INTERNAL STRUCTURE, TCCCOND 00 2 OBDCCFL MUST BE EQUAL TO 2010X FOR A CHECK CONSTRAINT(CC) DESCRIPTOR. 111. .... OBDCCTYP EQUAL TO B001. ...1 1111 NOT USED (ALIGN WITH OBDREC). 111. .... ...1 .... OBDCCTY2 EQUAL TO B1. .... 1111 * NOT USED (ALIGN WITH OBDREC).
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

509

DO NOT COPY
| | | | | | | |
02

Restricted Materials of IBM Licensed Materials Property of IBM

2 OBDCCFLG2 FLAGS. CHECK OBDS FOR SPECIFIC USAGE. 1111 .... * RESERVED. .... 1... OBDCCCLONE 1 - CLONE, 0 - BASE. .... .111 * RESERVED 1111 1111 * RESERVED 04 4 OBDCCLTH LENGTH OF CC DESCRIPTOR. 08 2 OBDCCID ID OF CC DESCRIPTOR. 0A 22 * RESERVED. 16 8 OBDCCCPOFF OFFSET THE COUNTERPART OBD AT 33-40. 28 16 * RESERVED. -----------------------------------------------------------OBID-POINTERS TO DESCRIPTORS RELATED TO CHECK CONSTRAINT -----------------------------------------------------------38 2 OBDCCREC ID OF RECORD CONTAINING THIS CC. 3A 2 OBDCCNXT ID OF NEXT CC DESCRIPTOR. 0 IF LAST ONE. -----------------------------------------------------------OTHER INFORMATION -----------------------------------------------------------3C 6 OBDCCRBA RBA WHEN THE CHECK CONSTRAINT OBD IS CREATED. RECOVER UTILITY USES THIS FIELD TO DETERMINE IF THERE ARE ANY CHECK CONSTRAINTS DEFINED AFTER THE QUIESCE RBA. 42 1 OBDCCTP ALWAYS NO. INDICATES THAT THIS IS A CHECK CONSTRAINT, NOT A TRIGGER. 43 7 RESERVED. -----------------------------------------------------------INTERNAL STRUCTURE INFORMATION -----------------------------------------------------------4A 2 * RESERVED. 4C 4 OBDCCNAM_OFFSET OFFSET TO THE CHECK CONSTRAINT NAME. 50 16 * RESERVED. 60 4 OBDCCLEN LENGTH OF THE STRUCTURE. 64 * OBDCCSTR INTERNAL STRUCTURE USED TO ENFORCE THE CHECK CONSTRAINT. -----------------------------------------------------------CHECK CONSTRAINT NAME STRUCTURE -----------------------------------------------------------00 * OBDCCNAME_AREA CHECK CONSTRAINT NAME STRUCTURE. 00 2 OBDCC_NAME_LEN LENGTH OF THE NAME. 02 * OBDCC_NAME CHECK CONSTRAINT NAME.

Record type OBD


The OBD record type consists of: v A fixed-length common section: header, OBID-pointers, record structure, flags, and DB-procedures. v A variable-length DSNDROW instance, present at offset OBDOROW if OBDREDIT=yes or OBDRVALI=yes. v A variable-length field section.
0 4A OBDREC -----------------------------------------------------------HEADER OF A RECORD TYPE OBD -----------------------------------------------------------8 OBDRECPA PART OF OBDREC. LENGTH(OBDRECPA) USED TO CALCULATE APPROXIMATE LENGTH OF A RECORD TYPE OBD AT COMPILE TIME. 8 OBDREHEA 2 OBDRECFL FLAGS FOR A RECORD DESCRIPTOR COMMONLY USED FLAGS GROUPED TOGETHER IN SECOND BYTE.

510

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM 111. ....

DO NOT COPY

| | | | | | | | | | | | | |

| |

EQUAL TO 001 SINCE RECORD/ CHECK CONSTRAINT OBD. ...1 .... OBDREOHN CURRENT NEW RECORD VALUE OF PGSOHC IN STORED RECORD. .... 1... OBDREIBM YES IF EDIT DB-PROCEDURE IS IBM SUPPLIED. .... .1.. OBDRVIBM YES IF VALIDATION DB-PROC. HAS BEEN COMPILED FROM HIGH LEVEL SPECIFICATION LANGUAGE .... ..1. OBDRECSI YES IF RECORD MAY BE A CHILD IN A SPARSE INDEX (E.G. DL/I SEC INDEX.) .... ...1 OBDRTIBM YES IF RT DEFINED AND REQUIRED BY IBM 1... .... OBDREVLR YES IF VARIABLE LENGTH RECORD (VLR) .1.. .... OBDREVLF YES IF RECORD MIGHT HAVE VARIABLE LENGTH FIELDS (VLF) OBDREVLR=OBDREVLF=NO IF RECORD IS FIXED-LENGTH. FIXED LENGTH RECORDS CANNOT HAVE OVERFLOW. ..1. .... OBDREVAF YES IF VLR, OR VLF WITH SOME FIELD ACTUALLY OF VAR. LTH. VLF=YES AND VAF=NO RESULTS FROM A OHC WHICH LENGTHENS A FIXED-LENGTH RECORD BY A FIXED AMOUNT. ...1 .... OBDRETY2 EQUAL TO B0 SINCE RECORD OBD. .... 1... OBDREOHC YES IF OHC IN PROGRESS ON REC. OHC=YES IMPLIES VLR OR VLF=YES .... .1.. OBDREDIT YES IF EDIT DB-PROCEDURE USED, WHICH IMPLIES RECORD IS NOT FIXED-LENGTH (THAT IS, OBDREVLR= YES OR OBDREVLF=YES). .... ..1. OBDRVALI YES IF VALIDATION DB-PROC USED .... ...1 OBDRFVAL YES IF SOME FAN SET VALIDATION DB-PROCEDURE EXISTS FOR ANY FAN SETS IN WHICH RECORD IS A CHILD. -----------------------------------------------------------2 2 OBDRFLG 1... .... OBDRSTNG SUBTYPE OBDRDBCS IS NOT GOOD. DM HAS TO GET OBDRDBCS VALUE FROM THE CATALOG .1.. .... OBDRAPPEND YES - APPEND YES, NO - APPEND NO. ..11 .... * RESERVED. .... 1... OBDRECLONE 1 - CLONE, 0 - BASE. .... .111 * RESERVED. 1111 1111 * RESERVED. 4 4 OBDRELTH LENGTH OF RECORD DESCRIPTOR 8 2 OBDRECID ID OF RECORD DESCRIPTOR A 1 OBDREFMTNUM OBDREC FORMAT NUMBER. 0 IMPLIES VERSION 8 OBDREC FORMAT, MEANING THAT OBDRFIXEDLEN, OBDRFIXEDLENANDO, OBDRNUMVL, OBDRELSTVL, OBDREFOF2 FIELDS ARE ZERO B 1 OBDRENVB NUMBER OF VARBIN COLUMNS IN THE TABLE C 4 OBDREXTO OFFSET FROM OBDREC TO EXTERNAL SECTION. OBDRX DEFINES THE RECORD EXTENSION FORMAT. VALID WHEN OBDREXTV=YES AND RECORD IS IN SEGMENTED FILE 10 2 OBDRE_PRIME_VER VERSION NUMBER FOR OBDREC BEFORE FORMAT-CHANGING ALTERS 12 2 OBDRE_SLCNUM SECURITY LABEL COLUMN NUMBER 14 2 OBDRE_DOCID_COLNO DOCID COLUMN NUMBER. 0 MEANS THAT NO SUCH COLUMN EXISTS
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

511

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | |
16 2

Restricted Materials of IBM Licensed Materials Property of IBM

| | | | | |

OBDRE_RCTC_COLNO ROW-CHANGE-TIMESTAMP COLUMN NUMBER. 0 MEANS THAT NO SUCH COLUMN EXISTS 18 2 OBDRFIXEDLEN LENGTH OF THE FIXED-LENGTH PORTION OF A ROW IN REORDERED ROW FORMAT, EXCLUDING THE ROW PREFIX AND THE OFFSET FIELDS 1A 2 OBDRFIXEDLENANDO LENGTH OF THE FIXED LENGTH PORTION OF A ROW IN REORDERED ROW FORMAT, EXCLUDING THE ROW PREFIX BUT INCLUDING THE OFFSET FIELDS 1C 2 OBDRNUMVL NUMBER OF THE VARYING LENGTH FIELDS IN THE ROW 1E 2 OBDRESID OBDRESID OF THE SOURCE WF OBDREC FILE TABLES 20 8 OBDRECPOFF OFFSET THE COUNTERPART OBD AT 33-40. ALWAYS ZERO 28 2 OBDREBASE FOR BASE (NON CLONE) TABLE. THIS VALUE IS THE SAME AS OBDRECID. FOR CLONE TABLES, THIS VALUE IS THE OBID OF THE BASE TABLE OBDREC 2A 2 OBDREVID OBID OF OBDVIEW, 0 IF NONE. 2C 12 * RESERVED -----------------------------------------------------------OBID-POINTERS TO DESCRIPTORS RELATED TO RECORD -----------------------------------------------------------38 2 OBDREFIL ID OF FILE CONTAINING RECORD. FOR AN AUXILIARY TABLE, THIS FIELD CONTAINS THE OBID OF OBDFILE FOR THE LOB TABLE SPACE. FOR XML TABLE, THIS VALUE IS THE FILE ID OF THE XML TABLE SPACE 3A 2 OBDREREC ID OF NEXT RECORD IN FILE. 0 IF NONE. ALWAYS 0 FOR AN AUXILIARY TABLE. 3C 2 OBDRECHI ID OF 1ST FAN SET IN WHICH RECORD IS CHILD (THAT IS, CLIST. FAN SET). 0 IF NONE. FOR AN INDEX ON AN AUXILIARY TABLE, THE OBID OF OBDFS. 3E 2 OBDREPAR ID OF 1ST FAN SET IN WHICH RECORD IS PARENT. 0 IF NONE. -----------------------------------------------------------DESCRIPTION OF RECORD STRUCTURE -----------------------------------------------------------40 2 OBDREMAL LENGTH OR MAX LTH OF DATA PART 42 2 OBDREBEG OFFSET TO BEGINNING OF DATA -----------------------------------------------------------DM PROCESSING FLAGS -----------------------------------------------------------44 2 OBDRFLAG FLAG BYTE 1... .... OBDRBIND YES IF BIND IS PROHIBITED ON THE RECORD TYPE .1.. .... OBDRDLT YES IF RC IS LOGICALLY DELETED ..11 .... OBDREAUD AUDIT LOG B00 = AUDIT(NO). B01 = AUDIT(CHANGES) B10 = AUDIT(ALL) B11 = RESERVED .... 1... OBDRDEF YES IF A PRIMARY KEY EXISTS FOR THE RECORD TYPE, BUT THE INDEX THAT GUARANTEES ITS UNIQUENESS IS NOT DEFINED; NO OTHERWISE. .... .1.. OBDREXTV YES IF OBDREXTO IS VALID .... ..1. OBDRECAP YES IF CHANGED DATA CAPTURE IS IN EFFECT. .... ...1 OBDREOLD YES IF "OLD" OBD MEANING CREATED

512

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

PRIOR TO CHANGED DATA CAPTURE INSTALL. 1... .... OBDRETCC YES IF THERE IS A CHECK CONSTRAINT DEFINED ON THIS TABLE .1.. .... OBDREUDC YES IF THERE IS A USER-DEFINED DEFAULT CONSTANT IN THIS TABLE ..1. .... OBDREIPK YES IF A PRIMARY INDEX WAS CREATED. ...1 .... OBDRETG YES IF TRIGGERS WERE CREATED. .... 1111 OBDREENC ENCODING SCHEME: B0000 IF THIS TABLE IS IN THE WORK FILE TABLE SPACE OR IT WAS CREATED BEFORE VERSION 5. B0001 IF THIS TABLE IS EBCDIC. B0010 IF THIS TABLE IS ASCII. -----------------------------------------------------------DESCRIPTION OF RECORD DB-PROCEDURES, OHC IN PROGRESS -----------------------------------------------------------46 2 OBDRECURR_VER CURRENT TABLE VERSION NUMBER 48 8 OBDREDNM NAME OF EDITING DB-PROCEDURE MODULE IN LIBRARY (IF OBDREDIT =YES AND OBDREIBM=NO) 50 4 OBDREEP IF OBDREIBM=NO: ADDRESS OF USER SUPPLIED EDITING MODULE. 0 IF MODULE IS NOT LOADED. IF OBDREIBM=YES: IBM SUPPLIED EDITING MODULE NUMBER (0,4,.) 54 8 OBDRVANM NAME OF VALIDATION DB-PROCEDURE MODULE IN LIBRARY. (IF OBDRVALI=YES). 5C 4 OBDRVEP ADDRESS OF USER-SUPPLIED OR IBM-COMPILED VALIDATION MODULE 0 IF MODULE IS NOT LOADED. 60 2 OBDOROW RESERVED 62 2 OBDRELPA OBID OF FIRST RELATIONSHIP DESCRIPTOR IN WHICH THIS RECORD IS A PARENT 64 2 OBDRELCH OBID OF FIRST RELATIONSHIP DESCRIPTOR IN WHICH THIS RECORD IS A DEPENDENT 66 6 OBDRERBA RBA OF DROP OR ALTER ADD COLUMN. RBA IS FOR DROP IF FIELD IS NON-ZERO AND RT IS LOGICALLY DELETED (OBDRDLT = YES). RBA IS FOR ALTER ADD COLUMN IF FIELD IS NON-ZERO OTHERWISE. 6C 1 OBDREPA1 PADDING CHARACTER FOR SBCS 6D 2 OBDREPA2 PADDING CHARACTER FOR DBCS -----------------------------------------------------------MIGRATION/FALLBACK INFORMATION 6F 1 OBDREMRK RECORD TYPE OBD DEPENDENCY MARK 70 2 OBDREPKC_OFFSET OFFSET TO OBDPART_KEY_COLS 72 2 OBDRCCSID_OFFSET OFFSET TO OBDRCCSID_AREA -----------------------------------------------------------DESCRIPTION OF FIELDS: A FIELD CONSISTS OF A FIXED-LENGTH PREFIX AND OF A VARIABLE LENGTH LIST OF FIELD ENTRIES. A FIELD ENTRY CONSISTS OF A COMMON SECTION, FOLLOWED BY AN APPENDAGE, WHOSE FORMAT DEPENDS ON WHETHER THE ENTRY DESCRIBES A BASE FIELD OR A PIECE OF AN OVERLAY FIELD. DESCRIPTORS OF BASE FIELDS APPEAR FIRST, IN THE SAME ORDER AS THEY APPEAR IN THE RECORD. THERE CAN BE NO GAPS, AND THEY COMPLETELY FILL THE RECORD. A BASE FIELD IS DESCRIBED BY A SINGLE ENTRY, WITH AN APPENDAGE WHICH IS GIVEN BY OBDBAFLD. DESCRIPTORS OF OVERLAY FIELDS APPEAR AFTER THE BASE FIELDS. AN OVERLAY FIELD IS DESCRIBED BY A LIST OF ENTRIES, WHICH ARE ASSOCIATED WITH THE BASE FIELDS MAKING UP THE OVERLAY
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

513

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

FIELD. THE LIST HAS VARIABLE LENGTH, AND IT IS DELIMITED BY OBDRENFI AND OBDRENLA. ALL BUT THE LAST ONE OF THE BASE FIELDS IN THE LIST MUST BE OF FIXED-LENGTH. THE FORMAT OF THE APPENDAGE FOR A LIST ENTRY IS DESCRIBED IN OBDOVFLD. FIXED-LENGTH PREFIX -----------------------------------------------------------74 2 OBDRENFD NUMBER OF ELEMENTS IN OBDREFLD 76 2 OBDREOBE FIELD NUMBER OF FIRST OVERLAY FIELD (SUBSCRIPT OF OBDREFLD) 0 IF NONE. 78 2 OBDREUF1 FIELD NUMBER OF FIRST FIELD WHICH IS NOT UPDATABLE, OR PART OF A FAN SET KEY. -1 IF NONE. 7A 2 OBDRECC1 ID OF FIRST CHECK CONSTRAINT OBD. 7C 2 OBDRECCL ID OF LAST CHECK CONSTRAINT OBD. -----------------------------------------------------------LIST OF FIELD ENTRIES -----------------------------------------------------------7E 12 OBDREFLD -----------------------------------------------------------FIELD ENTRY FLAGS -----------------------------------------------------------7E 4 OBDREFFL FIELD ENTRY FLAGS -----------------------------------------------------------FLAGS RELATED TO LENGTH, OFFSET OF BASE FIELD FOR ENTRY -----------------------------------------------------------1... .... OBDREFVL YES IF VAR LTH FIELD ENTRY .1.. .... OBDREFVO YES IF OFFSET TO BEGIN OF BASE FIELD FOR ENTRY IS VARIABLE. RESERVED AND ALWAYS 0 IF ENTRY IS FOR OVERLAY FIELD. THIS FIELD IS ONLY APPLICABLE TO ROWS IN BASIC ROW FORMAT. ..1. .... OBDREFL1 YES IF LENGTH FIELD FOR DL/I VARIABLE LENGTH RECORD. YES POSSIBLE ONLY FOR FIELD 1. -----------------------------------------------------------FLAGS RELATED TO OVERLAY FIELDS. ALSO END OF LIST FLAG. -----------------------------------------------------------...1 .... OBDREOVE YES IF OVERLAY FIELD (FIELD TEMPLATE IN OBDOVFLD). NO IF BASE FIELD (FIELD TEMPLATE IN OBDBAFLD). .... 1... OBDRENFI YES IF NOT 1ST IN OVERLAY FLD ALWAYS 0 FOR BASE FIELD. .... .1.. OBDRENLA YES IF NOT LAST IN OVERLAY FLD ALWAYS 0 FOR BASE FIELD. .... ..1. OBDRELST YES IF LAST ENTRY IN OBDREFLD -----------------------------------------------------------FLAGS RELATED TO KEY MEMBERSHIP AND UPDATEABILITY. NOT APPLICABLE (ALWAYS 0) FOR OVERLAY ENTRIES. -----------------------------------------------------------.... ...1 OBDREFOH YES IF FIELD IS PART OF A ORDER OR HASH KEY. NOT APPLICABLE (ALWAYS 0000) FOR OVERLAY ENTRIES 1... .... OBDREFST YES IF FIELD IS PART OF AN EMBEDDED STRUCTURAL KEY OF A CHILD IN A STRUCTURAL FAN SET .1.. .... OBDREFNU YES IF FIELD NOT UPDATABLE FOR NON-DL/1 USERS ..1. .... OBDREDNU YES IF FIELD NOT UPDATABLE FOR DL/1 USERS -----------------------------------------------------------FIELD DATA TYPE. POSSIBLE VALUES OF OBDRFTYP ARE IN DSNDMSC. NOT APPLICABLE (ALWAYS 0000) FOR OVERLAY ENTRIES.

514

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| |

| | | | | | | | |

-----------------------------------------------------------...1 111. OBDRFTYP DATA TYPE. .... ...1 OBDRNULL YES IF NULL VALUE IS ALLOWED -----------------------------------------------------------80 1... .... OBDRFIBM YES IF FIELD DEFINED AND REQUIRED BY IBM .1.. .... OBDRSYSD YES, THE FIELD DEFAULT VALUE IS THE SYSTEM DEFAULT. ..1. .... OBDREFFK YES IF FIELD PART OF A FOREIGN KEY ...1 .... OBDREFPK YES IF FIELD PART OF A PRIMARY KEY .... 1... OBDRUDDC YES, THE FIELD DEFAULT VALUE IS THE USER-DEFINED CONSTANT. THE CONSTANT IS STORED IN OBDRUFUV. THE STARTING ADDRESS OF THIS STRUCTURE IS ADDR(OBDRX)+OBDRXUDO+ LENGTH(OBDRUHDR)+(OBDRENFD* LENGTH(OBDRUFUD)). THE OFFSET (FROM OBDRUFUV) AND THE CONSTANT LENGTH IS STORED IN THE OBDRUFUD ARRAY WHOSE STARTING ADDRESS IS ADDR(OBDRX)+OBDRXUDO+ LENGTH(OBDRUHDR). THE INDEX TO OBDRUFUD ARRAY IS THE SAME AS THE INDEX TO OBDREFLD ARRAY. .... .1.. OBDRUDDU YES, THE FIELD DEFAULT VALUE IS THE USER SPECIAL REGISTER. .... ..1. OBDRUDDS YES, THE FIELD DEFAULT VALUE IS THE SQL AUTHORIZATION ID. .... ...1 OBDRUDDN YES, THE FIELD DEFAULT VALUE IS NULL (DEFAULT NULL SPECIFIED). 81 11.. .... OBDRDBCS INDICATES WHETHER THE FIELD IS SBCS: B01 IF THE FIELD IS SBCS B10 IF THE FIELD IS DBCS ..1. .... OBDRERI YES IF THE FIELD IS A ROW IDENTIFIER ...1 .... OBDRELOB YES IF THE FIELD IS A LOB .... 1... OBDREID YES IF THE FIELD IS AN IDENTITY COLUMN .... .1.. OBDREPTC YES IF THIS COLUMN IS PART OF A PARTITIONING KEY .... ..1. OBDREHR1 YES IF COLUMN IS HIDDEN ROWID. .... ...1 OBDRE_SECL YES: A SECURITY LABEL COLUMN. -----------------------------------------------------------SPACE FOR INFORMATION DEPENDENT ON WHETHER FIELD IS BASE OR OVERLAY. SEE OBDBAFLD, OBDOVFLD FOR DCLS. -----------------------------------------------------------82 1 OBDPRECISION PRECISION. 83 1 OBDRSCALE SCALE. 84 1 OBDRCCSIDI INDEX INTO OBDRCCSIDF(*) ARRAY. 85 1 OBDREFL2 2ND SET OF RECORD FIELDS FLAGS 111. .... * XML BITS OBDREXMLI YES IF THIS IS XML INDICATOR IN THE BASE OR XML COLUMN IN AN XML TABLE OBDREXDID YES IF THIS VALUE IS A DOCID COLUMN OBDREXNID YES IF THIS VALUE IS A NODE ID COLUMN ...1 .... OBDRRCTC ROW-CHANGE-TIMESTAMP COLUMN .... 1... OBDRELSTVL YES IF THE LAST VARYING LENGTH COLUMN IN A ROW .... .111 * UNUSED 86 A OBDBAOVF RESERVED -----------------------------------------------------------OBDRCCSID_AREA ARRAY STRUCTURE. THIS STRUCTURE IS LOCATED AT ADDR(OBDREC) + OBDRCCSID_OFFSET. -----------------------------------------------------------0 0 OBDRCCSID_AREA 0 4 OBDRCCSID_AREA_HDR STRUCTURE HEADER. 0 1 OBDRCCSIDN TOTAL NUMBER OF CCSID TRIPLETS FOR THE TABLE. 1 3 * ALIGNMENT. 4 A OBDCCSIDF CCSID TRIPLET STRUCTURE. THE
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

515

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| | | |

| | |

NUMBER OF THESE STRUCTURES IS IN OBDRCCSIDN. 4 2 OBDR_SCCS SBCS CCSID. 6 2 OBDR_DBCSCI DBCS CCSID. 8 2 OBDR_MCCS MIXED CCSID. A 1 OBDR_PAD1 PADDING CHARACTER FOR SBCS. B 2 OBDR_PAD2 PADDING CHARACTER FOR DBCS. D 2 * ALIGNMENT. -----------------------------------------------------------REDEFINITION OF OBDREFLD(*) WITH LAST PART SPECIALIZED FOR THE CASE OF BASE FIELDS (OBDREOVE=NO). -----------------------------------------------------------7E 0 OBDBAFLD 7E 4 * RESERVED. 82 2 OBDREFLL LENGTH OR MAX-LENGTH OF FIELD, NOT INCLUDING LENGTH FIELD IF VARYING LENGTH. INCLUDES NULL FLAG FIELD (ONE BYTE) IF FIELD HAS NULLS YES ATTRIBUTE (OBDRNULL=YES) EXAMPLES: VARCHAR 10 NULLS NO: OBDREFLL = 10 VARCHAR 10 NULLS YES: OBDREFLL = 11 FIXED NULLS NO: OBDREFLL = 4 FIXED NULLS YES: OBDREFLL = 5 84 2 OBDREFLL_V8 NEW DCL FOR OBDREFLL SO THAT THE COMPILER CAN DISTINGUISH OBDBAFLD0. OBDREFLL WHEN REFERENCED BY OBDREC POINTER 86 2 OBDREFOF IF OBDREFVO=NO: OFFSET TO FIELD FROM BEGINNING OF DATA PART IN STORED RECORD AND IN RECORD AS VISIBLE AT THE MSI. IF OBDREFVO=YES: OFFSET TO FIELD IN RECORD AS VISIBLE AT THE MSI. MUST USE MAX LENGTHS OF PREVIOUS FIELDS INCLUDING PREVIOUS LENGTH FIELDS FOR OFFSET IN STORED RECORD. 88 2 OBDREUFN IF FIELD PART OF KEY OR NOT UPDATABLE (THAT IS, OBDREFOH | OBDREFST | OBDREFNU | OBDREDNU = YES) FIELD NUMBER OF NEXT SUCH FLD. -1 IF LAST OF SUCH FIELDS. 0 IF NOT ONE OF SUCH FIELDS. 8A 2 OBDREFOF2 OFFSET TO FIXEDLEN FIELD OR TO VARLEN FIELDS OFFSET IN THE ROW IN REORDERED ROW FORMAT 8C 4 * ALIGNMENT. -----------------------------------------------------------REDEFINITION OF OBDREFLD(*) WITH LAST PART SPECIALIZED FOR THE CASE OF OVERLAY FIELDS (OBDREOVE=YES). -----------------------------------------------------------7E 0 OBDOVFLD 7E 4 * RESERVED. 82 2 OBDOVNBF NUMBER OF BASE FIELDS THAT CONTAIN THIS OVERLAY. THIS VALUE IS THE SAME IN ALL OVERLAY ENTRIES. 84 2 OBDOVBFN BASE FIELD NUMBER THAT DEFINES THIS PART OF THE OVERLAY 86 2 OBDOVTLN TOTAL LENGTH OR MAX LENGTH OF OVERLAY FIELDS: THE SUM OF OBDREFLL VALUES OF BASE FIELDS. THIS VALUE IS THE SAME IN ALL OVERLAY ENTRIES. 88 4 * ALIGNMENT. ------------------------------------------------------------

516

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

REDEFINITION OF OBDREFLD(*) WITH LAST PART SPECIALIZED FOR AUXILIARY TABLES (OBDRAUXE=YES AND OBDREOVE=NO). -----------------------------------------------------------7E 0 OBDOVFLD 7E 4 * RESERVED. 82 4 OBDRAFLL MAXIMUM LENGTH OF LOB COLUMN. 86 6 * RESERVED. -----------------------------------------------------------PARTITIONING KEY COLUMN INFORMATION. THIS STRUCTURE IS LOCATED AT ADDR(OBDREC)+OBDREPKC_OFFSET IF OBDREPKC_OFFSET IS NOT 0. -----------------------------------------------------------0 0 OBDPART_KEY_COLS 0 4 OBDPK_F PARTITIONING KEY COLUMN INFORMATION. 0 2 OBDPKLEN TOTAL LENGTH OF THE PARTITIONING KEY. 2 2 OBDKNUM NUMBER OF PARTITIONING COLUMNS. 4 4 OBDPARTKFLD PARTITIONING KEY COLUMN STRUCTURE. THE NUMBER OF THESE STRUCTURES IS IN OBDKNUM. 4 2 OBDPARTK_COL_NUM PARTITIONING KEY COLUMN NUMBER. 6 1 OBDPARTK_ORDER WHETHER INDEX KEY COLUMN IS ASCENDING (A) OR DESCENDING (D). 7 1 * ALIGNMENT. -----------------------------------------------------------TEMPLATE FOR ONE OCCURRENCE OF OBDPARTKFLD. -----------------------------------------------------------0 0 OBDPKF PARTITIONING KEY FIELD. 0 2 OBDPKCN PARTITIONING KEY COLUMN NUMBER. 2 1 OBDPKO PARTITIONING KEY ORDER: A ASCENDING ORDER. D DESCENDING ORDER. 3 1 * ALIGNMENT.

Record extension for segmented tables


Each table in a segmented table space contains the following data area.
-----------------------------------------------------------RECORD EXTENSION BLOCK. ADDRESSED AS ADDR(OBDREC)+OBDREXTO. PRESENT IF (OBDREXTO = 0) AND CONTAINING FILE IS SEGMENTED. -----------------------------------------------------------0 OBDRX 64 OBDRXCHD 2 OBDRXCID ID ALWAYS X20AD 2 2 OBDRXLEN LENGTH OF OBDRX 4 4 OBDRXEYE EYECATCHER - ALWAYS OBDX -----------------------------------------------------------SPACE MANAGEMENT INFO FOR TABLE IN SEGMENTED TABLE SPACE -----------------------------------------------------------8 2 OBDRXMAX } RANGE MAP: A 3-ENTRY TABLE 0A 2 OBDRXINC } USED TO MAP THE FREE SPACE OF 0C 2 OBDRXMIN } A PAGE INTO A 4-BIT CODE B0000: PAGE IS NOT YET FORMATTED OR EMPTY CAUSED BY MASS DELETE. READ I/O NOT REQUIRED. B0001: PAGE IS EMPTY, EMPTY CAUSED BY A SINGLE RECORD DELETE. READ I/O IS REQUIRED FOR INSERT B0010: PAGE IS NOT EMPTY AND FREE SPACE >= MAXIMUM SIZE RECORD. B0100: AVG. SIZE RCD <= FREE SPACE < MAXIMUM SIZE RECORD,
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

517

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| | | | | | | | | | |

| | | | | | | |

| |

B1000: MIN. SIZE RCD <= FREE SPACE < AVG. SIZE RECORD. B1111: PAGE IS FULL, FREE FREE SPACE < MINIMUM SIZE RECORD. -----------------------------------------------------------LOCK SIZE AND LOCK MAX VALUES FOR ROW LEVEL LOCKING -----------------------------------------------------------OE 1 OBDRXLKS POSSIBLE VALUES ARE A,T,S, AND P. LOCKSIZE IS NOT ALLOWED TO BE SPECIFIED IN THE CREATE/ALTER TABLE STATEMENTS. 0F 1 OBDRXFLAG FLAGS FOR OBJECT SUPPORT: 1... .... OBDRXLOB YES IF TABLE CONTAINS A LOB COLUMN. .1.. .... OBDRXAUX YES IF TABLE IS AN AUXILIARY TABLE. ..1. .... OBDRXILO YES IF TABLE DEFINITION IS INCOMPLETE BECAUSE A LOB TABLE SPACE, AUXILIARY TABLE, OR INDEX ON THE AUXILIARY TABLE IS NOT DEFINED FOR A LOB COLUMN. ...1 .... OBDRXIDC YES IF TABLE DEFINITION INCLUDES AN IDENTITY COLUMN. .... 1... OBDRXDOC YES IF DECLARED TEMPORARY TABLE DEFINITION INCLUDES ON COMMIT DELETE ROWS. .... .1.. OBDRXVTB 1B = VIRTUAL CATALOG TABLE, 0B = NOT A VIRTUAL CATALOG TABLE. .... ..1. OBDRXIGT 1B = OBJECT IS INTERNAL DGTT, 0B = NOT AN INTERNAL DGTT. .... ...1 OBDRXLVT 1B = LAST VIRTUAL CATALOG TABLE, 0B = NOT LAST VIRTUAL CATALOG TABLE. 10 4 OBDRXLKM POSSIBLE VALUES ARE 0, -1, -2. LOCKSIZE IS NOT ALLOWED TO BE SPECIFIED IN THE CREATE/ALTER TABLE STATEMENTS. 14 6 OBDRXRB1 CREATE TABLE RBA. 1A 1 OBDRXFL2 OBDRX PLAGS SET 2. 1... .... OBDRXXML YES IF TABLE CONTAINS XML COLUMN. .1.. .... OBDRXXMT YES IF TABLE IS AN XML TABLE. ..1. .... OBDRXNOTONEPIECE 0 = OBDREC IS IN ONE PIECE, 1 = OBDREC IS NOT ONE PIECE. ...1 .... OBDRXWORKFILE 1 = OBDREC IS WORKFILE. .... 1111 * RESERVED. 1B 1 * RESERVED. 1C 4 OBDRXCRE_OFFSET OFFSET TO TABLE CREATOR. 20 4 * RESERVED. 24 4 OBDRXTBN_OFFSET OFFSET TO TABLE NAME. 28 2 OBDRXUC USED BY INTERNAL WORK FILE TABLES. 2A 12 * RESERVED. 36 2 OBDRXCCN NUMBER OF CHECK CONSTRAINTS DEFINED IN THIS TABLE. 38 2 OBDRXUDO OFFSET FROM OBDRX TO THE EXTENSION, OBDRU, WHICH CONTAINS USER-DEFINED DEFAULT CONSTANT VALUE FOR EACH FIELD. VALID ONLY WHEN OBDREUDC = B1 3A 2 OBDRXTGI OFFSET FROM OBDREC TO OBDRXTG, WHICH CONTAINS THE TRIGGER OPERATION LIST. 0 IF NO TRIGGERS ARE DEFINED ON THIS TABLE. 3C 2 OBDREXT2 OFFSET TO THE OBDRX2 EXTENSION. 0 IF THIS EXTENSION DOES NOT EXIST. 3E 2 OBDRXNUM NUMBER OF ELEMENTS IN OBDRXPRT 40 0 OBDRXPRT 40 4 OBDRXFSG SEGMENT NUMBER OF FIRST SEGMENT 44 4 OBDRXLSG SEGMENT NUMBER OF LAST SEGMENT 48 4 OBDRXCSG SEGMENT NUMBER OF CURRENT SEGMENT 4C 4 * RESERVED

518

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

-----------------------------------------------------------TABLE CREATOR STRUCTURE (OFFSET IS OBDRXCRE_OFFSET) -----------------------------------------------------------00 * OBDRXCRE_AREA TABLE CREATOR STRUCTURE 00 2 OBDRX_CRE_NAME_LEN TABLE CREATOR LENGTH 02 * OBDRX_CRE_NAME TABLE CREATOR NAME -----------------------------------------------------------TABLE NAME STRUCTURE (OFFSET IS OBDRXTBN_OFFSET) -----------------------------------------------------------00 * OBDRXTBN_AREA TABLE NAME STRUCTURE 00 2 OBDRX_TB_NAME_LEN TABLE NAME LENGTH 02 * OBDRX_TB_NAME TABLE NAME

Record extension block for the trigger operation list


ADDRESS = ADDR(OBDRX)+OBDRXTGI. Valid only when OBDRETG = B1; triggers are defined on the table.
0 OBDRXTG RECORD EXTENSION -----------------------------------------------------------HEADER OF TRIGGER OPERATION LIST -----------------------------------------------------------20 OBDRXTGHDR OBRXTG HEADER 0 2 OBDRXTGID ID (X2161) 2 2 OBDRXTGLN LENGTH OF OBDRXTG 4 4 OBDRXTGEY EYECATCHER - ALWAYS RXTG 8 2 OBDRXTGCX NOT USED. ALWAYS 0. A 1 OBDRXTGFG FLAGS 1... .... OBDRXOTT YES IF THERE IS AN OLD TRANSITION TABLE FOR AN AFTER TRIGGER .1.. .... OBDRXNTT YES IF THERE IS A NEW TRANSITION TABLE FOR AN AFTER TRIGGER ..11 1111 RESERVED B 15 RESERVED -----------------------------------------------------------LIST OF TRIGGERS -----------------------------------------------------------A8 OBDRXTGL OPERATION LIST. CONSISTS OF 6 ENTRIES, ONE FOR EACH TYPE OF OPERATION (SEE THE LIST BELOW). EACH ENTRY IS 28 BYTES. 1C OBDRXTGTL FIRST ENTRY IN TRIGGER OPERATION LIST 20 2 OBDRXTLE OPERATION TYPE: BI - BEFORE INSERT BU - BEFORE UPDATE BD - BEFORE DELETE AI - AFTER INSERT AU - AFTER UPDATE AD - AFTER DELETE 22 2 RESERVED 24 2 OBDRXFTID ID OF THE FIRST TRIGGER OBID 26 22 RESERVED 3C 1C SECOND ENTRY IN TRIGGER OPERATION LIST 58 1C THIRD ENTRY IN TRIGGER OPERATION LIST 74 1C FOURTH ENTRY IN TRIGGER OPERATION LIST 90 1C FIFTH ENTRY IN TRIGGER OPERATION LIST AC 1C SIXTH ENTRY IN TRIGGER OPERATION LIST

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

519

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Record extension block 2


ADDRESS = ADDR(OBDRX)+OBDREXT2. Present if OBDREXT2 <> 0.
0 64 OBDRX2 RECORD EXTENSION 2 -----------------------------------------------------------LIST OF USER-DEFINED DEFAULT CONSTANT FOR EACH FIELD -----------------------------------------------------------0 64 OBDRX2CH 0 2 OBDRX2ID ID - ALWAYS X22AB. 2 2 OBDRX2EN LENGTH OF OBDRX2 4 4 OBDRX2YE EYECATCHER - ALWAYS OBX2. -----------------------------------------------------------OBID-POINTER TO OBDRA RELATED TO RECORD -----------------------------------------------------------8 2 OBDRX2RA OBID OF OBDRA. FOR THE BASE TABLE, THIS IS THE FIRST OBDRA, AND OBDANEXT POINTS TO THE NEXT OBDRA FOR THE BASE TABLE. FOR AN AUXILIARY TABLE, THIS IS THE OBDRA FOR THE BASE TABLE WITH WHICH THE AUXILIARY TABLE IS ASSOCIATED. A 1 OBDRX2FG FLAGS. 1... .... OBDRX2AD YES IF THE ROWID COLUMN IS DEFINED AS GENERATED ALWAYS. .1.. .... OBDRX2IC YES IF THE ROWID INDEX HAS NOT BEEN CREATED. ..1. .... OBDRX2IR YES IF THE TABLE HAS A PARTITIONING INDEX THAT CONTAINS A ROWID COLUMN. ...1 .... OBDRX2IE YES IF THE TABLE HAS A PARTITIONING INDEX THAT CONTAINS AN IDENTITY COLUMN. .... 1... OBDRX2AC YES IF ALTER ADD COLUMN HAS OCCURRED. .... .1.. OBDRX2IK YES IF AN IDENTITY COLUMN IS DEFINED WITH GENERATED ALWAYS. .... ..1. OBDRX2_DOCID 1 = DOCID EXISTS IN THE TABLE. .... ...1 OBDRX2_DID_GA 1 = DOCID GENERATED ALWAYS, BECAUSE DOCID CANNOT BE GENERATED, THIS BIT AND OBDRX2_DOCID SHOULD BE ON AT THE SAME TIME. B 1 FLAGS. 1... .... OBDRX2EF 1B = GENERATED ALWAYS FOR ROW-CHANGE-TIMESTAMP COLUMN. .111 1111 * RESERVED. C 4 OBDRX2SI 4-BYTE SEQUENCE ID, IF THE TABLE HAS AN IDENTITY COLUMN. 10 4 OBDRX2DTTP DECLARED TEMPORARY TABLE POINTER. 14 4 OBDRX2CT CT ADDRESS FOR DECLARED TEMPORARY TABLE. 18 2 OBDRX2OBD_PRIME_OFFSET OFFSET FROM OBDRX2 TO OBDPRIME. 1A 2 OBDRX2_HRID_COL_NUM >0 = HIDDEN ROWID COLUMN 0 = NO HIDDEN ROWID COLUMN. 1C 4 OBDRX2_SI4DOCID 4-BYTE SEQUENCE DOCID, IF THE TABLE HAS A DOCID COLUMN. 20 2 OBDRX2RM OBID OF OBDRM FOR BASE TABLE, THIS IS THE FIRST OBDRM AND OBDMNEXT CARRIES THE REST OF THE CHAIN FOR XML TABLE, THIS IS THE OBDRM THE XML TABLE IS ASSOCIATED WITH. 22 30 * RESERVED.

| | | | | | | | |

| | | | | | | | | |

520

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Record extension block for user defined default values


ADDRESS = ADDR(OBDRX)+OBDRXUDO. Valid only when OBDREUDC = B1; table has column that is defined with user-defined default constant.
0 14 OBDRU RECORD EXTENSION -----------------------------------------------------------LIST OF USER-DEFINED DEFAULT CONSTANT FOR EACH FIELD -----------------------------------------------------------14 OBDRUHDR OBDRU HEADER 2 OBDRUID ID 2 2 OBDRULN LENGTH OF (OBDRU+OBDRUFUV) 4 4 OBDRUEYE EYECATCHER - ALWAYS OBDU 8 2 OBDRUDCO OFFSET FROM OBDRU TO OBDRUFUV; LIST OF ALL USER-DEFINED DEFAULT CONSTANTS. OBDRUDCO=LENGTH(OBDRUHDR)+ (LENGTH(OBDRUFUD)*OBDRUNUM) A 2 OBDRUDTL TOTAL LENGTH OF ALL USER-DEFINED DEFAULT CONSTANTS. C 2 OBDRUNUM NUMBER OF ENTRIES IN OBDRUFUD E 6 RESERVED 14 0 OBDRUFUD USER-DEFINED CONSTANT HEADER 2 OBDRUFUO OFFSET TO USER-DEFINED CONSTANT FROM THE STARTING POINT OBDRUFUV 16 1 OBDRUDEFAULT_TYPE USED IN OBDVIEW ONLY, DEFAULT TYPE FOR THIS COLUMN. 17 1 * RESERVED. OBDRUFUV ADDR(OBDRUFUV)=ADDR(OBDRU)+ OBDRUDCO LIST OF USER-DEFINED DEFAULT CONSTANTS. THE CONSTANT IS IN DATA MANAGER FORMAT THAT INCLUDE A NULL BYTE IF THE COLUMN IS NULLABLE. IF ITS A VARYING LENGTH CHARACTER STRING 2 BYTE LENGTH-FIELD IS FOLLOWED BY A NULL BYTE (IF COLUMN IS NULLABLE) AND BY THE ACTUAL STRING VALUE. THE NULL BYTE (IF THERE IS) IS INCLUDED IN THE 2 BYTE LENGTH-FIELD.

| | |

Fan set OBD


A descriptor of a fan set consists of the following parts: 1. fixed-length common section: header, OBID pointers, fan set support, flags (rules and miscellaneous), DB-procedure. 2. Variable-length description of an order/hash key, present if OBDFSORH=YES. 3. Variable length description of a structural key, present at offset OBDFSSTO if OBDFSSTR=YES. 4. Variable-length external section, present at offset OBDFSEXO if OBDFSEXO <> 0.
0 4E OBDFS -----------------------------------------------------------HEADER OF FAN SET DESCRIPTOR -----------------------------------------------------------2 OBDFSFL FLAGS FOR A FAN SET DESCRIPTOR 111. .... MUST BE EQUAL TO 000. ...1 .... OBDFSMUL YES IF MULTIPLE FAN SET. .... 1... OBDFSORH YES IF ORDERED OR HASHED OR DATA CONSTRAINTS FS .... .1.. OBDFSSTR YES IF STRUCTURAL FAN SET.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

521

DO NOT COPY
.... ..1. OBDFSCLU

Restricted Materials of IBM Licensed Materials Property of IBM

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

YES IF IT IS THE EXPLICIT CLUSTERING FAN SET. .... ...1 OBDFSIBM YES IF FAN SET IS DEFINED AND REQUIRED BY IBM. 1... .... OBDSINGI YES IF INDEX SUPPORTED SINGULAR FAN SET. .1.. .... OBDSINGH YES IF HASH SUPPORTED SINGULAR FAN SET. ..1. .... OBDMULR YES IF RING SUPPORTED MULTIPLE FAN SET. ...1 .... OBDMULNI YES IF 2-INDEX SUPPORTED MULTIPLE FAN SET. .... 1... OBDFSDC YES IF DATA CONSTRAINT DESCRIPTOR .... .1.. OBDFSUPK YES IF THIS FAN SET GUARANTEES THE UNIQUENESS OF A PRIMARY KEY (FOR EXAMPLE, UNIQUE INDEX). NO OTHERWISE. .... ..1. OBDFSNCL YES IF NOT CLUSTERING FAN SET .... ...1 OBDFSCYC YES IF CASCADED DELETE OF A PARENT IN A LINK FAN SET CAN CYCLE BACK TO PARENT ITSELF (PGSDEL FLAG TO BE USED). -----------------------------------------------------------2 2 OBDFSFLG2 FLAGS. CHECK OBDS FOR SPECIFIC USAGE. 1111 .... * RESERVED. .... 1... OBDFSCLONE 1 - CLONE, 0 - BASE. .... .111 * RESERVED. 1111 1111 * RESERVED. 4 4 OBDFSLTH LENGTH OF FAN SET DESCRIPTOR 8 2 OBDFSID ID OF FAN SET DESCRIPTOR A 1 OBDFSFL2 OBDFS FLAGS. 1... .... OBDFS_KT OBDKT EXISTS FOR THIS OBDFS. THE SPECIFIC TYPE OF INDEX IS .111 1111 * RESERVED. B 1 * RESERVED. INDICATED IN OBDFS_EXTIX. C 4 OBDFSEXO OFFSET TO EXTERNAL SECTION. 0 IF NONE. 10 2 OBDFS_SLCNUM THE POSITION OF THE SECURITY COLUMN IN THE KEY. 0 = NO SUCH COLUMN. 12 1 OBDFS_EXTIX FLAGS FOR EXTENDED INDEXES. 1111 .... OBDFS_XML XML RELATED FLAGS. 1... .... OBDFS_XML_NODEID YES IF XML NODEID INDEX. .1.. .... OBDFS_XML_VALUE YES IF XML VALUE INDEX. ..11 .... * RESERVED. .... 1... OBDFS_SEXP YES IF SCALER INDEX ON EXPRESSION. .... .1.. OBDFS_TEXP YES IF INDEX ON TABLE EXPRSN .... ..11 * RESERVED. 13 1 OBDFS_INC_UNIQUE_NUM NUMBER OF KEYS IN UNIQUE RULE 14 4 OBDFS_KEYTARGETS_OFFSET OFFSET TO THE KEY TARGET ARRAY, OBDKT. 0 = NOT AN EXTENDED INDEX. 18 4 OBDFS_EXTIX_OFFSET OFFSET TO OBDFS_XPATTERN, 0 = NOT A VALUE INDEX OR AN INDEX ON EXPRESSION. 1C 1 OBDFSNVB NUMBER OF VARBIN KEYS IN THE INDEX. 1D 3 * RESERVED. 20 8 OBDFSCPOFF OFFSET TO THE COUNTERPART OBD AT 33-40. 28 16 * RESERVED. -----------------------------------------------------------OBID-POINTERS TO DESCRIPTORS RELATED TO FAN SET (INCLUDING RELATIONSHIPS). -----------------------------------------------------------38 2 OBDFSCHI ID OF CHILD RECORD IN FAN SET 3A 2 OBDFSPAR ID OF PARENT RECORD IN FAN SET. 0 IF NONE. 3C 2 OBDFSFSC ID OF NEXT FAN SET WITH SAME CHILD TYPE. 0 IF NONE. CLUSTERING FAN SET IS 1ST.

522

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM 3E 2

DO NOT COPY
OBDFSFSP

ID OF NEXT FAN SET WITH SAME PARENT TYPE. 0 IF NONE. -----------------------------------------------------------RULES FLAGS. DESCRIBE RULES TO BE FOLLOWED WHEN PERFORMING WRITE OPERATIONS ON RECORDS IN THE FAN SET -----------------------------------------------------------40 1 OBDFSRUL FLAGS FOR RULES 1... .... OBDFSINC INSERT RULE FOR CHILD: YES IF MANUAL, I.E. INSERT DOES NOT REQUIRE CONNECTION. NO IF AUTOMATIC, I.E. INSERT REQUIRES CONNECTION. .1.. .... OBDFSCOC CONNECT RULE FOR CHILD: YES IF ONE, I.E. AT MOST ONE CHILD IS ALLOWED IN A FAN OF A MULTIPLE FAN SET , OR IN A HASH CHAIN. ..1. .... OBDFSDEC DELETE RULE FOR CHILD: YES IF DELETE REQUIRES PREVIOUS DISCONNECT. NO IF DELETE IMPLIES DISCONNECT (IF NEEDED). ...1 .... OBDFSDIC DISCONNECT RULE FOR CHILD: YES IF DISCONNECT IS LEGAL NO IF DISCONNECT IS ILLEGAL. .... 11.. OBDFSDEP DELETE RULES FOR PARENT: 00: PARENT DELETE IS ILLEGAL IN PRESENCE OF CHILDREN. (DELETE RULE IS RESTRICT) 10: PARENT DELETE CASCADES TO CHILDREN DELETE. (DELETE RULE IS CASCADE) 01: PARENT DELETE CASCADES TO CHILDREN DISCONNECT. (DELETE RULE IS SET NULL) .... ..11 OBDFSTRC TRANSFER RULES FOR CHILDREN: 00: TRANSFER IS ILLEGAL. 10: TRANSFER IS LEGAL ONLY WITHIN SAME FAN. 01: TRANSFER IS LEGAL ACROSS ANY FANS. -----------------------------------------------------------MISCELLANEOUS FLAGS FOR FAN SET -----------------------------------------------------------41 1 OBDFSMIS MISC FLAGS 11.. .... OBDFSDEF DEFAULT USED IN CONNECT WHEN POINT OF CONNECTION NOT SUPPLIED: 00 IS SYSTEM, 10 IS FIRST, 01 IS LAST. ..1. .... OBDFVALI YES IF VALIDATION DB-PROC. USED FOR FAN SET. ...1 .... OBDFVIBM YES IF VALIDATION DB-PROC. WAS COMPILED BY IBM PROGRAM .... 1... OBDFSCPX YES IF COMPLEX FAN SET, THAT IS, NON FIXED LTH | EDIT PRESENT | MULTIPLE PS .... .1.. OBDFSOHC YES IF OHC IN PROGRESS WHICH AFFECTS THE PARENT AND/OR CHILD IN THE FAN SET . RESERVED .... ..1. OBDFSVL YES IF PARENT AND/OR CHILD IS NOT FIXED-LENGTH. .... ...1 OBDFSMPS YES IF MULTIPLE FAN SET OR RELATIONSHIP FAN SET WITH PARENT AND DEPENDENT IN DIFFERENT FILES -----------------------------------------------------------FLAGS AND RULES FOR DL/1 LOGICAL RELATIONS -----------------------------------------------------------LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

523

DO NOT COPY
42 2 OBDFSDLL 1... .... OBDFSDL1

Restricted Materials of IBM Licensed Materials Property of IBM

YES IF THE FAN SET IS ONE IN A HIERARCHY OF FAN SETS AT LEAST ONE OF WHICH HAS OBDFSDLI=YES .1.. .... OBDFSDLI YES IF THE FAN SET IS ONE OF A PAIR REPRESENTING A DL/1 LOG RELATION. -----------------------------------------------------------RULES USED BY THE DSNILDLT OPERATOR TO SET THE DL/I DELETE FLAGS IN A RECORD PREFIX AND TO CAUSE THE DISCONNECTION TO CASCADE. VALID IF OBDFSDLI=YES -----------------------------------------------------------..11 111. OBDFSDLR RULES FOR PARENT AND CHILD IN A FAN SET SUPPORTING A DL/I LOGICAL RELATION. -----------------------------------------------------------..11 .... OBDFSDLP PARENT RULES: B01 - THE LDLT OPERATION IS INVALID IF THE RECORD HAS ANY CHILDREN IN ANY FAN SET WITH OBDFSDLP=B01 WHICH ARE NOT ALREADY LOGICALLY DISCONNECTED IN THE FAN SET POINTED BY OBDFSDLO. B10 - AN IMPLICIT LDLT OF THE RECORD IS TO BE DONE WHEN THE RECORD HAS NO MORE CHILDREN IN THIS FAN SET OR IN ANY OTHER FAN SET WITH OBDFSDLI = YES .... 1... OBDFSDLN YES IF THE DSNILDLT OPERATION IS NOT TO BE PROPOGATED TO THE CHILDREN IN THE FAN SET . NOTE THAT IF OBDFSDLP=B01 THEN THAT TEST MUST BE PERFORMED PRIOR TO TESTING OBDFSDLN. .... .11. OBDFSDLC CHILD RULES: B00 - DO NOT PROPOGATE THE LDLT OPERATION UNLESS THE RECORD IS ALREADY LOGICALLY DISCONNECTED IN THE FAN SET POINTED BY OBDFSDLO (I.E. IF THE OTHER DELETE FLAG=YES). B01 - AN LDLT OPERATION IS INVALID IF THE RECORD HAS NOT ALREADY BEEN LOGICALLY DISCONNECTED IN THE FAN SET POINTED BY OBDFSDLO (I.E. IF THE OTHER DELETE FLAG=NO). B10 - LOGICALLY DISCONNECT THE RECORD IN THIS FAN SET AND ALSO IN THE FAN SET POINTED BY OBDFSDLO (I.E. SET BOTH DELETE FLAGS=YES. -----------------------------------------------------------.... ...1 OBDFSDNL YES IF NO MORE DL/I FAN SETS WITH OBDFSDLI=YES BELOW THIS FAN SET . (MAY ISSUE DSNIDLET) 1... .... OBDFSDSC YES IF SCAN REQUIRED. (IF THIS FAN SET HAS OBDFSDLC=B00 AND ANOTHER DL/I FAN SET BELOW THIS ONE HAS EITHER OBDFSDLC=B01 AND/OR HAS OBDFSDLP=B01 .1.. .... OBDFSSEC YES IF THE FAN SET IS A DL/I SECONDARY INDEX. -----------------------------------------------------------MISCELLANEOUS FLAGS

524

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

-----------------------------------------------------------..1. .... OBDCDEDA YES IF THE DELETE RULE IS NO ACTION ...1 .... OBDFSDPSI YES IF DATA-PARTITIONED SECONDARY INDEX. .... 1111 OBDFSENC ENCODING SCHEME: B0000 IF THIS FAN SET IS IN A WORK FILE TABLE SPACE OR WAS CREATED BEFORE VERSION 5 B0001 IF THIS FAN SET IS EBCDIC B0010 IF THIS FAN SET IS ASCII 44 1 OBDFSMRK FAN SET OBD DEPENDENCY MARK -----------------------------------------------------------OTHER FAN SET IN THE PAIR REPRESENTING A DL/1 LOGICAL AND MASK USED TO SET AND TEST DL/1 DELETE FLAGS IN PGSUBREC. VALID IF OBDFSDLI=YES -----------------------------------------------------------45 1 OBDFSDFM MASK USED TO SET AND TEST DL/1 DELETE FLAGS IN PGSUBREC. VALUES ARE: B00000100 - PHYSICAL PATH B00000010 - LOGICAL PATH 46 2 OBDFSDLO THE OBID OF THE OTHER FAN SET IN THE PAIR -----------------------------------------------------------DESCRIPTION OF FAN SET SUPPORT. TO BE OVERLAID BY OBDHASH, OBDINDEX, OBDLINK, OBDDC -----------------------------------------------------------48 1C OBDFSSUP -----------------------------------------------------------DESCRIPTION OF FAN SET DB-PROCEDURE. OFFSET TO STRUCTURAL KEY. -----------------------------------------------------------64 8 OBDCNAME NAME OF MODULE OF VALIDATION DB-PROC. (IF OBDFVALI=YES). 6C 4 OBDCEP ENTRY POINT OF VALIDATION DB-PROCEDURE. 0 IF MODULE IS NOT LOADED. 70 2 OBDFSSTO OFFSET TO DESCRIPTION OF STRUCTURAL KEY. 0 IF NONE. -----------------------------------------------------------FAN SET INTERNAL NAME INFORMATION -----------------------------------------------------------72 2 * RESERVED 74 4 OBDFSNA_OFFSET OFFSET TO FAN SET INTERNAL NAME 78 2 * RESERVED 7A 2 OBDFSEXT OFFSET TO THE FAN SET OBD EXTENSION (OBDFX). 7C 4 OBDFSKLL KEY LENGTHS 2 OBDFSKLN LENGTH OR MAX-LTH OF TOTAL KEY 2 OBDFSKOL LENGTH OR MAX-LTH OF ORDERED KEY 80 2 RESERVED. 82 0 OBDFSKEY ANCHOR FOR DESCRIPTION OF ORDER/HASH KEY OBDOHKEY. -----------------------------------------------------------DESCRIPTION OF ORDER, HASH OR FOREIGN KEY. PRESENT IF OBDFSORH=YES, THAT IS, IF THE FAN SET IS: SINGULAR-INDEXED OR SINGULAR-HASHED OR MULTIPLE-ORDERED OR A RELATIONSHIP DESCRIPTOR. IT CONSISTS OF A FIXED-LENGTH PREFIX, FOLLOWED BY A VARIABLE LENGTH LIST OF ENTRIES, WHICH ARE ASSOCIATED WITH THE BASE FIELDS WHICH MAKE UP THE TOTAL KEY. FIELDS APPEAR IN THE SAME ORDER AS IN THE TOTAL KEY, WITH THE ORDER FIELDS PRECEDING THE DATA FIELDS (IF ANY) -----------------------------------------------------------82 A OBDOHKEY 1 OBDKFLAG FLAGS DESCRIBING THE ORDER/HASH KEY
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

525

DO NOT COPY
1... .... OBDKCPLX

Restricted Materials of IBM Licensed Materials Property of IBM

| | | | | |

YES IF KEY IS COMPLEX, NAMELY: RECORD IS NOT FIXED-LENGTH, OR MULTI-FIELD KEY, OR SOME FIELD IS DESCENDING, OR DATA FIELDS PRESENT IN KEY .1.. .... OBDKVARL YES IF KEY IS VARIABLE LENGTH ..1. .... OBDKNUNI YES IF KEY IS NONUNIQUE. ...1 .... OBDKVSIM YES IF SIMULATED VARYING LENGTH KEY, THAT IS, LAST FIELD IN KEY IS VARYING LENGTH, BUT IT IS PADDED TO ITS MAX LENGTH. OBDKVARL AND OBDKVSIM ARE MUTUALLY EXCLUSIVE. OBDKVARL IS ON ONLY IF THE KEY REALLY IS VARYING LENGTH .... 1... OBDKFONL YES - INDEX IS OVER FIXED LEN RECORD FIELDS ONLY. NO - INDEX MAY OR MAY NOT BE OVER FIXED LEN FIELDS ONLY. (IN REL 2.3 AND BEYOND OFF MEANS INDEX IS NOT OVER FIXED ONLY. PRE-REL 2.3, BIT WAS NOT MAINTAINED, SO INDEX COULD BE OVER FIXED FIELDS ONLY) .... .1.. OBDKXNUL YES IF DUPLICATE NULLS ALLOWED IN A UNIQUE INDEX. .... ..1. OBDKFLT2 YES IF NEW FIELD LIST FORMAT USED. .... ...1 OBDKDNUL YES IF ANY FIELD IN THE KEY IS NULLABLE OR DESCENDING -----------------------------------------------------------83 1 OBDKPAD IF KEY IS VARYING LENGTH (OBDKVARL=YES), THIS IS THE PADDING CHARACTER FOR COMPARISONS USING COMPARISON LOGICAL CHARACTER LONG. VALUE IS X40 IF LAST KEY FIELD IS ASCENDING, XBF IF DESCENDING. THIS FIELD IS SET FOR SBCS DATA. IT IS IGNORED IF KEY IS FIXED-LENGTH. -----------------------------------------------------------KEY LENGTH AND NUMBER OF FIELDS -----------------------------------------------------------84 2 OBDKLL ORDERED AND TOTAL KEY LENGTHS THEY CAN DIFFER ONLY FOR INDEX SUPPORTED FAN SETS. 84 2 OBDKLENO LTH OR MAX-LTH OF ORDERED KEY 84 2 OBDKLEN LTH OR MAX-LTH OF TOTAL KEY. 86 1 OBDKNFDO NO. OF FIELDS IN ORDERED KEY. 87 1 OBDKNFD NO. OF FIELDS IN TOTAL KEY. 88 1 OBDKLENG LENGTH OF GENERIC CLUSTERING KEY. ZERO IF NOT GENERICALLY CLUSTERED. 89 1 OBDKNVFD NO. OF VARYING LENGTH FIELDS IN TOTAL KEY. FOR TRADITIONAL INDEX THIS IS THE TOTAL VARLEN ENTRIES IN OBDKFLD2, FOR EXTENDED INDEX IT REFERS TO THE TOTAL VARLEN ENTRIES IN OBDKT. 8A 2 OBDKVNM INDEXS VERSION NUMBER 8C 0 OBDKANCH ANCHOR FOR FIELD LIST OBDKFLD -----------------------------------------------------------DESCRIPTION OF FAN SET SUPPORT BY HASH -----------------------------------------------------------48 18 OBDHASH 2 OBDHNEXT OFFSET TO RID-PTR OF NEXT RECORD/ANCHOR IN HASH CHAIN.

526

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

BACK PTR IS AT OBDHNEXT+4. OFFSET IS FROM BEGIN OF RECORD 4A 2 OBDHBYTE MAXIMUM NUMBER OF BYTES TO BE LOADED BETWEEN 2 HASH RECORDS 4C 8 OBDHNAME IF OBDHIBM=NO: NAME OF HASH MODULE IN LIBRARY. IF OBDHIBM=YES: USABLE TO STORE ADDITIONAL INFORMATION USED BY HASH PROCEDURE (SEE OVERLAYS) 54 4 OBDHEP IF OBDHIBM=YES: NUMBER OF THE SUPPLIED IBM HASHING ROUTINE. VALUES ARE 0,4,8,... IF OBDHIBM=NO: ENTRY POINT ADDRESS OF THE USER SUPPLIED HASHING MODULE. 0 IF MODULE IS NOT LOADED. 58 1 OBDHFLGS FLAGS FOR HASHING MODULE: 1... .... OBDHIBM YES IF IBM SUPPLIED ROUTINE. NO IF USER SUPPLIED ROUTINE .1.. .... OBDHCHEK YES IF CHECKING TO BE DONE AND ROUTINES POWERS TO BE LIMITED. ..1. .... OBDH0INL YES IF INLINE IMPLEMENTATION OF IBM HASHING PROCEDURE 0. FILE MUST BE NON-DYN, NON-PART, SINGLE DATA SET. ...1 1111 RESERVED. 59 B RESERVED. -----------------------------------------------------------DESCRIPTION OF THE OBDKT KEY TARGET ARRAY CAN BE ACCESSED BY ADDR(OBDFS) + OBDFS_KEYTARGETS_OFFSET -----------------------------------------------------------0 20 OBDKT 10 OBDKTHDR 4 OBDKTEYC EYE CATCHER ALWAYS OBKT 4 1 OBDKTNUM NUMBER OF KEY TARGET ENTRIES 5 B * RESERVED 10 2 OBDKTENT 2 OBDKTFLG 1111 .... OBDKTTYP KEY TYPE, IN MSC CODE .... 11.. OBDKTDBC SUBTYPE 00 FOR BIT DATA OR BINARY 01 SBCS 10 DBCS 11 MIXED .... ..1. OBDKTNULL YES, IF THE KEY IS NULLABLE .... ...1 OBDKTDESC YES, IF KEY IN DESC ORDER 1... .... OBDKTVLEN YES, IF KEY VARIABLE LENGTH .1.. .... OBDKTROWID YES, IF KEY IS BASED ON ROWID ..11 1111 * RESERVED 12 2 OBDKTLEN LENGTH OR MAX-LEN OF KEYTARGET NOT INCL LEN FIELD IF THE KEY TARGET IS VARIABLE LEN BUT INCLUDING NULL FIELD (1 BYTE) IF THE KEY TARGET IS NULLABLE (OBDKTNULL=YES) 14 2 OBDKT_CCSID THE CCSID OF THE COLUMN, 0 IF NOT A CHAR TYPE 16 1 OBDKT_PRECISION IF KEY TARGET IS DECIMAL PRECISION 17 1 OBDKT_SCALE IF KEY TARGET IS DECIMAL SCALE 18 2 OBDKTOIK OFFSET INTO THE KEY FOR THE FIELD. IF NOTPAD AND VAR LEN, =FFFFX AFTER FIRST VAR LEN FIELD 1A 1 * RESERVED 1B 2 * RESERVED 1D 3 * RESERVED NOTE: IF THE OBDFS_XML_VALUE FLAG IS ON AND THE XML INDEX IS CREATED
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

527

DO NOT COPY
| | | | | | | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

AS SQL VARCHAR, THE OBDKTTYP WILL BE SET AS 1000B. -----------------------------------------------------------OBDFS_SECTION CAN BE ACCESSED BY ADDR(OBDFS) + OBDFS_EXTIX_OFFSET THIS AREA IS DEFINED AS A 4-BYTE LENGTH FIELD FOLLOWED BY A CHAR STRING. IT CONTAINS THE SECTION GENERATED FROM INDEX EXPRESSIONS. -----------------------------------------------------------0 * OBDFS_SECTION 4 OBDFS_SEC_LEN LENGTH OF THE OBDFS_SEC_STR STRING 4 * OBDFS_SEC_STR -----------------------------------------------------------OBDFS_XPATTERN CAN BE ACCESSED BY ADDR(OBDFS) + OBDFS_EXTIX_OFFSET THIS AREA IS DEFINED AS A 4-BYTE LENGTH FIELD FOLLOWED BY A CHAR STRING. IT CONTAINS THE INTERNAL FORMAT OF XML PATTER -----------------------------------------------------------0 * OBDFS_XPATTERN 4 OBDFS_XP_LEN LENGTH OF THE OBDFS_XP_STR STRING 4 * OBDFS_XP_STR -----------------------------------------------------------DESCRIPTION OF FAN SET SUPPORT BY INDEX -----------------------------------------------------------48 18 OBDINDEX 4 OBDINNPS MAXIMUM NUMBER OF PAGES COVERED BY A SPACE-MAP PAGE, INCLUDING THE SPACE-MAP PAGE ITSELF. 4C 4 OBDINAPD MAXIMUM NUMBER OF SPACE MAPS PER DATA SET. OBDINAPD=2**OBDINSHF/OBDINNPS. 50 2 * RESERVED. 52 2 OBDINNUM MAXIMUM NUMBER OF DATA SETS IN PAGE SET. A POWER OF 2. 54 1 OBDINSHF SHIFT VALUE USED TO OBTAIN THE DATA SET NUMBER FROM PAGE NO. DATA SET SIZE = 2**OBDINSHF. REDUNDANT WITH OBDINNUM SINCE: OBDINNUM=2**(24-OBDINSHF). 55 1 * RESERVED. 56 2 OBDIPSET OBID OF THE FIRST PAGE SET FOR THE INDEX. 0 IF NONE EXISTS. 58 2 OBDIPGSZ LOGICAL PAGE SIZE OF INDEX. VALUES ARE 4096, 2048, 1024, 512, 256. 5A 1 OBDINLPG NUMBER OF LOGICAL PAGES. VALUES ARE 1, 2, 4, 8, OR 16. 5B 1 OBDIFREE DEFAULT PERCENT OF FREE SPACE IN LOGICAL PAGE AT LOAD. 5C 1 OBDIFREP DEFAULT PERCENT OF FREE PHYSICAL PAGES IN PAGE SET AT LOAD. 5D 1 OBDIRVL RETURN VALUE LENGTH. 4 FOR A SINGULAR FAN SET. 5 FOR A MULTIPLE FAN SET. 5E 1 OBDIISMS SEARCH INTERVAL IN SPACE MAP. NUMBER OF BYTES FORWARD AND BACKWARD TO SEARCH WHEN ACQUIRING A NEW PAGE IN INDEX -----------------------------------------------------------5F 1 OBDIIFLG INDEX FLAGS 1... .... OBDIIOHC YES IF INDEX PAGE SETS BEING LOADED WITH ONLINE UTILITY. INDEX MUST BE MAINTAINED, BUT CUBS CANT BE DEFINED ON IT. .1.. .... OBDIPERF YES IF PERFECTLY CLUSTERED. ..1. .... OBDINSRP YES: NO SPACE RESERVATION PARMS ARE KEPT IN INDEX OBD

528

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

THEY ARE KEPT IN OBDPIPFS AND OBDPIFPG OF PAGE SET OBD NO: SPACE RESERVATION PARMS ARE KEPT IN OBDIFREE & OBDIFREP OF THE FILE OBD ...1 .... OBDIFIB INDEX SORT ORDER FOR NULLS .... 1... OBDIFKEY YES IF INDEX IS DEFINED ON FOREIGN KEY AND IS USED BY DATA MANAGER TO LOCATE DEPENDENT RECORDS .... .1.. OBDIT2 BIT USED TO INDICATE WHETHER INDEX IS TYPE 2 .... ..1. OBDINPI YES, NON-CLUSTERED INDEX OF A PARTITIONED TABLE SPACE. .... ..1. OBDINCP PREVIOUS NAME FOR OBDINPI. .... ...1 OBDILAR YES, INDEX OF LARGE TABLE SPACE. -----------------------------------------------------------60 2 OBDIFREB MINIMUM NUMBER OF BYTES OF FREE- SPACE AT LOAD IN A LEAF PAGE (DERIVED FROM OBDIFREE AND MAXIMUM FREESPACE IN A LOGICAL PAGE) 62 2 OBDIFREN MINIMUM NUMBER OF BYTES OF FREE- SPACE AT LOAD IN A NONLEAF PAGE (DERIVED FROM OBDIFREE AND MAXIMUM FREESPACE IN A NONLEAF PAGE) -----------------------------------------------------------DESCRIPTION OF FAN SET SUPPORT BY LINK -----------------------------------------------------------48 18 OBDLINK 2 OBDFSPRC OFFSET OF BEGIN OF FAN SET PREFIX IN DEPENDENT RECORD. OFFSET IS FROM BEGIN OF RECORD 4A 2 OBDFSPRP OFFSET OF BEGIN OF FS PREFIX IN PARENT RECORD. OFFSET IS FROM BEGIN OF RECORD. -----------------------------------------------------------4C 1 OBDLINKF FLAGS DESCRIBING RID-PTRS USED 1... .... OBDPARRI YES IF PARENT RID-PTR IN DEPENDENT .1.. .... OBDLASRI YES IF LAST DEPENDENT RID-PTR IN PARENT. ..11 1111 RESERVED -----------------------------------------------------------4D 17 RESERVED -----------------------------------------------------------FAN SET INTERNAL NAME. THIS NAME IS UNIQUE ACROSS FILE NAMES AND INDEX NAMES WITHIN A DATABASE. OFFSET IS OBDFSNA_OFFSET. -----------------------------------------------------------00 0 OBDFSNA_AREA FAN SET INTERNAL NAME STRUCTURE 00 2 OBDFSNA_LEN LENGTH OF FAN SET INTERNAL NAME 02 * OBDFSNA_NAME FAN SET INTERNAL NAME -----------------------------------------------------------DESCRIPTION OF RELATIONSHIP DESCRIPTOR. PRESENT IF OBDFSDC = YES. IF THE PARENT AND DEPENDENT IN THE RELATIONSHIP ARE IN THE SAME DATABASE, THEN A SINGLE RELATIONSHIP DESCRIPTOR EXISTS THAT CONTAINS INFORMATION ABOUT THE PARENT AND DEPENDENT (INCLUDING THE FOREIGN KEY IN THE DEPENDENT). IF THE PARENT AND DEPENDENT ARE IN DIFFERENT DATABASES, THEN THERE IS A RELATIONSHIP DESCRIPTOR IN EACH DBD WHICH CONTAINS INFORMATION ABOUT THE PARENT OR THE DEPENDENT (INCLUDING THE FOREIGN KEY IN THE CHILD). ALL RELATIONSHIP DESCRIPTORS IN WHICH A RECORD IS A PARENT ARE LINKED TOGETHER (ANCHORED IN OBDRELPA IN THE PARENT RECORD OBD AND IN OBDFSFSP IN THE RELATIONSHIP DESCRIPTOR).
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

529

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

ALL RELATIONSHIP DESCRIPTORS IN WHICH A RECORD IS A CHILD ARE LINKED TOGETHER (ANCHORED IN OBDRELCH IN THE CHILD RECORD OBD AND IN OBDFSFSC IN THE RELATIONSHIP DESCRIPTOR. -----------------------------------------------------------48 24 OBDDC 2 OBDDCCHD DBID WHICH CONTAINS THE DEPENDENT RECORD IF DIFFERENT THAN THE DBID OF THE PARENT AND IF THIS RELATIONSHIP DESCRIPTOR IS ASSOCIATED WITH THE PARENT. ZERO IF THE PARENT AND DEPENDENT ARE IN THE SAME DATABASE. IF THIS VALUE IS NON-ZERO THEN THE RELATIONSHIP DESCRIPTOR CONTAINS ONLY INFORMATION ABOUT THE PARENT. 4A 2 OBDDCCHR OBID OF THE RELATIONSHIP DESCRIPTOR IN DBID=OBDDCCHD WHICH CONTAINS INFORMATION ABOUT THE DEPENDENT. ZERO IF OBDDCCHD=0. 4C 2 OBDDCPAD DBID WHICH CONTAINS THE PARENT RECORD IF DIFFERENT THAN THE DBID OF THE DEPENDENT AND IF THIS RELATIONSHIP DESCRIPTOR IS ASSOCIATED WITH THE DEPENDENT. ZERO IF THE PARENT AND DEPENDENT ARE IN THE SAME DATABASE. IF THIS VALUE IS NON-ZERO THEN THE RELATIONSHIP DESCRIPTOR CONTAINS ONLY INFORMATION ABOUT THE DEPENDENT (INCLUDING THE FOREIGN KEY). 4E 2 OBDDCPAR OBID OF THE RELATIONSHIP DESCRIPTOR IN DBID=OBDDCPAD WHICH CONTAINS INFORMATION ABOUT THE PARENT. ZERO IF OBDDCPAD=0. 50 2 OBDDCIP OBID OF THE INDEX FAN SET WHICH ENFORCES UNIQUENESS OF THE PRIMARY KEY. THIS FIELD IS VALID ONLY FOR THE RELATIONSHIP DESCRIPTOR ASSOCIATED WITH THE PARENT. 52 2 OBDDCIF OBID OF THE INDEX FAN SET WHICH IS TO BE USED TO LOCATE CHILDREN USING THE FOREIGN KEY. THIS FIELD IS VALID ONLY FOR THE RELATIONSHIP DESCRIPTOR ASSOCIATED WITH THE DEPENDENT. -----------------------------------------------------------54 1 OBDDCFLG RELATIONSHIP FLAGS 1... .... OBDDCIFK YES IF INDEX KEY FOR OBDDCIF IS EXACTLY EQUAL TO FOREIGN KEY. .1.. .... OBDDCKTY YES IF FOREIGN KEY REFERENCES A UNIQUE INDEX AS A PARENT. ..1. .... OBDD_INFO_RI YES IF REFERENTIAL INTEGRITY IS INFORMATIONAL AND NOT ENFORCED. ...1 1111 RESERVED. -----------------------------------------------------------55 8 OBDDCSDN DESTINATION NAME OF THE SITE AT WHICH THE OTHER RECORD IN THE RELATIONSHIP IS STORED. 5D 7 RESERVED

530

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Description of structural key


Present at offset obdfssto if OBDFSSTR=YES. It consists of a fixed length prefix, followed by a variable length list of entries, which are associated with the embedded or non-embedded fields which make up the structural key.
0 10 2 OBDSTKEY OBDSHEAD OBDSTID BASED BDY(WORD),

OBID OF ASSOCIATED FAN SET OF THE PARENT RECORD. VALID ONLY IF THIS FAN SET IS SUPPORTED BY A LINK. 1 OBDSTN NUMBER OF FIELDS IN STRUCTURAL KEY OF ASSOCIATED FAN SET. ZERO IF FAN SET IS SINGULAR. 1 OBDSFLAG FLAGS DESCRIBING STRUCTURAL KEY: 1... .... OBDSVARL YES IF KEY IS VARIABLE LENGTH .1.. .... OBDSKNUN YES IF KEY IS NON-UNIQUE. ..1. .... OBDSENCO YES IF KEY ENCODING IS NEEDED, I.E. KEY IS NOT: SINGLE-FIELD AND ASCENDING. ...1 .... OBDSNEMB YES IF KEY IS NON-EMBEDDED. .... 1... OBDSSPAR YES IF FAN SET IS STRUCTURALLY SPARSE (STRUCTURAL PATH TO A PARENT MAY BE INCOMPLETE). .... .111 RESERVED. 1 OBDSLEN LENGTH OR MAX-LENGTH OF KEY. 1 OBDSNFD NUMBER OF KEY FIELD DESCRIPTORS. A RESERVED -----------------------------------------------------------FIELD LIST FOR STRUCTURAL KEY NOTE: THE FIELDS IN THIS DECLARATION MUST BE IN THE SAME POSITION AS THE CORRESPONDING FIELDS IN OBDKFLD -----------------------------------------------------------10 OBDSFLD 1 OBDSFFLA FIELD FLAGS: 1... .... OBDSFVAL YES IF VARIABLE LENGTH FIELD. .1.. .... OBDSCVAO YES IF OFFSET TO BEGINNING OF FIELD IN CHILD IS VARIABLE, HENCE OBDSCOFF IS NOT USEABLE VALID ONLY IF OBDSNEMB=NO. ALWAYS 0 OTHERWISE. ..11 .... RESERVED. .... 1... OBDSFDES YES IF DESCENDING KEY FIELD. .... .111 RESERVED. 1 OBDSFLEN LENGTH OR MAX-LENGTH OF FIELD. 2 OBDSCOFF OFFSET FROM BEGINNING OF DATA TO BEGIN OF FIELD IN CHILD. VALID ONLY IF OBDSCVAO=NO. ALWAYS 0 OTHERWISE. 2 OBDSCFNO FIELD NUMBER IN CHILD. VALID ONLY IF OBDSNEMB=NO. ALWAYS 0 OTHERWISE. A RESERVED.

Fan set extension block


Addressed as ADDR(OBDFS)+OBDFSEXT. Present if (OBDFSEXT = 0).
0 0 0 2 4 8 40 2 2 4 1C OBDFX OBDFXCHD OBDFXCID OBDFXLEN OBDFXEYE OBDFXNAM FAN SET EXTENSION. ID - ALWAYS 209BX. LENGTH OF OBDFX. EYECATCHER - ALWAYS OBDF. FULLY QUALIFIED INDEX NAME.
Chapter 25. Database descriptor (DBD) formats

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

531

DO NOT COPY
8 C 14 18 24 26 4 8 4 C 2 2 1... ....

Restricted Materials of IBM Licensed Materials Property of IBM

OBDFXCRE_OFFSET OFFSET TO INDEX CREATOR (QUALIFIER). * RESERVED. OBDFXNAT_OFFSET OFFSET TO INDEX NAME. * RESERVED. OBDFXPA2 PADDING CHARACTER FOR DBCS. OBDFXFGS FLAGS IN EXTENSION AREA. OBDFXEA YES IF TABLE SPACE IS CREATED IN AN EA ENVIRONMENT. .1.. .... OBDFXOFF YES IF INDEX IS NOT PADDED AND HAS VARYING-LENGTH COLUMNS. ..11 1111 RESERVED. 1111 1111 RESERVED. 28 4 OBDFXISTA INDEX STATISTICS BLOCK POINTER. USED ONLY FOR INDEXES ON A LOCAL TEMPORARY TABLE. 2C 2 OBDFX_PRIME_OFFSET OFFSET TO OBDFS PRIME. 2E 12 * RESERVED. -----------------------------------------------------------INDEX CREATOR STRUCTURE (OFFSET IS OBDFXCRE_OFFSET) -----------------------------------------------------------00 * OBDFXCRE_AREA INDEX CREATOR STRUCTURE 00 2 OBDFX_CRE_NAME_LEN INDEX CREATOR LENGTH 02 * OBDFX_CRE_NAME INDEX CREATOR NAME -----------------------------------------------------------INDEX NAME STRUCTURE (OFFSET IS OBDFXNAT_OFFSET) -----------------------------------------------------------00 * OBDFXNAT_AREA INDEX NAME STRUCTURE 00 2 OBDFX_NAME_LEN INDEX NAME LENGTH 02 * OBDFX_NAME INDEX NAME

Field list for order/hash/foreign key


A field list for a key consists of N (=OBDKFLEN) entries.
0 0 OBDKFLD2 0 OBDKFLD FIELD LIST FOR ORDER/HASH KEY 1 OBDKFFLA FIELD FLAGS: 1... .... OBDKFVAL YES IF VARIABLE LENGTH FIELD. .1.. .... OBDKCVAO YES IF OFFSET TO BEGINNING OF FIELD IN CHILD IS VARIABLE IN STORED RECORD, HENCE OBDKCOFF IS USABLE ONLY IN MSI IOAREA. ..1. .... OBDKOK YES IF ORDERING FIELD. NO IF DATA (REPLICATED) FIELD. ...1 .... OBDKSRC YES IF FIELD DOES NOT HAVE TO BE FULLY SUPPLIED WHEN INSERTING/REPLACING RECORD. AN INDEX ENTRY IS NOT CREATED IN THIS CASE (IF INDEXED FS). (CASE OF VLR SECONDARY KEY). NO IF FIELD HAS TO BE FULLY SUPPLIED WHEN INSERTING OR REPLACING RECORD. APPLICABLE ONLY TO ORDER FLDS. IGNORED FOR INDEX DEFINED ON VLF RECORD TYPE .... 1... OBDKFDES YES IF DESCENDING FIELD. .... .1.. OBDKNULL YES IF NULLABLE FIELD (OBDRNULL(OBDKCFNO)=YES). IF YES, AND OBDKCOFF IS VALID, THE OFFSET IS TO THE NULL INDICATOR BYTE. THE NULL INDICATOR BYTE IS INCLUDED IN THE KEY: OBDKFLEN IS THE SAME VALUE AS OBDREFLL, THAT IS, IT INCLUDES THE NULL INDICATOR

532

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

BYTE IF PRESENT. .... ..11 RESERVED -----------------------------------------------------------1 1 OBDKFLEN LENGTH OR MAX-LENGTH OF FIELD. 1... .... OBDKFRIK RANDOMIZED INDEX KEY. 2 2 OBDKCOFF OFFSET FROM BEGINNING OF DATA TO BEGINNING OF FIELD IN CHILD. VALID IF OBDKCVAO=NO. 4 2 OBDKCFNO FIELD NUMBER IN CHILD RECORD. 6 2 OBDKFLN2 LEN OR MAX-LEN OF FIELD. 8 2 OBDKOIK OFFSET TO THIS FIELD IN THE KEY.

Page set OBD


A descriptor of a page set consists of the following parts: v Fixed-length common section: header, OBID pointers, instance number, and buffer manager information. v Variable-length data set section, whose format depends on the type of page set (file data or index). v Variable-length external section, present at offset OBDPSEXO if OBDPSEXO <> 0.
0 3C OBDPSET -----------------------------------------------------------HEADER OF A PAGE SET OBD -----------------------------------------------------------8 OBDPSHEA 2 OBDPSFLG FLAGS FOR A PAGE SET DESC. 111. .... EQUAL TO 011 SINCE PAGE SET ...1 1... OBDPSTYP PAGE SET TYPE: 00 IF FILE, 01 IF INDEX, 10 IF PTR-MAP. ...1 .... OBDPSRM YES IF PAGE SET FOR PTR-MAP .... 1... OBDPSIND YES IF PAGE SET FOR INDEX .... .1.. OBDPSFIM YES IF ALL UPDATES TO BE REFLECTED IN SPACE MAP. (COPIED TO PSFIMAGE BY BIND) .... ..1. OBDPSIBM YES IF PAGE SET DEFINED AND REQUIRED BY IBM .... ...1 OBDPS255 YES IF 255 RIDS/PAGE ALLOWED. 1 1... .... OBDPSCPY YES IF COPY YES SPECIFIED FOR INDEX. VALID WHEN OBDPSTYP=1. .1.. .... OBDPSLOB YES IF LOB TABLE SPACE. ..1. .... OBDPSLBP YES IF THE TABLE SPACE HAS A TABLE WITH LOB COLUMNS. ...1 .... OBDPSNKF 1B = NEW LIMIT KEY FORMAT, 0B = OLD LIMIT KEY FORMAT. .... 1... OBDPSONE 1B = ONE PIECE, 0B = NOT ONE PIECE. .... .1.. OBDPSEAL YES IF THE TABLE SPACE WAS CREATED IN CI-CONNECT EA ENVIRONMENT. .... ..1. OBDPS_INDEX_CMP 1 = INDEX COMPRESS YES, 0 = INDEX COMPRESS NO. .... ...1 * RESERVED. -----------------------------------------------------------2 2 OBDPSFLG3 FLAGS. CHECK OBDS FOR SPECIFIC USAGE. 1111 .... * RESERVED. .... 1... OBDPSCONE 1 = CLONE, 0 = BASE. .... .111 * RESERVED. 1111 1111 * RESERVED. 4 4 OBDPSLTH LENGTH OF PAGE SET DESCRIPTOR 8 2 OBDPSID ID OF PAGE SET DESCRIPTOR A 2 * RESERVED C 4 OBDPSEXO OFFSET TO EXTERNAL SECTION. 0 IF NONE.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

| | | | | | | | | | | | | |

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

533

DO NOT COPY
| | | | | | | | | |
10 2

Restricted Materials of IBM Licensed Materials Property of IBM

| | |

OBDPSMAXNUMPART MAXNUMPART FLAGS FOR PARTITION-BY=GROWTH TABLE SPACES. 12 2 OBDPSFLG2 FLAGS. 1... .... OBDPSALTERED 1 = OBDPSET IS ALTERED BUT NOT YET WRITTEN TO DASD. .111 1111 * RESERVED. 1111 1111 * RESERVED. 14 12 * RESERVED. 20 8 OBDPSCPOFF OFFSET THE COUNTERPART OBD AT 33-40. 28 16 * RESERVED. -----------------------------------------------------------OBID-POINTERS TO DESCRIPTORS RELATED TO PAGE SET -----------------------------------------------------------38 2 OBDPSOB OBID OF RELATED FILE IF OBDPSIND=NO. OBID OF RELATED INDEXED FAN SET IF OBDPSIND=YES 3A 2 OBDPSNEX OBID OF NEXT PAGE SET WHICH IS AN INSTANCE OF DATA FOR SAME FILE, INDEX FOR SAME FAN SET. 0 IF NONE. 3C 2 OBDPSPAI OBID OF PAIRED PAGE SET: IF INDEX PAGE SET: DATA PAGE SET. IF 2-INDEX PAGE SET: DATA PAGE SET OF CHILDREN. IF LOB TABLE SPACE: OBID OF OBDPSET OF BASE TABLE SPACE. 3E 2 OBDPSPAP IF 2-INDEX PAGESET: DATA PAGESET OF PARENTS. IF LOB TABLE SPACE, PART NUMBER OF BASE TABLE PARTITION ASSOCIATED WITH THE LOB TABLE SPACE. 0 IF THE BASE TABLE IS NONPARTITIONED OF IF ALL PARTS ARE ASSOCIATED WITH THE SAME LOB TABLE SPACE. 40 1 OBDPSINS DB INSTANCE NUMBER OF PAGE SET -----------------------------------------------------------DSI PROCESSING FLAGS -----------------------------------------------------------41 1 OBDPSLAG FLAG BYTE ..1. .... OBDPSCLU YES IF CLUSTERING INDEX PAGE SET NOT DEFINED. ...1 .... OBDPSALL YES IF ALLOCATION FOR THIS PAGE SET TO BE INHIBITED. .... 1... OBDPSINC YES IF THIS IS A LOB TABLE SPACE AND AN AUXILIARY TABLE OR INDEX IS NOT DEFINED. .... .1.. * RESERVED. .... ..1. OBDPSXML YES IF XML TABLE SPACE. .... ...1 OBDPSXMP YES IF TABLE SPACE CONTAINS TABLES WITH XML COLUMNS. -----------------------------------------------------------42 2 * RESERVED -----------------------------------------------------------INFORMATION RELEVANT TO BUFFER MANAGER AND DATA SPACE MANAGER. -----------------------------------------------------------44 1 OBDPSDOP BUFFER MGR OPTION FLAGS TO BE USED AS DEFAULT AT OPEN. 1... .... OBDPSSYS YES IF WRITE PROTOCOL = SYSTEM. REQUIRED FOR INDEX PAGE SET. .1.. .... OBDPSNRE YES IF PAGE SET CHANGES NOT LOGGED. ..1. .... OBDPSPT YES IF PAGE SET IS PARTITIONED. ...1 .... OBDPSNOF YES IF NO FORCE WRITE UW PAGES. NOT ALLOWED FOR INDEX PAGE SET.

534

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | |

YES IF PAGE SET IS AUTOMATICALLY CLOSED WHEN USE COUNT -> 0. .... .1.. OBDPSEG B1 = PAGE SET IS SEGMENTED. B0 = PAGE SET IS NOT SEGMENTED. .... ..11 RESERVED -----------------------------------------------------------45 1 OBDPSWPN WINDOW POOL NUMBER. 46 1 OBDDSINF DATA SET INFORMATION. 47 1 * RESERVED. 48 2 OBDPSPARTARYSZ FOR PARTITION-BY-GROWTH UTS ONLY. WHEN OBDPSPBG = YES, THIS FIELD IS SIZE OF OBDPSPDS OR OBDPSIAP ARRAY. 4A 2 OBDPSANM ACTUAL NUMBER OF PARTITIONS FOR PARTITIONED FILE. 0 FOR LINEAR FILE. 4C 2 OBDPSIZE PIECE SIZE EXPRESSED AS A POWER OF 2 - PAGE SIZE EXPRESSED AS A POWER OF 2. 4E 8 OBDPSWRD PASSWORD. VALID IF INDEX OR FILE PAGE SET. -----------------------------------------------------------SEGMENT SIZE INFORMATION -----------------------------------------------------------55 2 OBDPSGSZ FOR A NON-LOB TABLE SPACE, SEGMENT SIZE INFORMATION. MULTIPLE OF 4 FROM 4 TO 64. VALID IF OBDPSEG = B1. 55 2 OBDPSPPC FOR A LOB TABLE SPACE, THE NUMBER OF PAGES PER CHUNK. VALUE IS 16. 57 2 OBDPSNSG FOR A NON-LOB TABLE SPACE, NUMBER OF SEGMENTS PER SPACE MAP PAGE. 57 2 OBDPSCPS FOR A LOB TABLE SPACE, NUMBER OF CHUNKS PER SPACE MAP PAGE. 59 2 OBDPSMOD OFFSET TO MODIFIED PAGE INDICATOR AREA IN SPACE MAP PAGE 5B A OBDPSTIM TIMESTAMP OF DATABASE CREATION 65 1 OBDPITYP TYPE FIELD FOR INDEX TYPE. 66 1 OBDPSMXR MAXROWS VALUE FOR A DATA PAGE. 67 1 OBDPSMMR MAXIMUM VALUE OF MAXROWS. 68 4 * RESERVED. -----------------------------------------------------------MIGRATION/FALLBACK INFORMATION -----------------------------------------------------------6C 2 * RESERVED. 6E 1 OBDPSMRK PAGE SET OBD DEPENDENCY MARK -----------------------------------------------------------PAGE SET APPENDAGE: CONTAINS INFORMATION DEPENDENT ON THE TYPE OF PAGE SET AND A LIST OF DATA SET DESCRIPTORS. -----------------------------------------------------------70 0 OBDPSAPP -----------------------------------------------------------APPENDAGE FOR A PAGE SET WHICH IS A DATA INSTANCE OF A FILE. IT CONTAINS 1 ENTRY OF OBDPSFAP AND 1 ENTRY OF OBDPSPDS IF THE FILE IS NONPARTITIONED. IT CONTAINS 1 ENTRY OF OBDPSFAP AND OBDPSANM ENTRIES OF OBDPSPDS IF THE FILE IS PARTITIONED. -----------------------------------------------------------70 10 OBDPSFAP -----------------------------------------------------------HASHABLE AREA INFORMATION. APPLICABLE ONLY IF HASHED FILE. OBDPSHAM AND OBDPSHDM ARE BOTH 0 IF THE FILE IS NOT HASHED. -----------------------------------------------------------70 4 OBDPSHDR DENOTES THE FIXED LENGTH.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

.... 1... OBDPSCLO

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

535

DO NOT COPY
70 4 OBDPSHAM

Restricted Materials of IBM Licensed Materials Property of IBM

IF FILE IS NOT A LOB TABLE SPACE: IF FILE IS NOT PARTITIONED, PAGE NUMBER OF LAST PAGE OF HASH AREA OF PAGE SET. IF FILE IS PARTITIONED: PAGE NUMBER OF LAST PAGE OF HASH AREA OF FIRST DATA SET. 70 4 OBDPSPAL IF FILE IS A LOB TABLE SPACE, THE OFFSET TO THE PAGE ALLOCATION INDICATOR IN A LOB SPACE MAP. 74 4 OBDPSHDM IF FILE IS NOT A LOB TABLE SPACE: IF FILE IS NONPARTITIONED: NUMBER OF DATA PAGES IN HASH AREA OF PAGE SET. IF FILE IS PARTITIONED: NUMBER OF DATA PAGES IN HASH AREA OF EACH DATA SET. 74 4 OBDPSUMS IF FILE IS A LOB TABLE SPACE: THE OFFSET TO THE USAGE MAP STRUCTURE IN A LOB SPACE MAP. 78 2 OBDPSFPT OFFSET FROM BEGINNING OF OBD TO THE FIRST OBDPSPDS ENTRY. 7A 2 OBDPSLPT OFFSET FROM BEGINNING OF OBD TO THE LAST OBDPSPDS ENTRY. 7C 2 * RESERVED. -----------------------------------------------------------HASH-MAP INFORMATION. APPLICABLE ONLY IF HASHED AND DYNAMIC FILE. OBDPSNHA IS 0 IF THE FILE IS NOT (HASHED & DYNAMIC). -----------------------------------------------------------7E 2 OBDPSNHA IF FILE IS NONPARTITIONED: NUMBER OF HASHABLE AREAS IN PAGE SET. IF FILE IS PARTITIONED: NUMBER OF HASHABLE AREAS PER DATA SET. -----------------------------------------------------------LIST OF DATA SET DESCRIPTORS. IT CONTAINS OBDPSANM ENTRIES. -----------------------------------------------------------80 0 OBDPSPDS 80 1 OBDPSPFS PERCENTAGE OF FREE SPACE IN A PAGE TO BE LEFT AT LOAD OR REORG. TIME (U). VALUES RANGE FROM 0 TO 100. AT LEAST ONE RECORD IS INSERTED IN EACH PAGE VALID IFF OBDFNSRP=YES IN THE CORRESPONDING FILE OBD. 81 1 OBDPSFPG A FREE PAGE IS LEFT EVERY OBDPSFPG PAGES IN A PAGE SET AT LOAD OR REORG TIME (U). VALUES RANGE FROM 0 TO 255 WHERE 0 MEANS NO FREE PAGE VALID IF OBDFNSRP=YES IN THE CORRESPONDING FILE OBD. 82 6 OBDPSVOS VOLUME SER ID, USED ONLY FOR LINEAR WORK FILE IN REL 2 88 4 OBDPSDPQ EXTENSION OF OBDPSFQT 8C 1 OBDPSFGB SET TO A FOR GBPCACHE ALL. SET TO X00 GBPCACHE CHANGED, WHICH IS THE DEFAULT FOR A NON-LOB TABLE SPACE. SET TO N FOR GBPCACHE NONE. SET TO S FOR GBPCACHE SYSTEM, WHICH IS THE DEFAULT FOR A LOB TABLE SPACE. 8D 1 * RESERVED. 8E 2 OBDPSNXT OFFSET FROM BEGINNING OF OBD TO THE NEXT OBDPSPDS. 90 2 OBDPSPRV OFFSET FROM BEGINNING OF OBD TO THE LAST OBDPSPDS.

536

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM 92 94 2 4

DO NOT COPY

| |

OBDPS_LOW_VER LOWEST VERSION NUMBER. OBDPSDSQ ENLARGED SECONDARY QUANTITY EXTENSION OF OBDPSFQT. 98 2 OBDPSPPN PHYSICAL PARTITION NUMBER. 9A A * RESERVED. A4 4 OBDPSSGN_OFFSET STORAGE GROUP NAME OFFSET. A8 4 * RESERVED. AC 8 OBDPSVCN VSAM CATALOG NAME B4 4 OBDPSVID IF 0 THEN OBDPSVIX IS INDEX B8 4 OBDPSVIX INDEX IN ACOMCNAM OF CATALOG NAME IF OBDPSVID = 0 BC 9 OBDPSDSS DATA SET OPERATIONAL PROTOCOL. BC 2 OBDPSFQT AMOUNT OF PRIMARY QUANTITY IGNORED IF OBDPSSTO IS NO. BE 2 OBDPSSQT AMOUNT OF SECONDARY QUANTITY IGNORED IF OBDPSSTO IS NO. C0 2 OBDPSHQT AMOUNT OF HEDGE QUANTITY C2 1 OBDPSFUT UNIT FOR PRIMARY QUANTITY C FOR CYLINDER. T FOR TRACK. P FOR PAGE. C3 1 OBDPSSUT UNIT FOR SECONDARY QUANTITY C FOR CYLINDER. T FOR TRACK. P FOR PAGE. C4 1 OBDPSHUT UNIT FOR HEDGE QUANTITY C FOR CYLINDER. T FOR TRACK. P FOR PAGE. C5 1 OBDPSPFG DSI FLAGS RELATED TO PARTITION 1... .... RESERVED. .1.. .... OBDPSCMP YES IF COMPRESS YES SPECIFIED. ..1. .... OBDPSTMN YES FOR DO NOT TRACK MODIFIED PAGES. ...1 .... OBDPSRRFMT PAGESET OR PARTITION IS IN REORDERED ROW FORMAT .... 1... OBDPSDEF YES IF DATA SET IS NOT DEFINED. .... .111 RESERVED. -----------------------------------------------------------C6 1 OBDPSDFG DSM FLAGS RELATED TO PARTITION 1... .... OBDPSERA YES IF DATA HAS TO BE ERASED AT PAGE SET DELETE TIME. ONLY APPLIED FOR STORAGE GROUP SUPPORTED PAGE SET. .1.. .... OBDPSSTO YES IF STORAGE GROUP IS USED ..1. .... OBDPSIPX PAGE SET INSTANCE PREFIX: YES IF THE PREFIX IS J. NO IF THE PREFIX IS I. ...1 1111 RESERVED. -----------------------------------------------------------C7 1 * RESERVED. C8 28 OBDPSKEM IF FILE IS NONPARTITIONED: SEQUENCE OF XFF. IF FILE IS PARTITIONED: PREFIXES OF MAX KEY IN KEY RANGE FOR EACH DATA SET. TO BE NORMALIZED WHEN USED TO AN ACTUAL KEY OF LENGTH EQUAL TO THE MAXIMUM KEY LENGTH BY PADDING WITH XFF (OR BY TRUNCATING IF MAXLTH < X28). FOR LAST PARTITION, SEQUENCE OF XFF. C8 4 OBDPSLMH OFFSET TO THE HIGH LIMIT KEY. CC 4 OBDPSLML RESERVED. D0 4 OBDPSLFG RESERVED. D4 1C * RESERVED. -----------------------------------------------------------APPENDAGE FOR A PAGE SET WHICH IS AN INSTANCE OF AN INDEX IT CONTAINS 1 ENTRY IF THE INDEX IS NONPARTITIONED. IT CONTAINS OBDPSANM ENTRIES IF THE INDEX IS PARTITIONED,
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

537

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

(SAME NUMBER OF ENTRIES AS THE RELATED FILE PAGE SET). -----------------------------------------------------------70 0 OBDPSIAP 1 OBDPIDFG DSM FLAGS RELATED TO PARTITION. 1... .... OBDPIERA YES IF DATA HAS TO BE ERASED. AT PAGE SET DELETE TIME. ONLY APPLIED FOR STORAGE GROUP. SUPPORTED PAGE SET. .1.. .... OBDPISTO YES IF STORAGE GROUP IS USED. ..1. .... OBDPIRLX YES IF 4-BYTE ROOT PAGE NUMBER. ...1 .... OBDPIIPX PAGE SET INSTANCE PREFIX: YES IF THE PREFIX IS J. NO IF THE PREFIX IS I. .... 1... OBDPIDEF YES IF DATA SET IS DEFINED. .... .111 * RESERVED. -----------------------------------------------------------71 1 OBDPIPFS PERCENTAGE OF FREESPACE IN LOGICAL PAGE TO BE LEFT AT LOAD OR REORG TIME (U). VALUES RANGE FROM 0 TO 100. AT LEAST ONE INDEX ENTRY IS INSERTED IN EACH PAGE VALID IF OBDINSRP=YES IN THE CORRESPONDING INDEX OBD. 72 1 OBDPIFPG A FREE PAGE IS LEFT AFTER EVERY DSIFXFPG PAGE IN A PAGESET AT LOAD AT LOAD OR REORG TIME (U). VALUES RANGE FROM 0 TO 255 WHERE 0 MEANS NO FREE PAGE VALID IFF OBDINSRP=YES IN THE CORRESPONDING INDEX OBD. OBDPITYP IS REMOVED. INDEXES CREATED IN V3 HAD THIS FIELD SET TO 1. INDEXES CREATED PRIOR TO V3 HAD THIS FIELD SET TO 0. REPAIR DBD ISSUES AN INFORMATIONAL MESSAGE IF THIS VALUE IS PRE-V4. THIS FIELD IS REUSED BY OBDPSIGB AND DSNUEDPS. 73 1 OBDPSIGB SET TO A FOR GBPCACHE ALL. SET TO FOR GBPCACHE CHANGED (DEFAULT). 74 4 OBDPSIPQ ENLARGED PRIMARY QUANTITY 78 4 OBDPNNPS MAXIMUM NUMBER OF PAGES COVERED BY A SPACE MAP PAGE, INCLUDING THE SPACE MAP PAGE ITSELF. 7C 2 OBDPPGSZ LOGICAL PAGE SIZE OF INDEX. VALUE IS 4096 FOR RIGHT NOW. 7E 2 OBDPSI_LOW_VER LOWEST INDEX VERSION NUMBER. 80 2 * RESERVED. 82 6 OBDPS000 THIS FIELD SHOULD NOT BE USED, IT IS ONLY A PLACE HOLDER. OBDPS000(1) WILL CONTAIN THE VOL SER FROM DSNPCPS0. DSNPCPS0 OVERLAYS OBDPSVOS(1) ON THIS FIELD WHEN CREATING AN INDEX PAGESET. 88 8 * RESERVED. 90 4 OBDPSIQS ENLARGED SECONDARY QUANTITY. 94 4 OBDPSISG_OFFSET STORAGE GROUP NAME OFFSET. 98 4 * RESERVED. 9C 8 OBDPSICA VSAM CATALOG NAME. 9C 4 OBDPSIID IF 0 THEN OBDPSVIX IS INDEX. A0 4 OBDPSIIX INDEX IN ACOMCNAM OF CATALOG. NAME IF OBDPSVID = 0. A4 9 OBDPSISS DATA SET OPERATIONAL PROTOCOL.

538

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM A4 A6 A8 AC AD AE AF 2 2 2 1 1 1 3

DO NOT COPY
OBDPSIQP OBDPSISQ OBDPSIHT OBDPSIUP OBDPSISU OBDPSIUH OBDPSRPZ AMOUNT OF PRIMARY QUANTITY. IGNORED IF OBDPISTO IS NO. AMOUNT OF SECONDARY QUANTITY. IGNORED IF OBDPISTO IS NO. AMOUNT OF HEDGE QUANTITY. UNIT FOR PRIMARY QUANTITY: C FOR CYLINDER. T FOR TRACK. P FOR PAGE. UNIT FOR SECONDARY QUANTITY: C FOR CYLINDER. T FOR TRACK. P FOR PAGE. UNIT FOR HEDGE QUANTITY: C FOR CYLINDER. T FOR TRACK. P FOR PAGE. ROOT PAGE NUMBER.

Page set extension block


Addressed as ADDR(OBDPS)+OBDPSEXO. Present if OBDPSEXT<>0.
0 0 0 2 4 8 E 40 40 2 2 4 6 2 OBDPX OBDPXCHD OBDPXCID OBDPXLEN OBDPXEYE OBDPXLRS OBDPXLKL

ID: ALWAYS X2184. LENGTH OF OBDPX. EYECATCHER: ALWAYS OBDP. LRSN FOR COPY ATTRIBUTE. LIMIT KEY LENGTH. 0 FOR THE OLD FORMAT OR FOR AN INDEX PAGESET. 10 6 OBDPXDUR DEFER DEFINE CREATOR URID. 16 2 OBDPXHIGH_VER HIGH VERSION NUMBER. 18 2 OBDPXLOW_VER LOW VERSION NUMBER. 1A 2 OBDPXP2L_OFFSET OFFSET FROM OBDPX TO OBDP2L. 1C 24 * RESERVED. -----------------------------------------------------------STORAGE GROUP NAME STRUCTURE. (OFFSET IS OBDPSSGN_OFFSET(i) FOR PARTITION i.) -----------------------------------------------------------00 * OBDPSSGN_AREA STORAGE GROUP NAME STRUCTURE. 00 2 OBDPSSGN_LEN STORAGE GROUP NAME LENGTH. 02 80 OBDPSSGN_NAME STORAGE GROUP NAME. -----------------------------------------------------------STORAGE GROUP NAME STRUCTURE. (OFFSET IS OBDPSISG_OFFSET(i) FOR PARTITION i.) -----------------------------------------------------------00 * OBDPSISG_AREA STORAGE GROUP NAME STRUCTURE. 00 2 OBDPSISG_LEN STORAGE GROUP NAME LENGTH. 02 80 OBDPSISG_NAME STORAGE GROUP NAME. -----------------------------------------------------------ARRAY FOR STORING LOGICAL PARTITION INFORMATION. THE ARRAY EXISTS ONLY IN TABLE SPACE OBDPSET. IT IS LOCATED AT ADDR(OBDPX)+OBDPXP2L_OFFSET. -----------------------------------------------------------0 0 OBDP2L 0 2 OBDPSP2L PARTITION ARRAY. INDEXED BY PHYSICAL PARTITION NUMBER. THE DIMENSION OF THE ARRAY IS OBDPSANM. -----------------------------------------------------------STRUCTURE FOR MAPPING HIGH LIMIT KEY INFORMATION. -----------------------------------------------------------0 0 OBDLMH 0 2 OBDLMLN LIMIT KEY LENGTH. 2 * OBDLMKY LIMIT KEY.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

539

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Trigger descriptor
A trigger descriptor contains the following parts: v A fixed-length common section: header, OBID pointers, trigger information, transition variable information, and transition table information v A repeating section that begins at OBDTGSEC and contains information about each section (SQL statement) in the trigger v A repeating section that begins at offset OBDTGFO and contains information about transition variables, transition tables, and, for update triggers, any columns specified in the UPDATE clause v A variable-length section that begins at offset OBDTGSCLX and contains information about which variables the trigger can update
-----------------------------------------------------------OBDTG TRIGGER DESCRIPTOR. 78 OBDTGHEA 0 2 OBDTGFLG X2010 FOR A TRIGGER DESCRIPTOR OR CHECK CONSTRAINT DESCRIPTOR. 2 2 OBDTGFLG2 FLAGS. 1111 .... * RESERVED. .... 1... OBDTGCLONE 1 = CLONE, 0 = BASE. .... .111 * RESERVED. 1111 1111 * RESERVED. 4 4 OBDTGLTH LENGTH OF TRIGGER DESCRIPTOR. 8 2 OBDTGID OBID OF THE TRIGGER. A 22 * RESERVED. 20 8 OBDTGCPOFF OFFSET TO THE COUNTERPART OBD AT 33-40. 28 16 * RESERVED. 38 2 OBDTGEYC EYECATCHER: BI - BEFORE INSERT TRIGGER. BU - BEFORE UPDATE TRIGGER. BD - BEFORE DELETE TRIGGER. AI - AFTER INSERT TRIGGER. AU - AFTER UPDATE TRIGGER. AD - AFTER DELETE TRIGGER. 3A 2 OBDTGREC ID OF RECORD THAT CONTAINS THIS TRIGGER. 3C 2 OBDTGNXT ID OF NEXT TRIGGER DESCRIPTOR. 0 FOR LAST TRIGGER DESCRIPTOR. 3E 2 OBDTGUPC FOR UPDATE TRIGGERS, THE NUMBER OF UPDATED COLUMNS IN THE TRIGGER. 40 2 OBDTGSECN NUMBER OF SECTIONS. 42 1 OBDTGTP T - TRIGGER TYPE OBD. 43 1 OBDTGFLAGS FLAGS FOR TRANSITION TABLES: 1... .... OBDTGOTRT YES IF THE TRIGGER REFERENCES AN OLD TRANSITION VARIABLE OR OLD TRANSITION TABLE. .1.. .... OBDTGNTRT YES IF THE TRIGGER REFERENCES A NEW TRANSITION VARIABLE OR NEW TRANSITION TABLE. ..1. .... OBDTGOVAR YES = OLD TRANSITION VARIABLE IS REFERENCED FOR UPDATE OR DELETE. ...1 .... OBDTGNVAR YES = NEW TRANSITION VARIABLE IS REFERENCED FOR INSERT OR DELETE. .... 1... OBDTGIOTG YES = INSTEAD OF TRIGGER. .... .111 * RESERVED. 44 1 OBDTGTGR TRIGGER GRANULARITY: R - ROW TRIGGER. S - STATEMENT TRIGGER. 45 1 RESERVED. 46 2 OBDTGFO OFFSET TO OBDTGREF. 48 8 OBDTGTM STORE CLOCK VALUE WHEN THE TRIGGER WAS CREATED.

| | | | | | | |

| | | | | |

540

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM 50 54 58 5C 60 64 72 76 84 4 4 4 4 4 E 4 E 2

DO NOT COPY

OBDTGSCA_OFFSET TRIGGER SCHEMA. * RESERVED. OBDTGNAM_OFFSET TRIGGER NAME. * RESERVED. OBDTGTON_OFFSET OLD TRANSITION TABLE IDENTIFIER. * RESERVED. OBDTGTNN_OFFSET NEW TRANSITION TABLE IDENTIFIER. * RESERVED. OBDTGMAXRV MAXIMUM NUMBER OF REFERENCE VARIABLES IN EACH SECTION. 86 2 OBDTGSCLX OFFSET TO OBDTGSCL. 88 20 RESERVED. -----------------------------------------------------------A8 OBDTGSEC TRIGGER DESCRIPTOR SECTION. A8 4 OBDSGSHD TRIGGER DESCRIPTOR SECTION HEADER. A8 4 OBDTGSEY TSEC - TRIGGER SECTION EYECATCHER. AC 20 OBDTGSL SECTION LIST. OBDTGSECN CONTAINS THE DIMENSION OF THE LIST. AC 2 OBDTGSSN SECTION NUMBER. AE 2 OBDTGSTYPE SECTION TYPE. B0 2 OBDTGSRV NUMBER OF REFERENCE VARIABLES FOR THIS SECTION. REFERENCE VARIABLES ARE IN OBDTGREF. B2 2 OBDTGSFRV FIRST REFERENCE VARIABLE IN OBDTGREF FOR THIS SECTION. B4 1 OBDTGSFLG FLAGS FOR THIS SECTION: 1... .... OBDTGSEL YES IF THE SECTION IS FOR A SELECT STATEMENT. .1.. .... OBDTGSET YES IF THE SECTION IS FOR A SET STATEMENT. ..11 1111 RESERVED. B5 17 RESERVED. -----------------------------------------------------------TRIGGER SCHEMA STRUCTURE (OFFSET IS OBTGSCA_OFFSET) -----------------------------------------------------------00 * OBDTGSCA_AREA TRIGGER CREATOR STRUCTURE 00 2 OBDTG_SCA_LEN TRIGGER CREATOR LENGTH 02 * OBDTG_SCA_NAME TRIGGER CREATOR NAME -----------------------------------------------------------TRIGGER NAME STRUCTURE (OFFSET IS OBDTGNAM_OFFSET) -----------------------------------------------------------00 * OBDTGNAM_AREA TRIGGER NAME STRUCTURE 00 2 OBDTG_NAME_LEN TRIGGER NAME LENGTH 02 * OBDTG_NAME TRIGGER NAME -----------------------------------------------------------OLD TRANSITION TABLE IDENTIFIER STRUCTURE (OFFSET IS OBDTGTON_OFFSET) -----------------------------------------------------------00 * OBDTGTON_AREA OLD TRANSITION TABLE ID STRUCTURE 00 2 OBDTG_OLD_TRANS_NAME_LEN OLD TRANSITION TABLE ID LENGTH 02 * OBDTG_OLD_TRANS_NAME OLD TRANSITION TABLE ID -----------------------------------------------------------NEW TRANSITION TABLE IDENTIFIER STRUCTURE (OFFSET IS OBDTGTNN_OFFSET) -----------------------------------------------------------00 * OBDTGTNN_AREA NEW TRANSITION TABLE ID STRUCTURE 00 2 OBDTG_NEW_TRANS_NAME_LEN NEW TRANSITION TABLE ID LENGTH 02 * OBDTG_NEW_TRANS_NAME NEW TRANSITION TABLE ID -----------------------------------------------------------OBDTGREF ARRAY TO RECORD INFORMATION FOR EACH REFERENCE VARIABLE OR TRANSITION VARIABLE IN THE UPDATE COLUMN LIST AND EACH SECTION. INFORMATION FOR REFERENCE VARIABLES FOR AN UPDATE COLUMN IS ALWAYS RECORDED FIRST. OBDTGFO POINTS TO THIS ARRAY. 0 4 OBDTGREY TREF - TRIGGER REFERENCE OR TRANSITION VARIABLE EYECATCHER.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

541

DO NOT COPY
4 6 2C 2 OBDTGRL OBDTGRCN

Restricted Materials of IBM Licensed Materials Property of IBM

1 OBDTGRFL 1... .... OBDTGRON .1.. .... OBDTGRUP

..11 1111 1 OBDTGTFL 1... .... OBDTGTBO .1.. .... OBDTGTBN ..1. .... OBDTGDBCS ...1 1... OBDTGSUBT

.... .111 8 8

INFORMATION FOR A FIELD. COLUMN NUMBER FOR THIS FIELD. 0 FOR A TRANSITION TABLE. REFERENCE VARIABLE FLAGS: YES IF THIS IS AN OLD TRANSITION VARIABLE. YES IF AN UPDATE COLUMN WAS SPECIFIED IN AN UPDATE LIST. RESERVED. FLAGS FOR INFORMATION ABOUT REFERENCED TRANSITION TABLES: YES IF REFERENCING OLD TRANSITION TABLE. YES IF REFERENCING NEW TRANSITION TABLE. YES IF COLUMN IS DBCS. SUBTYPE: B00: NO SUBTYPE. B01: BIT SUBTYPE. B10: SBCS SUBTYPE. B11: MIXED SUBTYPE. RESERVED.

OBDTGFLDP FIELDPROC NAME, IF A FIELDPROC EXISTS. 10 2 OBDTGFDTP TYPE OF THE DECODED FIELD. 12 2 OBDTGFDLN LENGTH OF THE DECODED FIELD. 14 2 OBDTGFEXP OFFSET TO THE FIELDPROC PARAMETER LIST. 2 OBDTGFCLN PRECISION AND SCALE, FOR A DECIMAL COLUMN. 16 1 OBDTGFP PRECISION OF THE COLUMN. 17 1 OBDTGFS SCALE OF THE COLUMN. 18 18 RESERVED. -----------------------------------------------------------OBDTGSCL BIT MAP TO RECORD THE COLUMNS SET UP BY THE SET TRANSITION VARIABLE STATEMENT IN A BEFORE UPDATE TRIGGER. THIS BLOCK CONSISTS OF AN ARRAY OF STRINGS, EACH OF WHICH IS 750 BITS. A BIT IS ON IF THE CORRESPONDING COLUMN IS IN THE BEFORE UPDATE TRIGGER. OBDTGSCLX CONTAINS THE OFFSET TO THIS BLOCK. 8 OBDSGSCLHD HEADER FOR TRANSITION VARIABLE SECTION. 0 4 OBDTGSETC TRSC - EYECATCHER FOR TRANSITION VARIABLE SECTION. 4 2 OBDTGSETCN NUMBER OF OBDTGSCLA ENTRIES. 6 2 RESERVED. 5E OBDTGSCLA FIRST BIT STRING. 8 OBDTGSCLC ARRAY OF BITS WHOSE LENGTH IS THE NUMBER OF COLUMNS IN THE TABLE. EACH BIT IS ON IF THERE IS A BEFORE TRANSITION VARIABLE STATEMENT FOR THE CORRESPONDING COLUMN IN THE TABLE.

Auxiliary relationship descriptor


An auxiliary relationship descriptor contains the following parts: v Fixed length common section: header, OBID-pointers, migration and fallback information, and management information v Variable length section: auxiliary relationship information v Variable-length external section: present at offset OBDAEXO if OBDAEXO > 0

542

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | |

0 OBDRA -----------------------------------------------------------HEADER OF A AUXILIARY RELATIONSHIP DESCRIPTOR -----------------------------------------------------------00 8 OBDAHEAD FIXED LENGTH SECTION. 00 2 OBDAFLGS FLAGS. 111. .... OBDRATYP EQUAL TO B010. ...1 1111 RESERVED. 1111 111. .... ...1 OBDATYP3 EQUAL TO B1. 02 2 OBDAFLG2 FLAGS. 1111 .... OBDATYP4 000OB FOR OBDRA. .... 1... OBDACLONE 1 = CLONE, 0 = BASE. .... .111 * RESERVED. 1111 1111 * RESERVED. 04 4 OBDALEN LENGTH OF AUXILIARY RELATIONSHIP DESCRIPTOR. 08 2 OBDAID ID OF AUXILIARY RELATIONSHIP DESCRIPTOR. 0A 2 * RESERVED. 0C 4 OBDAEXO OFFSET TO THE EXTERNAL SECTION. 0 IF NONE. 10 16 * RESERVED. 20 8 OBDACPOFF OFFSET TO THE COUNTERPART OBD AT 33-40. 28 16 * RESERVED. 38 4 OBDRAEYE EYECATCHER - ALWAYS OBRA. -----------------------------------------------------------OBID-POINTERS TO DESCRIPTORS RELATED TO AUX REL DESCRIPTOR -----------------------------------------------------------3C 2 OBDABT OBID OF OBDREC OF BASE TABLE. 3E 2 OBDANEXT ID OF NEXT OBDRA FOR THE BASE TABLE. 0 IF LAST ONE. -----------------------------------------------------------OTHER INFORMATION -----------------------------------------------------------40 2 OBDACOLNO COLUMN NUMBER OF THE EXTERNALLY STORED COLUMN IN THE BASE TABLE. 42 2 OBDAPARTN NUMBER OF PARTITIONS IN THE BASE TABLE SPACE. 0 IF THE BASE TABLE SPACE IS NONPARTITIONED. 44 2 OBDAPLST NUMBER OF ENTRIES IN OBDAPART. 1 IF THE BASE TABLE SPACE IS NONPARTITIONED. 46 2 RESERVED. 48 C RESERVED. -----------------------------------------------------------MIGRATION/FALLBACK INFORMATION -----------------------------------------------------------54 1 OBDAMRK AUXILIARY RELATIONSHIP DEPENDENCY MARK. 55 3 RESERVED. -----------------------------------------------------------LIST OF RELATIONSHIP ENTRIES. IF THE BASE TABLE IS PARTITIONED, THERE IS ONE ENTRY FOR EACH PARTITION. IF THE BASE TABLE IS NONPARTITIONED, THERE IS ONE ENTRY. -----------------------------------------------------------58 * OBDAPART PARTITION LIST. 58 2 OBDAAT OBID OF OBDREC FOR AUXILIARY TABLE. 5A 2 OBDAPS OBID OF LOB TABLE SPACE PAGE SET. 5C 2 OBDAFI OBID OF LOB TABLE SPACE FILE. 5E 2 OBDAIPS OBID OF INDEX PAGE SET FOR THE INDEX ON THE AUXILIARY TABLE. 60 6 * RESERVED.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 25. Database descriptor (DBD) formats

543

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

544

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams


This chapter illustrates the relationships that exist between the DB2 directory tables and between the DB2 catalog tables. Familiarity with these relationships is important when diagnosing problems that relate to the data or the indexes in the DB2 catalog or directory.
Table 128. DB2 directory and catalog table diagrams Page Set DSNDB01.DBD01 DSNDB01.SCT02 DSNDB01.SPT01 DSNDB01.SYSLGRNX DSNDB01.SYSUTILX DSNDB06.SYSALTER DSNDB06.SYSCONTX DSNDB06.SYSCOPY DSNDB06.SYSDBAUT DSNDB06.SYSDDF DSNDB06.SYSEBCDC DSNDB06.SYSGPAUT DSNDB06.SYSGROUP DSNDB06.SYSDBASE DSNDB06.SYSHIST DSNDB06.SYSGRTNS DSNDB06.SYSJAUXA DSNDB06.SYSJAUXB DSNDB06.SYSJAVA DSNDB06.SYSOBJ DSNDB06.SYSPLAN DSNDB06.SYSUSER DSNDB06.SYSVIEWS DSNDB06.SYSPKAGE Figure and Page Number Figure 166 on page 546 Figure 167 on page 546 Figure 168 on page 546 Figure 169 on page 546 Figure 170 on page 547 Figure 171 on page 547 Figure 172 on page 548 Figure 173 on page 548 Figure 174 on page 548 Figure 175 on page 549 Figure 176 on page 550 Figure 177 on page 550 Figure 178 on page 550 Figure 179 on page 552 Figure 180 on page 554 Figure 181 on page 554 Figure 182 on page 554 Figure 183 on page 554 Figure 184 on page 555 Figure 185 on page 557 Figure 186 on page 558 Figure 187 on page 558 Figure 188 on page 559 Figure 189 on page 560 Figure 190 on page 561 Figure 191 on page 561 Figure 192 on page 562 Figure 193 on page 563 Figure 194 on page 564 Figure 195 on page 564 Figure 196 on page 565 Figure 197 on page 567

| | | |

DSNDB06.SYSPLUXA DSNDB06.SYSROLES DSNDB06.SYSRTSTS DSNDB06.SYSSTR DSNDB06.SYSXML DSNDB06.SYSSEQ DSNDB06.SYSSEQ2 DSNDB06.SYSSTATS

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

545

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 128. DB2 directory and catalog table diagrams (continued) Page Set Figure and Page Number Figure 198 on page 568

DSNDB06.SYSTARG

DB2 directory diagrams


The numeric values in parentheses are the object identifiers (OBIDs) in decimal and in hexadecimal.
Hash (161/A1) DBDR (33/21) Link (162/A2)

DBDS (34/22)

Figure 166. DSNDB01.DBD01 page set: Page set (31/1F) file (16/10)
Unique Index DSNSCT02 (111/6F) (SCTNAME, SCTSEC, SPTSEQ) SCTR (97/61)

Figure 167. DSNDB01.SCT02 page set: Page set (95/5F) file (96/60)
Unique Index DSNSPT01 (143/8F) (SPTPID, SPTSEC, SPTSEQ) Unique Index DSNSPT02 (159/9F) (version, SPTID, SPTSEC, SPTSEQ)

SPTR (129/81) (Generic key = RESERVED, PACKAGE COLLECTION ID)

Figure 168. DSNDB01.SPT01 page set: Page set (127/7F) file (128/80)
Unique Index DSNLLX01 (131/83) (LGRDBID, LGRPSID, LGRPART, LGRMEMB, LGRSLRSN) (Generic key = LGRDBID, LGRPSID) Index DSNLLX02 (133/85) (LGRDBID, LGRPSID, LGRSLRSN)

SYSLGRNX (209/D1)

Figure 169. DSNDB01.SYSLGRNX page set: Page set (207/CF) file (192/C0)

546

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Unique Index DSNLUX01 (67/43) (USUUID)

SYSUTIL (81/51)

Unique Index DSNLUX02 (69/45) (UTILID, SEQNO)

SYSUTILX (83/53) Relation DSN1T@1T (71/47) (Parent is SYSUTIL)

Figure 170. DSNDB01.SYSUTILX page set: Page set (175/AF) file (160/A0)

DB2 catalog diagrams


The numeric values in parentheses are the object identifiers (OBIDs) in decimal and in hexadecimal. The index and link fan set keys (if any) are listed, with the generic key in boldfaced type. Those indexes with 16 subpages are indicated with an x after the index name.
Segmented Unique Clustering Index DSNDOB01 (740/2E4) (CREATOR, NAME, OBDTYPE) Nonunique Index DSNDOB02 (742/2E6) (DBID, PSID)

SYSOBDS (739/2E3)

Nonunique Clustering Index DSNADL01 (860/35C) (DBNAME,TSNAME, CREATEDTS, PARTITION)

Nonunique Index DSNADL02 (862/35E) (OBJSCHEMA, OBJNAME, OBJTYPE, CREATEDTS)

SYSPENDINGDDL (859/35B)

Figure 171. DSNDB06.SYSALTER page set: page (725/2D5) file (724/2D4)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

547

DO NOT COPY
Segmented
Unique Clustering Index DSNCTX01 (831/33F) (NAME) Unique Index DSNCTX02 (833/341) (SYSTEMAUTHID)

Restricted Materials of IBM Licensed Materials Property of IBM

Unique Index DSNCTX03 (835/343) (CONTEXTID) Nonunique Index DSNCTX04 (855/357) (DEFAULTROLE)

SYSCONTEXT (830/33E) Relation DSNCA@CT (838/346) Unique Clustering Index DSNCAX01 (839/347) (CONTEXTID, NAME, VALUE) Relation DSNCA@CU (842/34A) Unique Clustering Index DSNCDX01 (843/34B) (CONTEXTID, AUTHID) Nonunique Index DSNCDX02 (857/359)(ROLE) SYSCONTEXTAUTHIDS (841/349)

SYSCTXTTRUSTATTRS (837/345)

Figure 172. DSNDB06.SYSCONTX page set: page (829/33D) file (828/33C)

Nonunique Index DSNUCX01 (117/75) (DSNAME)

Nonunique Index DSNUCH01 (91/5B) (DBNAME, TSNAME, START_RBA(desc. key)) TIMESTAMP(desc. key))

SYSCOPY (46/2E)

Figure 173. DSNDB06.SYSCOPY page set: page (16/10) file (7/07)

Unique Index DSNDDH01 (85/55) (NAME)

SYSDATABASE (42/2A)

Nonunique Index DSNDDX02 (200/C8) (GROUP_MEMBER)

Nonunique Index DSNADH01 (88/58) (GRANTEE, NAME, GRANTEETYPE)

Link DSNDD#AD (86/56) Nonunique Index DSNADX01 (87/57) (GRANTOR, NAME, GRANTORTYPE) SYSDBAUTH (43/2B)

Figure 174. DSNDB06.SYSDBAUT page set: Page (13/0D) file (4/04)

548

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Unique Index DSNFNX01 (219/DB)(LUNAME)

Segmented

LUNAMES (218/DA)
Unique Index DSNFLX01 (233/E9) (LINKNAME, LUNAME) Unique Index DSNFLX02 (235/EB) (LUNAME)

Relation DSNFN@FL (232/E8) Relation DSNFN@FM (238/EE)

Relation DSNFN@FD (242/F2)


Unique Index DSNFMX01 (239/EF) (LUNAME, MODENAME) Unique Index DSNFDX01 (LUNAME, AUTHID DESC, PLANNAME DESC)(243/F3)

LULIST (231/E7)

LUMODES (237/ED)

MODESELECT (241/F1)

Unique Index DSNFCX01 (216/D8)(LOCATION)

Unique Index DSNFPX01 (246/F6) (LINKNAME)

LOCATIONS (215/D7)

IPNAMES (245/F5)

Unique Index DSNFEX01 (228/E4)(TYPE, AUTHID DESC, LINKNAME DESC)

Unique Clustering Index DSNDUX01 (737/2E1) (LINKNAME, IPADDR))

USERNAMES (227/E3)

IPLIST (736/2E0)

Check Constraints On LUNAMES: DSNLUN_SEC_IN_C DSNLUN_SEC_OUT_C DSNLUN_ENCRPSWDS_C DSNLUN_MODESEL_C DSNLUN_USERNAMES_C DSNLUN_GENERIC_C On USERNAMES: DSNUSN_TYPE_C On IPNAMES: DSNIPN_SEC_OUT_C DSNIPN_USERNAMES_C

(221/DD) (222/DE) (223/DF) (224/E0) (225/E1) (226/E2)

(230/E6)

(248/F8) (249/F9)

Figure 175. DSNDB06.SYSDDF page set: Page (214/D6) file (213/D5)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

549

DO NOT COPY
Segmented
SYSDUMMY1 (212/D4)

Restricted Materials of IBM Licensed Materials Property of IBM

Figure 176. DSNDB06.SYSEBCDC page set: Page (753/2F1) file (752/2F0)

Nonunique Index DSNAGH01 (89/59) (GRANTEE, QUALIFIER, NAME, OBJTYPE, GRANTEETYPE)

Nonunique Index DSNAGX01 (90/5A) (GRANTOR, QUALIFIER, NAME, OBJTYPE, GRANTORTYPE)

SYSRESAUTH (44/2C)

Figure 177. DSNDB06.SYSGPAUT page set: Page (14/0E) file (5/05)

Unique Index DSNSSH01 (83/53) (NAME)

SYSSTOGROUP (40/28)

Link DSNSS#SV (84/54)

SYSVOLUMES (41/29)

Figure 178. DSNDB06.SYSGROUP page set: Page (12/0C) file (3/03)

550

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
SYSTABLESPACE (17/11)

Unique Index DSNDPX01 (198/C6) (DBNAME, TSNAME, PARTITION) Nonunique Index DSNDPX02 (354/162) (STORNAME) Nonunique Index DSNDPX03 (732/2DC) (DBNAME, TSNAME, LOGICAL_PART) Unique Index DSNDCX01 (115/73) (TBCREATOR, TBNAME, NAME) Nonunique Index DSNDCX02 (349/15D) (TYPESCHEMA, TYPENAME)

Unique Index DSNDSX01 (47/2F) (DBNAME, NAME) Unique Index DSNDTX01 (61/3D) (CREATOR, NAME) Unique Index DSNDTX02 (163/A3) (DBID, OBID, CREATOR, NAME) Nonunique Index DSNDTX03 (754/2F2) (TBCREATOR, TBNAME)

Link DSNDS#DP (48/30) (PARTITION)

Link DSNDS#DT (49/31)

SYSTABLEPART (18/12)

SYSTABLES (19/13)

Link DSNDT#DF (50/32) (COLNO)

Link DSNDT#DY (60/3C)

Unique Index DSNDYX01 (67/43) (CREATOR, NAME)

SYSCOLUMNS (20/14)
Link DSNDF#FD (51/33)

Link DSNDT#DR (52/34) (RELNAME)

SYSSYNONYMS (33/21)
Nonunique Index DSNATX01 (65/41) (GRANTOR, GRANTORTYPE) Nonunique Index DSNATX03 (210/D2) (GRANTEE, GRANTEETYPE, COLLID, CONTOKEN)

Link DSNDT#AT (58/3A)

SYSFIELDS (21/15)
Nonunique Index DSNDLX01 (62/3E) (REFTBCREATOR, REFTBNAME) Nonunique Index DSNDLX02 (758/2F6) (CREATOR, TBNAME)

SYSRELS (22/16)
Link DSNDR#DF (54/36) (COLSEQ)

SYSTABAUTH (28/1C)
Link DSNAT#AF (59/3B)

Nonunique Index DSNATX02 (66/42) (GRANTEE, TCREATOR, TTNAME, GRANTEETYPE, UPDATECOLS, ALTERAUTH, DELETEAUTH, INDEXAUTH, INSERTAUTH, SELECTAUTH, UPDATEAUTH, CAPTUREAUTH, REFERENCESAUTH, REFCOLS,TRIGGERAUTH)

Nonunique Index DSNATX04 (756/2F4) (TCREATOR, TTNAME)

SYSFOREIGNKEYS (25/19)

SYSCOLAUTH (32/20)

Nonunique Index DSNACX01 (760/2F8) (CREATOR, TNAME, COLNAME)

Nonunique Index DSNDRH01 (726/2D6) (CREATOR, TBNAME, RELNAME)

Next Diagram

Link DSNDT#DX (55/37) (To SYSINDEXES)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

551

DO NOT COPY
Link DSNDT#DX (55/37) (From SYSTABLES) Nonunique Index DSNDXX02 (64/40) (DBNAME, INDEXSPACE)

Restricted Materials of IBM Licensed Materials Property of IBM

Unique Index DSNDXX01 (63/3F) (CREATOR, NAME)

Unique Index DSNDXX03 (194/C2) (TBCREATOR, TBNAME, CREATOR, NAME)

Nonunique Index DSNDXX04 (728/2D8) (INDEXTYPE)

SYSINDEXES (23/17)
Link DSNDX#DR (56/38) (PARTITION) Unique Index DSNDRX01 (196/C4) (IXCREATOR, IXNAME, PARTITION) Unique Index DSNDKX01 (192/C0) (IXCREATOR, IXNAME, COLNAME)

Link DSNDX#DK (57/39) (COLSEQ)

Nonunique Index DSNDRX02 (352/160) (STORNAME)

SYSINDEXPART (26/1A)

SYSKEYS (27/1B)

Check Constraints On SYSINDEXES: DSNIXS_CLSTRRATIO DSNIXS_CLSTRATIOF DSNIXS_CLUSTERED DSNIXS_FIRSTKCARDF DSNIXS_FULLKCARDF DSNIXS_NLEAF DSNIXS_NLEVELS DSNIXS_SPACEF On SYSTABLES: DSNTAB_AVGROWLEN DSNTAB_CARDF DSNTAB_NPAGES DSNTAB_NPAGESF DSNTAB_PCTPAGES DSNTAB_PCTROWCOMP DSNTAB_SPACEF On SYSCOLUMNS: DSNCOL_COLCARDF On SYSTABLESPACE: DSNTSP_NACTIVE DSNTSP_NACTIVEF On SYSINDEXPART: DSNIPT_DSNUM DSNIPT_EXTENTS DSNIPT_LEAFFAR DSNIPT_LEAFNEAR DSNIPT_PDELKEYS DSNIPT_SPACEF

(262/106) (356/164) (351/15F) (263/107) (264/108) (265/109) (266/10A) (672/2A0)

(705/2C1) (275/113) (276/114) (703/2BF) (277/115) (278/116) (704/2C0)

(679/2A7) (680/2A8) (681/2A9) (682/2AA) (683/2AB) (684/2AC)

(261/105)

On SYSTABLEPART: DSNTPT_DSNUM DSNTPT_EXTENTS DSNTPT_SPACEF

(698/2BA) (699/2BB) (697/2B9)

(279/117) (366/16E)

Figure 179. DSNDB06.SYSDBASE page set: Page (9/09) file (1/01). ordering keys for the link fan set.

The column names listed for links represent the

552

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Segmented
Relation DSNDC@HF (395/18B) (Parent is SYSCOLUMNS) Nonunique Clustering Index DSNHFX01 (393/189) (TBOWNER, TBNAME, NAME, STATSTIME) Relation DSNDC@HE (604/25C) (Parent is SYSCOLUMNS) Nonunique Clustering Index DSNHEX01 (602/25A) (TBCREATOR, TBNAME, NAME, STATSTIME)

SYSCOLDIST_HIST (392/188)

SYSCOLUMNS_HIST (601/259)

Relation DSNDR@HG (620/26C) (Parent is SYSINDEXPART)

Nonunique Clustering Index DSNHGX01 (618/26A) (IXCREATOR, IXNAME, PARTITION, STATSTIME)

Nonunique Clustering Index DSNHHX01 (626/272) (TBCREATOR, TBNAME, NAME, STATSTIME)

Relation DSNDX@HH (628/274) (Parent is SYSINDEXES)

SYSINDEXPART_HIST (617/269)

Nonunique Index DSNHHX02 (722/2D2) (CREATOR, NAME)

SYSINDEXES_HIST (625/271)

Relation DSNTX@HI (624/270) (Parent is SYSINDEXES)

Nonunique Clustering Index DSNHIX01 (622/26E) (OWNER, NAME, PARTITION, STATSTIME)

Relation DSNLN@HJ (649/289) (Parent is SYSLOBSTATS)

Nonunique Clustering Index DSNHJX01 (647/287) (DBNAME, NAME, STATSTIME)

SYSINDEXSTATS_HIST (621/26D)

SYSLOBSTATS_HIST (646/286)

Relation DSNDP@HC (663/297) (Parent is SYSTABLEPART)

Nonunique Clustering Index DSNHCX01 (661/295) (DBNAME, TSNAME, PARTITION, STATSTIME)

Relation DSNDT@CN (655/28F) (Parent is SYSTABLES)

Nonunique Clustering Index DSNHDX01 (657/291) (CREATOR, NAME, STATSTIME)

SYSTABLEPART_HIST (660/294)

SYSTABLES_HIST (656/290)

Relation DSNTT@HB (667/29B) (Parent is SYSTABLES)

Nonunique Clustering Index DSNHBX01 (665/299) (OWNER, NAME, PARTITION, STATSTIME)

Relation DSNDX@HK (795/31B) (Parent is SYSKEYTARGETS)

Nonunique Index DSNHKX01 (796/31C) (IXSCHEMA, IXNAME, KEYSEQ, STATSTIME)

SYSTABSTATS_HIST (664/298)

SYSKEYTARGETS_HIST (794/31A)

Relation DSNDX@HD (807/327) (Parent is SYSKEYTARGETS)

Nonunique Index DSNTDX02 (808/328) (IXSCHEMA, IXNAME, KEYSEQ, STATSTIME)

SYSKEYTGTDIST_HIST (806/326)

Check Constraints On SYSCOLDIST_HIST: DSNCDH_CARDF DSNCDH_FREQUENCYF DSNCDH_NUMCOLUMNS On SYSCOLUMNS_HIST: DSNCLH_COLCARDF On SYSINDEXES_HIST: DSNIXH_CLSRATIOF DSNIXH_FIRSTKCARDF DSNIXH_FULLKCARDF DSNIXH_NLEAF DSNIXH_NLEVELS DSNIXH_SPACEF On SYSINDEXPART_HIST: DSNIPH_DSNUM DSNIPH_EXTENTS DSNIPH_LEAFFAR DSNIPH_LEAFNEAR DSNIPH_PDELKEYS DSNIPH_SPACEF On SYSINDEXSTATS_HIST: DSNISH_CLSTRATIOF DSNISH_FIRSTKCARDF DSNISH_FULLKCARDF DSNISH_KEYCOUNTF DSNISH_NLEAF DSNISH_NLEVELS On SYSKEYTARGETS_HIST: DSNKYH_CARDF On SYSKEYTGTDIST_HIST: DSNKDH_FREQUENCYF DSNKDH_NUMKEYS DSNKDH_CARDF On SYSTABLEPART_HIST: DSNTPH_DSNUM DSNTPH_EXTENTS DSNTPH_SPACEF On SYSTABLES_HIST: DSNTAH_AVGROWLEN DSNTAH_CARDF DSNTAH_NPAGESF DSNTAH_PCTPAGES DSNTAH_PCTROWCOMP DSNTAH_SPACEF On SYSTABSTATS_HIST: DSNTBH_CARDF DSNTBH_NPAGES

(668/29C) (669/29D) (670/29E) (671/29F) (673/2A1) (674/2A2) (675/2A3) (676/2A4) (677/2A5) (678/2A6)

(686/2AE) (687/2AF) (688/2B0) (689/2B1) (690/2B2) (685/2AD) (691/2B3) (692/2B4) (693/2B5) (696/2B8) (694/2B6) (695/2B7) (878/36E) (883/373) (884/374) (885/375)

(701/2BD) (702/2BE) (700/2BC) (706/2C2) (707/2C3) (708/2C4) (709/2C5) (710/2C6) (711/2C7) (712/2C8) (713/2C9)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

553

DO NOT COPY
Figure 180. DSNDB06.SYSHIST page set: Page (383/17F) file (382/17E). represent the ordering keys for the link fan set.

Restricted Materials of IBM Licensed Materials Property of IBM

The column names listed for links

Segmented
Unique Clustering Index DSNROX01 (610/262) (SCHEMA, ROUTINENAME, BUILDDATE, BUILDTIME) Nonunique Index DSNRSX01 (613/265) (ROUTINENAME) Unique Clustering Index DSNRSX02 (615/267) (SCHEMA, ROUTINENAME, BUILDDATE, SEQNO)

SYSROUTINES_OPTS (609/261)

SYSROUTINES_SRC (612/264)

Figure 181. DSNDB06.SYSGRTNS page set: Page (385/181) file (384/180)

LOB Relation DSNJO@JD (633/279) (Parent is SYSJAROBJECTS) Auxiliary Index DSNJDX01 (634/27A) (JAR_DATA in SYSJAROBJECTS)

SYSJARDATA (632/278)

Figure 182. DSNDB06.SYSJAUXA page set: Page (389/185) file (388/184)

LOB Relation DSNJC@JS (606/25E) (Parent is SYSJARCONTENTS) Auxiliary Index DSNJSX01 (607/25F) (CLASS_SOURCE in SYSJARCONTENTS)

SYSJARCLASS_SOURCE (605/25D)

Figure 183. DSNDB06.SYSJAUXB page set: Page (391/187) file (390/186)

554

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Segmented
Unique Clustering Index DSNJOX01 (637/27D) (JARSCHEMA, JAR_ID) SYSJAROBJECTS (636/27C) Nonunique Clustering Index DSNJCX01 (630/276) (JARSCHEMA, JAR_ID)

Relation DSNJO@JC (714/2CA)

SYSJARCONTENTS (629/275)

Unique Index DSNJPX01 (782/30E) (JARSCHEMA, JAR_ID, ORDINAL) Nonunique Index DSNJPX02 (784/310) (PE_JARSCHEMA, PE_JAR_ID)

Relation DSNJO@JP (781/30D)

Nonunique Clustering Index DSNJVX01 (640/280) (JARSCHEMA, JAR_ID)

SYSJAVAPATHS (780/30C)

SYSJAVAOPTS (639/27F)

Figure 184. DSNDB06.SYSJAVA page set: Page (387/183) file (386/182)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

555

DO NOT COPY
Segmented
Unique Index DSNOFX04 (296/128) (ROUTINEID DESC) Nonunique Index DSNOFX05 (298/12A) (SOURCESCHEMA, SOURCESPECIFIC, ROUTINETYPE)

Restricted Materials of IBM Licensed Materials Property of IBM

Unique Index DSNOFX01 (290/122) (NAME, PARM_COUNT, PARM_SIGNATURE, ROUTINETYPE, SCHEMA, PARM1, PARM2, PARM3, PARM4, PARM5, PARM6, PARM7, PARM8, PARM9, PARM10, PARM11, PARM12, PARM13, PARM14, PARM15, PARM16, PARM17, PARM18, PARM19, PARM20, PARM21, PARM22, PARM23, PARM24, PARM25, PARM26, PARM27, PARM28, PARM29, PARM30, VERSION) Unique Index DSNOFX02 (292/124) (SCHEMA, SPECIFICNAME, ROUTINETYPE, VERSION) Nonunique Index DSNOFX03 (294/126) (NAME, SCHEMA, CAST_FUNCTION, PARM_COUNT, PARM_SIGNATURE, PARM1)

Nonunique Index DSNOFX06 (300/12C) (SCHEMA, NAME, ROUTINETYPE, PARM_COUNT)

Unique Index DSNOFX07 (715/2CB) (NAME, PARM_COUNT, ROUTINETYPE, SCHEMA, PARM_SIGNATURE, PARM1, PARM2, PARM3, PARM4, PARM5, PARM6, PARM7, PARM8, PARM9, PARM10, PARM11, PARM12, PARM13, PARM14, PARM15, PARM16, PARM17, PARM18, PARM19, PARM20, PARM21, PARM22, PARM23, PARM24, PARM25, PARM26, PARM27, PARM28, PARM29, PARM30, VERSION)

Nonunique Index DSNOFX08 (717/2CD) (JARSCHEMA, JAR_ID)

SYSROUTINES (289/121)
Unique Index DSNOPX01 (327/147) (SCHEMA, SPECIFICNAME, ROUTINETYPE, ROWTYPE, ORDINAL, VERSION) Nonunique Index DSNOPX03 (331/14B) (TYPESCHEMA, TYPENAME) Nonunique Index DSNOAX01 (319/13F) (GRANTOR, SCHEMA, SPECIFICNAME, ROUTINETYPE, GRANTEETYPE, EXECUTEAUTH, GRANTORTYPE)

Nonunique Index DSNOAX03 (323/143) (SCHEMA, SPECIFICNAME, ROUTINETYPE)

Nonunique Index DSNOPX02 (329/149) (TYPESCHEMA, TYPENAME, ROUTINETYPE, CAST_FUNCTION, OWNER, SCHEMA, SPECIFICNAME)

Relation DSNOF@OP (333/14D)

Nonunique Index DSNOAX02 (321/141) (GRANTEE, SCHEMA, SPECIFICNAME, ROUTINETYPE, GRANTEETYPE, EXECUTEAUTH, GRANTEDTS)

SYSPARMS (326/146)

SYSROUTINEAUTH (318/13E)

Unique Index DSNOTX01 (308/134) (SCHEMA, NAME, SEQNO) Relation DSNDT@OT (312/138) (Parent is SYSTABLES)

Nonunique Index DSNOTX02 (310/136) (TBOWNER, TBNAME)

Nonunique Index DSNOXX01 (303/12F) (TBOWNER, TBNAME)

Nonunique Index DSNOXX02 (305/131) (AUXTBOWNER, AUTXTBNAME)

Nonunique Index DSNOTX03 (719/2CF) (SCHEMA, TRIGNAME)

SYSTRIGGERS (307/133)

SYSAUXRELS (302/12E)

556

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Nonunique Index DSNCCX02 (368/170) (DTBCREATOR, DTBNAME) Nonunique Index DSNSKX01(314/13A) (GRANTEE, SCHEMANAME, GRANTEETYPE) Nonunique Index DSNSKX02 (316/13C) (GRANTOR, GRANTORTYPE)

Nonunique Index DSNCCX01 (343/157) (BSCHEMA, BNAME, BTYPE)

Relation DSNDT@CC (325/145) (Parent is SYSTABLES)

SYSCONSTDEP (342/156)

SYSSCHEMAAUTH (313/139)

Unique Clustering Index DSNCNX01 (651/28B) (TBCREATOR, TBNAME, CONSTNAME)

Nonunique Index DSNCNX02 (653/28D) (IXOWNER, IXNAME)

Unique Index DSNODX01 (338/152) (SCHEMA, NAME)

Unique Index DSNODX02 (340/154) (DATATYPEID DESC)

Relation DSNDT@CN (655/28F) (Parent is SYSTABLES)

SYSTABCONST (650/28A)

SYSDATATYPES (337/151)

Relation DSNCN@CU (645/285)

Nonunique Index DSNCUX01 (643/283) (TBCREATOR, TBNAME, CONSTNAME, COLSEQ)

Unique Index DSNONX01 (815/32F) (BSCHEMA, BNAME, BCOLNAME, BTYPE, DSCHEMA, DNAME, DCOLNAME, DTYPE)

Unique Index DSNONX02 (817/331) (DSCHEMA, DNAME, DCOLNAME, DTYPE, BSCHEMA, BNAME, BCOLNAME, BTYPE)

SYSKEYCOLUSE (642/282)

SYSDEPENDENCIES (814/32E)

Unique Index DSNOEX01 (820/334) (ENVID)

SYSENVIRONMENT (819/333)
Check Constraints On SYSROUTINES: DSNROU_IOS_PI DSNROU_INS_PI DSNROU_INITIAL_IO DSNROU_INITIAL_IN DSNROU_CARD (361/169) (362/16A) (363/16B) (364/16C) (365/16D)

Figure 185. DSNDB06.SYSOBJ page set: Page (288/120) file (287/11F)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

557

DO NOT COPY
Unique Index DSNPPH01 x (68/44) (NAME)

Restricted Materials of IBM Licensed Materials Property of IBM

SYSPLAN (34/22)

Link DSNPP#PU (72/48) Link DSNPP#AP (71/47)

Link DSNPP#PD (69/45) (NAME)

Nonunique Index DSNAPX01 (73/49) (GRANTOR, GRANTORTYPE)

Nonunique Index DSNAPH01 (74/4A) (GRANTEE, NAME, EXECUTEAUTH, GRANTEETYPE)

Nonunique Index DSNGGX01 (75/4B) BCREATOR, BNAME, BTYPE)

SYSDBRM (35/23)

SYSPLANAUTH (37/25)

SYSPLANDEP (29/1D)

Link DSNPD#PS (70/46)

SYSSTMT (36/24)

Figure 186. DSNDB06.SYSPLAN page set: Page (10/0A) file (8/08). The column names listed for links represent the ordering keys for the link fan set.

Nonunique Index DSNAUH01 (81/51) (GRANTEE, GRANTEDTS, GRANTEETYPE)

Nonunique Index DSNAUX02 (82/52) (GRANTOR, GRANTORTYPE)

SYSUSERAUTH (45/2D)

Figure 187. DSNDB06.SYSUSER page set: Page (15/0F) file (6/06).

558

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Unique Index DSNVTH01 (76/4C) (CREATOR, NAME, TYPE)

SYSVTREE (30/1E)
Link DSNVT#VL (77/4D) Link DSNVT#VU (79/4F) Nonunique Index DSNGGX02 (80/50) (BCREATOR, BNAME, BTYPE)

SYSVLTREE (31/1F)

Link DSNVT#VW (78/4E) (SEQNO)

Nonunique Index DSNGGX03 (347/15B) (BSCHEMA, BNAME, BTYPE)

Unique Index DSNVVX01 (208/D0) (CREATOR, NAME, SEQNO, TYPE)

Nonunique Index DSNGGX04 (734/2DE) (BCREATOR, BNAME, BTYPE, DTYPE)

SYSVIEWS (38/26)

SYSVIEWDEP (39/27)

Figure 188. DSNDB06.SYSVIEWS page set: Page (11/0B) file (2/02). The column names listed represent the ordering keys for the link fan set.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

559

DO NOT COPY
Segmented
Nonunique Index DSNKLX01 (124/7C) (LOCATION, COLLID, NAME) Unique Index DSNKLX02 (126/7E) (PLANNAME, SEQNO, LOCATION, COLLID, NAME)

Restricted Materials of IBM Licensed Materials Property of IBM

Nonunique Index DSNKPX01 (150/96) (NAME, SYSTEM, ENABLE)

Relation DSNPP@KL (123/7B) (Parent is SYSPLAN)

SYSPACKLIST (122/7A)

Relation DSNPP@KP (149/95) (Parent is SYSPLAN)

SYSPLSYSTEM (148/94)

Unique Index DSNKKX01 (129/81) (LOCATION, COLLID, NAME, VERSION)

Unique Index DSNKKX02 (131/83) (LOCATION, COLLID, NAME, CONTOKEN)

Unique Index DSNKSX01 (135/87) (LOCATION, COLLID, NAME, CONTOKEN, SEQNO)

SYSPACKAGE (128/80)

Nonunique Index DSNKDX01 (139/88) (DLOCATION, DCOLLID, DNAME, DCONTOKEN)

Relation DSNKK@KS (134/86) Relation DSNKK@KD (138/8A)

Nonunique Index DSNKDX02 (141/8D) (BQUALIFIER, BNAME, BTYPE)

Relation DSNKK@KY (153/99)

SYSPACKSTMT (133/85)

SYSPKSYSTEM (152/98)

Nonunique Index DSNKYX01 (154/9A) (LOCATION, COLLID, NAME, CONTOKEN, SYSTEM, ENABLE)

SYSPACKDEP (137/89)

Nonunique Index DSNKAX02 (146/92) (GRANTEE, LOCATION, COLLID, NAME, BINDAUTH, COPYAUTH, EXECUTEAUTH, GRANTEETYPE)

Nonunique Index DSNKAX03 (161/A1) (LOCATION, COLLID, NAME) Nonunique Index DSNKAX01 (144/90) (GRANTOR, LOCATION, COLLID, NAME, GRANTORTYPE)

Nonunique Index DSNKDX03 (345/159) (BQUALIFIER, BNAME, BTYPE, DTYPE)

SYSPACKAUTH (143/8F)

Figure 189. DSNDB06.SYSPKAGE page set: Page (121/79) file (120/78)

560

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

LOB Relation DSNOF@PL (825/339) (Parent is SYSROUTINES) Auxiliary Index DSNPLX01 (826/33A) (TEXT in SYSROUTINES)

SYSROUTINESTEXT (824/338)

Figure 190. DSNDB06.SYSPLUXA page set: Page (823/337) file (822/336)

Segmented Unique Clustering Index DSNRLX01 (848/350) (NAME)


SYSROLES (847/34F)

Unique Clustering Index DSNRDX01 (851/353) (DSCHEMA, DNAME, DTYPE)


SYSOBJROLEDEP (850/352)

Nonunique Index DSNRDX02 (853/355) (ROLENAME)

Figure 191. DSNDB06.SYSROLES page set: Page (845/34E) file (846/34D)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

561

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Segmented
Unique Index DSNRTX01 (868/364) (DBID, PSID, PARTITION, INSTANCE) Unique Index DSNDTX02 (872/368) (DBID, ISOBID, PARTITION, INSTANCE)

Relation DSNDP@RK (867/363) (Parent is SYSTABLEPART)

Relation DSNDI@RK (871/367) (Parent is SYSINDEXES)

SYSTABLESPACESTATS (866/362)

SYSINDEXSPACESTATS (870/366)

Check Constraints On SYSTABLESPACESTATS: DSNTSS_INSTANCE (892/37C) On SYSINDEXSPACESTATS: DSNISS_INSTANCE (893/37D)

Figure 192. DSNDB06.SYSRTSTS page set: Page (865/361) file (864/360).

562

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Segmented
Relation DSNDT@SC (188/BC) (Parent is SYSTABLES) Unique Index DSNSCX01 (202/CA) (TBOWNER, TBNAME,CHECKNAME)

SYSCHECKS (187/BB)
Relation DSNSC@SD (190/BE) Unique Index DSNSDX01 (204/CC) (TBOWNER, TBNAME, CHECKNAME, COLNAME) Relation DSNSC@CH (600/258) Unique Clustering Index DSNCHX01 (397/18D) (TBOWNER, TBNAME, CHECKNAME)

SYSCHECKDEP (189/BD)

SYSCHECKS2 (396/18C)

Unique Index DSNSSX01 (159/9F) (OUTCCSID, INCCSID, IBMREQD)

SYSSTRINGS (158/9E)

Check Constraints On SYSSTRINGS: DSNSRG_BYTES DSNSRG_CCSIDS DSNSRG_INCCSID DSNSRG_OUTCCSID DSNSRG_TRANSTYPE

(766/2FE) (764/2FC) (762/2FA) (763/2FB) (765/2FD)

Figure 193. DSNDB06.SYSSTR page set: Page (157/9D) file (156/9C)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

563

DO NOT COPY
Segmented
Unique Clustering Index DSNXSX01 (772/304) (STRINGID)

Restricted Materials of IBM Licensed Materials Property of IBM

Unique Index DSNXSX02 (774/306) (STRING)

SYSXMLSTRINGS (769/301)

Nonunique Index DSNXRX01 (776/308) (TBOWNER, TBNAME)

Nonunique Index DSNXRX02 (778/30A) (XMLTBOWNER, XMLTBNAME)

SYSXMLRELS (770/302) Relation DSNDT@XR (771/303) (Parent is SYSTABLES)

Figure 194. DSNDB06.SYSXML page set: Page (768/300) file (767/2FF)

Segmented
Unique Index DSNSQX01 (373/175) (SCHEMA, NAME) Unique Index DSNSQX02 (375/177) (SEQUENCEID DESC)

SYSSEQUENCES (372/174)

Figure 195. DSNDB06.SYSSEQ page set: Page (371/173) file (370/172).

564

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Segmented
Unique Index DSNSRX01 (380/17C) (DCREATOR, DNAME, DCOLNAME) SYSSEQUENCESDEP (379/17B) Unique Index DSNSRX02 (730/2DA) (BSCHEMA, BNAME, DTYPE)

Nonunique Index DSNWCX01 (745/2E9) (SCHEMA, NAME)

Relation DSNSQ@WC (751/2EF) (Parent is SYSSEQUENCES)

SYSSEQUENCEAUTH (744/2E8)

Nonunique Index DSNWCX02 (747/2EB) (GRANTOR, SCHEMA, NAME, GRANTORTYPE)

Nonunique Index DSNWCX03 (749/2ED) (GRANTEE, SCHEMA, NAME, GRANTEETYPE)

Figure 196. DSNDB06.SYSSEQ2 page set: Page (378/17A) file (377/179).

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

565

DO NOT COPY
Segmented

Restricted Materials of IBM Licensed Materials Property of IBM

Relation DSNDC@TN (168/A8) (Parent is SYSCOLUMNS)

Nonunique Index DSNTNX01 (177/B1) (TBOWNER, TBNAME, NAME)

Relation DSNDC@TP (170/AA) (Parent is SYSCOLUMNS)

Nonunique Index DSNTPX01 (179/B3) (TBOWNER, TBNAME, NAME, PARTITION)

SYSCOLDIST (167/A7)

SYSCOLDISTSTATS (169/A9)

Relation DSNDC@TC (172/AC) (Parent is SYSCOLUMNS)

Unique Index DSNTCX01 (181/B5) (TBOWNER, TBNAME, NAME, PARTITION)

Unique Index DSNTTX01 (185/B9) (OWNER, NAME, PARTITION)

Relation DSNDT@TT (176/B0) (Parent is SYSTABLES)

SYSCOLSTATS (171/AB)

SYSTABSTATS (175/AF)

Relation DSNDX@TX (174/AE) (Parent is SYSINDEXES)

Unique Index DSNTXX01 (183/B7) (OWNER, NAME, PARTITION)

Unique Index DSNLNX01 (335/14F) (DBNAME, NAME)

Relation DSNDS@LN (721/2D1) (Parent is SYSTABLESPACE)

SYSINDEXSTATS (173/AD)

SYSLOBSTATS (334/14E)

Relation DSNDX@TK (799/31F) (Parent is SYSKEYTARGETS)

Unique Index DSNTKX01 (800/320) (IXSCHEMA, IXNAME, KEYSEQ, PARTITION)

Relation DSNDX@TD (803/323) (Parent is SYSKEYTARGETS)

Nonunique Index DSNTDX01 (804/324) (IXSCHEMA, IXNAME, KEYSEQ)

SYSKEYTARGETSTATS (798/31E)

SYSKEYTGTDIST (802/322)

566

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
Relation DSNDX@TS (811/32B) (Parent is SYSKEYTARGETS) Nonunique Index DSNTSX01 (812/32C) (IXSCHEMA, IXNAME, KEYSEQ, PARTITION)

SYSKEYTGTDISTSTATS (810/32A)

Check Constraints On SYSCOLDIST: DSNDIS_CARDF DSNDIS_FREQUENCY DSNDIS_FREQUENCYF DSNDIS_NUMCOLUMNS On SYSCOLDISTSTATS: DSNDST_CARDF DSNDST_FREQUENCY DSNDST_NUMCOLUMNS DSNDST_PARTITION On SYSCOLSTATS: DSNCST_COLCARD On SYSINDEXSTATS: DSNXST_CLSTRRATIO DSNXST_CLSTRATIOF DSNXST_FIRSTKCARD DSNXST_FIRSTKCARDF DSNXST_FULLKCARD DSNXST_FULLKCARDF DSNXST_KEYCOUNT DSNXST_KEYCOUNTF DSNXST_NLEAF DSNXST_NLEVELS On SYSKEYTGTDIST: DSNKTD_CARDF DSNKTD_FREQUENCYF DSNKTD_NUMKEYS

(285/11D) (253/FD) (254/FE) (255/FF) (256/100) (257/101) (258/102) (259/103) (260/104)

(267/10B) (357/165) (268/10C) (358/166) (269/10D) (359/167) (270/10E) (360/168) (271/10F) (272/110) (875/36B) (876/36C) (877/36D)

On SYSKEYTGTDISTSTATS: DSNKDS_CARDF DSNKDS_PARTITION DSNKDS_FREQUENCYF DSNKDS_NUMKEYS On SYSTABSTATS: DSNTST_CARD DSNTST_CARDF DSNTST_NPAGES DSNTST_NACTIVE DSNTST_PCTPAGES DSNTST_PCTROWCOMP

(879/36F) (880/370) (881/371) (882/372) (280/118) (367/16F) (281/119) (282/11A) (283/11B) (284/11C)

Figure 197. DSNDB06.SYSSTATS page set: Page (166/A6) file (165/A5).

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 26. Directory and Catalog Diagrams

567

DO NOT COPY
Segmented
Relation DSNDX@RK (789/315) (Parent is SYSINDEXES) Unique Clustering Index DSNRKX01 (790/316) (IXSCHEMA, IXNAME, KEYSEQ) Nonunique Index DSNRKX02 (792/318) (DATATYPEID, XMLPATTERN_INTERNAL) SYSKEYTARGETS (788/314)

Restricted Materials of IBM Licensed Materials Property of IBM

Check Constraints On SYSKEYTARGETS: DSNKYT_CARDF (874/36A)

Figure 198. DSNDB06.SYSTARG page set: Page (787/313) file (786/312).

568

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 27. Catalog formats


The DB2 catalog (database DSNDB06) contains information about all the data DB2 manages. The catalog is updated by DB2 during normal operation, in response to SQL DDL statements, SQL control statements, and certain commands. Data in the catalog tables is available to authorized users of DB2 through normal SQL query facilities; however, the catalog is primarily intended for use by DB2, and is therefore subject to change. This chapter contains the formats of the data records in the catalog tables for DB2 Version 9. Each data record is prefixed by a 6-byte header, which contains the record length, the OBID of the record and the ID map entry that points to the record. The format of a record header is described under Record/overflow record on page 479. If the record is a parent record, the header is followed by a forward RID that points to the beginning of a chain of child records, if one exists. If the record is a child record, the header is followed by forward and backward RIDs that point to other child records or to the parent record. See Record identifiers on page 381 for details about the structure of RIDs. For a description of the forward and backward RIDs of parent and child records, refer to Links on page 408. Table 129 identifies the DB2 catalog tables and the page number where their columns are described. For more detailed descriptions of the columns of each catalog table, see DB2 SQL Reference. For a list of check constraints on catalog tables, see Chapter 29, Object identifier (OBID) cross reference, on page 727.
Table 129. DB2 catalog tables Table space DSNDB06... SYSALTER Table SYSIBM... SYSOBDS Description Figure and page

Contains one row for each table space or Table 185 on page 623 index that can be recovered to an image copy that was made before the first version was generated Contains information needed for recovery Contains one row for each trusted context. Contains the attributes for a given trusted context Table 151 on page 591 Table 149 on page 589 Table 152 on page 593

SYSCOPY

SYSCOPY SYSCONTEXT SYSCTXTTRUSTATTRS SYSCONTEXTAUTHIDS

| | | | |

SYSCONTX

Contains the authorization ID under which Table 150 on page 590 a trusted context can be used. Records the UPDATE privileges held by users on individual columns of a table or view Table 141 on page 579

SYSDBASE

SYSCOLAUTH

SYSCOLUMNS SYSFIELDS SYSFOREIGNKEYS

Contains one row for every column of each Table 146 on page 584 table and view Contains one row for every column that has a field procedure Contains one row for every column of every foreign key Table 160 on page 600 Table 161 on page 600

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

569

DO NOT COPY
Table 129. DB2 catalog tables (continued) Table space DSNDB06... Table SYSIBM... SYSINDEXES SYSINDEXPART Description

Restricted Materials of IBM Licensed Materials Property of IBM

Figure and page Table 162 on page 601 Table 164 on page 605

Contains one row for every index Contains one row for each nonpartitioned index and one row for each partition of a partitioning index or DPSI Contains one row for each column of an index key Contains one row for every relationship Contains one row for each synonym of a table or view Records the privileges held by users on tables, views, and triggers Contains one row for each nonpartitioned table space and one row for each partition of a partitioned table space Contains one row for each table, view and alias Contains one row for each table space

SYSKEYS SYSRELS SYSSYNONYMS SYSTABAUTH SYSTABLEPART

Table 176 on page 617 Table 198 on page 635 Table 213 on page 653 Table 214 on page 653 Table 216 on page 656

SYSTABLES SYSTABLESPACE SYSDBAUT SYSDATABASE SYSDBAUTH SYSDDF IPLIST IPNAMES LOCATIONS LULIST

Table 218 on page 661 Table 219 on page 666

Contains one row for each database, except Table 153 on page 594 for database DSNDB01 Records the privileges held by users over databases Contains a row for each IP address that corresponds to a remote DRDA server Contains a row for each remote DRDA server that DB2 can access using TCP/IP Contains a row for every accessible remote server Contains a row for each real LU name associated with the dummy LU name for a data sharing group Contains a row for each remote SNA client or server Contains a row for the conversation limit for each combination of LU name and VTAM logon mode description Table 155 on page 596 Table 130 on page 574 Table 131 on page 574 Table 132 on page 575 Table 133 on page 575

LUNAMES LUMODES

Table 135 on page 576 Table 134 on page 575

MODESELECT

Contains a row for each VTAM logon Table 136 on page 576 mode and combination of authorization ID, plan name, and LU name Contains a row for each authorization ID to be translated or checked as it is sent to or from this DB2 Contains one row. This table is used by SQL statements that do not use any tables but must specify a table name. Records the privileges held by users over buffer pools, storage groups, table spaces, and collections Table 233 on page 679

USERNAMES

SYSEBCDC

SYSDUMMY1

Table 158 on page 599

SYSGPAUT

SYSRESAUTH

Table 199 on page 636

570

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Table 129. DB2 catalog tables (continued) Table space DSNDB06... SYSGROUP Table SYSIBM... SYSSTOGROUP SYSVOLUMES SYSGRTNS SYSROUTINES_OPTS SYSROUTINES_SRC SYSHIST SYSCOLDIST_HIST SYSCOLUMNS_HIST SYSINDEXES_HIST SYSINDEXPART_HIST

DO NOT COPY

Description Contains one row for each storage group Contains one row for each volume of each storage group Contains one row to record the build options for each generated routine Contains one or more rows for the source code for each generated routine Contains accumulated rows from SYSCOLDIST Contains accumulated rows from SYSCOLUMNS Contains accumulated rows from SYSINDEXES Contains accumulated rows from SYSINDEXPART Contains accumulated rows from SYSINDEXSTATS Contains accumulated rows from SYSKEYTARGETS Contains accumulated rows from SYSKEYTGTDIST Contains accumulated rows from SYSLOBSTATS Contains accumulated rows from SYSTABLEPART Contains accumulated rows from SYSTABLES Contains accumulated rows from SYSTABSTATS Records the classes for each JAR file for a Java stored procedure Records the contents of each JAR file for a Java stored procedure Records the build options for a Java stored procedure Contains the complete JAR class resolution path, and records the dependencies that one JAR has on the JARs in its Java path. Contains the contents of the JAR file for each Java stored procedure Contains the source code for a Java stored procedure Contains one row for each auxiliary table for a LOB column Records dependencies on check constraints or user-defined defaults for a column

Figure and page Table 211 on page 651 Table 229 on page 677 Table 204 on page 645 Table 205 on page 646 Table 143 on page 580 Table 147 on page 587 Table 163 on page 604 Table 165 on page 608 Table 168 on page 613 Table 178 on page 618 Table 181 on page 621 Table 184 on page 623 Table 217 on page 660 Table 220 on page 668 Table 223 on page 672 Table 170 on page 614 Table 172 on page 614 Table 173 on page 615 Table 174 on page 616

| |

SYSINDEXSTATS_HIST SYSKEYTARGETS_HIST SYSKEYTGTDIST_HIST SYSLOBSTATS_HIST SYSTABLEPART_HIST SYSTABLES_HIST SYSTABSTATS_HIST SYSJAVA SYSJARCONTENTS SYSJAROBJECTS SYSJAVAOPTS

| | |
SYSJAUXA SYSJAUXB SYSOBJ

SYSJAVAPATHS

SYSJARDATA SYSJARCLASS_SOURCE SYSAUXRELS SYSCONSTDEP

Table 171 on page 614 Table 169 on page 613 Table 137 on page 577 Table 148 on page 588

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

571

DO NOT COPY
Table 129. DB2 catalog tables (continued) Table space DSNDB06... Table SYSIBM... SYSDATATYPES Description

Restricted Materials of IBM Licensed Materials Property of IBM

Figure and page Table 154 on page 595 Table 157 on page 598 Table 159 on page 599 Table 175 on page 616

Contains one row for each distinct data type Records the dependencies between objects Records the environment variables when an object is created Contains a row for every column in a unique constraint (primary key or unique key)

| | |

SYSDEPENDENCIES SYSENVIRONMENT SYSKEYCOLUSE

SYSPARMS

Contains a row for each parameter of a Table 192 on page 630 routine or a row for each column of a table passed as a parameter to a routine Records the privileges that users hold on routines Contains a row for every routine Contains one or more rows for each grantee of a privilege on a schema Contains one row for each unique constraint that was created in DB2 for z/OS Version 7 or later Contains one row for each trigger Contains one row for each package Contains the privileges held by users over packages Table 201 on page 637 Table 202 on page 638 Table 206 on page 646 Table 215 on page 655

SYSROUTINEAUTH SYSROUTINES SYSSCHEMAAUTH SYSTABCONST

SYSTRIGGERS SYSPKAGE SYSPACKAGE SYSPACKAUTH SYSPACKDEP

Table 224 on page 673 Table 187 on page 624 Table 188 on page 627

Records the dependencies of packages on Table 189 on page 627 local tables, views, synonyms, table spaces, indexes, aliases, and triggers Contains one row for every package list entry for a plan Contains one row for every SQL statement belonging to a package Contain one row of system information for each package Contains one row of system information for each plan Contains one row for each DBRM of each application plan Table 190 on page 628 Table 191 on page 628 Table 193 on page 631 Table 197 on page 635 Table 156 on page 597

SYSPACKLIST SYSPACKSTMT SYSPKSYSTEM SYSPLSYSTEM SYSPLAN SYSDBRM SYSPLAN SYSPLANAUTH SYSPLANDEP

Contains one row for each application plan Table 194 on page 631 Records the privileges held by users over application plans Records the dependencies of plans on tables, views, aliases, synonyms, table spaces, and indexes Contains one or more rows for each SQL statement of each DBRM Contains LOB data for the column SYSIBM.SYSROUTINES.TEXT Table 195 on page 634 Table 196 on page 634

SYSSTMT

Table 210 on page 650 Table 203 on page 644

| SYSPLUXA |

SYSROUTINESTEXT

572

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Table 129. DB2 catalog tables (continued) Table space DSNDB06... Table SYSIBM... SYSROLES SYSOBJROLEDEP SYSRTSTS SYSTABLESPACESTATS SYSINDEXSPACESTATS SYSSEQ SYSSEQ2 SYSSEQUENCEAUTH SYSSEQUENCESDEP

DO NOT COPY

Description Contains one row for each role Contains one row for each dependent role Contains Real Time Statistics for table spaces. Contains Real time Statistics for index spaces. Contains one row for each identity column Records the privileges that users hold on sequences Records the dependencies of identity columns on the corresponding entries in SYSIBM.SYSSEQUENCES

Figure and page Table 200 on page 637 Table 186 on page 624 Table 221 on page 670 Table 166 on page 610 Table 208 on page 648 Table 207 on page 647 Table 209 on page 649

| | | | | |

SYSROLES

SYSSTATS

SYSCOLDIST SYSCOLDISTSTATS

Contains one or more rows for the first key Table 142 on page 580 column of an index key Contains zero or more rows per partition for the first key column of a partitioning index or DPSI Contains partition statistics for selected columns. Each column contains a row for each partition in the table Contains one row for each partition of a partitioning index or data-partitioned secondary index (DPSI) Contains partition statistics for selected key-targets Contains one or more rows for the first key-target of an extended index key Table 144 on page 581

SYSCOLSTATS

Table 145 on page 582

SYSINDEXSTATS

Table 167 on page 612

SYSKEYTARGETSTATS SYSKEYTGTDIST

Table 179 on page 619 Table 180 on page 620

| | |

SYSKEYTGTDISTSTATS

Contains zero or more rows per partition Table 182 on page 621 for the first key-target of a data-partitioned secondary index (DPSI) Contains one row for each LOB table space Table 183 on page 622 Contains one row for each partition of a partitioned table space and no rows for nonpartitioned table spaces Contains one row for each reference to a column in a table check constraint Contains one row for each table check constraint Contains one row for each table check constraint Contains information necessary to perform string translations Contains one row for each key-target participating in an extended index definition Records the system privileges held by users Table 222 on page 672

SYSLOBSTATS SYSTABSTATS

SYSSTR

SYSCHECKDEP SYSCHECKS SYSCHECKS2 SYSSTRINGS

Table 138 on page 577 Table 139 on page 578 Table 140 on page 578 Table 212 on page 652 Table 177 on page 617

| | |

SYSTARG

SYSKEYTARGETS

SYSUSER

SYSUSERAUTH

Table 225 on page 674

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

573

DO NOT COPY
Table 129. DB2 catalog tables (continued) Table space DSNDB06... SYSVIEWS Table SYSIBM... SYSVIEWDEP SYSVIEWS SYSVLTREE SYSVTREE Description

Restricted Materials of IBM Licensed Materials Property of IBM

Figure and page Table 226 on page 675 Table 390 on page 724 Table 228 on page 677 Table 230 on page 678

Records the dependencies of views on tables and other views Contains one or more rows for each view Contains the remaining part, if any, of the parse tree representation of views Contains a row for each view. Each row contains the parse tree of the view. If the parse tree is longer than 4000 bytes, the rest of the parse tree is saved in the SYSVLTREE table. Contains one row for each XML table created for an XML column

| SYSXML | | | | | |

SYSXMLRELS SYSXMLSTRINGS

Table 231 on page 678

Each row holds a single string and its Table 232 on page 678 unique ID. They are used to condense XML data. The string can be an element name, attribute name, name space prefix or a name space URI.

Table 130. SYSIBM.IPLIST (record OBID X2E0) Dec offset 0 6 Hex offset 0000 0006 1 Col Field Flags 00 Length 000B-0121 OBID 02E0 ID xx Dec len 6 26 Description Record headerrecord length, OBID, associated ID map entry Value of column LINKNAME in table LOCATIONS with which this row is associated (not null with default) IPv4 address, IPv6 address, or domain name of a remote TCP/IP host of the server (not null with default) IBM-required flag (N/Y) (not null with default N)

LINKNAME (VARCHAR 24)

| | |

IPADDR (VARCHAR 254)

256

IBMREQD (CHAR 1)

Table 131. SYSIBM.IPNAMES (record OBID XF5) Dec offset 0 6 Hex offset 0000 0006 1 Col Field Flags 00 Length 000C-0111 OBID 00F5 ID xx Dec len 6 8 Description Record headerrecord length, OBID, associated ID map entry Value of column LINKNAME in table LOCATIONS with which this row is associated (not null with default) DRDA security option used when local DB2 applications connect to a remote server associated with the host address is in column IPADDR (A/D/E/R/P) (not null with default A) Determines when outbound authorization ID translation is performed (O/S/blank) (not null with default)
LY37-3218-01 Copyright IBM Corp. 1983, 2007

LINKNAME (CHAR 8)

14

000E

SECURITY_OUT (CHAR 1)

| 15 | |

000F

USERNAMES (CHAR 1)

574

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 131. SYSIBM.IPNAMES (record OBID XF5) (continued) Dec offset 16 Hex offset 0010 0011 Col 4 5 Field IBMREQD (CHAR 1) IPADDR (VARCHAR 254) Dec len 1 256 Description IBM-required flag (N/Y) (not null with default N) IPv4 address, IPv6 address, or domain name of a remote TCP/IP host (not null with default)

| | |

17

Table 132. SYSIBM.LOCATIONS (record OBID XD7) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 Col Field Flags 00 Length 0013-024B OBID 00D7 ID xx Dec len 6 130 26 1 98 194 Description Record headerrecord length, OBID, associated ID map entry Unique location name for an accessible server (not null) VTAM or TCP/IP attribute associated with the location (not null) IBM-required flag (N/Y) (not null with default N) DRDA port for TCP/IP connections (not null with default) The SNA LU 6.2 transaction program name (TPN) that allocates the conversation (not null with default) Database alias (not null with default) Trusted or not (Y/N) (not null with default N) Indicates the use of Secure Socket Layer protocal (Y/N) (not null with default N)

LOCATION (VARCHAR 128) LINKNAME (VARCHAR 24) IBMREQD (CHAR 1) PORT (VARCHAR 96) TPN (VARCHAR 192)

DBALIAS (VARCHAR 128) TRUSTED (CHAR 1) SECURE (CHAR 1)

130 1 1

| | | |

7 8

Table 133. SYSIBM.LULIST (record OBID XE7) Dec offset 0 6 Hex offset 0000 0006 1 Col Field Flags 00 Length 000B-0059 OBID 00E7 ID xx Dec len 6 26 Description Record headerrecord length, OBID, associated ID map entry Value of column LINKNAME in table LOCATIONS with which this row is associated (not null) LU name of the remote database system (not null) IBM-required flag (N/Y) (not null with default N)

LINKNAME (VARCHAR 24)

2 3

LUNAME (VARCHAR 24) IBMREQD (CHAR 1)

26 1

Table 134. SYSIBM.LUMODES (record OBID XED) Dec offset 0 Hex offset 0000 Col Field Flags 00 Length 000D-003D OBID 00ED ID xx Dec len 6 Description Record headerrecord length, OBID, associated ID map entry
Chapter 27. Catalog formats

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

575

DO NOT COPY
Table 134. SYSIBM.LUMODES (record OBID XED) (continued) Dec offset 6 Hex offset 0006 Col 1 2 3 Field LUNAME (VARCHAR 24) MODENAME (VARCHAR 24) CONVLIMIT (SMALLINT) Dec len 26 26 2

Restricted Materials of IBM Licensed Materials Property of IBM

Description Name of the LU for one or more accessible systems (not null) Name of a logon mode description in the VTAM logon mode table (not null) Maximum number of active conversations between the local DB2 and the server for this mode (not null) IBM-required flag (N/Y) (not null with default N)

IBMREQD (CHAR 1)

Table 135. SYSIBM.LUNAMES (record OBID XDA) Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 0011-0041 OBID 00DA ID xx Dec len 6 26 26 1 Description Record headerrecord length, OBID, associated ID map entry Name of the LU for one or more accessible systems (not null) Mode used to establish inter-system conversations (not null with default) Security options accepted by this DB2 when an SNA client connects to it (A/V) (not null with default A) Security option used when local DB2 applications connect to any remote server associated with this LUNAME (A/R/P) (not null with default A) Indicates whether passwords are in internal RACF encrypted format (N/Y) (not null with default N) Indicates whether to use the SYSIBM.MODESELECT table (N/Y) (not null with default N) Controls whether inbound and outbound authorization ID translation are done (I/O/B/blank) (not null with default) Indicates whether to use the generic VTAM LU name for CNOS operations and SQL requests (N/Y) (not null with default N) IBM-required flag (N/Y) (not null with default N)

LUNAME (VARCHAR 24) SYSMODENAME (VARCHAR 24) SECURITY_IN (CHAR 1)

SECURITY_OUT (CHAR 1)

ENCRYPTPSWDS (CHAR 1)

MODESELECT (CHAR 1)

USERNAMES (CHAR 1)

GENERIC (CHAR 1)

IBMREQD (CHAR 1)

Table 136. SYSIBM.MODESELECT (record OBID XF1) Dec offset 0 Hex offset 0000 Col Field Flags 00 Length 000F-0215 OBID 00F1 ID xx Dec len 6 Description Record headerrecord length, OBID, associated ID map entry

576

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 136. SYSIBM.MODESELECT (record OBID XF1) (continued) Dec offset 6 Hex offset 0006 Col 1 Field AUTHID (VARCHAR 128) Dec len 130 Description Authorization ID associated with an outgoing SQL request (not null with default) Plan name associated with the SQL request (not null with default) LU name associated with the SQL request (not null) Name of the logon mode for the SQL request. The mode is in the VTAM logon table (not null). IBM-required flag (N/Y) (not null with default N)

2 3 4

PLANNAME (VARCHAR 24) LUNAME (VARCHAR 24) MODENAME (VARCHAR 24)

26 26 26

IBMREQD (CHAR 1)

Table 137. SYSIBM.SYSAUXRELS (record OBID X12E) Dec offset 0 Hex offset 0000 0006 1 2 3 4 Col Field Flags 00 Length 0017-0298 OBID 012E ID xx Dec len 6 130 130 130 2 130 130 4 1 1 Description Record headerrecord length, OBID, associated ID map entry The SCHEMA of the base table (not null) Name of the base table (not null) Name of the auxiliary column in the base table (not null) Partition number. Zero (0) if the base table space is not partitioned. The SCHEMA of the auxiliary table (not null) Name of the auxiliary table (not null) OBID for the relationship between the base table and the auxiliary table (not null) IBM-required flag (N/Y) (not null with default N) Release of DB2 when object was created (not null with default)

| |

TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) COLNAME (VARCHAR 128) PARTITION (SMALLINT) AUXTBOWNER (VARCHAR 128) AUXTBNAME (VARCHAR 128) AUXRELOBID (INTEGER) IBMREQD (CHAR 1) RELCREATED (CHAR 1)

| |

5 6 7 8

| |

Table 138. SYSIBM.SYSCHECKDEP (record OBID XBD) Dec offset 0 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 000F-020F OBID 00BD ID xx Dec len 6 130 130 130 Description Record headerrecord length, OBID, associated ID map entry The SCHEMA of the table on which the check constraint is defined (not null) The name of the table on which the check constraint is defined. (not null) The check table constraint name. (not null)

| |

TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) CHECKNAME (VARCHAR 128)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

577

DO NOT COPY
Table 138. SYSIBM.SYSCHECKDEP (record OBID XBD) (continued) Dec offset Hex offset Col 4 5 Field COLNAME (VARCHAR 128) IBMREQD (CHAR 1) Dec len 130 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Name of the column referenced by the table check constraint. (not null) IBM-required flag (N/Y) (not null)

Table 139. SYSIBM.SYSCHECKS (record OBID XBB) Dec offset 0 Hex offset 0000 0006 1 2 3 4 5 6 Col Field Flags 00 Length 0021-1F0E OBID 00BB ID xx Dec len 6 130 130 2 2 10 6 Description Record headerrecord length, OBID, associated ID map entry The SCHEMA of the table on which check constraint is defined (not null) Authorization ID table check constraint creator (not null) Internal database identifier for the table check constraint. (not null) Internal identifier of the table check constraint. (not null) The time when the table check constraint was created. (not null) Log RBA when the table check constraint was created. (not null with default for bit data) IBM-required flag (N/Y) (not null) Name of the table on which the check constraint is defined (not null) Table check constraint name (not null) Table check constraint text (not null) Release of DB2 when object was created (not null with default) Internal environment identifier (not null with default)

| 6 |

TBOWNER (VARCHAR 128) CREATOR (VARCHAR 128) DBID (SMALLINT) OBID (SMALLINT) TIMESTAMP (TIMESTAMP) RBA (CHAR 6)

7 8 9 10

IBMREQD (CHAR 1) TBNAME (VARCHAR 128) CHECKNAME (VARCHAR 128) CHECKCONDITION (VARCHAR 7400) RELCREATED (CHAR 1) ENVID (INTEGER)

1 130 130 7402 1 4

| | | |

11 12

Table 140. SYSIBM.SYSCHECKS2 (record OBID X018C ) Dec offset 0 Hex offset 0000 0006 1 Col Field Flags 00 Length 0010-0990 OBID 018C ID xx Dec len 6 130 Description Record headerrecord length, OBID, associated ID map entry The SCHEMA of the table on which the check constraint is defined. (not null with default) IBM-required flag (N/Y) (not null) Name of the table on which the check constraint is defined. (not null with default)

| 6 | |

TBOWNER (VARCHAR 128)

2 3

IBMREQD (CHAR 1) TBNAME (VARCHAR 128)

1 130

578

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 140. SYSIBM.SYSCHECKS2 (record OBID X018C ) (continued) Dec offset Hex offset Col 4 5 Field CHECKNAME (VARCHAR 128) Dec len 130 Description Name of the table check constraint. (not null with default) SQL path used when the check constraint was created. The path is used for function resolution. (not null with default) Release of DB2 when object was created (not null with default)

PATHSCHEMAS (VARCHAR 2048) 2050

| |

RELCREATED (CHAR 1)

Table 141. SYSIBM.SYSCOLAUTH (record OBID X20) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 Col Field Flags 00 Length 002E-03CC OBID 0020 ID xx Dec len 6 4 4 130 130 1 130 130 12 6 8 130 1 130 130 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSCOLAUTH record or SYSTABAUTH Backward ring pointerPoints to previous SYSCOLAUTH record or SYSTABAUTH Grantor of privilege Receiver of privilege Type of grantee (blank/P/L) (not null with default) The SCHEMA of the table or view on which the update privilege is held Table name Time of grantinternal format (not null for bit data) Not used Not used Column name IBM-required flag (Y/N) Not used. If the GRANTEE is a package ID, the collection name. Blank otherwise (not null with default) If the GRANTEE is a package ID, the consistency token. Blank otherwise (not null with default for bit data) R if this row of SYSCOLAUTH describes the REFERENCES privilege. Blank if this row describes the UPDATE privilege (not null with default) Time when the GRANT statement was executed (not null with default) Type of grantor (blank/L) (not null with default)

RID (ppppppxx) RID (ppppppxx) GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128) GRANTEETYPE (CHAR 1) CREATOR (VARCHAR 128) TNAME (VARCHAR 128) TIMESTAMP (CHAR12) DATEGRANTED (CHAR 6) TIMEGRANTED (CHAR 8) COLNAME (VARCHAR 128) IBMREQD (CHAR 1) LOCATION (VARCHAR 128) COLLID (VARCHAR 128)

| | | |

3 4 5 6 7 8 9 10 11 12

13

CONTOKEN (CHAR 8)

14

PRIVILEGE (CHAR 1)

15

GRANTEDTS (TIMESTAMP) GRANTORTYPE (CHAR 1)

10 1

| |

16

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

579

DO NOT COPY
Table 142. SYSIBM.SYSCOLDIST (record OBID XA7) Dec offset 0 6 8 18 Hex offset 0000 0006 0008 0012 0013 1 2 3 4 5 6 Col Field Flags 00 Length 0036-1A24 OBID 00A7 ID xx Dec len 6 2 10 1 130 130 130

Restricted Materials of IBM Licensed Materials Property of IBM

Description Record headerrecord length, OBID, associated ID map entry Percentage of rows with values specified in COLVALUE Timestamp of runstats statistics update (not null with default) IBM-required flag (Y/N) The SCHEMA of the table that contains the column Name of the table that contains the column Column name. If NUMCOLUMNS is greater than 1, this name identifies the name of the first column of the set of columns associated with the statistics. Frequently occurring value (not null with default for bit data) Type of statistics gathered (C/F/N/H) (not null with default F) The number of distinct values for the column group. When TYPE=H, this column shows the number of distinctive values in the bucket indicated by QUANTILENO column (not null with default -1) The set of columns associated with the statistics (not null with default for bit data) The number of columns associated with the statistics (not null with default 1) Percentage of rows with values specified in COLVALUE (not null with default -1) Ordinary sequence number of a quantile in the whole consecutive value range, from low to high (not null with default -1) The low bound for the quantile indicated by QUANTILENO (not null with default for bit data) The high bound for the quantile indicated by QUANTILENO (not null with default for bit data)

FREQUENCY (SMALLINT) STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128)

| 19 |

COLVALUE (VARCHAR 2000) TYPE (CHAR 1) CARDF (FLOAT)

2002 1 8

| |

8 9

10 11

COLGROUPCOLNO (VARCHAR 254) NUMCOLUMNS (SMALLINT) FREQUENCYF (FLOAT) QUANTILENO (SMALLINT)

256 2 8 2

| | | | | | | | | | |

12 13

14

LOWVALUE (VARCHAR 2000)

2002

15

HIGHVALUE (VARCHAR 2000)

2002

Table 143. SYSIBM.SYSCOLDIST_HIST (record OBID X0188) Dec offset 0 6 Hex offset 0000 0006 1 Col Field Flags 00 Length 0034-1A22 OBID 0188 ID xx Dec len 6 10 Description Record headerrecord length, OBID, associated ID map entry Timestamp of runstats statistics update (not null with default)
LY37-3218-01 Copyright IBM Corp. 1983, 2007

STATSTIME (TIMESTAMP)

580

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 143. SYSIBM.SYSCOLDIST_HIST (record OBID X0188) (continued) Dec offset Hex offset 0010 Col 2 3 4 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) Dec len 130 130 130 Description The SCHEMA of the table that contains the column Name of the table that contains the column Column name. If NUMCOLUMNS is greater than 1, this name identifies the name of the first column of the set of columns associated with the statistics. Frequently occurring value (not null with default for bit data) Type of statistics gathered (C/F/N/H) (not null with default F) The number of distinct values for the column group (not null with default -1). When TYPE=F or TYPE=N, this column contains the number of rows or keys in the partition for which the FREQUENCYF value applies. When TYPE=H, this column shows the number of distinctive values in the bucket indicated by QUANTILENO column (not null with default) The set of columns associated with the statistics (not null with default for bit data) The number of columns associated with the statistics (not null with default 1) Percentage of rows with values specified in COLVALUE (not null with default -1) IBM-required flag (Y/N) Ordinary sequence number of a quantile in the whole consecutive value range, from low to high (not null with default -1) The low bound for the quantile indicated by QUANTILENO (not null with default for bit data) The high bound for the quantile indicated by QUANTILENO (not null with default for bit data)

| |

16

5 6

COLVALUE (VARCHAR 2000) TYPE (CHAR 1) CARDF (FLOAT)

2002 1 8

| | | | | | | | | | | | | | | | | | | | | | | |

8 9 10 11 12

COLGROUPCOLNO (VARCHAR 254) NUMCOLUMNS (SMALLINT) FREQUENCYF (FLOAT) IBMREQD (CHAR 1) QUANTILENO (SMALLINT)

256 2 8 1 2

13

LOWVALUE (VARCHAR 2000)

2002

14

HIGHVALUE (VARCHAR 2000)

2002

Table 144. SYSIBM.SYSCOLDISTSTATS (record OBID XA9). Users can insert, update, and delete rows from this table. Dec offset 0 6 8 18 Hex offset 0000 0006 0008 0012 1 2 3 Col Field Flags 00 Length 003A-1E10 OBID 00A9 ID xx Dec len 6 2 10 1 Description Record headerrecord length, OBID, associated ID map entry Percentage of rows with values specified in COLVALUE Timestamp of runstats statistics update (not null with default) IBM-required flag (Y/N)
Chapter 27. Catalog formats

FREQUENCY (SMALLINT) STATSTIME (TIMESTAMP) IBMREQD (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

581

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 144. SYSIBM.SYSCOLDISTSTATS (record OBID XA9) (continued). Users can insert, update, and delete rows from this table. Dec offset 19 Hex offset 0013 Col 4 5 6 7 Field PARTITION (SMALLINT) TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) Dec len 2 130 130 130 Description Table space partition number The SCHEMA of the table that contains the column Name of the table that contains the column Column name. If NUMCOLUMNS is greater than 1, this name identifies the name of the first column of the set of columns associated with the statistics. Frequently occurring value (not null with default for bit data) Type of statistics gathered (C/F/N/H) (not null with default F) The number of distinct values for the column group. When TYPE=H, this column shows the number of distinctive values in the bucket indicated by QUANTILENO column (not null with default -1) The set of columns associated with the statistics (not null with default for bit data) The number of columns associated with the statistics (not null with default 1) Percentage of rows with values specified in COLVALUE (not null with default -1) For internal use only (not null with default for bit data) Ordinary sequence number of a quantile in the whole consecutive value range, from low to high (not null with default -1) The low bound for the quantile indicated by QUANTILENO (not null with default for bit data) The high bound for the quantile indicated by QUANTILENO (not null with default for bit data)

| |

COLVALUE (VARCHAR 2000) TYPE (CHAR 1) CARDF (FLOAT)

2002 1 8

| |

9 10

11 12

COLGROUPCOLNO (VARCHAR 254) NUMCOLUMNS (SMALLINT) FREQUENCYF (FLOAT) KEYCARDDATA (VARCHAR 1000) QUANTILENO (SMALLINT)

256 2 8 1002 2

| |

13 14

| | | | | | | | |

15

16

LOWVALUE (VARCHAR 2000)

2002

17

HIGHVALUE (VARCHAR 2000)

2002

Table 145. SYSIBM.SYSCOLSTATS (record OBID XAB). Users can directly update all columns in this table. Dec offset 0 Hex offset 0000 Col Field Flags 00 Length 0028-24D0 OBID 00AB ID xx Dec len 6 Description Record headerrecord length, OBID, associated ID map entry

582

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 145. SYSIBM.SYSCOLSTATS (record OBID XAB) (continued). Users can directly update all columns in this table. Dec offset Hex offset 0006 Col 1 Field HIGHKEY (VARCHAR 2000) Dec len 2002 Description The highest column value in the partition. Blank if statistics have not been gathered or the column is an indicator column, a node id column, or a column of an XML table. If the column has a non-character data type, the data might not be printable. If the partition is empty, the value is a string of length 0. (not null with default for bit data). The second highest column value in the partition. Blank if statistics have not been gathered or the column is an indicator column, a node id column, or a column of an XML table. If the column has a non-character data type, the data might not be printable. If the partition is empty, the value is a string of length 0. (not null with default for bit data). The lowest column value in the partition. Blank if statistics have not been gathered or the column is an indicator column, a node id column, or a column of an XML table. If the column has a non-character data type, the data might not be printable. If the partition is empty, the value is a string of length 0. (not null with default for bit data). The second lowest column value in the partition. Blank if statistics have not been gathered or the column is an indicator column, a node id column, or a column of an XML table. If the column has a non-character data type, the data might not be printable. If the partition is empty, the value is a string of length 0. (not null with default for bit data). Number of distinct column values in the partition. This column is updatable. COLCARDDATA must also be updated to string length of zero. Timestamp of runstats statistics update (not null with default) IBM-required flag (Y/N) Table space partition number The SCHEMA of the table that contains the column Name of the table that contains the column Column name

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

HIGH2KEY (VARCHAR 2000)

2002

LOWKEY (VARCHAR 2000)

2002

LOW2KEY (VARCHAR 2000)

2002

COLCARD (INTEGER)

6 7 8

STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) PARTITION (SMALLINT) TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128)

10 1 2 130 130 130

| |

9 10 11

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

583

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 145. SYSIBM.SYSCOLSTATS (record OBID XAB) (continued). Users can directly update all columns in this table. Dec offset Hex offset Col 12 Field COLCARDDATA (VARCHAR 1000) Dec len 1002 Description Estimated number of distinct values. This column is updatable. Must contain string length of zero for COLCARD value to be used by runstats. (not null with default for bit data) Whether VARCHAR column statistics are padded. This column is blank if statistics have not been gathered, or if the VARCHAR column statistics are padded. Users can update this column. (blank/N) (not null with default)

13

STATS_FORMAT (CHAR 1)

Table 146. SYSIBM.SYSCOLUMNS (record OBID X14) Dec offset 0 6 10 14 18 Hex offset 0000 0006 000A 000E 0012 1 2 Col Field Flags 00 Length 0076-1BF1 OBID 0014 ID xx Dec len 6 4 4 4 130 130 130 2 8 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerpoints to next SYSCOLUMNS record or SYSTABLES Backward ring pointerpoints to previous SYSCOLUMNS record or SYSTABLES Child pointerpoints to SYSFIELDS record Column name Table name or view name The SCHEMA of the table or view that contains the column Column number Column type (INTEGER/SMALLINT/ FLOAT/CHAR/ VARCHAR/LONGVAR/ DECIMAL/ DECFLOAT/GRAPHIC/ VARG/ LONGVARG/DATE/TIME/ TIMESTAMP/ BLOB/CLOB/DBCLOB/ ROWID/ DISTINCT/BINARY/BIGINT/ VARBIN) Column length. For a BLOB, CLOB, or DBCLOB, this value is the length of the field stored in the base table. For a ROWID, this value is the length of the stored portion of the identifier. For a distinct type, this value is the length of the source data type. 0 or scale for decimal column Null indicator (Y/N) Not used except for fallback.

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 128) TBNAME (VARCHAR 128) TBCREATOR (VARCHAR 128) COLNO (SMALLINT) COLTYPE (CHAR 8)

| | | | | | | | |

3 4 5

LENGTH (SMALLINT)

7 8 9

SCALE (SMALLINT) NULLS (CHAR 1) COLCARD (INTEGER)

2 1 4

584

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 146. SYSIBM.SYSCOLUMNS (record OBID X14) (continued) Dec offset Hex offset Col 10 Field HIGH2KEY (VARCHAR 2000) Dec len 2002 Description The second highest column value in the partition. Blank if statistics have not been gathered or the column is an indicator column, a node id column, or a column of an XML table. If the column has a non-character data type, the data might not be printable. If the partition is empty, the value is a string of length 0. (not null with default for bit data). The second lowest column value in the partition. Blank if statistics have not been gathered or the column is an indicator column, a node id column, or a column of an XML table. If the column has a non-character data type, the data might not be printable. If the partition is empty, the value is a string of length 0. (not null with default for bit data). Update indicator (Y/N) IBM-required flag (Y/N) (0000) or comments Default value. The contents of this column are meaningful only if the TYPE column value for the associated SYSTABLES row is T or G. (A/B/D/E/F/I/J/K/L/N/S/U/Y/ 1/2/3/4/5/6/7/9) Ordinality of column within a primary key; 0 if not part of primary key Bit data indicator Field procedure indicator (Y/N) Not used Timestamp of runstats statistics update (not null with default)

| | | | | | | | | | | | | | | | | | | | | | | | | |

11

LOW2KEY (VARCHAR 2000)

2002

12 13 14 15

UPDATES (CHAR 1) IBMREQD (CHAR 1) REMARKS (VARCHAR 762) DEFAULT (CHAR 1)

1 1 764 1

16 17 18 19 20

KEYSEQ (SMALLINT) FOREIGNKEY (CHAR 1) FLDPROC (CHAR 1) LABEL (VARCHAR 90) STATSTIME (TIMESTAMP)

2 1 1 92 10

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

585

DO NOT COPY
Table 146. SYSIBM.SYSCOLUMNS (record OBID X14) (continued) Dec offset Hex offset Col 21 Field DEFAULTVALUE (VARCHAR 1536) Dec len 1538

Restricted Materials of IBM Licensed Materials Property of IBM

Description The default value of the column when any of the following conditions are true: v DEFAULT=1, 2, 3, 4, 5, 6, 7, or 9. This field contains the default value of the column. v The column was added using ALTER TABLE and DEFAULT=S OR U. This field contains the value of the CURRENT SQLID or USER special register when the ALTER statement was executed. v The column was added using ALTER TABLE, and DEFAULT=L. This field contains the security label of the user when the ALTER statement was executed. This value applies only to rows that existed before the ALTER statement was executed. The contents of this column are meaningful only if the TYPE column value for the associated SYSTABLES row is T. (not null with default)

| | | | | | | | | | | | | | | | | | | | |

22

COLCARDF (FLOAT)

Estimated number of distinct values in the column. For a column of type BLOB, CLOB, or DBCLOB, this is the number of lobs that are not null and have a length greater than 0. This value is -1 if statistics have not been gathered. For the first column of index of an auxiliary table, this value is -2. (not null with default -1) Indicates whether the column definition for a LOB column is incomplete because an auxiliary table or index on the auxiliary table has not been created. Blank means the definition is complete. (I/blank) (not null with default) For an auxiliary or ROWID column, the maximum length of the data retrieved from this column. Zero (0) means the column is an XML column, or not an auxiliary or ROWID column. (not null with default) Internal ID of the data type (not null with default) Internal ID of the source data type. 0 for built-in data types. (not null with default) If COLTYPE=DISTINCT, the schema of the distinct data type. SYSIBM otherwise. (not null with default SYSIBM) If COLTYPE=DISTINCT, the name of the distinct type. The value of COLTYPE otherwise. (not null with default)

23

COLSTATUS (CHAR 1)

| | | | |

24

LENGTH2 (INTEGER)

25 26 27

DATATYPEID (INTEGER) SOURCETYPEID (INTEGER) TYPESCHEMA (VARCHAR 128)

4 4 130

28

TYPENAME (VARCHAR 128)

130

586

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 146. SYSIBM.SYSCOLUMNS (record OBID X14) (continued) Dec offset Hex offset Col 29 Field CREATEDTS (TIMESTAMP) Dec len 10 Description Time when the column was created. 0001-01-01.00.0.00.00000 if the column was created before DB2 Version 6. (not null with default) Whether VARCHAR column statistics are padded. This column is blank if statistics have not been gathered, or if the VARCHAR column statistics are padded (blank/N) (not null with default) The numeric position of the column in the tables partitioning key. This value is 0 if the column is not part of the partitioning key. (not null with default) Whether the ordering of the column in the partioning key is ascending or descending. Blank if the column is not part of the partitioning key. (blank/A/D) (not null with default) Timestamp of the ALTER on the column (not null with default) CCSID of the column (not null with default) Whether the column is hidden (Y/N) (not null with default N) Release of DB2 when object was created (not null with default)

30

STATS_FORMAT (CHAR 1)

31

PARTKEY_COLSEQ (SMALLINT)

32

PARTKEY_ORDERING (CHAR 1)

33 34 35

ALTEREDTS (TIMESTAMP) CCSID (INTEGER) HIDDEN (CHAR 1) RELCREATED (CHAR 1)

10 4 1 1

| |

36

Table 147. SYSIBM.SYSCOLUMNS_HIST (record OBID X0259) Dec offset 0 6 Hex offset 0000 0006 1 2 Col Field Flags 00 Length 002E-1155 OBID 0259 ID xx Dec len 6 130 130 130 2 8 Description Record headerrecord length, OBID, associated ID map entry Column name Table name or view name The SCHEMA of the table to which the dependency applies Column number Column type (INTEGER/SMALLINT/ FLOAT/CHAR/ VARCHAR/LONGVAR/ DECIMAL/ DECFLOAT/GRAPHIC/ VARG/ LONGVARG/DATE/TIME/ TIMESTAMP/ BLOB/CLOB/DBCLOB/ ROWID/ DISTINCT/BINARY/BIGINT/ VARBIN)

NAME (VARCHAR 128) TBNAME (VARCHAR 128) TBCREATOR (VARCHAR 128) COLNO (SMALLINT) COLTYPE (CHAR 8)

| | | | | | | | |

3 4 5

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

587

DO NOT COPY
Table 147. SYSIBM.SYSCOLUMNS_HIST (record OBID X0259) (continued) Dec offset Hex offset Col 6 Field LENGTH (SMALLINT) Dec len 2

Restricted Materials of IBM Licensed Materials Property of IBM

Description Column length. For a BLOB, CLOB, or DBCLOB, this value is the length of the field stored in the base table. For a ROWID, this value is the length of the stored portion of the identifier. For a distinct type, this value is the length of the source data type. For a LOB column, the maximum length of the data retrieved from the column. For a ROWID column, this value is 40. Otherwise this value is zero (0). Null indicator (Y/N) The second highest value of the column. This field is blank for columns of type BLOB, CLOB, or DBCLOB, columns for which no statistics have been gathered, or columns of auxiliary tables. For columns that do not have character data types, this field might contain nonprintable characters. Users can update this column. (not null with default for bit data) The second lowest value of the column. This field is blank for columns of type BLOB, CLOB, or DBCLOB, columns for which no statistics have been gathered, or columns of auxiliary tables. For columns that do not have character data types, this field might contain nonprintable characters. Users can update this column. (not null with default for bit data) Timestamp of RUNSTATS statistics update (not null with default) Estimated number of distinct values in the column. For a column of type BLOB, CLOB, or DBCLOB, this is the number of LOBs that are not null and have a length greater than 0. This value is -1 if statistics have not been gathered. For the first column of index of an auxiliary table, this value is -2. (not null with default -1) IBM-required flag (Y/N) Whether VARCHAR column statistics are padded. This column is blank if statistics have not been gathered, or if the VARCHAR column statistics are padded (blank/N) (not null with default)

LENGTH2 (INTEGER)

8 9

NULLS (CHAR 1) HIGH2KEY (VARCHAR 2000)

1 2002

10

LOW2KEY (VARCHAR 2000)

2002

11 12

STATSTIME (TIMESTAMP) COLCARDF (FLOAT)

10 8

13 14

IBMREQD (CHAR 1) STATS_FORMAT (CHAR 1)

1 1

Table 148. SYSIBM.SYSCONSTDEP (record OBID X156) Dec offset 0 Hex offset 0000 Col Field Flags 00 Length 0016-0316 OBID 0156 ID xx Dec len 6 Description Record headerrecord length, OBID, associated ID map entry
LY37-3218-01 Copyright IBM Corp. 1983, 2007

588

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 148. SYSIBM.SYSCONSTDEP (record OBID X156) (continued) Dec offset 6 Hex offset 0006 Col 1 2 3 4 Field BNAME (VARCHAR 128) BSCHEMA (VARCHAR 128) BTYPE (CHAR 1) DTBNAME (VARCHAR 128) DTBCREATOR (VARCHAR 128) DCONSTNAME (VARCHAR 128) Dec len 130 130 1 130 130 130 Description Name of the object on which there is a dependency (not null) Schema of the object on which there is a dependency (not null) Type of object on which there is a dependency (not null) Name of the table that has a dependency (not null) The SCHEMA of the table that contains the column (not null with default) When DTYPE=C, the unqualified name of the constraint. When DTYPE=D, the column name. (not null) Type of object (C/D) (not null) IBM-required flag (Y/N) (not null with default N) The authorization ID of the owner of the table to which the constraint applies (not null with default) Type of owner (blank/L) (not null with default)

| |

5 6

7 8

DTYPE (CHAR 1) IBMREQD (CHAR 1) DTBOWNER (VARCHAR 128)

1 1 130

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

10

OWNERTYPE (CHAR 1)

Table 149. SYSIBM.SYSCONTEXT (record OBID X33E) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 Col Field Flags 00 Length 0031-0543 OBID 033E ID xx Dec len 6 130 4 130 1 Description Record headerrecord length, OBID, associated ID map entry Name of trusted context (not null with default). Internal context ID (not null generated always as identity with default). Authorization ID or role that defined the trusted context (not null with default). Type of definer (blank/L) (not null with default). DB2 primary authorization ID used to establish the connection. For remote requests, it is derived from the system user ID provided by an external entity, such as a middleware server. For local requests, it depends on the source of the address space (RRSAF/TSO/BATCH) (not null with default). Name of the context default role (not null with default).

NAME (VARCHAR 128) CONTEXTID (INTEGER) DEFINER (VARCHAR 128) DEFINERTYPE (CHAR 1)

SYSTEMAUTHID (VARCHAR 128) 130

DEFAULTROLE (VARCHAR 128)

130

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

589

DO NOT COPY
| Table 149. SYSIBM.SYSCONTEXT (record OBID X33E) (continued) | Dec | offset | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dec | offset | | 0 | | | 6 | | 10 | | | | | | | | | | | |
Hex offset Col 7 Field OBJECTOWNERTYPE (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Whether the ROLE AS OBJECT OWNER clause is specified in the definition of this trusted context: (L: ROLE AS OBJECT OWNER is specified. A role owns any object created in the trusted context.) (blank: ROLE AS OBJECT OWNER is not specified. An authorization ID owns any object created in the trusted context.) (not null). Time when the context was created (not null with default). Time when the context was altered (not null with default). Status of context (Y/N) (not null with default N). Allow connection reuse for PUBLIC (Y/N) (not null with default N). Authentication information for PUBLIC, if connection reuse is allowed (Y/N) (not null with default N). Release of DB2 that was used to create the object (not null with default). Release dependency marker (not null with defect). Comments (not null with default) Default security label (not null with default)

8 9 10 11 12

CREATEDTS (TIMESTAMP) ALTEREDTS (TIMESTAMP) ENABLED (CHAR 1) ALLOWPUBLIC (CHAR 1) AUTHENTICATEPUBLIC (CHAR 1) RELCREATED (CHAR 1) IBMREQD (CHAR 1) REMARKS (VARCHAR 762) DEFAULTSECURITYLABEL (VARCHAR 24)

10 10 1 1 1

13 14 15 16

1 1 764 26

| Table 150. SYSIBM.SYSCONTEXTAUTHIDS (record OBID X349)


Hex offset 0000 0006 000C 1 2 Col Field Flags 00 Length 001C-0134 OBID 0349 ID xx Dec len 6 4 130 Description Record headerrecord length, OBID, associated ID map entry Internal context ID (not null generated always as identity with default). Primary authorization ID that can reuse a connection in the identified trusted context (not null with default). Authentication needed (Y/N) (not null with default). Role for AUTHID. The role supersedes the default role, if any, defined for the context (not null with default). Time when the AUTHID was added to the trusted context (not null with default). Release dependency marker (not null with default). Security label (not null with default).
LY37-3218-01 Copyright IBM Corp. 1983, 2007

CONTEXTID (INTEGER) AUTHID (VARCHAR 128)

3 4

AUTHENTICATE (CHAR 1) ROLE (VARCHAR 128)

1 130

5 6 7

CREATEDTS (TIMESTAMP) IBMREQD (CHAR 1) SECURITYLABEL (VARCHAR 8)

10 1 26

590

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

|
Table 151. SYSIBM.SYSCOPY (record OBID X2E) Dec offset 0 6 14 22 Hex offset 0000 0006 000E 0016 1 2 3 Col Field Flags 00 Length 0051-07C0 OBID 002E ID xx Dec len 6 8 8 4 Description Record headerrecord length, OBID, associated ID map entry Database name Name of the table space or index space. Data set number within the table space or index space. For a partitioned table space or index space, this value is the partition number for a single partition copy, or zero (0) for a copy of an entire partitioned table space or index space. Type of entry (A/B/C/D/E/F/I/O/P/Q/ R/S/T/V/W/X/Y/Z) Not used A 48-bit positive integer that contains the LRSN of a point in the DB2 recovery log. (RBA used for non-data-sharing) (not null with default for bit data) Tape file sequence number of copy Device type of copy IBM-required flag (Y/N) Data set name for ICTYPE P,I, or F. Otherwise, database and table space or index space name. Blank for rows inserted before DB2 for z/OS Version 4. Not used SHRLEVEL specified on copy (C/R/blank) Data set volume serial numbers Timestamp of the image copy (not null with default) Indicates the type of copy in the data set created by MERGECOPY. (LB/RP/RB/blank) (not null with default) Device used for the Image Copy data set (T/D/blank) (not null with default)

DBNAME (CHAR 8) TSNAME (CHAR 8) DSNUM (INTEGER)

| |

26 27 33

001A 001B 0021

4 5 6

ICTYPE (CHAR 1) ICDATE (CHAR 6) START_RBA (CHAR 6)

1 6 6

39 43 51 52

0027 002B 0033 0034

7 8 9 10

FILESEQNO (INTEGER) DEVTYPE (CHAR 8) IBMREQD (CHAR 1) DSNAME (CHAR 44)

4 8 1 44

96 102 103

0060 0066 0067

11 12 13 14 15

ICTIME (CHAR 6) SHRLEVEL (CHAR 1) DSVOLSER (VARCHAR 1784) TIMESTAMP (TIMESTAMP) ICBACKUP (CHAR 2)

6 1 1786 10 2

| |

16

ICUNIT (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

591

DO NOT COPY
Table 151. SYSIBM.SYSCOPY (record OBID X2E) (continued) Dec offset Hex offset Col 17 Field STYPE (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Detailed description about record information: v When ICTYPE = A, values include: A/B/C/D/E/F/G/I/L/M/N/O/P/R/ S/V/Z v When ICTYPE = C, values include: L/O v When ICTYPE = F, values include: A/C/R/S/V/W/X/blank v When ICTYPE = M, the value is R v When ICTYPE = O, values include: B/R v When ICTYPE = P, values include: C/L/M/blank v When ICTYPE = Q, and option WRITE(YES) is in effect when the quiesce point is taken, the value is W v When ICTYPE = R, S, W, or X, values include: A/T v When ICTYPE = T, values include: F/I For all other values of ICTYPE, the value is blank (not null with default)

| | | | | | | | | | | | | | | | | | | | | | | | | |

18

PIT_RBA (CHAR 6)

When ICTYPE = F or I and SHRLEVEL = C, this field contains the current RBA for non data sharing or the current LRSN for data sharing that corresponds to when the SHRLEVEL CHANGE copy completed (not null with default for bit data) DB2 data sharing member name of DB2 subsystem. Blank for non-data-sharing subsystem. (not null with default) Indicates whether the recovery information is for a table space or index space (not null with default T) Partition number of the lowest partition in the range. Valid only for SYSCOPY records created for REORG and LOAD REPLACE to reset REORG pending status. This value contains the current index version when ICTYPE=F and OTYPE=I when index changes because of ALTER VARCHAR. (not null with default) Partition number of the highest partition in the range. Valid only for SYSCOPY records created for REORG and LOAD REPLACE to reset REORG pending status. (not null with default) Number of pages that were written to the copy data set. (not null with default -1)

19

GROUP_MEMBER (CHAR 8)

20

OTYPE (CHAR 1)

21

LOWDSNUM (INTEGER)

22

HIGHDSNUM (INTEGER)

23

COPYPAGESF (FLOAT)

592

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 151. SYSIBM.SYSCOPY (record OBID X2E) (continued) Dec offset Hex offset Col 24 Field NPAGESF (FLOAT) Dec len 8 Description Total number of pages in the table space or index at the time of inline copy. This column can be updated. (not null with default -1) Total number of changed pages. This column can be updated. (not null with default -1) Job name of the job that executed the copy. This column can be updated. (not null with default 0) Authorization ID under which the copy was executed. This column can be updated. (not null with default 0) Version number for the oldest format of data for the object. For SYSCOPY records with ICTYPE = W, X, S, R, B, F, or I, the this column contains the oldest active version number in the object. For SYSCOPY records with other ICTYPE values, this column contains -1. (not null with default) Logical partition number of the object (not null with default) Logging attribute (not null with default) (Y/N/blank) SYSCOPY record for REORG/LOAD, REPLACE, and RECOVER (not null with default) (RRF/BRF/B) v TTYPE = blank; if the RECOVER utility reset the object. v TTYPE = N; if the RECOVER utility did not reset the object. 32 33 INSTANCE (SMALLINT) RELCREATED (CHAR 1) 2 1 The instance number of the data set (not null with default 1) Release of DB2 that was used to create this entry (M/blank) (not null with default)

25

CPAGESF (FLOAT)

26

JOBNAME (CHAR 8)

27

AUTHID (CHAR 8)

28

OLDEST_VERSION (SMALLINT)

29

LOGICAL_PART (INTEGER) LOGGED (CHAR 1) TTYPE (CHAR 8)

4 1 8

| | | | | | | | | | | | | | | | | | | | | | | | | | |

30 31

Table 152. SYSIBM.SYSCTXTTRUSTATTRS (record OBID X345) Dec offset 0 6 10 Hex offset 0000 0006 000C 1 2 3 4 Col Field Flags 00 Length 003D-0197 OBID 0345 ID xx Dec len 6 4 130 256 10 Description Record headerrecord length, OBID, associated ID map entry Internal context ID (not null with default). Name of trusted context (not null with default). Value of the trust attribute (not null with default). Time when the attribute was created (not null with default).

CONTEXTID (INTEGER) NAME (VARCHAR 128) VALUE (VARCHAR 254) CREATEDTS (TIMESTAMP)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

593

DO NOT COPY
| Table 152. SYSIBM.SYSCTXTTRUSTATTRS (record OBID X345) (continued) | Dec | offset | | |
Hex offset Col 5 Field IBMREQD (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Release dependency marker (not null with defect).

Table 153. SYSIBM.SYSDATABASE (record OBID X2A) Dec offset 0 6 10 Hex offset 0000 0006 000A 1 2 3 4 5 6 7 8 9 10 11 Col Field Flags 00 Length 005C-01DC OBID 002A ID xx Dec len 6 4 26 130 130 8 2 1 130 1 10 1 Description Record headerrecord length, OBID, associated ID map entry Child pointerPoints to SYSDBAUTH record Database name Owner of the database Storage group name Name of the default buffer pool of the table space. Blank for a system table space. Database object identifier IBM-required flag (Y/N/E/G) Authorization ID of user creating object (not null with default) Not used Not used Whether database is a work file database. (blank/W) (not null with default) The DB2 data sharing member name of the DB2 subsystem that uses this work file database. Blank if not created for data sharing or if not a work file database as indicated by TYPE. (not null with default) Time when the CREATE statement was executed for the database described by this row (not null with default) Time when the latest ALTER statement was executed for the database described by this row. If no ALTER statement was executed, this value is the same as the value of CREATEDTS (not null with default). Default encoding scheme for the database (E/A/U/blank) (not null with default E) Default SBCS CCSID for the database (not null with default) Default DBCS CCSID for the database (not null with default) Default mixed CCSID for the database (not null with default) Name of the default buffer pool for indexes (not null with default BP0)
LY37-3218-01 Copyright IBM Corp. 1983, 2007

RID (ppppppxx) NAME (VARCHAR 24) CREATOR (VARCHAR 128) STGROUP (VARCHAR 128) BPOOL (CHAR 8) DBID (SMALLINT) IBMREQD (CHAR 1) CREATEDBY (VARCHAR 128) ROSHARE (CHAR 1) TIMESTAMP (TIMESTAMP) TYPE (CHAR 1)

GROUP_MEMBER (VARCHAR 24) 26

12

CREATEDTS (TIMESTAMP)

10

13

ALTEREDTS (TIMESTAMP)

10

14 15 16 17 18

ENCODING_SCHEME (CHAR 1) SBCS_CCSID (INTEGER) DBCS_CCSID (INTEGER) MIXED_CCSID (INTEGER) INDEXBP (CHAR 8)

1 4 4 4 8

594

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 153. SYSIBM.SYSDATABASE (record OBID X2A) (continued) Dec offset Hex offset Col 19 Field IMPLICIT (CHAR 1) Dec len 1 Description Indicates whether the database was implicitly created (not null with default N) (Y/N) Type of creator (not null with default) (blank/L) Release of DB2 when object was created (not null with default)

| | | | | | |

20 21

CREATORTYPE (CHAR 1) RELCREATED (CHAR 1)

1 1

Table 154. SYSIBM.SYSDATATYPES (record OBID X151) Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 0030-062A OBID 0151 ID xx Dec len 6 130 130 130 130 130 130 8 4 4 4 Description Record headerrecord length, OBID, associated ID map entry Schema of the data type (not null) Owner of the data type (not null) Name of the data type (not null) Primary authorization ID of the user who created the distinct type (not null) Schema of the source data type. Blank for built-in data types (not null) Name of the source type for this data type. Blank for built-in data types (not null) Class of the data type (T) (not null) Internal identifier of the data type (not null) Internal identifier of the source data type. 0 for built-in data types (not null) Maximum length of the data type, or precision for distinct data types based on the IBM-defined DECIMAL type. 0 for IBM-defined data types (not null) Scale for distinct data types based on the IBM-defined DECIMAL type. 0 for all other data types (not null) Subtype of the data type. Applies to distinct data types if the source type is one of the character data types (B/S/M/blank). Blank for built-in data types (not null) Time when the distinct data type was created (not null) Encoding scheme of the data type (E/A/U/blank) (not null) IBM-required flat (Y/N) (not null with default N) Character string provided by the user through the COMMENT ON statement (not null)

SCHEMA (VARCHAR 128) OWNER (VARCHAR 128) NAME (VARCHAR 128) CREATEDBY (VARCHAR 128) SOURCESCHEMA (VARCHAR 128) SOURCETYPE (VARCHAR 128) METATYPE (CHAR 1) DATATYPEID (INTEGER) SOURCETYPEID (INTEGER) LENGTH (INTEGER)

| |

4 5 6 7 8 9 10

11

SCALE (SMALLINT)

12

SUBTYPE (CHAR 1)

10

13 14 15 16

CREATEDTS (TIMESTAMP) ENCODING_SCHEME (CHAR 1) IBMREQD (CHAR 1) REMARKS (VARCHAR 762)

10 1 1 764

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

595

DO NOT COPY
Table 154. SYSIBM.SYSDATATYPES (record OBID X151) (continued) Dec offset Hex offset Col 17 18 Field OWNERTYP (CHAR 1) RELCREATED (CHAR 1) Dec len 1 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Type of owner (not null with default) (blank/L) Release of DB2 when object was created (not null with default)

| | | |

Table 155. SYSIBM.SYSDBAUTH (record OBID X2B) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Col Field Flags 00 Length 0048-0148 OBID 002B ID xx Dec len 6 4 4 130 130 26 12 6 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSDBAUTH record or SYSDATABASE Backward ring pointerPoints to previous SYSDBAUTH record or SYSDATABASE Grantor of privilege Grantee receiving privilege Database name Time of grantinternal format (not null for bit data) Not used Not used Type of grantee (blank/L) (not null with default) Blank or (S/D/C/M/L) Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank IBM-required flag (Y/N) Time when the GRANT statement was executed (not null with default)
LY37-3218-01 Copyright IBM Corp. 1983, 2007

RID (ppppppxx) RID (ppppppxx) GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128) NAME (VARCHAR 24) TIMESTAMP (CHAR 12) DATEGRANTED (CHAR 6) TIMEGRANTED (CHAR 8) GRANTEETYPE (CHAR 1) AUTHHOWGOT (CHAR 1) CREATETABAUTH (CHAR 1) CREATETSAUTH (CHAR 1) DBADMAUTH (CHAR 1) DBCTRLAUTH (CHAR 1) DBMAINTAUTH (CHAR 1) DISPLAYDBAUTH (CHAR 1) DROPAUTH (CHAR 1) IMAGCOPYAUTH (CHAR 1) LOADAUTH (CHAR 1) REORGAUTH (CHAR 1) RECOVERDBAUTH (CHAR 1) REPAIRAUTH (CHAR 1) STARTDBAUTH (CHAR 1) STATSAUTH (CHAR 1) STOPAUTH (CHAR 1) IBMREQD (CHAR 1) GRANTEDTS (TIMESTAMP)

596

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 155. SYSIBM.SYSDBAUTH (record OBID X2B) (continued) Dec offset Hex offset Col 26 Field GRANTORTYPE (CHAR 1) Dec len 1 Description Type of grantor (blank/L) (not null with default)

| |

Table 156. SYSIBM.SYSDBRM (record OBID X23) Dec offset 0 6 10 14 18 Hex offset 0000 0006 000A 000E 0012 1 2 3 4 5 6 7 8 9 10 11 12 Col Field Flags 00 Length 006D-012D OBID 0023 ID xx Dec len 6 4 4 4 26 8 134 26 130 8 6 1 1 1 1 1 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSDBRM record or SYSPLAN Backward ring pointerPoints to previous SYSDBRM record or SYSPLAN Child pointerPoints to SYSSTMT record DBRM name Time of precompilation (not null with default for bit data) Partition data set name Plan name Owner of the application plan Not used Not used SQL string delimiter, quote/apostrophe (Y/N) Decimal point comma/period (Y/N) Host language (F/B/C/P/2/D/3/4) IBM-required flag (Y/N) Katakana or alphanumeric character set in use at precompile (K/A) (not null with default) MIXED option in effect at precompile (Y/N) (not null with default) DEC31 option in effect at precompile (Y) or blank (not null with default) Version identifier for the DBRM (not null with default) Time when the DBRM was precompiled (not null with default) Type of creator (not null with default) (blank/L) Release of DB2 when object was created (not null with default)

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 24) TIMESTAMP (CHAR 8) PDSNAME (VARCHAR 132) PLNAME (VARCHAR 24) PLCREATOR (VARCHAR 128) PRECOMPTIME (CHAR 8) PRECOMPDATE (CHAR 6) QUOTE (CHAR 1) COMMA (CHAR 1) HOSTLANG (CHAR 1) IBMREQD (CHAR 1) CHARSET (CHAR 1)

13 14 15 16

MIXED (CHAR 1) DEC31 (CHAR 1) VERSION (VARCHAR 122) PRECOMPTS (TIMESTAMP) PLCREATORTYPE (CHAR 1) RELCREATED (CHAR 1)

1 1 124 10 1 1

| | | |

17 18

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

597

DO NOT COPY
| Table 157. SYSIBM.SYSDEPENDENCIES (record OBID X32E) | Dec | offset | | 0 | | | 6 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Hex offset 0000 0006 1 2 Col Field Flags 00 Length 006D-012D OBID 0032 ID xx Dec len 6 130 130

Restricted Materials of IBM Licensed Materials Property of IBM

Description Record headerrecord length, OBID, associated ID map entry Name of the object on which another object is dependent (not null with default). Schema or qualifier of the object on which another object is dependent (not null with default). Column name of the object on which another object is dependent (not null with default). Column number of the object on which another object is dependent (not null with default). Type of the object identified by BNAME, BSCHEMA and BCOLNAME (not null with default). (C/F) Authorization ID of the owner of the object on which another object is dependent (not null with default). Type of creator of the object on which another object is dependent (not null with default). (blank/L) Name of the object which has dependencies on another object (not null with default). Schema or qualifier of the object which has dependencies on another object (not null with default). Column name of the object which has dependencies on another object (not null with default). Column number of the object which has dependencies on another object (not null with default). Type of the object identified by DNAME, DSCHEMA and DCOLNAME (not null with default). (I/C) Authorization ID of the owner of the object which has dependencies on another object (not null with default). (blank/L) Type of owner of the object on which dependencies exist on another object (not null with default). IBM required

BNAME (VARCHAR 128) BSCHEMA (VARCHAR 128)

BCOLNAME (VARCHAR 128)

130

BCOLNO (SMALLINT)

BTYPE (CHAR 1)

BOWNER (VARCHAR 128)

130

BOWNERTYPE (CHAR 1)

8 9

DNAME (VARCHAR 128) DSCHEMA (VARCHAR 128)

130 130

10

DCOLNAME (VARCHAR 128)

130

11

DCOLNO (SMALLINT)

12

DTYPE (CHAR 1)

13

DOWNER (VARCHAR 128)

130

14

DOWNERTYPE (CHAR 1)

15

IBMREQD (CHAR 1)

598

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 158. SYSIBM.SYSDUMMY1 (record OBID XD4) Dec offset 0 6 Hex offset 0000 0006 1 Col Field Flags 00 Length 0007 OBID ID 00D4 xx Dec len 6 1 Description Record headerrecord length, OBID, associated ID map entry IBM-required flag (Y/N) (not null)

IBMREQD (CHAR 1)

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 159. SYSIBM.SYSENVIRONMENT (record OBID X333) Dec offset 0 6 10 Hex offset 0000 0006 0014 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Col Field Flags 00 Length 006D-012D OBID 0333 ID xx Dec len 6 4 Description Record headerrecord length, OBID, associated ID map entry Internal identifier of the environment (not null with default). Current schema (not null with default). Release when the environment information was created (not null with default). Schema path (not null with default). CCSID of the application environment (not null with default). Original CCSID of the statement text string (not null with default). Decimal point indicator (not null with default). (P/C) Minimum divide scale (not null with default). (N/Y) String delimiter used in COBOL string constant (not null with default). (A/Q) SQL String delimiter used in string constant (not null with default). (A/Q) Mixed DBCS data (not null with default). (N/Y) Precision limits (not null with default). (1/2) Date format (not null with default). (I/J/U/E/L) Time format (not null with default). (I/J/U/E/L) Floating point format (not null with default). (I/S) Host language (not null with default). (ASM/C/CPP/IBMCOB/PLI/FORTRAN) Character set (not null with default). (A) Folds lowercase letters (not null with default). (blank/N/Y) IBM required

ENVID (INTEGER)

CURRENT_ SCHEMA (VARCHAR 130 128) RELCREATED (CHAR) 1

PATHSCHEMAS (VARCHAR 2048) 2050 APPLICATION_ ENCODIN G_CCSID (INTEGER) ORIGINAL_ ENCODING_ CCSID (INTEGER) DECIMAL_POINT (CHAR 1) MIN_DIVIDE_SC ALE (CHAR 1) STRING_DELIMI TER (CHAR 1) 4 4 1 1 1

SQL_STRING_DELIMITER (CHAR 1 1) MIXED_DATA (CHAR1) DECIMAL_ ARITHMETIC (CHAR 1) DATE_FORMAT (CHAR 1) TIME_FORMAT (CHAR 1) FLOAT_FORMAT (CHAR 1) HOST_LANGUAGE (CHAR 8) CHARSET (CHAR 1) FOLD (CHAR 1) IBMREQD (CHAR 1) 1 1 1 1 1 8 1 1 1

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

599

DO NOT COPY
| Table 159. SYSIBM.SYSENVIRONMENT (record OBID X333) (continued) | Dec | offset | | |
Hex offset Col 20 Field ROUNDING (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Rounding option (not null with default). (C/D/F/G/E/H/U)

Table 160. SYSIBM.SYSFIELDS (record OBID X15) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 4 5 6 7 8 9 Col Field Flags 00 Length 002B-08A3 OBID 0015 ID xx Dec len 6 4 4 130 130 2 130 26 2 2 8 2 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSFIELDS record or SYSCOLUMNS Backward ring pointerPoints to previous SYSFIELDS record or SYSCOLUMNS Owner of the table containing the column Name of the table Ordinality of the column within its table Name of the column Data type of the encoded values of the column Length attribute of the field Scale of a decimal field; 0 if the field is not decimal Name of the field procedure for the column Size of the work area required for the encoding and decoding functions of the field procedure IBM-required flag (Y/N) Length of field procedure parameter value block. Literal list specified in the source DDL definition of the column Field procedure parameter value block (not null with default for bit data)

RID (ppppppxx) RID (ppppppxx) TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) COLNO (SMALLINT) NAME (VARCHAR 128) FLDTYPE (VARCHAR 24) LENGTH (SMALLINT) SCALE (SMALLINT) FLDPROC (CHAR 8) WORKAREA (SMALLINT)

10 11 12 13

IBMREQD (CHAR 1) EXITPARML (SMALLINT) PARMLIST (VARCHAR 762) EXITPARM (VARCHAR 1530)

1 2 764 1532

Table 161. SYSIBM.SYSFOREIGNKEYS (record OBID X19) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 Col Field Flags 00 Length 0013-0213 OBID 0019 ID xx Dec len 6 4 4 130 130 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSFOREIGNKEYS record or SYSRELS Backward ring pointerPoints to previous SYSFOREIGNKEYS or SYSRELS Owner of the table containing the column Name of the table containing the column
LY37-3218-01 Copyright IBM Corp. 1983, 2007

RID (ppppppxx) RID (ppppppxx) CREATOR (VARCHAR 128) TBNAME (VARCHAR 128)

600

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 161. SYSIBM.SYSFOREIGNKEYS (record OBID X19) (continued) Dec offset Hex offset Col 3 4 5 6 7 Field RELNAME (VARCHAR 128) COLNAME (VARCHAR 128) COLNO (SMALLINT) COLSEQ (SMALLINT) IBMREQD (CHAR 1) Dec len 130 130 2 2 1 Description Name of the relationship for which the column is a part of the foreign key Name of the column Ordinality of the column within its table Ordinality of the column within the foreign key IBM-required flag (Y/N)

Table 162. SYSIBM.SYSINDEXES (record OBID X17) Dec offset 0 6 10 14 18 22 Hex offset 0000 0006 000A 000E 0012 0016 1 2 3 Col Field Flags 00 Length 00B0-062A OBID 0017 ID xx Dec len 6 4 4 4 4 130 130 130 130 1 2 1 1 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSINDEXES record or SYSTABLES Backward ring pointerPoints to previous SYSINDEXES record or SYSTABLES Child pointerPoints to SYSINDEXPART record Child pointerPoints to SYSKEYS record Index name The SCHEMA of the index Table name on which index created The SCHEMA of the table that the index is on Uniqueness indicator (D/U/P/C/N/R) Number of columns in the key Cluster specified (Y/N) Whether the table is clustered by the index. Blank means this column is not applicable. (Y/N/blank) Database object identifier Index object identifier Index space object identifier Database name Index space name Not used except for fallback Not used except for fallback -1 or number of active leaf pages -1 or number of levels in index tree Buffer pool name (BP0,BP1,BP2..,BP49)

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 128) CREATOR (VARCHAR 128) TBNAME (VARCHAR 128) TBCREATOR (VARCHAR 128) UNIQUERULE (CHAR 1) COLCOUNT (SMALLINT) CLUSTERING (CHAR 1) CLUSTERED (CHAR 1)

| | |

4 5 6 7 8

9 10 11 12 13 14 15 16 17 18

DBID (SMALLINT) OBID (SMALLINT) ISOBID (SMALLINT) DBNAME (CHAR 8) INDEXSPACE (CHAR 8) FIRSTKEYCARD (INTEGER) FULLKEYCARD (INTEGER) NLEAF (INTEGER) NLEVELS (SMALLINT) BPOOL (CHAR 8)

2 2 2 8 8 4 4 4 2 8

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

601

DO NOT COPY
Table 162. SYSIBM.SYSINDEXES (record OBID X17) (continued) Dec offset Hex offset Col 19 Field PGSIZE (SMALLINT) Dec len 2

Restricted Materials of IBM Licensed Materials Property of IBM

Description Index page size. In V9 new-function mode, the index page size is in kilobytes. In V9 compatibility mode, the index page size is in bytes. Delete data set on DROP (Y/N) Not used Close data set when index inactive (Y/N) Number of kilobytes of DASD storage allocated to the index (determined by STOSPACE utility) IBM-required flag (Y/N/C/E/G/I) Percentage of rows in clustering order. For a partitioning index, this value is the weighted average for all partitions. The weighting factor is the number of rows in each partition. This value is 0 if statistics have not been gathered. For an auxiliary index, this value is -2. Users can update this column. (not null with default) Authorization ID of user creating object (not null with default) REPAIR VERSIONS updates this catalog column. If the index contains version information in the index that indicates that the index was created when DB2 was in Version 8 new-function mode or altered to create a new version in DB2 Version 8, this field contains -1. If the index was created before DB2 Version 8 and not altered in Version 8 to create a new version, this field contains the index version. Not used Timestamp of RUNSTATS statistics update (not null with default) Index type (D/P/2/blank) (not null with default) Number of distinct values of the first key column. This value is an estimate if it is updated while column statistics are being gathered on a single partition. This value is -1 before any statistics are gathered (not null with default -1). Number of distinct values of the key. This value is -1 before any statistics are gathered. (not null with default -1) Time when the CREATE statement was executed for the index described by this row (not null with default)

| | | |

20 21 22 23

ERASERULE (CHAR 1) DSETPASS (CHAR 8) CLOSERULE (CHAR 1) SPACE (INTEGER)

1 8 1 4

24 25

IBMREQD (CHAR 1) CLUSTERRATIO (SMALLINT)

1 2

26 27

CREATEDBY (VARCHAR 128) IOFACTOR (SMALLINT)

130 2

28 29 30 31

PREFETCHFACTOR (SMALLINT) STATSTIME (TIMESTAMP) INDEXTYPE (CHAR 1) FIRSTKEYCARDF (FLOAT)

2 10 1 8

32

FULLKEYCARDF (FLOAT)

33

CREATEDTS (TIMESTAMP)

10

602

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 162. SYSIBM.SYSINDEXES (record OBID X17) (continued) Dec offset Hex offset Col 34 Field ALTEREDTS (TIMESTAMP) Dec len 10 Description Time when the latest ALTER statement was executed for the index described by this row. If no ALTER statement was executed, this value is the same as the value of CREATEDTS (not null with default). Maximum size of a data set storage piece, in kilobytes, for nonpartitioning indexes (not null with default). Indicates whether COPY YES was specified for the index (Y/N) (not null with default N). If COPY YES was specified for the index, this field contains the RBA or LRSN when the index was created with COPY YES or altered to COPY YES. If the index is altered to COPY NO, this field contains the RBA or LRSN when the index was created or altered with COPY YES. (not null with default X000000000000 for bit data) Percentage of rows that are in clustering order. For a partitioning index, this is the weighted average for all index partitions. The weighting factor is the number of rows in each partition. This number is 0 before statistics are gathered and -2 for an auxiliary index, a node ID index, or an XML index. Users can update this column. (not null with default) Amount of DASD storage, in kilobytes. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) A character string that the users provides in the COMMENT ON statement. (not null with default) Whether keys in the index are padded for varying-length columns (Y/N) (not null with default Y) Version of the data row format for this index. 0 if a version-creating ALTER has not been executed (not null with default) Version number for the oldest format of data in the index space and any image copies of the index (not null with default) Version number of the newest format of data in the index space. 0 if the index space has never had versioning. After the version number reaches the maximum value of 16, DB2 resets the value to 1. (not null with default)

35

PIECESIZE (INTEGER)

36

COPY (CHAR 1)

37

COPYLRSN (CHAR 6)

| | | | | | | | |

38

CLUSTERRATIOF (FLOAT)

39

SPACEF (FLOAT)

40

REMARKS (VARCHAR 762)

764

41

PADDED (CHAR 1)

42

VERSION (SMALLINT)

43

OLDEST_VERSION (SMALLINT)

44

CURRENT_VERSION (SMALLINT)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

603

DO NOT COPY
Table 162. SYSIBM.SYSINDEXES (record OBID X17) (continued) Dec offset Hex offset Col 45 Field RELCREATED (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Indicator for the version of DB2 in which the object was created. Blank for indexes created before Version 8 (not null with default). Average length of keys in the index. This value is -1 if statistics have not been gathered (not null with default -1). Number of key targets for an extended index. Zero (0) for simple indexes (not null with default). Zero (0) for a simple index or if the index has no unique key (permits duplicates). Otherwise, this number is the number of key targets that is required for the unique key (not null with default). Type of extended index (blank/S/N/V) (not null with default). Indicates whether compression is active or not (Y/N) (not null with default N). Authorization ID of the owner of the index. This column contains an empty string for indexes created in a DB2 release prior to Version 9 (not null with default). Type of owner (blank/L) (not null with default). Anticipated number of data pages touched following index key order. Internal environment identifier (not null with default).

46

AVGKEYLEN (INTEGER)

47

KEYTARGET_COUNT (SMALLINT) UNIQUE_COUNT (SMALLINT)

48

| | | | | | | | | | | | | |

49 50 51

IX_EXTENSION_TYPE (CHAR 1) COMPRESS (CHAR 1) OWNER (VARCHAR 128)

1 1 130

52 53 54

OWNERTYPE (CHAR 1) DATAREPEATFACTORF (FLOAT) ENVID (INTEGER)

1 8 4

Table 163. SYSIBM.SYSINDEXES_HIST (record OBID X271) Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 0044-0244 OBID 0271 ID xx Dec len 6 130 130 130 130 1 4 2 10 Description Record headerrecord length, OBID, associated ID map entry Index name The SCHEMA of the index Table name on which index created The SCHEMA of the table Cluster specified (Y/N) -1 or number of active leaf pages -1 or number of levels in index tree Timestamp of RUNSTATS statistics update (not null with default)

NAME (VARCHAR 128) CREATOR (VARCHAR 128) TBNAME (VARCHAR 128) TBCREATOR (VARCHAR 128) CLUSTERING (CHAR 1) NLEAF (INTEGER) NLEVELS (SMALLINT) STATSTIME (TIMESTAMP)

| |

4 5 6 7 8

604

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 163. SYSIBM.SYSINDEXES_HIST (record OBID X271) (continued) Dec offset Hex offset Col 9 Field FIRSTKEYCARDF (FLOAT) Dec len 8 Description Number of distinct values of the first key column. This value is an estimate if it is updated while column statistics are being gathered on a single partition. This value is -1 before any statistics are gathered (not null with default -1). Number of distinct values of the key. This value is -1 before any statistics are gathered. (not null with default -1) Percentage of rows that are in clustering order. For a partitioning index, this is the weighted average for all index partitions. The weighting factor is the number of rows in each partition. This number is 0 before statistics are gathered and -2 for an auxiliary index. Users can update this column. (not null with default) Number of kilobytes of DASD storage that is allocated to the index space partition. This value is -1 if statistics have not been gathered. (not null with default -1) IBM-required flag (Y/N) (not null with default N) Average length of keys in the index. This value is -1 if statistics have not been gathered. (not null with default -1) Anticipated number of data pages touched following index key order.

10

FULLKEYCARDF (FLOAT)

11

CLUSTERRATIOF (FLOAT)

12

SPACEF (FLOAT)

13 14

IBMREQD (CHAR 1) AVGKEYLEN (INTEGER)

1 4

| |

15

DATAREPEATFACTORF (FLOAT)

Table 164. SYSIBM.SYSINDEXPART (record OBID X1A) Dec offset 0 6 10 14 16 Hex offset 0000 0006 000A 000E 0010 1 2 3 Col Field Flags 00 Length 0097-0417 OBID 001A ID xx Dec len 6 4 4 2 130 130 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSINDEXPART record or SYSINDEXES Backward ring pointerPoints to previous SYSINDEXPART record or SYSINDEXES 0 or partition number Index name The SCHEMA of the index

RID (ppppppxx) RID (ppppppxx) PARTITION (SMALLINT) IXNAME (VARCHAR 128) IXCREATOR (VARCHAR 128)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

605

DO NOT COPY
Table 164. SYSIBM.SYSINDEXPART (record OBID X1A) (continued) Dec offset Hex offset Col 4 Field PQTY (INTEGER) Dec len 4

Restricted Materials of IBM Licensed Materials Property of IBM

Description The user-specified primary allocation quantity, or -1. -1 means that either of the following cases is true: v PRIQTY was not specified for CREATE INDEX or for any subsequent ALTER INDEX statements. v The most-recently specified PRIQTY value for any ALTER INDEX statements was PRIQTY -1. (not null with default)

SQTY (SMALLINT)

The user-specified secondary allocation quantity, or -1. -1 means that either of the following cases is true: v SECQTY was not specified for CREATE INDEX or for any subsequent ALTER INDEX statements. v The most-recently specified SECQTY value for any ALTER INDEX statements was SECQTY -1. (not null with default)

6 7 8 9 10

STORTYPE (CHAR 1) STORNAME (VARCHAR 128) VCATNAME (VARCHAR 24) CARD (INTEGER) FAROFFPOS (INTEGER) LEAFDIST (INTEGER)

1 130 26 4 4 4

Storage type (E/I) Storage group or VSAM catalog name VSAM catalog name Not used except for fallback Not used except for fallback 100 times average number of pages between leaf pages. -1 if statistics have not been gathered. -2 if the index is a node ID index or an XML index Not used except for fallback IBM-required flag (Y/N) High value of the limit key of the partition (internal format in OBD). 0 if the index is not partitioned, or if the index is a DPSI. If any column of the key has a field procedure, this value is in its encoded form. (not null with default for bit data) Number of pages loaded before free space page Percentage of each loaded page left as free space Number of kilobytes of DASD storage allocated to the index space partition (determined by STOSPACE utility). -1 indicates that creation of the underlying VSAM data sets is deferred. (not null with default)

| | | |

11

12 13 14

NEAROFFPOS (INTEGER) IBMREQD (CHAR 1) LIMITKEY (VARCHAR 512)

4 1 514

15 16 17

FREEPAGE (SMALLINT) PCTFREE (SMALLINT) SPACE (INTEGER)

2 2 4

606

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 164. SYSIBM.SYSINDEXPART (record OBID X1A) (continued) Dec offset Hex offset Col 18 19 20 Field STATSTIME (TIMESTAMP) INDEXTYPE (CHAR 1) GBPCACHE (CHAR 1) FAROFFPOSF (FLOAT) Dec len 10 1 1 8 Description Timestamp of RUNSTATS statistics update (not null with default) Not used Group buffer pool cache option (A/N/blank) (not null with default) Number of rows referred to that are far from the optimal position because data was inserted into a full page. This value is -1 if no statistics have been gathered, and is not applicable for indexes on auxiliary tables. The value is -2 if the index is a node ID index or an XML index. (not null with default -1) Number of rows referred to that are near, but not at, the optimal position because data was inserted into a full page. This value is -1 if no statistics have been gathered, and is not applicable for indexes on auxiliary tables. The value is -2 if the index is a node ID index or an XML index. (not null with default -1) Number of keys in the index or index partitions that refer to data rows or LOBs. This value is -1 if no statistics have been gathered (not null with default -1). Secondary allocation quantity (not null with default) Reserved (not null with default I) Time when the ALTER INDEX statement was executed for the index. This value is 0001-01-01.00.00.00.000000 if the index was last altered before DB2 Version 6. (not null with default) Amount of DASD storage, in kilobytes. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) Number of data sets in the index or partition. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) Number of data set extents. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1)

| | | | | | | | | | | | | | | |

21

22

NEAROFFPOSF (FLOAT)

23

CARDF (FLOAT)

24 25 26

SECQTYI (INTEGER) IPREFIX (CHAR 1) ALTEREDTS (TIMESTAMP)

4 1 10

27

SPACEF (FLOAT)

28

DSNUM (INTEGER)

29

EXTENTS (INTEGER)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

607

DO NOT COPY
Table 164. SYSIBM.SYSINDEXPART (record OBID X1A) (continued) Dec offset Hex offset Col 30 Field PSEUDO_DEL_ENTRIES (INTEGER) Dec len 4

Restricted Materials of IBM Licensed Materials Property of IBM

Description Number of pseudo-deleted entries in the index or partition. A pseudo-deleted entry is marked as logically deleted but is physically in the index. If the index is nonunique, this is the number of RIDs that are pseudo-deleted. If the index is unique, this is the number of keys and RIDs that are pseudo-deleted. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) For successive, active leaf pages, the number of leaf pages that are physically near the previous leaf page. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) For successive, active leaf pages that are accessed in an index scan, the number of leaf pages that are physically far from the previous leaf page. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) Version number for the oldest format of data in the index partition and any image copies of the index partition (not null with default) Timestamp when the partition was created (not null with default) Average length of keys in the index. This value is -1 if statistics have not been gathered. (not null with default -1)

31

LEAFNEAR (INTEGER)

32

LEAFFAR (INTEGER)

33

OLDEST_VERSION (SMALLINT)

34 35

CREATEDTS (TIMESTAMP) AVGKEYLEN (INTEGER)

10 4

Table 165. SYSIBM.SYSINDEXPART_HIST (record OBID X0269) Dec offset 0 6 8 Hex offset 0000 0006 0008 1 2 3 4 5 Col Field Flags 00 Length 005B-015B OBID 0269 ID xx Dec len 6 2 130 130 4 4 Description Record headerrecord length, OBID, associated ID map entry 0 or partition number. (not null with default) Index name. (not null with default) The SCHEMA of the index (not null with default) 0 or primary allocation quantity. (not null with default) Secondary space allocation in units of 4 KB. If a storage group is not used, this value is 0. (not null with default)

PARTITION (SMALLINT) IXNAME (VARCHAR 128) IXCREATOR (VARCHAR 128) PQTY (INTEGER) SQTYI (INTEGER)

| |

608

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 165. SYSIBM.SYSINDEXPART_HIST (record OBID X0269) (continued) Dec offset Hex offset Col 6 Field LEAFDIST (INTEGER) Dec len 4 Description -1 or 100 times average number of pages between leaf pages (not null with default -1) Number of kilobytes of DASD storage allocated to the index space partition. -1 if statistics have not been gathered. (not null with default -1) Timestamp of RUNSTATS statistics update (not null with default) Number of rows referred to that are far from the optimal position because data was inserted into a full page. This value is -1 if no statistics have been gathered, and is not applicable for indexes on auxiliary tables. (not null with default -1) Number of rows referred to that are near, but not at, the optimal position because data was inserted into a full page. This value is -1 if no statistics have been gathered, and is not applicable for indexes on auxiliary tables. (not null with default -1) Number of keys in the index or index partitions that refer to data rows or LOBs. This value is -1 if no statistics have been gathered (not null with default -1). Number of data set extents. This value is -1 if statistics have not been gathered. (not null with default -1) Number of pseudo-deleted entries. This value is -1 if statistics have not been gathered. (not null with default -1) Data set number within the table space. For a copy of a single partition in a partitioned index space, this value is the partition number. This value is 0 for a copy of an entire partitioned index space. This value is -1 if statistics have not been gathered. (not null with default -1) IBM-required flag (Y/N) (not null with default N) For successive, active leaf pages that are accessed in an index scan, the number of leaf pages than are physically near the previous leaf page. This value is -1 if statistics have not been gathered. (not null with default -1)

SPACEF (FLOAT)

8 9

STATSTIME (TIMESTAMP) FAROFFPOSF (FLOAT)

10 8

10

NEAROFFPOSF (FLOAT)

11

CARDF (FLOAT)

12

EXTENTS (INTEGER)

13

PSEUDO_DEL_ENTRIES (INTEGER) DSNUM (INTEGER)

14

15 16

IBMREQD (CHAR 1) LEAFNEAR (INTEGER)

1 4

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

609

DO NOT COPY
Table 165. SYSIBM.SYSINDEXPART_HIST (record OBID X0269) (continued) Dec offset Hex offset Col 17 Field LEAFFAR (INTEGER) Dec len 4

Restricted Materials of IBM Licensed Materials Property of IBM

Description For successive, active leaf pages that are accessed in an index scan, the number of leaf pages than are physically far from the previous leaf page. This value is -1 if statistics have not been gathered. (not null with default -1) Average length of keys in the index. This value is -1 if statistics have not been gathered. (not null with default -1)

18

AVGKEYLEN (INTEGER)

| Table 166. SYSIBM.SYSINDEXSPACESTATS (record OBID X366). Users can insert, update, and delete rows in this | table. Items in this table are not available until DB2 Version 9 new-function mode. | Dec | offset | | 0 | | | 6 | | 16 | 18 | | 22 | 26 | 30 | | | 34 | | | 36 | | 46 | | 56 | | 66 | | 70 | | 74 | | | 78 | | | 82 |
Hex offset 0000 0006 0010 0012 0016 001A 001E 1 2 3 4 5 6 Col Field Flags 00 Length 0051-0539 OBID 0366 ID xx Dec len 6 10 2 4 4 4 4 Description Record headerrecord length, OBID, associated ID map entry The timestamp when the row was inserted or last updated (not null with default). The number of levels in an index tree. The number of distinct pages with active roles in the partition or table space. The number of leaf pages in the index. The number of active pages. The amount of space, in kilobytes, that is allocated to the index space or partition (not null with default). Number of dataset extents. The value is -1 if statistics have not been gathered (not null with default). Timestamp of last LOAD REPLACE on the index space or partition. Timestamp of last REBUILD on the index space or partition. Timestamp of last REORG on the index space or partition. Number of rows inserted since last REORG, REBUILD INDEX, or LOAD REPLACE. Number of rows deleted since last REORG, REBUILD INDEX, or LOAD REPLACE. Number of rows inserted since last REORG, REBUILD, or LOAD REPLACE that is greater than the maximum key. Number of rows pseudo-deleted since last REORG REBUILD INDEX, or LOAD REPLACE. Number of mass deletes since the last REORG or LOAD REPLACE.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

UPDATESTATSTIME (TIMESTAMP) NLEVELS (SMALLINT) NPAGES (INTEGER) NLEAF (INTEGER) NACTIVE (INTEGER) SPACE (INTEGER)

0022

EXTENTS (SMALLINT)

0024 002E 0038 0042 0046 004A

8 9 10 11 12 13

LOADRLASTTIME (TIMESTAMP) 10 REBUILDLASTTIME (TIMESTAMP) REORGLASTTIME (TIMESTAMP) REORGINSERTS (INTEGER) REORGDELETES (INTEGER) REORGAPPENDINSERT (INTEGER) REORGPSEUDODELETES (INTEGER) 10 10 4 4 4

004E

14

0052

15

REORGMASSDELETE (INTEGER) 4

610

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 166. SYSIBM.SYSINDEXSPACESTATS (record OBID X366) (continued). Users can insert, update, and delete rows in this table. Items in this table are not available until DB2 Version 9 new-function mode. Dec offset 86 Hex offset 0056 Col 16 Field REORGLEAFNEAR (INTEGER) Dec len 4 Description Number of page splits that occurred since the last REORG, REBUILD INDEX, or LOAD REPLACE and the higher part of the split page was near to the original page. Number of page splits that occurred since the last REORG, REBUILD INDEX or LOAD REPLACE and the higher part of the split page was far from the original page. Number of levels in the index tree that were added or removed since the last REORG, REBUILD INDEX, or LOAD REPLACE. Timestamp of the last RUNSTATS on the index space or partition. Number of rows inserted since last RUNSTATS. Number of rows deleted since last RUNSTATS. Number of mass deletes since the last RUNSTATS. Timestamp of the last COPY on the index space or partition. Number of pages updated since last COPY. Number of inserts, deletes, or updates since the last COPY. LRSN or RBA of the first update after the last COPY. Timestamp of first update after the last COPY. Date when the index was last used. IBM-required flag (Y/N) (not null with default). The internal identifier of database (not null with default). The internal identifier of the index space page set descriptor (not null with default). The internal identifier of the table space page set descriptor (not null with default). Partition number (not null with default). The data set instance number or this row dbid.psid.part.instance (not null with default). Number of entries in the index space. The name of the database (not null with default).

90

005A

17

REORGLEAFFAR (INTEGER)

94

005E

18

REORGNUMLEVELS (INTEGER)

98 108 112 116 120 130 134 138 144 154 158 159 161 163 165 167

0062 006C 0070 0074 0078 0082 0086 008A 0090 009A 009E 009F 00A1 00A3 00A5 00A7

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

STATSLASTTIME (TIMESTAMP) STATSINSERTS (INTEGER) STATSDELETES (INTEGER) STATSMASSDELETE (INTEGER) COPYLASTTIME (TIMESTAMP) COPYUPDATEPAGES (INTEGER) COPYCHANGES (INTEGER) COPYUPDATELRSN (CHAR 6) COPYUPDATETIME (TIMESTAMP) LASTUSED (DATE) IBMREQD (CHAR 1) DBID (SMALLINT) ISOBID (SMALLINT) PSID (SMALLINT) PARTITION (SMALLINT) INSTANCE (SMALLINT)

10 4 4 4 10 4 4 6 10 4 1 2 2 2 2 2

169 177

00A9 00B1

35 36

TOTALENTRIES (BIGINT) DBNAME (VARCHAR 24)

8 26

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

611

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| Table 166. SYSIBM.SYSINDEXSPACESTATS (record OBID X366) (continued). Users can insert, update, and delete | rows in this table. Items in this table are not available until DB2 Version 9 new-function mode. | Dec | offset | | | | |
Hex offset Col 37 38 39 Field NAME (VARCHAR 128) CREATOR (VARCHAR 128) INDEXSPACE (VARCHAR 24) Dec len 26 130 26 Description The name of the index (not null with default). Index creator (not null with default). Index space name (not null with default).

Table 167. SYSIBM.SYSINDEXSTATS (record OBID XAD). Users can insert, update, and delete rows in this table. Dec offset 0 6 10 14 18 20 22 24 26 36 37 Hex offset 0000 0006 000A 000E 0012 0014 0016 0018 001A 0024 0025 0027 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Col Field Flags 00 Length 0051-0539 OBID 00AD ID xx Dec len 6 4 4 4 2 2 2 2 10 1 2 130 130 4 8 Description Record headerrecord length, OBID, associated ID map entry Number of first key column distinct values Number of distinct values of the key Number of active leaf pages in the index partition Number of levels in the partition index tree Not used Not used Percentage of rows in clustering order (not null) Timestamp of RUNSTATS statistics update (not null with default) IBM-required flag (Y/N) Index partition number The SCHEMA of the index Index name Total number of rows in the partition. This is an updatable column. For the index partition, the number of distinct values of the first key column. Users can update this column. (not null with default -1) For the index partition, the number of distinct values of the key. Users can update this column. (not null with default -1) The total number of rows in the partition. Users can update this column. (not null with default -1) For the index partition, the percentage of rows in clustering order. 0 before statistics are gathered. Users can update this column. (not null with default) For internal use only (not null with default for bit data)

FIRSTKEYCARD (INTEGER) FULLKEYCARD (INTEGER) NLEAF (INTEGER) NLEVELS (SMALLINT) IOFACTOR (SMALLINT) PREFETCHFACTOR (SMALLINT) CLUSTERRATIO (SMALLINT) STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) PARTITION (SMALLINT) OWNER (VARCHAR 128) NAME (VARCHAR 128) KEYCOUNT (INTEGER) FIRSTKEYCARDF (FLOAT)

| 39

15

FULLKEYCARDF (FLOAT)

16

KEYCOUNTF (FLOAT)

17

CLUSTERRATIOF (FLOAT)

18

FULLKEYCARDDATA (VARCHAR 1002 1000)

612

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 167. SYSIBM.SYSINDEXSTATS (record OBID XAD) (continued). Users can insert, update, and delete rows in this table. Dec offset Hex offset Col 19 Field DATAREPEATFACTORF (FLOAT) Dec len 8 Description Anticipated number of data pages touched following index key order

| |

Table 168. SYSIBM.SYSINDEXSTATS_HIST (record OBID X026D). Users can insert, update, and delete rows in this table. Dec offset 0 6 10 12 22 Hex offset 0000 0006 000A 000C 0016 0018 0020 1 2 3 4 5 6 7 Col Field Flags 00 Length 003D-013D OBID 026D ID xx Dec len 6 4 2 10 2 130 130 8 Description Record headerrecord length, OBID, associated ID map entry Number of active leaf pages in the index partition (not null with default -1) Number of levels in the partition index tree (not null with default -1) Timestamp of RUNSTATS statistics update (not null with default) Index partition number (not null with default) The SCHEMA of the index (not null with default) Index name (not null with default) For the index partition, the number of distinct values of the first key column. Users can update this column. (not null with default -1) For the index partition, the number of distinct values of the key. Users can update this column. (not null with default -1) The total number of rows in the partition. Users can update this column. (not null with default -1) For the index partition, the percentage of rows in clustering order. 0 before statistics are gathered. Users can update this column. (not null with default) IBM-required flag (Y/N) (not null with default N) Anticipated number of data pages touched following index key order

NLEAF (INTEGER) NLEVELS (SMALLINT) STATSTIME (TIMESTAMP) PARTITION (SMALLINT) OWNER (VARCHAR 128) NAME (VARCHAR 128) FIRSTKEYCARDF (FLOAT)

| |

24 32

FULLKEYCARDF (FLOAT)

KEYCOUNTF (FLOAT)

10

CLUSTERRATIOF (FLOAT)

11

IBMREQD (CHAR 1) DATAREPEATFACTORF (FLOAT)

1 8

| |

12

Table 169. SYSIBM.SYSJARCLASS_SOURCE (record OBID X025D). Users can insert, update, and delete rows in this table. Dec offset 0 Hex offset 0000 Col Field Flags 00 Length A00006 OBID ID 025D xx Dec len 6 Description Record headerrecord length (not including 6byte prefix length), OBID, associated ID map entry

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

613

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 169. SYSIBM.SYSJARCLASS_SOURCE (record OBID X025D) (continued). Users can insert, update, and delete rows in this table. Dec offset 6 Hex offset 0006 Col 1 Field CLASS_SOURCE (BLOB 10M) Dec len 10485766 Description The contents of the classes in the JAR file. (not null with default)

Table 170. SYSIBM.SYSJARCONTENTS (record OBID X0275). Users can insert, update, and delete rows in this table. Dec offset 0 Hex offset 0000 Col Field Flags 00 1 2 3 4 Length 0022-01AD OBID 0275 ID xx Dec len 6 Description Record headerrecord length (not including 6byte prefix length), OBID, associated ID map entry Schema of the JAR file (not null with default) Name of the JAR file. (not null with default) Name of the class in the JAR file. (not null with default) ROWID that is used to support CLOB column CLASS_SOURCE. (not null generated always) CLOB column for the CLOB that contains the contents of the class in the JAR file. (not null with default) IBM-required flag (Y/N) (not null with default N)

6 14 32

0006 000E 0020

JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) CLASS (VARCHAR 384) CLASS_SOURCE_ROWID

130 130 386 17

CLASS_SOURCE (CLOB 10M)

IBMREQD (CHAR 1)

Table 171. SYSIBM.SYSJARDATA (record OBID X0278). Users can insert, update, and delete rows in this table. Dec offset 0 6 Hex offset 0000 0006 1 Col Field Flags 00 Length 104857606 OBID 0278 ID xx Dec len 6 104857606 Description Record headerrecord length, OBID, associated ID map entry The contents of the JAR file. (not null with default)

JAR_DATA (BLOB 100M)

Table 172. SYSIBM.SYSJAROBJECTS (record OBID X027C). Users can insert, update, and delete rows in this table. Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 0038-09B8 OBID 027C ID xx Dec len 6 130 130 130 Description Record headerrecord length, OBID, associated ID map entry The schema of the JAR file. (not null with default) The name of the JAR file. (not null with default) Authorization ID of the owner of the JAR file. (not null with default)

JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) OWNER (VARCHAR 128)

614

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 172. SYSIBM.SYSJAROBJECTS (record OBID X027C) (continued). Users can insert, update, and delete rows in this table. Dec offset Hex offset Col 4 Field JAR_DATA_ROWID (ROWID) Dec len 17 Description ROWID that is used to support BLOB column JAR_DATA. (not null generated always) BLOB column for the BLOB that contains the contents of the JAR file. (not null with default) The URL that represents the path for the source JAR file. (not null with default) Time when the CREATE statement was executed for the database described by this row (not null with default) Time when the latest ALTER statement was executed for the index described by this row. If no ALTER statement was executed, this value is the same as the value of CREATEDTS (not null with default). IBM-required flag (Y/N) (not null with default N) Type of owner (blank/L) (not null with default)

JAR_DATA (BLOB 100M)

6 7

PATH (VARCHAR 2048) CREATEDTS

2050 10

ALTEREDTS

10

9 10

IBMREQD (CHAR 1) OWNERTYPE (CHAR 1)

1 1

Table 173. SYSIBM.SYSJAVAOPTS (record OBID X027F). Users can insert, update, and delete rows in this table. Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 0019-0899 OBID 027F ID xx Dec len 6 130 130 130 Description Record headerrecord length, OBID, associated ID map entry The schema of the JAR file. (not null with default) The name of the JAR file. (not null with default) Schema name that is the qualifier for the procedure name that is specified in the BUILDNAME column. (not null with default) A procedure name that is associated with stored procedure DSNTJSPP. (not null with default) Authorization ID that was used to create the Java routine. (not null with default) Name of the PDS that contains the DBRM for the routine. (not null with default) HPJ compile options that are used when the routine is installed. (not null with default) Bind options that are used when the routine is installed. (not null with default)

JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) BUILDSCHEMA (VARCHAR 128)

BUILDNAME (VARCHAR 128)

130

5 6 7

BUILDOWNER (VARCHAR 128) DBRMLIB (VARCHAR 256) HPJCOMPILE_OPTS (VARCHAR 512) BIND_OPTS (VARCHAR 2048)

130 258 514

2050

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

615

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 173. SYSIBM.SYSJAVAOPTS (record OBID X027F) (continued). Users can insert, update, and delete rows in this table. Dec offset Hex offset Col 9 10 Field POBJECT_LIB (VARCHAR 256) IBMREQD (CHAR 1) Dec len 258 1 Description Name of the PDSE that contains the object code for the routine. (not null with default) IBM-required flag (Y/N) (not null with default N)

| Table 174. SYSIBM.SYSJAVAPATHS (record OBID X030C) | Dec | offset | | 0 | | | 6 | | | | | | | | | | | | | | | | |


Hex offset 0000 0006 1 2 3 4 Col Field Flags 00 Length 0019-0899 OBID 030C ID xx Dec len 6 130 130 130 2 Description Record headerrecord length, OBID, associated ID map entry The schema of the JAR file (not null with default). The name of the JAR file (not null with default). Authorization ID of the owner of the JAR object (not null with default). The ordinal number of the path element within the JARs Java path (not null with default). The pattern for the names of the classes that are to be searched for in this path elements JAR file (not null with default). The schema of this path elements JAR file (not null with default). The name of this path elements JAR file (not null with default). IBM required (not null with default N).

JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) OWNER (VARCHAR 128) ORDINAL (SMALLINT)

PE_CLASS_PATTERN (VARCHAR 2048)

2050

6 7 8

PE_JARSCHEMA (VARCHAR 128) 130 PE_JAR_ID (VARCHAR 128) IBMREQD (CHAR 1) 130 1

Table 175. SYSIBM.SYSKEYCOLUSE (record OBID X0282) Dec offset 0 6 Hex offset 0000 0006 1 2 Col Field Flags 00 Length 0013-0213 OBID 0282 ID xx Dec len 6 130 130 Description Record headerrecord length, OBID, associated ID map entry Name of the constraint. (not null with default) Authorization ID of the owner of the table on which the constraint is defined. (not null with default) Name of the table on which the constraint is defined. (not null with default) Name of the key column. (not null with default) Numeric position in the key of the column. (The first position in the key is 1.) (not null with default)

CONSTNAME (VARCHAR 128) TBCREATOR (VARCHAR 128)

3 4 5

TBNAME (VARCHAR 128) COLNAME (VARCHAR 128) COLSEQ (SMALLINT)

130 130 2

616

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 175. SYSIBM.SYSKEYCOLUSE (record OBID X0282) (continued) Dec offset Hex offset Col 6 Field COLNO (SMALLINT) Dec len 2 Description Numeric position in the table of the column. (The first position in the key is 1.) (not null with default) IBM-required flag (Y/N) (not null with default N)

IBMREQD (CHAR 1)

Table 176. SYSIBM.SYSKEYS (record OBID X1B) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 4 Col Field Flags 00 Length 0012-0192 OBID 001B ID xx Dec len 6 4 4 130 130 130 2 2 1 1 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSKEYS record or SYSINDEXES Backward ring pointerPoints to previous SYSKEYS record or SYSINDEXES Index name Owner of the index Column name of key Column number of row Column number of key. The value is meaningless for extended index. Ordering of column (A/D/R/blank) IBM-required flag (Y/N)

RID (ppppppxx) RID (ppppppxx) IXNAME (VARCHAR 128) IXCREATOR (VARCHAR 128) COLNAME (VARCHAR 128) COLNO (SMALLINT) COLSEQ (SMALLINT) ORDERING (CHAR 1) IBMREQD (CHAR 1)

| | |

5 6 7

| | | | | | | | | | | | | | | | | | | | |

Table 177. SYSIBM.SYSKEYTARGETS (record OBID X314) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 Col Field Flags 00 Length 00BC-07B4 OBID 0314 ID xx Dec len 6 130 130 2 2 Description Record headerrecord length, OBID, associated ID map entry Name of index (not null with default). Qualifier of index (not null with default). Numeric position of the key-target in the index (not null with default). Numeric position of the column in the table for if the expression is a single column (not null with default). Order of the column in the key (A) (not null with default). Schema of the data type (not null with default). Name of data type (not null with default). The internal ID of the built-in or distinct type (not null with default).

IXNAME (VARCHAR 128) IXSCHEMA (VARCHAR 128) KEYSEQ (SMALLINT) COLNO (SMALLINT)

5 6 7 8

ORDERING (CHAR 1) TYPESCHEMA (VARCHAR 128) TYPENAME (VARCHAR 128) DATATYPEID (INTEGER)

1 130 130 4

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

617

DO NOT COPY
| Table 177. SYSIBM.SYSKEYTARGETS (record OBID X314) (continued) | Dec | offset | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dec | offset | | 0 | | | 6 | | |
Hex offset Col 9 Field SOURCETYPEID (INTEGER) Dec len 4

Restricted Materials of IBM Licensed Materials Property of IBM

Description The internal ID of the built-in type upon which the distinct type is sourced (not null with default). Length attribute of the key-target or, in the case of a decimal key-target, its precision (not null with default). Maximum length of the data retrieved from the column (not null with default). Scale of decimal data. Zero (0) if not a decimal key (not null with default). Whether the key can contain null values (N/Y) (not null with default). CCSID of the key (not null with default). Subtype of the data (not null with default) Internal use (not null with default). Timestamp when key-target is created (not null with default). Release when the environment information is created (not null with default). IBM required (Y/N) (not null with default). The text of the scalar expression used to generate the key-target value or the XML pattern used to generate the key-target value (not null with default). Timestamp of RUNSTATS (not null with default -1) Number of distinct values for the key-target (not null with default -1). Second highest key value (not null with default). Second lowest key value (not null with default). Type of statistics gathered (blank/N) (not null with default).

10

LENGTH (INTEGER)

11 12 13 14 15 16 17 18 19 20

LENGTH2 (INTEGER) SCALE (SMALLINT) NULLS (CHAR 1) CCSID (INTEGER) SUBTYPE (CHAR 1) XMLPATTERN_INTERNAL (VARCHAR 512) CREATEDTS (TIMESTAMP) RELCREATED (CHAR 1) IBMREQD (CHAR 1) DERIVED_FROM (VARCHAR 4000)

4 2 1 4 1 514 10 1 1 4002

21 22 23 24 25

STATSTIME (TIMESTAMP) CARDF (FLOAT) HIGH2KEY (VARCHAR 2000) LOW2KEY (VARCHAR 2000) STATS_FORMAT (CHAR 1)

10 8 2002 2002 1

| Table 178. SYSIBM.SYSKEYTARGETS_HIST (record OBID X31A)


Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 00BC-07B4 OBID 031a ID xx Dec len 6 130 130 2 Description Record headerrecord length, OBID, associated ID map entry Name of index (not null with default). Qualifier of index (not null with default). Numeric position of the key-target in the index (not null with default).

IXNAME (VARCHAR 128) IXSCHEMA (VARCHAR 128) KEYSEQ (SMALLINT)

618

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 178. SYSIBM.SYSKEYTARGETS_HIST (record OBID X31A) (continued) Dec offset Hex offset Col 4 5 6 7 Field TYPESCHEMA (VARCHAR 128) TYPENAME (VARCHAR 128) DATATYPEID (INTEGER) SOURCETYPEID (INTEGER) Dec len 130 130 4 4 Description Schema of the data type (not null with default). Name of data type (not null with default). The internal ID of the built-in or distinct type (not null with default). The internal ID of the built-in type upon which the distinct type is sourced (not null with default). Length attribute of the key-target or, in the case of a decimal key-target, its precision (not null with default). Maximum length of the data retrieved from the column (not null with default). Scale of decimal data. Zero (0) if not a decimal key (not null with default). Whether the key can contain null values (N/Y) (not null with default). IBM required (Y/N) (not null with default). Timestamp of RUNSTATS (not null with default -1) Number of distinct values for the key-target (not null with default -1). Second highest key value (not null with default). Second lowest key value (not null with default). Type of statistics gathered (blank/N) (not null with default).

LENGTH (INTEGER)

9 10 11 12 13 14 15 16 17

LENGTH2 (INTEGER) SCALE (SMALLINT) NULLS (CHAR 1) IBMREQD (CHAR 1) STATSTIME (TIMESTAMP) CARDF (FLOAT) HIGH2KEY (VARCHAR 2000) LOW2KEY (VARCHAR 2000) STATS_FORMAT (CHAR 1)

4 2 1 1 10 8 2002 2002 1

Table 179. SYSIBM.SYSKEYTARGETSTATS (record OBID X31E) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 Col Field Flags 00 Length 00BC-07B4 OBID 031E ID xx Dec len 6 130 130 2 2002 2002 2002 2002 Description Record headerrecord length, OBID, associated ID map entry Qualifier of the index (not null with default). Name of index (not null with default). Numeric position of the key-target in the index (not null with default). Highest key value (not null with default). Second highest key value (not null with default). Lowest key value (not null with default). Second lowest key value (not null with default).

IXSCHEMA (VARCHAR 128) IXNAME (VARCHAR 128) KEYSEQ (SMALLINT) HIGHKEY (VARCHAR 2000) HIGH2KEY (VARCHAR 2000) LOWKEY (VARCHAR 2000) LOW2KEY (VARCHAR 2000)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

619

DO NOT COPY
| Table 179. SYSIBM.SYSKEYTARGETSTATS (record OBID X31E) (continued) | Dec | offset | | | | | | | | | | | | | Dec | offset | | 0 | | | 6 | | 16 | 17 | | | | | | | | | | | | | | | | | | | | | | | | | |
Hex offset Col 8 9 10 11 12 13 Field PARTITION (SMALLINT) KEYCARDDATA (VARCHAR 1000) STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) STATS_FORMAT (CHAR 1) CARDF (FLOAT) Dec len 2 1002 10 1 1 8

Restricted Materials of IBM Licensed Materials Property of IBM

Description Table space partition number (not null with default). Internal use only (not null with default for bit data). Timestamp of RUNSTATS (not null with default -1) IBM required (Y/N) (not null with default). Type of statistics gathered (blank/N) (not null with default). Number of distinct values for the key-target (not null with default -1).

| Table 180. SYSIBM.SYSKEYTGTDIST (record OBID X322)


Hex offset 0000 0006 0010 0011 1 2 3 4 5 6 7 8 9 10 11 Col Field Flags 00 Length 00BC-07B4 OBID 0322 ID xx Dec len 6 10 1 130 130 2 2002 1 8 256 2 8 Description Record headerrecord length, OBID, associated ID map entry Timestamp of RUNSTATS (not null with default -1) IBM required (Y/N) (not null with default). Qualifier of index (not null with default). Name of index (not null with default). Numeric position of the key-target in the index (not null with default). Data of frequently occurring value (not null with default for bit data). Type of statistic (C/F/N/H) (not null with default F). Number of distinct values for the key-target (not null with default -1). Keys associated with the statistics (not null with default for bit data). Number of keys associated with the statistics (not null with default 1). Percentage of entries in the index with the value specified in KEYVALUE (not null with default 1). Ordinary sequence number of a quantile in the whole consecutive value range, from low to high (not null with default 1). The low bound for the quantile indicated by QUANTILENO (not null with default for bit data). The high bound for the quantile indicated by QUANTILENO (not null with default for bit data).
LY37-3218-01 Copyright IBM Corp. 1983, 2007

STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) IXSCHEMA (VARCHAR 128) IXNAME (VARCHAR 128) KEYSEQ (SMALLINT) KEYVALUE (VARCHAR 2000) TYPE (CHAR 1) CARDF (FLOAT) KEYGROUPKEYNO (VARCHAR 254) NUMKEYS (SMALLINT) FREQUENCYF (FLOAT)

12

QUANTILENO (SMALLINT)

13

LOWVALUE (VARCHAR 2000)

2002

14

HIGHVALUE (VARCHAR 2000)

2002

620

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 181. SYSIBM.SYSKEYTGTDIST_HIST (record OBID X326) Dec offset 0 6 16 17 Hex offset 0000 0006 0010 0011 1 2 3 4 5 6 7 8 9 10 11 Col Field Flags 00 Length 00BC-07B4 OBID 0326 ID xx Dec len 6 10 1 130 130 2 2002 1 8 256 2 8 Description Record headerrecord length, OBID, associated ID map entry Timestamp of RUNSTATS (not null with default -1) IBM required (Y/N) (not null with default). Qualifier of index (not null with default). Name of index (not null with default). Numeric position of the key-target in the index (not null with default). Data of frequently occurring value (not null with default for bit data). Type of statistic (C/F/N/H) (not null with default F). Number of distinct values for the key-target (not null with default -1). Keys associated with the statistics (not null with default for bit data). Number of keys associated with the statistics (not null with default 1). Percentage of entries in the index with the value specified in KEYVALUE (not null with default 1). Ordinary sequence number of a quantile in the whole consecutive value range, from low to high (not null with default -1). The low bound for the quantile indicated by QUANTILENO (not null with default for bit data). The high bound for the quantile indicated by QUANTILENO (not null with default for bit data).

STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) IXSCHEMA (VARCHAR 128) IXNAME (VARCHAR 128) KEYSEQ (SMALLINT) KEYVALUE (VARCHAR 2000) TYPE (CHAR 1) CARDF (FLOAT) KEYGROUPKEYNO (VARCHAR 254) NUMKEYS (SMALLINT) FREQUENCYF (FLOAT)

12

QUANTILENO (SMALLINT)

13

LOWVALUE (VARCHAR 2000)

2002

14

HIGHVALUE (VARCHAR 2000)

2002

Table 182. SYSIBM.SYSKEYTGTDISTSTATS (record OBID X32A) Dec offset 0 6 16 17 19 Hex offset 0000 0006 0010 0011 0013 1 2 3 4 5 6 Col Field Flags 00 Length 00BC-07B4 OBID 032A ID xx Dec len 6 10 1 2 130 130 2 Description Record headerrecord length, OBID, associated ID map entry Timestamp of RUNSTATS (not null with default) IBM required (Y/N) (not null with default). Table Space partition number (not null with default) Qualifier of index (not null with default). Name of index (not null with default). Numeric position of the key-target in the index (not null with default).
Chapter 27. Catalog formats

STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) PARTITION (SMALLINT) IXSCHEMA (VARCHAR 128) IXNAME (VARCHAR 128) KEYSEQ (SMALLINT)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

621

DO NOT COPY
| Table 182. SYSIBM.SYSKEYTGTDISTSTATS (record OBID X32A) (continued) | Dec | offset | | | | | | | | | | | | | | | | | | | | | | | | |
Hex offset Col 7 8 9 10 11 12 Field KEYVALUE (VARCHAR 2000) TYPE (CHAR 1) CARDF (FLOAT) KEYGROUPKEYNO (VARCHAR 254) NUMKEYS (SMALLINT) FREQUENCYF (FLOAT) Dec len 2002 1 8 256 2 8

Restricted Materials of IBM Licensed Materials Property of IBM

Description Data of frequently occurring value (not null with default for bit data). Type of statistic (C/F/N/H) (not null with default F). Number of distinct values for the key-target (not null with default -1). Keys associated with the statistics (not null with default for bit data). Number of keys associated with the statistics (not null with default 1). Percentage of entries in the index with the value specified in KEYVALUE (not null with default -1). Ordinary sequence number of a quantile in the whole consecutive value range, from low to high (not null with default -1). The low bound for the quantile indicated by QUANTILENO (not null with default for bit data). The high bound for the quantile indicated by QUANTILENO (not null with default for bit data). Internal use only (not null with default for bit data).

13

QUANTILENO (SMALLINT)

14

LOWVALUE (VARCHAR 2000)

2002

15

HIGHVALUE (VARCHAR 2000)

2002

16

KEYCARDDATA (VARCHAR 1000)

1002

Table 183. SYSIBM.SYSLOBSTATS (record OBID X14E) Dec offset 0 6 16 20 24 Hex offset 0000 0006 0010 0014 0018 1 2 3 4 Col Field Flags 00 Length 002C OBID ID 014E xx Dec len 6 10 4 4 3 Description Record headerrecord length, OBID, associated ID map entry Timestamp of RUNSTATS statistics update (not null) Average size of a LOB in the LOB table space (not null) The number of kilobytes of available space in the LOB table space (not null) The percentage of organization in the LOB table space. 100 indicates perfect organization; 100.00 indicates an empty LOB table space; 1 indicates the table space is disorganized; 0.00 indicates that table space is completely disorganized. Database that contains the LOB table space in the NAME field (not null) Name of the LOB table space (not null) IBM-required flag (Y/N)

STATSTIME (TIMESTAMP) AVGSIZE (INTEGER) FREESPACE (INTEGER) ORGRATIO (DECIMAL 5,2)

27 35 43

001B 0023 2B

5 6 7

DBNAME (CHAR 8) NAME (CHAR 8) IBMREQD (CHAR 1)

8 8 1

622

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 184. SYSIBM.SYSLOBSTATS_HIST (record OBID X0286) Dec offset 0 6 16 Hex offset 0000 0006 0010 1 2 Col Field Flags 00 Length 0028 OBID ID 0286 xx Dec len 6 10 4 Description Record headerrecord length, OBID, associated ID map entry Timestamp of RUNSTATS statistics update (not null with default) The number of kilobytes of available space in the LOB table space (not null with default) The percentage of organization in the LOB table space. 100 indicates perfect organization; 100.00 indicates an empty LOB table space; 1 indicates the table space is disorganized; 0.00 indicates that table space is completely disorganized. Database that contains the LOB table space in the NAME field (not null with default) Name of the LOB table space (not null with default) IBM-required flag (Y/N) (not null with default N)

STATSTIME (TIMESTAMP) FREESPACE (INTEGER)

20

0014

ORGRATIO (DECIMAL 5,2)

23

0017

4 5 6

DBNAME (VARCHAR 24) NAME (VARCHAR 24) IBMREQD (CHAR 1)

26 26 1

Table 185. SYSIBM.SYSOBDS (record OBID X02E3) Dec offset 0 6 Hex offset 0000 0006 1 Col Field Flags 00 Length 0020-7650 OBID 02E3 ID xx Dec len 6 130 Description Record headerrecord length, OBID, associated ID map entry Authorization ID under which the table space or index was altered (not null with default) Name of the object that was altered (not null with default) Internal identifier of the database to which the altered object belongs (not null with default) Internal identifier of the table space or index space descriptor (not null with default) Internal identifier of the table or index fan set descriptor (not null with default) Type of object: OBDREC or OBDFS (R/F) (not null with default) Version of the object when it was altered (not null with default) Timestamp when the first new version of the object was created (not null with default) OBDREC or OBDFS image (not null with default for bit data)

CREATOR ( VARCHAR 128)

000E

2 3

NAME (VARCHAR 128) DBID (SMALLINT)

130 2

PSID (SMALLINT)

4 5 6 7

OBID (SMALLINT) OBDTYPE (CHAR 1) VERSION (SMALLINT) CREATEDTS (TIMESTAMP)

2 1 2 10

OBD (VARCHAR 30000)

30002

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

623

DO NOT COPY
Table 185. SYSIBM.SYSOBDS (record OBID X02E3) (continued) Dec offset Hex offset Col 9 Field IBMREQD (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description IBM-required flag (Y/N) (not null with default N)

| Table 186. SYSIBM.SYSOBJROLEDEP (record OBID X352) | Dec | offset | | 0 | | | 6 | | | | | | | | | | | | | | |


Hex offset 0000 0006 1 2 3 4 5 6 Col Field Flags 00 Length 0011-0211 OBID 0358 ID xx Dec len 6 130 1 130 130 130 1 Description Record headerrecord length, OBID, associated ID map entry Authorization ID or role that created the object (not null with default). Type of definer (blank/L) (not null with default). Name of role on which there is a dependency (not null with default). Schema of the dependent object (not null with default). Name of the dependent object (not null with default). Type of the dependent object in DNAME (A/B/D/F/I/J/K/L/M/O/P/Q/R/S/T/ U/V) (not null with default). Release dependency marker (not null with defect).

DEFINER (VARCHAR 128) DEFINERTYPE (CHAR 1) ROLENAME (VARCHAR 128) DSCHEMA (VARCHAR 128) DNAME (VARCHAR 128) DTYPE (CHAR 1)

IBMREQD (CHAR 1)

Table 187. SYSIBM.SYSPACKAGE (record OBID X80) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 8 9 10 11 Col Field Flags 00 Length 007E-0F64 OBID 0080 ID xx Dec len 6 130 130 130 8 130 130 10 10 130 4 4 Description Record headerrecord length, OBID, associated ID map entry Not used, blank Name of the package collection. This field is blank for a trigger package. Name of package Consistency token for the package (not null with default for bit data) Owner of the package Creator of the package Timestamp when the package was created Timestamp when the package was last bound Implicit name for unqualified tables, views, aliases, and indexes Size of the base section of the package Average size of sections of the package

LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) CONTOKEN (CHAR 8) OWNER (VARCHAR 128) CREATOR (VARCHAR 128) TIMESTAMP (TIMESTAMP) BINDTIME (TIMESTAMP) QUALIFIER (VARCHAR 128) PKSIZE (INTEGER) AVGSIZE (INTEGER)

624

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 187. SYSIBM.SYSPACKAGE (record OBID X80) (continued) Dec offset Hex offset Col 12 13 14 15 16 17 18 19 20 21 Field SYSENTRIES (SMALLINT) VALID (CHAR 1) OPERATIVE (CHAR 1) VALIDATE (CHAR 1) ISOLATION (CHAR 1) RELEASE (CHAR 1) EXPLAIN (CHAR 1) QUOTE (CHAR 1) COMMA (CHAR 1) HOSTLANG (CHAR 1) Dec len 2 1 1 1 1 1 1 1 1 1 Description The number of rows in SYSPKSYSTEM for this package Indicates whether package is valid (Y/N/A/H) Indicates whether the package can be allocated (Y/N) Validate option specification (R/B/H) Isolation level when package last bound (R/T/S/U/blank) Release option specification (C/D/blank) Explain option specification (Y/N) SQL string delimiter, quote/apostrophe (Y/N) Comma option specification (Y/N) Host language specification. Blank means DB2 created the package, or the package was bound remotely. (B/C/D/F/P/2/3/4/ blank) Indicates whether the system CCSID for SBCS data was 290 (Katakana) when the program was precompiled. Blank means DB2 created the package. (Y/N/blank) Mixed option at precompile. Blank means DB2 created the package. (Y/N/blank) Decimal 31 option at precompile. Blank means DB2 created the package. (Y/N/blank) Current data option indicates when the package was bound or rebound (Y/N/blank) SQL errors allowed on BIND (C/N) Source Type of the package (C/D/K/L/N/Y) Timestamp that the package was precompiled IBM required flag (Y/N/F/G/H/I) Version identifier or 0000 for a package other than a trigger package. For a trigger package, this field is blank. Source of the package (PDS name of the DBRM or product signature and location or LU name of requester.) Degree option used when the last package was last bound (ANY/1 or blank) (not null with default)

22

CHARSET (CHAR 1)

23 24

MIXED (CHAR 10) DEC31 (CHAR 1)

1 1

25

DEFERPREP (CHAR 1)

26 27 28 29 30

SQLERROR (CHAR 1) REMOTE (CHAR 1) PCTIMESTAMP (TIMESTAMP) IBMREQD (CHAR 1) VERSION (VARCHAR 122)

1 1 10 1 124

31

PDSNAME (VARCHAR 132)

134

32

DEGREE (CHAR 3)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

625

DO NOT COPY
Table 187. SYSIBM.SYSPACKAGE (record OBID X80) (continued) Dec offset Hex offset Col 33 Field Dec len

Restricted Materials of IBM Licensed Materials Property of IBM

Description DB2 data sharing member name of subsystem that performed most recent bind. Blank for non-data-sharing subsystem. (not null with default) Options to handle dynamic and static SQL statements at run time. (B/D/E/H/I/R/blank) (not null with default) Access path is determined again at run time using input variable values (Y/N/A) (not null with default N) PREPARE processing is deferred until OPEN is executed (Y/N/blank) (not null with default) Prepared dynamic SQL statements are kept at the end of a unit of work (Y/N) (not null with default N) SQL path specified when the BIND or REBIND command for the package was executed. Used to resolve user-defined functions, distinct types, and stored procedures. If the PATH option was not specified in the BIND or REBIND command, the column value has length 0. (not null with default) Indicates how the packages was created (N/T/blank) (not null with default) Indicates whether the 3-part name SQL is implemented with DRDA or private protocol (D/P) (not null with default P) Time when the function was resolved. Set by BIND and REBIND, but not AUTOBIND. (not null with default) The value of the OPTHINT bind option. Identifies rows in the authid.PLAN_TABLE to be used as input to the optimizer. (not null with default) The CCSID that corresponds to the encoding scheme, or the CCSID that was specified in the bind option ENCODING. 0 indicates that the CCSID is the EBCDIC default CCSID. (not null with default) Indicates when writes of updated GBP-dependent pages are to be done. This value is applicable only in a data sharing environment. (N/Y/1/blank) (not null with default) The release in which the package was bound or rebound. Blank indicates that the package was bound before DB2 Version 7. (K/blank) (not null with default)
LY37-3218-01 Copyright IBM Corp. 1983, 2007

GROUP_MEMBER (VARCHAR 24) 26

34

DYNAMICRULES (CHAR 1)

| | |

35

REOPTVAR (CHAR 1)

36

DEFERPREPARE (CHAR 1)

37

KEEPDYNAMIC (CHAR 1)

38

PATHSCHEMAS (VARCHAR 2048) 2050

| |

39 40

TYPE (CHAR 1) DBPROTOCOL (CHAR 1)

1 1

41

FUNCTIONTS (TIMESTAMP)

10

42

OPTHINT (VARCHAR 128)

130

43

ENCODING_CCSID (INTEGER)

44

IMMEDWRITE (CHAR 1)

45

RELBOUND (CHAR 1)

626

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 187. SYSIBM.SYSPACKAGE (record OBID X80) (continued) Dec offset Hex offset Col 46 47 Field CATENCODE (CHAR 1) REMARKS (VARCHAR 550) Dec len 1 552 Description Reserved (E/blank) A character string that the user provides with the COMMENT ON statement (not null with default) Type of owner (not null with default) The rounding option used when the package was last bound. Blank indicates that the package was bound before DB2 Version 9. (C/D/F/G/E/H/U/blank) (not null with default) Determines if DB2 should gather location names from SQL statements and create remote packages for the user (A/L/N) (not null with default N)

| | | | | | | | | |

48 49

OWNERTYPE (CHAR 1) ROUNDING (CHAR 1)

1 1

50

DISTRIBUTE (CHAR 1)

Table 188. SYSIBM.SYSPACKAUTH (record OBID X8F) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 Col Field Flags 00 Length 0028-02A8 OBID 008F ID xx Dec len 6 130 130 130 130 130 8 10 1 1 1 1 1 1 1 1 Description Record headerrecord length, OBID, associated ID map entry Name of grantor of the privilege Name of grantee receiving the privilege Not used Name of collection Name of the package (can be *) Not used (not null with default for bit data) Timestamp when the privilege was granted Type of grantee (L/P/blank) Authorization level of the grantor (S/L/D/C/M/P/A or blank) Bind privilege on package (Y/G/blank) Copy privilege on package (Y/G/blank) Execute privilege on package (Y/G/blank) IBM-required flag (Y/N) Reserved (E/blank) Type of grantor (blank/L) (not null with default)

GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128) LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) CONTOKEN (CHAR 8) TIMESTAMP(TIMESTAMP) GRANTEETYPE (CHAR 1) AUTHHOWGOT (CHAR 1) BINDAUTH (CHAR 1) COPYAUTH (CHAR 1) EXECUTEAUTH (CHAR 1) IBMREQD (CHAR 1) CATENCODE (CHAR 1) GRANTORTYPE (CHAR 1)

8 9 10 11 12 13 14

| |

15

Table 189. SYSIBM.SYSPACKDEP (record OBID X89) Dec offset 0 Hex offset 0000 Col Field Flags 00 Length 001D-031D OBID 0089 ID xx Dec len 6 Description Record headerrecord length, OBID, associated ID map entry

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

627

DO NOT COPY
Table 189. SYSIBM.SYSPACKDEP (record OBID X89) (continued) Dec offset 6 Hex offset 0006 Col 1 2 3 4 5 6 7 8 9 Field BNAME (VARCHAR 128) BQUALIFIER (VARCHAR 128) BTYPE (CHAR 1) DLOCATION (VARCHAR 128) DCOLLID (VARCHAR 128) DNAME (VARCHAR 128) DCONTOKEN (CHAR 8) IBMREQD (CHAR 1) DOWNER (VARCHAR 128) DTYPE (CHAR 1) Dec len 130 130 1 130 130 130 8 1 130 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Name of an object the package is dependent upon The value of the column depends on the type of object. Object type (A/E/F/I/M/O/P/Q/R/S/T/ V/X) (not null with default) Not used. Name of the collection (foreign key) Name of the package Consistency token of the package (not null with default for bit data) IBM-required flag (Y/N) Owner of the package (not null with default) Indicates whether the package is a trigger package. Blank means the package is not a trigger package. (N/O/P/T/blank) (not null with default) Type of creator (not null with default) (blank/L)

| | | |

| | | | | |

10

11

DOWNERTYPE (CHAR 1)

Table 190. SYSIBM.SYSPACKLIST (record OBID X7A) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 Col Field Flags 00 Length 0021-01A1 OBID 007A ID xx Dec len 6 26 2 130 130 130 10 1 Description Record headerrecord length, OBID, associated ID map entry Name of the plan The sequence of this entry in the package list Location of package Name of collection Name of the package Timestamp of when row was added IBM-required flag (Y/N)

PLANNAME (VARCHAR 24) SEQNO (SMALLINT) LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) TIMESTAMP(TIMESTAMP) IBMREQD (CHAR 1)

Table 191. SYSIBM.SYSPACKSTMT (record OBID X85) Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 0030-0F9C OBID 0085 ID xx Dec len 6 130 130 130 Description Record headerrecord length, OBID, associated ID map entry Not used, blank Name of collection Name of package

LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128)

628

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 191. SYSIBM.SYSPACKSTMT (record OBID X85) (continued) Dec offset Hex offset Col 4 5 6 7 8 9 10 11 Field CONTOKEN (CHAR 8) SEQNO (SMALLINT) STMTNO (SMALLINT) SECTNO (SMALLINT) BINDERROR (CHAR 1) IBMREQD (CHAR 1) VERSION (VARCHAR 122) STMT (VARCHAR 3500) Dec len 8 2 2 2 1 1 124 3502 Description Consistency token for the package (not null with default for bit data) Sequence number of the record with respect to the package Statement number of SQL statement in the source program Section number of the package containing the SQL statement SQL error at bind time (Y/N) IBM-required flag (Y/N) Version identifier for the package Portion of the text for the SQL statement that fits in a row (not null with default for bit data) Isolation level for the SQL statement (L/R/T/S/U/X/blank) (not null with default) Status of the statement bind (A/B/C/E/F/G/H/I/J/K/L/M/blank) (not null with default) For a static SQL statement, indicates whether the access path for the statement is based on user-specified access path hints. H means access path hints were used. Blank means access path hints were not used, there is no access path for the statement, or the statement is dynamic. (H/blank) (not null with default) Statement number of the statement in the source program for the package (not null with default) Section number for the statement (not null with default) Indicates whether the SQL statement has rows in the PLAN_TABLE. Blank means that the statement was bound before DB2 Version 7. (Y/N/blank) (not null with default) The query number of the SQL statement in the source program. The query number is the value on the QUERYNO clause, if a QUERYNO clause was specified. Otherwise, the query number is the statement number. This value is -1 if the statement was bound before DB2 Version 7. (not null with default -1)

12

ISOLATION (CHAR 1)

13

STATUS (CHAR 1)

14

ACCESSPATH (CHAR 1)

| | | | |

15

STMTNOI (INTEGER)

16 17

SECTNOI (INTEGER) EXPLAINABLE (CHAR 1)

4 1

18

QUERYNO (INTEGER)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

629

DO NOT COPY
Table 192. SYSIBM.SYSPARMS (record OBID X146) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 8 9 10 Col Field Flags 00 Length 003A-03BA OBID 0146 ID xx Dec len 6 130 130 130 130 1 1 130 4 1 2

Restricted Materials of IBM Licensed Materials Property of IBM

Description Record headerrecord length, OBID, associated ID map entry Schema of the routine (not null) Owner of the routine (not null) Name of the routine (not null) Specific name of the routine (not null) Type of routine (F/P/T) (not null) Indicates whether the routine is a cast function (Y/N) (not null) Name of the parameter (not null) Internal identifier of the routine (not null) Type of the parameter (P/O/B/R/C/S/X) (not null) If ROWTYPE=P or O, the position of the parameter in the routine signature. 0 if ROWTYPE=R or C. (not null) Schema of the data type of the parameter (not null) Name of the data type of the parameter (not null) Internal identifier for the data type of the parameter (not null) Internal identifier for the source type of the parameter. 0 for built-in data types. (not null) Whether a locator (Y) or a value (N) is passed to the routine (Y/N) (not null) Whether this is a table parameter (Y/N) (not null) For table parameters, the column number of the table. 0 otherwise. (not null) Maximum length of the data type of the parameter, or precision for a parameter of DECIMAL data type (not null) For a parameter of DECIMAL data type, the scale of the parameter (not null) For a character parameter or a parameter of a distinct type based on a character type, the subtype of the parameter. Blank for built-in data types. (B/S/M/blank) (not null) CCSID of the data type for a character, date, time, timestamp or graphic data type (not null)

SCHEMA (VARCHAR 128) OWNER (VARCHAR 128) NAME (VARCHAR 128) SPECIFICNAME (VARCHAR 128) ROUTINETYPE (CHAR 1) CAST_FUNCTION (CHAR 1) PARMNAME (VARCHAR 128) ROUTINEID (INTEGER) ROWTYPE (CHAR 1) ORDINAL (SMALLINT)

11 12 13 14

TYPESCHEMA (VARCHAR 128) TYPENAME (VARCHAR 128) DATATYPEID (INTEGER) SOURCETYPEID (INTEGER)

130 130 4 4

15 16 17 18

LOCATOR (CHAR 1) TABLE (CHAR 1) TABLE_COLNO (SMALLINT) LENGTH (INTEGER)

1 1 2 4

19 20

SCALE (SMALLINT) SUBTYPE (CHAR 1)

2 1

21

CCSID (INTEGER)

630

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 192. SYSIBM.SYSPARMS (record OBID X146) (continued) Dec offset Hex offset Col 22 Field CAST_FUNCTION_ID (INTEGER) Dec len 4 Description If the function associated with the parameter is sourced on another function or result, the internal identifier of the function used to cast the argument. 0 otherwise. Not applicable for stored procedures. (not null) Encoding schema of the parameter. Blank for parameters with a source type that is not character. (A/E/U/blank) (not null) IBM-required flag (Y/N) (not null with default N) Version identifier for the routine (not null with default) Type of owner (blank/L) (not null with default)

23

ENCODING_SCHEME (CHAR 1)

24

IBMREQD (CHAR 1) VERSION (VARCHAR 122) OWNERTYPE (CHAR 1)

1 124 1

| | | |

25 26

Table 193. SYSIBM.SYSPKSYSTEM (record OBID X98) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 8 Col Field Flags 00 Length 0032-01B2 OBID 0098 ID xx Dec len 6 130 130 130 8 26 1 62 1 Description Record headerrecord length, OBID, associated ID map entry Not used, blank Name of collection Name of the package Consistency token (not null with default for bit data) System connection type System connection type enabled (Y/N) Connection name IBM-required flag (Y/N)

LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) CONTOKEN (CHAR 8) SYSTEM (VARCHAR 14) ENABLE (CHAR 1) CNAME (VARCHAR 60) IBMREQD (CHAR 1)

Table 194. SYSIBM.SYSPLAN (record OBID X22) Dec offset 0 6 10 14 18 Hex offset 0000 0006 000A 000E 0012 1 2 3 4 5 Col Field Flags 00 Length 0070-0DEA OBID 0022 ID xx Dec len 6 4 4 4 26 130 6 1 1 Description Record headerrecord length, OBID, associated ID map entry Child pointerpoints to SYSDBRM record Child pointerPoints to SYSPLANAUTH Child pointerPoints to SYSPLANDEP Plan name Owner of the application plan Not used Indication of time for validity checking (B/R) Isolation level (R/T/S/U)
Chapter 27. Catalog formats

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 24) CREATOR (VARCHAR 128) BINDDATE (CHAR 6) VALIDATE (CHAR 1) ISOLATION (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

631

DO NOT COPY
Table 194. SYSIBM.SYSPLAN (record OBID X22) (continued) Dec offset Hex offset Col 6 7 8 9 10 Field VALID (CHAR 1) OPERATIVE (CHAR 1) BINDTIME (CHAR 8) PLSIZE (INTEGER) IBMREQD (CHAR 1) Dec len 1 1 8 4 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Plan valid (Y/N/A/H) Plan operative (Y/N) Not used Plan size A value of Y indicates that the row came from the basic machine-readable material (MRM) tape. Any other value is a release dependency indicator. See DB2 SQL Reference for a list of release dependency indicators. Average size of non-base segments of plan Acquired at allocation or first use (A/U) Released at deallocation or commit (D/C) Not used (all values are N) Not used (all values are N) Not used (all values are N) Plan bound with EXPLAIN plan option (Y/N) Plan bound with CURRENTDATA (Y/N) Authorization ID of the binder of the plan (not null with default) Implicit name for unqualified tables, views, aliases, and indexes. (not null with default) The size of the cache to be acquired for the plan. (not null with default) The number of package list entries for the plan (not null with default) Plan bound with defer prepare (Y/A or blank) (not null with default) Current server specification (not null with default) The number of SYSPLSYSTEM entries associated with a given plan (not null with default) DEGREE option used when the plan was last bound (ANY/1 or blank) (not null with default) SQLRULES option used when the plan was last bound (D/S or blank) (not null with default) DISCONNECT option used when the plan was last bound (E/A/C or blank) (not null with default)

11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

AVGSIZE (INTEGER) ACQUIRE (CHAR 1) RELEASE (CHAR 1) EXREFERENCE (CHAR 1) EXSTRUCTURE (CHAR 1) EXCOST (CHAR 1) EXPLAN (CHAR 1) EXPREDICATE (CHAR 1) BOUNDBY (VARCHAR 128) QUALIFIER (VARCHAR 128) CACHESIZE (SMALLINT) PLENTRIES (SMALLINT) DEFERPREP (CHAR 1) CURRENTSERVER (VARCHAR 128) SYSENTRIES (SMALLINT)

4 1 1 1 1 1 1 1 130 130 2 2 1 130 2

26

DEGREE (CHAR 3)

27

SQLRULES (CHAR 1)

28

DISCONNECT (CHAR 1)

632

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 194. SYSIBM.SYSPLAN (record OBID X22) (continued) Dec offset Hex offset Col 29 Field Dec len Description DB2 data sharing member name of subsystem that performed most recent bind. Blank for non-data-sharing subsystem. (not null with default) Options to handle dynamic and static SQL statements at run time. (B/D/I/blank) (not null with default) Time when the plan was bound (not null with default) Access path is determined again at run time using input variable values (Y/N/A) (not null with default N) Prepared dynamic SQL statements are kept at the end of a unit of work (Y/N) (not null with default N) SQL path specified on the BIND or REBIND command for this plan. Used to resolve user-defined functions, distinct types, and stored procedures. If PATH was not specified in the BIND or REBIND command, this column value has length 0. (not null with default) Indicates whether 3-part-names are implemented using DRDA or private protocol (D/P) (not null with default P) Time when the function was resolved. Set by BIND and REBIND, but not AUTOBIND. (not null with default) Optimization level when the package was bound (1/-1) (not null with default 1) The CCSID that corresponds to the encoding scheme, or the CCSID that was specified in the bind option ENCODING. 0 indicates that the CCSID is the EBCDIC default CCSID. (not null with default) Indicates when writes of updated GBP-dependent pages are to be done. This value is applicable only in a data sharing environment. (N/Y/1/blank) (not null with default) The release in which the plan was bound or rebound. Blank indicates that the plan was bound before DB2 Version 7. (K/blank) (not null with default) Reserved (E/blank) A character string that the user provides with the COMMENT ON statement (not null with default) Type of creator (blank/L) (not null with default)

GROUP_MEMBER (VARCHAR 24) 26

30

DYNAMICRULES (CHAR 1)

31

BOUNDTS (TIMESTAMP) REOPTVAR (CHAR 1)

10 1

| | |

32

33

KEEPDYNAMIC (CHAR 1)

34

PATHSCHEMAS (VARCHAR 2048) 2050

35

DBPROTOCOL (CHAR 1)

36

FUNCTIONTS (TIMESTAMP)

37 38

OPTHINT (VARCHAR 128) ENCODING_CCSID (INTEGER)

130 4

39

IMMEDWRITE (CHAR 1)

40

RELBOUND (CHAR 1)

41 42

CATENCODE (CHAR 1) REMARKS (VARCHAR 762)

1 764

| |

43

CREATORTYPE (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

633

DO NOT COPY
Table 194. SYSIBM.SYSPLAN (record OBID X22) (continued) Dec offset Hex offset Col 44 Field ROUNDING (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description The ROUNDING option used when the plan was last bound. Blank indicates that the plan was bound before DB2 Version 9. (C/D/F/G/E/H/U/blank) (not null with default)

| | | | |

Table 195. SYSIBM.SYSPLANAUTH (record OBID X25) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 4 5 6 7 8 9 10 11 12 Col Field Flags 00 Length 003B-013B OBID 0025 ID xx Dec len 6 4 4 130 130 26 12 6 8 1 1 1 1 1 10 1 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSPLANAUTH record or SYSPLAN Backward ring pointerPoints to previous SYSPLANAUTH record or SYSPLAN Grantor of privilege Grantee receiving privilege Plan name Time of grantinternal format (not null for bit data) Not used Not used Type of grantee (blank/P/L) (not null with default) Blank or (S/D/C/M/L/P/A) Privilege (G/Y) or blank Privilege (G/Y) or blank IBM-required flag (Y/N) Time when the GRANT statement was executed (not null with default) Type of grantor (not null with default)

RID (ppppppxx) RID (ppppppxx) GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128) NAME (VARCHAR 24) TIMESTAMP (CHAR 12) DATEGRANTED (CHAR 6) TIMEGRANTED (CHAR 8) GRANTEETYPE (CHAR 1) AUTHHOWGOT (CHAR 1) BINDAUTH (CHAR 1) EXECUTEAUTH (CHAR 1) IBMREQD (CHAR 1) GRANTEDTS (TIMESTAMP) GRANTORTYPE (CHAR 1)

13

Table 196. SYSIBM.SYSPLANDEP (record OBID X1D) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 Col Field Flags 00 Length 0014-0114 OBID 001D ID xx Dec len 6 4 4 130 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSPLANDEP record or SYSPLAN Backward ring pointerPoints to previous SYSPLANDEP record or SYSPLAN Name of the object on which the plan is dependent

RID (ppppppxx) RID (ppppppxx) BNAME (VARCHAR 128)

634

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 196. SYSIBM.SYSPLANDEP (record OBID X1D) (continued) Dec offset Hex offset Col 2 Field BCREATOR (VARCHAR 128) Dec len 130 Description Name of database if BNAME is a table space; otherwise, it is the SCHEMA of BNAME. If BNAME is a role, the value is blank. Object type (A/E/F/I/M/O/P/Q/R/S/ T/V) Name of the plan IBM-required flag (Y/N)

| | | | | |

3 4 5

BTYPE (CHAR 1) DNAME (VARCHAR 24) IBMREQD (CHAR 1)

1 26 1

Table 197. SYSIBM.SYSPLSYSTEM (record OBID X94) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 Col Field Flags 00 Length 0020 OBID ID 0094 xx Dec len 6 26 26 1 62 1 Description Record headerrecord length, OBID, associated ID map entry Name of the plan (foreign key) System connection type System connection type is enabled (Y/N) Connection name IBM-required flag (Y/N)

NAME (VARCHAR 24) SYSTEM (VARCHAR 24) ENABLE (CHAR 1) CNAME (VARCHAR 60) IBMREQD (CHAR 1)

Table 198. SYSIBM.SYSRELS (record OBID X16) Dec offset 0 6 10 14 18 Hex offset 0000 0006 000A 000E 0012 0016 1 2 3 4 Col Field Flags 00 Length 0028-03A8 OBID 0016 ID xx Dec len 6 4 4 4 4 130 130 130 130 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSRELS record or SYSTABLES Backward ring pointerPoints to previous SYSRELS record or SYSTABLES Not used Child pointerPoints to SYSFOREIGNKEYS The SCHEMA of the dependent table of the referential constraint Name of the dependent table of the relationship Name of the relationship Name of the parent table of the relationship The SCHEMA of the parent table Number of columns in the foreign key Delete rule of the link (C/R/N/A) IBM-required flag (Y/N)

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) CREATOR (VARCHAR 128) TBNAME (VARCHAR 128) RELNAME (VARCHAR 128) REFTBNAME (VARCHAR 128)

| |

22

5 6 7 8

REFTBCREATOR (VARCHAR 128) 130 COLCOUNT (SMALLINT) DELETERULE (CHAR 1) IBMREQD (CHAR 1) 2 1 1

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

635

DO NOT COPY
Table 198. SYSIBM.SYSRELS (record OBID X16) (continued) Dec offset Hex offset Col 9 Field RELOBID1 (SMALLINT) Dec len 2

Restricted Materials of IBM Licensed Materials Property of IBM

Description 0 or OBID of relationship with respect to database containing parent table (not null with default) 0 or OBID of relationship with respect to database containing dependent table (not null with default) Date and time relationship was defined (not null with default) The SCHEMA of the unique index used for a parent key (not null with default) Name of the unique index used for a parent key (not null with default) Whether the relationship is enforced (Y/N) (not null with default Y) When to check the existing relationships. For ENFORCED=Y, this value is I (immediately). For ENFORCED=N, this value is N (never). (I/N) (not null with default) Release of DB2 when object was created (not null with default)

10

RELOBID2 (SMALLINT)

11

TIMESTAMP (TIMESTAMP) IXOWNER (VARCHAR 128) IXNAME (VARCHAR 128) ENFORCED (CHAR 1)

10 130 130 1

| |

12 13 14 15

CHECKEXISTINGDATA (CHAR 1) 1

| |

RELCREATED (CHAR 1)

Table 199. SYSIBM.SYSRESAUTH (record OBID X2C) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 8 9 10 11 12 13 Col Field Flags 00 Length 0037-0237 OBID 002C ID xx Dec len 6 130 130 130 130 1 1 1 12 6 8 1 1 10 Description Record headerrecord length, OBID, associated ID map entry Grantor of privilege Grantee of the privilege Name qualifier, PACKADM, schema name for a UDT, or blank Buffer pool, storage group, table space, collection name, or * Type of grantee (blank/P/L) (not null with default) Blank or (S/D/C/M/L/P/A) Object type (B/C/D/R/S) Time of grantinternal format (not null for bit data) Not used Not used Privilege (G/Y) IBM-required flag (Y/N/I) Time when the GRANT statement was executed (not null with default)

GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128) QUALIFIER (VARCHAR 128) NAME (VARCHAR 128) GRANTEETYPE (CHAR 1) AUTHHOWGOT (CHAR 1) OBTYPE (CHAR 1) TIMESTAMP (CHAR 12) DATEGRANTED (CHAR 6) TIMEGRANTED (CHAR 8) USEAUTH (CHAR 1) IBMREQD (CHAR 1) GRANTEDTS (TIMESTAMP)

636

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 199. SYSIBM.SYSRESAUTH (record OBID X2C) (continued) Dec offset Hex offset Col 14 Field GRANTORTYPE (CHAR 1) Dec len 1 Description Type of grantor (not null with default)

| | | | | | | | | | | | | | | | | | | | |

Table 200. SYSIBM.SYSROLES (record OBID X355) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 Col Field Flags 00 Length 00BC-07B4 OBID 0355 ID xx Dec len 6 130 130 1 10 1 764 1 Description Record headerrecord length, OBID, associated ID map entry Name of the role (not null with default). Authorization ID or role that defined this role (not null with default). Type of definer (blank/L) (not null with default). Time when the role was created (not null with default). Release of DB2 that was used to create the role (not null with default). Comments (not null with default) Release dependency marker (not null with defect).

NAME (VARCHAR 128) DEFINER (VARCHAR 128) DEFINERTYPE (CHAR 1) CREATEDTS (TIMESTAMP) RELCREATED (CHAR 1) REMARKS (VARCHAR 762) IBMREQD (CHAR 1)

Table 201. SYSIBM.SYSROUTINEAUTH (record OBID X13E) Dec offset 0 6 Hex offset 0000 0006 1 2 Col Field Flags 00 Length 0027-02A7 OBID 013E ID xx Dec len 6 130 130 Description Record headerrecord length, OBID, associated ID map entry Authorization ID of the user who granted the privilege (not null) Authorization ID of the user who holds the privilege, or the name of the plan or package that uses the privilege (not null) Schema of the routine (not null) Specific name of the routine (not null) Time when the GRANT statement was executed (not null) Type or routine (F/P) (not null) Type of grantee (L/P/R/blank) (not null) Authorization level of the user from whom the privileges were received, or an indication that the grantor holds the privilege on all schemas. Blank if not applicable. (A/L/S/blank) (not null) Whether GRANTEE has the execute privilege on the routine with the GRANT option (Y/G) (not null)

GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128)

3 4 5 6

SCHEMA (VARCHAR 128) SPECIFICNAME (VARCHAR 128) GRANTEDTS (TIMESTAMP) ROUTINETYPE (CHAR 1) GRANTEETYPE (CHAR 1) AUTHHOWGOT (CHAR 1)

130 130 10 1 1 1

7 8

EXECUTEAUTH (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

637

DO NOT COPY
Table 201. SYSIBM.SYSROUTINEAUTH (record OBID X13E) (continued) Dec offset Hex offset Col 10 11 Field COLLID (CHAR 128) CONTOKEN (CHAR 8) Dec len 130 8

Restricted Materials of IBM Licensed Materials Property of IBM

Description Collection name, if GRANTEE is a package. Blank otherwise. (not null) If GRANTEE is a package, the consistency token of the associated DBRM. Blank otherwise. (not null with default for bit data) IBM-required flag (I) (not null with default I) Type of grantor (blank/L) (not null with default)

12

IBMREQD (CHAR 1) GRANTORTYPE (CHAR 1)

1 1

| |

13

Table 202. SYSIBM.SYSROUTINES (record OBID X121) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 Col Field Flags 00 Length 00ED-1AF5 OBID 0121 ID xx Dec len 6 130 130 130 1 130 Description Record headerrecord length, OBID, associated ID map entry Schema of the routine (not null) Owner of the routine (not null) Name of the routine (not null) Type of routine (F/P/T) (not null) Primary authorization ID of the user who created the user-defined function or procedure (not null) Specific name of the routine (not null) Internal identifier of the routine (not null) Internal identifier of the result data type of the function. Set to -2 for table functions (not null). Origin of the routine (E/N/Q/S/U) (not null) Type of function. Blank for a stored procedure. (S/C/T/blank) (not null) Number of parameters for the routine (not null) Language in which the routine is written. Blank if the function is not an external user-defined function or stored procedure. (ASSEMBLE/PLI/COBOL/C/COMPJAVA /JAVA/REXX/SQL/blank) (not null) Name of the package collection to be used when the routine executes. Blank if the package collection is the same as the package collection of the program that invokes the routine. (not null)

SCHEMA (VARCHAR 128) OWNER (VARCHAR 128) NAME (VARCHAR 128) ROUTINETYPE (CHAR 1) CREATEDBY (VARCHAR 128)

| | |

6 7 8

SPECIFICNAME (VARCHAR 128) ROUTINEID (INTEGER) RETURN_TYPE (INTEGER)

130 4 4

| |

9 10 11 12

ORIGIN (CHAR 1) FUNCTION_TYPE (CHAR 1) PARM_COUNT (SMALLINT) LANGUAGE (VARCHAR 24)

1 1 2 26

13

COLLID (VARCHAR 128)

130

638

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 202. SYSIBM.SYSROUTINES (record OBID X121) (continued) Dec offset Hex offset Col 14 Field SOURCESCHEMA (VARCHAR 128) Dec len 130 Description If this routine is a user-defined function sourced on another function (ORIGIN=U and ROUTINETYPE=F), the schema of the source user-defined function. SYSIBM if the source function is a built-in function. Blank otherwise. (not null) If this routine is a user-defined function sourced on another function (ORIGIN=U and ROUTINETYPE=F), the specific name of the source function. Blank otherwise. (not null) Indicates whether the result of an external user-defined function is deterministic. Blank if the routine is not a user-defined function. (Y/N/blank) (not null) Indicates whether the number of invocations of the function is important. Blank if the routine is not an external user-defined function. (E/N/blank) (not null) Indicates whether an external function should be called if any of the parameter values are null. Blank if the routine is not an external user-defined function and not a stored procedure. (Y/N/blank) (not null) Indicates whether the routine is a cast function (Y/N) (not null) Indicates whether an external function has a scratchpad. Blank if the routine is not an external user-defined function. (Y/N/blank) (not null) For an external function with a scratchpad, the length of the scratchpad. 0 otherwise. (not null) Indicates whether a final call is made to an external function. Blank if the routine is not an external user-defined function. (Y/N/blank) (not null) Indicates whether an external function can be invoked by parallel tasks. Blank if the routine is not an external user-defined function. (A/D/blank) (not null) Indicates the convention used to pass parameters to an external function or stored procedure (D/G/N) (not null) Indicates the routine runs separately from DB2s address space. Not applicable for stored procedures. (Y/blank) (not null with default Y)

15

SOURCESPECIFIC (VARCHAR 128)

130

16

DETERMINISTIC (CHAR 1)

17

EXTERNAL_ACTION (CHAR 1)

18

NULL_CALL (CHAR 1)

29 20

CAST_FUNCTION (CHAR 1) SCRATCHPAD (CHAR 1)

1 1

21

SCRATCHPAD_LENGTH (INTEGER) FINAL_CALL (CHAR 1)

22

23

PARALLEL (CHAR 1)

24

PARAMETER_STYLE (CHAR 1)

| | | |

25

FENCED (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

639

DO NOT COPY
Table 202. SYSIBM.SYSROUTINES (record OBID X121) (continued) Dec offset Hex offset Col 26 Field SQL_DATA_ACCESS (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Indicates the types of SQL statements permitted in an external function or stored procedure. Blank if the routine is not an external function or stored procedure. (N/C/R/M/blank) (not null) Indicates whether the DBINFO parameter is passed to an external function. Blank if the routine is a stored procedure. (N/Y/blank) (not null) Indicates whether the routine is deleted from memory when the routine ends. Blank if the routine is not an external function or stored procedure. (Y/N/blank) (not null) Number of CPU service units permitted for any single invocation of this routine. 0 indicates no limit. (not null) Name of the WLM environment to be used to execute this routine. Blank for a stored procedure that runs in the DB2-established stored procedures address space. Stored procedures that contain a blank value are not supported and cannot be run. (not null). When ORIGIN = N this is the name of the WLM ENVIRONMENT FOR DEBUG MODE to be used when debugging the native SQL procedure. Indicates whether, for nested stored procedure or user-defined function calls, the address space of the calling routine is used to run the nested routine. Blank if WLM_ENVIRONMENT is blank. (Y/N/blank) (not null) Indicates whether the routine runs as a main routine or a subroutine (M/S) (not null) Authorization ID used if the routine accesses resources protected by an external security product (D/U/C) (not null) Indicates whether DB2 commits all transactions executed by a stored procedure when the SQLCODE from the SQL CALL statement is zero or positive. Blank means the routine is not a stored procedure. (N/Y/blank) (not null) Maximum number of result sets that a stored procedure can return. 0 means no result sets are returned or the routine is not a stored procedure. (not null)

27

DBINFO (CHAR 1)

28

STAYRESIDENT (CHAR 1)

29

ASUTIME (INTEGER)

| | | | | | | | | |

30

WLM_ENVIRONMENT (VARCHAR 96)

98

31

WLM_ENV_FOR_NESTED (CHAR 1 1)

32

PROGRAM_TYPE (CHAR 1)

33

EXTERNAL_SECURITY (CHAR 1)

34

COMMIT_ON_RETURN (CHAR 1) 1

35

RESULT_SETS (SMALLINT)

640

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 202. SYSIBM.SYSROUTINES (record OBID X121) (continued) Dec offset Hex offset Col 36 Field LOBCOLUMNS (SMALLINT) Dec len 2 Description For a user-defined function, the number of LOB columns in the parameter list. 0 means there are no LOB columns in the parameter list, or the routine is a stored procedure. (not null) Time when the CREATE statement for this routine was executed (not null) Time when the most recent ALTER statement for this routine was executed (not null) IBM-required flag (Y/N) (not null with default N) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null)

37 38

CREATEDTS (TIMESTAMP) ALTEREDTS (TIMESTAMP)

10 10

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

IBMREQD (CHAR 1) PARM1 (SMALLINT) PARM2 (SMALLINT) PARM3 (SMALLINT) PARM4 (SMALLINT) PARM5 (SMALLINT) PARM6 (SMALLINT) PARM7 (SMALLINT) PARM8 (SMALLINT) PARM9 (SMALLINT) PARM10 (SMALLINT) PARM11 (SMALLINT) PARM12 (SMALLINT) PARM13 (SMALLINT) PARM14 (SMALLINT) PARM15 (SMALLINT) PARM16 (SMALLINT) PARM17 (SMALLINT)

1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

641

DO NOT COPY
Table 202. SYSIBM.SYSROUTINES (record OBID X121) (continued) Dec offset Hex offset Col 57 58 59 60 61 62 63 64 65 66 67 68 69 70 Field PARM18 (SMALLINT) PARM19 (SMALLINT) PARM20 (SMALLINT) PARM21 (SMALLINT) PARM22 (SMALLINT) PARM23 (SMALLINT) PARM24 (SMALLINT) PARM25 (SMALLINT) PARM26 (SMALLINT) PARM27 (SMALLINT) PARM28 (SMALLINT) PARM29 (SMALLINT) PARM30 (SMALLINT) IOS_PER_INVOC (FLOAT) Dec len 2 2 2 2 2 2 2 2 2 2 2 2 2 8

Restricted Materials of IBM Licensed Materials Property of IBM

Description Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Parameter type. Used for function resolution. (not null) Estimated number of I/O operations for each invocation. -1 if the number is not known. (not null with default -1) Estimated number of instructions for each invocation. -1 if the number is not known. (not null with default -1) Estimated number of I/O operations performed the first or last time the function is invoked. -1 if the number is not known. (not null with default -1) Estimated number of instructions executed the first or last time the function is invoked. -1 if the number is not known. (not null with default -1) Estimated number of rows returned by a table function. -1 if the number is not known or the function is not a table function. (not null with default -1) For a table function, the number of columns in the result table. -1 if the number is not known or the function is not a table function. (not null with default -1)
LY37-3218-01 Copyright IBM Corp. 1983, 2007

71

INSTS_PER_INVOC (FLOAT)

72

INITIAL_IOS (FLOAT)

73

INITIAL_INSTS (FLOAT)

74

CARDINALITY (FLOAT)

75

RESULT_COLS (SMALLINT)

642

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 202. SYSIBM.SYSROUTINES (record OBID X121) (continued) Dec offset Hex offset Col 76 Field EXTERNAL_NAME (VARCHAR 762) Dec len 764 Description Member name of the z/OS load module that DB2 loads to execute the routine. Blank if the function is not an external user-defined function or stored procedure. (not null) Concatenation of up to 30 parameter types in internal format. Used in function selection and to guarantee uniqueness. A length of 0 means the routine takes no parameters. (not null with default for bit data) Language Environment runtime options to be used when this routine runs. A length of 0 means the default Language Environment runtime options are used. (not null) Character string provided by the user with the COMMENT ON statement (not null) For an interpreted Java routine, the signature of the JAR file. (not null with default) For an interpreted Java routine, the name of the class in the JAR file. (not null with default) For an interpreted Java routine, the schema of the JAR file. (not null with default) For an interpreted Java routine, the name of the JAR file. (not null with default) Indicates whether special registers in routines inherit their values from the caller or use the default values. (I/D) (not null with default) The number of dependent materialized query tables. This value is 0 if the row does not describe a user-defined table function, or if no materialized query tables are defined on the table function (not null with default) The number of failures for this routine before the routine is stopped. This value is 0 if the routine is never stopped because of failures. If this value is -1, DB2 subsystem parameter STORMXAB determines the number of failures before the routine is stopped (not null with default -1)

77

PARM_SIGNATURE (VARCHAR 150)

152

78

RUNOPTS (VARCHAR 762)

764

79 80

REMARKS (VARCHAR 762) JAVA_SIGNATURE (VARCHAR 3072) CLASS (VARCHAR 384)

764 3074

81

386

82 83 84

JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) SPECIAL_REGS (CHAR 1)

130 130 1

85

NUM_DEP_MQTS (SMALLINT)

86

MAX_FAILURE (SMALLINT)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

643

DO NOT COPY
Table 202. SYSIBM.SYSROUTINES (record OBID X121) (continued) Dec offset Hex offset Col 87 Field PARAMETER_CCSID (INTEGER) Dec len 4

Restricted Materials of IBM Licensed Materials Property of IBM

Description A CCSID that specifies how character, graphic, date, time, and timestamp data types for system generated parameters for the routine, such as message tokens and DBINFO values, should be passed. This value is dependent on the encoding scheme specified implicitly or explicitly in the PARAMETER CCSID clause and the CCSIDs defined for that encoding scheme during installation. A value of 0 means that the CCSID that is used is a CCSID for the encoding scheme of other string or datetime parameters in the parameter list or RETURNS clause, or the value in the DEF ENCODING SCHEME field on installation panel DSNTIPF (not null with default) Version identifier for this routine (not null with default). Consistency token for the routine (not null with default for bit data). Identifies the active version of the routine (Y/N/blank) (not null with default). Identifies whether or not the routine is enabled for debugging (1/0/N/blank) (not null with default). Internal identifier of the environment (not null with default). ID to support the LOB columns for source text (not null generated always) The source text of the CREATE statement or ALTER statement with body for the routine (not null with default)

| | | | | | | | | | | | | | | | | | | | | | | | | | | |

88 89 90 91

VERSION (VARCHAR 122) CONTOKEN (CHAR 8) ACTIVE (CHAR 1) DEBUG_MODE (CHAR 1)

124 8 1 1

92 93 94

TEXT_ENVID (INTEGER) TEXT_ROWID (ROWID) TEXT (CLOB 2M)

95 96

OWNER_TYPE (CHAR 1) PARAMETER_VARCHARFORM (INTEGER)

1 4

Type of the owner (not null with default). A non-zero value indicates the actual representation, to a LANGUAGE C routine, of any varying length string parameter that appear in the routines parameter list or RETURNS clauses (not null with default). Release of DB2 when object was created (not null with default) UNICODE RELDEF(MRIMKK) DESC(PACKAGE PATH value from CREATE ALTER PROCEDURE statement (not null with default)

97 98

RELCREATED (CHAR 1)

PACKAGEPATH (VARCHAR 4096) 4096

| Table 203. SYSIBM.SYSROUTINESTEXT (record OBID X0338) | Dec | Offset | | 0 | |


Hex Offset 0000 Col Field Flags 00 Length 0026-0BA1 OBID 0338 ID xx Dec Len 6 Description Record headerrecord length, OBID, associated ID map entry
LY37-3218-01 Copyright IBM Corp. 1983, 2007

644

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | |

Table 203. SYSIBM.SYSROUTINESTEXT (record OBID X0338) (continued) Dec Offset 6 Hex Offset 0006 Col 1 Field TEXT (CLOB 2M) Dec Len Description The source text of the CREATE PROCEDURE statement for the routine, or the source text of the ALTER PROCEDURE statement for the routine if the routine is for a native SQL procedure, and the SQL procedure body is included in the ALTER statement (not null with default).

Table 204. SYSIBM.SYSROUTINES_OPTS (record OBID X0261). Users can insert, update, and delete rows in this table. Dec Offset 0 6 Hex Offset 0000 0006 1 2 3 4 5 Col Field Flags 00 Length 0026-0BA1 OBID 0261 ID xx Dec Len 6 130 130 4 3 1 Description Record headerrecord length, OBID, associated ID map entry The schema of the routine. (not null with default) The name of the routine. (not null with default) The date when the routine was built. (not null with default) The time when the routine was built. (not null with default) Whether this version of the routine options is the current version. (C/blank) (not null with default C) Schema name that is the qualifier for the routine name that is specified in the BUILDNAME column. (not null with default) A procedure name that is associated with stored procedure DSNTPSMP. (not null with default) Authorization ID that was used to create the routine. (not null with default) IBM-required flag (Y/N) (not null with default N) Precompiler options used to build the routine. (not null with default) Compiler options used to build the routine. (not null with default) Prelink-edit options used to build the routine. (not null with default) Link-edit options used to build the routine. (not null with default) Bind options used to build the routine. (not null with default)

SCHEMA (VARCHAR 128) ROUTINENAME (VARCHAR 128) BUILDDATE (DATE) BUILDTIME (TIME) BUILDSTATUS (CHAR 1)

BUILDSCHEMA (VARCHAR 128)

130

BUILDNAME (VARCHAR 128)

130

8 9 10 11 12 13 14

BUILDOWNER (VARCHAR 128) IBMREQD (CHAR 1) PRECOMPILE_OPTS (VARCHAR 765) COMPILE_OPTS (VARCHAR 765) PRELINK_OPTS (VARCHAR 765) LINK_OPTS (VARCHAR 765) BIND_OPTS (VARCHAR 3072)

130 1 767 767 767 767 3074

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

645

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 204. SYSIBM.SYSROUTINES_OPTS (record OBID X0261) (continued). Users can insert, update, and delete rows in this table. Dec Offset Hex Offset Col 15 Field SOURCEDSN (VARCHAR 765) Dec Len 767 Description If the source code that is input to DSNTPSMP is stored in a data set, the name of that data set. (not null with default) Whether debugging is on (1) or off (0) for this routine (not null with default 0)

16

DEBUG_MODE (CHAR 1)

Table 205. SYSIBM.SYSROUTINES_SRC (record OBID X0264). Users can insert, update, and delete rows in this table. Dec Offset 0 6 Hex Offset 0000 0006 1 2 3 4 5 Col Field Flags 00 Length 0019-1E65 OBID 0264 ID xx Dec Len 6 130 130 4 3 1 Description Record headerrecord length, OBID, associated ID map entry The schema of the routine. (not null with default) The name of the routine. (not null with default) The date when the routine was built. (not null with default) The time when the routine was built. (not null with default) Whether this version of the routine options is the current version. (C/blank) (not null with default C) Number of the SQL statement piece in CREATESTMT. SEQNO is between 1 and CEILING(n/3800), where n is the number of bytes in the source for the routine. IBM-required flag (Y/N). (not null with default N) All or part of an SQL routine source statement. If the source statement is more than 3800 bytes, this field contains the portion of the source statement indicated by SEQNO. (not null with default)

SCHEMA (VARCHAR 128) ROUTINENAME (VARCHAR 128) BUILDDATE (DATE) BUILDTIME (TIME) BUILDSTATUS (CHAR 1)

SEQNO (INTEGER)

7 8

IBMREQD (CHAR 1) CREATESTMT (VARCHAR 7500)

1 7502

Table 206. SYSIBM.SYSSCHEMAAUTH (record OBID X139) Dec offset 0 6 Hex offset 0000 0006 1 2 Col Field Flags 00 Length 001B-019B OBID 0139 ID xx Dec len 6 130 130 Description Record headerrecord length, OBID, associated ID map entry Authorization ID of the user who granted the privileges, or SYSADM (not null) Authorization ID of the user who holds the privileges, or PUBLIC (not null)

GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128)

646

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 206. SYSIBM.SYSSCHEMAAUTH (record OBID X139) (continued) Dec offset Hex offset Col 3 4 Field SCHEMANAME (VARCHAR 128) AUTHHOWGOT (CHAR 1) Dec len 130 1 Description Name of the schema, or * for all schemas (not null) Authorization level of the user from whom the privileges were received, or an indication that the grantor holds the privilege on all schemas. (A/L/S) (not null) Indicates whether the grantee holds the CREATEIN privilege on the schema. Blank means the grantee does not hold the privilege. (G/Y/blank) (not null) Indicates whether the grantee holds the ALTERIN privilege on the schema. Blank means the grantee does not hold the privilege. (G/Y/blank) (not null) Indicates whether the grantee holds the DROPIN privilege on the schema. Blank means the grantee does not hold the privilege. (G/Y/blank) (not null) Time when the GRANT statement was executed (not null) IBM-required flag (I) (not null with default I) Type of grantee (blank/L) (not null with default) Type of grantor (blank/L) (not null with default)

CREATEINAUTH (CHAR 1)

ALTERINAUTH (CHAR 1)

DROPINAUTH (CHAR 1)

8 9

GRANTEDTS (TIMESTAMP) IBMREQD (CHAR 1) GRANTEETYPE (CHAR 1) GRANTORTYPE (CHAR 1)

10 1 1 1

| | | |

10 11

Table 207. SYSIBM.SYSSEQUENCEAUTH (record OBID X2E8) Dec offset 0 6 14 Hex offset 0000 0006 000E 1 2 Col Field Flags 00 Length 0039-00CB OBID 02E8 ID xx Dec len 6 8 8 Description Record headerrecord length, OBID, associated ID map entry Authorization ID of the user that granted the privileges (not null with default) Authorization ID of the user or group that holds the privileges, or the name of an application plan or package that uses the privileges. PUBLIC for GRANT TO PUBLIC (not null with default) Schema of the sequence (not null with default) Name of the sequence (not null with default) 1 1 Type of grantee (blank/L/P/R) (not null with default) Authorization level of the user from whom the privileges were received (blank/L/S) (not null with default)

GRANTOR (CHAR 8) GRANTEE (CHAR 8)

22 30

0016 001E

3 4 5 6

SCHEMA (CHAR 8) NAME (VARCHAR 128) GRANTEETYPE (CHAR 1) AUTHHOWGOT (CHAR 1)

| |

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

647

DO NOT COPY
Table 207. SYSIBM.SYSSEQUENCEAUTH (record OBID X2E8) (continued) Dec offset Hex offset Col 7 Field ALTERAUTH (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Whether the grantee holds the ALTER privilege on the sequence (blank/G/Y) (not null with default) Whether the grantee holds the USAGE privilege on the sequence (blank/G/Y) (not null with default) The collection name, if the grantee is a package. A string of length 0 otherwise (not null with default)

USEAUTH (CHAR 1)

COLLID (VARCHAR 128)

10

CONTOKEN (CHAR 8)

The consistency token of the DBRM for the package, if the grantee is a package. Blank otherwise (not null with default for bit data) Time when the GRANT statement was executed (not null with default) IBM-required flag (N/Y) (not null with default) Type of grantor (blank/L) (not null with default)

11 12

GRANTEDTS (TIMESTAMP) IBMREQD (CHAR 1) GRANTORTYPE (CHAR 1)

10 1 1

| |

13

Table 208. SYSIBM.SYSSEQUENCES (record OBID X174) Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 007C-0596 OBID 0174 ID xx Dec len 6 130 130 130 1 4 130 Description Record headerrecord length, OBID, associated ID map entry Schema of the sequence (not null with default) Owner of the sequence (not null with default) Name of the sequence (not null with default) Type of entry (I/S/X) (not null with default) Internal identifier of the sequence (not null with default) Primary authorization ID of the user who created the sequence, or identity column (not null with default) Increment value within INTEGER scope (positive or negative) (not null with default) Start value (not null with default) Maximum value allowed for the identity column (not null with default) Minimum value allowed for the identity column (not null with default)

SCHEMA (VARCHAR 128) OWNER (VARCHAR 128) NAME (VARCHAR 128) SEQTYPE (CHAR 1) SEQUENCEID (INTEGER) CREATEDBY (VARCHAR 128)

| |

4 5

| | |

7 8 9 10

INCREMENT (DECIMAL 31,0) START (DECIMAL 31,0) MAXVALUE (DECIMAL 31,0) MINVALUE (DECIMAL 31,0)

16 16 16 16

648

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 208. SYSIBM.SYSSEQUENCES (record OBID X174) (continued) Dec offset Hex offset Col 11 Field CYCLE (CHAR 1) Dec len 1 Description Whether cycling occurs when an end of the defined range for the sequence is reached (N/Y) (not null with default N) Number of sequence values to preallocate in memory for faster access (0 indicates that values are not to be preallocated) (not null with default) Whether the values must be generated in order (N/Y) (not null with default N) Internal identifier of the data type for the sequence (not null with default) Internal identifier of the source type (the value is 0 for built-in data types) (not null with default) Time at which the sequence was first defined (not null with default) Time at which the latest ALTER for the sequence was executed (not null with default) Last possible assigned value. Initialized to null when the sequence object is created. Updated each time the next chunk of n values is cached, where n is the value for CACHE. (nullable) Version 6.x dependency indicator (J) (not null with default N) For a sequence, a character string that the user provides with the COMMENT ON statement. Blank for an identity column (not null with default) The precision for a sequence. This value is 5 for a SMALLINT sequence, 10 for an INTEGER sequence, or the specified precision for a DECIMAL sequence. This value is 0 for rows created prior to DB2 Version 8 (not null with default) The RESTART WITH value that was specified for a sequence during the last ALTER. This value is NULL if no ALTER with RESTART WITH has occurred. Type of owner (not null with default) Release of DB2 when object was created (not null with default)

12

CACHE (INTEGER)

13 14 15

ORDER (CHAR 1) DATATYPEID (INTEGER) SOURCETYPEID (INTEGER)

1 4 4

16 17

CREATEDTS (TIMESTAMP) ALTEREDTS (TIMESTAMP)

10 10

18

MAXASSIGNEDVAL (DECIMAL 31,0)

16

19 20

IBMREQD (CHAR 1) REMARKS (VARCHAR 762)

1 764

21

PRECISION (SMALLINT)

| | | | | | |

22

RESTARTWITH (DECIMAL 31,0)

16

23 24

OWNERTYPE (CHAR 1) RELCREATED (CHAR 1)

1 1

Table 209. SYSIBM.SYSSEQUENCESDEP (record OBID X17B) Dec offset 0 Hex offset 0000 Col Field Flags 00 Length 0024-01B6 OBID 017B ID xx Dec len 6 Description Record headerrecord length, OBID, associated ID map entry
Chapter 27. Catalog formats

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

649

DO NOT COPY
Table 209. SYSIBM.SYSSEQUENCESDEP (record OBID X17B) (continued) Dec offset 6 10 Hex offset 0006 000A Col 1 2 3 4 5 Field BSEQUENCEID (INTEGER) DCREATOR ( VARCHAR 128) IBMREQD (CHAR 1) DNAME (VARCHAR 128) DCOLNAME (VARCHAR 128) Dec len 4 130 1 130 130

Restricted Materials of IBM Licensed Materials Property of IBM

Description Internal identifier for the sequence (not null with default) Owner of the object that is dependent on the sequence (not null with default) Version 6.1x dependency indicator (J) (not null with default) Name of the object that is dependent on the sequence (not null with default) Name of the dependent identity column. Blank for an inline SQL function (not null with default) The type of object (identity column or inline SQL function) that is dependent on the sequence or identity column. This value is blank for an identity column that was created before DB2 Version 8 (F/I//X/blank) (not null with default I) Schema name of the sequence. This value is a string of length 0 for an object that was created before DB2 Version 8 (not null with default) Name of the sequence or identity column. This value is generated by DB2 for an identity column. This value is a string of length 0 for an object that was created before DB2 Version 8 (not null with default) Qualifier of the object that is dependent on the sequence or identity column. This value is a string of length 0 for an object that was created before DB2 Version 8 (not null with default) Not null with default. Not null with default.

| | | | | |

DTYPE (CHAR 1)

BSCHEMA (VARCHAR 128)

130

BNAME (VARCHAR 128)

130

DSCHEMA (VARCHAR 128)

130

| |

10 11

DOWNER (VARCHAR 128) DOWNERTYPE (CHAR 1)

130 1

Table 210. SYSIBM.SYSSTMT (record OBID X24) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 4 Col Field Flags 00 Length 0031-0F89 OBID 0024 ID xx Dec len 6 4 4 26 26 130 2 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSSTMT record or SYSDBRM Backward ring pointerPoints to previous SYSSTMT record or SYSDBRM DBRM name Plan name Owner of the application plan Sequence number

RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 24) PLNAME (VARCHAR 24) PLCREATOR (VARCHAR 128) SEQNO (SMALLINT)

650

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 210. SYSIBM.SYSSTMT (record OBID X24) (continued) Dec offset Hex offset Col 5 6 7 8 9 Field STMTNO (SMALLINT) SECTNO (SMALLINT) IBMREQD (CHAR 1) TEXT (VARCHAR 3800) ISOLATION (CHAR 1) Dec len 2 2 1 3802 1 Description Statement number Section number IBM-required flag (Y/N) SQL statement (not null with default for bit data) Isolation level for the SQL statement (L/R/T/S/U/X/blank) (not null with default) Status of the statement bind (A/B/C/E/F/G/H/I/J/K/L/M/blank) (not null with default) For a static SQL statement, indicates whether the access path for the statement is based on user-specified access path hints. Blank means access path hints were not used, there is no access path for the statement, or the statement is dynamic. (H/blank) (not null with default) Statement number of the SQL statement in the source program (not null with default) Section number of the section in the DBRM identified in the NAME column (not null with default) Indicates whether the SQL statement has rows in the PLAN_TABLE. Blank means that the statement was bound before DB2 Version 7. (Y/N/blank) (not null with default) The query number of the SQL statement in the source program. The query number is the value on the QUERYNO clause, if a QUERYNO clause was specified. Otherwise, the query number is the statement number. This value is -1 if the statement was bound before DB2 Version 7. (not null with default -1) Type of owner (blank/L) (not null with default)

10

STATUS (CHAR 1)

11

ACCESSPATH (CHAR 1)

12 13

STMTNOI (INTEGER) SECTNOI (INTEGER)

4 4

14

EXPLAINABLE (CHAR 1)

15

QUERYNO (INTEGER)

| |

16

PLCREATORTYPE (CHAR 1)

Table 211. SYSIBM.SYSSTOGROUP (record OBID X28) Dec offset 0 6 10 Hex offset 0000 0006 000A 1 2 Col Field Flags 00 Length 004C-01CC OBID 0028 ID xx Dec len 6 4 130 130 Description Record headerrecord length, OBID, associated ID map entry Child pointerPoints to SYSVOLUMES record Storage group name Owner of the storage group

RID (ppppppxx) NAME (VARCHAR 128) CREATOR (VARCHAR 128)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

651

DO NOT COPY
Table 211. SYSIBM.SYSSTOGROUP (record OBID X28) (continued) Dec offset Hex offset Col 3 4 5 6 7 8 9 Field VCATNAME (VARCHAR 24) VPASSWORD (VARCHAR 24) SPACE (INTEGER) SPCDATE (CHAR 5) IBMREQD (CHAR 1) CREATEDBY (VARCHAR 128) STATSTIME (TIMESTAMP) Dec len 26 26 4 5 1 130 10

Restricted Materials of IBM Licensed Materials Property of IBM

Description VSAM catalog name VSAM catalog password Kilobytes of disk storage Not used IBM-required flag (Y/N) Authorization ID of user creating object (not null with default) If STOSPACE updated the statistics, the data and time when the latest invocation of STOSPACE updated the statistics (not null with default) Time when the CREATE statement was executed for the storage group described by this row (not null with default) Time when the latest ALTER statement was executed for the storage group described by this row. If no ALTER statement was executed, this value is the same as the value of CREATEDTS (not null with default). Kilobytes of disk storage that are used for the storage group. -1 if statistics have not been gathered (not null with default). Name of the SMS data class. Blank if data class not used (not null with default). Name of the SMS management class. Blank if management class not used (not null with default). Name of the SMS storage class. Blank if storage class not used (not null with default). Type of creator (blank/L) (not null with default). Release of DB2 when object was created (not null with default)

10

CREATEDTS (TIMESTAMP)

10

11

ALTEREDTS (TIMESTAMP)

10

12

SPACEF (FLOAT)

| | | | | | | | | | | |

13 14

DATACLAS (VARCHAR 24) MGMTCLAS (VARCHAR 24)

26 26

15

STORCLAS (VARCHAR 24)

26

16 17

CREATORTYPE (CHAR 1) RELCREATED (CHAR 1)

1 1

Table 212. SYSIBM.SYSSTRINGS (record OBID X9E) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 Col Field Flags 00 Length 001D-011F OBID 009E ID xx Dec len 6 4 4 2 Description Record headerrecord length, OBID, associated ID map entry Coded character set id to translate from Coded character set id to translate to Type of CCSID translation (GG/MM/MS/PM/PS/SM/SS/MP/ PP/SP)

INCCSID (INTEGER) OUTCCSID (INTEGER) TRANSTYPE (CHAR 2)

652

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 212. SYSIBM.SYSSTRINGS (record OBID X9E) (continued) Dec offset 16 18 20 Hex offset 0010 0012 0014 Col 4 5 6 7 8 Field ERRORBYTE (CHAR 1) SUBBYTE (CHAR 1) TRANSPROC (VARCHAR 24) IBMREQD (CHAR 1) TRANSTAB (VARCHAR 256) Dec len 1 1 26 1 258 Description Byte in translate table to indicate error (nullable for bit data) Byte in translate table used as substitution character (nullable for bit data) Name of the translate procedure (not null with default) IBM-required flag (Y/N) Translate table (not null with default for bit data)

Table 213. SYSIBM.SYSSYNONYMS (record OBID X21) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 Col Field Flags 00 Length 001B-029B OBID 0021 ID xx Dec len 6 4 4 130 130 130 130 1 130 10 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSSYNONYMS record or SYSTABLES Backward ring pointerPoints to previous SYSSYNONYMS record or SYSTABLES Synonym name Owner of the synonym Table or view name The SCHEMA of the table or view IBM-required flag (Y/N) Authorization ID of user creating object (not null with default) Time when the CREATE statement was executed for the synonym described by this row (not null with default) Type of creator (blank/L) (not null with default) Release of DB2 when object was created (not null with default)

RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 128) CREATOR (VARCHAR 128) TBNAME (VARCHAR 128) TBCREATOR (VARCHAR 128) IBMREQD (CHAR 1) CREATEDBY (VARCHAR 128) CREATEDTS (TIMESTAMP)

4 5 6 7

| | | |

8 9

CREATORTYPE (CHAR 1) RELCREATED (CHAR 1)

1 1

Table 214. SYSIBM.SYSTABAUTH (record OBID X1C) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E Col Field Flags 00 Length 005A-04DA OBID 001C ID xx Dec len 6 4 4 4 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSTABAUTH record or SYSTABLES Backward ring pointerpoints to previous SYSTABAUTH record or SYSTABLES Child pointerpoints to SYSCOLAUTH record
Chapter 27. Catalog formats

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

653

DO NOT COPY
Table 214. SYSIBM.SYSTABAUTH (record OBID X1C) (continued) Dec offset 18 Hex offset 0012 Col 1 2 Field GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128) Dec len 130 130

Restricted Materials of IBM Licensed Materials Property of IBM

Description Grantor of privilege (not null with default) Authorization ID of the user who holds the privilege, or the name of a plan or package that uses the privilege (not null with default) Type of grantee (P/L/blank) (not null with default) Database name or blank (not null with default) The SCHEMA of the table or view referred to in the CREATE VIEW statement; or, if the row is not the result of a CREATE VIEW statement, the same information as TCREATOR (not null with default) Source table or view. If the row describes a materialized query table, this value is name of the table in the fullselect of the CREATE TABLE statement that created the materialized query table (not null with default) The SCHEMA of the table or view (not null with default) Target table or view name (not null with default) Blank or (S/D/C/M/L) (not null with default) Time of grantinternal format (not null with default for bit data) Not used Not used If the value of UPDATEAUTH applies to some columns but not to others, this value is *. In that case, SYSIBM.SYSCOLAUTH contains rows with timestamps that match the timestamp for this row. Those rows have PRIVILEGE=blank and describe the columns on which update privileges has been granted. If the value of UPDATEAUTH applies to all columns of the table or view, this value is blank. (not null with default) Privilege (G/Y/blank) (not null with default) Privilege (G/Y/blank) (not null with default) Privilege (G/Y/blank) (not null with default) Privilege (G/Y/blank) (not null with default)
LY37-3218-01 Copyright IBM Corp. 1983, 2007

| |

3 4

GRANTEETYPE (CHAR 1) DBNAME (VARCHAR 24) SCREATOR (VARCHAR 128)

1 26 130

| | | | |

STNAME (VARCHAR 128)

130

| |

7 8 9 10 11 12 13

TCREATOR (VARCHAR 128) TTNAME (VARCHAR 128) AUTHHOWGOT (CHAR 1) TIMESTAMP (CHAR 12) DATEGRANTED (CHAR 6) TIMEGRANTED (CHAR 8) UPDATECOLS (CHAR 1)

130 130 1 12 6 8 1

14 15 16 17

ALTERAUTH (CHAR 1) DELETEAUTH (CHAR 1) INDEXAUTH (CHAR 1) INSERTAUTH (CHAR 1)

1 1 1 1

654

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 214. SYSIBM.SYSTABAUTH (record OBID X1C) (continued) Dec offset Hex offset Col 18 19 20 21 22 23 Field SELECTAUTH (CHAR 1) UPDATEAUTH (CHAR 1) IBMREQD (CHAR 1) Dec len 1 1 1 Description Privilege (G/Y/blank) (not null with default) Privilege (G/Y/blank) (not null with default) IBM-required flag (Y/N/I) (not null with default) Not used Not used If the GRANTEE is a package-id, the collection name. Blank otherwise (not null with default) If the GRANTEE is a package-id, the consistency token. Blank otherwise (not null with default for bit data) Not used (not null with default) Whether GRANTEE has the privilege to create or drop referential constraints with this table as the parent (G/Y/blank) (not null with default) If the value of REFERENCESAUTH applies to some columns but not to others, this value is *. In that case, SYSIBM.SYSCOLAUTH contains rows with timestamps that match the timestamp for this row. Those rows have PRIVILEGE=R and describe the columns on which reference privileges have been granted. If the value of REFERENCESAUTH applies to all columns of the table, this value is blank. (not null with default) Time when the GRANT statement was executed (not null with default) Whether GRANTEE can create triggers in which this table is the triggering table. Blank means GRANTEE does not have this privilege. (G/Y/blank) (not null with default) Type of grantor (blank/L) (not null with default)

GRANTEELOCATION (VARCHAR 130 128) LOCATION (VARCHAR 128) COLLID (VARCHAR 128) 130 130

24

CONTOKEN (CHAR 8)

25 26

CAPTUREAUTH (CHAR 1) REFERENCESAUTH (CHAR 1)

1 1

27

REFCOLS (CHAR 1)

28 29

GRANTEDTS (TIMESTAMP) TRIGGERAUTH (CHAR 1)

10 1

| |

30

GRANTORTYPE (CHAR 1)

Table 215. SYSIBM.SYSTABCONST (record OBID X028A) Dec Offset 0 6 Hex Offset 0000 0006 1 Col Field Flags 00 Length 0020-0320 OBID 028A ID xx Dec Len 6 130 Description Record headerrecord length, OBID, associated ID map entry Name of the constraint. (not null with default)

CONSTNAME (VARCHAR 128)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

655

DO NOT COPY
Table 215. SYSIBM.SYSTABCONST (record OBID X028A) (continued) Dec Offset Hex Offset Col 2 3 4 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) CREATOR (VARCHAR 128) Dec Len 130 130 130

Restricted Materials of IBM Licensed Materials Property of IBM

Description The SCHEMA of table on which the constraint is defined. (not null with default) Name of the table on which the constraint is defined. (not null with default) Authorization ID under which the constraint was defined. (not null with default) Type of the constraint. (P/U/V) (not null with default) The SCHEMA of the index that enforces the constraint. Blank if the index has not been created. (not null with default) Name of the index that enforces the constraint. Blank if the index has not been created. (not null with default) Timestamp when the statement that created the constraint was executed. (not null with default) IBM-required flag. (Y/N) (not null with default N) Number of columns in the constraint (not null with default) Release of DB2 when object was created (not null with default)

| |

TYPE (CHAR 1) IXOWNER (VARCHAR 128)

1 130

| | |

IXNAME (VARCHAR 128)

130

CREATEDTS (TIMESTAMP)

10

9 10

IBMREQD (CHAR 1) COLCOUNT (SMALLINT) RELCREATED (CHAR 1)

1 2 1

| |

12

Table 216. SYSIBM.SYSTABLEPART (record OBID X12) Dec offset 0 6 Hex offset 0000 0006 Col Field Flags 00 Length 00A0-071D OBID 0012 ID xx Dec len 6 4 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSTABLEPART record or SYSTABLESPACE Backward ring pointerPoints to previous SYSTABLEPART record or SYSTABLESPACE Partition number (not null with default) Table space name (not null with default) Database name (not null with default) For index-based partitioning, the name of the partitioning index. Blank otherwise (not null with default) If the table uses index-based partitioning, the SCHEMA of the index. Blank otherwise (not null with default)

RID (ppppppxx)

10

000A

RID (ppppppxx)

14 16

000E 0010

1 2 3 4

PARTITION (SMALLINT) TSNAME (VARCHAR 24) DBNAME (VARCHAR 24) IXNAME (VARCHAR 128)

2 26 26 130

| | |

IXCREATOR (VARCHAR 128)

130

656

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 216. SYSIBM.SYSTABLEPART (record OBID X12) (continued) Dec offset Hex offset Col 6 Field PQTY (INTEGER) Dec len 4 Description The user-specified primary allocation quantity, or -1. -1 means that either of the following cases is true: v PRIQTY was not specified for CREATE TABLESPACE or for any subsequent ALTER TABLESPACE statements. v The most-recently specified PRIQTY value for any ALTER TABLESPACE statements was PRIQTY -1. (not null with default) 7 SQTY (SMALLINT) 2 The user-specified secondary allocation quantity, or -1. -1 means that either of the following cases is true: v SECQTY was not specified for CREATE TABLESPACE or for any subsequent ALTER TABLESPACE statements. v The most-recently specified SECQTY value for any ALTER TABLESPACE statements was SECQTY -1. (not null with default) 8 9 STORTYPE (CHAR 1) STORNAME (VARCHAR 128) 1 130 Storage allocation type (E/I) (not null with default) Name of storage group used for space allocation. Blank if storage group not used (not null with default) VSAM catalog name (not null with default) Number of rows in the table space or partition. If the table space is a LOB table space, the number of LOBs in the table space. 2147483647 if the number of rows is greater than or equal to 2147483647. -1 if statistics have not been gathered (not null with default) Number of rows relocated far from their original page. -1 if statistics have not been gathered. Not applicable for a LOB table space (not null with default) Number of rows relocated near their original page. -1 if statistics have not been gathered. Not applicable for a LOB table space (not null with default) Percentage of space occupied by rows of data from active tables. -1 if statistics have not been gathered. For LOB table spaces, this value is -2 (not null with default) Percentage of space occupied by rows from dropped tables. -1 if statistics have not been gathered. 0 for segmented table spaces. Not applicable for LOB table spaces (not null with default)

10 11

VCATNAME (VARCHAR 24) CARD (INTEGER)

26 4

12

FARINDREF (INTEGER)

13

NEARINDREF (INTEGER)

14

PERCACTIVE (SMALLINT)

15

PERCDROP (SMALLINT)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

657

DO NOT COPY
Table 216. SYSIBM.SYSTABLEPART (record OBID X12) (continued) Dec offset Hex offset Col 16 17 Field IBMREQD (CHAR 1) LIMITKEY (VARCHAR 765) Dec len 1 767

Restricted Materials of IBM Licensed Materials Property of IBM

Description IBM-required flag (Y/N) (not null with default) High value of the limit key of the partition, or 0 if the table space is not partitioned. If a table is changed from index-controlled partitioning to table-controlled partitioning, the value is the highest possible value for an ascending key, or the lowest possible value for a descending key. Number of pages loaded before free space page Percentage of each loaded page left as free space Blank or C if table space partition is in CHECK PENDING and table rows can violate referential and/or table check constraints. (not null with default) Not used except for fallback (not null with default for bit data) Number of kilobytes of DASD storage allocated to the table space partition (determined by STOSPACE utility). -1 indicates that creation of the underlying VSAM data sets is deferred. (not null with default) Value indicates the COMPRESS attribute for a table space partition or a nonpartitioned table space (Y or blank) (not null with default) Percentage of pages saved by ESA data compression in the table space or partition (not null with default) Timestamp of RUNSTATS statistics update (not null with default) Group buffer pool cache option (A/S/N/blank) (not null with default) For a table space partition that is in check pending state, this value is the RID of the first row of a table space partition that can violate referential constraints, table check constraints, or both. If any row can violate constraints, this value is X0000000000. For a table space partition that is not in check pending state (CHECKFLAG is blank) or a nonpartitioned table space, this value is blank (not null with default). Indicates whether to track page modifications in the space map pages. Blank means track the modifications. (N/blank) (not null with default)

18 19 20

FREEPAGE (SMALLINT) PCTFREE (SMALLINT) CHECKFLAG (CHAR 1)

2 2 1

21 22

CHECKRID (CHAR 4) SPACE (INTEGER)

4 4

23

COMPRESS (CHAR 1)

24

PAGESAVE (SMALLINT)

25 26 27

STATSTIME (TIMESTAMP) GBPCACHE (CHAR 1) CHECKRID5B (CHAR 5)

10 1 5

28

TRACKMOD (CHAR 1)

658

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 216. SYSIBM.SYSTABLEPART (record OBID X12) (continued) Dec offset Hex offset Col 29 Field EPOCH (INTEGER) Dec len 4 Description A number that is incremented whenever an operation occurs that changes the location of rows in a table (not null with default) Secondary space allocation in units of 4 KB storage blocks. 0 if a storage group is not used (not null with default) The number of rows in the table space or partition, or the number of LOBs in the LOB table space. -1 if statistics have not been gathered (not null with default -1) Reserved (not null with default I) Time when the ALTER TABLESPACE statement was executed for the table space. This value is 0001-01-01.00.00.00.000000 if the table space was last altered before Version 6. (not null with default) Amount of DASD storage, in kilobytes. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) Number of data sets in the table space or partition. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) Number of data set extents. This value is -1 if statistics have not been gathered. Users can update this column. (not null with default -1) Logical partition number. This value is 0 for a partitioned table space that was created before DB2 Version 8 or for a nonpartitioned table space (not null with default) Highest value of the limit key of the partition, in an internal format. This value is 0 if the table is not partitioned or if the table uses index-based partitioning. If any column of key has a field procedure, the internal format is the encoded form of the value. If a table is changed from index-controlled partitioning to table-controlled partitioning, the value is the highest possible value for an ascending key, or the lowest possible value for a descending key. (not null with default for bit data) The version number of the oldest format of data in the partition or any partition-level image copies (not null with default) Timestamp when the partition was created (not null with default)

30

SECQTYI (INTEGER)

31

CARDF (FLOAT)

32 33

IPREFIX (CHAR 1) ALTEREDTS (TIMESTAMP)

1 10

34

SPACEF (FLOAT)

35

DSNUM (INTEGER)

36

EXTENTS (INTEGER)

37

LOGICAL_PART (SMALLINT)

38

LIMITKEY_INTERNAL (VARCHAR 512)

514

39

OLDEST_VERSION (SMALLINT)

40

CREATEDTS (TIMESTAMP)

10

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

659

DO NOT COPY
Table 216. SYSIBM.SYSTABLEPART (record OBID X12) (continued) Dec offset Hex offset Col 41 Field AVGROWLEN (INTEGER) Dec len 4

Restricted Materials of IBM Licensed Materials Property of IBM

Description Average length of rows of tables in the table space or partition. If the table space or partition is compressed, this is the compress row length. This value is -1 if statistics have not been gathered. (not null with default -1) Indicates the table space format (blank/R) (not null with default) Time when the REORG or LOAD REPLACE last occurred (not null with default 0001-01-01.00.00.00.000000) Release of DB2 when object was created (not null with default)

| | | | | | |

42 43

FORMAT (CHAR 1) REORG_LR_TS (TIMESTAMP)

1 10

44

RELCREATED (CHAR 1)

Table 217. SYSIBM.SYSTABLEPART_HIST (record OBID X0294) Dec offset 0 6 8 Hex offset 0000 0006 0008 1 2 3 4 Col Field Flags 00 Length 0055 OBID ID 0294 xx Dec len 6 2 26 26 4 Description Record headerrecord length, OBID, associated ID map entry Partition number. 0 if the table space is not partitioned. (Not null with default) Table space name. (not null with default) Database name. (not null with default) Primary space allocation in units of 4 KB storage blocks. The value of this column is 0 if a storage group is not used. PQTY is based on a value of PRIQTY in the appropriate CREATE or ALTER TABLESPACE statement. (not null with default) Secondary space allocation in units of 4 KB storage blocks. The value of this column is 0 if a storage group is not used. (not null with default) Number of rows relocated far from their original page. -1 if statistics have not been gathered. Not applicable for a LOB table space. (not null with default -1) Number of rows relocated near their original page. -1 if statistics have not been gathered. Not applicable for a LOB table space. (not null with default -1) Percentage of space occupied by rows of data from active tables. -1 if statistics have not been gathered. For LOB table spaces, this value is -2. (not null with default -1)

PARTITION (SMALLINT) TSNAME (VARCHAR 24) DBNAME (VARCHAR 24) PQTY (INTEGER)

SECQTY (INTEGER)

FARINDREF (INTEGER)

NEARINDREF (INTEGER)

PERCACTIVE (SMALLINT)

660

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 217. SYSIBM.SYSTABLEPART_HIST (record OBID X0294) (continued) Dec offset Hex offset Col 9 Field PERCDROP (SMALLINT) Dec len 2 Description Percentage of space occupied by rows from dropped tables. -1 if statistics have not been gathered. 0 for segmented table spaces. Not applicable for LOB table spaces. (not null with default -1) Number of kilobytes of DASD storage allocated to the table space partition (determined by STOSPACE utility). -1 indicates that creation of the underlying VSAM data sets is deferred. (not null with default -1) Percentage of pages saved by ESA data compression in the table space or partition. This value is 0 if there are no savings from data compression, or if statistics have not been gathered. (not null with default) Timestamp of RUNSTATS statistics update. (not null with default) The number of rows in the table space or partition, or the number of LOBs in the LOB table space. -1 if statistics have not been gathered (not null with default -1) Number of data set extents. This number is -1 if statistics have not been gathered (not null with default -1) Data set number within the table space. For partitioned table spaces, this value corresponds to the partition number for a single partition copy, or 0 for a copy of an entire partitioned table space or index space. The value is -1 if statistics have not been gathered. (not null with default -1) IBM-required flag (Y/N) Average length of rows of tables in the table space or partition. If the table space or partition is compressed, this is the compress row length. This value is -1 if statistics have not been gathered. (not null with default -1)

10

SPACEF (FLOAT 8)

11

PAGESAVE (SMALLINT)

12 13

STATSTIME (TIMESTAMP) CARDF (FLOAT)

10 8

14

EXTENTS (INTEGER)

15

DSNUM (INTEGER)

16 17

IBMREQD (CHAR 1) AVGROWLEN (INTEGER)

1 4

Table 218. SYSIBM.SYSTABLES (record OBID X13) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E Col Field Flags 00 Length 00C6-0790 OBID 0013 ID xx Dec len 6 4 4 4 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSTABLES record or SYSTABLESPACE Backward ring pointerPoints to previous SYSTABLES record or SYSTABLESPACE Child pointerPoints to SYSCOLUMNS record
Chapter 27. Catalog formats

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

661

DO NOT COPY
Table 218. SYSIBM.SYSTABLES (record OBID X13) (continued) Dec offset 18 22 26 30 34 Hex offset 0012 0016 001A 001E 0022 1 2 3 4 Col Field RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 128) CREATOR (VARCHAR 128) TYPE (CHAR 1) DBNAME (VARCHAR 24) Dec len 4 4 4 4 130 130 1 26

Restricted Materials of IBM Licensed Materials Property of IBM

Description Child pointerpoints to SYSRELS record Child pointerPoints to SYSINDEXES record Child pointerPoints to SYSTABAUTH record Child pointerPoints to SYSSYNONYMS record Name of table, view, or alias The SCHEMA of the table, view, or alias Entry type (A/C/G/M/P/T/V/X) (not null with default) Database name, for a table or a view of tables. This value is DSNDB06 for an alias, a view of a view, or a created temporary table. Table space name, for a table, or a view of one table. For a view of more than one table, this is the name of a table space that contains one of the tables. For a created temporary table, this value is SYSPKAGE. For a view of a view, this value is SYSVIEWS. For an alias, this value is SYSDBAUT. Database object identifier. This value is zero (0) if the row describes a view, an alias, or a created temporary table. If the value is a nonzero, the view has an INSTEAD OF trigger defined. Internal identifier of the table. This value is zero (0) if the row describes a view, an alias, or a created temporary table. If the value is a nonzero, the view has an INSTEAD OF trigger defined. Number of columns Blank or edit procedure name Blank or validation procedure Y if table defined with RESTRICT ON DROP; blank otherwise. Not used Not used except for fallback Total number of pages on which rows of the table appear. This value is -1 if statistics have not been gathered, or if the row describes a view, an alias, a created temporary table, or an auxiliary table. Users can update this column.

| | |

| | | | | | | | | | | | | | | | | |

TSNAME (VARCHAR 24)

26

DBID (SMALLINT)

OBID (SMALLINT)

8 9 10 11 12 13 14

COLCOUNT (SMALLINT) EDPROC (VARCHAR 24) VALPROC (VARCHAR 24) CLUSTERTYPE (CHAR 1) CLUSTERRID (INTEGER) CARD (INTEGER) NPAGES (INTEGER)

2 26 26 1 4 4 4

662

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 218. SYSIBM.SYSTABLES (record OBID X13) (continued) Dec offset Hex offset Col 15 Field PCTPAGES (SMALLINT) Dec len 2 Description Percentage of active table space pages that contain rows of the table. A page is active if it is formatted for rows. If the table space is segmented, the percentage is based on the number of active pages in the segments assigned to the table. This value is -1 if statistics have not been gathered, or if the row describes a view, an alias, a created temporary table, or an auxiliary table. Users can update this column. IBM-required flag (Y/N/B/C/D/E/F/G/ H/I) (0000) or comments The number of relationships in which the table is a dependent. This value is 0 if the row describes a view, an alias, a created temporary table, or a materialized query table. The number of relationships in which the table is a parent. This value is 0 if the row describes a view, an alias, a created temporary table, or a materialized query table. The number of columns in the primary key of the table. This value is 0 if the row describes a view, an alias, a created temporary table, or a materialized query table. For a user table, the maximum length of any record in the table. 0 for a view, alias, or auxiliary table. Indicates the status of the table definition (I/R/X/blank) OBID that enforces uniqueness of primary key (0000) or label specified by LABEL ON statement C if the table is in a table space is in CHECK PENDING and table rows can violate referential or table check constraints. R if the table is a materialized query table that might contain inconsistent data. Blank otherwise (not null with default) Not used except for fallback (not null with default for bit data) Blank or audit option (A/C) (not null with default) Authorization ID of user creating object (not null with default)

16 17 18

IBMREQD (CHAR 1) REMARKS (VARCHAR 762) PARENTS (SMALLINT)

1 764 2

19

CHILDREN (SMALLINT)

20

KEYCOLUMNS (SMALLINT)

21

RECLENGTH (SMALLINT)

| |

22 23 24 25

STATUS (CHAR 1) KEYOBID (SMALLINT) LABEL (VARCHAR 90) CHECKFLAG (CHAR 1)

1 2 92 1

26 27 28

CHECKRID (CHAR 4) AUDITING (CHAR 1) CREATEDBY (VARCHAR 128)

4 1 130

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

663

DO NOT COPY
Table 218. SYSIBM.SYSTABLES (record OBID X13) (continued) Dec offset Hex offset Col 29 Field LOCATION (VARCHAR 128) TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) CREATEDTS (TIMESTAMP) ALTEREDTS (TIMESTAMP) Dec len 130 130 130 10 10

Restricted Materials of IBM Licensed Materials Property of IBM

Description Blank or LOCATION of table or view alias is defined upon (not null with default) The SCHEMA of the table or view that the alias is defined upon (not null with default) Blank or name of the table or view alias is defined upon (not null with default) The timestamp of the CREATE for tables, views, and aliases (not null with default) The timestamp of the ALTER for tables. ALTEREDTS is equal to CREATEDTS if the table has not been altered or if the object is a view or an alias. (not null with default) Records the value of the DATA CAPTURE option for a table. This value is blank for a created temporary table (Y/blank) (not null with default). The log RBA (LRSN in a data sharing environment) when the table was created. Otherwise, RBA1 is X000000000000, indicating that the log RBA is not known, or that the object is a view, and alias, or a created temporary table (not null with default for bit data) The log RBA (LRSN in a data sharing environment) when the table was last altered. Otherwise, RBA2 is X000000000000, indicating that the log RBA is not known, or that the object is a view, an alias, or a created temporary table. RBA1 is equal to RBA2 if the table has not been altered (not null with default for bit data) For a table space defined with COMPRESS YES, the percentage of active rows compressed. This value is -1 if statistics have not been gathered, or if the row describes a view, an alias, a created temporary table, or an auxiliary table. Users can update this column. (not null with default). Timestamp for the last time RUNSTATS statistics updated the statistics for this table. For a created temporary table, this value is the default value (not null with default). Number of check constraints defined on the table. This value is 0 if the row describes a view, an alias, a created temporary table, or a materialized query table, or if no constraints are defined on the table (not null with default).

| |

30 31 32 33

34

DATACAPTURE (CHAR 1)

35

RBA1 (CHAR 6)

36

RBA2 (CHAR 6)

37

PCTROWCOMP (SMALLINT)

38

STATSTIME (TIMESTAMP)

10

39

CHECKS (SMALLINT)

664

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 218. SYSIBM.SYSTABLES (record OBID X13) (continued) Dec offset Hex offset Col 40 Field CARDF (FLOAT) Dec len 8 Description Total number of rows in the table. For an auxiliary table, this value is the total number of LOBs. -1 if no statistics have been gathered, or the row describes a view, alias, or temporary table. Users can update this column. (not null with default -1). For a table space partition that is in check pending state, this value is the RID of the first row of a table space partition that can violate referential constraints, table check constraints, or both. If any row can violate constraints, this value is X0000000000. For a table space partition that is not in check pending state (CHECKFLAG is blank) or a nonpartitioned table space, this value is blank (not null with default for bit data) Default encoding scheme for the table (A/E/M/U/blank) (not null with default E) Indicates the reason for an incomplete table definition. Blank means the table definition is complete. (C/L/P/R/U/blank) (not null with default) Total number of pages that are used by the table. This value is -1 if statistics have not been gathered. (not null with default -1) Number of kilobytes of DASD storage allocated to the table. This value is -1 if statistics have not been gathered. (not null with default -1) Average row length of all tables in the table space. This value is -1 if statistics have not been gathered. (not null with default -1) Release of DB2 that was used to create the object. This value is blank if the object was created before DB2 Version 7. (not null with default) The number of dependent materialized query tables. This value is 0 if the row describes an alias or a created temporary table, or if no materialized query tables are defined on the table (not null with default) The version of the data row format for this table. A value of 0 indicates that a version-creating ALTER has never occurred against this table. A value of 800 means that a CREATE VIEW or ALTER VIEW statement was executed in DB2 Version 8 new-function mode or a later DB2 release. A value of -1 means that the view needs to be regenerated. (not null with default)

41

CHECKRID5B (CHAR 5)

42

ENCODING_SCHEME (CHAR 1)

| | | |

43

TABLESTATUS (VARCHAR 30)

32

44

NPAGESF (FLOAT 8)

45

SPACEF (FLOAT 8)

46

AVGROWLEN (INTEGER)

47

RELCREATED (CHAR 1)

48

NUM_DEP_MQTS (SMALLINT)

49

VERSION (SMALLINT)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

665

DO NOT COPY
Table 218. SYSIBM.SYSTABLES (record OBID X13) (continued) Dec offset Hex offset Col 50 Field PARTKEYCOLNUM (SMALLINT) Dec len 2

Restricted Materials of IBM Licensed Materials Property of IBM

Description The number of columns in the partitioning key. This value is 0 for tables that are not partitioned or tables that use index-based partitioning (not null with default) Whether the table is defined as VOLATILE (Y/blank) (not null with default) If column TYPE is T or M, whether the table has multilevel security with row-level granularity. A value of R in this column means that the table has multilevel security with row-level granularity. (R/blank) (not null with default) Owner name (not null with default) Indicates whether APPEND option is specified (Y/N) (not null with default N) Type of owner (blank/L) (not null with default)

51 52

SPLIT_ROWS (CHAR 1) SECURITY_LABEL (CHAR 1)

1 1

| | | | |

53 54 55

OWNER (VARCHAR 128) APPEND (CHAR 1) OWNERTYPE (CHAR 1)

130 1 1

Table 219. SYSIBM.SYSTABLESPACE (record OBID X11) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Col Field Flags 00 Length 00A0-01B2 OBID 0011 ID xx Dec len 6 4 4 26 130 26 2 2 2 8 2 1 2 1 1 1 2 Description Record headerrecord length, OBID, associated ID map entry Child pointerPoints to SYSTABLEPART Child pointerPoints to SYSTABLES Table space name Owner of the table space Database name Database object identifier File object identifier (OBID) Page set object identifier (OBID) Buffer pool name (BP0,BP1...BP49,BP32K, BP32K1..BP32K9) Number of partitions Lock rule (A/L/P/R/S/T) Page size in kilobytes (8004/8020) Data set disposition at drop (Y/N) Availability status (A/C/P/S/T) Implicit table space (Y/N) Number of tables in table space. Clone tables are not included in the calculation of this number. Number of active pages Not used
LY37-3218-01 Copyright IBM Corp. 1983, 2007

RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 24) CREATOR (VARCHAR 128) DBNAME (VARCHAR 24) DBID (SMALLINT) OBID (SMALLINT) PSID (SMALLINT) BPOOL (CHAR 8) PARTITIONS (SMALLINT) LOCKRULE (CHAR 1) PGSIZE (SMALLINT) ERASERULE (CHAR 1) STATUS (CHAR 1) IMPLICIT (CHAR 1) NTABLES (SMALLINT)

15 16

NACTIVE (INTEGER) DSETPASS (VARCHAR 24)

4 26

666

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 219. SYSIBM.SYSTABLESPACE (record OBID X11) (continued) Dec offset Hex offset Col 17 18 Field CLOSERULE (CHAR 1) SPACE (INTEGER) Dec len 1 4 Description Close data set when index inactive (Y/N) Number of kilobytes of DASD storage allocated to the table space (determined by STOSPACE utility) IBM-required flag (Y/N/C/F/H/I/J) Name of root table of table space Owner of the root table Number of pages in each segment of segmented table space; 0 if not segmented (not null with default) Authorization ID of user creating object (not null with default) Timestamp of RUNSTATS statistics update (not null with default) Maximum number locks on table or table space before escalating to next locking level. Default=0, escalation is disabled. -1 if system default used. Type of table space. Blank means the table space was not created with options MEMBER CLUSTER, DSSIZE, LARGE, or LOB. (G/I/K/L/O/P/R/blank) (not null with default). Time when the CREATE statement was executed for the table space described by this row (not null with default) Time when the latest ALTER statement was executed for the table space described by this row. If no ALTER statement was executed, this value is the same as the value of CREATEDTS (not null with default). Default encoding scheme for the table space (E/A/U/blank) (not null with default E) Default SBCS CCSID for the table space (not null with default) Default DBCS CCSID for the table space (not null with default) Default mixed CCSID for the table space (not null with default) Maximum number of rows that DSN1COMP considers when it calculates the percentage of pages saved. This value is between 1 and 255 (not null with default 255). For LOB table spaces, this value is 0. Whether LOCKPART was specified in the CREATE TABLESPACE statement (Y/N/blank) (not null with default)

19 20 21 22

IBMREQD (CHAR 1) ROOTNAME (VARCHAR 54) ROOTCREATOR (VARCHAR 24) SEGSIZE (SMALLINT)

1 56 26 2

23 24 25

CREATEDBY (VARCHAR 128) STATSTIME (TIMESTAMP) LOCKMAX (INTEGER)

130 10 4

| | | | |

26

TYPE (CHAR 1)

27

CREATEDTS (TIMESTAMP)

10

28

ALTEREDTS (TIMESTAMP)

10

29 30 31 32 33

ENCODING_SCHEME (CHAR 1) SBCS_CCSID (INTEGER) DBCS_CCSID (INTEGER) MIXED_CCSID (INTEGER) MAXROWS (SMALLINT)

1 4 4 4 2

34

LOCKPART (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

667

DO NOT COPY
Table 219. SYSIBM.SYSTABLESPACE (record OBID X11) (continued) Dec offset Hex offset Col 35 Field LOG (CHAR 1) Dec len 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Indicates whether or not changes to a table space are logged (Y/N/X) (not null with default Y) The number of active pages in the table space. A page is active if it is formatted for rows, even if it contains no rows. -1 if statistics have not been gathered. Users can update this column. (not null with default -1) The size of each data set in the table space, in KB (not null with default) The version number of the oldest data format in the table space or any image copies (not null with default) The version number of the newest data format in the table space. A value of 0 means that the table space has never had versioning (not null with default) Average length of rows of tables in the table space. If the table space is compressed, this is the compress row length. This value is -1 if statistics have not been gathered. (not null with default -1) Kilobytes of disk storage that are used for the storage group. -1 if statistics have not been gathered (not null with default) The maximum number of partitions to which the table space can grow (not null with default) Type of creator (blank/L) (not null with default) The data set instance number of the current base objects (table and index) (not null with default 1) Indicates if the table space currently has object cloning (Y/N) (not null with default N) Release of DB2 when object was created (not null with default)

| | |

36

NACTIVEF (FLOAT)

37 38

DSSIZE (INTEGER) OLDEST_VERSION (SMALLINT)

4 2

39

CURRENT_VERSION (SMALLINT)

40

AVGROWLEN (INTEGER)

41

SPACEF (FLOAT)

| | | | | | | | | | | | |

42

MAXPARTITIONS (SMALLINT)

43 44

CREATORTYPE (CHAR 1) INSTANCE (SMALLINT)

1 2

45

CLONE (CHAR 1)

46

RELCREATED (CHAR 1)

Table 220. SYSIBM.SYSTABLES_HIST (record OBID X290) Dec offset 0 6 Hex offset 0000 0006 1 2 Col Field Flags 00 Length 0047-0147 OBID 0290 ID xx Dec len 6 130 130 Description Record headerrecord length, OBID, associated ID map entry Name of table, view, or alias The SCHEMA of the table, view, or alias. (not null with default)

NAME (VARCHAR 128) CREATOR (VARCHAR 128)

| |

668

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 220. SYSIBM.SYSTABLES_HIST (record OBID X290) (continued) Dec offset Hex offset Col 3 Field DBNAME (VARCHAR 24) Dec len 26 Description Database name, for a table or a view of tables. This value is DSNDB06 for an alias, a view of a view, or a created temporary table. (not null with default) Table space name, for a table, or a view of one table. For a view of more than one table, this is the name of a table space that contains one of the tables. For a created temporary table, this value is SYSPKAGE. For a view of a view, this value is . For an alias, this value is SYSDBAUT. (not null with default) Number of columns in the table or view. This value is 0 for an alias. (not null with default) Percentage of active table space pages that contain rows of the table. A page is active if it is formatted for rows. If the table space is segmented, the percentage is based on the number of active pages in the segments assigned to the table. This value is -1 if statistics have not been gathered, or if the row describes a view, an alias, a created temporary table, or an auxiliary table. Users can update this column. (not null with default -1) For a table space defined with COMPRESS YES, the percentage of active rows compressed. This value is -1 if statistics have not been gathered, or if the row describes a view, an alias, a created temporary table, or an auxiliary table. Users can update this column. (not null with default -1) Timestamp for the last time RUNSTATS statistics updated the statistics for this table. For a created temporary table, this value is the default value (not null with default) Total number of rows in the table. For an auxiliary table, this value is the total number of LOBs. -1 if no statistics have been gathered, or the row describes a view, alias, or temporary table. Users can update this column. (not null with default -1) Total number of pages in which rows of the partition appear. This value is -1 if statistics have not been gathered. (not null with default -1) Average row length of the specified table. This value is -1 if statistics have not been gathered. (not null with default -1)

TSNAME (VARCHAR 24)

26

COLCOUNT (SMALLINT)

PCTPAGES (SMALLINT)

PCTROWCOMP (SMALLINT)

STATSTIME (TIMESTAMP)

10

CARDF (FLOAT)

10

NPAGESF (FLOAT 8)

11

AVGROWLEN (INTEGER)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

669

DO NOT COPY
Table 220. SYSIBM.SYSTABLES_HIST (record OBID X290) (continued) Dec offset Hex offset Col 12 Field SPACEF (FLOAT 8) Dec len 8

Restricted Materials of IBM Licensed Materials Property of IBM

Description Number of kilobytes of DASD storage allocated to the table. This value is -1 if statistics have not been gathered. (not null with default -1) IBM-required flag (Y/N) (not null with default N)

13

IBMREQD (CHAR 1)

| Table 221. SYSIBM.SYSTABLESPACESTATS (record OBID X362). Items in this table are not available until DB2 | Version 9 new-function mode. | Dec | offset | | 0 | | | 6 | | 16 | | 20 | | 24 | | 26 | | 36 | | 46 | | 50 | | 54 | | 58 | | | 62 | | | | 66 | | 70 | | | | 74 | | |
Hex offset 0000 0006 0010 0014 0018 001A 0024 002E 0032 0036 003A 1 2 3 4 5 6 7 8 9 10 Col Field Flags 00 Length 0047-0147 OBID 0362 ID xx Dec len 6 10 4 4 2 10 10 4 4 4 4 Description Record headerrecord length, OBID, associated ID map entry Timestamp when the row was inserted or last updated (not null with default). Number of active pages in the table space or partition. The number of distinct pages with active rows in the table space. Number of dataset extents. The value is -1 if statistics have not been gathered. Timestamp of last LOAD REPLACE on the table space or partition. Timestamp of last REORG on the table space or partition. Number of rows inserted since last REORG or LOAD REPLACE. Number of rows deleted since last REORG or LOAD REPLACE. Number of rows updated since last REORG or LOAD REPLACE. Number of rows inserted since last REORG or LOAD REPLACE that are not perfectly chunked. Number of rows inserted since last REORG or LOAD REPLACE that are not well clustered with respect to the clustering index. Number of mass deletes since the last REORG or LOAD REPLACE. Number of overflow records that were created since the last REORG or LOAD REPLACE and were relocated near the pointer record. Number of overflow records that were created since the last REORG or LOAD REPLACE and were relocated far from the pointer record.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

UPDATESTATSTIME (TIMESTAMP) NACTIVE (INTEGER) NPAGES (INTEGER) EXTENTS (SMALLINT) LOADRLASTTIME (TIMESTAMP) REORGLASTTIME (TIMESTAMP) REORGINSERTS (INTEGER) REORGDELETES (INTEGER) REORGUPDATES (INTEGER) REORGUNCLUSTINS (INTEGER) REORGDISORGLOB (INTEGER)

003E

11

0042 0046

12 13

REORGMASSDELETE (INTEGER) REORGNEARINDREF (INTEGER)

4 4

004A

14

REORGFARINDREF (INTEGER)

670

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 221. SYSIBM.SYSTABLESPACESTATS (record OBID X362) (continued). Items in this table are not available until DB2 Version 9 new-function mode. Dec offset 78 88 92 96 100 104 114 118 122 128 138 139 141 143 145 Hex offset 004E 0058 005C 0060 0064 0068 0072 0076 007A 0080 008A 008B 008D 008F 0091 Col 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Field STATSLASTTIME (TIMESTAMP) STATSINSERTS (INTEGER) STATSDELETES (INTEGER) STATSUPDATES (INTEGER) STATSMASSDELETE (INTEGER) COPYLASTTIME (TIMESTAMP) COPYUPDATEPAGES (INTEGER) COPYCHANGES (INTEGER) Dec len 10 4 4 4 4 10 4 4 Description Timestamp of the last RUNSTATS on the table space or partition. Number of rows inserted since last RUNSTATS. Number of rows deleted since last RUNSTATS. Number of rows updated since last RUNSTATS. Number of mass deletes since the last RUNSTATS. Timestamp of the last COPY on the table space or partition. Number of pages updated since last COPY. Number of insert/delete/update since last COPY. LRSN or RBA of the first update after the last COPY. Timestamp of first update after the last COPY. IBM-required flag (Y/N) (not null with default N). The internal identifier of the database (not null with default). The internal identifier of the table space (not null with default). Partition number (not null with default). The data set instance number or this row dbid.psid.part.instance (not null with default). Zero or kilobytes of DASD storage. Number of rows in the table space or partition. The total number of bytes occupied by row data. The total number of bytes that would be stored if the data was not compressed. Database name (not null with default). Table space name (not null with default).

COPYUPDATELRSN (CHAR 6) 6 COPYUPDATETIME (TIMESTAMP) IBMREQD (CHAR 1) DBID (SMALLINT) PSID (SMALLINT) PARTITION (SMALLINT) INSTANCE (SMALLINT) 10 1 2 2 2 2

147 155 163 171

0093 009B 00A3 00AB

30 31 32 33

SPACE (BIGINT) TOTALROWS (BIGINT) DATASIZE (BIGINT) UNCOMPRESSEDDATASIZE (BIGINT) DBNAME (VARCHAR 24) NAME (VARCHAR 24)

8 8 8 8

179

00B3

34 35

26 26

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

671

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 222. SYSIBM.SYSTABSTATS (record OBID XAF). Users can insert, update, and delete rows in this table. Dec offset 0 6 10 14 16 20 22 32 33 Hex offset 0000 0006 000A 000E 0010 0014 0016 0020 0021 1 2 3 4 5 6 7 8 9 10 Col Field Flags 00 Length 003F-013F OBID 00AF ID xx Dec len 6 4 4 2 4 2 10 1 26 26 2 130 130 8 Description Record headerrecord length, OBID, associated ID map entry Total number of rows in the partition Total number of pages in which rows appear Percentage of active pages that contain table rows Number of active pages Percentage of compressed active rows Timestamp of RUNSTATS statistics update IBM-required flag (Y/N) Name of the database that contains the table space in TSNAME Table space name Table space partition number The SCHEMA of the table Table name Total number of rows in the partition. Users can update this column. (not null with default -1)

CARD (INTEGER) NPAGES (INTEGER) PCTPAGES (SMALLINT) NACTIVE (INTEGER) PCTROWCOMP (SMALLINT) STATSTIME (TIMESTAMP) IBMREQD (CHAR 1) DBNAME (VARCHAR 24) TSNAME (VARCHAR 24) PARTITION (SMALLINT) OWNER (VARCHAR 128) NAME (VARCHAR 128) CARDF (FLOAT)

11 12 13

Table 223. SYSIBM.SYSTABSTATS_HIST (record OBID X298). Users can insert, update, and delete rows in this table. Dec offset 0 6 10 20 Hex offset 0000 0006 000A 0014 1 2 3 4 5 Col Field Flags 00 Length 0033-0133 OBID 0298 ID xx Dec len 6 4 10 26 26 2 130 130 8 Description Record headerrecord length, OBID, associated ID map entry Total number of pages in which rows appear Timestamp of RUNSTATS statistics update Name of the database that contains the table space in TSNAME Table space name Table space partition number The SCHEMA of the table Table name Total number of rows in the partition. Users can update this column. (not null with default -1) IBM-required flag (Y/N)

NPAGES (INTEGER) STATSTIME (TIMESTAMP) DBNAME (VARCHAR 24) TSNAME (VARCHAR 24) PARTITION (SMALLINT) OWNER (VARCHAR 128) NAME (VARCHAR 128) CARDF (FLOAT)

6 7 8

IBMREQD (CHAR 1)

672

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 224. SYSIBM.SYSTRIGGERS (record OBID X133) Dec offset 0 6 Hex offset 0000 0006 1 2 3 Col Field Flags 00 Length 002C-1E16 OBID 0133 ID xx Dec len 6 130 130 2 Description Record headerrecord length, OBID, associated ID map entry Name of the trigger and trigger package (not null) Schema of the trigger and collection ID of the trigger package (not null) Sequence number that identifies the portion of the trigger definition in this row (not null) Internal identifier for the database for the trigger (not null) Internal identifier for the trigger (not null) Authorization ID of the owner of the trigger (not null) Primary authorization ID of the user who created the trigger (not null) The name of the table or view to which this trigger applies (not null) The SCHEMA of the table or view (not null) Indicates whether or not trigger actions are applied before, after, or instead of the event that activates the trigger (B/A/I) (not null) Type of table update that activates the trigger (I/D/U) (not null) Indicates whether the trigger is executed once for each statement or each row (S/R) (not null) Time when the CREATE TRIGGER statement was executed (not null) IBM-required flag (Y/N) (not null with default N) Full text of the CREATE TRIGGER statement (not null) Character string provided by the user with the COMMENT on statement (not null) Unused (not null with default) Type of owner (blank/L) (not null with default) Internal environment identifier (not null with default) Release of DB2 when object was created (not null with default)

NAME (VARCHAR 128) SCHEMA (VARCHAR 128) SEQNO (SMALLINT)

4 5 6

DBID (SMALLINT) OBID (SMALLINT) OWNER (VARCHAR 128) CREATEDBY (VARCHAR 128) TBNAME (VARCHAR 128) TBOWNER (VARCHAR 128) TRIGTIME (CHAR 1)

2 2 130 130 130 130 1

| |

7 8

| | | | |

9 10

11 12

TRIGEVENT (CHAR 1) GRANULARITY (CHAR 1)

1 1

13 14 15 16 17

CREATEDTS (TIMESTAMP) IBMREQD (CHAR 1) TEXT (VARCHAR 6000) REMARKS (VARCHAR 762) TRIGNAME (VARCHAR 128) OWNERTYPE (CHAR 1) ENVID (INTEGER) RELCREATED (CHAR 1)

10 1 6002 764 130 1 4 1

| | | | | |

18 19 20

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

673

DO NOT COPY
Table 225. SYSIBM.SYSUSERAUTH (record OBID X2D) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Col Field Flags 00 Length 0047-0147 OBID 002D ID xx Dec len 6 130 130 12 6 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10

Restricted Materials of IBM Licensed Materials Property of IBM

Description Record headerrecord length, OBID, associated ID map entry Grantor of privilege Receiver of privilege Time of grantinternal format (not null for bit data) Not used Not used Type of grantor (blank/L) (not null with default) Blank or (S/D/C/M/L) Not used Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank IBM-required flag (Y/N) Privilege (G/Y) or blank (not null with default) Privilege (G/Y) or blank (not null with default) Privilege (G/Y) or blank (not null with default) Privilege (G/Y) or blank (not null with default) Privilege (G/Y) or blank (not null with default) Privilege (G/Y) or blank (not null with default) Not used (not null with default) Not used (not null with default) Time when the GRANT statement was executed (not null with default)

GRANTOR (VARCHAR 128) GRANTEE (VARCHAR 128) TIMESTAMP (CHAR 12) DATEGRANTED (CHAR 6) TIMEGRANTED (CHAR 8) GRANTEETYPE (CHAR 1) AUTHHOWGOT (CHAR 1) ALTERBPAUTH (CHAR 1) BINDADDAUTH (CHAR 1) BSDSAUTH (CHAR 1) CREATEDBAAUTH (CHAR 1) CREATEDBCAUTH (CHAR 1) CREATESGAUTH (CHAR 1) DISPLAYAUTH (CHAR 1) RECOVERAUTH (CHAR 1) STOPALLAUTH (CHAR 1) STOSPACEAUTH (CHAR 1) SYSADMAUTH (CHAR 1) SYSOPRAUTH (CHAR 1) TRACEAUTH (CHAR 1) IBMREQD (CHAR 1) MON1AUTH (CHAR 1) MON2AUTH (CHAR 1) CREATEALIASAUTH (CHAR 1) SYSCTRLAUTH (CHAR 1) BINDAGENTAUTH (CHAR 1) ARCHIVEAUTH (CHAR 1) CAPTURE1AUTH (CHAR 1) CAPTURE2AUTH (CHAR 1) GRANTEDTS (TIMESTAMP)

674

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 225. SYSIBM.SYSUSERAUTH (record OBID X2D) (continued) Dec offset Hex offset Col 31 32 33 Field CREATETMTABAUTH (CHAR 1) GRANTORTYPE (CHAR 1) DEBUGSESSIONAUTH (CHAR 1) Dec len 1 1 1 Description Privilege (G/Y) or blank (not null with default) Type of grantor (not null with default) Whether the GRANTEE has DEBUGSESSIONAUTH privilege (Y/N/blank) (not null with default)

Table 226. SYSIBM.SYSVIEWDEP (record OBID X27) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 Col Field Flags 00 Length 0013-0293 OBID 0027 ID xx Dec len 6 4 4 130 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSVIEWDEP record or SYSVTREE Backward ring pointerPoints to previous SYSVIEWDEP record or SYSVTREE Name of the object on which the view is dependent. For a function, this field contains the specific name of the function. If the object in BNAME is a view or table, this is the owner. If the object is a function, this is the schema name. Code indicating the object type (F/M/T/V) Name of the view The SCHEMA of the view IBM-required flag (Y/N) Schema of BNAME (not null with default) Type of dependency (M/V) (not null with default V) Authorization ID of the owner of the view. Blank for views that were created in a DB2 release prior to Version 9. (not null with default) Type of owner (blank/L) (not null with default)

RID (ppppppxx) RID (ppppppxx) BNAME (VARCHAR 128)

BCREATOR (VARCHAR 128)

130

3 4

BTYPE (CHAR 1) DNAME (VARCHAR 128) DCREATOR ( VARCHAR 128) IBMREQD (CHAR 1) BSCHEMA (VARCHAR 128) DTYPE (CHAR 1) DOWNER (VARCHAR 128)

1 130 130 1 130 1 130

| |

5 6 7 8

| | | | | |

10

OWNERTYPE (CHAR 1)

Table 227. SYSIBM.SYSVIEWS (record OBID X26) Dec offset 0 6 10 Hex offset 0000 0006 0010 Col Field Flags 00 Length 0028-1304 OBID 0026 ID xx Dec len 6 4 4 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSVIEWS record or SYSVTREE Backward ring pointerPoints to previous SYSVIEWS record or SYSVTREE

RID (ppppppxx) RID (ppppppxx)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

675

DO NOT COPY
Table 227. SYSIBM.SYSVIEWS (record OBID X26) (continued) Dec offset 14 Hex offset 000E Col 1 2 3 4 5 6 7 Field NAME (VARCHAR 128) CREATOR (VARCHAR 128) SEQNO (SMALLINT) CHECK (CHAR 1) IBMREQD (CHAR 1) TEXT (VARCHAR 1500) Dec len 130 130 2 1 1 1502

Restricted Materials of IBM Licensed Materials Property of IBM

Description View name The SCHEMA of the object Sequence number Check option specified (Y/N/C) IBM-required flag (Y/N/B/C/D/E/F/ G/H) CREATE VIEW statement SQL path when the view was defined. Used to resolve user-defined functions, distinct types, and stored procedures. If the PATH option was not specified in the BIND or REBIND command for the program that created the view, the column value has length 0. (not null with default) Release of DB2 that was used to create the view. This value is blank if the object was created before DB2 Version 7. (not null with default) Type of object that the row describes (M/V) (not null with default V) Whether the row represents a materialized query table in deferred refresh mode. This value is blank if the row describes a view (D/blank) (not null with default) Whether the materialized query table is enabled for query optimization. This value is blank if the row describes a view (Y/N/blank) (not null with default) If REFRESH=D, indicates whether the materialized query table is system-maintained or user-maintained. This value is blank if the row describes a view (S/U/blank) (not null with default) If REFRESH=D and MAINTENANCE=S, the timestamp when the last REFRESH TABLE statement refreshed the data. 0001-01-01.00.00.00.000000 otherwise (not null with default) Isolation level when the materialized query table was created, or altered from a base table to a materialized query table. This value is blank if the row describes a view (R/S/T/U/blank) (not null with default) Internal description of a materialized query table. This value is a string of length 0 if the row describes a view (not null with default for bit data)

PATHSCHEMAS (VARCHAR 2048) 2050

RELCREATED (CHAR 1)

9 10

TYPE (CHAR 1) REFRESH (CHAR 1)

1 1

11

ENABLE (CHAR 1)

12

MAINTENANCE (CHAR 1)

13

REFRESH_TIME (TIMESTAMP)

10

14

ISOLATION (CHAR 1)

15

SIGNATURE (VARCHAR 1024)

1026

676

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 227. SYSIBM.SYSVIEWS (record OBID X26) (continued) Dec offset Hex offset Col 16 Field APP_ENCODING_CCSID (INTEGER) Dec len 4 Description The CCSID of the current application encoding scheme when the view was created. For a view that was created before DB2 Version 8, this value is 0. (not null with default) Authorization ID of the owner of the view. Blank for views that were created in a DB2 release prior to version 9. (not null with default) Type of owner (blank/L) (not null with default) Not null with default.

| | | | | | |

17

OWNER (VARCHAR 128)

130

18 19

OWNERTYPE (CHAR 1) ENVID (INTEGER)

1 4

Table 228. SYSIBM.SYSVLTREE (record OBID 1F) Dec offset 0 6 10 14 15 Hex offset 0000 0006 000A 000E 000F 1 2 Col Field Flags 00 Length 0009-0FA9 OBID 001F ID xx Dec len 6 4 4 1 4002 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSVLTREE record or SYSVTREE Backward ring pointerPoints to previous SYSVLTREE record or SYSVTREE IBM-required flag (Y/N/G) Parse tree (not null with default for bit data)

RID (ppppppxx) RID (ppppppxx) IBMREQD (CHAR 1) VTREE (VARCHAR 4000)

Table 229. SYSIBM.SYSVOLUMES (record OBID X29) Dec offset 0 6 10 14 Hex offset 0000 0006 000A 000E 1 2 3 4 Col Field Flags 00 Length 0011-0111 OBID 0029 ID xx Dec len 6 4 4 130 130 20 1 1 Description Record headerrecord length, OBID, associated ID map entry Forward ring pointerPoints to next SYSVOLUMES record or SYSSTOGROUP Backward ring pointerPoints to previous SYSVOLUMES record or SYSSTOGROUP Storage group name Owner of the storage group Volume serial number IBM-required flag (Y/N) Release of DB2 when object was created (not null with default)

RID (ppppppxx) RID (ppppppxx) SGNAME (VARCHAR 128) SGCREATOR (VARCHAR 128) VOLID (VARCHAR 18) IBMREQD (CHAR 1) RELCREATED (CHAR 1)

| |

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

677

DO NOT COPY
Table 230. SYSIBM.SYSVTREE (record OBID X1E) Dec offset 0 6 10 14 18 Hex offset 0000 0006 000A 000E 0012 1 2 3 4 5 6 Col Field Flags 00 Length 0012-10B2 OBID 001E ID xx Dec len 6 4 4 4 130 130 4 1 4002 1

Restricted Materials of IBM Licensed Materials Property of IBM

Description Record headerrecord length, OBID, associated ID map entry Child pointerPoints to SYSVLTREE record Child pointerPoints to SYSVIEWS Child pointerPoints to SYSVIEWDEP View name Owner of the view Parse tree length IBM-required flag (Y/N/B/C/D/E/F/ G/H) Parse tree (not null with default for bit data) Type of object that the row describes (M/V) (not null with default V)

RID (ppppppxx) RID (ppppppxx) RID (ppppppxx) NAME (VARCHAR 128) CREATOR (VARCHAR 128) TOTLEN (INTEGER) IBMREQD (CHAR 1) VTREE (VARCHAR 4000) TYPE (CHAR 1)

Table 231. SYSIBM.SYSXMLRELS (record OBID X302) Dec offset 0 6 Hex offset 0000 0006 1 2 3 4 5 Col Field Flags 00 Length 001C-011C OBID 0302 ID xx Dec len 6 130 130 130 130 130 2 Description Record headerrecord length, OBID, associated ID map entry Authorization ID of the owner of the base table (not null with default). Name of the base table (not null with default). Name of the XML column in the base table (not null with default). Authorization ID of the owner of the XML table (not null with default). Name of the XML table (not null with default). Internal identifier of the relationship between the base table and the XML table (not null with default). IBM required Time when the XML table was created (not null with default). Release of DB2 that was used to create the XML table (not null with default).

TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) COLNAME (VARCHAR 128) XMLTBOWNER (VARCHAR 128) XMLTBNAME (VARCHAR 128) XMLRELOBID (SMALLINT)

| | |

7 8 9

IBMREQD (CHAR 1) CREATEDTS (TIMESTAMP) RELCREATED (CHAR 1)

1 10 1

| Table 232. SYSIBM.SYSXMLSTRINGS (record OBID X301) | Dec | offset | | 0 | |


Hex offset 0000 Col Field Flags 00 Length 001C-011C OBID 0301 ID xx Dec len 6 Description Record headerrecord length, OBID, associated ID map entry

678

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | |

Table 232. SYSIBM.SYSXMLSTRINGS (record OBID X301) (continued) Dec offset 6 10 Hex offset 0006 000A Col 1 2 3 Field STRINGID (INTEGER) STRING (VARCHAR 1000) IBMREQD (CHAR 1) Dec len 4 1002 1 Description Unique ID for the string (not null with default). The string data (not null with default). IBM required (not null with default N).

Table 233. SYSIBM.USERNAMES (record OBID XE3) Dec offset 0 Hex offset 0000 0006 0007 1 2 3 4 5 Col Field Flags 00 Length 001C-011C OBID 00E3 ID xx Dec len 6 1 130 26 130 26 Description Record headerrecord length, OBID, associated ID map entry Whether or not the row is used for inbound or outbound translation (O/I/S) (not null) Authorization ID to be translated (not null with default) VTAM or TCP/IP network location associated with this row (not null) Translated value of AUTHID (not null with default) If passwords are not encrypted, the password that accompanies and outbound request (not null with default) IBM-required flag (N/Y) (not null with default N)

| |

6 7

TYPE (CHAR 1) AUTHID (VARCHAR 128) LINKNAME (VARCHAR 24) NEWAUTHID (VARCHAR 128) PASSWORD (VARCHAR 24)

IBMREQD (CHAR 1)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 27. Catalog formats

679

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

680

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 28. Catalog index formats


This chapter contains descriptions of the indexes on the catalog tables. The index consists of key fields followed by one or more record IDs (RIDs). The RID is preceded by a flag byte that supports type two indexes. Each RID points to an associated data record. The RID is 5 bytes for indexes. If the index is unique, only one RID follows the data portion; if the index is nonunique, more than one RID can follow the data portion. Nonunique indexes include a prefix area that is 6 bytes in length. Refer to Index page set data pages on page 399 and Chapter 23, Index Page Set Formats, on page 483 for a description and formats of unique and nonunique indexes. Table 234 identifies the DB2 catalog tables that have indexes defined on them and the page number where the formats of the corresponding catalog table key columns are described. Indexes that contain varying-length columns are defined as NOT PADDED.
Table 234. DB2 catalog table index formats Catalog table SYSIBM.IPLIST SYSIBM.IPNAMES SYSIBM.LOCATIONS SYSIBM.LULIST SYSIBM.LULIST SYSIBM.LUMODES SYSIBM.LUNAMES SYSIBM.MODESELECT SYSIBM.USERNAMES SYSIBM.SYSCHECKDEP SYSIBM.SYSCHECKS SYSIBM.SYSCHECKS2 SYSIBM.SYSAUXRELS SYSIBM.SYSCOLAUTH SYSIBM.SYSCOLDIST SYSIBM.SYSCOLDIST_HIST SYSIBM.SYSCOLDISTSTATS SYSIBM.SYSCOLSTATS SYSIBM.SYSCOLUMNS SYSIBM.SYSCOLUMNS_HIST SYSIBM.SYSCONSTDEP Index Unique DSNDUX01 Unique DSNFPX01 Unique DSNFCX01 Unique DSNFLX01 Unique DSNFLX02 Unique DSNFMX01 Unique DSNFNX01 Unique DSNFDX01 Unique DSNFEX01 Unique DSNSDX01 Unique DSNSCX01 Unique DSNCHX01 Nonunique DSNOXX01 and Nonunique DSNOXX02 Nonunique DSNACX01 Nonunique DSNTNX01 Nonunique DSNHFX01 Nonunique DSNTPX01 Unique DSNTCX01 Unique DSNDCX01 and nonunique DSNDCX02 Nonunique DSNHEX01 Nonunique DSNCCX01 and nonunique DSNCCX02 Figure and page number Table 235 on page 685 Table 236 on page 685 Table 237 on page 685 Table 238 on page 685 Table 239 on page 685 Table 240 on page 685 Table 241 on page 686 Table 242 on page 686 Table 243 on page 686 Table 246 on page 687 Table 247 on page 687 Table 248 on page 687 Table 244 on page 686, and Table 245 on page 686 Table 249 on page 687 Table 250 on page 688 Table 251 on page 688 Table 252 on page 688 Table 253 on page 688 Table 254 on page 689, and Table 255 on page 689 Table 256 on page 689 Table 257 on page 689 and Table 258 on page 690

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

681

DO NOT COPY
Table 234. DB2 catalog table index formats (continued) Catalog table Index

Restricted Materials of IBM Licensed Materials Property of IBM

Figure and page number

| SYSIBM.SYSCONTEXT | | | | SYSIBM.SYSCONTEXTAUTHIDS | | SYSIBM.SYSCTXTTRUSTATTRS


SYSIBM.SYSCOPY SYSIBM.SYSDATABASE SYSIBM.SYSDATATYPES SYSIBM.SYSDBAUTH

Unique clustering index DSNCTX01, Table 259 on page 690, Table 260 on unique DSNCTX02, unique page 690, Table 261 on page 690, DSNCTX03, and nonunique and Table 262 on page 690 DSNCTX04 Unique clustering index DSNCDX01 Table 263 on page 690 and Table 264 and nonunique DSNCDX02 on page 691 Unique clustering index DSNCAX01 Table 267 on page 691 Nonunique DSNUCH01 and nonunique DSNUCX01 Table 265 on page 691 and Table 266 on page 691

Unique DSNDDH01 and nonunique Table 268 on page 691, and Table 269 DSNDDX02 on page 691 Unique DSNODX01 and unique DSNODX02 Nonunique DSNADH01 and nonunique DSNADX01 Unique DSNONX01 and Unique DSNONX02 Unique DSN0EX01 Nonunique DSNDRH01 Unique DSNDXX01, nonunique DSNDXX02, unique DSNDXX03, and nonunique DSNDXX04 Nonunique DSNHHX01 and nonunique DSNHHX02 Unique DSNDRX01 and nonunique DSNDRX02 Nonunique DSNHGX01 Unique DSNRTX02 and nonunique DSNRTX03 Unique DSNTXX01 Nonunique DSNHIX01 Auxiliary DSNJSX01 Nonunique DSNJCX01 Auxiliary DSNJDX01 Unique DSNJOX01 Nonunique DSNJVX01 Unique DSNJPX01 and nonunique DSNJPX02 Nonunique DSNCUX01 Unique DSNDKX01 Unique clustering DSNRKX01 and nonunique DSNRKX02 Nonunique DSNHKX01 Unique DSNTKX01 Nonunique DSNTDX01 Table 270 on page 692, and Table 271 on page 692 Table 272 on page 692 and Table 273 on page 692 Table 274 on page 692 and Table 275 on page 693 Table 276 on page 693 Table 277 on page 693 Table 278 on page 693, Table 279 on page 694, Table 280 on page 694, and Table 281 on page 694 Table 282 on page 694 and Table 283 on page 695 Table 284 on page 695 and Table 285 on page 695 Table 286 on page 695 Table 287 on page 695 and Table 288 on page 696 Table 289 on page 696 Table 290 on page 696 Table 291 on page 697 Table 292 on page 697 Table 293 on page 697 Table 294 on page 697 Table 295 on page 697 Table 296 on page 697 and Table 297 on page 698 Table 298 on page 698 Table 299 on page 698 Table 300 on page 698 and Table 301 on page 699 Table 302 on page 699 Table 303 on page 699 Table 304 on page 699
LY37-3218-01 Copyright IBM Corp. 1983, 2007

| SYSIBM.SYSDEPENDENCIES | | SYSIBM.SYSENVIRONMENT
SYSIBM.SYSFOREIGNKEYS SYSIBM.SYSINDEXES

SYSIBM.SYSINDEXES_HIST SYSIBM.SYSINDEXPART SYSIBM.SYSINDEXPART_HIST

| SYSIBM.SYSINDEXSPACESTATS |
SYSIBM.SYSINDEXSTATS SYSIBM.SYSINDEXSTATS_HIST SYSIBM.SYSJARCLASS_SOURCE SYSIBM.SYSJARCONTENTS SYSIBM.SYSJARDATA SYSIBM.SYSJAROBJECTS SYSIBM.SYSJAVAOPTS

| SYSIBM.SYSJAVAPATHS |
SYSIBM.SYSKEYCOLUSE SYSIBM.SYSKEYS

| SYSKEYTARGETS | | SYSKEYTARGETS_HIST | SYSKEYTARGETSTATS | SYSKEYTGTDIST

682

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 234. DB2 catalog table index formats (continued) Catalog table Index Nonunique DSNTDX02 Nonunique DSNTSX01 Unique DSNLNX01 Nonunique DSNHJX01 Unique DSNDOB01 and nonunique DSNDOB02 Unique clustering DSNRDX01 and nonunique DSNRDX02 Unique DSNKKX01 and unique DSNKKX02 Nonunique DSNKAX01, nonunique DSNKAX02, and nonunique DSNKAX03 Nonunique DSNKDX01, nonunique DSNKDX02, and nonunique DSNKDX03 Nonunique DSNKLX01 and Unique DSNKLX02 Unique DSNKSX01 Figure and page number Table 305 on page 700 Table 306 on page 700 Table 307 on page 700 Table 308 on page 701 Table 309 on page 701 and Table 310 on page 701 Table 311 on page 701 and Table 312 on page 701 Table 313 on page 702 and Table 314 on page 702 Table 315 on page 702, Table 316 on page 702 and Table 317 on page 703 Table 318 on page 703, Table 319 on page 703, and Table 320 on page 704 Table 321 on page 704 and Table 322 on page 704 Table 323 on page 704

| |

SYSKEYTGTDIST_HIST SYSKEYTGTDISTSTATS SYSIBM.SYSLOBSTATS SYSIBM.SYSLOBSTATS_HIST SYSIBM.SYSOBDS

| |

SYSIBM.SYSOBJROLEDEP SYSIBM.SYSPACKAGE SYSIBM.SYSPACKAUTH

SYSIBM.SYSPACKDEP

SYSIBM.SYSPACKLIST

SYSIBM.SYSPACKSTMT SYSIBM.SYSPARMS

Unique DSNOPX01, nonunique Table 324 on page 705, Table 325 on DSNOPX02, nonunique DSNOPX03, page 705, Table 326 on page 706, and nonunique DSNOPX04 and Table 327 on page 706 Nonunique DSNKYX01 Unique DSNPPH01 Nonunique DSNAPH01 and nonunique DSNAPX01 Nonunique DSNGGX01 Nonunique DSNKPX01 Nonunique DSNDLX01, nonunique DSNDLX02, and nonunique DSNDLX03 Nonunique DSNAGH01 and nonunique DSNAGX01 Unique clustering DSNRLX01 Nonunique DSNOAX01, nonunique DSNOAX02, and nonunique DSNOAX03 Unique DSNOFX01, unique DSNOFX02, nonunique DSNOFX03, unique DSNOFX04, nonunique DSNOFX05, nonunique DSNOFX06, unique DSNOFX07, and nonunique DSNOFX08 Nonunique DSNROX01 Nonunique DSNRSX01 and unique DSNRSX02 Table 328 on page 706 Table 329 on page 706 Table 330 on page 707 and Table 331 on page 707 Table 332 on page 707 Table 333 on page 707 Table 334 on page 707, Table 335 on page 708, and Table 336 on page 708 Table 337 on page 708 and Table 338 on page 708 Table 339 on page 709 Table 340 on page 709, Table 341 on page 709, and Table 342 on page 710 Table 343 on page 710, page 712, Table 342 on Table 346 on page 712, page 713, Table 348 on Table 349 on page 713, on page 715 Table 351 on page 715 Table 352 on page 715 and Table 353 on page 715 Table 344 on page 710, Table 347 on page 713, and Table 350

SYSIBM.SYSPKSYSTEM SYSIBM.SYSPLAN SYSIBM.SYSPLANAUTH SYSIBM.SYSPLANDEP SYSIBM.SYSPLSYSTEM

| | |

SYSIBM.SYSRELS

SYSIBM.SYSRESAUTH

SYSIBM.SYSROLES SYSIBM.SYSROUTINEAUTH

SYSIBM.SYSROUTINES

SYSIBM.SYSROUTINES_OPTS SYSIBM.SYSROUTINES_SRC

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

683

DO NOT COPY
Table 234. DB2 catalog table index formats (continued) Catalog table SYSIBM.SYSSCHEMAAUTH SYSIBM.SYSSEQUENCEAUTH Index Nonunique DSNSKX01 and nonunique DSNSKX02

Restricted Materials of IBM Licensed Materials Property of IBM

Figure and page number Table 354 on page 715, and Table 355 on page 716

Nonunique DSNWCX01, nonunique Table 356 on page 716, Table 357 on DSNWCX02, and nonunique page 716, and Table 358 on page 716 DSNWCX03 Unique DSNSQX01 and unique descending DSNSQX02 Unique DSNSRX01 and nonunique DSNSRX02 Unique DSNSSH01 Unique DSNSSX01 Unique DSNDYX01 Nonunique DSNATX01, nonunique DSNATX02, nonunique DSNATX03, and nonunique DSNATX04 Unique DSNCNX01 and nonunique DSNCNX02 Table 359 on page 717 and Table 360 on page 717 Table 361 on page 717 and Table 362 on page 717 Table 363 on page 718 Table 364 on page 718 Table 365 on page 718 Table 366 on page 718, Table 367 on page 718, Table 368 on page 719, and Table 369 on page 720 Table 370 on page 720 and Table 371 on page 720

SYSIBM.SYSSEQUENCES SYSIBM.SYSSEQUENCESDEP SYSIBM.SYSSTOGROUP SYSIBM.SYSSTRINGS SYSIBM.SYSSYNONYMS SYSIBM.SYSTABAUTH

SYSIBM.SYSTABCONST SYSIBM.SYSTABLEPART

Unique DSNDPX01, nonunique Table 372 on page 720, Table 373 on DSNDPX02, nonunique DSNDPX03, page 720, Table 374 on page 721, and nonunique DSNDPX04 and Table 375 on page 721 Nonunique DSNHCX01 Unique DSNDTX01, unique DSNDTX02, and nonunique DSNDTX03 Nonunique DSNHDX01 Unique DSNDSX01 Unique DSNRTX01 Unique DSNTTX01 Nonunique DSNHBX01 Unique DSNOTX01, nonunique DSNOTX02, and nonunique DSNOTX03 Nonunique DSNAUH01 and nonunique DSNAUX02 Unique DSNGGX02, nonunique DSNGGX03, and nonunique DSNGGX04 Unique DSNVVX01 Unique DSNVTH01 Nonunique DSNXRX01 and nonunique DSNXRX02 Unique clustering DSNXSX01 and unique DSNXSX02 Table 376 on page 721 Table 377 on page 721, Table 378 on page 722, and Table 379 on page 722 Table 380 on page 722 Table 381 on page 722 Table 382 on page 722 Table 383 on page 723 Table 384 on page 723 Table 385 on page 723, Table 386 on page 724, and Table 387 on page 724 Table 388 on page 724 and Table 389 on page 724 Table 390 on page 724, Table 391 on page 725, and Table 392 on page 725 Table 393 on page 725 Table 394 on page 725 Table 395 on page 726 and Table 396 on page 726 Table 397 on page 726 and Table 398 on page 726

SYSIBM.SYSTABLEPART_HIST SYSIBM.SYSTABLES

SYSIBM.SYSTABLES_HIST SYSIBM.SYSTABLESPACE

| SYSIBM.SYSTABLESPACESTATS
SYSIBM.SYSTABSTATS SYSIBM.SYSTABSTATS_HIST SYSIBM.SYSTRIGGERS

SYSIBM.SYSUSERAUTH SYSIBM.SYSVIEWDEP

SYSIBM.SYSVIEWS SYSIBM.SYSVTREE

| SYSIBM.SYXMLRELS | | SYSIBM.SYSXMLSTRINGS |

684

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | |

Table 235. SYSIBM.IPLIST (unique clustering index DSNDUX01): fan set (737/2E1) page set (738/2E2) Hex Dec offset offset 0 0000 Col 1 2 Field LINKNAME (VARCHAR 24) IPADDR (VARCHAR 254) Flag byte + RID Dec len 0-24 0-254 Description Value of column LINKNAME in table LOCATIONS with which this row is associated IPv4 address, IPv6 address, or domain name of a remote TCP/IP host of the server (not null with default) Pointer to associated data record

Table 236. SYSIBM.IPNAMES (unique index DSNFPX01): fan set (246/F6) page set (247/F7) Hex Dec offset offset 0 8 0000 0008 Col 1 Field LINKNAME (CHAR 8) Flag byte + RID Dec len 8 5 Description Value of column LINKNAME in table LOCATIONS with which this row is associated Pointer to associated data record

Table 237. SYSIBM.LOCATIONS (unique index DSNFCX01): fan set (216/D8) page set (217/D9) Hex Dec offset offset 0 0000 Col 1 Field LOCATION (VARCHAR 128) Flag byte + RID Dec len 0-128 5 Description Unique location name for an accessible server Pointer to associated data record

Table 238. SYSIBM.LULIST (unique index DSNFLX01): fan set (233/E9) page set (234/EA) Hex Dec offset offset 0 0000 Col 1 2 Field LINKNAME (VARCHAR 24) LUNAME (VARCHAR 24) Flag byte + RID Dec len 0-24 0-24 5 Description Value of column LINKNAME in table LOCATIONS with which this row is associated LU name of the remote database system Pointer to associated data record

Table 239. SYSIBM.LULIST (unique index DSNFLX02): fan set (235/EB) page set (236/EC) Hex Dec offset offset 0 0000 Col 2 Field LUNAME (VARCHAR 24) Flag byte + RID Dec len 0-24 5 Description LU name of the remote database system Pointer to associated data record

Table 240. SYSIBM.LUMODES (unique index DSNFMX01): fan set (239/EF) page set (240/F0) Hex Dec offset offset 0 0000 Col 1 2 Field LUNAME (VARCHAR 24) MODENAME (VARCHAR 24) Flag byte + RID
LY37-3218-01 Copyright IBM Corp. 1983, 2007

Dec len 0-24 0-24 5

Description Name of the LU for one or more accessible systems Name of a logon mode description in the VTAM logon mode table Pointer to associated data record
Chapter 28. Catalog index formats

DO NOT COPY

685

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 241. SYSIBM.LUNAMES (unique index DSNFNX01: fan set (219/DB) page set (220/DC) Hex Dec offset offset 0 0000 Col 1 Field LUNAME (VARCHAR 24) Flag byte + RID Dec len 0-24 5 Description Name of the LU for one or more accessible systems Pointer to associated data record

Table 242. SYSIBM.MODESELECT (unique index DSNFDX01): fan set (243/F3) page set (244/F4) Hex Dec offset offset 0 0000 Col 3 1 2 Field LUNAME (VARCHAR 24) Dec len 0-24 Description LU name associated with the SQL request Authorization ID to be translated (descending) Plan name associated with the SQL request (descending) Pointer to associated data record

AUTHID (VARCHAR 0-128 128) PLANNAME (CHAR 8 8) Flag byte + RID 5

Table 243. SYSIBM.USERNAMES (unique index DSNFEX01): fan set (228/E4) page set (229/E5) Hex Dec offset offset 0 1 0000 0001 Col 1 2 3 Field TYPE (CHAR 1) Dec len 1 Description Whether the row is used for inbound or outbound translation Authorization ID associated with an outgoing SQL request (descending) VTAM or TCP/IP network location associated with this row (descending) Pointer to associated data record

AUTHID (VARCHAR 0-128 128) LINKNAME (VARCHAR 24) Flag byte + RID 0-24 5

Table 244. SYSIBM.SYSAUXRELS (nonunique clustering index DSNOXX01): fan set (303/12F) page set (304/130) Hex Dec offset offset 0 8 26 0000 0008 001A Col 1 2 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Authorization ID of the owner of the base table Name of the base table Pointer to associated data record

Table 245. SYSIBM.SYSAUXRELS (nonunique index DSNOXX02): fan set (305/131) page set (306/132) Hex Dec offset offset 0 0000 Col 5 6 Field AUXTBOWNER (VARCHAR 128) AUXTBNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Authorization ID of the owner of the auxiliary table Name of the auxiliary table Pointer to associated data record

686

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 246. SYSIBM.SYSCHECKDEP (unique index DSNSDX01): fan set (204/CC) page set (205/CD) Hex Dec offset offset 0 0000 Col 1 2 3 4 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) CHECKNAME (VARCHAR 128) COLNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 128 0-128 5 Description Authorization ID of owner of table on which table check constraint is defined Name of the table on which table check constraint is defined The table check constraint name Name of the column referenced by the table check constraint Pointer to associated data record

Table 247. SYSIBM.SYSCHECKS (unique index DSNSCX01): fan set (202/CA) page set (203/CB) Hex Dec offset offset 0 0000 Col 1 8 9 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) CHECKNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Authorization ID of owner of table on which table check constraint is defined Name of the table on which table check constraint is defined The table check constraint name Pointer to associated data record

Table 248. SYSIBM.SYSCHECKS2 (unique clustering index DSNCHX01): fan set (397/18D) page set (398/18E) Hex Dec offset offset 0 0000 Col 1 2 3 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) CHECKNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Authorization ID of owner of table on which table check constraint is defined Name of the table on which table check constraint is defined The table check constraint name Pointer to associated data record

Table 249. SYSIBM.SYSCOLAUTH (nonunique index DSNACX01): fan set (760/2F8) page set (761/2F9) Hex Dec offset offset 0 0000 Col 4 5 9 Field CREATOR (VARCHAR 128) TNAME (VARCHAR 128) COLNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Owner of the table on which the privilege is held Name of the table that contains the column Column name Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

687

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 250. SYSIBM.SYSCOLDIST (nonunique index DSNTNX01): fan set (177/B1) page set (178/B2) Hex Dec offset offset 0 0000 Col 4 5 6 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Table owner authorization ID Name of the table that contains the column Column name Pointer to associated data record

Table 251. SYSIBM.SYSCOLDIST_HIST (nonunique clustering index DSNHFX01): fan set (393/189) page set (394/18A) Hex Dec offset offset 0 0000 Col 2 3 4 1 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) STATSTIME (TIMESTAMP) Flag byte + RID Dec len 0-128 0-128 0-128 10 5 Description Table owner authorization ID Name of the table that contains the column Column name Timestamp of RUNSTATS statistics update Pointer to associated data record

Table 252. SYSIBM.SYSCOLDISTSTATS (nonunique index DSNTPX01): fan set (179/B3) page set (180/B4) Hex Dec offset offset 0 0000 Col 5 6 7 4 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) PARTITION (SMALLINT) Flag byte + RID Dec len 0-128 0-128 0-128 2 5 Description Table owner authorization ID Name of the table that contains the column Column name Table space partition number Pointer to associated data record

Table 253. SYSIBM.SYSCOLSTATS (unique index DSNTCX01): fan set (181/B5) page set (182/B6) Hex Dec offset offset 0 0000 Col 9 10 11 8 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) PARTITION (SMALLINT) Dec len 0-128 0-128 0-128 2 Description Table owner authorization ID Name of the table that contains the column Column name Table space partition number
LY37-3218-01 Copyright IBM Corp. 1983, 2007

688

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 253. SYSIBM.SYSCOLSTATS (unique index DSNTCX01): fan set (181/B5) page set (182/B6) (continued) Hex Dec offset offset Col Field Flag byte + RID Dec len 5 Description Pointer to associated data record

Table 254. SYSIBM.SYSCOLUMNS (unique index DSNDCX01): fan set (115/73) page set (116/74) Hex Dec offset offset 0 0000 Col 3 2 1 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Owner of the table or view that contains the column Table name or view Column name Pointer to associated data record

Table 255. SYSIBM.SYSCOLUMNS (nonunique index DSNDCX02): fan set (349/15D) page set (350/15E) Hex Dec offset offset 0 0000 Col 27 28 Field TYPESCHEMA (VARCHAR 128) TYPENAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description If COLTYPE=DISTINCT, the schema of the distinct data type. SYSIBM otherwise. If COLTYPE=DISTINCT, the name of the distinct type. The value of COLTYPE otherwise. Pointer to associated data record

Table 256. SYSIBM.SYSCOLUMNS_HIST (unique index DSNHEX01): fan set (602/25A) page set (603/25B) Hex Dec offset offset 0 0000 Col 3 2 1 11 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) STATSTIME (TIMESTAMP) Flag byte + RID Dec len 0-128 0-128 0-128 10 5 Description Owner of the table or view that contains the column Table name or view Column name Timestamp of RUNSTATS statistics update Pointer to associated data record

Table 257. SYSIBM.SYSCONSTDEP (nonunique clustering index DSNCCX01): fan set (343/157) page set (344/158) Hex Dec offset offset 0 0000 Col 2 1 3 Field BSCHEMA (VARCHAR 128) BNAME (VARCHAR 128) BTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Schema of the object on which there is a dependency Name of the object on which there is a dependency Type of object on which there is a dependency Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

689

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 258. SYSIBM.SYSCONSTDEP (nonunique index DSNCCX02): fan set (398/18E) page set (399/18F) Hex Dec offset offset 0 0000 Col 5 4 Field DTBCREATOR (VARCHAR 128) DTBNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Authorization ID of the table that has a dependency Name of the table on which there is a dependency Pointer to associated data record

| Table 259. SYSIBM.SYSCONTEXT (Unique clustering index DSNCTX01): fan set (831/33F) page set (832/340)
Hex | | Dec offset offset Col 1 Field NAME (VARCHAR 128) Dec len 0-128 Description Name of trusted context

| 0 | |

0000

| Table 260. SYSIBM.SYSCONTEXT (Unique index DSNCTX02): fan set (833/341) page set (834/342)
Hex | | Dec offset offset Col 5 Field SYSTEMAUTHID (VARCHAR 128) Dec len 0-128 Description DB2 primary authorization ID used to establish the connection. For remote requests, it is derived from the system user ID provided by an external entity, such as a middleware server. For local requests, it depends on the source of the address space (RRSAF/TSO/BATCH)

| 0 | | | | | |

0000

| Table 261. SYSIBM.SYSCONTEXT (Unique index DSNCTX03): fan set (835/343) page set (836/344) | Hex | Dec offset offset | 0 | |
0000 Col 2 Field CONTEXTID (INTEGER) Dec len 4 Description Internal context ID

| Table 262. SYSIBM.SYSCONTEXT (Nonnique index DSNCTX04): fan set (855/357) page set (856/358)
Hex | | Dec offset offset Col 6 Field DEFAULTROLE (VARCHAR 128) Dec len 0-128 Description Name of the context default role

| 0 | |

0000

| Table 263. SYSIBM.SYSCONTEXTAUTHIDS (Unique clustering index DSNCDX01): fan set (843/34B) page set | (844/34C)
Hex | | Dec offset offset Col 1 2 Field CONTEXTID (INTEGER) Dec len 4 Description Internal context ID Primary authorization ID that can reuse a connection in the identified trusted context

| 0 | | 4 | |

0000 0004

AUTHID (VARCHAR 0-128 128)

690

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | |

Table 264. SYSIBM.SYSCONTEXTAUTHIDS (Nonunique index DSNCDX02): fan set (857/359) page set (858/35A) Hex Dec offset offset 0 0000 Col 4 Field ROLE (VARCHAR 128) Dec len 0-128 Description Role for AUTHID. The role supersedes the default role, if any, defined for the context.

Table 265. SYSIBM.SYSCOPY (nonunique index DSNUCH01): fan set (91/5B) page set (114/72) Hex Dec offset offset 0 8 16 22 32 0000 0008 0010 0016 0020 Col 1 2 6 14 Field DBNAME (CHAR 8) TSNAME (CHAR 8) START_RBA (CHAR 6) TIMESTAMP (TIMESTAMP) Flag byte + RID Dec len 8 8 6 10 5 Description Database name Table space name Starting RBA. This is a descending key column. Timestamp of this entry. This is a descending key column. Pointer to associated data record

Table 266. SYSIBM.SYSCOPY (nonunique index DSNUCX01): fan set (117/75) page set (118/76) Hex Dec offset offset 0 44 0000 002C Col 10 Field Dec len Description Data set name Pointer to associated data record

DSNAME (CHAR 44) 44 Flag byte + RID 5

| | | | | | | | | | |

Table 267. SYSIBM.SYSCTXTTRUSTATTRS (Unique clustering index DSNCAX01): fan set (839/347) page set (840/348) Hex Dec offset offset 0 4 0000 0004 Col 1 2 3 Field CONTEXTID (INTEGER) NAME (VARCHAR 128) VALUE (VARCHAR 256) Dec len 4 0-128 0-256 Description Internal context ID Name of trusted context Value of the trust attribute

Table 268. SYSIBM.SYSDATABASE (unique index DSNDDH01): fan set (85/55) page set (107/6B) Hex Dec offset offset 0 0000 Col 1 Field NAME (VARCHAR 24) Flag byte + RID Dec len 0-24 5 Description Database name Pointer to associated data record

Table 269. SYSIBM.SYSDATABASE (nonunique index DSNDDX02): fan set (200/C8) page set (201/C9) Hex Dec offset offset 0 0000 Col 11 Field GROUP_MEMBER (VARCHAR 24) Flag byte + RID Dec len 0-24 5 Description DB2 data sharing member name of DB2 subsystem that uses this workfile database Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

691

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 270. SYSIBM.SYSDATATYPES (primary unique clustering index DSNODX01): fan set (338/152) page set (339/153) Hex Dec offset offset 0 0000 Col 1 3 Field SCHEMA (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the data type Name of the data type Pointer to associated data record

Table 271. SYSIBM.SYSDATATYPES (unique index DSNODX02): fan set (340/154) page set (341/155) Hex Dec offset offset 0 4 0000 0004 Col 8 Field DATATYPEID (INTEGER) Flag byte + RID Dec len 4 5 Description Internal identifier of the data type (descending) Pointer to associated data record

Table 272. SYSIBM.SYSDBAUTH (nonunique index DSNADH01): fan set (88/58) page set (109/6D) Hex Dec offset offset 0 0000 Col 2 3 Field GRANTEE (VARCHAR 128) NAME (VARCHAR 24) GRANTEETYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-24 1 5 Description Receiver of privilege Database name Not used, blank Pointer to associated data record

| |

Table 273. SYSIBM.SYSDBAUTH (nonunique index DSNADX01): fan set (87/57) page set (108/6C) Hex Dec offset offset 0 0000 Col 1 3 26 Field GRANTOR (VARCHAR 128) NAME (VARCHAR 24) GRANTORTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-24 1 5 Description Grantor of privilege Database name Type of grantor (not null with default) Pointer to associated data record

| Table 274. SYSIBM.SYSDEPENDENCIES (Unique clustering index DSNONX01): fan set (815/32F) page set (816/330)
Hex | | Dec offset offset Col 2 1 5 Field BSCHEMA (VARCHAR 128) BNAME (VARCHAR 128) BTYPE (CHAR 1) Dec len 0-128 0-128 1 Description Schema or qualifier of the object on which another object is dependent Name of the object on which another object is dependent Type of the object identified by BNAME, BSCHEMA and BCOLNAME
LY37-3218-01 Copyright IBM Corp. 1983, 2007

| 0 | | | | |

0000

692

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 274. SYSIBM.SYSDEPENDENCIES (Unique clustering index DSNONX01): fan set (815/32F) page set (816/330) (continued) Hex Dec offset offset Col 3 Field BCOLNAME (VARCHAR 128) Flag byte + RID Dec len 2 5 Description Column number of the object on which another object is dependent Pointer to associated data record

Table 275. SYSIBM.SYSDEPENDENCIES (Unique index DSNONX02): fan set (817/331) page set (818/332) Hex Dec offset offset 0 0000 Col 9 8 12 10 Field DSCHEMA (VARCHAR 128) Dec len 0-128 Description Schema or qualifier of the object which has dependencies on another object Name of the object which has dependencies on another object Type of the object identified by DNAME, DSCHEMA and DCOLNAME Column name of the object which has dependencies on another object Pointer to associated data record

DNAME (VARCHAR 0-128 128) DTYPE (CHAR 1) DCOLNAME (VARCHAR 128) Flag byte + RID 1 2 5

Table 276. SYSIBM.SYSENVIRONMENT (Unique index DSNOEX01): fan set (820/334) page set (821/335) Hex Dec offset offset 0 0000 Col 1 Field ENVID (INTEGER) Flag byte + RID Dec len 4 5 Description Internal identifier of the environment Pointer to associated data record

Table 277. SYSIBM.SYSFOREIGNKEYS (nonunique index DSNDRH01): fan set (726/2D6) page set (727/2D7) Hex Dec offset offset 0 0000 Col 1 2 3 Field CREATOR (VARCHAR 128) TBNAME (VARCHAR 128) RELNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Owner of the table containing the column Name of the table containing the column Name of the relationship for which the column is a part of the foreign key Pointer to associated data record

Table 278. SYSIBM.SYSINDEXES (unique index DSNDXX01): fan set (63/3F) page set (95/5F) Hex Dec offset offset 0 0000 Col 2 1 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Owner of the index Name of index Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

693

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 279. SYSIBM.SYSINDEXES (nonunique index DSNDXX02): fan set (64/40) page set (96/60) Hex Dec offset offset 0 0000 Col 12 13 Field DBNAME (VARCHAR 24) INDEXSPACE (VARCHAR 24) Flag byte + RID Dec len 0-24 0-24 5 Description Database name Index space name Pointer to associated data record

Table 280. SYSIBM.SYSINDEXES (unique index DSNDXX03): fan set (194/C2) page set (195/C3) Hex Dec offset offset 0 0000 Col 4 3 2 1 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) CREATOR (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 0-128 5 Description Owner of the table Table name on which index created Owner of the index Index name Pointer to associated data record

Table 281. SYSIBM.SYSINDEXES (nonunique index DSNDXX04): fan set (728/2D8) page set (729/2D9) Hex Dec offset offset 0 1 0000 0001 Col 30 Field INDEXTYPE (CHAR 1) Flag byte + RID Dec len 1 5 Description Index type Pointer to associated data record

Table 282. SYSIBM.SYSINDEXES_HIST (nonunique clustering index DSNHHX01): fan set (626/272) page set (627/273) Hex Dec offset offset 0 0000 Col 4 3 1 8 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) NAME (VARCHAR 128) STATSTIME (TIMESTAMP) Flag byte + RID Dec len 0-128 0-128 0-128 10 5 Description Owner of the table Table name on which index created Index name Timestamp of RUNSTATS statistics update Pointer to associated data record

694

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 283. SYSIBM.SYSINDEXES_HIST (nonunique clustering index DSNHHX02): fan set (722/2D2) page set (723/2D3) Hex Dec offset offset 0 0000 Col 2 1 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) Flag bye + RID Dec len 0-128 0-128 5 Description Authorization ID of the owner of the index Name of the index Pointer to associated data record

Table 284. SYSIBM.SYSINDEXPART (unique index DSNDRX01): fan set (196/C4) page set (197/C5) Hex Dec offset offset 0 0 Col 3 2 1 Field IXCREATOR (VARCHAR 128) Dec len 0-128 Description Owner of the index Index name (8000) or partition number Pointer to associated data record

IXNAME (VARCHAR 0-128 128) PARTITION (SMALLINT) Flag byte + RID 2 5

Table 285. SYSIBM.SYSINDEXPART (nonunique index DSNDRX02): fan set (352/160) page set (353/161) Hex Dec offset offset 0 0 Col 7 Field STORNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 5 Description Storage group or VSAM catalog name Pointer to associated data record

Table 286. SYSIBM.SYSINDEXPART_HIST (nonunique clustering index DSNHGX01): fan set (618/26A) page set (619/26B) Hex Dec offset offset 0 0 Col 3 2 1 8 Field IXCREATOR (VARCHAR 128) Dec len 0-128 Description Owner of the index Index name (8000) or partition number Timestamp of RUNSTATS statistics update Pointer to associated data record

IXNAME (VARCHAR 0-128 128) PARTITION (SMALLINT) STATSTIME (TIMESTAMP) Flag byte + RID 2 10 5

| | | | | |

Table 287. SYSIBM.SYSINDEXSPACESTATS (unique index DSNRTX02): fan set (872/368) page set (873/369) Hex Dec offset offset 0 0000 Col 29 30 Field DBID ISOBID Dec len 2 2 Description The internal identifier of the database. The internal identifier of the index space page set descriptor.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

695

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| Table 287. SYSIBM.SYSINDEXSPACESTATS (unique index DSNRTX02): fan set (872/368) page set | (873/369) (continued)
Hex | | Dec offset offset Col 32 33 Field PARTITION INSTANCE Flag byte + RID Dec len 2 2 5 Description Maps a data set number in an index space to its statistics. Indicates if the object is associated with data set 1 or 2. Pointer to associated data record

| | | | | |
Hex | | Dec offset offset

| Table 288. SYSIBM.SYSINDEXSPACESTATS (unique index DSNRTX03): fan set (890/37A) page set (891/37B)
Col 37 36 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Index creator (not null with default). The name of the index (not null with default). Pointer to associated data record

| 0 | | | | |

0000

Table 289. SYSIBM.SYSINDEXSTATS (unique index DSNTXX01): fan set (183/B7) page set (184/B8) Hex Dec offset offset 0 0000 Col 10 11 9 Field Dec len Description Index owner authorization ID Index name Index partition number Pointer to associated data record

OWNER (VARCHAR 0-128 128) NAME (VARCHAR 128) PARTITION (SMALLINT) Flag byte + RID 0-128 2 5

Table 290. SYSIBM.SYSINDEXSTATS_HIST (nonunique clustering index DSNHIX01): fan set (622/26E) page set (623/26D) Hex Dec offset offset 0 0000 Col 5 6 4 3 Field Dec len Description Index owner authorization ID Index name Index partition number Timestamp of RUNSTATS statistics update Pointer to associated data record

OWNER (VARCHAR 0-128 128) NAME (VARCHAR 128) PARTITION (SMALLINT) STATSTIME (TIMESTAMP) Flag byte + RID 0-128 2 10 5

696

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 291. SYSIBM.SYSJARCLASS_SOURCE (auxiliary index DSNJSX01): fan set (607/25F) page set (608/260) Hex Dec offset offset 0 10485760 0000 A00000 Col 1 Field CLASS_SOURCE (CLOB 10M) Flag byte + RID Dec len 10485760 5 Description Contents of the classes in the JAR file Pointer to associated data record

Table 292. SYSIBM.SYSJARCONTENTS (Nonunique clustering index DSNJCX01): fan set (630/276) page set (631/277) Hex Dec offset offset 0 0000 Col 1 Field JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the JAR file Name of the JAR file Pointer to associated data record

Table 293. SYSIBM.SYSJARDATA (auxiliary index DSNJDX01): fan set (634/27A) page set (635/27B) Hex Dec offset offset 0 104857600 0000 6400000 Col 1 Field JAR_DATA (BLOB 100M) Flag byte + RID Dec len 104857600 5 Description Contents of the JAR file Pointer to associated data record

Table 294. SYSIBM.SYSJAROBJECTS (Unique clustering index DSNJOX01): fan set (637/27D) page set (638/27E) Hex Dec offset offset 0 0000 Col 1 2 Field JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the JAR file Name of the JAR file Pointer to associated data record

Table 295. SYSIBM.SYSJAVAOPTS (Nonunique clustering index DSNJVX01): fan set (640/280) page set (641/281) Hex Dec offset offset 0 0000 Col 1 2 Field JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the JAR file Name of the JAR file Pointer to associated data record

| | | | |

Table 296. SYSIBM.SYSJAVAPATHS (Unique index DSNJPX01): fan set (782/30E) page set (783/30F) Hex Dec offset offset 0 0000 Col 1 Field JARSCHEMA (VARCHAR 128) Dec len 0-128 Description Schema of the JAR file

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

697

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| Table 296. SYSIBM.SYSJAVAPATHS (Unique index DSNJPX01): fan set (782/30E) page set (783/30F) (continued)
Hex | | Dec offset offset Col 2 4 Field JAR_ID (VARCHAR 128) ORDINAL (SMALLINT) Flag byte + RID Dec len 0-128 2 5 Description Name of the JAR file The ordinal number of the path element within the JARs Java path Pointer to associated data record

| | | | | |
Hex | | Dec offset offset

| Table 297. SYSIBM.SYSJAVAPATHS (Nonunique index DSNJPX02): fan set (784/310) page set (785/311)
Col 6 7 Field PE_JARSCHEMA (VARCHAR 128) PE_JAR_ID (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description The schema of this path elements JAR file The name of this path elements JAR file Pointer to associated data record

| 0 | | | | |

0000

Table 298. SYSIBM.SYSKEYCOLUSE (unique index DSNCUX01): fan set (643/283) page set (644/284) Hex Dec offset offset Col 2 3 1 5 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) CONSTNAME (VARCHAR 128) COLSEQ (SMALLINT) Flag byte + RID Dec len 0-128 0-128 0-128 2 5 Description Authorization ID of the owner of the table on which the constraint is defined Name of the table on which the constraint is defined Name of the constraint Numeric position in the key of the column Pointer to associated data record

Table 299. SYSIBM.SYSKEYS (unique index DSNDKX01): fan set (192/C0) page set (193/C1) Hex Dec offset offset 0 0 Col 2 1 3 Field IXCREATOR (VARCHAR 128) Dec len 0-128 Description Owner of the index Index name Column name of key Pointer to associated data record

IXNAME (VARCHAR 0-128 128) COLNAME (VARCHAR 128) Flag byte + RID 0-128 5

| Table 300. SYSIBM.SYSKEYTARGETS (Unique index DSNRKX01): fan set (790/316) page set (791/317)
Hex | | Dec offset offset Col 2 Field IXSCHEMA (VARCHAR 128) Dec len 0-128 Description Qualifier of index

| 0 |

0000

698

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Table 300. SYSIBM.SYSKEYTARGETS (Unique index DSNRKX01): fan set (790/316) page set (791/317) (continued) Hex Dec offset offset Col 1 3 Field Dec len Description Name of index Numeric position of the key-target in the index Pointer to associated data record

IXNAME (VARCHAR 0-128 128) KEYSEQ (SMALLINT) Flag byte + RID 2 5

Table 301. SYSIBM.SYSKEYTARGETS (Nonunique index DSNRKX02): fan set (792/318) page set (793/319) Hex Dec offset offset 0 0000 Col 8 Field DATATYPEID (INTEGER) Dec len 4 Description The internal ID of the built-in or distinct type

XMLPATTERN_INTERNAL Flag byte + RID 5 Pointer to associated data record

Table 302. SYSIBM.SYSKEYTARGETS_HIST (Nonunique index DSNHKX01): fan set (796/31C) page set (797/31D) Hex Dec offset offset 0 0000 Col 2 1 3 13 Field IXSCHEMA (VARCHAR 128) Dec len 0-128 Description Qualifier of index Name of index Numeric position of the key-target in the index Timestamp of RUNSTATS Pointer to associated data record

IXNAME (VARCHAR 0-128 128) KEYSEQ (SMALLINT) STATSTIME (TIMESTAMP) Flag byte + RID 2 10 5

Table 303. SYSIBM.SYSKEYTARGETSTATS (Unique index DSNTKX01): fan set (800/320) page set (801/321) Hex Dec offset offset 0 0000 Col 2 1 3 13 Field IXSCHEMA (VARCHAR 128) Dec len 0-128 Description Qualifier of index Name of index Numeric position of the key-target in the index Table space partition number Pointer to associated data record

IXNAME (VARCHAR 0-128 128) KEYSEQ (SMALLINT) PARTITION (SMALLINT) Flag byte + RID 2 2 5

Table 304. SYSIBM.SYSKEYTGTDIST (Nonunique index DSNTDX01): fan set (804/324) page set (805/325) Hex Dec offset offset 0 0000 Col 3 Field IXSCHEMA (VARCHAR 128) Dec len 0-128 Description Qualifier of index

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

699

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| Table 304. SYSIBM.SYSKEYTGTDIST (Nonunique index DSNTDX01): fan set (804/324) page set | (805/325) (continued)
Hex | | Dec offset offset Col 4 5 Field Dec len Description Name of index Numeric position of the key-target in the index Pointer to associated data record

| | | | | |
Hex | | Dec offset offset

IXNAME (VARCHAR 0-128 128) KEYSEQ (SMALLINT) Flag byte + RID 2 5

| Table 305. SYSIBM.SYSKEYTGTDIST_HIST (Nonunique index DSNTDX02): fan set (808/328) page set (809/329)
Col 3 4 5 1 Field IXSCHEMA (VARCHAR 128) Dec len 0-128 Description Qualifier of index Name of index Numeric position of the key-target in the index Timestamp of RUNSTATS Pointer to associated data record

| 0 | | | | | | | | |

0000

IXNAME (VARCHAR 0-128 128) KEYSEQ (SMALLINT) STATSTIME (TIMESTAMP) Flag byte + RID 2 10 5

| Table 306. SYSIBM.SYSKEYTGTDISTSTATS (Nonunique index DSNTSX01): fan set (812/32C) page set (813/32D)
Hex | | Dec offset offset Col 4 5 6 3 Field IXSCHEMA (VARCHAR 128) Dec len 0-128 Description Qualifier of index Name of index Numeric position of the key-target in the index Table space partition number Pointer to associated data record

| 0 | | | | | | | | |

0000

IXNAME (VARCHAR 0-128 128) KEYSEQ (SMALLINT) PARTITION (SMALLINT) Flag byte + RID 2 2 5

Table 307. SYSIBM.SYSLOBSTATS (unique clustering index DSNLNX01): fan set (335/14F) page set (336/150) Hex Dec offset offset 0 8 16 0 0008 0010 Col 5 6 Field DBNAME (CHAR 8) NAME (CHAR 8) Flag byte + RID Dec len 8 8 5 Description Database that contains the LOB table space in the NAME field Name of the LOB table space Pointer to associated data record

700

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 308. SYSIBM.SYSLOBSTATS_HIST (nonunique clustering index DSNHJX01): fan set (647/287) page set (648/288) Hex Dec offset offset 0 0 Col 4 5 1 Field DBNAME (VARCHAR 24) NAME (VARCHAR 24) STATSTIME (TIMESTAMP) Flag byte + RID Dec len 0-24 0-24 10 5 Description Database that contains the LOB table space in the NAME field Name of the LOB table space Timestamp of RUNSTATS statistics update Pointer to associated data record

Table 309. SYSIBM.SYSOBDS (unique clustering index DSNDOB01): fan set (740/2E4) page set (741/2E5) Hex Dec offset offset 0 8 0000 0008 Col 1 2 3 4 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) OBDTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Authorization ID under which the table space or index was altered Name of the object that was altered Type of object Pointer to associated data record

Table 310. SYSIBM.SYSOBDS (nonunique index DSNDOB02): fan set (742/2E6) page set (743/2E7) Hex Dec offset offset 0 2 4 0 0002 0004 Col 3 4 Field DBID (SMALLINT) PSID (SMALLINT) Flag byte + RID Dec len 2 2 5 Description Internal identifier of the database to which the altered object belongs Internal identifier of the table space or index space descriptor Pointer to associated data record

| | | | | | | | | | | | | | | |

Table 311. SYSIBM.SYSOBJROLEDEP (Unique clustering index DSNRDX01): fan set (851/353) page set (852/354) Hex Dec offset offset 0 0000 Col 4 5 6 Field DSCHEMA (VARCHAR 128) DNAME (CHAR 1) DTYPE (CHAR 1) Flag byte + RID Dec len 0-128 1 1 5 Description Schema of the dependent object Name of the dependent object Type of the dependent object Pointer to associated data record

Table 312. SYSIBM.SYSOBJROLEDEP (Unique clustering index DSNRDX02): fan set (853/355) page set (854/356) Hex Dec offset offset 0 0000 Col 4 Field ROLENAME (VARCHAR 128) Flag byte + RID Dec len 0-128 5 Description Name of role on which there is a dependency Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

701

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 313. SYSIBM.SYSPACKAGE (unique index DSNKKX01): fan set (129/81) page set (130/82) Hex Dec offset offset 0 0000 Col 1 2 3 30 Field LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME(VARCHAR 128) VERSION (VARCHAR 122) Flag byte + RID Dec len 0-128 0-128 0-128 0-122 5 Description Unused, blank Name of collection Name of package Version identifier for the package Pointer to associated data record

Table 314. SYSIBM.SYSPACKAGE (unique index DSNKKX02): fan set (131/83) page set (132/84) Hex Dec offset offset 0 0000 Col 1 2 3 4 Field LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) CONTOKEN (CHAR 8) Flag byte + RID Dec len 0-128 0-128 0-128 8 5 Description Unused, blank Name of collection Name of package Consistency token Pointer to associated data record

Table 315. SYSIBM.SYSPACKAUTH (nonunique index DSNKAX01): fan set (144/90) page set (145/91) Hex Dec offset offset 0 0000 Col 1 3 4 5 Field GRANTOR (VARCHAR 128) LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) GRANTORTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 0-128 0-128 1 5 Description Name of the grantor of the privilege Unused, blank Name of collection Name of package Type of grantor Pointer to associated data record

| |

15

Table 316. SYSIBM.SYSPACKAUTH (nonunique index DSNKAX02): fan set (146/92) page set (147/93) Hex Dec offset offset 0 0000 Col 2 3 Field GRANTEE (VARCHAR 128) LOCATION (VARCHAR 128) Dec len 0-128 0-128 Description Name of the grantee receiving the privilege Unused, blank

702

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 316. SYSIBM.SYSPACKAUTH (nonunique index DSNKAX02): fan set (146/92) page set (147/93) (continued) Hex Dec offset offset Col 4 5 10 11 12 Field COLLID (VARCHAR 128) NAME (VARCHAR 128) BINDAUTH (CHAR 1) COPYAUTH (CHAR 1) EXECUTEAUTH (CHAR 1) GRANTEETYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 1 1 1 5 Description Name of the collection Name of the package Privilege (G/Y or blank) Privilege (G/Y or blank) Privilege (G/Y or blank) Type of grantee Pointer to associated data record

| |

Table 317. SYSIBM.SYSPACKAUTH (nonunique index DSNKAX03): fan set (161/A1) page set (162/A2) Hex Dec offset offset 0 0000 Col 3 4 5 Field LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Unused, blank Name of the collection Name of the package Pointer to associated data record

Table 318. SYSIBM.SYSPACKDEP (nonunique index DSNKDX01): fan set (139/8B) page set (140/8C) Hex Dec offset offset 0 0000 Col 4 5 6 7 Field DLOCATION (VARCHAR 128) DCOLLID (VARCHAR 128) Dec len 0-128 0-128 Description Unused, blank Name of collection Name of package Consistency token Pointer to associated data record

DNAME (VARCHAR 0-128 128) DCONTOKEN (CHAR 8) Flag byte + RID 8 5

Table 319. SYSIBM.SYSPACKDEP (nonunique index DSNKDX02): fan set (141/8D) page set (142/8E) Hex Dec offset offset 0 0000 Col 2 1 Field BQUALIFIER (VARCHAR 128) BNAME (VARCHAR 128) Dec len 0-128 0-128 Description Qualifier of base object Name of the object the package is dependent on

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

703

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 319. SYSIBM.SYSPACKDEP (nonunique index DSNKDX02): fan set (141/8D) page set (142/8E) (continued) Hex Dec offset offset Col 3 Field BTYPE(CHAR 1) Flag byte + RID Dec len 1 5 Description Base object type Pointer to associated data record

Table 320. SYSIBM.SYSPACKDEP (nonunique index DSNKDX03): fan set (345/159) page set (346/15A) Hex Dec offset offset 0 0000 Col 2 1 3 10 Field BQUALIFIER (VARCHAR 128) BNAME (VARCHAR 128) BTYPE (CHAR 1) DTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 1 5 Description Qualifier for BNAME Name of the object on which the package is dependent Type of the object (A/F/I/O/P/R/S/T/V) Indicates whether the package is a trigger package (T/blank) Pointer to associated data record

Table 321. SYSIBM.SYSPACKLIST (nonunique index DSNKLX01): fan set (124/7C) page set (125/7D) Hex Dec offset offset 0 0000 Col 3 4 5 Field LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Unused, blank Name of collection Name of package Pointer to associated data record

Table 322. SYSIBM.SYSPACKLIST (unique index DSNKLX02): fan set (126/7E) page set (127/7F) Hex Dec offset offset 0 0000 Col 1 2 3 4 5 Field PLANNAME (VARCHAR 24) Dec len 0-24 Description Name of the plan The sequence of this entry in the package list Location of package or collection, blank if local Name of the collection Name of the package Pointer to associated data record

SEQNO (SMALLINT) 2 LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID 0-128 0-128 0-128 5

| Table 323. SYSIBM.SYSPACKSTMT (unique index DSNKSX01): fan set (135/87) page set (136/88)
Hex | | Dec offset offset Col 1 Field LOCATION (VARCHAR 128) Dec len 0-128 Description Unused, blank
LY37-3218-01 Copyright IBM Corp. 1983, 2007

| 0 |

0000

704

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | | | | |

Table 323. SYSIBM.SYSPACKSTMT (unique index DSNKSX01): fan set (135/87) page set (136/88) (continued) Hex Dec offset offset Col 2 3 4 5 Field COLLID (VARCHAR 128) NAME (VARCHAR 128) CONTOKEN (CHAR 8) SEQNO (INTEGER) Flag byte + RID Dec len 0-128 0-128 8 4 5 Description Name of collection Name of package Consistency token Sequence number Pointer to associated data record

Table 324. SYSIBM.SYSPARMS (unique clustering index DSNOPX01): fan set (327/147) page set (328/148) Hex Dec offset offset 0 0000 Col 1 4 5 9 10 Field SCHEMA (VARCHAR 128) SPECIFICNAME (VARCHAR 128) ROUTINETYPE (CHAR 1) Dec len 0-128 0-128 1 Description Schema of the routine Specific name of the routine Type of routine (F/P) Type of the parameter (P/O/B/R/C/S) Position of the parameter in the routine signature Version identifier for the routine Pointer to associated data record

ROWTYPE (CHAR 1) 1 ORDINAL (SMALLINT) VERSION (VARCHAR 122) Flag byte + RID 2 0-122 5

| |

25

Table 325. SYSIBM.SYSPARMS (nonunique index DSNOPX02): fan set (329/149) page set (330/14A) Hex Dec offset offset 0 0000 Col 11 12 5 6 2 1 4 Field TYPESCHEMA (VARCHAR 128) TYPENAME (VARCHAR 128) ROUTINETYPE (CHAR 1) CAST_FUNCTION (CHAR 1) Dec len 0-128 0-128 1 1 Description Schema of the data type of the parameter Name of the data type of the parameter Type of routine (F/P) Whether the routine is a cast function (Y/N) Owner of the routine Schema of the routine Specific name of the routine Pointer to associated data record

OWNER (VARCHAR 0-128 128) SCHEMA (VARCHAR 128) SPECIFICNAME (VARCHAR 128) Flag byte + RID 0-128 0-128 5

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

705

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 326. SYSIBM.SYSPARMS (nonunique index DSNOPX03): fan set (331/14B) page set (332/14C) Hex Dec offset offset 0 0000 Col 11 12 Field TYPESCHEMA (VARCHAR 128) TYPENAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the data type of the parameter Name of the data type of the parameter Pointer to associated data record

| Table 327. SYSIBM.SYSPARMS (nonunique index DSNOPX04): fan set (894/37E) page set (895/37F)
Hex | | Dec offset offset Col 1 4 5 25 Field SCHEMA (VARCHAR 128) SPECIFICNAME (VARCHAR 128) ROUTINETYPE (CHAR 1) VERSION (VARCHAR 122) Flag byte + RID Dec len 0-128 0-128 1 0-122 5 Description Schema of the routine. Specific name of the routine. Type of routine (F/P). Version identifier for the routine. (not null with default) Pointer to associated data record.

| 0 | | | | | | | | |

0000

Table 328. SYSIBM.SYSPKSYSTEM (nonunique index DSNKYX01): fan set (154/9A) page set (155/9B) Hex Dec offset offset 0 0000 Col 1 2 3 4 5 6 Field LOCATION (VARCHAR 128) COLLID (VARCHAR 128) NAME (VARCHAR 128) CONTOKEN (CHAR 8) Dec len 0-128 0-128 0-128 8 Description Unused, blank Name of the collection Name of the package Consistency token System connection type Indicates whether system connection type is enabled or not enabled Pointer to associated data record

SYSTEM (VARCHAR 0-24 24) ENABLE (CHAR 1) Flag byte + RID 1 5

Table 329. SYSIBM.SYSPLAN (unique index DSNPPH01): fan set (68/44) page set (100/64) Hex Dec offset offset 0 0000 Col 1 Field NAME (VARCHAR 24) Flag byte + RID Dec len 0-24 5 Description Plan name Pointer to associated data record

706

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 330. SYSIBM.SYSPLANAUTH (nonunique index DSNAPH01): fan set (74/4A) page set (101/65) Hex Dec offset offset 0 0000 Col 2 3 10 Field GRANTEE (VARCHAR 128) NAME (VARCHAR 24) EXECUTEAUTH (CHAR 1) GRANTEETYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-24 1 1 5 Description Receiver of privilege Plan name Privilege (G/Y) or blank Not used Pointer to associated data record

| |

Table 331. SYSIBM.SYSPLANAUTH (nonunique index DSNAPX01): fan set (73/49) page set (102/66) Hex Dec offset offset Col 1 Field GRANTOR (VARCHAR 128) GRANTORTYPE (CHAR 1) Flag byte + RID Dec len 0-128 1 5 Description Grantor of privilege Type of grantor Pointer to associated data record

| |

13

Table 332. SYSIBM.SYSPLANDEP (nonunique index DSNGGX01): fan set (75/4B) page set (103/67) Hex Dec offset offset 0 0000 Col 2 1 3 Field BCREATOR (VARCHAR 128) BNAME (VARCHAR 128) BTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Name of database if BNAME is a table space; otherwise, owner of the object named in BNAME Name of the object on which the plan is dependent Code indicating the object type (I/R/S/T/V) Pointer to associated data record

Table 333. SYSIBM.SYSPLSYSTEM (nonunique index DSNKPX01): fan set (150/96) page set (151/97) Hex Dec offset offset 0 0000 Col 1 2 3 Field NAME (VARCHAR 24) Dec len 0-24 Description Name of the plan System connection type Indicates whether system connection type is enabled or not enabled Pointer to associated data record

SYSTEM (VARCHAR 0-24 24) ENABLE (CHAR 1) Flag byte + RID 1 5

Table 334. SYSIBM.SYSRELS (nonunique index DSNDLX01): fan set (62/3E) page set (94/5E) Hex Dec offset offset 0 0000 Col 5 Field REFTBCREATOR (VARCHAR 128) Dec len 0-128 Description Owner of parent table

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

707

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 334. SYSIBM.SYSRELS (nonunique index DSNDLX01): fan set (62/3E) page set (94/5E) (continued) Hex Dec offset offset Col 4 Field REFTBNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 5 Description Name of parent table of relationship Pointer to associated data record

Table 335. SYSIBM.SYSRELS (nonunique index DSNDLX02): fan set (758/2F6) page set (759/2F7) Hex Dec offset offset 0 0000 Col 1 2 Field CREATOR (VARCHAR 128) TBNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description SCHEMA of the dependent table of the referential constraint Name of dependent table Pointer to associated data record

| Table 336. SYSIBM.SYSRELS (nonunique index DSNDLX03): fan set (885/376) page set (886/377)
Hex | | Dec offset offset Col 12 Field IXOWNER VARCHAR(128) Dec len 0-128 Description SCHEMA of unique non-primary index used for the parent key. 99999999 if the enforcing index has been dropped. Blank if the enforcing index is a primary index. Name of unique non-primary index used for a parent key. 99999999 if the enforcing index has been dropped. Blank if the enforcing index is a primary index. Pointer to associated data record

| 0 | | | | | | | | |

0000

13

IXNAME VARCHAR(128)

0-128

Flag byte + RID

Table 337. SYSIBM.SYSRESAUTH (nonunique index DSNAGH01): fan set (89/59) page set (110/6E) Hex Dec offset offset 0 0000 Col 2 3 4 7 Field GRANTEE (VARCHAR 128) QUALIFIER (VARCHAR 128) NAME (VARCHAR 128) OBTYPE (CHAR 1) GRANTEETYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 0-128 1 1 5 Description Receiver of privilege Name qualifier or blank Buffer pool, storage group, table space name, or collection name Object type (B/S/R) Not used Pointer to associated data record

| |

Table 338. SYSIBM.SYSRESAUTH (nonunique index DSNAGX01): fan set (90/5A) page set (111/6F) Hex Dec offset offset 0 0000 Col 1 Field GRANTOR (VARCHAR 128) Dec len 0-128 Description Grantor of privilege

708

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 338. SYSIBM.SYSRESAUTH (nonunique index DSNAGX01): fan set (90/5A) page set (111/6F) (continued) Hex Dec offset offset Col 3 4 7 Field QUALIFIER (VARCHAR 128) NAME (VARCHAR 128) OBTYPE (CHAR 1) GRANTORTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 1 5 Description Name qualifier or blank Buffer pool, storage group, table space, collection name Object type (B/S/R) Type of grantor Pointer to associated data record

| |

14

| | | | | |

Table 339. SYSIBM.SYSROLES (Unique clustering index DSNRLX01): fan set (848/350) page set (849/351) Hex Dec offset offset 0 0000 Col 1 Field NAME (VARCHAR 128) Dec len 0-128 Description Name of the role

Table 340. SYSIBM.SYSROUTINEAUTH (nonunique index DSNOAX01): fan set (319/13F) page set (320/140) Hex Dec offset offset 0 0000 Col 1 3 4 6 7 9 Field GRANTOR (VARCHAR 128) SCHEMA (VARCHAR 128) SPECIFICNAME (VARCHAR 128) ROUTINETYPE (CHAR 1) GRANTEETYPE (CHAR 1) EXECUTEAUTH (CHAR 1) Dec len 0-128 0-128 0-128 1 1 1 Description Authorization ID of the user who granted the privilege Schema of the routine Specific name of the routine Type of routine (F/P) Type of grantee (P/blank) Authorization level of the user from whom the privileges were received, or an indication that the grantor holds the privilege on all schemas (A/L/S/blank) Type of grantor (blank/L) Pointer to associated data record

| |

13

GRANTORTYPE (CHAR 1) Flag byte + RID

1 5

Table 341. SYSIBM.SYSROUTINEAUTH (nonunique clustering index DSNOAX02): fan set (321/141) page set (322/142) Hex Dec offset offset 0 0000 Col 2 Field GRANTEE (VARCHAR 128) SCHEMA (VARCHAR 128) Dec len 0-128 Description Authorization ID of the user who holds the privilege, or the name of the plan or package that uses the privilege Schema of the routine

0-128

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

709

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 341. SYSIBM.SYSROUTINEAUTH (nonunique clustering index DSNOAX02): fan set (321/141) page set (322/142) (continued) Hex Dec offset offset Col 4 6 7 9 Field SPECIFICNAME (VARCHAR 128) ROUTINETYPE (CHAR 1) GRANTEETYPE (CHAR 1) EXECUTEAUTH (CHAR 1) Dec len 0-128 1 1 1 Description Specific name of the routine Type of routine (F/P) Type of grantee (P/blank) Authorization level of the user from whom the privileges were received, or an indication that the grantor holds the privilege on all schemas (A/L/S/blank) Time when the GRANT statement was executed Pointer to associated data record

GRANTEDTS (TIMESTAMP) Flag byte + RID

10 5

Table 342. SYSIBM.SYSROUTINEAUTH (nonunique index DSNOAX03): fan set (323/143) page set (324/144) Hex Dec offset offset 0 0000 Col 3 4 6 Field SCHEMA (VARCHAR 128) SPECIFICNAME (VARCHAR 128) ROUTINETYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Schema of the routine Specific name of the routine Type of routine (F/P) Pointer to associated data record

Table 343. SYSIBM.SYSROUTINES (unique clustering index DSNOFX01): fan set (290/122) page set (291/123) Hex Dec offset offset 0 0000 Col 3 4 71 4 1 41 42 43 44 45 46 Field NAME (VARCHAR 128) PARM_COUNT (SMALLINT) PARM_SIGNATURE (VARCHAR 150) ROUTINETYPE (CHAR 1) SCHEMA (VARCHAR 128) Dec len 0-128 2 0-150 1 0-128 Description Name of the routine Number of parameters for the routine Concatenation of up to 30 parameter types in internal format Type of routine (F/P) Schema of the routine Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type
LY37-3218-01 Copyright IBM Corp. 1983, 2007

PARM1 (SMALLINT) 2 PARM2 (SMALLINT) 2 PARM3 (SMALLINT) 2 PARM4 (SMALLINT) 2 PARM5 (SMALLINT) 2 PARM6 (SMALLINT) 2

710

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 343. SYSIBM.SYSROUTINES (unique clustering index DSNOFX01): fan set (290/122) page set (291/123) (continued) Hex Dec offset offset Col 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 Field Dec len Description Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type

PARM7 (SMALLINT) 2 PARM8 (SMALLINT) 2 PARM9 (SMALLINT) 2 PARM10 (SMALLINT) PARM11 (SMALLINT) PARM12 (SMALLINT) PARM13 (SMALLINT) PARM14 (SMALLINT) PARM15 (SMALLINT) PARM16 (SMALLINT) PARM17 (SMALLINT) PARM18 (SMALLINT) PARM19 (SMALLINT) PARM20 (SMALLINT) PARM21 (SMALLINT) PARM22 (SMALLINT) PARM23 (SMALLINT) PARM24 (SMALLINT) PARM25 (SMALLINT) PARM26 (SMALLINT) PARM27 (SMALLINT) PARM28 (SMALLINT) PARM29 (SMALLINT) PARM30 (SMALLINT) 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

711

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 343. SYSIBM.SYSROUTINES (unique clustering index DSNOFX01): fan set (290/122) page set (291/123) (continued) Hex Dec offset offset Col 88 Field VERSION (VARCHAR 122) Flag byte + RID Dec len 0-122 5 Description Version identifier for this routine Pointer to associated data record

| |

Table 344. SYSIBM.SYSROUTINES (primary unique index DSNOFX02): fan set (292/124) page set (293/125) Hex Dec offset offset 0 0000 Col 1 6 4 Field SCHEMA (VARCHAR 128) SPECIFICNAME (VARCHAR 128) ROUTINETYPE (CHAR 1) VERSION (VARCHAR 122) Flag byte + RID Dec len 0-128 0-128 1 0-122 5 Description Schema of the routine Specific name of the routine Type of routine (F/P) Version identifier for this routine Pointer to associated data record

| |

88

Table 345. SYSIBM.SYSROUTINES (nonunique index DSNOFX03): fan set (294/126) page set (295/127) Hex Dec offset offset 0 0000 Col 3 1 20 11 71 41 Field NAME (VARCHAR 128) SCHEMA (VARCHAR 128) CAST_FUNCTION (CHAR 1) PARM_COUNT (SMALLINT) PARM_SIGNATURE (VARCHAR 150) Dec len 0-128 0-128 1 2 0-150 Description Name of the routine Specific name of the source function Indicates whether an external function is a cast function Number of parameters for the routine Concatenation of up to 30 parameter types in internal format Parameter type Pointer to associated data record

PARM1 (SMALLINT) 2 Flag byte + RID 5

Table 346. SYSIBM.SYSROUTINES (unique index DSNOFX04): fan set (296/128) page set (297/129) Hex Dec offset offset 0 8 0000 0008 Col 7 Field ROUTINE_ID (INTEGER) Flag byte + RID Dec len 4 5 Description Internal identifier of the routine (descending) Pointer to associated data record

712

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 347. SYSIBM.SYSROUTINES (nonunique index DSNOFX05): fan set (298/12A) page set (299/12B) Hex Dec offset offset 0 0000 Col 15 16 4 Field SOURCESCHEMA (VARCHAR 128) SOURCESPECIFIC (VARCHAR 128) ROUTINETYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description HiSchema of the source user-defined function Specific name of the source function Type of routine (F/P) Pointer to associated data record

Table 348. SYSIBM.SYSROUTINES (nonunique index DSNOFX06): fan set (300/12C) page set (301/12D) Hex Dec offset offset 0 0000 Col 1 3 4 11 Field SCHEMA (VARCHAR 128) NAME (VARCHAR 128) ROUTINETYPE (CHAR 1) PARM_COUNT (SMALLINT) Flag byte + RID Dec len 0-128 0-128 1 2 5 Description Schema of the routine Name of the routine Type of routine (F/P) Number of parameters for the routine Pointer to associated data record

Table 349. SYSIBM.SYSROUTINES (unique index DSNOFX07): fan set (715/2CB) page set (716/2CC) Hex Dec offset offset 0 0000 Col 3 4 4 1 71 41 42 43 44 45 46 47 48 49 Field NAME (VARCHAR 128) PARM_COUNT (SMALLINT) ROUTINETYPE (CHAR 1) SCHEMA (VARCHAR 128) PARM_SIGNATURE (VARCHAR 150) Dec len 0-128 2 1 0-128 0-150 Description Name of the routine Number of parameters for the routine Type of routine (F/P) Schema of the routine Concatenation of up to 30 parameter types in internal format Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type

PARM1 (SMALLINT) 2 PARM2 (SMALLINT) 2 PARM3 (SMALLINT) 2 PARM4 (SMALLINT) 2 PARM5 (SMALLINT) 2 PARM6 (SMALLINT) 2 PARM7 (SMALLINT) 2 PARM8 (SMALLINT) 2 PARM9 (SMALLINT) 2

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

713

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 349. SYSIBM.SYSROUTINES (unique index DSNOFX07): fan set (715/2CB) page set (716/2CC) (continued) Hex Dec offset offset Col 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 Field PARM10 (SMALLINT) PARM11 (SMALLINT) PARM12 (SMALLINT) PARM13 (SMALLINT) PARM14 (SMALLINT) PARM15 (SMALLINT) PARM16 (SMALLINT) PARM17 (SMALLINT) PARM18 (SMALLINT) PARM19 (SMALLINT) PARM20 (SMALLINT) PARM21 (SMALLINT) PARM22 (SMALLINT) PARM23 (SMALLINT) PARM24 (SMALLINT) PARM25 (SMALLINT) PARM26 (SMALLINT) PARM27 (SMALLINT) PARM28 (SMALLINT) PARM29 (SMALLINT) PARM30 (SMALLINT) VERSION (VARCHAR 122) Flag byte + RID Dec len 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0-122 5 Description Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Parameter type Version identifier for this routine Pointer to associated data record

| |

88

714

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 350. SYSIBM.SYSROUTINES (nonunique index DSNOFX08): fan set (717/2CD) page set (718/2CE) Hex Dec offset offset 0 0000 Col 82 83 Field JARSCHEMA (VARCHAR 128) JAR_ID (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the JAR file Name of the JAR file Pointer to associated data record

Table 351. SYSIBM.SYSROUTINES_OPTS (nonunique index DSNROX01): fan set (610/262) page set (611/263) Hex Dec offset offset 0 0000 Col 1 2 3 4 Field SCHEMA (VARCHAR 128) ROUTINENAME (VARCHAR 128) BUILDDATE (DATE) BUILDTIME (CHAR 18) Flag byte + RID Dec len 0-128 0-128 4 3 5 Description Schema of the routine Name of the routine Date when the routine was built Time when the routine was built Pointer to associated data record

Table 352. SYSIBM.SYSROUTINES_SRC (nonunique index DSNRSX01): fan set (613/265) page set (614/266) Hex Dec offset offset 0 0000 Col 2 Field ROUTINENAME (VARCHAR 128) Flag byte + RID Dec len 0-128 5 Description Name of the routine Pointer to associated data record

Table 353. SYSIBM.SYSROUTINES_SRC (Unique clustering index DSNRSX02): fan set (615/267) page set (616/268) Hex Dec offset offset 0 0000 Col 1 2 3 6 Field SCHEMA (VARCHAR 128) ROUTINENAME (VARCHAR 128) BUILDDATE (DATE) SEQNO (INTEGER) Dec len 0-128 0-128 4 4 Description Schema of the routine Name of the routine Date when the routine was built Number of the SQL statement piece in CREATESTMT. SEQNO is between 1 and CEILING(n/3800), where n is the number of bytes in the source for the routine. Pointer to associated data record

Flag byte + RID

Table 354. SYSIBM.SYSSCHEMAAUTH (nonunique clustering index DSNSKX01): fan set (314/13A) page set (315/13B) Hex Dec offset offset 0 0000 Col 2 Field GRANTEE (VARCHAR 128) Dec len 0-128 Description Authorization ID of the user who holds the privileges, or PUBLIC

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

715

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 354. SYSIBM.SYSSCHEMAAUTH (nonunique clustering index DSNSKX01): fan set (314/13A) page set (315/13B) (continued) Hex Dec offset offset Col 3 Field SCHEMANAME (VARCHAR 128) GRANTEETYPE (CHAR 1) Flag byte + RID Dec len 0-128 1 5 Description Name of the schema, or * for all schemas Type of grantee (blank/L) Pointer to associated data record

| |

10

Table 355. SYSIBM.SYSSCHEMAAUTH (nonunique index DSNSKX02): fan set (316/13C) page set (317/13D) Hex Dec offset offset 0 0000 Col 1 11 Field GRANTOR (VARCHAR 128) GRANTORTYPE (CHAR 1) Flag byte + RID Dec len 0-128 1 5 Description Authorization ID of the user who granted the privileges, or SYSADM Type of grantor (blank/L) Pointer to associated data record

| |

Table 356. SYSIBM.SYSSEQUENCEAUTH (nonunique index DSNWCX01): fan set (745/2E9) page set (746/2EA) Hex Dec offset offset 0 0000 Col 3 4 Field SCHEMA (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the sequence Name of the sequence Pointer to associated data record

Table 357. SYSIBM.SYSSEQUENCEAUTH (nonunique index DSNWCX02): fan set (747/2EB) page set (748/2EC) Hex Dec offset offset 0 0000 Col 1 3 4 Field GRANTOR (VARCHAR 128) SCHEMA (VARCHAR 128) NAME (VARCHAR 128) GRANTORTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 0-128 1 5 Description Authorization ID of the user that granted the privileges Schema of the sequence Name of the sequence Type of grantor (blank/L) Pointer to associated data record

| |

13

Table 358. SYSIBM.SYSSEQUENCEAUTH (nonunique index DSNWCX03): fan set (749/2ED) page set (750/2EE) Hex Dec offset offset 0 0000 Col 2 Field GRANTEE (VARCHAR 128) Dec len 0-128 Description Authorization ID of the user or group that holds the privileges, or the name of an application plan or package that uses the privileges

716

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 358. SYSIBM.SYSSEQUENCEAUTH (nonunique index DSNWCX03): fan set (749/2ED) page set (750/2EE) (continued) Hex Dec offset offset Col 3 4 Field SCHEMA (VARCHAR 128) NAME (VARCHAR 128) GRANTEETYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Schema of the sequence Name of the sequence Type of grantee (blank/L) Pointer to associated data record

| |

Table 359. SYSIBM.SYSSEQUENCES (unique index DSNSQX01) fan set (373/175) page set (374/176) Hex Dec offset offset 0 0000 Col 1 3 Field SCHEMA (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description TBCREATOR from the SYSCOLUMNS entry for the identity column Name generated by DB2 for the identity column Pointer to associated data record

Table 360. SYSIBM.SYSSEQUENCES (unique descending index DSNSQX02) fan set (375/177) page set (376/178) Hex Dec offset offset 0 4 0000 0004 Col 5 Field SEQUENCEID (INTEGER) Flag byte + RID Dec len 4 5 Description Internal identifier Pointer to associated data record

Table 361. SYSIBM.SYSSEQUENCESDEP (unique index DSNSRX01) fan set (380/17C) page set (381/17D) Hex Dec offset offset 0 0000 Col 2 4 5 Field DCREATOR (VARCHAR 128) Dec len 0-128 Description Creator of the dependent table that contains the identity column Name of the dependent table that contains the identity column Name of the dependent identity column Pointer to associated data record

DNAME (VARCHAR 0-128 128) DCOLNAME (VARCHAR 128) Flag byte + RID 0-128 5

Table 362. SYSIBM.SYSSEQUENCESDEP (unique index DSNSRX02) fan set (730/2DA) page set (731/2DB) Hex Dec offset offset 0 0000 Col 7 8 Field BSCHEMA (VARCHAR 128) BNAME (VARCHAR 128) Dec len 0-128 0-128 Description Schema name of the sequence Name of the sequence or identity column

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

717

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 362. SYSIBM.SYSSEQUENCESDEP (unique index DSNSRX02) fan set (730/2DA) page set (731/2DB) (continued) Hex Dec offset offset Col 6 Field DTYPE (CHAR 1) Dec len 1 Description The type of object (identity column or inline SQL function) that is dependent on the sequence or identity column Pointer to associated data record

Flag byte + RID

Table 363. SYSIBM.SYSSTOGROUP (unique index DSNSSH01): fan set (83/53) page set (106/6A) Hex Dec offset offset 0 0000 Col 1 Field NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 5 Description Storage group name Pointer to associated data record

Table 364. SYSIBM.SYSSTRINGS (unique index DSNSSX01): fan set (159/9F) page set (160/A0) Hex Dec offset offset 0 4 8 9 0000 0004 0008 0009 Col 2 1 7 Field OUTCCSID (INTEGER) Dec len 4 Description Character set id to translate string to Character set id of string to be translated IBM-required flag (Y/N) Pointer to associated data record

INCCSID (INTEGER) 4 IBMREQD (CHAR 1) Flag byte + RID 1 5

Table 365. SYSIBM.SYSSYNONYMS (unique index DSNDYX01): fan set (67/43) page set (99/63) Hex Dec offset offset 0 0000 Col 2 1 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Owner of the synonym Synonym name Pointer to associated data record

Table 366. SYSIBM.SYSTABAUTH (nonunique index DSNATX01): fan set (65/41) page set (97/61) Hex Dec offset offset 0 0000 Col 1 30 Field GRANTOR (VARCHAR 128) GRANTORTYPE (CHAR 1) Flag byte + RID Dec len 0-128 1 5 Description Grantor of privilege Type of grantor (blank/L) Pointer to associated data record

| |

Table 367. SYSIBM.SYSTABAUTH (nonunique index DSNATX02): fan set (66/42) page set (98/62) Hex Dec offset offset 0 0000 Col 2 Field GRANTEE (VARCHAR 128) Dec len 0-128 Description Auth ID of user who hold the privilege, or name of plan or package that uses the privilege
LY37-3218-01 Copyright IBM Corp. 1983, 2007

718

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 367. SYSIBM.SYSTABAUTH (nonunique index DSNATX02): fan set (66/42) page set (98/62) (continued) Hex Dec offset offset Col 7 8 3 13 14 15 16 17 18 19 25 26 Field TCREATOR (VARCHAR 128) TTNAME (VARCHAR 128) GRANTEETYPE (CHAR 1) UPDATECOLS (CHAR 1) Dec len 0-128 0-128 1 1 Description Owner of the table or view Target table or view name Blank or (P) for plan or package Indicates the scope of the updating authority (*/blank) Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Privilege (G/Y) or blank Unused, blank Whether GRANTEE has privilege to create or drop referential constraint with table as parent (G/Y/blank) Indicator of whether REFERENCESAUTH applies to some or all columns Whether GRANTEE can create triggers in which this table is the triggering table (G/Y/blank) Pointer to associated data record

ALTERAUTH (CHAR 1 1) DELETEAUTH (CHAR 1) 1

INDEXAUTH (CHAR 1 1) INSERTAUTH (CHAR 1) SELECTAUTH (CHAR 1) UPDATEAUTH (CHAR 1) CAPTUREAUTH (CHAR 1) REFERENCESAUTH (CHAR 1) REFCOLS (CHAR 1) TRIGGERAUTH (CHAR 1) Flag byte + RID 1 1 1 1 1

27 29

1 1 5

Table 368. SYSIBM.SYSTABAUTH (nonunique index DSNATX03): fan set (210/D2) page set (211/D3) Hex Dec offset offset 0 0 Col 2 3 23 24 Field GRANTEE (VARCHAR 128) GRANTEETYPE (CHAR 1) COLLID (VARCHAR 128) CONTOKEN (CHAR 8) Flag byte + RID Dec len 0-128 1 0-128 8 5 Description Auth ID of user who holds the privilege, or name of plan or package that uses the privilege Blank or (P) for plan or package Package collection ID, otherwise blank Package consistency token, otherwise blank Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

719

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 369. SYSIBM.SYSTABAUTH (nonunique index DSNATX04): fan set (756/2F4) page set (757/2F5) Hex Dec offset offset 0 0000 Col 7 8 Field TCREATOR (VARCHAR 128) TTNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Owner of the table or view Target table or view name Pointer to associated data record

Table 370. SYSIBM.SYSTABCONST (unique index DSNCNX01): fan set (651/28B) page set (652/28C) Hex Dec offset offset 0 0000 Col 2 3 1 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) CONSTNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 0-128 5 Description Authorization ID of the owner of the table on which the constraint is defined Name of the table on which the constraint is defined Name of the constraint Pointer to associated data record

Table 371. SYSIBM.SYSTABCONST (nonunique index DSNCNX02): fan set (653/28D) page set (654/28E) Hex Dec offset offset 0 8 26 0000 0008 001A Col 6 7 Field IXOWNER (VARCHAR 128) Dec len 0-128 Description Authorization ID of the owner of the index that enforces the constraint Name of the index that enforces the constraint Pointer to associated data record

IXNAME (VARCHAR 0-128 128) Flag byte + RID 5

Table 372. SYSIBM.SYSTABLEPART (unique index DSNDPX01): fan set (198/C6) page set (199/C7) Hex Dec offset offset 0 0000 Col 3 2 1 Field DBNAME (VARCHAR 24) TSNAME (VARCHAR 24) PARTITION (SMALLINT) Flag byte + RID Dec len 0-24 0-24 2 5 Description Database name Table space name Partition number Pointer to associated data record

Table 373. SYSIBM.SYSTABLEPART (nonunique index DSNDPX02): fan set (354/162) page set (355/163) Hex Dec offset offset 0 0000 Col 7 Field STORNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 5 Description Storage group or VSAM catalog name Pointer to associated data record

720

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 374. SYSIBM.SYSTABLEPART (nonunique index DSNDPX03): fan set (732/2DC) page set (733/2DD) Hex Dec offset offset 0 0000 Col 3 2 37 Field DBNAME (VARCHAR 24) TSNAME (VARCHAR 24) LOGICAL_PART (SMALLINT) Flag byte + RID Dec len 0-24 0-24 2 5 Description Database name Table space name Logical partition number Pointer to associated data record

| | | | | | | | | | |

Table 375. SYSIBM.SYSTABLEPART (nonunique index DSNDPX04): fan set (888/378) page set (889/379) Hex Dec offset offset 0 0000 Col 5 Field IXCREATOR (VARCHAR 128) Dec len 0-128 Description SCHEMA of the partitioning index. This column is blank unless this is a table that uses index controlled partitioning. Name of the partitioning index. This column is blank unless this is a table that uses index-controlled partitioning. Pointer to associated data record

IXNAME (VARCHAR 0-128 128) Flag byte + RID 5

Table 376. SYSIBM.SYSTABLEPART_HIST (nonunique clustering index DSNHCX01): fan set (661/295) page set (662/296) Hex Dec offset offset 0 0000 Col 3 2 1 12 Field DBNAME (VARCHAR 24) TSNAME (VARCHAR 24) PARTITION (SMALLINT) STATSTIME (TIMESTAMP) Flag byte + RID Dec len 0-24 0-24 2 10 5 Description Database name Table space name Partition number Timestamp of RUNSTATS statistics update Pointer to associated data record

Table 377. SYSIBM.SYSTABLES (unique index DSNDTX01): fan set (61/3D) page set (93/5D) Hex Dec offset offset 0 0000 Col 2 1 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Owner of the table, view or alias Name of the table, view or alias Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

721

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 378. SYSIBM.SYSTABLES (unique index DSNDTX02): fan set (163/A3) page set (164/A4) Hex Dec offset offset 0 2 4 0000 0002 0004 Col 6 7 2 1 Field DBID (SMALLINT) OBID (SMALLINT) CREATOR (VARCHAR 128) NAME (VARCHAR 128) Flag byte + RID Dec len 2 2 0-128 0-128 5 Description Database identifier Internal identifier Owner of the table, view, or alias Name of the table, view, or alias Pointer to associated data record

Table 379. SYSIBM.SYSTABLES (nonunique index DSNDTX03): fan set (754/2F2) page set (755/2F3) Hex Dec offset offset 0 0000 Col 30 31 Field TBCREATOR (VARCHAR 128) TBNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Owner of the table, view or alias Name of the table, view or alias Pointer to associated data record

Table 380. SYSIBM.SYSTABLES_HIST (nonunique clustering index DSNHDX01): fan set (657/291) page set (658/292) Hex Dec offset offset 0 0000 Col 2 1 8 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) STATSTIME (TIMESTAMP) Flag byte + RID Dec len 0-128 0-128 10 5 Description Owner of the table, view or alias Name of the table, view or alias Timestamp of RUNSTATS statistics update Pointer to associated data record

Table 381. SYSIBM.SYSTABLESPACE (unique index DSNDSX01): fan set (47/2F) page set (92/5C) Hex Dec offset offset 0 0000 Col 3 1 Field DBNAME (VARCHAR 24) NAME (VARCHAR 24) Flag byte + RID Dec len 0-24 0-24 5 Description Database name Table space name Pointer to associated data record

| Table 382. SYSIBM.SYSTABLESPACESTATS (unique index DSNRTX01): fan set (868/364) page set (869/365)
Hex | | Dec offset offset Col 26 27 Field DBID PSID Dec len 2 2 Description The internal identifier of the database. The internal identifier of the table space page set descriptor.

| 0 | |

0000

722

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

| | | | | | | | |

Table 382. SYSIBM.SYSTABLESPACESTATS (unique index DSNRTX01): fan set (868/364) page set (869/365) (continued) Hex Dec offset offset Col 28 29 Field PARTITION INSTANCE Flag byte + RID Dec len 2 2 5 Description The data set number within the tables space. Indicates if the object is associated with data set instance 1 or 2. Pointer to associated data record

Table 383. SYSIBM.SYSTABSTATS (unique index DSNTTX01): fan set (185/B9) page set (186/BA) Hex Dec offset offset 0 0000 Col 11 12 10 Field Dec len Description Table owner authorization ID Table name Table space partition number Pointer to associated data record

OWNER (VARCHAR 0-128 128) NAME (VARCHAR 128) PARTITION (SMALLINT) Flag byte + RID 0-128 2 5

Table 384. SYSIBM.SYSTABSTATS_HIST (nonunique clustering index DSNHBX01): fan set (665/299) page set (666/29A) Hex Dec offset offset 0 0000 Col 6 7 5 2 Field Dec len Description Table owner authorization ID Table name Table space partition number Timestamp of RUNSTATS statistics update Pointer to associated data record

OWNER (VARCHAR 0-128 128) NAME (VARCHAR 128) PARTITION (SMALLINT) STATSTIME (TIMESTAMP) Flag byte + RID 0-128 2 10 5

Table 385. SYSIBM.SYSTRIGGERS (unique clustering index DSNOTX01): fan set (308/134) page set (309/135) Hex Dec offset offset 0 0000 Col 2 1 3 Field SCHEMA (VARCHAR 128) NAME (VARCHAR 128) Dec len 0-128 0-128 Description Schema of the trigger and collection ID of the trigger package Name of the trigger and trigger package Sequence number that identifies the portion of the trigger definition in this row Pointer to associated data record

SEQNO (SMALLINT) 2 Flag byte + RID 5

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

723

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 386. SYSIBM.SYSTRIGGERS (nonunique index DSNOTX02): fan set (310/136) page set (311/137) Hex Dec offset offset 0 0000 Col 9 8 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Qualifier of the table name to which this trigger applies Name of the table to which this trigger applies Pointer to associated data record

Table 387. SYSIBM.SYSTRIGGERS (nonunique index DSNOTX03): fan set (719/2CF) page set (720/2D0) Hex Dec offset offset 0 0000 Col 2 17 Field SCHEMA (VARCHAR 128) TRIGNAME (VARCHAR 128) Flag byte + RID Dec len 0-128 0-128 5 Description Schema of the trigger and collection ID of the trigger package Unused Pointer to associated data record

Table 388. SYSIBM.SYSUSERAUTH (nonunique index DSNAUH01): fan set (81/51) page set (112/70) Hex Dec offset offset 0 0000 Col 2 30 6 Field GRANTEE (VARCHAR 128) GRANTEDTS (TIMESTAMP) GRANTEETYPE (CHAR 1) Flag byte + RID Dec len 0-128 10 1 5 Description Receiver of privilege Time when the GRANT statement was executed Not used, blank Pointer to associated data record

Table 389. SYSIBM.SYSUSERAUTH (nonunique index DSNAUX02): fan set (82/52) page set (113/71) Hex Dec offset offset 0 0000 Col 1 Field GRANTOR (VARCHAR 128) GRANTORTYPE Flag byte + RID 5 Pointer to associated data record Dec len 0-128 Description Grantor of privilege

Table 390. SYSIBM.SYSVIEWDEP (nonunique index DSNGGX02): fan set (80/50) page set (105/69) Hex Dec offset offset 0 0000 Col 2 1 3 Field BCREATOR (VARCHAR 128) BNAME (VARCHAR 128) BTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Owner of the object named in BNAME Name of table or view on which the view is dependent Code indicating the type of object (T/V) Pointer to associated data record (can be more than one)

724

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 391. SYSIBM.SYSVIEWDEP (nonunique index DSNGGX03): fan set (347/15B) page set (348/15C) Hex Dec offset offset 0 0000 Col 7 1 3 Field BSCHEMA (VARCHAR 128) BNAME (VARCHAR 128) BTYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Schema of BNAME Name of table or view on which the view is dependent Type of object (T/V/F) Pointer to associated data record (can be more than one)

Table 392. SYSIBM.SYSVIEWDEP (nonunique index DSNGGX04): fan set (734/2DE) page set (735/2DF) Hex Dec offset offset 0 0000 Col 2 1 3 8 Field BCREATOR (VARCHAR 128) BNAME (VARCHAR 128) BTYPE (CHAR 1) DTYPE CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 1 5 Description The owner for a view or table, or the schema for a function Name of object on which the view is dependent Type of object Type of dependency Pointer to associated data record (can be more than one)

Table 393. SYSIBM.SYSVIEWS (unique index DSNVVX01): fan set (208/D0) page set (209/D1) Hex Dec offset offset 0 0 Col 2 1 3 9 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) Dec len 0-128 0-128 Description Owner of the view View name Sequence number Unused Pointer to associated data record (can be more than one)

SEQNO (SMALLINT) 2 TYPE (CHAR 1) Flag byte + RID 1 5

Table 394. SYSIBM.SYSVTREE (unique index DSNVTH01): fan set (76/4C) page set (104/68) Hex Dec offset offset 0 0000 Col 2 1 6 Field CREATOR (VARCHAR 128) NAME (VARCHAR 128) TYPE (CHAR 1) Flag byte + RID Dec len 0-128 0-128 1 5 Description Owner of the view View name Unused Pointer to associated data record

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 28. Catalog index formats

725

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| Table 395. SYSIBM.SYSXMLRELS (Nonunique index DSNXRX01): fan set (776/308) page set (777/309)
Hex | | Dec offset offset Col 1 2 Field TBOWNER (VARCHAR 128) TBNAME (VARCHAR 128) Dec len 0-128 0-128 Description Authorization ID of the owner of the base table Name of the base table

| 0 | | | |

0000

| Table 396. SYSIBM.SYSXMLRELS (Nonunique index DSNXRX02): fan set (778/30A) page set (779/30B)
Hex | | Dec offset offset Col 4 5 Field XMLTBOWNER (VARCHAR 128) XMLTBNAME (VARCHAR 128) Dec len 0-128 0-128 Description Authorization ID of the owner of the XML table Name of the XML table

| 0 | | | |

0000

| Table 397. SYSIBM.SYSXMLSTRINGS (Unique clustering index DSNXSX01): fan set (772/304) page set (773/305)
Hex | | Dec offset offset Col 1 Field STRINGID (INTEGER) Dec len 4 Description Unique ID for the string

| 0 | |

0000

| Table 398. SYSIBM.SYSXMLSTRINGS (Unique index DSNXSX02): fan set (774/306) page set (775/307)
Hex | | Dec offset offset Col 2 Field STRING (VARCHAR 1000) Dec len 0-1000 Description The string data

| 0 | |

0000

726

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 29. Object identifier (OBID) cross reference


This chapter contains a cross-reference table of the object identifiers (OBIDs) with their corresponding objects in database DSNDB01 (the DB2 directory) and in database DSNDB06 (the DB2 catalog). Object identifier for the directory is in Table 399.
Table 399. Object identifiers for objects in the DB2 directory (DSNDB01) OBID dec (hex) 16 (10) 31 (1F) 33 (21) 34 (22) 48 (30) 63 (3F) 65 (D1) 67 (43) 68 (44) 69 (45) 70 (46) 71 (47) Corresponding object The file of file page set DBD01 File page set DBD01 OBID of the file is 16 (10) Record type (table) DBDR Record type (table) DBDS The file of file page set SYSLGRNG File page set SYSLGRNG OBID of the file is 48(30) Record type (table) SYSLGRNG DSNLUX01, the unique index on SYSUTIL (USUUID) Index page set DSNLUX01 OBID of the index is 67 (43) DSNLUX02, the unique index on SYSUTILX (UTILID, SEQNO) Index page set DSNLUX02 OBID of the index is 69 (45) Referential constraint relationship descriptor DSN1T@1T between parent SYSUTIL (primary key: USUUID) and dependent SYSUTILX (foreign key: UTILID). Record type (table) SYSUTIL Record type (table) SYSUTILX File page set SCT02 OBID of the file is 96 (60) The file of file page set SCT02 Record type (table) SCTR Index page set DSNSCT02 OBID of the index is 111 (6F) DSNSCT02, the unique index on SCTR (SCTNAME,SCTSEC,SPTSEQ) File page set SPT01 OBID of the file is 128 (80) The file of segmented file page set SPT01 Record type (table) SPTR DSNLLX01, the unique index on SYSLGRNX (LGRDBID,LGRPSID,LGRPART,LGRMEMB, LGRSLRS) Index page set DSNSPT01 OBID of the index is 143 (8F) DSNLLX02, the unique index on SYSLGRNX (LGRDBID,LGRPSID,LGRSLRS) Index page set DSNLLX02 OBID of the index is 133 (85) Index page set DSNLLX01 OBID of the index is 131 (83) DSNSPT01, the unique index on SPTR (SPTPID,SPTSEC,SPTSEQ) Index page set DSNSPT02 OBID of the index is 159 (9F)

81 (51) 83 (53) 95 (5F) 96 (60) 97 (61) 100 (64) 111 (6F)

127 (7F) 128 (80) 129 (81) 131 (83) 132 (84) 133 (85) 134 (86) 135 (87) 143 (8F) 148 (94)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

727

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 399. Object identifiers for objects in the DB2 directory (DSNDB01) (continued) OBID dec (hex) 159 (9F) 160 (A0) 161 (A1) 162 (A2) 175 (AF) 192 (C0) 193 (C1) 207 (CF) 209 (D1) Corresponding object DSNSPT02, the unique index on SPTR (version,SPTID) The file of file page set SYSUTILX The hash on DBDR The link from DBDR to DBDS File page set SYSUTILX OBID of the file is 160 (A0) The file of file page set SYSLGRNG The hash on SYSLGRNX File page set SYSLGRNX Record type (table) SYSLGRNX

Object identifier information for the catalog is in Table 400. In that table, values in parentheses that follow an object description are ordering keys. Keys that are in bold type are generic clustering keys.
Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) OBID dec (hex) 1 (01) 2 (02) 3 (03) 4 (04) 5 (05) 6 (06) 7 (07) 8 (08) 9 (09) 10 (0A) 11 (0B) 12 (0C) 13 (0D) 14 (0E) 15 (0F) 16 (10) 17 (11) 18 (12) 19 (13) 20 (14) 21 (15) 22 (16) 23 (17) 25 (19) Corresponding object The file of file page set SYSDBASE The file of file page set SYSVIEWS The file of file page set SYSGROUP The file of file page set SYSDBAUT The file of file page set SYSGPAUT The file of file page set SYSUSER The file of file page set SYSCOPY The file of file page set SYSPLAN File page set SYSDBASE OBID of the file is 1 (01) File page set SYSPLAN OBID of the file is 8 (08) File page set SYSVIEWS OBID of the file is 2 (02) File page set SYSGROUP OBID of the file is 3 (03) File page set SYSDBAUT OBID of the file is 4 (04) File page set SYSGPAUT OBID of the file is 5 (05) File page set SYSUSER OBID of the file is 6 (06) File page set SYSCOPY OBID of the file is 7 (07) Record type (table) SYSTABLESPACE Record type (table) SYSTABLEPART Record type (table) SYSTABLES Record type (table) SYSCOLUMNS Record type (table) SYSFIELDS Record type (table) SYSRELS Record type (table) SYSINDEXES Record type (table) SYSFOREIGNKEYS

728

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 26 (1A) 27 (1B) 28 (1C) 29 (1D) 30 (1E) 31 (1F) 32 (20) 33 (21) 34 (22) 35 (23) 36 (24) 37 (25) 38 (26) 39 (27) 40 (28) 41 (29) 42 (2A) 43 (2B) 44 (2C) 45 (2D) 46 (2E) 47 (2F) 48 (30) 49 (31) 50 (32) 51 (33) 52 (34) 54 (36) 55 (37) 56 (38) 57 (39) 58 (3A) 59 (3B) 60 (3C) 61 (3D) 62 (3E) Corresponding object Record type (table) SYSINDEXPART Record type (table) SYSKEYS Record type (table) SYSTABAUTH Record type (table) SYSPLANDEP Record type (table) SYSVTREE Record type (table) SYSVLTREE Record type (table) SYSCOLAUTH Record type (table) SYSSYNONYMS Record type (table) SYSPLAN Record type (table) SYSDBRM Record type (table) SYSSTMT Record type (table) SYSPLANAUTH Record type (table) SYSVIEWS Record type (table) SYSVIEWDEP Record type (table) SYSSTOGROUP Record type (table) SYSVOLUMES Record type (table) SYSDATABASE Record type (table) SYSDBAUTH Record type (table) SYSRESAUTH Record type (table) SYSUSERAUTH Record type (table) SYSCOPY DSNDSX01, the unique index on SYSTABLESPACE (DBNAME, NAME) DSNDS#DP, the link from SYSTABLESPACE to SYSTABLEPART (PARTITION) DSNDS#DT, the link from SYSTABLESPACE TO SYSTABLES DSNDT#DF, the link from SYSTABLES to SYSCOLUMNS (COLNO) DSNDF#FD, the link from SYSCOLUMNS to SYSFIELDS DSNDT#DR, the link from SYSTABLES to SYSRELS (RELNAME) DSNDR#DF, the link from SYSRELS to SYSFOREIGNKEYS (COLSEQ) DSNDT#DX, the link from SYSTABLES to SYSINDEXES DSNDX#DR, the link from SYSINDEXES to SYSINDEXPART (PARTITION) DSNDX#DK, the link from SYSINDEXES to SYSKEYS (COLSEQ) DSNDT#AT, the link from SYSTABLES to SYSTABAUTH DSNAT#AF, the link from SYSTABAUTH to SYSCOLAUTH DSNDT#DY, the link from SYSTABLES to SYSSYNONYMS DSNDTX01, the unique index on SYSTABLES (CREATOR, NAME) DSNDLX01, the nonunique index on SYSRELS (REFTBCREATOR, REFTBNAME)
Chapter 29. Object identifier (OBID) cross reference 729 DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 63 (3F) 64 (40) Corresponding object DSNDXX01, the unique index on SYSINDEXES (CREATOR, NAME) DSNDXX02, the unique index on SYSINDEXES (DBNAME, INDEXSPACE) DSNATX01, the nonunique index on SYSTABAUTH (GRANTOR, GRANTORTYPE) DSNATX02, the nonunique index on SYSTABAUTH (GRANTEE, TCREATOR, TTNAME, GRANTEETYPE, UPDATECOLS, ALTERAUTH, DELETEAUTH, INDEXAUTH, INSERTAUTH, SELECTAUTH, UPDATEAUTH, CAPTUREAUTH, REFERENCESAUTH, REFCOLS, TRIGGERAUTH) DSNDYX01, the unique index on SYSSYNONYMS (CREATOR, NAME) DSNPPH01, the unique index on SYSPLAN (NAME) DSNPP#PD, the link from SYSPLAN to SYSDBRM (NAME) DSNPD#PS, the link from SYSDBRM to SYSSTMT DSNPP#AP, the link from SYSPLAN to SYSPLANAUTH DSNPP#PU, the link from SYSPLAN to SYSPLANDEP DSNAPX01, the nonunique index on SYSPLANAUTH (GRANTOR, GRANTORTYPE) DSNAPH01, the nonunique index on SYSPLANAUTH (GRANTEE, NAME, EXECUTEAUTH, GRANTEETYPE) DSNGGX01, the nonunique index on SYSPLANDEP (BCREATOR, BNAME, BTYPE) DSNVTH01, the unique index on SYSVTREE (CREATOR, NAME, TYPE) DSNVT#VL, the link from SYSVTREE to SYSVLTREE DSNVT#VW, the link from SYSVTREE to SYSVIEWS (SEQNO) DSNVT#VU, the link from SYSVTREE to SYSVIEWDEP DSNGGX02, the nonunique index on SYSVIEWDEP (BCREATOR, BNAME, BTYPE) DSNAUH01, the nonunique index on SYSUSERAUTH (GRANTEE, GRANTEDTS, GRANTEETYPE) DSNAUX02, the nonunique index on SYSUSERAUTH (GRANTOR, GRANTORTYPE) DSNSSH01, the unique index on SYSSTOGROUP (NAME) DSNSS#SV, the link from SYSSTOGROUP to SYSVOLUMES DSNDDH01, the unique index on SYSDATABASE (NAME) DSNDD#AD, the link from SYSDATABASE to SYSDBAUTH DSNADX01, the nonunique index on SYSDBAUTH (GRANTOR, NAME, GRANTORTYPE) DSNADH01, the nonunique index on SYSDBAUTH (GRANTEE, NAME, GRANTEETYPE) DSNAGH01, the nonunique index on SYSRESAUTH (GRANTEE, QUALIFIER, NAME, OBJTYPE, GRANTEETYPE)

| |

65 (41) 66 (42)

67 (43) 68 (44) 69 (45) 70 (46) 71 (47) 72 (48)

| | | |

73 (49) 74 (4A) 75 (4B) 76 (4C) 77 (4D) 78 (4E) 79 (4F) 80 (50)

| | | |

81 (51) 82 (52) 83 (53) 84 (54) 85 (55) 86 (56)

| | | | | |

87 (57) 88 (58) 89 (59)

730

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) Corresponding object DSNAGX01, the nonunique index on SYSRESAUTH (GRANTOR, QUALIFIER, NAME, OBJTYPE, GRANTORTYPE) DSNUCH01, the nonunique index on SYSCOPY (DBNAME, TSNAME, START_RBA(descending), TIMESTAMP(descending)) Index page set DSNDSX01 -- OBID of the index is 47 (2F) Index page set DSNDTX01 -- OBID of the index is 61 (3D) Index page set DSNDLX01 -- OBID of the index is 62 (3E) Index page set DSNDXX01 -- OBID of the index is 63 (3F) Index page set DSNDXX02 -- OBID of the index is 64 (40) Index page set DSNATX01 -- OBID of the index is 65 (41) Index page set DSNATX02 -- OBID of the index is 66 (42) Index page set DSNDYX01 -- OBID of the index is 67 (43) Index page set DSNPPH01 -- OBID of the index is 68 (44) Index page set DSNAPH01 -- OBID of the index is 74 (4A) Index page set DSNAPX01 -- OBID of the index is 73 (49) Index page set DSNGGX01 -- OBID of the index is 75 (4B) Index page set DSNVTH01 -- OBID of the index is 76 (4C) Index page set DSNGGX02 -- OBID of the index is 80 (50) Index page set DSNSSH01 -- OBID of the index is 83 (53) Index page set DSNDDH01 -- OBID of the index is 85 (55) Index page set DSNADX01 -- OBID of the index is 87 (57) Index page set DSNADH01 -- OBID of the index is 88 (58) Index page set DSNAGH01 -- OBID of the index is 89 (59) Index page set DSNAGX01 -- OBID of the index is 90 (5A) Index page set DSNAUH01 -- OBID of the index is 81 (51) Index page set DSNAUX02 -- OBID of the index is 82 (52) Index page set DSNUCH01 -- OBID of the index is 91 (5B) DSNDCX01, the unique index on SYSCOLUMNS (TBCREATOR, TBNAME, NAME) Index page set DSNDCX01 -- OBID of the index is 115 (73) DSNUCX01, the nonunique index on SYSCOPY (DSNAME) Index page set DSNUCX01 -- OBID of the index is 117 (75) Referential constraint relationship descriptor DSNDT@DR between parent SYSTABLES (primary key: CREATOR, NAME) and dependent SYSRELS (foreign key: REFTBCREATOR, REFTBNAME). The file of file page set SYSPKAGE The file page set SYSPKAGE OBID of the file is 120 (78) Record type (table) SYSPACKLIST Referential constraint descriptor DSNPP@KL between parent table SYSPLAN (primary key: NAME) and dependent table SYSPACKLIST (foreign key: PLANNAME)

| |

90 (5A) 91 (5B) 92 (5C) 93 (5D) 94 (5E) 95 (5F) 96 (60) 97 (61) 98 (62) 99 (63) 100 (64) 101 (65) 102 (66) 103 (67) 104 (68) 105 (69) 106 (6A) 107 (6B) 108 (6C) 109 (6D) 110 (6E) 111 (6F) 112 (70) 113 (71) 114 (72) 115 (73) 116 (74) 117 (75) 118 (76) 119 (77)

120 (78) 121 (79) 122 (7A) 123 (7B)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 29. Object identifier (OBID) cross reference 731 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 124 (7C) 125 (7D) 126 (7E) 127 (7F) 128 (80) 129 (81) 130 (82) 131 (83) 132 (84) 133 (85) 134 (86) Corresponding object DSNKLX01, the nonunique index on SYSPACKLIST (LOCATION, COLLID, NAME) Index page set DSNKLX01 -- OBID of the index is 124 (7C) DSNKLX02, the unique index on SYSPACKLIST (PLANNAME, SEQNO, LOCATION, COLLID, NAME) Index page set DSNKLX02 -- OBID of the index is 126 (76) Record type (table) SYSPACKAGE DSNKKX01, unique index on SYSPACKAGE (LOCATION, COLLID, NAME, VERSION) Index page set DSNKKX01 -- OBID of the index is 129 (81) DSNKKX02, unique index on SYSPACKAGE (LOCATION, COLLID, NAME, CONTOKEN) Index page set DSNKKX02 -- OBID of the index is 131 (83) Record type (table) SYSPACKSTMT Referential constraint descriptor DSNKK@KS between parent table SYSPACKAGE (primary key: LOCATION, COLLID, NAME, CONTOKEN) and dependent table SYSPACKSTMT (foreign key: LOCATION, COLLID, NAME, CONTOKEN). DSNKSX01, nonunique index on SYSPACKSTMT (LOCATION, COLLID, NAME, CONTOKEN, SEQNO) Index page set DSNKSX01 -- OBID of the index is 135 (87) Record type (table) SYSPACKDEP Referential constraint descriptor DSNKK@KD between parent table SYSPACKAGE (primary key: LOCATION, COLLID, NAME, CONTOKEN) and dependent table SYSPACKDEP (foreign key: DLOCATION, DCOLLID, DNAME, DCONTOKEN) DSNKDX01, nonunique index of SYSPACKDEP (DLOCATION, DCOLLID, DNAME, DCONTOKEN) Index page set DSNKDX01 -- OBID of the index is 139 (8B) DSNKDX02, nonunique index on SYSPACKDEP (BQUALIFIER, BNAME, BTYPE) Index page set DSNKDX02 -- OBID of the index is 141 (8D) Record type (table) SYSPACKAUTH DSNKAX01, nonunique index on SYSPACKAUTH (GRANTOR, LOCATION, COLLID, NAME, GRANTORTYPE) Index page set DSNKAX01 -- OBID of the index is 144 (90) DSNKAX02, nonunique index on SYSPACKAUTH (GRANTEE, LOCATION, COLLID, NAME, BINDAUTH, COPYAUTH, EXECUTEAUTH, GRANTEETYPE) Index page set DSNKAX02 -- OBID of the index is 146 (92) Record type (table) SYSPLSYSTEM Referential constraint descriptor DSNPP@KP between parent table SYSPLAN (primary key: NAME) and dependent table SYSPLSYSTEM (foreign key: NAME)

135 (87) 136 (88) 137 (89) 138 (8A)

139 (8B) 140 (8C) 141 (8D) 142 (8E) 143 (8F)

| | | | |

144 (90) 145 (91) 146 (92)

147 (93) 148 (94) 149 (95)

732

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 150 (96) 151 (97) 152 (98) 153 (99) Corresponding object DSNKPX01, nonunique index on SYSPLSYSTEM (NAME, SYSTEM, ENABLE) Index page set DSNKPX01 -- OBID of the index is 150 (96) Record type (table) SYSPKSYSTEM Referential constraint relationship descriptor DSNKK@KY between parent table SYSPACKAGE (primary key: LOCATION, COLLID, NAME, CONTOKEN) and dependent table SYSPKSYSTEM (foreign key: LOCATION, COLLID, NAME, CONTOKEN) DSNKYX01, nonunique index on SYSPKSYSTEM (LOCATION, COLLID, NAME, CONTOKEN, SYSTEM, ENABLE) Index page set DSNKYX01 -- OBID of the index is 154 (94) The file of file page set SYSSTR File page set SYSSTR OBID of the file is 156 (9C) Record type (table) SYSSTRINGS DSNSSX01, the unique index on SYSSTRINGS (OUTCCSID, INCCSID, IBMREQD) Index page set DSNSSX01 -- OBID of the index is 159(9F) DSNKAX03, the nonunique index on SYSPACKAUTH (LOCATION, COLLID, NAME) Index page set DSNKAX03 -- OBID of the index is 161(A1) DSNDTX02, the unique index on SYSTABLES (DBID, OBID, CREATOR, NAME) Index page set DSNDTX02 -- OBID of the index is 163(A3) The file of file page set SYSSTATS File page set SYSSTATS OBID of the file is 165 (A5) Record type (table) SYSCOLDIST Referential constraint descriptor DSNDC@TN between parent table SYSCOLUMNS (primary key: TBCREATOR, TBNAME, NAME) and dependent table SYSCOLDIST (foreign key: TBOWNER, TBNAME, NAME) Record type (table) SYSCOLDISTSTATS Referential constraint descriptor DSNDC@TP between parent table SYSCOLUMNS (primary key: TBCREATOR, TBNAME, NAME) and dependent table SYSCOLDISTSTATS (foreign key: TBOWNER, TBNAME, NAME) Record type (table) SYSCOLSTATS Referential constraint descriptor DSNDC@TC between parent table SYSCOLUMNS (primary key: TBCREATOR, TBNAME, NAME) and dependent table SYSCOLSTATS (foreign key: TBOWNER, TBNAME, NAME) Record type (table) SYSINDEXSTATS Referential constraint descriptor DSNDX@TX between parent table SYSINDEXES (primary key: CREATOR, NAME) and dependent table SYSINDEXSTATS (foreign key: OWNER, NAME) Record type (table) SYSTABSTATS
Chapter 29. Object identifier (OBID) cross reference 733 DO NOT COPY

154 (9A) 155 (9B) 156 (9C) 157 (9D) 158 (9E) 159 (9F) 160 (A0) 161 (A1) 162 (A2) 163 (A3) 164 (A4) 165 (A5) 166 (A6) 167 (A7) 168 (A8)

169 (A9) 170 (AA)

171 (AB) 172 (AC)

173 (AD) 174 (AE)

175 (AF)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 176 (B0) Corresponding object Referential constraint descriptor DSNDT@TT between parent table SYSTABLES (primary key: CREATOR, NAME) and dependent table SYSTABSTATS (foreign key: OWNER, NAME) DSNTNX01, the nonunique index on SYSCOLDIST (TBOWNER, TBNAME, NAME) Index page set DSNTNX01 -- OBID of the index is 177 (B1) DSNTPX01, the nonunique index on SYSCOLDISTSTATS (TBOWNER, TBNAME, NAME, PARTITION) Index page set DSNTPX01 -- OBID of the index is 179 (B3) DSNTCX01, the unique index on SYSCOLSTATS (TBOWNER, TBNAME, NAME, PARTITION) Index page set DSNTCX01 -- OBID of the index is 181 (B5) DSNTXX01, the unique index on SYSINDEXSTATS (OWNER, NAME, PARTITION) Index page set DSNTXX01 -- OBID of the index is 183 (B7) DSNTTX01, the unique index on SYSTABSTATS (OWNER, NAME, PARTITION) Index page set DSNTTX01 -- OBID of the index is 185 (B9) Record type (table) SYSCHECKS Referential constraint descriptor DSNDT@SC between parent table SYSTABLES (primary key: TBOWNER, TBNAME) and dependent table SYSCHECKS (foreign key: TBOWNER, TBNAME) Record type (table) SYSCHECKDEP Referential constraint descriptor DSNSC@SD between parent table SYSCHECKS (primary key: TBOWNER, TBNAME, CHECKNAME) and dependent table SYSCHECKDEP (foreign key: TBOWNER, TBNAME, CHECKNAME) DSNDKX01, the unique index on SYSKEYS (IXCREATOR, IXNAME, COLNAME) Index page set DSNDKX01 -- OBID of the index is 192 (C0) DSNDXX03, the unique index on SYSINDEXES (TBCREATOR, TBNAME, CREATOR, NAME) Index page set DSNDXX03 -- OBID of the index is 194 (C2) DSNDRX01, the unique index on SYSINDEXPART (IXCREATOR, IXNAME, PARTITION) Index page set DSNDRX01 -- OBID of the index is 196 (C4) DSNDPX01, the unique index on SYSTABLEPART (DBNAME, TSNAME, PARTITION) Index page set DSNDPX01 -- OBID of the index is 198 (C6) DSNDDX02, the nonunique index on SYSDATABASE (GROUP_MEMBER) Index page set DSNDDX02 -- OBID of the index is 200 (C8) DSNSCX01, the unique index on SYSCHECKS (TBOWNER, TBNAME, CHECKNAME) Index page set DSNSCX01 -- OBID of the index is 202 (CA)

177 (B1) 178 (B2) 179 (B3) 180 (B4) 181 (B5) 182 (B6) 183 (B7) 184 (B8) 185 (B9) 186 (BA) 187 (BB) 188 (BC)

189 (BD) 190 (BE)

192 (C0) 193 (C1) 194 (C2) 195 (C3) 196 (C4) 197 (C5) 198 (C6) 199 (C7) 200 (C8) 201 (C9) 202 (CA) 203 (CB)

734

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 204 (CC) 205 (CD) 208 (D0) 209 (D1) 210 (D2) 211 (D3) 212 (D4) 213 (D5) 214 (D6) 215 (D7) 216 (D8) 217 (D9) 218 (DA) 219 (DB) 220 (DC) 221 (DD) 222 (DE) Corresponding object DSNSDX01, the unique index on SYSCHECKDEP (TBOWNER, TBNAME, CHECKNAME, COLNAME) Index page set DSNSDX01 -- OBID of the index is 204 (CC) DSNVVX01, the unique index on SYSVIEWS (CREATOR, NAME, SEQNO, TYPE) Index page set DSNVVX01 -- OBID of the index is 208 (D0) DSNATX03, the nonunique index on SYSTABAUTH (GRANTEE, GRANTEETYPE, COLLID, CONTOKEN) Index page set DSNATX03 -- OBID of the index is 210 (D2) Record type (table) SYSDUMMY1 The file of file page set SYSDDF File page set SYSDDF OBID of the file is 213 (D4) Record type (table) LOCATIONS DSNFCX01, the unique index on LOCATIONS (LOCATION) Index page set DSNFCX01 -- OBID of the index is 216 (D8) Record type (table) LUNAMES DSNFNX01, the unique index on LUNAMES (LUNAME) Index page set DSNFNX01 -- OBID of the index is 219 (D7) DSNLUN_SEC_IN_C on table LUNAMES: SECURITY_IN IN (A,V) Check constraint DSNLUN_SEC_OUT_C on table LUNAMES: (SECURITY_OUT IN (A,P,R)) AND ((SECURITY_OUT^=P) OR (SECURITY_OUT=P AND USERNAMES IN (B,O))) Check constraint DSNLUN_ENCRPSWDS_C on table LUNAMES: ENCRYPTPSWDS IN (Y,N) Check constraint DSNLUN_MODESEL_C on table LUNAMES: MODESELECT IN (Y,N) Check constraint DSNLUN_USERNAMES_C on table LUNAMES: USERNAMES IN ( ,B,I,O) Check constraint DSNLUN_GENERIC_C on table LUNAMES: GENERIC IN (Y,N) Record type (table) USERNAMES DSNFEX01, the unique index on USERNAMES (TYPE, AUTHID, LINKNAME) Index page set DSNFEX01 -- OBID of the index is 228 (E4) Check constraint DSNUSN_TYPE_C on table USERNAMES: TYPE IN (I, O, S) Record type (table) LULIST Referential constraint descriptor DSNFN@FL between parent table LUNAMES (primary key: LUNAME) and dependent table LULIST (foreign key: LINKNAME) DSNFLX01, a unique index on LULIST (LINKNAME, LUNAME) Index page set DSNFLX01 -- OBID of the index is 233 (E9)

223 (DF) 224 (E0) 225 (E1) 226 (E2) 227 (E3) 228 (E4) 229 (E5)

| |

230 (E6) 231 (E7) 232 (E8)

233 (E9) 234 (EA)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 29. Object identifier (OBID) cross reference 735 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 235 (EB) 236 (EC) 237 (ED) 238 (EE) Corresponding object DSNFLX02, a unique index on LULIST (LUNAME) Index page set DSNFLX02 -- OBID of the index is 235 (EB) Record type (table) LUMODES Referential constraint descriptor DSNFN@FM between parent table LUNAMES (primary key: LUNAME) and dependent table LUMODES (foreign key: LUNAME) DSNFMX01, the unique index on LUMODES (LUNAME, MODENAME) Index page set DSNFMX01 -- OBID of the index is 239 (EF) Record type (table) MODESELECT Referential constraint descriptor DSNFN@FD between parent table LUNAMES (primary key: LUNAME) and dependent table MODESELECT (foreign key: LUNAME) DSNFDX01, the unique index on MODESELECT (LUNAME, AUTHID, PLANNAME) Index page set DSNFDX01 -- OBID of the index is 243 (F3) Record type (table) IPNAMES DSNFPX01, the unique index on IPNAMES (LINKNAME) Index page set DSNFPX01 -- OBID of the index is 246 (F6) Check constraint DSNIPN_SEC_OUT_C on table IPNAMES: (SECURITY_OUT IN (A,P,R,D,E)) AND ((SECURITY_OUT NOT IN (P,E)) OR (SECURITY_OUT IN (P,E) AND USERNAMES=O, S)) Check constraint DSNIPN_USERNAMES_C on table IPNAMES: USERNAMES IN ( ,O, S) Check constraint DSNDIS_CARDF on table SYSCOLDIST: CARDF = -1 OR CARDF >= 0 Check constraint DSNDIS_FREQUENCY on table SYSCOLDIST: FREQUENCY = -1 OR (FREQUENCY >= 0 AND FREQUENCY <= 10000) Check constraint DSNDIS_NUMCOLUMNS on table SYSCOLDIST: NUMCOLUMNS >= 1 Check constraint DSNDST_CARDF on table SYSCOLDISTSTATS: CARDF = -1 OR CARDF >= 0 Check constraint DSNDST_FREQUENCY on table SYSCOLDISTSTATS: FREQUENCY = -1 OR (FREQUENCY >= 0 AND FREQUENCY <= 10000) Check constraint DSNDST_NUMCOLUMNS on table SYSCOLDISTSTATS: NUMCOLUMNS >= 1 Check constraint DSNDST_PARTITION on table SYSCOLDISTSTATS: PARTITION = -1 OR PARTITION >= 1 Check constraint DSNCST_COLCARD on table SYSCOLSTATS: COLCARD = -2 OR COLCARD = -1 OR COLCARD >= 0 Check constraint DSNCOL_COLCARDF on table SYSCOLUMNS: COLCARDF = -2 OR COLCARDF = -1 OR COLCARDF >= 0

239 (EF) 240 (F0) 241 (F1) 242 (F2)

243 (F3) 244 (F4) 245 (F5) 246 (F6) 247 (F7)

| | | | | |

248 (F8)

249 (F9) 253 (FD) 254 (FE)

255 (FF) 256 (100) 257 (101)

258 (102) 259 (103)

| |

260 (104) 261 (105)

736

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 262 (106) Corresponding object Check constraint DSNIXS_CLSTRRATIO on table SYSINDEXES: CLUSTERRATIO = -2 OR (CLUSTERRATIO >= 0 AND CLUSTERRATIO <= 100) Check constraint DSNIXS_FIRSTKCARDF on table SYSINDEXES: FIRSTKEYCARDF = -1 OR FIRSTKEYCARDF >= 0 Check constraint DSNIXS_FULLKCARDF on table SYSINDEXES: FULLKEYCARDF = -1 OR FULLKEYCARDF >= 0 Check constraint DSNIXS_NLEAF on table SYSINDEXES: NLEAF = -1 OR NLEAF >= 0 Check constraint DSNIXS_NLEVELS on table SYSINDEXES: NLEVELS = -1 OR NLEVELS >= 0 Check constraint DSNXST_CLSTRRATIO on table SYSINDEXSTATS: CLUSTERRATIO >= 0 AND CLUSTERRATIO <= 100 Check constraint DSNXST_FIRSTKCARD on table SYSINDEXSTATS: FIRSTKEYCARD = -1 OR FIRSTKEYCARD >= 0 Check constraint DSNXST_FULLKCARD on table SYSINDEXSTATS: FULLKEYCARD = -1 OR FULLKEYCARD >= 0 Check constraint DSNXST_KEYCOUNT on table SYSINDEXSTATS: KEYCOUNT = -1 OR KEYCOUNT >= 0 Check constraint DSNXST_NLEAF on table SYSINDEXSTATS: NLEAF = 0 OR NLEAF >= 0 Check constraint DSNXST_NLEVELS on table SYSINDEXSTATS: NLEVELS = -1 OR NLEVELS >= 0 Check constraint DSNTAB_CARDF on table SYSTABLES: CARDF = -1 OR CARDF >= 0 Check constraint DSNTAB_NPAGES on table SYSTABLES: NPAGES = -1 OR NPAGES >= 0 Check constraint DSNTAB_PCTPAGES on table SYSTABLES: PCTPAGES = -1 OR PCTPAGES >= 0 Check constraint DSNTAB_PCTROWCOMP on table SYSTABLES: PCTROWCOMP = -1 OR PCTROWCOMP >= 0 Check constraint DSNTSP_NACTIVE on table SYSTABLESPACE: NACTIVE = -1 OR NACTIVE >= 0 Check constraint DSNTST_CARD on table SYSTABSTATS: CARD = -1 OR CARD >= 0 Check constraint DSNTST_NACTIVE on table SYSTABSTATS: NACTIVE >= 0 Check constraint DSNTST_NPAGES on table SYSTABSTATS: NPAGES = -1 OR NPAGES >= 0 Check constraint DSNTST_PCTPAGES on table SYSTABSTATS: PCTPAGES = -1 OR PCTPAGES >= 0 Check constraint DSNTST_PCTROWCOMP on table SYSTABSTATS: PCTROWCOMP = -1 OR PCTROWCOMP >= 0 Check constraint DSNDIS_FREQUENCYF on table SYSCOLDIST: FREQUENCYF = -1 OR FREQUENCYF >= 0 Check constraint DSNDST_FREQUENCYF on table SYSCOLDISTSTATS: FREQUENCYF = -1 OR FREQUENCYF >= 0
Chapter 29. Object identifier (OBID) cross reference 737 DO NOT COPY

263 (107) 264 (108) 265 (109) 266 (10A) 267 (10B) 268 (10C) 269 (10D) 270 (10E) 271 (10F) 272 (110) 275 (113) 276 (114) 277 (115) 278 (116) 279 (117) 280 (118) 281 (119) 282 (11A) 283 (11B) 284 (11C) 285 (11D) 286 (11E)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 287 (11F) 288 (120) 289 (121) Corresponding object The file of file page set SYSOBJ File page set SYSOBJ OBID of the file is 287 (11F) Record type (table) SYSROUTINES DSNOFX01, the unique index on SYSROUTINES (NAME, PARM_COUNT, PARM_SIGNATURE, ROUTINETYPE, SCHEMA, PARM1, PARM2, PARM3, PARM4, PARM5, PARM6, PARM7, PARM8, PARM9, PARM10, PARM11, PARM12, PARM13, PARM14, PARM15, PARM16, PARM17, PARM18, PARM19, PARM20, PARM21, PARM22, PARM23, PARM24, PARM25, PARM26, PARM27, PARM28, PARM29, PARM30, VERSION) Index page set DSNOFX01 -- OBID of the index is 290 (122) DSNOFX02, the unique index on SYSROUTINES (SCHEMA, SPECIFICNAME, ROUTINETYPE, VERSION) Index page set DSNOFX02 -- OBID of the index is 292 (124) DSNOFX03, the nonunique index on SYSROUTINES (SOURCESCHEMA, SOURCESPECIFIC) Index page set DSNOFX03 -- OBID of the index is 294 (126) DSNOFX04, the unique index on SYSROUTINES (ROUTINEID) Index page set DSNOFX04 -- OBID of the index is 296 (128) DSNOFX05, the nonunique index on SYSROUTINES (SOURCESCHEMA, SOURCESPECIFIC, ROUTINETYPE) Index page set DSNOFX05 -- OBID of the index is 298 (12A) Record type (table) SYSAUXRELS DSNOFX06, the nonunique index on SYSROUTINES (SCHEMA, NAME, ROUTINETYPE) Index page set DSNOFX06 -- OBID of the index is 300 (12C) Record type (table) SYSAUXRELS DSNOXX01, the nonunique clustering index on SYSAUXRELS (TBOWNER, TBNAME) Index page set DSNOXX01 -- OBID of the index is 303 (12F) DSNOXX02, the nonunique index on SYSAUXRELS (AUXTBOWNER, AUXTBNAME) Index page set DSNOXX02 -- OBID of the index is 305 (131) Record type (table) SYSTRIGGERS DSNOTX01, the unique clustering index on SYSTRIGGERS (SCHEMA, NAME, SEQNO) Index page set DSNOTX01 -- OBID of the index is 308 (134) DSNOTX02, the nonunique index on SYSTRIGGERS (TBOWNER, TBNAME) Index page set DSNOTX02 -- OBID of the index is 310 (136) Referential constraint descriptor DSNDT@OT between parent table SYSTABLES (primary key: TBOWNER, TBNAME) and dependent table SYSTRIGGERS (foreign key: TBOWNER, TBNAME) Record type (table) SYSSCHEMAAUTH

| | | | | | | | |

290 (122)

291 (123) 292 (124) 293 (125) 294 (126) 295 (127) 296 (128) 297 (129) 298 (12A) 299 (12B) 302 (12E) 300 (12C) 301 (12D) 302 (12E) 303 (12F) 304 (130) 305 (131) 306 (132) 307 (133) 308 (134) 309 (135) 310 (136) 311 (137) 312 (138)

313 (139)

738

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) Corresponding object DSNSKX01, the nonunique index on SYSSCHEMAAUTH (GRANTEE, SCHEMANAME, GRANTEETYPE) Index page set DSNSKX01 -- OBID of the index is 314 (13A) DSNSKX02, the nonunique index on SYSSCHEMAAUTH (GRANTOR, GRANTORTYPE) Index page set DSNSKX02 -- OBID of the index is 316 (13C) Record type (table) SYSROUTINEAUTH DSNOAX01, the nonunique index on SYSROUTINEAUTH (GRANTOR, SCHEMA, SPECIFICNAME, ROUTINETYPE, GRANTEETYPE, EXECUTEAUTH, GRANTORTYPE) Index page set DSNOAX01 -- OBID of the index is 319 (13F) DSNOAX02, the unique index on SYSROUTINEAUTH (GRANTEE, SCHEMA, SPECIFICNAME, ROUTINETYPE, GRANTEETYPE, EXECUTEAUTH, GRANTEDTS) Index page set DSNOAX02 -- OBID of the index is 321 (141) DSNOAX03, the unique index on SYSROUTINEAUTH (SCHEMA, SPECIFICNAME, ROUTINETYPE) Index page set DSNOAX03 -- OBID of the index is 323 (143) Referential constraint relationship descriptor DSNDT@CC between SYSTABLES (primary key: CREATOR, NAME) and dependent table SYSCONSTDEP (foreign key: DTBCREATOR, DTBNAME) Record type (table) SYSPARMS DSNOPX01, the unique clustering index on SYSPARMS (SCHEMA, SPECIFICNAME, ROUTINETYPE, ORDINAL) Index page set DSNOPX01 -- OBID of the index is 327 (147) DSNOPX02, the nonunique index on SYSPARMS (TYPESCHEMA, TYPENAME, ROUTINETYPE, CAST_FUNCTION, OWNER, SCHEMA, SPECIFICNAME) Index page set DSNOPX02 -- OBID of the index is 329 (149) DSNOPX03, the nonunique index on SYSPARMS (TYPESCHEMA, TYPENAME) Index page set DSNOPX03 -- OBID of the index is 331 (14B) Referential constraint descriptor DSNOF@OP between parent table SYSROUTINES (primary key: SCHEMA, SPECIFICNAME, ROUTINETYPE, VERSION) and dependent table SYSPARMS (foreign key: SCHEMA, SPECIFICNAME, ROUTINETYPE, VERSION) Record type (table) SYSLOBSTATS DSNLNX01, the unique clustering index on SYSLOBSTATS (DBNAME, NAME) Index page set DSNLNX01 -- OBID of the index is 335 (14F) Record type (table) SYSDATATYPES DSNODX01, the primary unique clustering index on SYSDATATYPES (SCHEMA, NAME) Index page set DSNODX01 -- OBID of the index is 338 (152)
Chapter 29. Object identifier (OBID) cross reference 739 DO NOT COPY

| | | |

314 (13A) 315 (13B) 316 (13C) 317 (13D) 318 (13E)

| | |

319 (13F)

320 (140) 321 (141)

322 (142) 323 (143) 324 (144) 325 (125)

326 (146) 327 (147) 328 (148) 329 (149)

330 (14A) 331 (14B) 332 (14C)

| | | | |

333 (14D)

334 (14E) 335 (14F) 336 (150) 337 (151) 338 (152) 339 (153)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 340 (154) 341 (155) 342 (156) 343 (157) 344 (158) 345 (159) 346 (15A) 347 (15B) 348 (15C) 349 (15D) 350 (15E) 351 (15F) 352 (160) 353 (161) 354 (162) 355 (163) 356 (164) Corresponding object DSNODX02, the unique index on SYSDATATYPES (DATATYPEID) Index page set DSNODX02 -- OBID of the index is 340 (154) Record type (table) SYSCONSTDEP DSNCCX01, the nonunique clustering index on SYSCONSTDEP (BSCHEMA, BNAME, BTYPE) Index page set DSNCCX01 -- OBID of the index is 343 (157) DSNKDX03, the nonunique index on SYSPACKDEP (BQUALIFIER, BNAME, BTYPE, DTYPE) Index page set DSNKDX03 -- OBID of the index is 345 (159) DSNGGX03, the nonunique index on SYSVIEWDEP (BSCHEMA, BNAME, BTYPE) Index page set DSNGGX03 -- OBID of the index is 347 (15B) DSNDCX02, the nonunique index on SYSCOLUMNS (TYPESCHEMA, TYPENAME) Index page set DSNDCX02 -- OBID of the index is 349 (15D) Check constraint DSNIXS_CLUSTERED on table SYSINDEXES: CLUSTERED IN (N,Y, ) DSNDRX02, the nonunique index on SYSINDEXPART (STORNAME) Index page set DSNDRX02 -- OBID of the index is 352 (160) DSNDPX02, the nonunique index on SYSTABLEPART (STORNAME) Index page set DSNDPX02 -- OBID of the index is 354 (162) Check constraint DSNIXS_CLSTRATIOF on table SYSINDEXES: CLUSTERRATIOF = -2 OR (CLUSTERRATIOF >= 0 AND CLUSTERRATIOF <= 1) Check constraint DSNXST_CLSTRATIOF on table SYSINDEXSTATS: CLUSTERRATIOF >= 0 AND CLUSTERRATIOF <= 1 Check constraint DSNXST_FIRSTKCARDF on table SYSINDEXSTATS: FIRSTKEYCARDF = -1 OR FIRSTKEYCARDF >= 0 Check constraint DSNXST_FULLKCARDF on table SYSINDEXSTATS: FULLKEYCARDF = -1 OR FULLKEYCARDF >= 0 Check constraint DSNXST_KEYCOUNTF on table SYSINDEXSTATS: KEYCOUNTF = -1 OR KEYCOUNTF >= 0 Check constraint DSNROU_IOS_PI on table SYSROUTINES: IOS_PER_INVOC = -1 OR IOS_PER_INVOC >= 0 Check constraint DSNROU_INS_PI on table SYSROUTINES: INSTS_PER_INVOC = -1 OR INSTS_PER_INVOC >= 0 Check constraint DSNROU_INITIAL_IO on table SYSROUTINES: INITIAL_IOS = -1 OR INITIAL_IOS >= 0 Check constraint DSNROU_INITIAL_IN on table SYSROUTINES: INITIAL_INSTS = -1 OR INITIAL_INSTS >= 0 Check constraint DSNROU_CARD on table SYSROUTINES: CARDINALITY = -1 OR CARDINALITY >= 0 Check constraint DSNTSP_NACTIVEF on table SYSTABLESPACE: NACTIVEF = -1 OR NACTIVEF >= 0

357 (165) 358 (166)

359 (167) 360 (168) 361 (169) 362 (16A) 363 (16B) 364 (16C) 365 (16D) 366 (16E)

740

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 367 (16F) 368 (170) 369 (171) 370 (172) 371 (173) 372 (174) 373 (175) 374 (176) 375 (177) 376 (178) 377 (179) 378 (17A) 379 (17B) 380 (17C) 381 (17D) 382 (17E) 383 (17F) 384 (180) 385 (181) 386 (182) 387 (183) 388 (184) 389 (185) 390 (186) 391 (187) 392 (188) 393 (189) 394 (18A) 395 (18B) Corresponding object Check constraint DSNTST_CARDF on table SYSTABSTATS: CARDF = -1 OR CARDF >= 0 DSNCCX02, the nonunique index on SYSCONSTDEP (DTBCREATOR, DTBNAME) Index page set DSNCCX02 -- OBID of the index is 368 (170) The file of file page set SYSSEQ File page set SYSSEQ OBID of the file is 370 (172) Record type (table) SYSSEQUENCES DSNSQX01, unique index on SYSSEQUENCES (SCHEMA, NAME) Index page set DSNSQX01 -- OBID of the index is 373 (175) DSNSQX02, unique index on SYSSEQUENCES (SEQUENCEID) Index page set DSNSQX02 -- OBID of the index is 375 (177) The file of file page set SYSSEQ2 File page set SYSSEQ2 OBID of the file is 377 (179) Record type (table) SYSSEQUENCEDEP DSNSRX01, unique index on SYSSEQUENCEDEP (DCREATOR, DNAME, DCOLNAME) Index page set DSNSRX01 -- OBID of the index is 380 (17C) The file of file page set SYSHIST File page set SYSHIST OBID of the file is 382 (17E) The file of file page set SYSGRTNS File page set SYSGRTNS OBID of the file is 384 (180) The file of file page set SYSJAVA File page set SYSJAVA OBID of the file is 386 (182) The file of file page set SYSJAUXA File page set SYSJAUXA OBID of the file is 388 (184) The file of file page set SYSJAUXB File page set SYSJAUXB OBID of the file is 390 (186) Record type (table) SYSCOLDIST_HIST DSNHFX01, the nonunique clustering index on SYSCOLDIST_HIST (TBOWNER, TBNAME, NAME, STATSTIME) Index page set DSNHFX01 -- OBID of the index is 393 (189) Referential constraint relationship descriptor DSNDC@HF between SYSCOLUMNS (primary key: TBOWNER, TBNAME, NAME) and dependent table SYSCOLDIST_HIST (foreign key: TBOWNER, TBNAME, NAME) Record type (table) SYSCHECKS2 DSNCHX01, unique clustering index on SYSCHECKS2 (TBOWNER, TBNAME, CHECKNAME) Index page set DSNCHX01 -- OBID of the index is 397 (18D)

396 (18C) 397 (18D) 398 (18E)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 29. Object identifier (OBID) cross reference 741 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 600 (258) Corresponding object Referential constraint relationship descriptor DSNSC@CH between SYSCHECKS (primary key: TBOWNER, TBNAME, CHECKNAME) and dependent table SYSCHECKS2 (foreign key: TBOWNER, TBNAME, CHECKNAME) Record type (table) SYSCOLUMNS_HIST DSNHEX01, nonunique clustering index on SYSCOLUMNS_HIST (TBCREATOR, TBNAME, NAME, STATSTIME) Index page set DSNHEX01 -- OBID of the index is 602 (25A) Referential constraint relationship descriptor DSNDC@HE between SYSCOLUMNS (primary key: TBCREATOR, TBNAME, NAME) and dependent table SYSCOLUMNS_HIST (foreign key: TBCREATOR, TBNAME, NAME) Record type (table) SYSJARCLASS_SOURCE Referential constraint relationship descriptor DSNJC@JS between SYSJARCONTENTS (primary key: CLASS_SOURCE) and dependent table SYSJARCLASS_SOURCE (foreign key: auxiliary table) DSNJSX01, auxiliary index on SYSJARCLASS_SOURCE (CLASS_SOURCE) Index page set DSNJSX01 -- OBID of the index is 607 (25F) Record type (table) ROUTINES_OPTS DSNROX01, unique clustering index on SYSROUTINES_OPTS (SCHEMA, ROUTINENAME, BUILDDATE, BUILDTIME) Index page set DSNROX01 -- OBID of the index is 610 (262) Record type (table) SYSROUTINES_SRC DSNRSX01, nonunique clustering index on SYSROUTINES_SRC (ROUTINENAME) Index page set DSNRSX01 -- OBID of the index is 613 (265) DSNRSX02, unique index on SYSROUTINES_SRC (SCHEMA, ROUTINENAME, BUILDDATE, SEQNO) Index page set DSNRSX02 -- OBID of the index is 615 (267) Record type (table) SYSINDEXPART_HIST DSNHGX01, nonunique clustering index on SYSINDEXPART_HIST (IXCREATOR, IXNAME, PARTITION, STATSTIME) Index page set DSNHGX01 -- OBID of the index is 618 (26A) Referential constraint relationship descriptor DSNDR@HG between SYSINDEXPART (primary key: IXCREATOR, IXNAME, PARTITION) and dependent table SYSINDEXPART_HIST (foreign key: IXCREATOR, IXNAME, PARTITION) Record type (table) SYSINDEXSTATS_HIST DSNHIX01, nonunique clustering index on SYSINDEXSTATS_HIST (OWNER, NAME, PARTITION, STATSTIME) Index page set DSNHIX01 -- OBID of the index is 622 (26E) Referential constraint relationship descriptor DSNTX@HI between SYSINDEXES (primary key: CREATOR, NAME) and dependent table SYSINDEXSTATS_HIST (foreign key: OWNER, NAME)

601 (259) 602 (25A) 603 (25B) 604 (25C)

605 (25D) 606 (25E)

607 (25F) 608 (260) 609 (261) 610 (262) 611 (263) 612 (264) 613 (265) 614 (266) 615 (267) 616 (268) 617 (269) 618 (26A) 619 (26B) 620 (26C)

621 (26D) 622 (26E) 623 (26F) 624 (270)

742

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 625 (271) 626 (272) 627 (273) 628 (274) Corresponding object Record type (table) SYSINDEXES_HIST DSNHHX01, nonunique clustering index on SYSINDEXES_HIST (TBCREATOR, TBNAME, NAME, STATSTIME) Index page set DSNHHX01 -- OBID of the index is 626 (272) Referential constraint relationship descriptor DSNDX@HH between SYSINDEXES (primary key: CREATOR, NAME) and dependent table SYSINDEXES_HIST (foreign key: CREATOR, NAME) Record type (table) SYSJARCONTENTS DSNJCX01, nonunique clustering index on SYSJARCONTENTS (JARSCHEMA, JAR_ID) Index page set DSNJCX01 -- OBID of the index is 630 (276) Record type (table) SYSJARDATA Referential constraint relationship descriptor DSNJO@JD between SYSJAROBJECTS (JAR_DATA) and dependent table SYSJARDATA (auxiliary table) DSNJDX01, auxiliary index on SYSJARDATA (JAR_DATA) Index page set DSNJDX01 -- OBID of the index is 634 (27A) Record type (table) SYSJAROBJECTS DSNJOX01, unique clustering index on SYSJAROBJECTS (JARSCHEMA, JAR_ID) Index page set DSNJOX01 -- OBID of the index is 637 (27D) Record type (table) SYSJAVAOPTS DSNJVX01, nonunique clustering index on SYSJAVAOPTS (JARSCHEMA, JAR_ID) Index page set DSNJVX01 -- OBID of the index is 640 (280) Record type (table) SYSKEYCOLUSE DSNCUX01, nonunique index on SYSKEYCOLUSE (TBCREATOR, TBNAME, CONSTNAME, COLSEQ) Index page set DSNCUX01 -- OBID of the index is 643 (283) Referential constraint relationship descriptor DSNCN@CU between SYSTABCONST (primary key: TBCREATOR, TBNAME, CONSTNAME) and dependent table SYSKEYCOLUSE (foreign key: TBCREATOR, TBNAME, CONSTNAME) Record type (table) SYSLOBSTATS_HIST DSNHJX01, nonunique clustering index on SYSLOBSTATS_HIST (DBNAME, NAME, STATSTIME) Index page set DSNHJX01 -- OBID of the index is 647 (287) Referential constraint relationship descriptor DSNLN@HJ between SYSLOBSTATS (primary key: DBNAME, NAME) and dependent table SYSLOBSTATS_HIST (foreign key: DBNAME, NAME) Record type (table) SYSTABCONST DSNCNX01, primary unique clustering index on SYSTABCONST (TBCREATOR, TBNAME, CONSTNAME) Index page set DSNCNX01 -- OBID of the index is 651 (28B)
Chapter 29. Object identifier (OBID) cross reference 743 DO NOT COPY

629 (275) 630 (276) 631 (277) 632 (278) 633 (279)

634 (27A) 635 (27B) 636 (27C) 637 (27D) 638 (27E) 639 (27F) 640 (280) 641 (281) 642 (282) 643 (283) 644 (284) 645 (285)

646 (286) 647 (287) 648 (288) 649 (289)

650 (28A) 651 (28B) 652 (28C)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 653 (28D) 654 (28E) 655 (28F) Corresponding object DSNCNX02, nonunique index on SYSTABCONST (IXOWNER, IXNAME) Index page set DSNCNX02 -- OBID of the index is 653 (28D) Referential constraint relationship descriptor DSNDT@CN between SYSTABLES (primary key: CREATOR, NAME) and dependent table SYSTABCONST (foreign key: TBCREATOR, TBNAME) Record type (table) SYSTABLES_HIST DSNHDX01, nonunique clustering index on SYSTABLES_HIST (CREATOR, NAME, STATSTIME) Index page set DSNHDX01 -- OBID of the index is 657 (291) Referential constraint relationship descriptor DSNDT@HD between SYSTABLES (primary key: CREATOR, NAME) and dependent table SYSTABLES_HIST (foreign key: CREATOR, NAME) Record type (table) SYSTABLEPART_HIST DSNHCX01, nonunique clustering index on SYSTABLEPART_HIST (DBNAME, TSNAME, PARTITION, STATSTIME) Index page set DSNHCX01 -- OBID of the index is 661 (295) Referential constraint relationship descriptor DSNDP@HC between SYSTABLEPART (primary key: DBNAME, TSNAME, PARTITION) and dependent table SYSTABLEPART_HIST (foreign key: DBNAME, TSNAME, PARTITION) Record type (table) SYSTABSTATS_HIST DSNHBX01, nonunique clustering index on SYSTABSTATS_HIST (OWNER, NAME, PARTITION, STATSTIME) Index page set DSNHBX01 -- OBID of the index is 665 (299) Referential constraint relationship descriptor DSNTT@HB between SYSTABSTATS (primary key: CREATOR, NAME) and dependent table SYSTABSTATS_HIST (foreign key: OWNER, NAME) Check constraint DSNCDH_CARDF on table SYSCOLDIST_HIST: CARDF = -1 OR CARDF >= 0 Check constraint DSNCDH_FREQUENCYF on table SYSCOLDIST_HIST: FREQUENCYF = -1 OR (FREQUENCYF >= 0 AND FREQUENCYF <= 1) Check constraint DSNCDH_NUMCOLUMNS on table SYSCOLDIST_HIST: NUMCOLUMNS >= 1 Check constraint DSNCLH_COLCARDF on table SYSCOLUMNS_HIST: COLCARDF = -2 OR COLCARDF = -1 OR COLCARDF >= 0 Check constraint DSNIXS_SPACEF on table SYSINDEXES: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNIXH_CLSTRATIOF on table SYSINDEXES_HIST: (CLUSTERRATIOF >= 0 AND CLUSTERRATIOF <= 1) OR CLUSTERRATIOF = -2 Check constraint DSNIXH_FIRSTKCARDF on table SYSINDEXES_HIST: FIRSTKEYCARDF = -1 OR FIRSTKEYCARDF >= 0

656 (290) 657 (291) 658 (292) 659 (293)

660 (294) 661 (295) 662 (296) 663 (297)

664 (298) 665 (299) 666 (29A) 667 (29B)

668 (29C) 669 (29D)

670 (29E) 671 (29F)

672 (2A0) 673 (2A1)

674 (2A2)

744

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 675 (2A3) Corresponding object Check constraint DSNIXH_FULLKCARDF on table SYSINDEXES_HIST: FULLKEYCARDF = -1 OR FULLKEYCARDF >= 0 Check constraint DSNIXH_NLEAF on table SYSINDEXES_HIST: NLEAF = -1 OR NLEAF >= 0 Check constraint DSNIXH_NLEVELS on table SYSINDEXES_HIST: NLEVELS = -1 OR NLEVELS >= 0 Check constraint DSNIXH_SPACEF on table SYSINDEXES_HIST: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNIPT_DSNUM on table SYSINDEXPART: DSNUM = -1 OR DSNUM >= 0 Check constraint DSNIPT_EXTENTS on table SYSINDEXPART: EXTENTS = -1 OR EXTENTS >= 0 Check constraint DSNIPT_LEAFFAR on table SYSINDEXPART: LEAFFAR = -2 OR LEAFFAR = -1 OR LEAFFAR >= 0 Check constraint DSNIPT_LEAFNEAR on table SYSINDEXPART: LEAFNEAR = -2 OR LEAFNEAR = -1 OR LEAFNEAR >= 0 Check constraint DSNIPT_PDELKEYS on table SYSINDEXPART: PSEUDO_DEL_ENTRIES = -1 OR PSEUDO_DEL_ENTRIES >= 0 Check constraint DSNIPT_SPACEF on table SYSINDEXPART: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNIPH_SPACEF on table SYSINDEXPART_HIST: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNIPH_DSNUM on table SYSINDEXPART_HIST: DSNUM = -1 OR DSNUM >= 0 Check constraint DSNIPH_EXTENTS on table SYSINDEXPART_HIST: EXTENTS = -1 OR EXTENTS >= 0 Check constraint DSNIPH_LEAFFAR on table SYSINDEXPART_HIST: LEAFFAR = -2 OR LEAFFAR = -1 OR LEAFFAR >= 0 Check constraint DSNIPH_LEAFNEAR on table SYSINDEXPART_HIST: LEAFNEAR = -2 OR LEAFNEAR = -1 OR LEAFNEAR >= 0 Check constraint DSNIPH_PDELKEYS on table SYSINDEXPART_HIST: PSEUDO_DEL_ENTRIES = -1 OR PSEUDO_DEL_ENTRIES >= 0 Check constraint DSNISH_CLSTRATIOF on table SYSINDEXSTATS_HIST: CLUSTERRATIOF >= 0 AND CLUSTERRATIOF <= 1 Check constraint DSNISH_FIRSTKCARDF on table SYSINDEXSTATS_HIST: FIRSTKEYCARDF = -1 OR FIRSTKEYCARDF >= 0 Check constraint DSNISH_FULLKCARDF on table SYSINDEXSTATS_HIST: FULLKEYCARDF = -1 OR FULLKEYCARDF >= 0 Check constraint DSNISH_NLEAF on table SYSINDEXSTATS_HIST: NLEAF = -1 OR NLEAF >= 0

676 (2A4) 677 (2A5) 678 (2A6) 679 (2A7) 680 (2A8)

| | | |

681 (2A9) 682 (2AA) 683 (2AB) 684 (2AC) 685 (2AD) 686 (2AE) 687 (2AF)

| | | | | |

688 (2B0)

689 (2B1)

690 (2B2)

691 (2B3)

692 (2B4)

693 (2B5)

694 (2B6)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 29. Object identifier (OBID) cross reference 745 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 695 (2B7) 696 (2B8) 697 (2B9) 698 (2BA) 699 (2BB) 700 (2BC) 701 (2BD) 702 (2BE) 703 (2BF) 704 (2C0) 705 (2C1) 706 (2C2) 707 (2C3) 708 (2C4) 709 (2C5) 710 (2C6) 711 (2C7) 712 (2C8) 713 (2C9) 714 (2CA) Corresponding object Check constraint DSNISH_NLEVELS on table SYSINDEXSTATS_HIST: NLEVELS >= 0 Check constraint DSNISH_KEYCOUNTF on table SYSINDEXSTATS_HIST: KEYCOUNTF = -1 OR KEYCOUNTF >= 0 Check constraint DSNIPT_SPACEF on table SYSTABLEPART: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNIPT_DSNUM on table SYSTABLEPART: DSNUM = -1 OR DSNUM >= 0 Check constraint DSNIPT_EXTENTS on table SYSTABLEPART: EXTENTS = -1 OR EXTENTS >= 0 Check constraint DSNTPH_SPACEF on table SYSTABLEPART_HIST: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNTPH_DSNUM on table SYSTABLEPART_HIST: DSNUM = -1 OR DSNUM >= 0 Check constraint DSNTPH_EXTENTS on table SYSTABLEPART_HIST: EXTENTS = -1 OR EXTENTS >= 0 Check constraint DSNTAB_NPAGESF on table SYSTABLES: NPAGESF = -1 OR NPAGESF >= 0 Check constraint DSNTAB_SPACEF on table SYSTABLES: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNTAB_AVGROWLEN on table SYSTABLES: AVGROWLEN = -1 OR AVGROWLEN >= 0 Check constraint DSNTAH_AVGROWLEN on table SYSTABLES_HIST: AVGROWLEN = -1 OR AVGROWLEN >= 0 Check constraint DSNTAH_CARDF on table SYSTABLES_HIST: CARDF = -1 OR CARDF >= 0 Check constraint DSNTAH_NPAGESF on table SYSTABLES_HIST: NPAGESF = -1 OR NPAGESF >= 0 Check constraint DSNTAH_PCTPAGES on table SYSTABLES_HIST: PCTPAGES = -1 OR PCTPAGES >= 0 Check constraint DSNTAH_PCTROWCOMP on table SYSTABLES_HIST: PCTROWCOMP = -1 OR PCTROWCOMP >= 0 Check constraint DSNTAH_SPACEF on table SYSTABLES_HIST: SPACEF = -1 OR SPACEF >= 0 Check constraint DSNTBH_CARDF on table SYSTABSTATS_HIST: CARDF = -1 OR CARDF >= 0 Check constraint DSNTBH_NPAGES on table SYSTABSTATS_HIST: NPAGES >= 0 Referential constraint relationship descriptor DSNJO@JC between SYSJAROBJECTS (primary key: JARSCHEMA, JAR_ID) and dependent table SYSJARCONTENTS (foreign key: JARSCHEMA, JAR_ID)

746

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) Corresponding object DSNOFX07, unique index on SYSROUTINES (NAME, PARM_COUNT, ROUTINETYPE, SCHEMA, PARM_SIGNATURE, PARM1, PARM2, PARM3, PARM4, PARM5, PARM6, PARM7, PARM8, PARM9, PARM10, PARM11, PARM12, PARM13, PARM14, PARM15, PARM16, PARM17, PARM18, PARM19, PARM20, PARM21, PARM22, PARM23, PARM24, PARM25, PARM26, PARM27, PARM28, PARM29, PARM30, VERSION) Index page set DSNOFX07 -- OBID of the index is 715 (2CB) DSNOFX08, nonunique index on SYSROUTINES (JARSCHEMA, JAR_ID) Index page set DSNOFX08 -- OBID of the index is 717 (2CD) DSNOTX03, nonunique index on SYSTRIGGERS (SCHEMA, TRIGNAME) Index page set DSNOTX03 -- OBID of the index is 719 (2CF) Referential constraint relationship descriptor DSNDS@LN between SYSTABLESPACE (primary key: DBNAME, NAME) and dependent table SYSLOBSTATS (foreign key: DBNAME, NAME) Index fanset for DSNHHX02 Index pageset for DSNHHX02 The file of file page set SYSALTER File page set SYSALTER OBID of the file is 724 (2D4) Index fanset for DSNDRH01 Index pageset for DSNDRH01 Index fanset for DSNDXX04 Index pageset for DSNDXX04 Index fanset for DSNSRX02 Index pageset for DSNSRX02 Index fanset for DSNDPX03 Index pageset for DSNDPX03 Index fanset for DSNGGX04 Index pageset for DSNGGX04 Record type (table) IPLIST Index fanset for DSNDUX01 Index pageset for DSNDUX01 Record type (table) SYSOBDS Index fanset for DSNDOB01 Index pageset for DSNDOB01 Index fanset for DSNDOB02 Index pageset for DSNDOB02 Record type (table) SYSSEQUENCEAUTH Index fanset for DSNWCX01 Index pageset for DSNWCX01
Chapter 29. Object identifier (OBID) cross reference 747 DO NOT COPY

| | | | | | |

715 (2CB)

716 (2CC) 717 (2CD) 718 (2CE) 719 (2CF) 720 (2D0) 721 (2D1)

722 (2D2) 723 (2D3) 724 (2D4) 725 (2D5) 726 (2D6) 727 (2D7) 728 (2D8) 729 (2D9) 730 (2DA) 731 (2DB) 732 (2DC) 733 (2DD) 734 (2DE) 735 (2DF) 736 (2E0) 737 (2E1) 738 (2E2) 739 (2E3) 740 (2E4) 741 (2E5) 742 (2E6) 743 (2E7) 744 (2E8) 745 (2E9) 746 (2EA)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) 747 (2EB) 748 (2EC) 749 (2ED) 750 (2EE) 751 (2EF) Corresponding object Index fanset for DSNWCX02 Index pageset for DSNWCX02 Index fanset for DSNWCX03 Index pageset for DSNWCX03 Referential constraint relationship descriptor DSNSQ@WC between SYSSEQUENCES (primary key: SCHEMA, NAME) and dependent table SYSSEQUENCEAUTH (foreign key: SCHEMA, NAME) The file of file page set SYSEBCDC File page set SYSEBCDC OBID of the file is 752 (2F0) Index fanset for DSNDTX03 Index pageset for DSNTDX03 Index fanset for DSNATX04 Index pageset for DSNATX04 Index fanset for DSNDLX02 Index pageset for DSNDLX02 Index fanset for DSNACX01 Index pageset for DSNACX01 Check constraint DSNSRG_INCCSID on table SYSSTRINGS: INCCSID >= 1 AND INCCSID <= 65533 Check constraint DSNSRG_OUTCCSID on table SYSSTRINGS: OUTCCSID >= 1 AND OUTCCSID <= 65533 Check constraint DSNSRG_CCSIDS on table SYSSTRINGS: INCCSID <> OUTCCSID Check constraint DSNSRG_TRANSTYPE on table SYSSTRINGS: TRANSTYPE IN (SS,SM,MS,PS,MM, PM,GG,MP,PP,SP) Check constraint DSNSRG_BYTES on table SYSSTRINGS: (ERRORBYTE <> SUBBYTE) OR (ERROBYTE IS NULL AND SUBBYTE IS NULL) The file of file page set SYSXML File page set SYSXML OBID of the file is 767 (2FF) Record type (table) SYSXMLSTRINGS Record type (table) SYSXMLRELS Referential constraint relationship descriptor DSNDC@XR between SYSCOLUMNS (primary key: TBCREATOR, TBNAME, NAME) and dependent table SYSXMLRELS (foreign key: TBOWNER, TBNAME, COLNAME) DSNXSX01, unique clustering index on SYSXMLSTRINGS (STRINGID) Index page set DSNXSX01 -- OBID of the index is 772 (304) DSNXSX02, unique index on SYSXMLSTRINGS (STRING) Index page set DSNXSX02 -- OBID of the index is 774 (306) DSNXRX01, nonunique index on SYSXMLRELS (TBOWNER, TBNAME)

752 (2F0) 753 (2F1) 754 (2F2) 755 (2F3) 756 (2F4) 757 (2F5) 758 (2F6) 759 (2F7) 760 (2F8) 761 (2F9) 762 (2FA) 763 (2FB) 764 (2FC) 765 (2FD) 766 (2FE)

| | | | | | | | | | | | | | |

767 (2FF) 768 (300) 769 (301) 770 (302) 771 (303)

772 (304) 773 (305) 774 (306) 775 (307) 776 (308)

748

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) Corresponding object Index page set DSNXRX01 -- OBID of the index is 776 (308) DSNXRX02, nonunique index on SYSXMLRELS (XMLTBOWNER, XMLTBNAME) Index page set DSNXRX02 -- OBID of the index is 778 (30A) Record type (table) SYSJAVAPATHS Referential constraint relationship descriptor DSNJO@JP between SYSJAROBJECTS (primary keys: JAR_ID, JARSCHEMA) and dependent table SYSJAVAPATHS (foreign keys: JAR_ID, JARSCHEMA) DSNJPX01, unique index on SYSJAVAPATHS Index page set DSNJPX01 -- OBID of the index is 782 (30E) DSNJPX02, unique index on SYSJAVAPATHS Index page set DSNJPX02 -- OBID of the index is 784 (310) The file of file page set SYSTARG File page set SYSTARG OBID of the file is 786 (312) Record type (table) SYSKEYTARGETS Referential constraint relationship descriptor DSNDX@RK between SYSINDEXES (primary key: CREATOR, NAME) and dependent table SYSKEYTARGETS (foreign key: IXSCHEMA, IXNAME) DSNRKX01, unique clustering index on SYKEYSTARGETS (IXSCHEMA, IXNAME, KEYSEQ) Index page set DSNRKX01 -- OBID of the index is 790 (316) DSNRKX02, nonunique index on SYSKEYTARGETS (DATATYPEID, XMLPATTERN_INTERNAL) Index page set DSNRKX02 -- OBID of the index is 792 (318) Record type (table) SYSKEYTARGETS_HIST Referential constraint relationship descriptor DSNDX@HK between SYSKEYTARGETS (primary key: IXXCHEMA, IXNAME, KEYSEQ) and dependent table SYSKEYTARGETS_HIST (foreign key: IXSCHEMA, IXNAME, KEYSEQ) DSNHKX01, nonunique index on SYSKEYTARGETS_HIST (IXSCHEMA, IXNAME, KEYSEQ, PARTITION) Index page set DSNHKX01 -- OBID of the index is 796 (31C) Record type (table) SYSKEYTARGETSTATS Referential constraint relationship descriptor DSNDX@TK between SYSKEYTARGETS (primary key: IXSCHEMA, IXNAME, KEYSEQ) and dependent table SYSKEYTARGETSTATS (foreign key: IXSCHEMA, IXNAME, KEYSEQ) DSNTKX01, unique index on SYSKEYTARGETSTATS (IXSCHEMA, IXNAME, KEYSEQ, PARTITION) Index page set DSNTKX01 -- OBID of the index is 800 (320) Record type (table) SYSKEYTGTDIST

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

777 (309) 778 (30A) 779 (30B) 780 (30C) 781 (30D)

782 (30E) 783 (30F) 784 (310) 785 (311) 786 (312) 787 (313) 788 (314) 789 (315)

790 (316) 791 (317) 792 (318) 793 (319) 794 (31A) 795 (31B)

796 (31C) 797 (31D) 798 (31E) 799 (31F)

800 (320) 801 (321) 802 (322)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 29. Object identifier (OBID) cross reference 749 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) Corresponding object Referential constraint relationship descriptor DSNDX@TD between SYSKEYTARGETS (primary key: IXSCHEMA, IXNAME, KEYSEQ) and dependent table SYSKEYTGTDIST (foreign key: IXNAME, IXSCHEMA, KEYSEQ) DSNTDX01, nonunique index on SYSKEYTGTDIST (IXSCHEMA, IXNAME, KEYSEQ) Index page set DSNTDX01 -- OBID of the index is 804 (324) Record type (table ) SYSKEYTGTDIST_HIST Referential constraint relationship descriptor DSNDX@HD between SYSKEYTARGETS (primary key: IXSCHEMA, IXNAME) and dependent table SYSKEYTGTDISTS_HIST (foreign key: IXNAME, IXSCHEMA, KEYSEQ) DSNTDX02, nonunique index on SYSKEYTGTDIST_HIST (IXSCHEMA, IXNAME, KEYSEQ, STATSTIME) Index page set DSNTDX02 -- OBID of the index is 808 (328) Record type (table) SYSKEYTGTDISTSTATS Referential constraint relationship descriptor DSNDX@TS between SYSKEYTARGETS (primary key: IXSCHEMA, IXNAME, KEYSEQ) and dependent table SYSKEYTGTDISTSTATS (foreign key: IXNAME, IXSCHEMA, KEYSEQ) DSNTSX01, nonunique index on SYSKEYTGTDISTSTATS (IXSCHEMA, IXNAME, KEYSEQ, PARTITION) Index page set DSNTSX01 -- OBID of the index is 812 (32C) Record type (table) SYSDEPENDENCIES DSNONX01, unique index on SYSDEPENDENCIES (BSCHEMA, BNAME, BCOLNMAE, BTYPE, DSCHEMA, DNAME, DCOLNAME, DTYPE) Index page set DSNONX01 -- OBID of the index is 815 (32F) DSNONX02, unique index on SYSDEPENDENCIES (DSCHEMA, DNAME, DCOLNAME, DTYPE, BSCHEMA, BNAME, BCOLNAME, BTYPE) Index page set DSNONX02 -- OBID of the index is 817 (331) Record type (table) SYSENVIRONMENT DSNOEX01, unique index on SYSENVIRONMENT (ENVID) Index page set DSNOEX01 -- OBID of the index is 820 (334) The file of file page set SYSPLUXA File page set SYSPLUXA OBID of the file is 822 (336) Record type (table) SYSROUTINESTEXT Referential constraint relationship descriptor DSNOF@PL between SYSROUTINES (primary keys: ROUTINETYPE, SCHEMA, SPECIFICNAME, VERSION) and dependent table SYSROUTINESTEXT (foreign keys: ROUTINETYPE, SCHEMA, SPECIFICNAME, VERSION) DSNPLX01, auxiliary index on SYSROUTINESTEXT Index page set DSNPLX01 --OBID of the index is 826 (33A)

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

803 (323)

804 (324) 805 (325) 806 (326) 807 (327)

808 (328) 809 (329) 810 (32A) 811 (32B)

812 (32C) 813 (32D) 814 (32E) 815 (32F)

816 (330) 817 (331)

818 (332) 819 (333) 820 (334) 821 (335) 822 (336) 823 (337) 824 (338) 825 (339)

826 (33A) 827 (33B)

750

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) Corresponding object The file of file page set SYSCONTX File page set SYSCONTX OBID of the file is 828 (33C) Record type (table) SYSCONTEXT DSNCTX01, unique clustering index on SYSCONTEXT (NAME) Index page set DSNCTX01 --OBID of the index is 831 (33F) DSNCTX02, unique index on SYSCONTEXT (SYSTEMAUTHID) Index page set DSNCTX02 --OBID of the index is 833 (341) DSNCTX03, unique index on SYSCONTEXT (CONTEXTID) Index page set DSNCTX03 --OBID of the index is 835 (343) Record type (table) SYSCTXTTRUSTATTRS Referential constraint relationship descriptor DSNCA@CT between SYSCONTEXT (primary key: CONTEXTID) and dependent table SYSCTXTTRUSTATTRS (foreign key: CONTEXTID) DSNCAX01, unique clustering index on SYSCTXTTRUSTATTRS (CONTEXTID, NAME, VALUE) Index page set DSNCAX01 -- OBID of the index is 839 (347) Record type (table) SYSCONTEXTAUTHIDS Referential constraint relationship descriptor DSNCA@CU between SYSCONTEXT (primary key: CONTEXTID) and dependent table SYSCONTEXTAUTHIDS (foreign key: CONTEXTID) DSNCDX01, unique clustering index on SYSCONTEXTAUTHIDS (CONTEXTID, AUTHID) Index page set DSNCDX01 -- OBID of the index is 843 (34B) The file of file page set SYSROLES File page set SYSROLES OBID of the file is 845 (34D) Record type (table) SYSROLES DSNRLX01, unique clustering index on SYSROLES (NAME) Index page set DSNRLX01 -- OBID of the index is 848 (350) Record type (table) SYSOBJROLEDEP DSNRDX01, unique clustering index on SYSOBJROLEDEP (DSCHEMA, DNAME, DTYPE, ROLENAME) Index page set DSNRDX01 -- OBID of the index is 851 (353) DSNRDX02, nonunique index on SYSOBJROLEDEP (ROLENAME) Index page set DSNRDX02 -- OBID of the index is 853 (355) DSNCTX04, nonunique index on SYSCONTEXT (DEFAULTROLE) Index page set DSNCTX04 -- OBID of the index is 855 (357) DSNCDX02, nonunique index on SYSCONTEXTAUTHIDS (ROLE) Index page set DSNCDX02 -- OBID of the index is 857 (359) The file of file page set SYSRTSTS File page set SYSRTSTS OBID of the file is 864 (360) Record type (table) SYSTABLESPACESTATS

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

828 (33C) 829 (33D) 830 (33E) 831 (33F) 832 (340) 833 (341) 834 (342) 835 (343) 836 (344) 837 (345) 838 (346)

839 (347) 840 (348) 841 (349) 842 (34A)

843 (34B) 844 (34C) 845 (34D) 846 (34E) 847 (34F) 848 (350) 849 (351) 850 (352) 851 (353) 852 (354) 853 (355) 854 (356) 855 (357) 856 (358) 857 (359) 858 (35A) 864 (360) 865 (361) 866 (362)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 29. Object identifier (OBID) cross reference 751 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 400. Object identifiers for objects in the DB2 catalog (DSNDB06) (continued) OBID dec (hex) Corresponding object DSNRTX01, unique index on SYSTABLESPACESTATS (DBID, ISOBID, PARTITION, INSTANCE) Index page set on DSNRTX01 -- OBID of the index is 868 (364) Record type (table) SYSINDEXSPACESTATS DSNRTX02, unique index on SYSINDEXSPACESTATS (DBID, ISOBID, PARTITION, INSTANCE) Index page set on DSNRTX02 -- OBID of the index is 872 (368) Check constraint DSNKYT_CARDF on table SYSKEYTARGETS: CARDF = -2 OR CARDF = -1 OR CARDF >= 0 Check constraint DSNKTD_CARDF on table SYSKEYTGTDIST: CARDF = -1 OR CARDF >= 0 Check constraint DSNKTD_FREQUENCYF on table SYSKEYTGTDIST: FREQUENCYF = -1 OR (FREQUENCYF >= 0 AND FREQUENCYF <= 1) Check constraint DSNKTD_NUMKEYS on table SYSKEYTGTDIST: NUMKEYS >= 1 Check constraint DSNKYH_CARDF on table SYSKEYTARGETS_HIST: CARDF = -2 OR CARDF =-1 OR CARDF >= 0 Check constraint DSNKDS_CARDF on table SYSKEYTGTDISTSTATS: CARDF =-1 OR CARDF >= 0 Check constraint DSNKDS_PARTITION on table SYSKEYTGTDISTSTATS: PARTITION = -1 OR PARTITION >= 1 Check constraint DSNKDS_FREQUENCYF on table SYSKEYTGTDISTSTATS: FREQUENCYF = -1 OR (FREQUENCYF >= 0 AND FREQUENCYF <= 1) Check constraint DSNKDS_NUMKEYS on table SYSKEYTGTDISTSTATS: NUMKEYS >= 1 Check constraint DSNKDH_FREQUENCYF on table SYSKEYTGTDIST_HIST: FREQUENCYF = -1 OR (FREQUENCYF >= 0 AND FREQUENCYF <= 1) Check constraint DSNKDH_NUMKEYS on table SYSKEYTGTDIST_HIST: NUMKEYS >= 1 Check constraint DSNKDH_CARDF on table SYSKEYTGTDIST_HIST: CARDF =-1 OR CARDF >= 0 Check constraint DSNTSS_INSTANCE on table SYSTABLESPACESTATS; INSTANCE = 1 OR INSTANCE = 2 Check constraint DSNISS_INSTANCE on table SYSINDEXSPACESTATS; INSTANCE = 1 OR INSTANCE = 2 DSNOPX04, nonunique index on SYSPARMS (SCHEMA, SPECIFICNAME, ROUTINETYPE, VERSION) Index page set on DSNOPX04 -- OBID of the index is 894 (37E)

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

868 (364) 869 (365) 870 (366) 872 (368) 873 (369) 874 (36A) 875 (36B) 876 (36C)

877 (36D) 878 (36E)

879 (36F) 880 (370) 881 (371)

882 (372) 883 (373)

884 (374) 885 (375) 892 (37C) 893 (37D) 894 (37E) 895 (37F)

752

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 7. Data Areas

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

753

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

754

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 30. CSECT Descriptions


A readable z/OS data set is shipped with DB2 for z/OS that describes the DB2 for z/OS (DB2) CSECTs. This data set is called prefix.SDSNSAMP(DSNWMODS). The TSO or ISPF browse function can be used to look at these descriptions online, even when DB2 is down. To look at the descriptions in printed form, use ISPF to print a listing of the data set. Alternatively, the data set can be loaded into a user-defined DB2 table. This approach has the advantage of providing access to the CSECT descriptions through SQL SELECT statements in whatever order or format you choose. SQL can also be used to tailor the information before printing it.

Loading DB2 CSECT descriptions into a table


Before loading the data, execute the CREATE statements shown below, under SYSADM authority. You might wish to change the SQL to place the tables in a different table space.
CREATE TABLESPACE CSECTTS IN DSN8D91A USING STOGROUP DSN8G910; CREATE TABLE DSN8910.CSECT_DESCRIPTIONS (CSECT CHAR(8) NOT NULL, SUBCOMPONENT CHAR(7), RMID CHAR(10), DESCRIPTION CHAR(41), SEQ INTEGER NOT NULL) IN DSN8D21A.CSECTTS;

After creating the table with the SQL statements above, use the following LOAD command to load the table with the data in prefix.SDSNSAMP(DSNWMODS). The JCL on the LOAD command might need to be changed to suit your environment; make sure that the INDDN parameter identifies a DD statement that points to the data as it is shipped with DB2.
LOAD DATA INDDN(SYSREC) LOG(NO) INTO TABLE DSN8910.CSECT_DESCRIPTIONS (CSECT POSITION(1:8) CHAR(8), SUBCOMPONENT POSITION(11:17) CHAR(7), RMID POSITION(20:29) CHAR(10), DESCRIPTION POSITION(32:72) CHAR(41), SEQ POSITION(75:80) INTEGER EXTERNAL(6) )

After the table has been loaded, execute the following command to start the database:
-START DATABASE (DSN8D91A) SPACENAM (CSECTTS) ACCESS (RW)

Retrieving DB2 CSECT descriptions


SQL can be used to retrieve the CSECT descriptions in whatever format or order needed. The SQL statements can be executed as any other SQL would (for example, through SPUFI, QMF, or DSNTEP2). Some sample SQL statements follow that might be useful in listing the DB2 CSECTs. Consider printing a formatted report of the results from the first query below as a reference. Be aware,
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

755

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

however, that this information is licensed. The terms and conditions of the licensing agreement, as stated at the beginning of the file, apply to any hardcopy generated. v To retrieve all CSECT descriptions, ordered alphabetically by CSECT name:
SELECT DISTINCT * FROM DSN8910.CSECT_DESCRIPTIONS ORDER BY SEQ;

v To retrieve all CSECT descriptions, ordered numerically by RMID:


SELECT DISTINCT * FROM DSN8910.CSECT_DESCRIPTIONS ORDER BY RMID, SEQ;

v To retrieve only the CSECT descriptions for subcomponent BM:


SELECT DISTINCT * FROM DSN8910.CSECT_DESCRIPTIONS WHERE CSECT = AGREE OR SUBCOMPONENT = BM ORDER BY SEQ;

v To retrieve only the CSECT description for RMID 14(0E):


SELECT DISTINCT * FROM DSN8910.CSECT_DESCRIPTIONS WHERE CSECT = AGREE OR RMID = 14(0E) ORDER BY SEQ;

v To retrieve only the CSECT description for CSECT DSNIIMSI:


SELECT DISTINCT * FROM DSN8910.CSECT_DESCRIPTIONS WHERE CSECT = AGREE OR CSECT = DSNIIMSI ORDER BY SEQ;

Maintaining DB2 CSECT descriptions


Periodically, updated data is included on DB2 corrective service tapes. These tapes are shipped with the ++HOLD statement, instructing you to replace the original data set with the updated data set. This ensures that the CSECT descriptions are current with DB2 code.

756

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 31. Control block linkages


This chapter contains diagrams describing connections between the control blocks that appear in a formatted dump. The diagrams provide an overview of how the DB2 control blocks are connected and aid in understanding the implications of the control blocks that appear in a formatted dump. The fields contained in selected control blocks are described in the file DSNWCBDS, which can be found in prefix.SDSNSAMP. In the file DSNWCBDS, the data area descriptions are organized in alphabetic order by acronym. Within each data area, fields are listed in offset order. Because source code is not provided with DB2, it is not expected that the information in this file is used to repair code, but rather to provide assistance in communicating with IBM support center personnel. A field name is normally given when reference is made to this section. DB2 Messages, DB2 Codes, other sections of this book, and IBM support center personnel make reference to it. To find a field name, use the cross-reference list, in field name order, after each data area description.

Field descriptions
The following information is provided in DSNWCBDS for each individual field: Offset hex This column is the offset, in hexadecimal, of the field from the start of the data area. Data type This column tells the type of data contained within the field. Len dec This column specifies the length of the field as the number of bytes in decimal. Field name This column specifies the name of an individual data area field. The individual fields within a data area are listed in alphabetic order by field name. Field description This column describes the data area field.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

757

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Control block linkages


The first set of diagrams illustrate control blocks relevant to particular topics, including: v Overall DB2 control block linkage v Address space control block linkage on page 760 v Agent structure control block linkage on page 760 v Database services overall control block linkage on page 761 The second set of diagrams illustrate the DB2 blocks that appear in a formatted dump organized in the way the dump formatter views them, including: v Control block linkage from early processing block (ERLY) on page 762 v Control block linkage from address space control element (ASCE) on page 763 v Control block linkage from agent control element (ACE) on page 764 v Control block linkage from resource manager vector table (RMVT) on page 766 v Control block linkage from communications vector table (ACOM) on page 768 v Control block linkage from cursor table (CT) on page 770 v Control block linkage from RDS control area (RDA) on page 772 For the sake of clarity, only the forward pointers are shown in these diagrams. That a back pointer does not appear in the diagrams should not be taken as an indication that none exists. In many cases, a certain control block can be reached by several paths. The linkages shown here are only one way that these control blocks can be connected. The three methods of indicating chained control blocks used in these diagrams are shown in Figure 199.
Method 1 Method 2

Block

Block

Figure 199. Methods of indicating chained control blocks

Method 1: is used in figures that are vertically oriented. It is also used to show that there is a chain of variable length occurring before the control block. Method 2: is used in balanced or horizontally oriented figures. It is also used to show chains. Method 2 is generally used when the block is the root of some substructure.

Overall DB2 control block linkage


Figure 200 on page 759 is a simplified view of the overall DB2 control block linkage. It includes major DB2 control blocks and, where applicable, the z/OS macro used to chain to the control block. z/OS control blocks are also shown to give an idea of the context within which DB2 operates. The control blocks in the upper half of the figure link the DB2 subsystem to z/OS, and are present at any time after z/OS IPL when DB2 is

758

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

active. The control blocks in the lower half of the figure are built by DB2 during START command processing. Substructures pointed to by the major control blocks shown in this diagram are shown in greater detail in subsequent figures. An ASCE exists for each of the three DB2 address spaces and for each allied address space connected to DB2 (ASID is stored in the ASCE).

CVT (IEAVCVT)

JESCT (IEFJEST)

(SSCVT Chain)

SSCVT (DB2)

ERLY SSCVT (JES) (IEFJSCVT) PRHB SSVT (IEFJSSVT)

Present before -START DB2 Present after -START DB2 Individual Resource Manager Structure

RMFT ASCB (IHAASCB) R M V T RMFT ASCB DBS ASCE ACOM JSTCB MEPL MEPL ASCB DDF ASCE JSTCB (Optional) DSB (Optional)

SS ASCE

SCOM

JSTCB

Individual Resource Manager Structure

ASCB Allied ASCE JSTCB

Figure 200. Overall DB2 control block linkage

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 31. Control block linkages

759

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Address space control block linkage


Figure 201 shows the address space control data areas. The ASCEs are chained from the SCOM, as shown in Figure 200 on page 759. This structure is built for the database services address space, system services address space, distributed data facility address space, and each allied address space. As threads are created and terminated, agent structures (ACE) are added to and deleted from the active ACE chains; agent structures are shown in Figure 202 on page 761.

Next ASCE in chain ASCB ASST ASCE

VLCA ACE EB Active system agent chain for system services, database services, or distributed data facility services

ACE

EB

Active allied agent chain for allied address spaces

SQH

Active SQH chain for default service task. For system services, database services, and distributed data facility services only.

Figure 201. Address space control block linkage

Agent structure control block linkage


Figure 202 on page 761 shows the basic agent control block linkage. The agent structure is based on the ACE; an agent structure exists for every active system agent or allied agent. Each ACE is part of a chain anchored in the VLCA, as shown in Figure 201.

760

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

CCB URE RAL

ACE

CT

(Primary) EB (Note 1)

ROB

(Active) EB (Note 2)

ROB

Notes: 1. The primary EB is always a TCB for allied agents. 2. Other EBs are optional and can be TCBs or SRBs.

Figure 202. Agent structure control block linkage

Database services overall control block linkage


Figure 203 on page 762 is a simplified description of the overall control block structure used by the Database Service subcomponents.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 31. Control block linkages

761

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Resource Manager Structure, UT

Resource Manager Structure, DSM

Resource Manager Structure, BM Resource Manager Structure, DM

ACOM

Resource Manager Structure, DM EDM SQH Service Task Work Queue Headers SQH

Storage Pools (chained) PHB

Figure 203. Database services overall control block linkage

Control block linkage from early processing block (ERLY)


ERLY SCMD

EEPL PRHB SSCT SSVT SCOM

Next diagram

Figure 204. Control block linkage from early processing block (ERLY)

762

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
RIB

SCOM

DMPW

CBDS

CDBG

SCT

FCT

PCL

RCT

MEPL

RMIT

(Deleted at end of startup)

CCB

SCMD

RMVT

ASCE

ACOM

LCOM

TLIS

DSB

GRP

TLMC

Figure 205. Control block linkage from subsystem communications block (SCOM)

Control block linkage from address space control element (ASCE)


Figure 206 on page 764 shows the control block linkage from the address space control element (ASCE) as viewed by the dump formatter.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 31. Control block linkages

763

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

ASCE

EB ROB

VLCA (Agent Services)

ACE

SQH

ASST ASLB

SSLT (Startup/Shutdown) LPVT (Storage Manager) ATBL FTBL

PHB SHB CDCC CDBL

Figure 206. Control block linkage from address space control element (ASCE)

Control block linkage from agent control element (ACE)


Figure 207 on page 765 shows control block linkage from the agent control element (ACE) as viewed by the dump formatter.

764

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

ACE URE AIDL CCB SADL

EB SQH

ROB

SKB

TCB/SRB

(z/OS)

TAB TLPL

ASE

RAL FVL

CT

Figure 207. Control block linkage from agent control element (ACE)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 31. Control block linkages

765

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Control block linkage from resource manager vector table (RMVT)


Figure 208 on page 768 shows control block linkage from the resource manager vector table (RMVT) as viewed by the dump formatter.
RMVT Next Page RMFT RMFT RMFT RMFT IP ASM RM RLM

VGCA RMBG USCA RMBP RSCA RPWA

LMB

LBCE LBCE
LDSD LDSD

CCWA RCWA RMST

ARVP RUDT

ALW ALW
BSDS

BCR1

QJST

LOGP

LRRB LRB1

LRB7 LRB7

OCB

OOB

LRB4

ARD

ARDE

LDSD

ARRB

ARRB

ARDE

LDSD

766

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

From RMVT on previous page


RMFT SM GPVT PHB SHB

GMB RMFT SSS--Allied Memory Support AMGS AGNT CCB FVL RMFT SSS SSGS ACE CONN

SADL AIDL

PRHW RMFT BM FRB RMFT DM RMFT IF--Trace Services TAB RMFT DSM RMFT SC

RMFT UT RMFT RDS RMFT GMC

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 31. Control block linkages

767

DO NOT COPY
From RMVT on previous page
RMFT GCP CGDA

Restricted Materials of IBM Licensed Materials Property of IBM

CST CBFR RFMT MG MGRM

RFMT IF--Statistics and Accounting WWCB

RMFT DRDS

RMFT DCRM LCBL

VCB

SCB RMFT DTM

RMFT DDIS

RMFT DTM

Figure 208. Control block linkage from RMVT

Control block linkage from communications vector table (ACOM)


Figure 209 on page 769 shows the control block linkage from the ACOM.

768

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

ACOM

TLMC EANC ED SPRM EDRC SYSP MLOG ESRC ES

BMVT PBH PBG PB

ELRC

PB0 MMIB PB9 AB WPH WHAT

ABG

WLT

WPHG WPHV

UANB

WPHZ UCA USO

Figure 209. Control block linkage from ACOM

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 31. Control block linkages

769

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Control block linkage from cursor table (CT)


Figure 210 on page 771 shows control block linkage from the cursor table (CT) as viewed by the dump formatter.
CT UCA Next Page MSI MSEL CLST DERU USO PGRN
Note: Only one or the five blocks, UCRA, USK, UIC, URR, or UMR is present.

GRBA

UMGC

UCRA USK

URPG RBAR URPI

UIC URR URPT RBAR UMR


Note: Only one of the three blocks URLD, UMA, or URF is, present.

URER URTK

URLD URIT UMA URF

URPK UCO URIF

UJB URCD USM URTS

UDS URAF
UJB, USM, UDS, and UBH Note: reside in the utilities address space.

UBH

770

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

From CT on previous page


RDA

RLPL

CTDB DBD OBD

CUB

PSFI

OBD

PSI DMPR

OBD

Note: PSI is present only when an index is being used.

MSA

PG

MSI

MSEL CLST

IFCK

BBRA

MRBW TPL

MMRB

QRDA CTHX

QRC

SAP

PKGL

CTDX

Figure 210. Control block linkage from cursor table (CT)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Chapter 31. Control block linkages

771

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Control block linkage from RDS control area (RDA)


Figure 211 shows the control block linkage from the RDS Control Area (RDA) as viewed by the dump formatter.
From CT

RDA RDI SQLC OP SPA PROG SLT OP NPGS PT OPT SAP

PV TBA CAT PDA CLA QAR IDX

COST CHOI SFA JDES JOIN

Figure 211. Control block linkage from RDS control area (RDA)

772

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 8. Trace Messages and Codes

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

773

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

774

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 32. Subcomponents and Resource Managers


DB2 for z/OS is built of subcomponents, which contain smaller units called CSECTs. Each subcomponent is described in Chapter 1, Program Overview, on page 3. Each CSECT in DB2 is listed in the online CSECT directory, described in Chapter 30, CSECT Descriptions, on page 755. As shown in Figure 212, the first three letters of DB2 CSECT names and message identifiers are DSN, and the fourth character is the subcomponent identifier (SCID).

DSN I SM XP

I is the SCID and identifies the subcomponent. Checking SCID versus subcomponent determines that this CSECT resides in the data manager manipulative function.

SMXP identifies a particular CSECT.

Figure 212. Subcomponent identifier

Subcomponent versus SCID, RMID, and address space


Generally, subcomponents and resource managers have a one-to-one correspondence. However, sometimes a subcomponent is not a resource manager (for example, the precompiler), or more than one resource manager is combined in a single subcomponent (for example, the instrumentation facilities subcomponent, which contains two resource managers). Each resource manager has associated with it a number called a resource manager identifier (RMID), which identifies the origin of diagnostic output in dumps. Table 402 on page 776 lists all the DB2 subcomponents. Along with each subcomponent are its assigned SCID and RMID and also an indication of the address space in which the subcomponent resides. Those subcomponents that are not resource managers have None in the RMID column. The subsystem support subcomponent contains ERLY code, which has no RMID. It is marked ERLY. Subcomponents that contain more than one resource manager are described by several lines of information. Table 403 on page 777 lists all SCIDs and the corresponding subcomponents. The SCID is the fourth character in the name of all CSECTs within the corresponding subcomponent. Table 404 on page 778 lists all RMIDs and the corresponding subcomponents that contain these resource managers.
Table 401. Legend for address space column DBS Database services address space SS System services address space DDF Distributed data facility address space Allied Allied address space User Non-allied user address space

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

775

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Table 402. Subcomponent versus SCID, RMID, and address space IBM DATABASE 2 Subcomponent Agent services manager (ASM) Buffer manager (BM) CICS attachment (CA) Call attachment facility (CAF) Data manager (DM) data descriptor management function SCID V B C A G RMID Dec(Hex) 2(02) 10(0A) None None 14(0E) 14(0E) 14(0E) 14(0E) 18(12) 27(1B) 25(19) 28(1C) 28(1C) 29(1D) 30(1E) 9 7 M Y W W O F 23(17) 31(1F) None 1(01) 26(1A) 16(10) 17(11) 24(18) None None 4(04) 3(03) 22(16) None None 20(14) None 6(06) Address Space SS DBS allied allied DBS DBS DBS DBS DBS DDF DDF DDF DDF DDF DSCF SS DSCF allied SS SS SS DBS SS allied,user user+DBS SS SS DBS allied DBS+SPAS DBS user SS

Data manager (DM) environmental descriptor G management function Data manager (DM) index management function Data manager (DM) manipulative function Data space manager (DSM) Distributed data facility (DDF): Distributed communications resource manager (DCRM) Distributed data facility (DDF): Distributed relational data systems manager (DRDS) Distributed data facility (DDF): Distributed transaction manager (DTM) Distributed data interchange services (DDIS) Distributed transaction manager (DTM) General command processor (GCP) Group Manager IMS attachment (IA) Initialization procedures (IP) Instrumentation facilities (IF) accounting and statistics function Instrumentation (IF) facilities trace function LOB manager (LOBM) Message generator (MG) K I P L L L

Message generator (MG) Stand-alone message F generator Precompiler (PRE) Recovery log manager (RLM) Recovery manager (RM) Relational data system (RDS) Resource Recovery Services attachment facility (RRSAF) Stored Procedures Address Space (SPAS) Service controller (SC) Stand-alone utilities (SU) Storage manager (SM) H J R X A None T 1 S

776

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 402. Subcomponent versus SCID, RMID, and address space (continued) IBM DATABASE 2 Subcomponent SCID RMID Dec(Hex) 7(07) ERLY ERLY 8(08) 12(0C) None 21(15) 32(20) Address Space SS+allied allied allied,user SS+allied SS allied DBS+allied DBS

Subsystem support (SSS) allied address space 3 function request handlers Subsystem support (SSS) application program A support function Subsystem support (SSS) z/OS subsystem interface function Subsystem support (SSS) resource manager notification of SSI calls System parameter manager (SPM) TSO attachment (TA) Utilities (UT) 3 3 Z E U N

XML data services (XDS)

SCID versus subcomponent


Table 403. SCID versus subcomponent SCID A Subcomponent Subsystem support subcomponent (SSS), application program support function, call attachment facility (CAF), Resource Recovery Services attachment facility (RRSAF) Buffer manager (BM) CICS attachment (CA) Designates data structures/DSECTs, not a subcomponent TSO attachment (TA) Message generator (MG) Data manager (DM), data and environmental descriptor management functions Precompiler (PRE) Data manager (DM), manipulative function Recovery log manager (RLM) Data manager (DM), index management function Distributed Data Facility (DDF) IMS attachment (IA) XML data services (XDS) LOB manager (LOBM) Data space manager (DSM) Reserved Recovery manager (RM) Storage manager (SM) Service controller (SC) Utilities (UT)

B C D E F G H I J K L M

N O P Q R S T U

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 32. Subcomponents and Resource Managers 777 DO NOT COPY

DO NOT COPY
Table 403. SCID versus subcomponent (continued) SCID V W X Y Z 0 1 2 3 4 5-6 7 8 9 Subcomponent Agent services manager (ASM) Instrumentation facilities (IF) Relational data system (RDS) Initialization procedures (IP)

Restricted Materials of IBM Licensed Materials Property of IBM

System parameter manager (SPM) Reserved Stand-alone utilities (SU) Reserved Subsystem support subcomponent (SSS), allied address space connection function and z/OS subsystem interface function DB2I HELP panels Reserved Group Manager Reserved General command processor (GCP)

RMID versus subcomponent


Table 404. RMID versus subcomponent RMID Dec(Hex) 0(00) 1(01) 2(02) 3(03) 4(04) 5(05) 6(06) 7(07) 8(08) 9(09) 10(0A) 11(0B) 12(0C) 13(0D) 14(0E) 15(0F) 16(10) 17(11) 18(12) 20(14) Subcomponent Reserved Initialization procedures (IP) Agent services manager (ASM) Recovery manager (RM) Recovery log manager (RLM) Reserved Storage manager (SM) Subsystem support subcomponent (SSS), allied address space connection function Subsystem support subcomponent (SSS), z/OS SSI function Reserved Buffer manager (BM) Reserved System parameter manager (SPM) Reserved Data manager (DM) Reserved Instrumentation facilities (IF), trace function LOB manager (LOBM) Data space manager (DSM) Service controller (SC)

778

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 404. RMID versus subcomponent (continued) RMID Dec(Hex) 21(15) 22(16) 23(17) 24(18) 25(19) 26(1A) 27(1B) 28(1C) 29(1D) 30(1E) 31(1F) Subcomponent Utilities (UT) Relational data system (RDS) General command processor (GCP) Message generator (MG) Distributed data facility (DDF): Distributed relational data systems manager Instrumentation facilities (IF), accounting and statistics function Distributed data facility (DDF): Distributed communications resource manager (DCRM) Distributed data facility (DDF): Distributed transaction manager (DTM) Distributed data facility (DDF): Distributed data interchange services (DDIS) Data system control facility (DSCF): Distributed transaction manager (DTM) Group Manager XML data services (XDS)

32(20)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 32. Subcomponents and Resource Managers 779 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

780

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 33. DB2 Trace Codes


A readable z/OS data set is shipped with DB2 which describes the DB2 trace codes issued by the global trace facility. These trace codes are known as event identifiers (EIDs). The data set is called prefix.SDSNSAMP(DSNWEIDS). Use the TSO or ISPF browse function to look at these descriptions online, even when DB2 is down. To look at the descriptions in printed form, use ISPF to print a listing of the data set. Alternatively, the data set can be loaded into a user-defined DB2 table. This approach has the advantage of providing access to the EID descriptions through SQL SELECT statements in whatever order or format required. SQL can also be used to tailor the information before printing it.

Loading EID descriptions into a table


Before loading the data, execute the CREATE statements shown below, under SYSADM authority. The SQL can be changed to place the tables in a different table space.
CREATE TABLESPACE EIDTS IN DSN8D91A USING STOGROUP DSN8G910; CREATE TABLE DSN8910.EID_DESCRIPTIONS (RMID CHAR(6) NOT NULL, EID CHAR(9), CSECT CHAR(8), DESCRIPTION CHAR(29), TYPE CHAR, TRACEITEMS CHAR(14), SEQ INTEGER NOT NULL) IN DSN8D91A.EIDTS;

After the table is created with the SQL statements above, use the following LOAD command to load the table with the data in prefix.SDSNSAMP(DSNWEIDS). Change the JCL on the LOAD command to suit your environment; make sure that the INDDN parameter identifies a DD statement that points to the data as it is shipped with DB2.
LOAD DATA INDDN(SYSREC) LOG(NO) INTO TABLE DSN8910.EID_DESCRIPTIONS (RMID POSITION(1:6) EID POSITION(8:16) CSECT POSITION(18:25) DESCRIPTION POSITION(27:55) TYPE POSITION(57) TRACEITEMS POSITION(59:72) SEQ POSITION(74:80)

CHAR(6), CHAR(9), CHAR(8), CHAR(29), CHAR, CHAR(14), INTEGER EXTERNAL(6))

After the table has been loaded, execute the following command to start the database:
-START DATABASE (DSN8D91A) SPACENAM (EIDTS) ACCESS (RW)

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

781

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

Retrieving EID descriptions


SQL can be used to retrieve the EID descriptions in whatever format or order required. The SQL statements can be executed as would any other SQL (for example, through SPUFI, QMF, or DSNTEP2). Some sample SQL statements follow that might be useful in analyzing the DB2 global trace. Consider printing a formatted report of the results from the first query below as a reference. Be aware, however, that this information is licensed. The terms and conditions of the licensing agreement, as stated at the beginning of the file, apply to any hardcopy that is generated. v To retrieve all EID descriptions, ordered numerically by RMID:
SELECT DISTINCT * FROM DSN8910.EID_DESCRIPTIONS ORDER BY SEQ;

v To retrieve only the EID descriptions for RMID 04-04:


SELECT DISTINCT * FROM DSN8910.EID_DESCRIPTIONS WHERE RMID = AGREE OR RMID = 04-04 ORDER BY SEQ;

v To retrieve only the EID description for EID 10-0A:


SELECT DISTINCT * FROM DSN8910.EID_DESCRIPTIONS WHERE RMID = AGREE OR EID = 10-0A ORDER BY SEQ;

v To retrieve only the EID descriptions for CSECT DSNICFLD:


SELECT DISTINCT * FROM DSN8910.EID_DESCRIPTIONS WHERE RMID = AGREE OR CSECT = DSNICFLD ORDER BY SEQ;

v To retrieve only the EID description for EID 3376-0D30 in RMID 21-15:
SELECT DISTINCT * FROM DSN8910.EID_DESCRIPTIONS WHERE EID = AGREE OR (RMID = 21-15 AND EID = 3376-0D30) ORDER BY SEQ;

Maintaining EID descriptions


Periodically, updated data is included on DB2 corrective service tapes. These tapes are shipped with the ++HOLD statement, with instructions to replace the original data set with the updated data set. In this way, the EID descriptions are kept current with DB2 code.

782

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 34. System-Agent Correlation Identifiers


The following correlation identifiers identify system agents. (Correlation identifiers for allied agents are unpredictable.)
Table 405. Correlation identifiers Correlation ID 001.YSTPWK00 001.YSTPWK01 002.DBM1DF00 002.DISTDF00 002.MSTRDF00 003.RCRSC 01 003.RCRSC 02 003.RIT03 00 003.RMWTO 01 003.RTIMR00 003.RTIMR05 004.JB001 01 004.JB001 02 004.JB001 03 004.JB001 04 004.JB005 00 004.JC005 01 004.JC007 01 004.JC09A 00 004.JOFF1 01 004.JOFF1 02 004.JOFF1 03 004.JOFF1 04 004.JOFF2 00 004.JR008 01 004.JR008 02 004.JR008 03 004.JR008 04 004.JR008 05 004.JR008 06 004.JR008 07 RMID 001 001 002 002 002 003 003 003 003 003 003 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 CSECT DSNYSCMD DSNYSCMD DSNVASIM DSNVASIM DSNVASIM DSNRIT03 DSNRIT03 DSNRIT03 DSNRUDIS DSNRIT03 DSNRRPRC DSNJW106 DSNJW106 DSNJW106 DSNJW106 DSNJS001 DSNJC005 DSNJC007 DSNJC09A DSNJW006 DSNJW307 DSNJW307 DSNJW107 DSNJS001 DSNJRE01 DSNJR208 DSNJR006 DSNJR006 DSNJR008 DSNJR206 DSNJR206 Component IPC IPC ASMC ASMC ASMC RM RM RM RM RM RM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM Function Stop work broadcasts Stop work broadcasts Default service task for database address space Default service task for distributed address space Default service task for master address space Checkpoint/restart serial controller Checkpoint/restart serial controller RMC Facility startup routine Multiple line WTO Commit LSN timer task Commit LSN timer task BSDS initialization request processor BSDS initialization request processor BSDS initialization request processor BSDS initialization request processor BSDS init/term Archive log command processor Archive log command quiesce function processor Set log suspend command processor Off-load service task Off-load service task Off-load service task Off-load service task Off-load service task init/term Archive log read task Archive log read final deallocation call Archive log read task fast-path I/O Archive log read task CLOSE call Archive log reader service task reinstate Archive log read task selected Archive log read

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

783

DO NOT COPY
Table 405. Correlation identifiers (continued) Correlation ID 004.JR008 08 004.JR008Cxx 004.JR008Cxx 004.JR06A 00 004.JR06A 01 004.JR108 00 004.JR206 00 004.JR206 01 004.JR206 02 004.JR206 03 004.JR206 04 004.JR206 05 004.JR206 06 004.JR206 07 004.JR206 09 004.JR208 00 004.JR208 01 004.JR208 02 004.JS001 00 004.JS001 01 004.JTIMR 00 004.JW006 00 004.JW007 01 004.JW106 01 004.JW106 02 004.JW106 03 004.JW106 04 006.SMCCLS01 006.SMCCLS02 006.SMFACL01 006.SMFACL02 006.SMSCON00 007.DEOTST01 007.DEOTST02 007.DEOTST03 RMID 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 004 006 006 006 006 006 007 007 007 CSECT DSNJR206 DSNJR206 DSNJS001 DSNJR006 DSNJOFF1 DSNJS001 DSNJS001 DSNJR001 DSNJR006 DSNJR006 DSNJR206 DSNJR008 DSNJRE01 DSNJR106 DSNJC009 DSNJS001 DSNJR008 DSNJR208 DSNJS001 DSNJS001 DSNJS001 DSNJS001 DSNJS001 DSNJW307 DSNJW307 DSNJW307 DSNJW107 DSNSCTL DSNSCTL DSNSFACL DSNSFACL DSNSVBK DSN3AMI2 DSN3AMI2 DSN3AMI2 Component RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM RLM SMC SMC SMC SMC SMC SSSC SSSC SSSC

Restricted Materials of IBM Licensed Materials Property of IBM

Function Archive log read cleanup look-ahead execution unit Log reader dynamic task creation (XX can be X0A through X63) Log reader static task creation (XX can be X00 through X09) Active log read prefetch Active log read prefetch Archive log read Archive read scheduler creation Archive log read scheduler cleanup Archive log read demand schedule Archive log read look-ahead mount schedule Archive log scheduler service task reinstate Archive log read scheduler wake-up Archive log read scheduler cleanup Log read catalog locate request Archive log read scheduler wake-up Archive read delayed - deallocation task creation Archive log read - initiate delayed tape deallocation Archive log read delayed - deallocation task reinstate Log manager initialization Log manager initialization Log Timer services Archive log data set control init/term Log buffer writer init/term Active log data set control Active Log data set control Active Log data set control Active log data set control SM control of local storage SM control of local storage SM facility startup SM facility startup Variable storage contraction Deferred EOT service task Deferred EOT service task Deferred EOT service task
LY37-3218-01 Copyright IBM Corp. 1983, 2007

784

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM Table 405. Correlation identifiers (continued) Correlation ID 007.DEOTST04 007.DEOTST05 007.DEOTST06 007.DEOTST07 007.DEOTST08 007.DEOTST09 007.DEOTST10 007.3AUTH 00 007.3AUTH 01 007.3AUTH 02 007.3AUTH 03 007.3AUTH 04 007.3AUTH 05 007.3AUTH 06 007.3AUTH 07 007.3EOTS 01 007.3EOTS 02 007.3EOTS 03 007.3EOTS 04 007.3EOTS 05 007.3EOTS 06 007.3EOTS 07 007.3EOTS 08 007.3EOTS 09 007.3EOTS 10 010.ABPMIG01 010.AURDAAxx 010.CHKCFC01 010.CMDABP01 010.CMDABP02 010.CMDAGB01 010.CMDDBP01 010.CMDDGB01 010.COMCMA01 010.CPFRAP01 010.CPSDRN01 010.CPXDAO01 RMID 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 007 010 010 010 010 010 010 010 010 010 010 010 010 CSECT

DO NOT COPY

Component SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC SSSC BM BM BM BM BM BM BM BM BM BM BM BM

Function Deferred EOT service task Deferred EOT service task Deferred EOT service task Deferred EOT service task Deferred EOT service task Deferred EOT service task Deferred EOT service task Authorization service task Authorization service task Authorization service task Authorization service task Authorization service task Authorization service task Authorization service task Authorization service task Deferred EOT processor Deferred EOT processor Deferred EOT processor Deferred EOT processor Deferred EOT processor Deferred EOT processor Deferred EOT processor Deferred EOT processor Deferred EOT processor Deferred EOT processor Schedule block migration execution unit Perform automatic recovery of group buffer pool Schedule critical function cleanup execution unit Process ALTER BUFFERPOOL command Process ALTER BUFFERPOOL command Process ALTER GROUPBUFFERPOOL command Process DISPLAY BUFFERPOOL command Process DISPLAY GROUPBUFFERPOOL command Schedule asynchronous write execution unit Schedule prefetch execution unit Schedule slow close drain execution unit Schedule GBP damage assessment

DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3SSLM DSN3SSLM DSN3SSLM DSN3SSLM DSN3SSLM DSN3SSLM DSN3SSLM DSN3SSLM DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSN3AMI2 DSNB1ABP DSNB1DAA DSNB1CHK DSNB1CMD DSNB1CMD DSNB1CMD DSNB1CMD DSNB1CMD DSNB5COM DSNB1CPF DSNB1CPS DSNB1CPX

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPYChapter 34. System-Agent Correlation Identifiers 785

DO NOT COPY
Table 405. Correlation identifiers (continued) Correlation ID 010.CPXSCO01 010.GBPLNK01 010.GC1REExx 010.GC1SCO01 010.LPFRAP01 010.OPPDRN01 010.OPSMIG01 010.OSTDRN01 010.PCOPCO01 010.PCOPCO02 010.PCPDRN01 010.PMIBSD01 010.PMICMS01 010.PMIDA001 010.PMIDRN01 010.GC0GCDxx 010.PMIOPC01 010.PMIRCS01 010.PMITMR01 010.PMITMR02 010.PM2PCK02 010.PM2PCP01 010.REEDAO01 010.RSCGPR01 010.RSCSCR01 010.RTRCF302 010.RTRCFC01 010.SCMSCA01 010.SPFRAP01 010.TG0TGB01 014.CRSTATS 014.DLCCHK01 RMID 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 010 014 014 CSECT DSNB1CPX DSNB1REE DSNB1GC1 DSNB1GC1 DSNB1SPF DSNB1OPP DSNB1OPS DSNB1OST DSNB1PCO DSNB1PCO DSNB1PCP DSNB1PMI DSNB1PMI DSNB1PMI DSNB1PMI DSNB1GC0 DSNB1PMI DSNB1PMI DSNB1PMI DSNB1PMI DSNB1PM2 DSNB1PM2 DSNB1REE DSNB1RSC DSNB1RSC DSNB1RTR DSNB1RTR DSNB1CMS DSNB1SPF DSNB1TG0 DSNI* DSNGECHK Component BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM BM DM EDM

Restricted Materials of IBM Licensed Materials Property of IBM

Function Schedule GBP structure castout Schedule GBP link failure processing GBP xx event exit Schedule GBP structure castout Call DSNB6RAP to schedule prefetch execution unit Schedule slow close drain execution unit Schedule block migration execution unit Schedule slow close drain execution unit Schedule GBP page set castout Schedule GBP page set castout Schedule slow close drain execution unit Call DSNB1BSD to read BSDS and retrieve buffer pool attributes Schedule deferred write execution unit GBP damage assessment task Create slow close drain task GBP xx connect/disconnect task Create open/close task Create recall service task Create timer service task Schedule timer execution unit Schedule pseudo-checkpoint process Schedule pseudo-close execution unit Schedule GBP damage assessment Perform rebuild of GPAR in SCA Perform rebuild of RSTP in SCA Perform synchronous online page recovery Schedule critical function cleanup execution unit Schedule GBP write engine Call DSNB6RAP to schedule prefetch execution unit Transfer GBP statistics Create the statistics service task Check the subtype information in a DBD and make sure that it matches what is in the catalog. Perform deferred restart Statistics error and disable function Perform statistics update service

014.DRSTRT00 014.ERRSTATS 014.PUKSTATS

014 014 014

DSNILSTS DSNI* DSNI*

DMC DM DM

786

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Table 405. Correlation identifiers (continued) Correlation ID 016.SPQMON01 016.WCDCBA00 016.WVSMG 00 016.WVSMT 01 018.CAMSST09 020.AUTBND06 020.CHEKPT03 020.CLSTAT01 020.DBCMD_05 020.DBCMD_06 020.PEXCTL00 020.PEXENGxx 020.SRVTSK02 020.STRTDB04 020.STOPDB08 020.STOPDB09 xxx.TLPLKNyy 020.TLPLKPxx 020.TLPLKSxx 020.VLRLST07 020.VLRLST08 021.CLSLGR00 021.DIAGWT00 021.DLTLGR00 021.EUSDTU09 021.OPNLGR00 022.CKPA0201 023.GCSCNM01 023.GCSCNM02 023.GCSCN601 023.GCSCN602 024.MGCCST00 026.WVSMT 00 026.WVZXT 00 026.WVZXT 01 027.DDFINT01 027.DDFINT02 RMID 016 016 016 016 018 020 020 020 020 020 020 020 020 020 020 020 020 020 020 020 020 021 021 021 021 021 022 023 023 023 023 024 026 026 026 027 027 CSECT

DO NOT COPY

Component STPM IFC IFC IFC DSM SCC SCC SCC SCC SCC SCC SCC SCC SCC SCC SCC SCC SCC SCC SCC SCC UTIL UTIL UTIL UTIL UTIL AUTH GCPC GCPC GCPC GCPC MGC IFC IFC IFC DCRM DCRM

Function Monitor SQL CALL statements too long in input queue Load edit and field procedures Write IFC buffers in CSA to SMF Schedule statistics record recording Create AMS service task Invoke Automatic Bind ADMF checkpoint module Gather SCC statistics Process DISPLAY START and STOP DATABASE Process DISPLAY START and STOP DATABASE P-lock exit engine controller P-lock exit engine ADMF startup module Database command processor Database command processor Database command processor RM service for notify exit request P-lock exit request IRLM status exit request Process START RLIMIT Command Release RLST P-locks Update Syslog range when close pageset Create subtask for diagnose wait Delete Syslog range Execution unit switch for DISPLAY/TERM UTILITY command Update Syslog range when open pageset Perform x-mem auth check under new SRB MCS console initialization MCS console initialization MCS console task controller MCS console task controller MG create service task Schedule statistics record recording Start statistics timer Start statistics timer DCRM cpool owner Create DCRM cpool owner task

DSNX9MON DSNWVZIT DSNWVZIT DSNWVZIT DSNPASTR DSNTBIAB DSNTRCKP DSNTXSTA DSNTDDIS DSNTDDIS DSNTSTRT DSNTLPLK DSNTSTRT DSNTDMST DSNTDMST DSNTDMST DSNTLPLK DSNTLPLK DSNTLPLK DSNTCSTR DSNTCSTP DSNUAHR1 DSNUDWTC DSNUADP1 DSNUGCCC DSNUAHR1 DSNXACKP DSN9SCNM DSN9SCNM DSN9SCN6 DSN9SCN6 DSNFCST DSNWVZIT DSNWVZIT DSNWVZIT DSNLIINI DSNLIINI

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPYChapter 34. System-Agent Correlation Identifiers 787

DO NOT COPY
Table 405. Correlation identifiers (continued) Correlation ID 027.DDFINT03 027.DDFINT04 027.DDFINT05 027.DDFINT06 027.DDFINT07 027.DDFINT08 027.DDFTRM01 027.DDFTRM03 027.OPNACB01 027.OPNACB02 027.OPNACB03 028.DBAA--01 028.DBAA--01 028.DBAA--02 028.DBAA--02 028.DDFTRM02 028.DDFTRM04 028.ERRMON01 028.ERRMON02 028.RESYNC01 028.RESYNC02 028.RESYNT01 028.RESYNT02 028.S/SDDF01 028.S/SDDF02 028.S/SDDF03 028.S/SDDF04 028.S/SDDF05 028.S/SDDF06 028.S/SDDF07 031.GLMTSK00 RMID 027 027 027 027 027 027 027 027 027 027 027 028 028 028 028 028 028 028 028 028 028 028 028 028 028 028 028 028 028 028 031 CSECT DSNLIIN2 DSNLIIN2 DSNLVINI DSNLVINI DSNLIIN2 DSNLIIN2 DSNLITRM DSNLITRM DSNLIIN2 DSNLVACB DSNLIIN2 DSNLCRNC DSNLCRTR DSNLCRNC DSNLCRTD DSNLSSAB DSNLSSAB DSNLTMIN DSNLTMIN DSNLSSST DSNLTMIN DSNLTMIN DSNLTMIN DSNLSSRC DSNLSSRW DSNLDDFS DSNLSSBP DSNLSSBP DSNLSSRC DSNLSSRW DSN7LCTK Component DCRM DCRM DCRM DCRM DCRM DCRM DCRM DCRM DCRM DCRM DCRM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM DTM GMC

Restricted Materials of IBM Licensed Materials Property of IBM

Function DCRM datagram outbound DCRM datagram inbound VTAM manager AUTO CNOS VTAM manager test driver Create DCRM datagram outbound task Create DCRM datagram inbound task DCRM termination Create DCRM termination task DCRM open ACB service task VTAM manager OPEN ACB Create DCRM open ACB service task Private protocol database access agent in DDF Private protocol database access agent in DDF DRDA protocol database access agent in DDF DRDA protocol database access agent in DDF DDF abend Create DDF abend task DDF error monitor Create DDF error monitor task Resync Task Create Resync Task Resync Timer Create Resync Timer START DDF, STOP DDF commands DDF release work broadcast processor Initiate DDF STOP DDF stop work broadcast processor Create DDF stop work broadcast task Create START DDF, STOP DDF command task Create DDF release work broadcast task GLM service task

788

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 35. Service Task Plan Names


The following plan names are used by DB2 service tasks:
Table 406. DB2 system plan names Plan name ACT + X0000000000 BCT + X0000000000 DISTSERV DSNBIND + X00 DSNUTIL STARTCT + X00 ?RRSAF Usage The plan for authorization The plan for unallocated threads and DB2 service tasks The plan for a database access thread from an application using DRDA access The plan for bind The plan for utilities The plan for start-up The plan name for RRSAF CREATE THREAD with the collection parameter

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

789

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

790

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Chapter 36. Attachment facility trace codes and messages


This topic contains: v TSO attachment facility trace messages v SPUFI trace messages v Call attachment facility trace messages.

TSO attachment facility trace messages


The TSO attachment facility tracing mechanisms are described in detail under TSO attachment facility traces on page 253. The TSO trace messages listed in this section all have the same message number. They are listed in order of the CSECTs that issue them. When a message is printed, it is preceded by the name of the issuing CSECT. To find a particular message, look for the issuing CSECT shown in an eye-catcher box before each block of messages issued by one CSECT. Then, look for the message within that group that has the same text as the message you received. This trace facility is primarily intended for use either by IBM personnel or by a system programmer working in conjunction with the IBM support center. The following table shows the beginning page number for each CSECT.
Table 407. CSECT page numbers CSECT DSNECP00 DSNECP01 DSNECP10 DSNECP12 DSNECP13 DSNECP14 DSNECP16 DSNECP17 DSNECP18 DSNECP19 DSNECP20 DSNECP21 DSNECP22 DSNECP23 DSNECP24 DSNECP25 DSNECP26 DSNECP27 DSNECP28 DSNECP29 Page CSECT DSNECP31 DSNECP40 DSNECP41 DSNECP42 DSNECP44 DSNECP45 DSNECP46 DSNECP47 DSNECP50 DSNECP51 DSNECP54 DSNECP55 DSNECP60 DSNECP61 DSNECP62 DSNECP63 DSNECP66 DSNECP67 DSNECP68 DSNECP69 Page

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

791

DO NOT COPY
Table 407. CSECT page numbers (continued) CSECT DSNECP30 Page CSECT

Restricted Materials of IBM Licensed Materials Property of IBM

Page

DSNETRAP

CSECT: DSNECP00
Message text ENTER DSNECP00 R1 token1 token2 Explanation CSECT DSNECP00 has been entered from TSO. The first hexadecimal token is register 1. The second hexadecimal token is not used. AFTER STAX R6,R15 token1 token2 The STAX macro has been issued. The first hexadecimal token is register 6, which contains the pointer to the connection information block (CIB). The second hexadecimal token is register 15, the return code from the STAX macro. MAIN LOOP TOP CIBP00C,CIBSTIP1 token1 token2 This is the start of the main loop in CSECT DSNECP00. The first hexadecimal token is CIBP00C, the loop control variable. The second hexadecimal token is CIBSTIP1, the user attention indication variable. BEFORE ATTACH R2,R3 token1 token2 Load module DSNECP00 is about to attach load module DSNECP10. The first hexadecimal token is register 2, a pointer to DSNE0CIB. The second hexadecimal token is register 3, the ATTACH ECB. BEFORE WAIT CIBEXECB,CIBSBECB token1 token2 The WAIT macro is about to be issued. The first hexadecimal token is CIBEXECB, the EXIT ECB. The second hexadecimal token is CIBSBECB, the ATTACH ECB. WAIT WAS JUST POSTED CIBEXECB,CIBSBECB token1 token2 The WAIT was just posted by either the DB2 (the EXIT ECB) or by DSNECP10, the DSN subtask. The first hexadecimal token is CIBEXECB, the EXIT ECB. The second hexadecimal token is CIBSBECB, the ATTACH ECB.

792

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation DSNECP10 has completed. The first hexadecimal token is CIBSBECB, the DSNECP10 ECB. The second hexadecimal token is CIBSTIP1, the user attention indicator variable.

DSNECP10 WAS POSTED CIBSBECB,CIBSTIP1 token1 token2

BIG IF BOTTOM CIBEXECB,CIBSBECB token1 token2

Execution is at the bottom of the main IF statement in the CSECT. The first hexadecimal token is CIBEXECB, the EXIT ECB. The second hexadecimal token is CIBSBECB, the DSNECP10 subtask ECB.

MAIN LOOP BOTTOM CIBP00C,CIBSTIP1 The program is at the bottom of the main token1 token2 loop. The first hexadecimal token is CIBP00C, the loop control variable. The second hexadecimal token is CIBSTIP1, the attention indicator variable. EXIT DSNECP00 CIBEXECB,CIBSBECB token1 token2 The DSN command processor is terminating. Control will return to TSO. The first hexadecimal token is CIBEXECB, the EXIT ECB. The second hexadecimal token is CIBSBECB, the DSNECP10 subtask ECB. ENTER ZSTOMP CIBP00C,CIBMAXRC token1 token2 Control is entering the subroutine that will DETACH DSNECP10. The first hexadecimal token is CIBP00C, the main-loop control variable. The second hexadecimal token is CIBMAXRC, the maximum return code that has occurred so far in DSN processing. AFTER CS R2,CIBSBTCB token1 token2 The compare and swap (CS), that checks the TCB before detaching it, has just occurred. The two tokens should be identical for the CS to occur. The first hexadecimal token is the contents of register 2. The second hexadecimal token is CIBSBTCB, the TCB address. BEFORE DETACH ZTCBPTR,CIBSTIP1 token1 token2 The DSNECP00 task is about to DETACH the DSNECP10 subtask. The first hexadecimal token is ZTCBPTR, the address of the TCB to be detached. The second hexadecimal token is CIBSTIP1, the attention indicator variable.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 793 DO NOT COPY

DO NOT COPY
Message text AFTER DETACH ZTCBPTR,CIBSTIP1 token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation DETACH has completed. The first hexadecimal token is ZTCBPTR, the address of the TCB detached. The second hexadecimal token is CIBSTIP1, the attention indicator variable.

CIBPUTGT WAS ON AND USER PRESSED ATTENTION token1 token2

CIBPUTGT being on means that the DSN initialization processing is complete and that normal attention processing is enabled. The first hexadecimal token is ZTCBPTR, the address of the TCB that was processing at the time of attention. The second hexadecimal token is CIBSTIP1, which indicates whether or not the user pressed attention.

ENTER DSNECP00 ESTAI ROUTINE, R0=12 token1 token2

The ESTAI was entered with no SDWA. The first hexadecimal token is unpredictable. The second hexadecimal token is the attention indicator variable, CIBSTIP1.

CIBSTIP1=ATTN token1 token2

The user pressed the attention key. The hexadecimal tokens are not used.

ENTER DSNECP00 ESTAI ROUTINE, The ESTAI routine in DSNECP00 has been ABEND CODE, REASON CD token1 token2 entered with an SDWA. The first hexadecimal token is the ABEND code. The second hexadecimal token is the reason code. ABEND ADDRESS FROM PSW token1 token2 An SDWA was available and the abend address is in token one. The first hexadecimal token is SDWAPMKA. The second hexadecimal token is not used. CIBSTIP1=ATTN token1 token2 The user pressed the attention key. The hexadecimal tokens are not used.

CSECT: DSNECP01
Message text ENTER DSNECP01, R6= token1 token2 Explanation Attention routine has been entered. The first hexadecimal token is unpredictable. The second hexadecimal token is register 6, the address of the connection information block (CIB).

794

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text No Text

DO NOT COPY
Explanation In a loop scanning past leading blanks in the input buffer. The first hexadecimal token is ZI, the offset into the buffer. The second hexadecimal token is MXRPLEN, the message length.

firstchar token1 token2

The message text (firstchar) contains the first character in the input buffer. The first hexadecimal token contains the buffer index to firstchar. The second hexadecimal token contains the size of the buffer.

ZINPUT= token1 token2

Result of scanning the input buffer has been determined. The first hexadecimal token is not used. The second hexadecimal token contains the character to be used for cancel/resume decision.

NO C INPUT, MXRPLEN= token1 token2

No C for cancel was found. The first hexadecimal token contains the scan limit. The second hexadecimal token is not used.

LEAVE DSNECP01 token1 token2

DSNECP01 is about to end. The first hexadecimal token is the contents of register 15. Register 15 contains the results of the FREEMAIN that just occurred. The second hexadecimal token is unpredictable.

NO PUTGET MESSAGE, R15= token1 token2

The PUTGET failed. The first hexadecimal token contains register 15 after PUTGET. The second hexadecimal token is not used.

AFTER COMPARE/SWAP, R2, ZTCBPTR token1 token2

DSNECP01 is serializing DETACH of subtask. The first hexadecimal token contains register 2. The second hexadecimal token contains the TCB pointer of the task to be detached.

BEFORE DETACH, ZTCBPTR = token1 token2

DSNECP01 is about to DETACH subtask. The first hexadecimal token contains the address of the TCB to be detached. The second hexadecimal token is unpredictable.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 795 DO NOT COPY

DO NOT COPY
Message text DSNECP01 AFTER DETACH, R15=

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The DETACH has been performed. The first hexadecimal token contains the return code from DETACH. The second hexadecimal token is unpredictable.

CSECT: DSNECP10
Message text ENTER DSNECP10, R6 token1 token2 Explanation CSECT DSNECP10 has been entered. The first hexadecimal token contains register 6, the address of the connection information block (CIB). The second hexadecimal token is unpredictable. AFTER DSNECP20 token1 token2 CSECT DSNECP20 has finished initializing control blocks. The hexadecimal tokens are not used. CIBSCANC: subcmd token1 token2 subcmd is the current subcommand being processed. The first hexadecimal token is CIBMAXRC, the maximum return code so far. The second hexadecimal token is CIB10RTC, an internal return code. BEGIN DSN COMMAND token1 token2 User has entered DSN as a subcommand. The first hexadecimal token is the contents of CIBSESS, a session control variable. The second hexadecimal token is the contents of CIB10RTC, which is an internal return code. CIBMAXRC,CIB10RCT token1 token2 Execution is just prior to the check for the new maximum return code. The first hexadecimal token contains CIBMAXRC, the internal maximum return code. The second hexadecimal token contains CIB10RCT, which is the current subcommands return code.

796

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation DSNECP10 is about to return to DSNECP00. The first hexadecimal token contains CIBMAXRC, the internal maximum return code. The second hexadecimal token contains CIB10RTC, the return code from the current subcommand.

EXIT DSNECP10, MAXRC, CIB10RTC token1 token2

ENTER DSNECP10 ESTAERTN, R0, R6 token1 token2

The ESTAE routine for DSNECP10 has been entered. The first hexadecimal token contains register 0. If it is 12, then no SDWA was obtained. The second hexadecimal token contains register 6, the address of the connection information block (CIB).

ADDR(DSNECP10),PSW ADDR token1 token2

An SDWA was obtained. The first hexadecimal token is the current address of DSNECP10. The second hexadecimal token contains SDWANXT1.

USER ATTENTION RECOGNIZED, R0, R6 token1 token2

The ABEND was caused by user attention; dumping will be suppressed. The first hexadecimal token is the contents of register 0. The second hexadecimal token is register 6, the address of the connection information block (CIB).

CIBMAXRC token1 token2

The ESTAE routine is about to return to ABTERM (RTM) processing. The first hexadecimal token contains ZMAXRC, the maximum return code. The second hexadecimal token is not used.

END DSNECP10 ESTAERTN, MAXRC, R15 token1 token2

Control is now leaving the ESTAE routine. The first hexadecimal token contains MAXRC. The second hexadecimal token is the contents of register 15.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 797 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP12
Message text ENTER DSNECP12, CIBRTRY=, CIBIDFRB= token1 token2 Explanation CSECT DSNECP12 has been entered. The first hexadecimal token is CIRBRTY, the retry parm from the DSN command. The second hexadecimal token is CIBIDFRB, the Identify FRB address. CIBCORID=cibcorid CIBMODE=token1 token2 This message shows the correlation identifier and the mode (foreground or background). The first hexadecimal token contains CIBMODE. The second hexadecimal token is zero. BEFORE IDENTIFY DB2 CALL ================, token1 token2 CSECT DSNECP12 is about to establish the Identify level connection with DB2. Control is now passing to DB2. The first hexadecimal token contains FRBRC1, which is not used at this time. The second hexadecimal token contains FRBRC2, which is not used at this time. AFTER IDENTIFY DB2 CALL =================, token1 token2 Control has just returned from the identify call. The first hexadecimal token contains FRBRC1, the return code from the identify. The second hexadecimal token contains FRBRC2, the reason code from the identify. BEFORE ESTABLISH-EXIT DB2 CALL ==================== token1 token2 DSN is about to hand control to DB2 for the Establish EXIT call. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2. AFTER ESTABLISH-EXIT DB2 CALL ===================== token1 token2 Control has now returned from DB2. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2. EXIT DSNECP12, FRBRC1=, FRBRC2= token1 token2 The identify attempt is complete. The first hexadecimal token contains FRBRC1, preceded by two bytes of zeros. The second hexadecimal token is FRBRC2. FRB FIELD CONTENTS FOLLOW (CIBIDFRB) token1 token2 The FRB contents are about to be written. The first hexadecimal token contains the address of the identify FRB. The second hexadecimal token is not used.

798

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation More of FRB. The first hexadecimal token contains FRBRAL. The second hexadecimal token contains FRBFVLE and FRBFVLE.

FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) token1 token2

FRBPARM(PTR), FRBPCNT(BIN15) token1 token2

More of FRB. The first hexadecimal token is the FRBPARM pointer. The second hexadecimal token is the FRBPCNT.

FRBRC1(BIN15), FRBRC2(CHAR4) token1 token2

More of FRB. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2.

FRBFBACK(PTR), FRBRHPC(BIN32) token1 More of FRB. token2 The first hexadecimal token is the FRBFBACK pointer. The second hexadecimal token is the FRBRHPC. FRBQUAL(BIN15), FRBRSV1(BIN15) token1 More of FRB. token2 The first hexadecimal token is FRB QUAL. The second hexadecimal token is FRBRSV1. SSID- cibssid ,CONID- cibconid token1 token2 The IDENTIFY was done for DB2 ssid and connection ID conid. The first hexadecimal token contains ZSSID. The second hexadecimal token contains ZCONID. CONTY- cibconty ,ZFRB token1 token2 The connection type used in this IDENTIFY was conty. The first hexadecimal token contains ZCONTY. The second hexadecimal token contains ZFRB.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 799 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP13
Message text Explanation ENTER DSNECP13, R6=, CIBRFRB= token1 CSECT DSNECP13 (create thread) has been token2 entered. The first hexadecimal token is the connection information block (CIB) pointer. The second hexadecimal token is CIBRFRB, the FRB pointer. BEFORE CREATE THREAD DB2 CALL =======R6,CIBCTFRB token1 token2 DSNECP13 is about to complete the connection to DB2 with a create thread call to the PRH. The first hexadecimal token is the address of the connection information block (CIB). The second hexadecimal token is the FRB address. AFTER CREATE THREAD DB2 CALL========R6,CIBCTFRB token1 token2 Control has just returned from DB2. The first hexadecimal token contains register 6, the address of the connection information block (CIB). The second hexadecimal token is CIRRFRB, the FRB address. R6=, CIBCTRTN= token1 token2 Control is about to leave DSNECP13. The first hexadecimal token is register 6, the address of the connection information block (CIB). The second hexadecimal token is CIBCTRTN, a create thread return code. EXIT DSNECP13 token1 token2 Now leaving CSECT DSNECP13 The first hexadecimal token is not used. The second hexadecimal token is the address in CIBRFRB. FOLLOWING ARE FRB FIELD CONTENTS, CIBCTFRB= token1 token2 This and following messages are a dump of the FRB pointed to by CIBCTFRB. These messages precede and follow the CREATE THREAD call. The first hexadecimal token contains CIBCTFRB. The second hexadecimal token is not used. FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) token1 token2 More of FRB. The first hexadecimal token is FRBRAL. The second hexadecimal token contains FRBRALE, the resource access list entry and FRBFVLE, the function vector list entry.

800

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation More of FRB. The first hexadecimal token is FRBPARM. The second hexadecimal token is FRBPCNT.

FRBPARM(PTR), FRBPCNT(BIN15) token1 token2

FRBRC1(BIN15), FRBRC2(CHAR4) token1 token2

More of FRB. The first hexadecimal token is the FRBRC1. The second hexadecimal token is the FRBRC2.

FRBKNAME: fback token1 token2

This message lists the contents of the area pointed to by FRBFBACK. The hexadecimal tokens are not used.

FRBFBACK PTR(31), FRBRHPC token1 token2

More of FRB. The first hexadecimal token is FRBFBACK. The second hexadecimal token is FRBRHPC.

FRBQUAL(BIN15), FRBRSV1(BIN15) token1 More of FRB. token2 The first hexadecimal token is FRBQUAL. The second hexadecimal token is FRBRSV1. CIBPLNID : planid The CREATE THREAD was done for plan planid. The hexadecimal tokens are not used. CIBCORID : corid The CREATE THREAD was done using corid as the correlation ID. The hexadecimal tokens are not used. ZINDOUBT : indoubt The CREATE THREAD was done using indoubt for indoubt status. The hexadecimal tokens are not used.

CSECT: DSNECP14
Message text ENTER DSNECP14, SIBDFLAG=, ADDR(SIBDCL)= token1 token2 Explanation This messages announces entry into CSECT DSNECP14. The first hexadecimal token is SIBDFLAG, a byte of DCLGEN flag bits. The second hexadecimal token is ADDR(SIBDCL), the DCLGEN section of the SIB.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 801 DO NOT COPY

DO NOT COPY
Message text BEFORE LI SETUP,PARSE WAS GOOD CIBRFRB,CIBFRMLI token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message indicates that preparation for the create thread is in progress. The first hexadecimal token is CIBRFRB, the address of the FRB. The second hexadecimal token is CIBFRMLI, which contains the address to which the language interface will branch.

AFTER DSNECP66, SIBDSQLD=, SQLD= token1 token2

The PREPARE, DESCRIBE, and SELECT are now successfully completed. The first hexadecimal token is SIBDSQLD, the SQLDA address. The second hexadecimal token is SQLD.

BEGIN COMMENT token1 token2

The CSECT is about to begin writing the first comment block. The hexadecimal tokens are not used.

BEFORE CALL DSNECP67, SIBDOFF=, ZBIN31= token1 token2

The CSECT just completed the first comment block. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is contains ZBIN31.

AFTER DSNECP67, SIBDOFF= token1 token2

Control just returned from DSNECP67. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.

FINISHED SECOND COMMENT BLOCK, SIBDOFF= token1 token2

The second comment block is now complete. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.

BEFORE TERMINATE THREAD, SIBDOFF= token1 token2

DCLGEN is starting to shutdown and is about to terminate its thread. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.

BEFORE CALL DSNECP69 TO CLOSE & DEALLOCATE SIBDOFF= token1 token2

DCLGEN continues its cleanup process. The first hexadecimal token is SIBDOFF. The second hexadecimal token is not used.

802

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The FREEMAIN of the SQLDA is about to happen. The first hexadecimal token contains the size of the SQLDA. The second hexadecimal token contains the address of the SQLDA.

BEFORE FREEMAIN, SIBDSQLS=, SIBDSQLD= token1 token2

LEAVE DSNECP14, SIBDFLAG=, SIBDOFF= token1 token2

DCLGEN has just completed. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token contains the value of SIBDFLAG, the DCLGEN flag area. The second hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer.

ENTER DECORATE, SIBDOFF= token1 token2

Control has passed to subroutine DECORATE, which writes decorative lines around comment blocks. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.

LEAVE DECORATE, SIBDOFF= token1 token2

DECORATE is finished and will return control to the mainline code. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.

ENTER RESETBUF, SIBDOFF= token1 token2

Control has passed to subroutine RESETBUF, which clears the output buffer and resets SIBDOFF. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.

LEAVE RESETBUF, ZBIGBUF(1:25)= 25bytes The first 25 bytes of ZBIGBUF are shown. token1 token2 The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used. ENTER WRITECOM, SIBDOFF= token1 token2 Control has now passed to subroutine WRITECOM, which writes a line of comment block output. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.
LY37-3218-01 Copyright IBM Corp. 1983, 2007 Chapter 36. Attachment facility trace codes and messages 803 DO NOT COPY

DO NOT COPY
Message text LEAVE WRITECOM, SIBDOFF= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation Control will now return to the mainline code. The first hexadecimal token contains the current value of SIBDOFF, the offset into the main output buffer. The second hexadecimal token is not used.

CSECT: DSNECP16
Message text ENTER DSNECP16, ADDR(SIB)=, ADDR(SIBRUN)= token1 token2 Explanation CSECT DSNECP16 has been entered. The first hexadecimal token contains the subcommand information block (SIB) address. The second hexadecimal token contains the address of SIBRUN, the RUN section of the SIB. BEGIN TSO COMMAND CIBCPPL=,CPPLECT token1 token2 Start processing TSO command sequence. The first hexadecimal token is CIBCPPL. The second hexadecimal token is CPPLECT. userinput token1 token2 This message echoes the users input from the PUTGET. The first hexadecimal token is the command length (ZCMDLEN). The second hexadecimal token is not used. AFTER PUTGET ZRETCODE=, CPPLCBUF= token1 token2 This is more information regarding the PUTGET that just completed. The first hexadecimal token is the return code from the PUTGET. The second hexadecimal token is CPPLCBUF. END MODE CPPLCBUF= token1 token2 TSO command has been invoked or PUTGET failed. The first hexadecimal token is CPPLCBUF. The second hexadecimal token is not used. CIBMAC= BEFORE FREEMAIN, CPPLCBUF=, ZCMDLEN=token1 token2 About to freemain the TSO command buffer. The first hexadecimal token contains CPPLCBUF, the address of the command buffer about to be freed with FREEMAIN. The second hexadecimal token contains ZCMDLEN, the length of the command buffer. END TSO COMMAND token1 token2 The TSO command processing is completed. The hexadecimal tokens are not used.

804

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation

BEFORE LINK TO PROGRAM SIBRDCB=, About to LINK to application program. ADDR(SIBRUN)= token1 token2 The first hexadecimal token contains SIBRDCB. The second hexadecimal token contains the address of SIBRUN. AFTER LINK XXXX, R15=, R1= token1 token2 XXXX is GOOD if LINK found the user program. The first hexadecimal token contains register 15 from the user program. The second hexadecimal token contains register 1 after LINK. EXIT DSNECP16, CIBSCANC=cibscanc SIBRCODE=token1 token2 DSNECP16 is about to return to caller. CIBSCANC is the current subcommand being processed by DSN. The first hexadecimal token contains SIBRCODE. The second hexadecimal token contains zero.

CSECT: DSNECP17
Message text ENTER DSNECP17, CPPLCBUF= token1 token2 Explanation This message announces entry into CSECT DSNECP17, where a DB2 command will be processed. The first hexadecimal token contains the address of the CPPLCBUF, which contains the command. The second hexadecimal token is not used. END DSNECP17, R15=, SIBRCODE= token1 This message indicates the CSECT is exiting. token2 Control will return to CSECT DSNECP19. The first hexadecimal token contains the current value in register 15. The second hexadecimal token is SIBRCODE. HERE COMES THE FRB <<<<<<<<<<<<<<<<<<< CIBFRB token1 token2 The next series of messages are the various fields in the function request block (FRB). They are listed both before and after the DB2 command. The first hexadecimal token contains the address of the FRB. The second hexadecimal token is not used. FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) token1 token2 More of the FRB. The first hexadecimal token is FRBRAL. The second hexadecimal token is FRBFVLE followed by FRBFVLE.
LY37-3218-01 Copyright IBM Corp. 1983, 2007 Chapter 36. Attachment facility trace codes and messages 805 DO NOT COPY

DO NOT COPY
Message text FRBPARM(PTR), FRBPCNT(BIN15) token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation More of the FRB. The first hexadecimal token is FRBPARM. The second hexadecimal token is FRBPCNT.

FRBRC1(BIN15), FRBRC2(CHAR4) token1 token2

More of the FRB. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2.

FRBFBACK(PTR), FRBRHPC(BIN32) token1 More of the FRB. token2 The first hexadecimal token is FRBFBACK. The second hexadecimal token is FRBRHPC. FRBQUAL(BIN15), FRBRSV1(BIN15) token1 More of the FRB. token2 The first hexadecimal token is FRBQUAL. The second hexadecimal token is FRBRSV1. ZPARM1(PTR31) , ZPARM2(PTR31) token1 token2 This displays more of the FRB parameter list. The first hexadecimal token is ZPARM1. The second hexadecimal token is ZPARM2. ZPARM3(PTR31) , ZFWD0 token1 token2 This displays more of the FRB parameter list. The first hexadecimal token is ZPARM3. The second hexadecimal token is ZFWD0.

CSECT: DSNECP18
Message text ENTER DSNECP18 CIBTRMOP=, R6= token1 token2 Explanation CSECT DSNECP18 has been entered. The first hexadecimal token contains CIBTRMOP. The second hexadecimal token is R6, the base register for the main DSN control block (the CIB). CIBTRMOP NOT BLANK, CIBTRMOP= token1 token2 There is a termination option. The first hexadecimal token is CIBTRMOP. The second hexadecimal token is not used. BEFORE TERMINATE DB2 CALL ===================== token1 token2 Control is about to be passed to DB2 to do the TERMINATE. The first hexadecimal token is CIBTRMOP, the termination option. The second hexadecimal token is not used. AFTER TERMINATE DB2 CALL ===================== token1 token2 Control has returned from DB2 to DSN. The hexadecimal tokens are not used.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

806

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation DSNECP18 is about to return to caller. The first hexadecimal token is SIBRCODE, the main DSN return code. The second hexadecimal token is not used.

EXIT DSNECP18 token1 token2

FRB FIELDS FOLLOW (CIBFRB): token1 token2

The following messages show the FRB contents. The first hexadecimal token is the FRB address. The second hexadecimal token is not used.

FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) token1 token2

More of the FRB. The first hexadecimal token is FRBRAL. The second hexadecimal token is FRBRALE followed by FRBFVLE.

FRBPARM(PTR), FRBPCNT(BIN15) token1 token2

More of the FRB. The first hexadecimal token is FRBPARM. The second hexadecimal token is FRBPCNT.

FRBRC1(BIN15), FRBRC2(CHAR4) token1 token2

More of the FRB. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2.

FRBFBACK(PTR), FRBRHPC(BIN32) token1 More of the FRB. token2 The first hexadecimal token is FRBFBACK. The second hexadecimal token is FRBRHPC. FRBQUAL(BIN15), FRBRSV1(BIN15) token1 More of the FRB. token2 The first hexadecimal token is FRBQUAL. The second hexadecimal token is FRBRSV1.

CSECT: DSNECP19
Message text ENTER DSNECP19 token1 token2 Explanation This message announces entry into CSECT DSNECP19, which does individual subcommand processing and issues the main DSN PUTGET. The first hexadecimal token is CIBPTR, the base for the CIB, (the main DSN control block). The second hexadecimal token is not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 807 DO NOT COPY

DO NOT COPY
Message text BEFORE TEST CPPLCBUF,CIBEXECB token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation If CPPLCBUF, the address of the command buffer, is zero, this CSECT issues a PUTGET, writes DSN, and reads in a new command buffer. The first hexadecimal token is CPPLCBUF. The second hexadecimal token is CIBEXECB.

AFTER PUTGET CPPLCBUF=, ZRETCODE= token1 token2

This message occurs after the PUTGET has completed. The PUTGET got DSN a subcommand to process. The first hexadecimal token is CPPLCBUF, the address of the buffer holding the current subcommand. The second hexadecimal token is the return code from the PUTGET.

userinput

This message echoes the user input from the PUTGET. The first hexadecimal token is the command length. The second hexadecimal token is the return code from the PUTGET.

BEGIN ZCLEANER, ZPLACE=, ZSIZE= token1 token2

DSNECP19 is about to clear an area in the subcommand information block (SIB). The first hexadecimal token is ZPLACE. The second hexadecimal token is ZSIZE.

CLEAR LOOPTOP, ZPLACE=, ZSIZE= token1 token2

Each time this message appears, another 255-byte portion of the SIB is about to be zeroed. The first hexadecimal token is ZPLACE. The second hexadecimal token is ZSIZE.

END ZCLEANER, ZPLACE= token1 token2

The varying area of the subcommand information block (SIB) has now been zeroed. The first hexadecimal token is ZPLACE. The second hexadecimal token is not used.

BEFORE SUBCOMMAND SELECT, CIBSCANC=cibscanc token1 token2

Subcommand processing is about to begin. The main SELECT statement follows. The hexadecimal tokens are not used.

BEFORE CALL DSNECP21 ADDR(DSNECP21)= token1 token2

DSNECP19 is about to call DSNECP21 to parse the DSN command. The first hexadecimal token is the address of DSNECP21. The second hexadecimal token is not used.

808

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation DSNECP19 is about to call DSNECP40 to parse the BIND subcommand. The first hexadecimal token is the address of DSNECP40. The second hexadecimal token is not used.

BEFORE CALL DSNECP40 (BIND) ADDR(DSNECP40)= token1 token2

BEFORE CALL DSNECP29 ADDR(DSNECP29)= token1 token2

The BIND parse was successful and DSNECP29 is about to be called to perform dynamic allocation for BIND. The first hexadecimal token is the address of DSNECP29. The second hexadecimal token is not used.

BEFORE CALL DSNECP41 (REBIND) ADDR(DSNECP41)= token1 token2

DSNECP19 is about to call DSNECP41 to parse the REBIND subcommand. The first hexadecimal token is the address of DSNECP41. The second hexadecimal token is not used.

BEFORE CALL DSNECP42 (FREE) token1 token2

DSNECP19 is about to call DSNECP42 to parse the FREE subcommand. The hexadecimal tokens are not used.

BEFORE CALL DSNECP26 (RUN) token1 token2

DSNECP19 is about to call DSNECP26 to parse the RUN subcommand. The hexadecimal tokens are not used.

BEFORE CALL DSNECP24 (DCLGEN) token1 token2

DSNECP19 is about to call DSNECP24 to parse the DCLGEN subcommand. The hexadecimal tokens are not used.

BEFORE CALL DSNECP17 (SUBSYSTEM CMD) token1 token2

DSNECP19 is about to call DSNECP17 to process a DB2 command. The hexadecimal tokens are not used.

BEFORE LINK DSNESM00 (SPUFI) R6=, R7= token1 token2

DSNECP19 is about to call DSNECP17 to process a DB2 command. The first hex token contains the contents of R6, the CIB address. The second hex token contains the contents of R7, the address of the SPUFI load module (DSNESM00).

AFTER LINK TO SPUFI R6=, ZRETCODE= SPUFI just completed and DSNECP19 token1 token2 regained control. The first hex token contains the contents of R6, the CIB address. The second hex token contains the return code from the LINK.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 809 DO NOT COPY

DO NOT COPY
Message text BEFORE ABEND 00C50101 R6=token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The user entered the ABEND subcommand with the TEST parameter on the DSN command set to a nonzero value. The next thing to happen will be a system ABEND that takes a dump. The first hexadecimal token is R6. The second hexadecimal token is not used.

UNRECOGNIZED SUBCOMMAND, ASSUME TSO COMMAND cibscanc ADDR(DSNECP31)=token1 token2

An unrecognized subcommand has been detected. DSN will try to ATTACH it. The following message shows the subcommand. The first hexadecimal token is the address of csect DSNECP31, which will attempt to ATTACH a load module called whose name is stored in cibscanc. The second hexadecimal token is not used.

cibscanc token1 token2

cibscanc is the unrecognized command string that will be attached. The hexadecimal tokens are not used.

END SUBCOMMAND ROUTINE token1 token2

The unrecognized subcommand processing is complete. The hexadecimal tokens are not used.

BEFORE FREEMAIN, CPPLCBUF,ZCMDLEN token1 token2

The command buffer is about to the freed. The first hexadecimal token is CPPLCBUF. The second hexadecimal token is ZCMDLEN.

EXIT DSNECP19 CIBSCANC=cibscanc R6=, CSECT DSNECP19 has completed processing CPPLPTR=token1 token2 one subcommand. Control now returns to CSECT DSNECP10. The current subcommand is cibscanc. The first hex token is R6, the CIB base register. The second hex token is CPPLPTR, the pointer to the CPPL.

CSECT: DSNECP20
Message text ENTER DSNECP20 R6,CIBCPPL token1 token2 Explanation This message announces entry into CSECT DSNECP20, which initializes the parse and scan parameter lists. The first hexadecimal token is the CIB address. The second hexadecimal token is CIBCPPL.

810

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message displays the prompting string that will be written to the terminal or batch-output stream when CSECT DSNECP19 issues a PUTGET. The hexadecimal tokens are not used.

cibpromp token1 token2

PPLDONE PPLPTR,PPLANS token1 token2

The parse parameter list has been built. It will be used by all of the DSN CSECTs that do parsing. The first hexadecimal token is PPLPTR. The second hexadecimal token is PPLANS.

CSPLDONE CSPLPTR,CSOAPTR token1 token2

The command scan parameter list has been built. It will be used by CSECT DSNECP22. The first hexadecimal token is CSPLPTR. The second hexadecimal token is CSOAPTR.

CSECT: DSNECP21
Message text ENTER DSNECP21 CIBPTR=, CIBHDECP= token1 token2 Explanation This message announces entry into CSECT DSNECP21, which parses the DSN command. The first hexadecimal token is CIBPTR, the address of the main DSN control block. The second hexadecimal token is the address of csect DSNHDECP. BEFORE PARSE CALL PPLPTR=, CPPLPTR= token1 token2 The CSECT is about to call IKJPARS. The first hexadecimal token is the Parse Parameter List address. The second hexadecimal token is the Command Processor Parameter List address. AFTER PARSE, R15= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15. The second hexadecimal token is not used. TEST LEVEL: CIBTESTL=token1 token2 The TEST parameter of the DSN command has been parsed. The first hexadecimal token is CIBTESTL level. The second hexadecimal token is not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 811 DO NOT COPY

DO NOT COPY
Message text SUBSYS ID: subsys CIBHDECP=token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The subsystem parameter of the DSN command has been parsed. The first hexadecimal token is the contents of CIBHDECP. The second hexadecimal token is not used.

RETRY COUNT: CIBRTRY=token1 token2

The RETRY parameter of the DSN command has been parsed. The first hexadecimal token is the RETRY value. The second hexadecimal token is not used.

EXIT DSNECP21, R15= token1 token2

CSECT DSNECP21 has now completed processing. Control will now return to the calling CSECT, DSNECP19. The first hexadecimal token is register 15. The second hexadecimal token is not used.

CSECT: DSNECP22
Message text ENTER DSNECP22 token1 token2 Explanation This message announces entry into CSECT DSNECP22, which scans the various DSN subcommands. The hexadecimal tokens are not used. BEFORE CALL IKJSCAN token1 token2 This message is displayed before the call to IKJSCAN that will determine what subcommand the user entered. The hexadecimal tokens are not used. ZCMDLEN, CSOAFLG token1 token2 This message reports results from the call to IKJSCAN. The first hexadecimal token is the length of the command. The second hexadecimal token is CSOAFLG. CIBSCANC=cibscanc token1 token2 cibscanc is the subcommand the user entered (via the PUTGET in DSNECP19). The first hexadecimal token is register 15. The second hexadecimal token is CSOAFLG. ZI, CSOAFLG token1 token2 Bad input to IKJSCAN was detected. The first hexadecimal token is ZI. The second hexadecimal token is CSOAFLG.

812

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation

BLANK OR NULL, ZI=, CSOAFLG= token1 This message appears only if the token2 subcommand was a null or blank string. The first hexadecimal token is ZI. The second hexadecimal token is CSOAFLG. DB2 COMMAND FOUND A DB2 command has been found by recognizing the system start character in the command buffer. The hexadecimal tokens are not used. CIBSCANC= token1 token2 This message contains the current value of CIBSCANC, the subcommand that the user entered. The hexadecimal tokens are not used. EXIT DSNECP22 token1 token2 CSECT DSNECP22 has just completed. Control will return to the calling CSECT, DSNECP19. The hexadecimal tokens are not used.

CSECT: DSNECP23
Message text ENTER DSNECP23, SIBRSW1= token1 token2 Explanation This message announces entry into CSECT DSNECP23. The first hexadecimal token is SIBRSW1. The second hexadecimal token is 0. END INITIALIZATION, ZOHDAIR=, ZS99RB= token1 token2 Initialization is now complete. The first hexadecimal token is the address of ZOHDAIR. The second hexadecimal token is the address of ZS99RB. BEGIN DYNALLOC, SIBRSW1= token1 token2 The CSECT is starting to build DYNALLOC text units. The first hexadecimal token is SIBRSW1. The second hexadecimal token is not used. DSN TU, ZTUNDX=, ZPTR=, DSNAME: token1 token2 Building the dsname text unit (TU). The first hexadecimal token is ZTUNDX, the index to this TU. The second hexadecimal token is ZPTR, the pointer to the TU. dsname token1 token2 Part of the S99 parameter list is displayed, the dsname. The hexadecimal tokens are not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 813 DO NOT COPY

DO NOT COPY
Message text

Restricted Materials of IBM Licensed Materials Property of IBM Explanation

DDN TU, ZTUNDX=, ZPTR= token1 token2 The DDNAME text unit (TU) has been built. The first hexadecimal token is ZTUNDX, the index to this TU. The second hexadecimal token is ZPTR, the pointer to the TU. DSORG TU, ZTUNDX=, ZPTR= token1 token2 The return DSORG text unit (TU) has been built. The first hexadecimal token is ZTUNDX, the index to this TU. The second hexadecimal token is ZPTR, the pointer to the TU. DS STATUS TU, ZTUNDX=, ZPTR= token1 token2 The data set status text unit (TU) has been built. The first hexadecimal token is ZTUNDX, the index to this TU. The second hexadecimal token is ZPTR, the pointer to the TU. NDISP TU, ZTUNDX=, ZPTR= token1 token2 The normal disposition text unit (TU) has been built. The first hexadecimal token is ZTUNDX, the index to this TU. The second hexadecimal token is ZPTR, the pointer to the TU. CDISP TU, ZTUNDX=, ZPTR= token1 token2 The conditional disposition text unit (TU) has been built. The first hexadecimal token is ZTUNDX, the index to this TU. The second hexadecimal token is ZPTR, the pointer to the TU. PSWD TU, ZTUNDX=, ZPTR= token1 token2 The password text unit (TU) has been built. The first hexadecimal token is ZTUNDX, the index to this TU. The second hexadecimal token is ZPTR, the pointer to the TU. BEFORE DYNALLOC, S99RBPTR=, ZPTR= token1 token2 About to issue DYNALLOC SVC. The first hexadecimal token is S99RBPTR. The second hexadecimal token is ZPTR, the pointer to the text unit. AFTER DYNALLOC, R15=, S99RSC= token1 After the DYNALLOC SVC. token2 The first hexadecimal token is register 15. The second hexadecimal token is S99RSC.

814

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The DYNALLOC function is completed. The first hexadecimal token is SIBRCODE, the return code from this routine. The second hexadecimal token is SIBRSW1, a byte of status switches.

END DYNALLOC, SIBRCODE=, SIBRSW1= token1 token2

OPEN COMPLETE, SIBRCODE=, SIBRSW1= token1 token2

The OPEN function has been completed. The first hexadecimal token is SIBRCODE, the return code from this routine. The second hexadecimal token is SIBRSW1, a byte of status switches.

BEGIN DEALLOC, SIBRSW1= token1 token2

Starting data set deallocation. The first hexadecimal token is SIBRSW1. The second hexadecimal token is not used.

DALLOC TU, ZTUNDX=, ZPTR=, DSNAME: token1 token2

The deallocation text unit has been built. The first hexadecimal token is ZTUNDX. The second hexadecimal token is ZPTR.

dsname token1 token2

Data set name used in the deallocation text unit. The hexadecimal tokens are not used.

AFTER DYNALLOC, R15=, S99RSC= token1 After the DYNALLOC SVC. token2 The first hexadecimal token is register 15. The second hexadecimal token is S99RSC. EXIT DSNECP23, SIBRCODE=, SIBRSW1= token1 token2 DSNECP23 is about to return to caller. The first hexadecimal token is SIBRCODE. The second hexadecimal token is SIBRSW1. BEFORE CALL TO DAIRFAIL, R15=, S99RSC= token1 token2 DAIRFAIL is about to be invoked. The first hexadecimal token is register 15. The second hexadecimal token is S99RSC. AFTER DAIRFAIL, R15=, R1= token1 token2 After DAIRFAIL call. The first hexadecimal token is register 15. The second hexadecimal token is register 1.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 815 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP24
Message text ENTER DSNECP24, CIBPTR=, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP24, which parses the DCLGEN command. The first hexadecimal token is CIBPTR. The second hexadecimal token is the address of SIBDCL. BEFORE CALL IKJPARS, R1= token1 token2 This message is displayed just before the call to IKJPARS. The first hexadecimal token is register 1. The second hexadecimal token is zero. AFTER PARSE, RETCODE R15=token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15. The second hexadecimal token is not used. TABLENAME: tabname ZPARMLEN=token1 This message indicates the table parameter, token2 tabname, from the DCLGEN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is zero. LIBRARY : libname ZPARMLEN=token1 token2 This message shows the library parameter, libname, from the DCLGEN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is zero. MEMBER : memname ZPDEBIN=token1 token2 This message shows the member parameter, memname, from the DCLGEN subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is not used. PASSWORD : password ZPDEBIN=token1 token2 This message shows the password parameter from the DCLGEN subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is not used. ACTION : action ZPDEBIN=token1 token2 This message shows the action parameter from the DCLGEN subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is not used.

816

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The user did not enter a language parameter on the DCLGEN subcommand, so the value specified at installation time and written in the DECP CSECT will be used. The first hexadecimal token is ZDECPPTR, the base pointer for DECP. The second hexadecimal token is ZPTR, the address of the language parameters PDE.

WILL GET LANGUAGE FROM DSNHDECP ZDECPPTR=, ZPTR= token1 token2

LANGUAGE : language ZPDEBIN=token1 token2

This message shows the language parameter from the DCLGEN subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is not used.

NAMES : names ZPDEBIN=, SIBDNAML= token1 token2

This message shows the names parameter from the DCLGEN subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is SIBDNAML, the length of the NAMES parameter.

STRUCTURE:structure ZPDEBIN=, SIBDNAML= token1 token2

This message shows the structure parameter from the DCLGEN subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is SIBDSTRL, the length of the STRUCTURE parameter.

WILL GET DELIMITER FROM DSNHDECP ZDECPPTR=, DECPSDL= token1 token2

This message indicates that the user did not enter either QUOTE APOST on the DCLGEN subcommand. The APOST/QUOTE setting will be taken from DSNHDECP, a CSECT that is initialized for the whole system at installation time. The first hexadecimal token is ZDECPPTR, a pointer to DECP. The second hexadecimal token is the DECP byte containing the delimiter setting.

APOST token1 token2

This message indicates that the APOST option was specified on the DCLGEN subcommand. This message and the next (QUOTE) are mutually exclusive. The first hexadecimal token is ZSQLDLIM, the PDE returned from parse. The second hexadecimal token is not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 817 DO NOT COPY

DO NOT COPY
Message text QUOTE token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message indicates that the QUOTE option was specified on the DCLGEN subcommand. This message and the previous (APOST) are mutually exclusive. The first hexadecimal token is ZSQLDLIM, the PDE returned from parse. The second hexadecimal token is not used.

LABEL : label ZPDEBIN=, SIBDFLG2= token1 token2

This message indicates the LABEL option used in the DCLGEN command. It will be either YES or NO. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is the second DCLGEN flag byte.

LEAVE DSNECP24, SIBDFLAG=, SIBRCODE= token1 token2

This CSECT has just completed processing. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is SIBDFLAG. The second hexadecimal token is SIBRCODE.

CSECT: DSNECP25
Message text ENTER DSNECP25 token1 token2 Explanation This message announces entry into CSECT DSNECP25 which prepares the DCLGEN command string before the string is input to the TSO parser. The first hexadecimal token is CIBPTR. The second hexadecimal token is the address of SIBDCL. STRING (LANGUAGE) FOUND AT: token1 This message indicates that the LANGUAGE parameter was found in a DCLGEN command string. The token gives the offset into the command string of the parameter. BLANK FOLLOWS STRING AT: token1 This message is issued if a blank is found between a DCLGEN parameter and its argument. The token gives the offset into the command string of the blank. LAST SCAN CHARACTER: token1 This message indicates that the first non-blank character after the DCLGEN LANGUAGE, TABLE, STRUCTURE, or NAMES parameter has been found. The token is the position of this character.

818

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message indicates that a blank follows an opening parenthesis within the TABLE parameter argument in a DCLGEN command string. The token gives the offset into the command string of the blank.

BLANK FOLLOWS PAREN AT token1

LANGUAGE IS C STRING (TABLE) FOUND AT: token1

This message indicates that DCLGEN output will be in the C language. This message indicates that the TABLE parameter was found in a DCLGEN command string. The token gives the offset into the command string of the parameter.

STRING (STRUCTURE) FOUND AT: token1

This message indicates that the STRUCTURE parameter was found in a DCLGEN command string. The token gives the offset into the command string of the parameter.

STRING (NAMES) FOUND AT: token1

This message indicates that the NAMES parameter was found in a DCLGEN command string. The token gives the offset into the command string of the parameter.

FOUND: token1 token2

This message indicates that the table name in a DCLGEN statement contains a period. The first token gives the offset into the command string of the period. The second token gives one of six states in which the string can be: v 0 - First part of the table name string v 1 - Blank after first part of the string v 2 - Period separating two parts of the table name v 3 - Blank after a separating period v 4 - Second string after a separating period v 5 - End of the table name

QUOTE FOUND: token1 token2

This message indicates that a delimiter was found in the TABLE parameter value in a DCLGEN command string. The first token gives the offset into the command string of the character. The second token gives one of six states in which the string can be: v 0 - First part of the table name string v 1 - Blank after first part of the string v 2 - Period separating two parts of the table name v 3 - Blank after a separating period v 4 - Second string after a separating period v 5 - End of the table name

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 819 DO NOT COPY

DO NOT COPY
Message text S0 FOUND: token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message indicates that a DBCS shift-out character was found in the TABLE parameter value in a DCLGEN command string. The first token gives the offset into the command string of the character. The second token gives one of six states in which the string can be: v 0 - First part of the table name string v 1 - Blank after first part of the string v 2 - Period separating two parts of the table name v 3 - Blank after a separating period v 4 - Second string after a separating period v 5 - End of the table name

SI FOUND: token1 token2

This message indicates that a DBCS shift-in character was found in the TABLE parameter value in a DCLGEN command string. The first token gives the offset into the command string of the character. The second token gives one of six states in which the string can be: v 0 - First part of the table name string v 1 - Blank after first part of the string v 2 - Period separating two parts of the table name v 3 - Blank after a separating period v 4 - Second string after a separating period v 5 - End of the table name

BLANK FOUND: token1 token2

This message indicates that the table name in a DCLGEN statement contains a blank. The first token gives the offset into the command string of the blank. The second token gives one of six states in which the string can be: v 0 - First part of the table name string v 1 - Blank after first part of the string v 2 - Period separating two parts of the table name v 3 - Blank after a separating period v 4 - Second string after a separating period v 5 - End of the table name

820

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message indicates that a closing parenthesis was found within the argument of the TABLE parameter in a DCLGEN command string. The first token gives the offset into the command string of the closing parenthesis. The second token gives one of six states in which the string can be: v 0 - First part of the table name string v 1 - Blank after first part of the string v 2 - Period separating two parts of the table name v 3 - Blank after a separating period v 4 - Second string after a separating period v 5 - End of the table name

) FOUND: token1 token2

OTHER CHAR FOUND: token1 token2

This message indicates that a character other than a delimiter, a DBCS shift-out or shift-in character, a blank or a right parenthesis was found in the TABLE parameter value in a DCLGEN command string. The first token gives the offset into the command string of the character. The second token gives one of six states in which the string can be: v 0 - First part of the table name string v 1 - Blank after first part of the string v 2 - Period separating two parts of the table name v 3 - Blank after a separating period v 4 - Second string after a separating period v 5 - End of the table name

ENTER COPYNME

This message is issued on entry to the COPYNME routine, which copies a STRUCTURE or NAMES argument to a temporary buffer. This message indicates an apostrophe was found within a STRUCTURE or NAMES argument in a DCLGEN command string. The token gives the offset into the command string of the apostrophe.

APOSTROPHE FOUND AT: token1

APOSTROPHE FOLLOWS APOSTROPHE AT: token1

This message indicates two consecutive apostrophes were found within a STRUCTURE or NAMES argument in a DCLGEN command string. The token gives the offset into the command string of the first apostrophe.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 821 DO NOT COPY

DO NOT COPY
Message text S0 FOUND AT: token1

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message indicates that a DBCS shift-out character was found within the argument of a NAMES or STRUCTURE parameter in a DCLGEN command string. The token gives the offset into the command string of the shift-out character.

SI FOUND AT: token1

This message indicates that a DBCS shift-in character was found within the argument of a NAMES or STRUCTURE parameter in a DCLGEN command string. The token gives the offset into the command string of the shift-in character.

BLANK IN DB OR DLMED STRING AT: token1

This message is issued if a blank is found within a STRUCTURE or NAMES argument in a DCLGEN command string, and the blank is within a DBCS string or a delimited string. The token gives the offset into the command string of the blank.

BLANK INDICATES END OF STRING AT: token1

This message is issued when the first blank is found at the end of a STRUCTURE or NAMES argument in a DCLGEN command string. The token gives the offset into the command string of the blank.

BLANK FOUND AT: token1

This message is issued if a blank is found within a STRUCTURE or NAMES argument in a DCLGEN command string. The token gives the offset into the command string of the blank.

) FOUND AT: token1

This message indicates that a closing parenthesis was found within the argument of a NAMES or STRUCTURE parameter in a DCLGEN command string. The token gives the offset into the command string of the closing parenthesis.

TRANSLATING CHAR: token1 token2

This message indicates that a character in a DCLGEN command string is being translated to uppercase. The first token gives the value of the character. The second token gives the offset into the command string of the character.

OUTPUT STRING LENGTH: token1 INPUT STRING LENGTH: token1

token1 is the length of the modified copy of the DCLGEN command string. token1 is the length of the original DCLGEN command string.

822

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message gives the offsets into the input and output data strings when the COPYNME routine has finished copying a NAMES or STRUCTURE parameter value into the output string. The first token is the offset into the input string. The second token is the offset into the output string.

IN AND OUT INDEXES: token1 token2

EXIT COPYNME

This message is issued on exit from the COPYNME routine.

CSECT: DSNECP26
Message text ENTER DSNECP26, R6=, CIBCPPL= token1 token2 Explanation This message announces entry into CSECT DSNECP26, which parses the RUN subcommand. The first hexadecimal token is register 6. The second hexadecimal token is CIBCPPL. AFTER IKJPARS, R15= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15. The second hexadecimal token is not used. PROGRAM : program token1 token2 This message shows the program parameter, program, from the RUN subcommand. The first hexadecimal token is register 15. The second hexadecimal token is ZPARMLEN. PLANID : planid token1 token2 This message shows the plan parameter from the RUN subcommand. The first hexadecimal token is register 15. The second hexadecimal token is ZPARMLEN. LIBRARY : libname token1 token2 This message shows the library parameter from the RUN subcommand. The first hexadecimal token is register 15. The second hexadecimal token is ZPARMLEN.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 823 DO NOT COPY

DO NOT COPY
Message text PASSWORD : password token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message shows the password parameter from the library parameter of the RUN subcommand. The first hexadecimal token is SIBRLPLN. The second hexadecimal token is zero.

CP: xxx, R15= token1 token2

xxx will be YES or NO, to indicate whether or not the CP parameter was entered. The first hexadecimal token is register 15. The second hexadecimal token is zero.

SIBRSW1=sibrsw1 token1 token2

This message displays the byte of RUN subcommand switches called SIBRSW1. The first hexadecimal token is SIBRSW1. The second hexadecimal token is not used.

END DSNECP26, SIBRCODE=, CIBCPPL= token1 token2

This CSECT has just completed. Control will now return to the calling CSECT, DSNECP19. The first hexadecimal token is SIBRCODE. The second hexadecimal token is CIBCPPL.

CSECT: DSNECP27
Message text ENTER DSNECP27, SIBP27IN= token1 token2 Explanation This message announces the entry into CSECT DSNECP27, which formats messages from BIND and DB2 command processing. The first hexadecimal token is SIBP27IN, the address of the message buffer. The second hexadecimal token is zero. ZLEN= token1 token2 The message buffer length is displayed. The first hexadecimal token is ZLEN. The second hexadecimal token is zero. MSG BUF(73CHARS): msgbuf token1 token2 A portion of the actual message buffer (including LL00) is displayed. The hexadecimal tokens are not used. BEFORE DO-WHILE, ZBUFPTR=, ZBUFEND= token1 token2 About to start displaying lines of the message. The first hexadecimal token is ZBUFPTR. The second hexadecimal token is ZBUFEND.

824

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message is displayed once for each line of the message. The first hexadecimal token is ZLEN. The second hexadecimal token is ZBUFPTR.

TOP OF LOOP, ZLEN=, ZBUFPTR= token1 token2

END DSNECP27, R15=, SIBRCODE= token1 CSECT DSNECP27 is about to return to its token2 caller. The first hexadecimal token is register 15. The second hexadecimal token is SIBRCODE.

CSECT: DSNECP28
Message text Explanation ENTER DSNECP28, R1=, CIBRFRB= token1 This message announces entry into CSECT token2 DSNECP28, which does the initialization processing for the first SQL call from an application program. The first hexadecimal token is register 1. The second hexadecimal token is the FRB address. CALL DSNECP12, CIB=, CIBRFRB= token1 token2 An IDENTIFY request is being made. The first hexadecimal token is the address of the CIB. The second hexadecimal token is the address of the FRB. AFTER DSNECP12, CIB=, CIBIDRTN= token1 token2 The IDENTIFY request has been completed. The first hexadecimal token is the address of the CIB. The second hexadecimal token is return code from the Identify routine. CALL DSNECP13, CIB=, CIBCTFRB= token1 token2 A CREATE-THREAD request is about to be made. The first hexadecimal token is the address of the CIB. The second hexadecimal token is the address of the FRB. AFTER DSNECP13, CIBCTRTN=, CIBCTFRB= token1 token2 The CREATE-THREAD request has been completed. The first hexadecimal token is the return code from Create Thread. The second hexadecimal token is the address of the FRB.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 825 DO NOT COPY

DO NOT COPY
Message text BEFORE SQL CALL NUMBER ONE CIBFRMLI=, DSNETRAP= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation Both the Create Thread and any Identify done in DSNECP28 were successful. DSNECP28 is about to send the first SQL request to the program request handler. The first hexadecimal token is the address to which DSNECP28 will branch. This field will contain either the address of the program request handler or DSNETRAP. The second hexadecimal token is the address of DSNETRAP, a CSECT that writes a trace message just before branching to the program request handler.

CREATE THREAD OR IDENTIFY FAILED CIBFRMLI=, TRAP=token1 token2

Either an Identify or Create Thread request originating in DSNECP28 has failed. The normal first SQL call will not be made. Rather, control will return to the language interface, which will make an XLAT call. The first hexadecimal token is the address to which DSNECP28 will branch. This field will contain either the address of the program request handler or DSNETRAP. The second hexadecimal token is the address of DSNETRAP, a CSECT that writes a trace message just before branching to the program request handler.

EXIT DSNECP28, RETURNING TO DSNELI FRBRC1, FRBRC2 token1 token2

This message is produced just before CSECT DSNECP28 returns to the language interface. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2.

HERE COMES THE FRB <<<<<<<<<<<<<<<< CIBRFRB= token1 token2

This and following messages are a dump of the function request block (FRB) pointed to by CIBRFRB. The first hexadecimal token is the address of the FRB. The second hexadecimal token is zero.

FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) token1 token2

More of FRB. The first hexadecimal token is FRBRAL. The second hexadecimal token is FRBRALE followed by FRBFVLE.

FRBPARM(PTR), FRBPCNT(BIN15) token1 token2

More of FRB. The first hexadecimal token is FRBPARM. The second hexadecimal token is FRBPCNT.

FRBRC1(BIN15), FRBRC2(CHAR4) token1 token2

More of FRB. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2.

826

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation More of FRB. fbackarea is the actual area pointed to by FRBFBACK. The first hexadecimal token is zero. The second hexadecimal token is zero.

FRBFBACK: fbackarea token1 token2

FRBFBACK PTR(31),FRBRHPC token1 token2

More of FRB. The first hexadecimal token is FRBFBACK. The second hexadecimal token is FRBRHPC.

FRBQUAL(BIN15), FRBRSV1(BIN15) token1 More of FRB. token2 The first hexadecimal token is FRBQUAL. The second hexadecimal token is FRBRSV1. ADDR(dsnaprh)=, ADDR(DSNETRAP)= token1 token2 This message is issued by the subroutine that writes the FRB just before and after an SQL call. The first hexadecimal token is the address of the program request handler. The second hexadecimal token is the address of DSNETRAP, a CSECT that writes a trace message just before branching to the program request handler. EXIT DSNECP28,CIBRFRB,CIBFRMLI token1 token2 CSECT DSNECP28 has completed processing and is about to return to caller. The first hexadecimal token is the FRB address. The second hexadecimal token is where the language interface will go for the actual SQL processing. Normally, it points to the program request handler.

CSECT: DSNECP29
Message text ENTER DSNECP29, ADDR(SIBBIND)= token1 token2 Explanation This message announces the entry into CSECT DSNECP29, which performs dynamic allocation services for the BIND subcommand. The first hexadecimal token is the address of SIBBIND. The second hexadecimal token is zero. END INITIALIZATION, ADDR(ZOHDAIR)=, ADDR(ZS99RB)= token1 token2 Initialization has completed. The first hexadecimal token is the address of ZOHDAIR. The second hexadecimal token is the address of ZS99RB.
Chapter 36. Attachment facility trace codes and messages 827 DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
Message text BEFORE DDNAME ALLOC, S99RBPTR=, S99TUPAR(1:4)= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation CSECT DSNECP29 is checking for the presence of a DBRMLIB (DDNAME). The first hexadecimal token is S99RBPTR. The second hexadecimal token is the first 4 bytes of the ddname.

AFTER DYNALLOC1, R15=, S99RSC= token1 token2

The first dynamic allocation call just took place. The first hexadecimal token is the return code from the call. The second hexadecimal token is S99RSC, the reason code.

BEFORE RETURN DSORG, S99RBPTR=, S99TUPAR(1:4)= token1 token2

CSECT DSNECP29 is about to check on the data set organization of the DBRMLIB. The first hexadecimal token is S99RBPTR. The second hexadecimal token is the first four bytes of S99TUPAR.

AFTER RETURN DSORG, S99TUPAR(1:4)=, The DYNALLOC call has completed. S99RSC= token1 token2 The first hexadecimal token is the data set organization code. The second hexadecimal token is S99RSC, the reason code. 1ST TU, ZTUNDX=, ZPTR=, DSNAME:, ADDR(DSN): token1 token2 The dsname text unit has been built. The next message contains the DSNAME. The first hexadecimal token is the TU index value (ZTUNDX). The second hexadecimal token is the TU pointer (ZPTR). S99TUPAR(1:S99TULNG) token1 token2 This message is the data set name. The hexadecimal tokens are not used. 2ND TU, ZTUNDX=, ZPTR= token1 token2 The return DDNAME text unit has been built. The first hexadecimal token is the TU index value (ZTUNDX). The second hexadecimal token is the TU pointer (ZPTR). 3RD TU, ZTUNDX=, ZPTR= token1 token2 The return DSORG text unit has been built. The first hexadecimal token is the TU index value (ZTUNDX). The second hexadecimal token is the TU pointer (ZPTR).

828

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The data set status text unit has been built. The first hexadecimal token is the TU index value (ZTUNDX). The second hexadecimal token is the TU pointer (ZPTR).

4TH TU, ZTUNDX=, ZPTR= token1 token2

5TH TU, ZTUNDX=, ZPTR= token1 token2

The normal disposition text unit has been built. The first hexadecimal token is the TU index value (ZTUNDX). The second hexadecimal token is the TU pointer (ZPTR).

6TH TU, ZTUNDX=, ZPTR= token1 token2

The conditional disposition text unit has been built. The first hexadecimal token is the TU index value (ZTUNDX). The second hexadecimal token is the TU pointer (ZPTR).

7TH TU, ZTUNDX=, ZPTR= token1 token2

The password text unit has been built. The first hexadecimal token is the TU index value (ZTUNDX). The second hexadecimal token is the TU pointer (ZPTR).

BEFORE DS ALLOC, S99RBPTR=, ZPTR= token1 token2

This CSECT is about to issue the DYNALLOC SVC. The first hexadecimal token is S99RBPTR. The second hexadecimal token is ZPTR.

AFTER DYNALLOC3, R15=, S99RSC= token1 token2

After the third DYNALLOC SVC. The first hexadecimal token is register 15. The second hexadecimal token is S99RSC.

CONCATENATION COUNT= token1 token2

This message shows the number of data sets to be concatenated for BIND. The first hexadecimal token is SIBBCCB. The second hexadecimal token is zero.

BEFORE CONCAT, S99RBPTR=, ZPTR= token1 token2

CSECT DSNECP29 is about to request dynamic concatenation. The first hexadecimal token is S99RBPTR. The second hexadecimal token is ZPTR.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 829 DO NOT COPY

DO NOT COPY
Message text AFTER DYNALLOC4, R15=, S99RSC= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The fourth dynamic allocation call has just occurred. The first hexadecimal token is the return code from that call. The second hexadecimal token is S99RSC.

CALL DSNECP30 (BIND), ADDR(SIBBIND)= token1 token2

CSECT DSNECP30 is about to be called. The first hexadecimal token is the address of SIBBIND. The second hexadecimal token is not used.

AFTER DSNECP30, SIBRCODE=, ADDR(SIBBIND)= token1 token2

CSECT DSNECP30 has returned control to DSNECP29. The first hexadecimal token is SIBRCODE. The second hexadecimal token is the address of SIBBIND.

BEFORE DECONCAT, S99RBPTR=, SIBBCCBP= token1 token2

CSECT DSNECP29 is about to request dynamic deconcatenation. The first hexadecimal token is S99RBPTR. The second hexadecimal token is SIBBCCBP.

AFTER DYNALLOC5, R15=, S99RSC= token1 token2

The fifth dynamic deallocation has just occurred. The first hexadecimal token is register 15, the return code from the deallocation. The second hexadecimal token is S99RSC, the reason code from the deallocation.

BEFORE UNALLOC, S99RBPTR=, ZTUPTR(1)= token1 token2

CSECT DSNECP29 is about to request dynamic deallocation. The first hexadecimal token is S99RBPTR. The second hexadecimal token is ZTUPTR(1).

AFTER DYNALLOC6, R15=, S99RSC= token1 token2

The sixth dynamic allocation call has just occurred. The first hexadecimal token is the return code from that call. The second hexadecimal token is the reason code from that call.

EXIT DSNECP29, SIBRCODE= token1 token2

CSECT DSNECP29 is about to return to caller. The first hexadecimal token is SIBRCODE, the return code from this CSECTs execution. The second hexadecimal token is not used.

830

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation DAIRFAIL is about to be invoked. The first hexadecimal token is register 15. The second hexadecimal token is S99RSC.

BEFORE CALL TO DAIRFAIL, R15=, S99RSC= token1 token2

AFTER DAIRFAIL, R15=, R1= token1 token2 After DAIRFAIL call to format an error message. The first hexadecimal token is register 15, the return code from DAIRFAIL. The second hexadecimal token is register 1, the address of DFPARMS. BEFORE DBRMLIB UNALLOC, S99RBPTR=, ZPTR= token1 token2 CSECT DSNECP29 is about to request freeing of DBRMLIB DDNAME. The first hexadecimal token is S99RBPTR. The second hexadecimal token is ZPTR. AFTER DYNALLOC7, R15=, S99RSC= token1 token2 The seventh dynamic allocation call has completed. The first hexadecimal token is register 15. The second hexadecimal token is S99RSC.

CSECT: DSNECP30
Message text ENTER DSNECP30 token1 token2 Explanation This message announces entry into CSECT DSNECP30, which performs the DB2 calls needed for BIND, REBIND, or FREE. The hexadecimal tokens are not used. END DSNECP30, R15= token1 token2 CSECT DSNECP30 is about to return to its caller. The first hexadecimal token is register 15. The second hexadecimal token is zero. HERE COMES THE FRB CIBFRB token1 token2 This and following messages are a dump of the function request block (FRB) pointed to by CIBFRB. These messages will precede and follow the TERMINATE call. The first hexadecimal token is the FRB address. The second hexadecimal token is zero. FRBRAL(PTR), FRBRALE(BIN15), FRBFVLE(BIN15) token1 token2 More of FRB. The first hexadecimal token is FRBRAL. The second hexadecimal token is FRBRALE followed by FRBFVLE.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 831 DO NOT COPY

DO NOT COPY
Message text FRBPARM(PTR), FRBPCNT(BIN15) token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation More of FRB. The first hexadecimal token is FRBPARM. The second hexadecimal token is FRBPCNT.

FRBRC1(BIN15), FRBRC2(CHAR4) token1 token2

More of FRB. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBRC2.

FRBFBACK(PTR), FRBRHPC(BIN32) token1 More of FRB. token2 The first hexadecimal token is FRBFBACK. The second hexadecimal token is FRBRHPC. FRBQUAL(BIN15), FRBRSV1(BIN15) token1 More of FRB. token2 The first hexadecimal token is FRBQUAL. The second hexadecimal token is FRBRSV1.

CSECT: DSNECP31
Message text ENTER DSNECP31, CIBSCANC=command, CIBCPPL=, R6= token1 token2 Explanation This message announces entry into CSECT DSNECP31, which attaches potential TSO commands. SIBSCANC is the subcommand to be attached. The first hexadecimal token is CIBCPPL. The second hexadecimal token is register 6, the base register for the CIB. CPPLCBUF: cbuf ZCMDLEN=, ZCMDOFF= token1 token2 This message echoes the command buffer to be processed by DSNECP31. The first hexadecimal token is ZCMDLEN, the command buffer length. The second hexadecimal token is ZCMDOFF, the command buffer offset. FOUND HELP ONLY ADDR(ZHLPCBUF)=, ZHLPOFF= token1 token2 HELP command processing is beginning. This command buffer contains only HELP. It is not followed by any other operand. The first hexadecimal token is the address of the CPPLCBUF used for HELP processing. The second hexadecimal token is the command offset into this buffer. USER ENTERED HELP SOMETHING token1 token2 HELP command processing is beginning. This command buffer contains HELP followed by some other operand. The hexadecimal tokens are not used.

832

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation DSNECP31 is about to call DSNECP22 to scan the command buffer. The current buffer is displayed. The first hexadecimal token is the LL part of the buffer. The second hexadecimal token is the OO part of the buffer.

CBUF BEFORE DSNECP22 cbuf ZCMDLEN=, ZCMDOFF= token1 token2

NEW CIBSCANC IS cibscanc ZCMDLEN=, CPPLCBUF= token1 token2

The first word after HELP (in the command buffer) is being displayed. The first hexadecimal token is ZCMDLEN, the first 2 bytes in the command buffer. The second hexadecimal token is CPPLCBUF, the command buffer address.

NOT A DSN SUBCMD ZCMDLEN=, CPPLCBUF= token1 token2

The user requested HELP for a string that has not been recognized as a DSN subcommand. The first hexadecimal token is ZCMDLEN, the first 2 bytes in the buffer. The second hexadecimal token is CPPLCBUF, the command buffer address.

NOT A HELP COMMAND ZSIBPTR=, ECTSCMD= token1 token2

The command being processed has been scanned and found not to be a HELP subcommand. The first hexadecimal token is the SIB address. The second hexadecimal token is the CPPL address.

ECTPCMD, ECTSCMD pcmd scmd SIBTDCB=token1 token2

ECTPCMD and ECTSCMD are listed. The first hexadecimal token is SIBTDCB. The second hexadecimal token is zero.

BEFORE ATTACH================== ZECB=, CIBCPPL= token1 token2

CSECT DSNECP30 is about to ATTACH the potential command. The first hexadecimal token is ZECB. The second hexadecimal token is the address of the CPPL.

AFTER ATTACH================== ZECB=, CIBRC= token1 token2

CSECT DSNECP30 is about to ATTACH the potential command. The first hexadecimal token is ZECB. The second hexadecimal token is the return code from the ATTACH.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 833 DO NOT COPY

DO NOT COPY
Message text BEFORE WAIT ZECB=, ADDR(ZECB)= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation CSECT DSNECP30 is about to WAIT on the completion of the subtask. The first hexadecimal token is the ECB. The second hexadecimal token is the address of ZECB.

AFTER WAIT ZECB=, ZTCB= token1 token2 The wait has been posted. The first hexadecimal token is ZECB, the posted ECB. The second hexadecimal token is ZTCB, the TCB of the attached process. BEFORE DETACH, ZTCB= token1 token2 CSECT DSNECP30 is about to detach the subtask. The first hexadecimal token is ZTCB, the commands TCB. The second hexadecimal token is zero. AFTER DETACH R15=token1 token2 The subtask has been detached. The first hexadecimal token is register 15, the return code from the DETACH. The second hexadecimal token is zero. BEFORE DS ALLOC, S99RBPTR=, TUPTR= CSECT DSNECP31 is requesting removal of token1 token2 in-use bits left over from subtask. The first hexadecimal token is S99RBPTR. The second hexadecimal token is TUPTR. AFTER DYNALLOC, S99RSC=, R15= token1 The DYNALLOC request has completed. token2 The first hexadecimal token is S99RSC. The second hexadecimal token is register 15. ZECB & ZMASK=, ZECB= token1 token2 CSECT DSNECP30 is checking for an 806 system ABEND, which probably indicates typographic errors on the users subcommand. The first hexadecimal token is ZECB ANDed with ZMASK. The second hexadecimal token is the ECB. TCB ADDRESS ZTCB=, ZECB= token1 token2 The subtask completed with other than an 806 system ABEND. The first hexadecimal token is ZTCB, the subtask TCB. The second hexadecimal token is the ECB.

834

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation CSECT DSNECP30 is requesting translation of DYNALLOC failure. The first hexadecimal token is ZR15. The second hexadecimal token is S99RSC.

BEFORE CALL TO DAIRFAIL ZR15=, S99RSC= token1 token2

AFTER DAIRFAIL, R15=, ADDR(DFPARMS)= token1 token2

The DAIRFAIL request has completed. The first hexadecimal token is register 15, the return code from the DAIRFAIL call. The second hexadecimal token is the address of DFPARMS.

ENTER DSNECP31 ESTAIRTN R0=, SDWACWT= token1 token2

The subtask abended and CSECT DSNECP31s ESTAI routine has been entered. The first hexadecimal token is register 0. The second hexadecimal token is SDWACWT.

R0=12 R1=token1 token2

The ESTAI routine was entered with no SDWA. The first hexadecimal token is register 1. The second hexadecimal token is not used.

R0=12, X06 ABEND R0=, R1= token1 token2 An 806 system ABEND occurred in the subtask and no SDWA was passed to the ESTAI routine. A typographic error probably occurred on the subcommand entered. The first hexadecimal token is register 0. The second hexadecimal token is register 1. SDWA COMPLETION CODE, PSW ADDRESS SDWAABCC=, SDWANXT1= token1 token2 The subtask abended and a SDWA was passed to CSECT DSNECP31s ESTAI routine. The first hexadecimal token is SDWAABCC. The second hexadecimal token is SDWANXT1. R0<>12 SDWAPSTI=token1 token2 The subtask ended with an 806 system ABEND and a SDWA was presented to CSECT DSNECP31s ESTAI routine. The first hexadecimal token is SDWAPSTI. The second hexadecimal token is not used. END DSNECP31 ESTAIRTN ZRETCODE=, R14SAVE= token1 token2 The ESTAI routine is returning to ABTERM processing. The first hexadecimal token is ZRETCODE. The second hexadecimal token is R14SAVE.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 835 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP40
Message text ENTER DSNECP40 CIBPTR=token1 token2 Explanation This message announces entry into CSECT DSNECP40, which parses the BIND subcommand. The first hexadecimal token is the CIB address. The second hexadecimal token is not used. AFTER IKJPARS, R15=, PPLPTR= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15. The second hexadecimal token is the address of the Parse Parameter List. PLAN NAME LOOPTOP CHAR: char ZI=, ZPARMLEN= token1 token2 This loop executes once for each character in the PLAN name. That character is printed in the message. The first hexadecimal token is ZI, the loop index. The second hexadecimal token is ZPARMLEN, the length of the PLAN. PLAN : planname ZPARMLEN=, ZPDEBIN= This message shows the plan parameter, token1 token2 planname, from the BIND subcommand. The first hexadecimal token is ZPARMLEN, the length of the plan name. The second hexadecimal token is ZPDEBIN, a parameter presence indicator. MEMBER : memname ZPARMLEN=, ZPTR= This message shows the member parameter, token1 token2 memname, from the BIND subcommand. The first hexadecimal token is ZPARMLEN, the length of the member name. The second hexadecimal token is the PDE address. NO LIBRARY PARM ENTERED ZPDEBIND=, ZPTR= token1 token2 This message indicates that the user did not enter a library parameter. The first hexadecimal token is ZPDEBIN, a parameter presence indicator. The second hexadecimal token is the address of the LIBRARY parameters PDE.

836

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the library parameter, libname, from the BIND subcommand. The first hexadecimal token is ZPARMLEN, the name length. The second hexadecimal token is SIBBPDSN, the address of the name.

LIBRARY : libname ZPARMLEN=, SIBBPDSN= token1 token2

PASSWORD : password ZPWDLEN=, ZPWDPTR= token1 token2

This message shows the password parameter from the BIND subcommand. The first hexadecimal token is ZPWDLEN, the length of the password. The second hexadecimal token is ZPWDPTR, a pointer to the password.

ACTION : action ZPARMLEN=, ZPTR= token1 token2

This message shows the action parameter from the BIND subcommand. The first hexadecimal token is ZPARMLEN, the length of the parameter. The second hexadecimal token is ZPTR.

RETAIN : retparm ZPDEBIN=, ZPTR= token1 token2

This message shows the retain parameter, retparm, from the BIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

VALIDATE : valparm ZPDEBIN=, ZPTR= token1 token2

This message shows the validate parameter, valparm, from the BIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

ACQUIRE : acqparm ZPDEBIN=, ZPTR= token1 token2

This message shows the acquire parameter, acqparm, from the BIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

RELEASE : relparm ZPDEBIN=, ZPTR= token1 token2

This message shows the release parameter, relparm, from the BIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

ISOLATE : isoparm ZPDEBIN=, ZPTR= token1 token2

This message shows the isolate parameter, isoparm, from the BIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 837 DO NOT COPY

DO NOT COPY
Message text FLAG : flagval ZPDEBIN=, ZPTR= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message shows the flag parameter, flagval, from the BIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

LEAVE DSNECP40 R15=, SIBRCODE= token1 token2

CSECT DSNECP40 has completed processing. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is register 15. The second hexadecimal token is SIBRCODE.

CSECT: DSNECP41
Message text ENTER DSNECP41 ADDR(SIBRBIND)=, R6= token1 token2 Explanation This message announces entry into CSECT DSNECP41, which parses the REBIND subcommand. The first hexadecimal token is the address of the BIND area of the SIB. The second hexadecimal token is R6, the CIB address. AFTER IKJPARS, R15= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15. The second hexadecimal token is not used. PLAN : planname ZPARMLEN=, ZPTR= token1 token2 This message shows the plan parameter, plan name, from the REBIND subcommand. The first hexadecimal token is ZPARMLEN, the length of the plan name. The second hexadecimal token is ZPTR, the PDE address for the plan parameter. PLAN NAME LOOPTOP ZJ=, SIBRBPSZ= token1 token2 This loop executes once per plan name. The first hexadecimal token is ZJ, the loop index. The second hexadecimal token is SIBRBPSZ, the size for the coming FREEMAIN. FOUND AN ASTERISK ZPARMLEN=, ZPTR= token1 token2 The plan name was an asterisk, indicating all plan names. The hexadecimal tokens are not used.

838

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This loop executes once for each character in a plan name. The first hexadecimal token is ZI. The second hexadecimal token is ZPARMLEN.

LITTLE LOOPTOP ZI=, ZPARMLEN= token1 token2

PUT PARM INTO LIST ZPARMLEN=token1 token2

A plan name was just added to the plan name list. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is zero.

VALIDATE : valparm ZPDEBIN=, ZPTR= token1 token2

This message shows the validate parameter, valparm, from the REBIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

ACQUIRE : acqparm ZPDEBIN=, ZPTR= token1 token2

This message shows the acquire parameter, acqparm, from the REBIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

RELEASE : relparm ZPDEBIN=, ZPTR= token1 token2

This message shows the release parameter, relparm, from the REBIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

ISOLATE : isoparm ZPDEBIN=, ZPTR= token1 token2

This message shows the isolate parameter, isoparm, from the REBIND subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

EXPLAIN : NO ZPTR=, ZPARMLEN= token1 token2

This message shows that the NO EXPLAIN parameter was detected in the REBIND subcommand. The first hexadecimal token is ZPTR. The second hexadecimal token is ZPARMLEN.

LEAVE DSNECP41 SIBRCODE=, SIBRBSW= token1 token2

CSECT DSNECP41 has just completed. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is SIBRCODE, the return code from the REBIND. The second hexadecimal token is SIBRBSW, the REBIND switches.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 839 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP42
Message text ENTER DSNECP42, SIBFREE= token1 token2 Explanation This message announces entry into CSECT DSNECP42, which parses the FREE subcommand. The first hexadecimal token is the address of the FREE area in the SIB. The second hexadecimal token is not used. AFTER IKJPARS, R15= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15, the return code from the parse. The second hexadecimal token is zero. BEFORE MEMBER LOOP token1 token2 This message appears before the loop that processes the planid list that the user entered. The hexadecimal tokens are not used. PLAN : planname token1 token2 This message shows the plan parameter, planname, from the FREE subcommand. This message appears once for each PLAN to be freed. The first hexadecimal token is ZPARMLEN, the length of the parameter. The second hexadecimal token is zero. GETMAIN SUCCESSFUL, ZGMPTR= token1 token2 The GETMAIN for the area to hold the compacted plan name list was successful. The first hexadecimal token is ZGMPTR, the address of the area just obtained. The second hexadecimal token is not used. PLAN NAME LOOPTOP ZJ=, SIBFRBPS= token1 token2 This loop executes once per plan name. The first hexadecimal token is ZJ, the loop index. The second hexadecimal token is SIBFRBPS, the size of the previous GETMAIN. FOUND AN ASTERISK token1 token2 An asterisk was entered in the plan name list. The hexadecimal tokens are not used.

840

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation

LITTLE LOOPTOP ZI=, ZPARMLEN token1 This loop executes once per character in each token2 plan name. The first hexadecimal token is ZI, the loop index. The second hexadecimal token is ZPARMLEN, the length of the plan name. PUT PARM INTO LIST token1 token2 A plan name was just added to the plan name list. The hexadecimal tokens are not used. FLAG : flagval ZPDEBIN token1 token2 This message shows the flag parameter, flagval, from the FREE subcommand. The first hexadecimal token is ZPDEBIN, a parameter presence indicator. The second hexadecimal token is not used. CALL DSNECP30, SIBFREE=, SIBRCODE= token1 token2 CSECT DSNECP42 is about to call CSECT DSNECP30 to invoke DB2 to do the FREE processing. The first hexadecimal token is the address of the FREE area in the SIB. The second hexadecimal token is SIBRCODE, the FREE return code so far. AFTER DSNECP30, SIBFREE=, SIBRCODE= token1 token2 CSECT DSNECP42 just regained control after calling CSECT DSNECP30. The first hexadecimal token is the address of SIBFREE. The second hexadecimal token is SIBRCODE. LEAVE DSNECP42, SIBRCODE=, SIBFRBSW= token1 token2 CSECT DSNECP42 has completed. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is SIBRCODE, the FREE return code. The second hexadecimal token is SIBFRBSW.

CSECT: DSNECP44
Message text Explanation ENTER DSNECP44, CIPPTR= token1 token2 This message announces entry into CSECT DSNECP44, which parses the BIND PACKAGE subcommand. The first hexadecimal token is CIBPTR. The second hexadecimal token is not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 841 DO NOT COPY

DO NOT COPY
Message text AFTER IKJPARS, R15= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15, the return code from the parse. The second hexadecimal token is zero.

MEMBER : memname ZPARMLEN=, ZPDEPTR= token1 token2

This message shows the member parameter, memname, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN, the length of the parameter. The second hexadecimal token is the PDE address.

NO LIBRARY PARM ENTERED ZPDEBIND=, ZPTR= token1 token2

This message indicates that the user did not enter a library parameter. The first hexadecimal token is ZPDEBIN, a parameter presence indicator. The second hexadecimal token is the address of the LIBRARY parameters PDE.

LIBRARY : libname ZPARMLEN=, SIBBPDSN= token1 token2

This message shows the library parameter, libname, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN, the name length. The second hexadecimal token is SIBBPDSN, the address of the name.

PASSWORD : password ZPWDLEN=, ZPWDPTR= token1 token2

This message shows the password parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPWDLEN, the length of the password. The second hexadecimal token is ZPWDPTR, a pointer to the password.

COPYVER : version ZPARMLEN= token1

This message shows the COPYVER parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN, the length of the COPYVER parameter.

OPTIONS : optionsval ZPDEBIN=, ZPDEPTR= token1 token2 ZPARMLEN= token1

This message shows the OPTIONS parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN, a parameter presence indicator. The second hexadecimal token is the address of the OPTIONS parameters PDE.

842

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the action parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN, the length of the parameter. The second hexadecimal token is ZPTR.

ACTION : action ZPARMLEN=, ZPTR= token1 token2

REPLVER : version ZPARMLEN= token1

This message shows the REPLVER parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN, the length of the REPLVER parameter.

VALIDATE : valparm ZPDEBIN=, ZPTR= token1 token2

This message shows the validate parameter, valparm, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

RELEASE : relparm ZPDEBIN=, ZPTR= token1 token2

This message shows the RELEASE parameter, relparm, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

SQLERROR : sqlerract ZPDEBIN=, ZPTR= token1 token2

This message shows the SQLERROR parameter, sqlerract, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

ISOLATION : isoparm ZPDEBIN=, ZPTR= token1 token2

This message shows the ISOLATION parameter, isoparm, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

FLAG : flagval ZPDEBIN=, ZPTR= token1 token2

This message shows the FLAG parameter, flagval, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

EXPLAIN : explval ZPDEBIN=, ZPTR= token1 token2

This message shows the EXPLAIN parameter, explval, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 843 DO NOT COPY

DO NOT COPY
Message text CURRENTDATA : cdval ZPDEBIN=, ZPTR= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message shows the CURRENTDATA parameter, cdval, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

DYNAMICRULES: dynval ZPDEBIN=, ZPTR= token1 token2

This message shows the DYNAMICRULES parameter, dynval, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

DBPROTOCOL: dbprotval ZPDEBIN=, ZPTR= token1 token2

This message shows the DBPROTOCOL parameter, dbprotval, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

DEFER: defer ZPDEBIN=, ZPTR= token1 token2

This message shows the DEFER parameter, defer, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

NODEFER: nodefer ZPDEBIN=, ZPTR= token1 token2

This message shows the NODEFER parameter, nodefer, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

REOPT: reopt ZPDEBIN=, ZPTR= token1 token2

This message shows the REOPT parameter, defer, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

NOREOPT: noreopt ZPDEBIN=, ZPTR= token1 token2

This message shows the NOREOPT parameter, noreopt, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

KEEPDYNAMIC: keepdynval ZPDEBIN=, ZPTR= token1 token2

This message shows the KEEPDYNAMIC parameter, keepdynval, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

844

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message is displayed if the PATH is not specified for the BIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

NO PATH PARAMETER ENTERED: ZPDEBIN=, ZPTR= token1 token2

PATH : ZPARMLEN=, PATHPTR= token1 token2

This message displays the schema names in the PATH parameter for the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the pointer to the PATH list.

PATH (# SCHEMA NAMES): SIBBPATHN token1

This message displays the number of schema names in the PATH parameter for the BIND PACKAGE subcommand. The first hexadecimal token is the number of schemas in the PATH list.

OWNER : ownerid ZPARMLEN= token1

This message shows the OWNER parameter, ownerid, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

QUALIFIER : qualid ZPARMLEN= token1

This message shows the QUALIFIER parameter, qualid, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

DEGREE : degreeprm ZPARMLEN=, ZPTR= token1 token2

This message shows the DEGREE parameter, degreeprm, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN, the length of the DEGREE parameter value. The second hexadecimal token is PDE address.

SIB RELEASE DEPENDENCY MARK IS: token1

This message appears before exit from DSNECP44. The first hexadecimal token is the release dependency character for the BIND command set by this CSECT.

LEAVE DSNECP44, R15=, SIBRCODE= token1 token2

CSECT DSNECP44 has completed. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is the value in register 15. The second hexadecimal token is SIBRCODE, the BIND return code.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 845 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP45
Message text ENTER DSNECP45, SIBRBIND= token1 token2 Explanation This message announces entry into CSECT DSNECP45, which parses the REBIND PACKAGE subcommand. The first hexadecimal token is CIBPTR. The second hexadecimal token is not used. AFTER IKJPARS, R15= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15, the return code from the parse. The second hexadecimal token is zero. VALIDATE : valparm ZPDEBIN=, ZPTR= token1 token2 This message shows the validate parameter, valparm, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR. RELEASE : relparm ZPDEBIN=, ZPTR= token1 token2 This message shows the RELEASE parameter, relparm, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR. ISOLATE : isoparm ZPDEBIN=, ZPTR= token1 token2 This message shows the ISOLATION parameter, isoparm, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR. FLAG : flagval ZPDEBIN=, ZPTR= token1 token2 This message shows the FLAG parameter, flagval, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR. EXPLAIN : explval ZPDEBIN=, ZPTR= token1 token2 This message shows the EXPLAIN parameter, explval, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

846

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the DYNAMICRULES parameter, dynval, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

DYNAMICRULES: dynval ZPDEBIN=, ZPTR= token1 token2

DBPROTOCOL: dbprotval ZPDEBIN=, ZPTR= token1 token2

This message shows the DBPROTOCOL parameter, dbprotval, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

CURRENTDATA : cdval ZPDEBIN=, ZPTR= token1 token2

This message shows the CURRENTDATA parameter, cdval, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

DEFER: defer ZPDEBIN=, ZPTR= token1 token2

This message shows the DEFER parameter, defer, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

NODEFER: nodefer ZPDEBIN=, ZPTR= token1 token2

This message shows the NODEFER parameter, nodefer, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

REOPT: reopt ZPDEBIN=, ZPTR= token1 token2

This message shows the REOPT parameter, defer, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

NOREOPT: noreopt ZPDEBIN=, ZPTR= token1 token2

This message shows the NOREOPT parameter, noreopt, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

KEEPDYNAMIC: keepdynval ZPDEBIN=, ZPTR= token1 token2

This message shows the KEEPDYNAMIC parameter, keepdynval, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 847 DO NOT COPY

DO NOT COPY
Message text NO PATH PARAMETER ENTERED: ZPDEBIN=, ZPTR= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message is displayed if the PATH is not specified for the REBIND PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

PATH : ZPARMLEN=, PATHPTR= token1 token2

This message displays the schema names in the PATH parameter for the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the pointer to the PATH list.

PATH (# SCHEMA NAMES): SIBBPATHN token1

This message displays the number of schema names in the PATH parameter for the REBIND PACKAGE subcommand. The first hexadecimal token is the number of schemas in the PATH list.

PATHDEFAULT: ZPDEBIN, SIBRPATHP token1 token2

This message displays the PATHDEFAULT parameter for the REBIND PACKAGE subcommand. The first hexadecimal token is ZPTR. The second hexadecimal token is a pointer to the PATH list.

OWNER : ownerid ZPARMLEN= token1

This message shows the OWNER parameter, ownerid, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

QUALIFIER : qualid ZPARMLEN= token1

This message shows the QUALIFIER parameter, qualid, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

BEFORE CALL DSNECP30 SIBRBIND=, SIBRCODE= token1 token2

CSECT DSNECP45 is about to call CSECT DSNECP30 to make the DB2 call to perform the REBIND PACKAGE. The first hexadecimal token is SIBRCODE. The second hexadecimal token is SIBRCODE, the highest return code so far.

AFTER CALL DSNECP30, SIBRBIND=, SIBRCODE= token1 token2

CSECT DSNECP45 just regained control after calling CSECT DSNECP30. The first hexadecimal token is the address of SIBRBIND. The second hexadecimal token is SIBRCODE, the highest return code so far.

848

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message after parsing of the REBIND PACKAGE subcommand is complete. The first hexadecimal token is the release dependency character for the BIND command set by this CSECT.

AFTER PARSE token1

SIB RELEASE DEPENDENCY MARK IS: token1

This message appears before exit from DSNECP45. The first hexadecimal token is the release dependency character for the BIND command set by this CSECT.

LEAVE DSNECP45, R15=, SIBRCODE= token1 token2

CSECT DSNECP45 has completed. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is the value in register 15. The second hexadecimal token is SIBRCODE, the BIND return code.

CSECT: DSNECP46
Message text ENTER DSNECP46, SIBFREE PACKAGE= token1 token2 Explanation This message announces entry into CSECT DSNECP46, which parses the FREE PACKAGE subcommand. The first hexadecimal token is the address of the FREE PACKAGE area in the SIB. The second hexadecimal token is not used. AFTER IKJPARS, R15= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15, the return code from the parse. FLAG : flagval ZPDEBIN=, ZPTR= token1 token2 This message shows the FLAG parameter, flagval, from the FREE PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR. BEFORE CALL DSNECP30, SIBFREE PACKAGE=, SIBRCODE= token1 token2 CSECT DSNECP46 is about to call CSECT DSNECP30 to invoke DB2 to do the FREE PACKAGE processing. The first hexadecimal token is the address of the FREE PACKAGE area in the SIB. The second hexadecimal token is SIBRCODE, the FREE PACKAGE return code so far.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 849 DO NOT COPY

DO NOT COPY
Message text AFTER CALL DSNECP30, SIBFREE PACKAGE=, SIBRCODE= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation CSECT DSNECP46 just regained control after calling CSECT DSNECP30. The first hexadecimal token is the address of SIBFREE PACKAGE. The second hexadecimal token is SIBRCODE.

LEAVE DSNECP46, SIBRCODE=, SIBFRBSW= token1 token2

CSECT DSNECP46 has completed. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is SIBRCODE, the FREE PACKAGE return code. The second hexadecimal token is SIBFRBSW.

CSECT: DSNECP47
Message text ENTER DSNECP47, SIBRBIND= token1 token2 Explanation This message announces entry into CSECT DSNECP47, which parses the REBIND TRIGGER PACKAGE subcommand. The first hexadecimal token is CIBPTR. The second hexadecimal token is not used. AFTER IKJPARS, R15= token1 token2 This message is displayed after the call to IKJPARS has taken place. The first hexadecimal token is register 15, the return code from the parse. The second hexadecimal token is zero. TRIGGER : trigname ZPDEBIN=, ZPTR= token1 token2 This message shows the TRIGGER parameter, trigname, from the REBIND TRIGGER PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR. RELEASE : relparm ZPDEBIN=, ZPTR= token1 token2 This message shows the RELEASE parameter, relparm, from the REBIND TRIGGER PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR. ISOLATION : isoparm ZPDEBIN=, ZPTR= token1 token2 This message shows the ISOLATION parameter, isoparm, from the REBIND TRIGGER PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

850

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the FLAG parameter, flagval, from the REBIND TRIGGER PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

FLAG : flagval ZPDEBIN=, ZPTR= token1 token2

EXPLAIN : explval ZPDEBIN=, ZPTR= token1 token2

This message shows the EXPLAIN parameter, explval, from the REBIND TRIGGER PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

CURRENTDATA : cdval ZPDEBIN=, ZPTR= token1 token2

This message shows the CURRENTDATA parameter, cdval, from the REBIND TRIGGER PACKAGE subcommand. The first hexadecimal token is ZPDEBIN. The second hexadecimal token is ZPTR.

BEFORE CALL DSNECP30 SIBRBIND=, SIBRCODE= token1 token2

CSECT DSNECP47 is about to call CSECT DSNECP30 to make the DB2 call to perform the REBIND TRIGGER PACKAGE. The first hexadecimal token is SIBRCODE. The second hexadecimal token is SIBRCODE, the highest return code so far.

AFTER CALL DSNECP30, SIBRBIND=, SIBRCODE= token1 token2

CSECT DSNECP47 just regained control after calling CSECT DSNECP30. The first hexadecimal token is the address of SIBRBIND. The second hexadecimal token is SIBRCODE, the highest return code so far.

AFTER PARSE token1

This message after parsing of the REBIND TRIGGER PACKAGE subcommand is complete. The first hexadecimal token is the release dependency character for the BIND command set by this CSECT.

SIB RELEASE DEPENDENCY MARK IS: token1

This message appears before exit from DSNECP47. The first hexadecimal token is the release dependency character for the BIND command set by this CSECT.

LEAVE DSNECP47, R15=, SIBRCODE= token1 token2

CSECT DSNECP47 has completed. Control will return to the calling CSECT, DSNECP19. The first hexadecimal token is the value in register 15. The second hexadecimal token is SIBRCODE, the BIND return code.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 851 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP50
Message text ENTER DSNECP50 ZPTR=, SIBRCODE= token1 token2 Explanation This message announces entry into CSECT DSNECP50, which validates the BIND PLAN parameters. The first hexadecimal token is the ZPTR, the pointer to the parameter list. The second hexadecimal token is SIBRCODE, the highest return code so far. OWNER : ownerid ZPARMLEN= token1 This message shows the OWNER parameter, ownerid, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. QUALIFIER : qualid ZPARMLEN= token1 This message shows the QUALIFIER parameter, qualid, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. OPTHINT : qoptprm ZPARMLEN=, ZPDEPTR= token1 token2 This message shows the OPTHINT parameter, qoptprt, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the OPTHINT parameters PDE. PKLIST : pklist ZPARMLEN=, ZPARM_PTR= token1 token2 This message shows an entry in the PKLIST parameter, pklist, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is ZPARM_PTR, the pointer to the current entry in the package list. # IN PKLIST : SIBBPKLN= token1 This message shows the number of entries in the package list. The first hexadecimal token is SIBBPKLN, the number of entries in the package list. CURRSERV : currentserver ZPARMLEN=, ZPDEPTR=, token1 token2 This message shows the CURRENTSERVER parameter, currentserver, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the CURRENTSERVER parameters PDE.

852

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the DEGREE parameter, degree, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the DEGREE parameters PDE.

DEGREE : degree ZPARMLEN=, ZPDEPTR=, token1 token2

ENABLE : enableparm ZPARMLEN= token1

This message shows the ENABLE parameter, enableparm, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

DISABLE : disableparm ZPARMLEN= token1

This message shows the DISABLE parameter, disableparm, from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

CICSCON : cicsconnid ZPARMLEN= token1 This message shows the CICS connection ID subparameter, cicsconnid, of the ENABLE(CICS(cicsconnid)) parameter from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. IMSBCON : imsid ZPARMLEN= token1 This message shows the IMS BMP IMSID subparameter, imsid, of the ENABLE(IMSBMP(imsid)) parameter from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. IMSMCON : imsid ZPARMLEN= token1 This message shows the IMS MPP IMSID subparameter, imsid, of the ENABLE(IMSMPP(imsid)) parameter from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. DLIBATC : connection-name ZPARMLEN= token1 This message shows the connection ID subparameter, connection-name, of the ENABLE(DLIBATCH(connection-name)) parameter from the BIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. LEAVE DSNECP50 SIBRCODE= token1 CSECT DSNECP50 has completed processing. Control will return to the calling CSECT, DSNECP40. The first hexadecimal token is SIBRCODE, the highest return code.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 853 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP51
Message text ENTER DSNECP51 CIBPTR= token1 Explanation This message announces entry into CSECT DSNECP51, which validates the REBIND PLAN parameters. The first hexadecimal token is the CIB address. NUM OF PLAN : SIBRBPN= token1 This message shows the number of plans to rebind. The first hexadecimal token, SIBRBPN, is the number of plans to rebind. PLAN NAME: ZPARMLEN=, ZJ= token1 token2 This message shows the name of a plan to rebind. The first hexadecimal token, ZPARMLEN, is the length of the plan name. The second hexadecimal token, ZJ, is the number of the plan name in the list of plans to rebind. FOUND AN ASTERISK ZPARMLEN=, ZPDEPTR= token1 token2 This message indicates that the list of plans to rebind contains an asterisk. The first hexadecimal token, ZPARMLEN, is 1. The second hexadecimal token, ZPDEPTR, is the pointer to the PDE for the PLAN parameter. PUT PARM INTO LIST: planid ZPARMLEN= token1 This message shows the ID of a plan in the list of plans to rebind. The first hexadecimal token, ZPARMLEN, is the length of the plan name. OWNER : ownerid ZPARMLEN= token1 This message shows the OWNER parameter, ownerid, from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. QUALIFIER : qualid ZPARMLEN= token1 This message shows the QUALIFIER parameter, qualid, from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. PKLIST : pklist ZPARMLEN=, ZPARM_PTR= token1 token2 This message shows an entry in the PKLIST parameter, pklist, from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is ZPARM_PTR, the pointer to the current entry in the package list.

854

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the number of entries in the package list. The first hexadecimal token is SIBBPKLN, the number of entries in the package list.

# IN PKLIST : SIBBPKLN= token1

CURRSERV : currentserver ZPARMLEN=, ZPDEPTR=, token1 token2

This message shows the CURRENTSERVER parameter, currentserver, from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the CURRENTSERVER parameters PDE.

DEGREE : degree ZPARMLEN=, ZPDEPTR=, token1 token2

This message shows the DEGREE parameter, degree, from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the DEGREE parameters PDE.

ENABLE : enableparm ZPARMLEN= token1

This message shows the ENABLE parameter, enableparm, from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

DISABLE : disableparm ZPARMLEN= token1

This message shows the DISABLE parameter, disableparm, from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

CICS CON NUM: SIBRCNUM= token1

This message shows the number of connection ID entries for the ENABLE(CICS(cicsconnid)) parameter from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

IMSBMP CON NUM: SIBRINUM= token1

This message shows the number of IMSBMP entries for the ENABLE(IMSBMP(imsid)) parameter from the REBIND PLAN subcommand. The first hexadecimal token is SIBRINUM, the number of IMSBMP entries.

IMSBMP: imsid ZPARMLEN= token1

This message shows the IMS BMP IMSID subparameter, imsid, of the ENABLE(IMSBMP(imsid)) parameter from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

IMSMPP CON NUM: SIBRIMUM= token1

This message shows the number of IMSMPP entries for the ENABLE(IMSMPP(imsid)) parameter from the REBIND PLAN subcommand. The first hexadecimal token is SIBRIMUM, the number of IMSMPP entries.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 855 DO NOT COPY

DO NOT COPY
Message text IMSMPP: imsid ZPARMLEN= token1

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message shows the IMS MPP IMSID subparameter, imsid, of the ENABLE(IMSMPP(imsid)) parameter from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

DLIBATCH CON NUM: SIBRDNUM= token1

This message shows the number of DLIBATCH entries for the ENABLE(DLIBATCH(connection-name)) parameter from the REBIND PLAN subcommand. The first hexadecimal token is SIBRDNUM, the number of DLIBATCH entries.

DLIBATC: connection-name ZPARMLEN= token1

This message shows the connection ID subparameter, connection-name, of the ENABLE(DLIBATCH(connection-name)) parameter from the REBIND PLAN subcommand. The first hexadecimal token is ZPARMLEN.

LEAVE DSNECP51 SIBRCODE= token1

CSECT DSNECP51 has completed processing. Control will return to the calling CSECT, DSNECP41. The first hexadecimal token is SIBRCODE, the highest return code.

CSECT: DSNECP54
Message text ENTER DSNECP54 CIBPTR= token1 Explanation This message announces entry into CSECT DSNECP54, which validates the BIND PACKAGE parameters. The first hexadecimal token is the CIBPTR. PACKAGE: package ZPARMLEN=, ZPDEPTR= token1 token2 This message shows the PACKAGE parameter, package, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the pointer to the PDE for the PACKAGE parameter. COPY ID: package ZPARMLEN=, ZPDEPTR= token1 token2 IF the COPY parameter is specified, this message shows the name of the package to copy. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the pointer to the PDE for the COPY parameter.

856

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the COPYVER parameter, copyver, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

COPYVER: version ZPARMLEN= token1

OPTIONS : optionsval ZPARMLEN= token1 This message shows the OPTIONS parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. REPLVER : version ZPARMLEN= token1 This message shows the REPLVER parameter, version, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. OWNER : ownerid ZPARMLEN= token1 This message shows the OWNER parameter, ownerid, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. QUALIFIER : qualid ZPARMLEN= token1 This message shows the QUALIFIER parameter, qualid, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. OPTHINT : qoptprm ZPARMLEN= token1 This message shows the OPTHINT parameter, qoptprt, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the OPTHINT parameters PDE. DEGREE : degree ZPARMLEN=, ZPDEPTR=, token1 token2 This message shows the DEGREE parameter, degree, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the DEGREE parameters PDE. ENABLE : enableparm ZPARMLEN= token1 This message shows the ENABLE parameter, enableparm, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. DISABLE : disableparm ZPARMLEN= token1 This message shows the DISABLE parameter, disableparm, from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. CICSCON : cicsconnid ZPARMLEN= token1 This message shows the CICS connection ID subparameter, cicsconnid, of the ENABLE(CICS(cicsconnid)) parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 857 DO NOT COPY

DO NOT COPY
Message text IMSBCON : imsid ZPARMLEN= token1

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message shows the IMS BMP IMSID subparameter, imsid, of the ENABLE(IMSBMP(imsid)) parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

IMSMCON : imsid ZPARMLEN= token1

This message shows the IMS MPP IMSID subparameter, imsid, of the ENABLE(IMSMPP(imsid)) parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

DLIBATC : connection-name ZPARMLEN= token1

This message shows the connection ID subparameter, connection-name, of the ENABLE(DLIBATCH(connection-name)) parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

REMOTE : connection-name ZPARMLEN=, ZPDEPTR= token1 token2

This message shows the connection ID subparameter, connection-name, of the ENABLE(REMOTE(location-name)) or ENABLE(REMOTE(<luname>)) parameter from the BIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The first hexadecimal token is the pointer to the PDE for ENABLE(REMOTE(locationname)) or ENABLE(REMOTE(<luname>).

LEAVE DSNECP54 SIBRCODE= token1

CSECT DSNECP54 has completed processing. Control will return to the calling CSECT, DSNECP44. The first hexadecimal token is SIBRCODE, the highest return code.

CSECT: DSNECP55
Message text ENTER DSNECP55 CIBPTR= token1 Explanation This message announces entry into CSECT DSNECP55, which validates the REBIND PACKAGE parameters. The first hexadecimal token is CIBPTR. OWNER : ownerid ZPARMLEN= token1 This message shows the OWNER parameter, ownerid, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. QUALIFIER : qualid ZPARMLEN= token1 This message shows the QUALIFIER parameter, qualid, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

858

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This message shows the OPTHINT parameter, qoptprt, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the OPTHINT parameters PDE.

OPTHINT : qoptprm ZPARMLEN=, ZPDEPTR= token1 token2

DEGREE : degree ZPARMLEN=, ZPDEPTR=, token1 token2

This message shows the DEGREE parameter, degree, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the address of the DEGREE parameters PDE.

ENABLE : enableparm ZPARMLEN= token1

This message shows the ENABLE parameter, enableparm, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

DISABLE : disableparm ZPARMLEN= token1

This message shows the DISABLE parameter, disableparm, from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

CICS CON NUM: SIBRCNUM= token1

This message shows the number of connection ID entries for the ENABLE(CICS(cicsconnid)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

PUT PARM INTO LIST ZPARMLEN=token1

This message is issued when a connection ID is added to the CICS connection ID list. The first hexadecimal token is ZPARMLEN.

IMSBMP CON NUM: SIBRINUM= token1

This message shows the number of IMSBMP entries for the ENABLE(IMSBMP(imsid)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is SIBRINUM, the number of IMSBMP entries.

IMSBMP: imsid ZPARMLEN= token1

This message shows the IMS BMP IMSID subparameter, imsid, of the ENABLE(IMSBMP(imsid)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

IMSMPP CON NUM: SIBRIMUM= token1

This message shows the number of IMSMPP entries for the ENABLE(IMSMPP(imsid)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is SIBRIMUM, the number of IMSMPP entries.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 859 DO NOT COPY

DO NOT COPY
Message text IMSMPP: imsid ZPARMLEN= token1

Restricted Materials of IBM Licensed Materials Property of IBM Explanation This message shows the IMS MPP IMSID subparameter, imsid, of the ENABLE(IMSMPP(imsid)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

DLIBATCH CON NUM: SIBRDNUM= token1

This message shows the number of DLIBATCH entries for the ENABLE(DLIBATCH(connection-name)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is SIBRDNUM, the number of DLIBATCH entries.

DLIBATC: connection-name ZPARMLEN= token1

This message shows the connection ID subparameter, connection-name, of the ENABLE(DLIBATCH(connection-name)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN.

REMOTE CON NUM: SIBRSNUM=, SIBRSNUM token1

This message shows the number of REMOTE entries for the ENABLE(REMOTE(location or <luname>)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is SIBRSNUM, the number of REMOTE entries.

REMOTE: location or <luname> ZPARMLEN=, ZPDEPTR= token1 token2

This message shows the connection ID subparameter, connection-name, of the ENABLE(REMOTE(location or <luname>)) parameter from the REBIND PACKAGE subcommand. The first hexadecimal token is ZPARMLEN. The second hexadecimal token is the pointer to the PDE for ENABLE(REMOTE(location or <luname>)).

LEAVE DSNECP55 SIBRCODE= token1

CSECT DSNECP55 has completed processing. Control will return to the calling CSECT, DSNECP45. The first hexadecimal token is SIBRCODE, the highest return code.

860

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

CSECT: DSNECP60
Message text ENTER DSNECP60, CIBPTR=, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP60, where a SQL declaration will be written. The first hexadecimal token is the address of the CIB. The second hexadecimal token is the address of the DCLGEN area in the SIB. WROTE EXEC SQL DCL, SIBDOFF= token1 token2 This message indicates that CSECT DSNECP60 has begun writing the very first part of the SQL declaration. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. WROTE FIRST LINE, SIBDOFF= token1 token2 The first line of SQL output has been written. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. BEGIN BIG LOOP, SIBDOFF=, ZCOL= token1 token2 Execution is now at the top of the main loop in this CSECT. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed. BEFORE DSNECP67 sqlname SIBDOFF=, ZCOL= token1 token2 CSECT DSNECP60 is about to write a field specification. The name of the field is sqlname. The first hexadecimal token is SIBDOFF, the current offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed. BEFORE LABEL sqlname SQLNAMEL(ZCOL+SQLD)=, SQLD= token1 token2 DSNECP61 is about to write a label. The label is sqlname (which can contain unprintable characters). The first hexadecimal token is the length of the label. The second hexadecimal token is the number of columns in the table.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 861 DO NOT COPY

DO NOT COPY
Message text BEFORE FIELD SPECIFICATION, SIBDOFF=, ZCOL= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation DCLGEN is about to write a field type specification. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed.

WROTE NOT NULL, SIBDOFF=, ZCOL= token1 token2

The string NOT NULL was just written to the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed.

DID NOT WRITE NOT NULL, SIBDOFF=, ZCOL= token1 token2

The string NOT NULL was not written to the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed.

LOOP BOTTOM, SIBDOFF=, ZCOL= token1 token2

CSECT DSNECP60 is now executing at the bottom of its main loop. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed.

LEAVE DSNECP60, SIBDFLAG=, SIBDOFF= token1 token2

CSECT DSNECP60 has completed. Control will return to the calling CSECT, DSNECP14. The first hexadecimal token is SIBDFLAG, the DCLGEN flag byte. The second hexadecimal token is SIBDOFF, the offset into the output buffer.

FOUND NON-VANILLA CHARACTER IN zbuf token1 token2

CSECT DSNECP60 found a character that is not an upper case alphanumeric as it scanned an identifier. The identifier is zbuf. The hexadecimal tokens are zero.

VANILLA IDENTIFIER: zbuf token1 token2

CSECT DSNECP60 found a character that is an upper case alphanumeric as it scanned an identifier. The identifier is zbuf. The hexadecimal tokens are zero.

862

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

CSECT: DSNECP61
Message text ENTER DSNECP61, CIBPTR=, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP61, which writes a COBOL declaration. The first hexadecimal token is the address of the CIB. The second hexadecimal token is the address of the DCLGEN area in the SIB. BEFORE WRITE LINE OF ASTERISKS, SIBDOFF= token1 token2 This message indicates that CSECT DSNECP61 is about to write a line of decorative asterisks. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. WROTE FIRST COMMENT, SIBDOFF= token1 token2 The first comment has been written. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. WROTE LEVEL 1 LINE, SIBDOFF= token1 token2 The first line of SQL output has been written. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. BEGIN BIG LOOP, SIBDOFF=, ZCOL= token1 token2 Execution is now at the top of the main loop in CSECT DSNECP61. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed. BEFORE FIELD SPECIFICATION, SIBDOFF=, ZCOL= token1 token2 CSECT DSNECP61 is about to write a field specification. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed. BEFORE LABEL sqlname SQLNAMEL(ZCOL+SQLD)=, SQLD= token1 token2 CSECT DSNECP61 is about to write a column label. The first hexadecimal token is the length of the label. The second hexadecimal token is SQLD, the number of the columns in the table be processed.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 863 DO NOT COPY

DO NOT COPY
Message text BEGIN LEVEL 3, SIBDOFF=, ZCOL= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation CSECT DSNECP61 is now beginning to write the third level of the declaration. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed.

AFTER LEVEL 3 COMMENT 1, SIBDOFF=, The first of the level-3 comments was just SQLD= token1 token2 written to the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SQLD, the number of the columns in the table. AFTER LEVEL 3 CODE 1, SIBDOFF=, ZCOL= token1 token2 The first of the level 3 code was just written to the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed. AFTER LEVEL 3 COMMENT 2, SIBDOFF=, The second of the level-3 comments was just ZCOL= token1 token2 written to the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed. AFTER LEVEL 3 COMMENT 2, LOOP BOTTOM SIBDOFF= ,ZCOL= token1 token2 The second of the level-3 comments was just written to the output buffer. Execution is at the bottom of the main loop. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed. LEAVE DSNECP61, SIBDFLAG=, ZCOL= token1 token2 CSECT DSNECP61 has just completed. Control will return to the calling CSECT, DSNECP14. The first hexadecimal token is SIBDFLAG, the DCLGEN flag area. The second hexadecimal token is ZCOL, the number of the column being processed. ENTER GETNAME, SIBDOFF= token1 token2 The GETNAME procedure was just entered. This procedure puts the field names into the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used.

864

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The GETNAME procedure was just exited. This procedure put the field names into the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used.

LEAVE GETNAME, SIBDOFF= token1 token2

ENTER COMMENT, SIBDOFF= token1 token2

Procedure COMMENT was just entered. This procedure initializes ZBIGBUF and writes a comment. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used.

LEAVE COMMENT, SIBDOFF= token1 token2

The COMMENT procedure was just exited. This procedure put the comment characters into ZBIGBUF and set the offset into that buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used.

CSECT: DSNECP62
Message text ENTER DSNECP62, CIBPTR=, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP62, where a PLI declaration will be written. The first hexadecimal token is the CIB address. The second hexadecimal token is the address of the DCLGEN area of the subcommand information block (SIB) area. WROTE FIRST COMMENT, SIBDOFF= token1 token2 This message indicates that the CSECT just wrote the first comment from this CSECT. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. WROTE FIRST LINE, SIBDOFF= token1 token2 The first line of PLI output has been written. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 865 DO NOT COPY

DO NOT COPY
Message text

Restricted Materials of IBM Licensed Materials Property of IBM Explanation

BIG LOOP TOP, SIBDOFF=, ZCOL= token1 Execution is now at the top of the main loop token2 in CSECT DSNECP62. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed. BEFORE DSNECP67, SQLNAME(ZCOL):fieldname SIBDOFF=, ZCOL= token1 token2 CSECT DSNECP62 is about to write a field name by calling DSNECP67 with a request to put it into the main output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed. BEFORE FIELD SPECIFICATION SIBDOFF=, SIBDNAML= token1 token2 CSECT DSNECP62 is about to write a field type specification. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name being processed. LABEL WAS YES ZLABCOL=, ZLABLEN= token1 token2 The user specified a LABEL parameter of YES. The first hexadecimal token is ZCOL + SQLD, the number of the SQLVAR element containing the label information. The second hexadecimal token is ZLABLEN, the length of the label being processed. BBUF zbigbuf ZCOL=token1 token2 The main output buffer, ZBIGBUF, is echoed in this message. The first hexadecimal token is ZCOL, the number of the current column being processed. The second hexadecimal token is not used. LOOP BOTTOM, SIBDOFF=, ZCOL= token1 token2 The bottom of the main loop in CSECT DSNECP62 has just been reached. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed.

866

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation CSECT DSNECP62 has just completed. Control will return to the calling CSECT, DSNECP14. The first hexadecimal token is SIBDFLAG, the DCLGEN flag area. The second hexadecimal token is ZCOL, the column number being processed.

END DSNECP62, SIBDFLAG=, ZCOL= token1 token2

CSECT: DSNECP63
Message text ENTER DSNECP63, CIBPTR=, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP63, where a C declaration will be written. The first hexadecimal token is the CIB address. The second hexadecimal token is the address of the DCLGEN area of the subcommand information block (SIB) area. BEFORE DSNECP67, ZBUF= zbuf SIBDOFF=, ZCOL= token1 token2 CSECT DSNECP63 is about to write a field specification. The name of the field is zbuf. The first hexadecimal token is SIBDOFF, the current offset into the output buffer. The second hexadecimal token is ZCOL, the number of the column being processed. WROTE FIRST COMMENT, SIBDOFF= token1 token2 This message indicates that the CSECT just wrote the first comment from this CSECT. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. WROTE FIRST LINE, SIBDOFF= token1 token2 The first line of C output has been written. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used. BIG LOOP TOP, SIBDOFF=, ZCOL= token1 Execution is now at the top of the main loop token2 in CSECT DSNECP63. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 867 DO NOT COPY

DO NOT COPY
Message text FOUND AN INTEGER, SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The table column with name colname has the INTEGER data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND A SMALL INTEGER, SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the SMALLINT data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND A ROWID. SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the ROWID data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND A BLOB, CLOB, OR DBCLOB, SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the ROWID data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND BLOB, CLOB, OR DBCLOB. SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the BLOB, CLOB, or DBCLOB data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND CHAR,DATE,TIME, OR TS. SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the CHAR, DATE, TIME, or TIMESTAMP data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND A VARCHAR, SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the VARCHAR data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

868

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The table column with name colname has the GRAPHIC data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND GRAPHIC. SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

FOUND A VARGRAPHIC, SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the VARGRAPHIC data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

FOUND A FLOAT, SQLNAME(ZCOL)=colname SIBDOFF=, SIBDNAML= token1 token2

The table column with name colname has the FLOAT data type. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is SIBDNAML, the length of the column name.

LOOP BOTTOM, SIBDOFF=, ZCOL= token1 token2

The bottom of the main loop in CSECT DSNECP63 has just been reached. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZCOL, the column number being processed.

WROTE INDICATOR VAR ARRAY, SIBDOFF=, token1

DCLGEN wrote an indicator variable array to the output buffer. The first hexadecimal token is SIBDOFF, the offset into the output buffer.

ENTER PROCEDURE LABELER. FIELDNAME=colname SIBDOFF=, ZBEGCOM= token1 token2

Entering the subroutine that is called if the user specified LABEL(YES) on the DCLGEN subcommand. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZBEGCOM, the column in an output record where comments begin.

LABEL WAS YES ZLABCOL=, ZLABLEN= token1 token2

The user specified a LABEL parameter of YES. The first hexadecimal token is ZCOL + SQLD, the number of the SQLVAR element containing the label information. The second hexadecimal token is ZLABLEN, the length of the label being processed.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 869 DO NOT COPY

DO NOT COPY
Message text BBUF zbigbuf ZCOL=token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The main output buffer, ZBIGBUF, is echoed in this message. The first hexadecimal token is ZCOL, the number of the current column being processed. The second hexadecimal token is not used.

LEAVE PROCEDURE LABELER. FIELDNAME=colname SIBDOFF=, ZBEGCOM= token1 token2

Leaving the subroutine that is called if the user specified LABEL(YES) on the DCLGEN subcommand. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZBEGCOM, the column in an output record where comments begin.

ENTER PROCEDURE FIELDNAM. FIELDNAME=colname SIBDOFF=, ZBEGCOM= token1 token2

Entering the subroutine that generates a host variable name that corresponds to colname. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZBEGCOM, the column in an output record where comments begin.

LEAVE PROCEDURE FIELDNAM. FIELDNAME=colname SIBDOFF=, ZBEGCOM= token1 token2

Leaving the subroutine that generates a host variable name that corresponds to colname. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZBEGCOM, the column in an output record where comments begin.

ENTER PROCEDURE COMMENT. FIELDNAME=colname SIBDOFF=, ZBEGCOM= token1 token2

Entering the subroutine that writes a comment that contains colname. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZBEGCOM, the column in an output record where comments begin.

LEAVE PROCEDURE COMMENT. FIELDNAME=colname SIBDOFF=, ZBEGCOM= token1 token2

Leaving the subroutine that writes a comment that contains colname. that corresponds to colname. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZBEGCOM, the column in an output record where comments begin.

ENTER PROCEDURE CHKDB.

Entering the subroutine that checks for DBCS characters in a column name.

870

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The column name contains a DBCS shift-in character at position ZI. The first hexadecimal token, ZI, contains the position in the column name of the shift-in character.

SI FOUND AT ZI= token1

LEAVE PROCEDURE CHKDB. END DSNECP63, SIBDFLAG=, ZCOL= token1 token2

Leaving the subroutine that checks for DBCS characters in a column name. CSECT DSNECP63 has just completed. Control will return to the calling CSECT, DSNECP14. The first hexadecimal token is SIBDFLAG, the DCLGEN flag area. The second hexadecimal token is ZCOL, the column number being processed.

CSECT: DSNECP66
Message text ENTER DSNECP66, CIBPTR=, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP66, which assists CSECT DSNECP68 to make the DCLGEN SQL call. The first hexadecimal token is the CIB address. The second hexadecimal token is the address of the DCLGEN area in the SIB. BEFORE FIRST GETMAIN, SIBDSQDS= token1 token2 This message indicates that CSECT DSNECP66 is about to do the GETMAIN for SQL DSECT. The first hexadecimal token is SIBDSQDS, the size of the first getmained area. The second hexadecimal token is not used. GETMAIN SUCCESSFUL, R1= token1 token2 The GETMAIN for the area needed by the precompiler was successful. The first hexadecimal token is the address of the getmained area. The second hexadecimal token is not used. AFTER PREPARE, SQLCODE= token1 token2 The PREPARE is complete. The first hexadecimal token is SQLCODE. The second hexadecimal token is not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 871 DO NOT COPY

DO NOT COPY
Message text

Restricted Materials of IBM Licensed Materials Property of IBM Explanation

BEFORE DESCRIBE1, SQLN=, SIBDSQLD= CSECT DSNECP66 is about to do its first token1 token2 DESCRIBE, so it can determine how large to make the real SQLDA for the second DESCRIBE. The first hexadecimal token is SQLN, the estimated number of columns. The second hexadecimal token is the SQLDA address. BEFORE SQLDA GETMAIN, SIBDSQLS=, SQLD= token1 token2 DCLGEN is about to getmain the area for the actual SQLDA. The first hexadecimal token is the size of the area to getmain. The second hexadecimal token is the actual number of columns in the table. REAL SQLDA SIBDSQLD=, SIBDSQLS= token1 token2 The area for the final SQLDA has been obtained. The first hexadecimal token is SIBDSQLD, the address of the SQLDA. The second hexadecimal token is SIBDSQLS, the size of the SQLDA. AFTER GETMAIN, SIBDSQLD= token1 token2 The GETMAIN for the real SQLDA is complete. The first hexadecimal token is SIBDSQLD, the SQLDA address. The second hexadecimal token is not used. BEFORE DESCRIBE2 SIBDSQLD=, SQLN= The main DESCRIBE is about to happen. token1 token2 The first hexadecimal token is the SQLDA address. The second hexadecimal token is the estimated number of columns. AFTER DESCRIBE2, SQLD=, SQLCODE= token1 token2 The final DESCRIBE is complete. The first hexadecimal token is the number of columns in the table. The second hexadecimal token is SQLCODE, the return code from the DESCRIBE. BEFORE FREEMAIN SIBDSECT=, SIBDSQDS= token1 token2 The SQLDSECT area is about to be freemained. The first hexadecimal token is the address of the area to free. The second hexadecimal token is the size of the area to free.

872

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation CSECT DSNECP66 has completed. Control will return to the calling CSECT, DSNECP14. DCLGEN SQL calls are now complete. The first hexadecimal token is the DCLGEN flag area. The second hexadecimal token is the actual number of columns in the table.

LEAVE DSNECP66, SIBDFLAG=, SQLD= token1 token2

ENTER ZCLEANER, ZPLACE=, ZSIZE= token1 token2

CSECT DSNECP66 is about to zero a getmained area. The first hexadecimal token is the address to clear. The second hexadecimal token is the size of the area.

CLEAR LOOPTOP, ZPLACE=, ZSIZE= token1 token2

The ZCLEANER procedure is at the top of its clearing loop. It is about to clear 255 bytes. The first hexadecimal token is the area to be cleared this pass through the clear loop. The second hexadecimal token is the size of the remaining area to clear.

LEAVE ZCLEANER, ZPLACE=, ZSIZE= token1 token2

The ZCLEANER procedure is complete. The getmained area is zeroed. The first hexadecimal token is meaningless. The second hexadecimal token should be zero or negative.

ENTER CHEKCODE, SQLCODE= token1 token2

CSECT DSNECP66 is about to translate a non-zero SQLCODE into an error message. The first hexadecimal token is SQLCODE.

BEFORE CALLING DSNTIAR, ADDR(ZMSGBUF),SIBDSQLC token1 token2

DSNTIAR is the routine that translates SQLCODEs into error messages. The first hexadecimal token is the address of the message buffer. The second hexadecimal token is the address of the SQLCA.

AFTER CALLING DSNTIAR, ADDR(ZMSGBUF)=, ZR15= token1 token2

Control has returned from DSNTIAR. The first hexadecimal token is the address of the buffer from DSNTIAR. The second hexadecimal token is ZR15, the return code from DSNTIAR.

LEAVE CHEKCODE, SQLCODE= token1 token2

The CHEKCODE procedure is complete. The SQLCODE has been evaluated and any necessary error messages have been issued. The first hexadecimal token is the SQLCODE. The second hexadecimal token is not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 873 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNECP67
Message text ENTER DSNECP67, ZACTION=xxx, SIBDOFF=, ZHEXNUM= token1 token2 Explanation This message announces entry into CSECT DSNECP67, where various DCLGEN utility functions are performed. xxx is a code indicating which function is to be performed. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is ZHEXNUM, a number to be translated to EBCDIC. ZEBCDIC=ebcdic , ZCVESIG= token1 token2 The variable ebcdic is the converted number. The first hexadecimal token is used for the EDMK instruction. ZERO ENTERED, ZCVESIG= token1 token2 The number to be converted was a zero. The first hexadecimal token is used by the EDMK instruction. The second hexadecimal token is zero. NON-ZERO ENTERED, OLD SIBDOFF= token1 token2 The number to be converted was not a zero. The first hexadecimal token is SIBDOFF, the non-updated offset into the output buffer. The second hexadecimal token is not used. ZBIGBUF: zbigbuf SIBDOFF= token1 token2 This is the current contents of the main output buffer. This buffer can appear truncated because of length restrictions on trace message tokens. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is zero. PUT: SIBDOFF=, SIBDCBA= token1 token2 CSECT DSNECP67 is about to PUT ZBIGBUF to the output data set. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is the DCB address, SIBDCBA. LEAVE WRITEBUF, SIBDOFF= token1 token2 CSECT DSNECP67 just wrote a line to the output data set. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used.

874

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The variable zbigbuf is the new ZBIGBUF. The first hexadecimal token is SIBDOFF, the offset into the output buffer. The second hexadecimal token is not used.

ZBIGBUF: zbigbuf SIBDOFF=token1 token2

LEAVE DSNECP67, SIBDFLAG=, SIBDOFF= token1 token2

CSECT DSNECP67 has just completed processing. Control will return to the calling CSECT. The first hexadecimal token is the DCLGEN flag area. The second hexadecimal token is SIBDOFF, the offset into the output buffer.

CSECT: DSNECP68
Message text ENTER DSNECP68, CIBPTR=, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP68, where the DCLGEN SQL calls will be made. The first hexadecimal token is the CIB address. The second hexadecimal token is the address of the DCLGEN area of the SIB. AFTER WHENEVER SQL ERROR, SIBDWHAT= token1 token2 This message indicates that the WHENEVER SQL ERROR statement was just issued. The first hexadecimal token is SIBDWHAT, the code for what to do next. The second hexadecimal token is zero. R2(SIBDSQLC)=, R3(SIBDSQLD)= token1 token2 The code is now setting up base registers. The first hexadecimal token is the SQLCA address. The second hexadecimal token is the SQLDA address. R4(SIBDSECT)= token1 token2 This message displays the address of the precompilers SQLDSECT area. The first hexadecimal token is the address of the precompilers SQLDSECT area. The second hexadecimal token is not used. BEFORE GET SIBDSQDS(LEN OF SQLDSECT) token1 token2 Execution is just before the GETMAIN (which occurs in DSNECP66) for the precompiler area. The hexadecimal tokens are not used.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 875 DO NOT COPY

DO NOT COPY
Message text AFTER GET SIBDSQDS, SIZE= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The previous GETMAIN just completed. The first hexadecimal token is the size of the area getmained. The second hexadecimal token is not used.

zsqlstmt token1 token2

This is the SQL statement, including the substituted table name, that is about to be prepared. The hexadecimal tokens are not used.

AFTER PREPARE token1 token2

The PREPARE has completed. The hexadecimal tokens are not used.

BEFORE DESCRIBE, R3= token1 token2

A DESCRIBE is about to be issued. The first hexadecimal token is register 3, the SQLDA address. The second hexadecimal token is not used.

AFTER DESCRIBE token1 token2

A DESCRIBE has completed. The hexadecimal tokens are not used.

CSECT: DSNECP69
Message text ENTER DSNECP69, ADDR(SIBDCL)= token1 token2 Explanation This message announces entry into CSECT DSNECP69, which performs dynamic allocation services for DCLGEN. The first hexadecimal token is the address of the DCLGEN area in the SIB. The second hexadecimal token is not used. SIBRCODE=, SIBDFLAG= token1 token2 The contents of the named variables are displayed by this message. The first hexadecimal token is the DCLGEN return code so far. The second hexadecimal token is the DCLGEN flag area. END INIT, ADDR(ZOHDAIR)=, ADDR(ZS99RB)= token1 token2 Initialization has completed. The first hexadecimal token is the address of ZOHDAIR. The second hexadecimal token is the address of ZS99RB. DALLOC CALLED, R14=, SIBDFLAG= token1 token2 CSECT DSNECP69 has started to deallocate the output data set. The first hexadecimal token is register 14. The second hexadecimal token is SIBDFLAG, the DCLGEN flag area.

876

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The deallocation text unit has been built. The first hexadecimal token is ZTUNDX, the index into the text unit list. The second hexadecimal token is ZPTR, the pointer to the current TU.

DALLOC TU, ZTUNDX=, ZPTR=, DSNAME token1 token2

S99TUPAR(1:S99TULNG) token1 token2

This message prints the dsname being processed. The hexadecimal tokens are not used.

AFTER DYNALLOC, S99RSC=, R15= token1 This message appears just after the token2 DYNALLOC SVC. The first hexadecimal token is S99RSC, the reason code from dynamic deallocation. The second hexadecimal token is register 15, the return code from dynamic deallocation. DALLOC ENDED, SIBDFLAG=, token1 token2 The deallocation portion of CSECT DSNECP69 has completed. The first hexadecimal token is the DCLGEN flag area. The second hexadecimal token is zero. EXIT DSNECP69, SIBRCODE=, SIBDFLAG= token1 token2 CSECT DSNECP69 is about to return to caller. The first hexadecimal token is the DCLGEN return code, so far. The second hexadecimal token is the DCLGEN flag area. BEFORE CALL TO DAIRFAIL, R15=, S99RSC= token1 token2 DAIRFAIL is about to be invoked. The first hexadecimal token is ZR15. The second hexadecimal token is S99RSC. AFTER DAIRFAIL, R15=, R1= token1 token2 This message appears after the DAIRFAIL call. The first hexadecimal token is register 15, the return code from the DAIRFAIL call. The second hexadecimal token is register 1, the address of DFPARMS. ZOPEN CALLED, R14=, SIBDCBA= token1 token2 The OPEN subroutine has been called. The first hexadecimal token is register 14. The second hexadecimal token is SIBDCBA. SIBRCODE=, SIBDFLAG= token1 token2 Processing continues in the OPEN routine. The first hexadecimal token is SIBRCODE. The second hexadecimal token is the DCLGEN flag area.
Chapter 36. Attachment facility trace codes and messages 877 DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
Message text LEAVE ZOPEN, SIBRCODE=, SIBDFLAG= token1 token2

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The OPEN function has completed. The first hexadecimal token is SIBRCODE, the DCLGEN return code so far. The second hexadecimal token is the DCLGEN flag area.

ZCLOSE CALLED, R14=, SIBDFLAG= token1 token2

The CLOSE subroutine has been called. The first hexadecimal token is register 14. The second hexadecimal token is the DCLGEN flag area.

LEAVE ZCLOSE, SIBDCBA=, SIBDFLAG= token1 token2

The CLOSE function has completed. The first hexadecimal token is SIBDCBA, the DCB address. The second hexadecimal token is the DCLGEN flag area.

ZALLOC CALLED, R14=, ZUSEMBR= token1 token2

The dynamic allocation subroutine has been called. The first hexadecimal token is register 14. The second hexadecimal token is ZUSEMBR.

1ST TU, ZTUNDX=, ZPTR=, DSNAME= token1 token2

The dsname text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

dsname token1 token2

This message prints the data set name. The hexadecimal tokens are not used.

2ND TU, ZTUNDX=, ZPTR= token1 token2

The return DDNAME text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

3RD TU, ZTUNDX=, ZPTR= token1 token2

The return DSORG text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

4TH TU, ZTUNDX=, ZPTR= token1 token2

The data set status text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

878

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The normal disposition text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

5TH TU, ZTUNDX=, ZPTR= token1 token2

6TH TU, ZTUNDX=, ZPTR= token1 token2

The conditional disposition text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

MBR TU, ZTUNDX=, ZPTR= token1 token2

The member text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

PSWD TU, ZTUNDX=, ZPTR= token1 token2

The password text unit has been built. The first hexadecimal token is ZTUNDX, an index into the text unit list. The second hexadecimal token is ZPTR, the address of the current TU.

BEFORE DYNALLOC, S99RBPTR=, ZPTR= token1 token2

CSECT DSNECP69 is about to issue the DYNALLOC SVC. The first hexadecimal token is S99RBPTR. The second hexadecimal token is ZPTR.

AFTER DYNALLOC, S99RSC=, R15= token1 This message appears after the DYNALLOC token2 SVC. The first hexadecimal token is S99RSC, the reason code. The second hexadecimal token is register 15, the return code. LEAVE ZALLOC, SIBDFLAG= token1 token2 The dynamic allocation subroutine has completed. The first hexadecimal token is the DCLGEN flag area. The second hexadecimal token is zero.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 879 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

CSECT: DSNETRAP
Message text BEFORE SQL CALL==============FRB,R1== token1 token2 Explanation Control is about to pass from the TSO attach package to DB2 to process a SQL call. The first hexadecimal token is the FRB address. The second hexadecimal token is register 1. AFTER SQL CALL==============RC1,FBACK== token1 token2 Control has just returned to the TSO attach facility after DB2 processed a SQL call. The first hexadecimal token is FRBRC1. The second hexadecimal token is FRBFBACK.

Call attachment facility trace messages


An application programmer using the call attachment facility (CAF) to write an application that attaches to DB2 can choose whether the messages are displayed or not. They display if the DSNTRACE ddname is allocated during CAF execution. v Message number (DSNAnnna) v Name of the CSECT that caused the message to be written. v TCB address of the task currently executing. v A series of tokens and token-explanations unique to each message.
Message text DSNACA00 TCB=address ENTERED DSNACA00 ACTION=action R1=address CABPTR=address CABFLAG1=flag1 CABFLAG2=flag2 Explanation The call attachment facility received a call attachment facility request to perform the action function. The parameter list begins at location address. CABPTR specifies the location of the call attachment facility control block (the CAB). CABFLAG1 and CABFLAG2 are the current flag bytes. This message is issued by the following module: DSNACA00 DSNACA00 TCB=address LEAVE DSNACA00 CABFLAG1=flag1 CABFLAG2=flag2 CABPTR=address The call attachment facility issues this message following completion of a call attachment facility request. CABFLAG1 and CABFLAG2 are the flag bytes and CABPTR specifies the location of the call attachment facility control block. This message is issued by the following module: DSNACA00

880

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The call attachment facility received a CONNECT request with the specified parameter values. SSID is the subsystem identifier, SECBP is the DB2 start-up ECB address, TECBP is the DB2 termination ECB address, and RIBW is the address of the fullword that will be set to contain the address of the release information block (RIB) after the CONNECT completes. This message is issued by the following module: DSNACA00

DSNACA00 TCB=address CONNECT REQUEST SSID=ssid SECBP=ecb address TECBP=ecb address RIBW=address

DSNACA00 TCB=address DISCONNECT REQUEST

The call attachment facility received a DISCONNECT request for the specified TCB. This message is issued by the following module: DSNACA00

DSNACA00 TCB=address OPEN REQUEST SSID=ssid PLAN=plan name

The call attachment facility received an OPEN request with the specified SSID and PLAN values. This message is issued by the following module: DSNACA00

DSNACA00 TCB=address CLOSE REQUEST TRMOP=terminate option

The call attachment facility received a CLOSE request with the specified termination option. This message is issued by the following module: DSNACA00

DSNACA00 TCB=address BEFORE function The call attachment facility issues this ==================== message before a function request to DB2. This is the last call attachment facility action performed before passing control to DB2 for processing. If this is the last call attachment facility message before an abend, then the abend very probably occurred in the DB2 code proper, rather than in the call attachment facility code. This message is issued by the following module: DSNACA00, DSNACA70 DSNACA00 TCB=address AFTER function ==================== The call attachment facility issues this message when DB2 returns control after a function request. This message is issued by the following modules: DSNACA00, DSNACA70 csectname TCB=address FRBP=address RAL=data RALE=data FVLE=data PARM=data PCNT=data This message, along with message DSNA814I, displays the contents of the FRB control block before or after a call to DB2. This message is issued by the following modules: DSNACA00, DSNACA70

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 881 DO NOT COPY

DO NOT COPY
Message text

Restricted Materials of IBM Licensed Materials Property of IBM Explanation

csectname TCB=address RC1=retcode This message, along with message RC2=reascode FBACK=feedback RHPC=data DSNA813I, displays the contents of the FRB QUAL=data RSV1=data control block before or after a call to DB2. This message is issued by the following modules: DSNACA00, DSNACA70 DSNACA70 TCB=address FDBKEIB=EIB-address SSID=ssid GATT=group-attach-name GRPN=group-name MBRN=member-name DSNACA00 TCB=address IMPLICIT CONNECTION REQUEST This message displays the address and contents of the environment information control block (EIB). DB2 generates this message when the EIB address is not 0. The call attachment facility received an SQL request before establishing the DB2 connection. This results in an implicit connection to DB2 using defaults for the application plan name and, if no CONNECT was issued, the DB2 subsystem identifier. This message is issued by the following module: DSNACA00 DSNACA00 TCB=address TRANSLATE REQUEST SQLCA=address CABFRC1=retcode CABFRC2=reascode FRBRHPC=frbrhpc The call attachment facility received a TRANSLATE request. This message identifies the location of the SQLCA whose SQLCODE field will be set and the return codes that will be translated. The translate will not be performed if FRBRHPC is zero. This message indicates that the previous DB2 connection has been terminated, certain clean-up processing has occurred, and that the call attachment facility is now ready to process additional connection requests. This message is issued by the following module: DSNACA70 It is accompanied by return code (R15) 4 and code (R0) 00C10824. DSNACA70 TCB=address CABSSID=ssid CABREL=release CABDECPP=address EIBPARM=EIB-address This message lists the current values in DSNHDECP, which is link edited with the call attachment facility main load module, DSNACAF. These values are used as defaults on implicit connection requests. This trace message indicates that a check of the type ECB (either start-up or shutdown), is about to be done to determine if the address identified by location is addressable. If an 0C4 abend occurs immediately following this message, then an invalid ECB address was passed on a CONNECT request.

DSNACA00 TCB=address CAF READY FOR NEW CONNECTION SERVICE REQUESTS

DSNACA00 TCB=address BEFORE VALIDITY CHECKING THE type ECB AT ADDRESS location

882

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation This trace message indicates that the identified ECB is addressable and contains the specified data value. Appearance of this message is not a guarantee that the ECB address that was passed is valid; it has only passed preliminary tests. Deleting this ECB without DB2s knowledge makes the ECB invalid. This message is issued by the following module: DSNACA00

DSNACA00 TCB=address AFTER VALIDITY CHECKING THE ECB WHICH CONTAINS data

DSNACA00 TCB=address RIB ADDRESS=ribaddr RIBPTR ADDR=ribptr

This trace message lists the address of the DB2 release information block (ribaddr) and the address of the fullword that points to the RIB (ribptr) after connection attempts that were made to a DB2 subsystem identifier that existed. This message is issued by the following module: DSNACA70

DSNACA00 TCB=address R1(FRB)=frbaddr SQLDSECT(FRBPARM)=dsectaddr RDI=rdiaddr SQLCA=sqlcaaddr CABFLAG2=flag2

This trace message lists the addresses of the FRB, the SQLDSECT, the RDI and the SQLCA. The CABFLAG2 flag byte is useful for learning the AMODE of DSNACA00s caller, the Language Interface (DSNALI). This message is issued by the following module: DSNACA00

DSNACA00 TCB=address SQLCODE=sqlcode CABFLAG1=flag1 CABFLAG2=flag2

This trace message lists the SQLCODE and the two call attachment flag bytes. This message is issued by the following module: DSNACA00

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 883 DO NOT COPY

DO NOT COPY
Message text DSNACA70 RELEASE LEVELS NOT COMPATIBLE. CAF=release_level, DB2=release_level

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The call attachment facility (CAF) has detected a release level incompatibility between DB2 and itself. The current release levels of CAF code and the DB2 subsystem load modules are indicated as a string of three numeric characters, one for each of the following: v Version v Release v Modification level The connection to the DB2 subsystem is not successful. A return code of 8, and a reason code of 00C10831 are returned to the callers application program. If you used JCL or a TSO logon procedure to invoke CAF, check that the correct DB2 libraries are defined in your JOBLIB and STEPLIB allocations. See your system programmer if you invoke CAF using procedures supplied by your system programmer. If you are unable to determine the problem, you can trace CAF execution by defining a DSNTRACE DD data set. Ensure that coexistence is supported on both release levels (CAF and DB2). If coexistence is supported, ensure that the lower level release has the correct SPE level code support required to coexist with the current higher level release.

SPUFI trace messages


The SPUFI trace messages, issued by the TSO attachment facility, have unique message numbers. They are listed in message number order.
Message text Explanation

DSNESM85 MODULE LIST INCOMPLETE. An internal DB2 error has occurred. The module address NOT DEFINED tracing subsystem is disabled. This message is issued by the following CSECT: DSNESM85 csectname ENTERED The CSECT specified in the message has been entered. This message is issued by the following CSECTs: DSNESM21, DSNESM30, DSNESM32, DSNESM81

884

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text csectname EXITED

DO NOT COPY
Explanation Control has left the CSECT named in the message. This CSECT is about to return control to the CSECT that called it. This message is issued by the following CSECTs: DSNESM21, DSNESM30, DSNESM32, DSNESM81

csectname STARTING INITIALIZATION

The CSECT named in the message is starting its initialization processing. Events such as GETMAINs and variable initialization will be taking place. This message is issued by the following CSECT: DSNESM32

csectname STARTING WRAPUP

The CSECT specified in the message is starting its cleanup processing. Events such as FREEMAINs will be taking place. This message is issued by the following CSECT: DSNESM32

csectname BEFORE GETMAIN

The CSECT specified in the message is about to perform a GETMAIN of the area that holds the YCOLWID array. This message is issued by the following CSECTs: DSNESM32, DSNESM21

csectname AFTER GETMAIN

The CSECT specified in the message has completed a GETMAIN of the area that holds the YCOLWID array. This message is issued by the following CSECTs: DSNESM32, DSNESM21

csectname BEFORE MAIN LOOP

The CSECT specified in the message is about to begin executing the CSECTs main loop. This message is issued by the following CSECTs: DSNESM30, DSNESM32, DSNESM81

csectname LOOPTOP

This message is issued after the main loop in the referred to CSECT specified in the message begins executing. This message is issued by the following CSECTs: DSNESM21, DSNESM30, DSNESM32, DSNESM81

csectname TYPE IS INTEGER

The CSECT specified in the message has detected a data type of integer. This message is issued by the following CSECT: DSNESM32

csectname TYPE IS SMALL INTEGER

The CSECT specified in the message has detected a data type of small integer. This message is issued by the following CSECT: DSNESM32

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 885 DO NOT COPY

DO NOT COPY
Message text csectname TYPE IS DECIMAL

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The CSECT specified in the message has detected a data type of decimal. This message is issued by the following CSECTs: DSNESM30, DSNESM32

csectname TYPE IS FLOAT

The CSECT specified in the message has detected a data type of float. This message is issued by the following CSECTs: DSNESM30, DSNESM32

csectname TYPE IS CHARACTER

The CSECT specified in the message has detected a data type of character. This message is issued by the following CSECTs: DSNESM30, DSNESM32

csectname TYPE IS VARCHAR

The CSECT specified in the message has detected a data type of VARCHAR. This message is issued by the following CSECT: DSNESM32

csectname TYPE IS LONG VARCHAR

The CSECT specified in the message has detected a data type of LONG VARCHAR. This message is issued by the following CSECT: DSNESM32

csectname CHECKING FOR COLUMN HEADER TRUNCATION

The CSECT specified in the message has started the section of code that checks for column headers that will not fit in the space allowed for the column (as specified on SPUFI panel 2). This message is issued by the following CSECT: DSNESM32

csectname COLUMN HEADER TRUNCATION OCCURRED

The CSECT specified in the message has discovered a column header that will not fit into the space allotted for it on panel 2. This will cause a message to be written to the output data set. This message is issued by the following CSECT: DSNESM32

csectname BEFORE WRITING GUTTER CHARACTER

The CSECT specified in the message is about to write the string of characters that appears between columns of data in SPUFI output. This message is issued by the following CSECT: DSNESM32

csectname FOUND A QUOTE

The CSECT specified in the message is scanning the SQL statement in the input data set and has just encountered a quote (). This indicates the beginning or end of a quoted string. This message is issued by the following CSECT: DSNESM21

886

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The CSECT specified in the message is scanning the SQL statement in the input data set and has just encountered a shift out (SO) character. This indicates the beginning of a DBCS string or substring. This message is issued by the following CSECT: DSNESM21

csectname FOUND A DBCS SO

csectname FOUND A DBCS SI

The CSECT specified in the message is scanning the SQL statement in the input data set and has just encountered a shift in (SI) character. This indicates the end of a DBCS string or substring. This message is issued by the following CSECT: DSNESM21

csectname NOT END OF FILE YET

The CSECT specified in the message has not yet discovered an end-of-file condition. It will continue to look for SQL input. This message is issued by the following CSECT: DSNESM21

csectname BEGINNING FIRST TIME PROCESSING

The CSECT specified in the message is now starting its initialization section. This section performs a GETMAIN and does variable initialization. This message is issued by the following CSECT: DSNESM21

csectname COMPLETING FIRST TIME PROCESSING

The CSECT specified in the message has finished its initialization processing. This message is issued by the following CSECT: DSNESM21

csectname ECHOED A RECORD TO OUTPUT DATA SET

The CSECT specified in the message has written a line of SQL from the input data set to the output data set. The SQL statement is echoed for documentation purposes. This message is issued by the following CSECT: DSNESM21

csectname FOUND AN APOSTROPHE

The CSECT specified in the message is scanning the SQL statement in the input data set and has just encountered an apostrophe. This indicates the beginning or end of a quoted string. This message is issued by the following CSECT: DSNESM21

csectname FOUND A SEMICOLON

The CSECT specified in the message was scanning the SQL input from the SPUFI input data set and found a semicolon. This indicates the end of an SQL statement. This message is issued by the following CSECT: DSNESM21

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 887 DO NOT COPY

DO NOT COPY
Message text csectname BEFORE MOVING SQL TO IBUF

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The CSECT specified in the message is about to move part of an SQL statement (from the SPUFI input data set) into the statement buffer (IBUF). This message is issued by the following CSECT: DSNESM21

csectname AFTER MOVING SQL TO IBUF

The CSECT specified in the message has moved part of an SQL statement (from the SPUFI input data set) into the statement buffer (IBUF). This message is issued by the following CSECT: DSNESM21

csectname NULL DATA FOUND

The CSECT specified in the message has discovered a null data item. Null strings are about to be written to the SPUFI output data set. This message is issued by the following CSECT: DSNESM30

csectname TYPE IS INTEGER OR SMALL INTEGER

The CSECT specified in the message has discovered a data item of type integer or small integer. This message is issued by the following CSECT: DSNESM30

csectname BEFORE CONVERSION

The CSECT specified in the message is about to perform a data conversion of either decimal, integer, or small integer to EBCDIC. This is so the data can be written to the output data set. This message is issued by the following CSECT: DSNESM30

csectname AFTER CONVERSION

The named CSECT just performed a data conversion of either decimal, integer, or small integer to EBCDIC. This is so the data can be written to the output data set. This message is issued by the following CSECT: DSNESM30

csectname TRUNCATION OCCURRED

The CSECT specified in the message has discovered a data item that will not fit in the space allotted for it on the second SPUFI panel. A message will be written to the output data set to indicate that this has happened. Character-type data will be truncated and the remainder will be written. Numeric data will not be written; rather, it will show as all asterisks. This message is issued by the following CSECT: DSNESM30

888

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The CSECT specified in the message has discovered a data item that fits in the space allotted for it on the second SPUFI panel. No truncation has occurred. This message is issued by the following CSECT: DSNESM30

csectname NO TRUNCATION OCCURRED

csectname BEFORE CALLING DSNESM34

The CSECT specified in the message is about to call CSECT DSNESM34 to convert a floating-point number to EBCDIC. This message is issued by the following CSECT: DSNESM30

csectname AFTER CALLING DSNESM34

The CSECT specified in the message has called CSECT DSNESM34 to convert a floating-point number to EBCDIC. This message is issued by the following CSECT: DSNESM30

csectname TYPE IS CHAR, VARCHAR, OR LVARCHAR

The CSECT specified in the message has detected a data item of type character, VARCHAR, or LONG VARCHAR. This message is issued by the following CSECT: DSNESM30

csectname LEAVE YSTUFBUF WITH RBUFU NOW = offset

The CSECT specified in the message has inserted a string of characters into the row buffer so that it can be written to the output data set. The next available free position in the output buffer (RBUF) is now offset. This message is issued by the following CSECT: DSNESM30

csectname TYPE IS GRAPHIC

The CSECT specified in the message has detected a data type of GRAPHIC. This message is issued by the following CSECT: DSNESM32

csectname TYPE IS VARGRAPHIC OR LONG VARGRAPHIC

The CSECT specified in the message has detected a data type of VARGRAPHIC or LONG VARGRAPHIC. This message is issued by the following CSECT: DSNESM32

csectnamecsectname - START COLUMN LOOP WITH SQLD = colcount

The program is about to enter a loop that will cycle once for each column looking for truncated data or column names. This message is issued by the following CSECT: DSNESM40

csectname - BEGIN YBLDL SUBROUTINE

CSECT DSNESM55 has entered the YBLDL internal subroutine. This message is issued by the following CSECT: DSNESM55

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 889 DO NOT COPY

DO NOT COPY
Message text csectname - END YBLDL SUBROUTINE OPEN oresult; BLDL bresult

Restricted Materials of IBM Licensed Materials Property of IBM Explanation The BLDL has just been completed with an open return code of oresult and a BLDL return code of bresult. This message is issued by the following CSECT: DSNESM55

modid - END EXECUTION returncode

The CSECT csectname has returned to the caller. The returncode in the message is its return code. This message is issued by the following CSECTs: DSNESM20, DSNESM22

csectname - EXTRACTED DAIRFAIL TEXT DISPLAYED dftext2

This message will accompany message DSNE582. The dftext2 in the message is the second-level error explanation from DAIRFAIL. DSNESM55 is about to close a data set. This message is issued by the following CSECT: DSNESM55 DSNESM55 has closed a data set. This message is issued by the following CSECT: DSNESM55 DSNESM55 has terminated. This message is issued by the following CSECT: DSNESM55 The returncode in the message is its return code. DSNESM55 has completed the internal OPEN subroutine. This message is issued by the following CSECT: DSNESM55

DSNESM55 - BEFORE CLOSE OF DATA SET

DSNESM55 - AFTER CLOSE OF DATA SET

DSNESM55 - END OF MODULE EXECUTION - RCODE = returncode

DSNESM55 - END OPEN SUBROUTINE

DSNESM55 - BEGIN OPEN SUBROUTINE

The CSECT DSNESM55 is attempting to OPEN a data set. This message is issued by the following CSECT: DSNESM55

DSNESM55 - END DEALLOCATION SUBROUTINE

The deallocation subroutine of CSECT DSNESM55 has completed. This message is issued by the following CSECT: DSNESM55

DSNESM55 - AFTER DYNALLOC DEALLOCATION REQUEST

The CSECT DSNESM55 has issued a DYNALLOC request to deallocate a data set. This message is issued by the following CSECT: DSNESM55

DSNESM55 - BEFORE DYNALLOC DEALLOCATION REQUEST

The CSECT DSNESM55 is about to request deallocation of a data set. This message is issued by the following CSECT: DSNESM55

890

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation The CSECT DSNESM55s deallocation subroutine has been entered. This message is issued by the following CSECT: DSNESM55

DSNESM55 - BEFORE DEALLOCATION SUBROUTINE

DSNESM55 - END OF ALLOCATION SUBROUTINE

The CSECT DSNESM55s deallocation subroutine has completed. This message is issued by the following CSECT: DSNESM55

DSNESM55 - AFTER DYNALLOC ALLOCATION REQUEST

The CSECT DSNESM55 has issued a DYNALLOC request. This message is issued by the following CSECT: DSNESM55

DSNESM55 - BEFORE DYNALLOC ALLOCATION REQUEST

The CSECT DSNESM55 is about to issue a DYNALLOC request. This message is issued by the following CSECT: DSNESM55

DSNESM55 - BEFORE ALLOCATION SUBROUTINE

The CSECT DSNESM55s allocation subroutine has been entered. This message is issued by the following CSECT: DSNESM55

DSNESM55 - AFTER INITIALIZATION

Initialization for the current call to CSECT DSNESM55 has completed. This message is issued by the following CSECT: DSNESM55

modid - BEGIN EXECUTION

The CSECT csectname has been entered. This message is issued by the following CSECTs: DSNESM20, DSNESM22

CALL PRH. RALE=rale#, FVLE=fvle#, QUAL=qualifier

CSECT DSNESM70 is about to transfer program control to DSNAPRH, the application program request handler, for connection to DB2. The RALE, FVLE, and QUAL are parameters that are passed to the APRH. This message is issued by the following CSECT: DSNESM70 A TSO trace message is issued.

CONNECTION TO SUBSYSTEM subsystem-id SUCCESSFUL

SPUFI has successfully completed all the necessary protocols to access SQL processing functions. SPUFI is about to open the user-specified input and output data sets. This message is issued by the following CSECT: DSNESM00 A TSO trace message is issued.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 891 DO NOT COPY

DO NOT COPY
Message text END OF SQL INPUT AND OUTPUT PROCESSING

Restricted Materials of IBM Licensed Materials Property of IBM Explanation SPUFI SQL execution function has just completed. The SQL statements in the input data set have been processed, and the results have been written to the output data set. Messages DSNE802 and DSNE805 together bracket the section of SPUFI code that is executed whenever the EXECUTE option is YES and the DB2 subsystem is available. This message is issued by the following CSECT: DSNESM00 A TSO trace message is issued.

csectname JUST READ IN ONE SQL STATEMENT

A SQL statement from the input data set is now in the SPUFI input buffer. The processing of this statement by DB2 SQL dependent code is to begin immediately. This message is issued by the following CSECT: DSNESM20 A TSO trace message is issued.

CSECT name JUST COMPLETED PROCESSING ONE SQL STATEMENT

The processing of the SQL statement (which is still in the SPUFI input buffer) by DB2-SQL dependent code has ended. The execution results have been written to the output data set. Messages DSNE810 and DSNE811 together bracket the parts of SPUFI code that are dependent on the protocols and data structures used by the DB2 SQL processing functions. This message is issued by the following CSECT: DSNESM20 A TSO trace message is issued.

csectname ABOUT TO WRITE A LINE OF OUTPUT

The current content of the SPUFI output buffer has been formatted and is about to be written to the output data set. This message is issued by the following CSECT: DSNESM22 A TSO trace message is issued.

892

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM Message text

DO NOT COPY
Explanation Program control has been given to the CSECT specified in the message. The request-type in the message is the DB2 request that is to be issued by DSNESM68. The meaning of the request-types (PREPARE, DESCRIBE, EXECUTE, OPEN, CLOSE, FETCH, COMMIT, ROLLBACK) correlate exactly with SQL statements with the same names. PRESCRIB, however, correlates with the composite SQL statement PREPARE INTO. This message is issued by the following CSECT: DSNESM68 A TSO trace message is issued.

csectname - BEGIN EXECUTION - SQL REQUEST = request-type

csectname - END OF MODULE EXECUTION - SQLCODE = sqlcode

Program control has been returned to the CSECT specified in the message from DB2. The SQLCODE in the SQLCA is displayed in hexadecimal. This message is issued by the following CSECT: DSNESM68 A TSO trace message is issued.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Chapter 36. Attachment facility trace codes and messages 893 DO NOT COPY

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

894

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Part 9. Appendixes

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

895

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

896

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Information resources for DB2 for z/OS and related products


Many information resources are available to help you use DB2 for z/OS and many related products. A large amount of technical information about IBM products is now available online in information centers or on library Web sites. Disclaimer: Any Web addresses that are included here are accurate at the time this information is being published. However, Web addresses sometimes change. If you visit a Web address that is listed here but that is no longer valid, you can try to find the current Web address for the product information that you are looking for at either of the following sites: v http://www.ibm.com/support/publications/us/library/index.shtml, which lists the IBM information centers that are available for various IBM products v http://www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/ pbi.cgi, which is the IBM Publications Center, where you can download online PDF books or order printed books for various IBM products

DB2 for z/OS product information


The primary place to find and use information about DB2 for z/OS is the Information Management Software for z/OS Solutions Information Center (http://publib.boulder.ibm.com/infocenter/imzic), which also contains information about IMS, QMF, and many DB2 and IMS Tools products. The majority of the DB2 for z/OS information in this information center is also available in the books that are identified in the following table. You can access these books at the DB2 for z/OS library Web site (http://www.ibm.com/software/data/db2/zos/library.html) or at the IBM Publications Center (http://www.elink.ibmlink.ibm.com/public/ applications/publications/cgibin/pbi.cgi).
Table 408. DB2 Version 9.1 for z/OS book titles Publication number SC18-9840 SC18-9841 SC18-9842 Available in information center X X X Available in Available in BookManager Available in PDF format printed book X X X X X X X X X

Title DB2 Version 9.1 for z/OS Administration Guide DB2 Version 9.1 for z/OS Application Programming & SQL Guide DB2 Version 9.1 for z/OS Application Programming Guide and Reference for Java DB2 Version 9.1 for z/OS Codes DB2 Version 9.1 for z/OS Command Reference DB2 Version 9.1 for z/OS Data Sharing: Planning and Administration DB2 Version 9.1 for z/OS Diagnosis Guide and Reference 1 DB2 Version 9.1 for z/OS Diagnostic Quick Reference

GC18-9843 SC18-9844 SC18-9845 LY37-3218 LY37-3219

X X X

X X X X

X X X X

X X X X X

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

897

DO NOT COPY
Table 408. DB2 Version 9.1 for z/OS book titles (continued) Publication number GC18-9846 Available in information center X X

Restricted Materials of IBM Licensed Materials Property of IBM

Title DB2 Version 9.1 for z/OS Installation Guide

Available in Available in BookManager Available in PDF format printed book X X X X X X X X X X X X X X

DB2 Version 9.1 for z/OS Introduction to SC18-9847 DB2 DB2 Version 9.1 for z/OS Licensed Program Specifications DB2 Version 9.1 for z/OS Messages DB2 Version 9.1 for z/OS ODBC Guide and Reference DB2 Version 9.1 for z/OS Performance Monitoring and Tuning Guide DB2 Version 9.1 for z/OS Optimization Service Center online help DB2 Version 9.1 for z/OS Program Directory DB2 Version 9.1 for z/OS RACF Access Control Module Guide DB2 Version 9.1 for z/OS Reference for Remote DRDA Requesters and Servers DB2 Version 9.1 for z/OS Reference Summary GC18-9848 GC18-9849 SC18-9850 SC18-9851 none GI10-8737 SC18-9852 SC18-9853 SX26-3854

X X X X

X X X

X X X X X X X X X X X X X X X X X X X X X X

X X X X X X

DB2 Version 9.1 for z/OS SQL Reference SC18-9854 DB2 Version 9.1 for z/OS Utility Guide and Reference DB2 Version 9.1 for z/OS Whats New? SC18-9855 GC18-9856

DB2 Version 9.1 for z/OS XML Extender SC18-9857 Administration and Programming DB2 Version 9.1 for z/OS XML Guide SC18-9858

Notes: 1. DB2 Version 9.1 for z/OS Diagnosis Guide and Reference is available in PDF and BookManager formats on the DB2 Version 9.1 for z/OS Licensed Collection kit, LK3T-7195. You can order this License Collection kit on the IBM Publications Center site (http://www.elink.ibmlink.ibm.com/public/applications/ publications/cgibin/pbi.cgi). This book is also available in online format in DB2 data set DSN910.SDSNIVPD(DSNDR).

Information resources for related products


In the following table, related product names are listed in alphabetic order, and the associated Web addresses of product information centers or library Web pages are indicated.

898

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 409. Related product information resource locations Related product C/C++ for z/OS Information resources Library Web site: http://www.ibm.com/software/awdtools/czos/library/ This product is now called z/OS XL C/C++. CICS Transaction Server for Information center: http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp z/OS COBOL Information center: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/index.jsp This product is now called Enterprise COBOL for z/OS. DB2 Connect

Information center: http://publib.boulder.ibm.com/infocenter/db2luw/v9//index.jsp This resource is for DB2 Connect 9.

DB2 Database for Linux , UNIX, and Windows DB2 Performance Expert for z/OS

Information center: http://publib.boulder.ibm.com/infocenter/db2luw/v9//index.jsp This resource is for DB2 9 for Linux, UNIX, and Windows. Information center: http://publib.boulder.ibm.com/infocenter/imzic This product is now called DB2 Tivoli OMEGAMON for XE Performance Expert on z/OS. Information center: http://publib.boulder.ibm.com/infocenter/imzic One of the following locations: v For VSE: http://www.ibm.com/support/docview.wss?rs=66&uid=swg27003758 v For VM: http://www.ibm.com/support/docview.wss?rs=66&uid=swg27003759 One of the following locations: v Information center: http://publib.boulder.ibm.com/infocenter/imzic v Library Web site: http://www.ibm.com/software/data/db2imstools/library.html These resources include information about the following products and others: v DB2 Administration Tool v DB2 Automation Tool v DB2 DataPropagator (also known as WebSphere Replication Server for z/OS) v DB2 Log Analysis Tool v DB2 Object Restore Tool v DB2 Query Management Facility v DB2 SQL Performance Analyzer v DB2 Tivoli OMEGAMON for XE Performance Expert on z/OS (includes Buffer Pool Analyzer and Performance Monitor)

DB2 Query Management Facility DB2 Server for VSE & VM VSE

DB2 Tools

DB2 Universal Database for iSeries Debug Tool for z/OS Enterprise COBOL for z/OS Enterprise PL/I for z/OS IMS

Information center: http://www.ibm.com/systems/i/infocenter/ Information center: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/index.jsp Information center: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/index.jsp Information center: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/index.jsp Information center: http://publib.boulder.ibm.com/infocenter/imzic

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Information DO NOT COPYresources for DB2 for z/OS and related products 899

DO NOT COPY
Table 409. Related product information resource locations (continued) Related product IMS Tools Information resources One of the following locations:

Restricted Materials of IBM Licensed Materials Property of IBM

v Information center: http://publib.boulder.ibm.com/infocenter/imzic v Library Web site: http://www.ibm.com/software/data/db2imstools/library.html These resources have information about the following products and others: v IMS Batch Terminal Simulator for z/OS v IMS Connect v IMS HALDB Conversion and Maintenance Aid v IMS High Performance Utility products v IMS DataPropagator v IMS Online Reorganization Facility v IMS Performance Analyzer PL/I Information center: http://publib.boulder.ibm.com/infocenter/pdthelp/v1r1/index.jsp This product is now called Enterprise PL/I for z/OS. System z WebSphere Application Server http://publib.boulder.ibm.com/infocenter/eserver/v1r2/index.jsp Information center: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp

WebSphere Message Broker Information center: http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/ index.jsp with Rules and Formatter Extension The product is also known as WebSphere MQ Integrator Broker. WebSphere MQ Information center: http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp The resource includes information about MQSeries. WebSphere Replication Server for z/OS Either of the following locations: v Information center: http://publib.boulder.ibm.com/infocenter/imzic v Library Web site: http://www.ibm.com/software/data/db2imstools/library.html This product is also known as DB2 DataPropagator. z/Architecture Library Center site: http://www.ibm.com/servers/eserver/zseries/zos/bkserv/

900

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Table 409. Related product information resource locations (continued) Related product z/OS Information resources Library Center site: http://www.ibm.com/servers/eserver/zseries/zos/bkserv/ This resource includes information about the following z/OS elements and components: v Character Data Representation Architecture v Device Support Facilities v DFSORT v Fortran v High Level Assembler v NetView v SMP/E for z/OS v SNA v TCP/IP v TotalStorage Enterprise Storage Server v VTAM v z/OS C/C++ v z/OS Communications Server v z/OS DCE v z/OS DFSMS v z/OS DFSMS Access Method Services v z/OS DFSMSdss v z/OS DFSMShsm v z/OS DFSMSdfp v z/OS ICSF v z/OS ISPF v z/OS JES3 v z/OS Language Environment v z/OS Managed System Infrastructure v z/OS MVS v z/OS MVS JCL v z/OS Parallel Sysplex v z/OS RMF v z/OS Security Server v z/OS UNIX System Services z/OS XL C/C++ http://www.ibm.com/software/awdtools/czos/library/

The following information resources from IBM are not necessarily specific to a single product: v The DB2 for z/OS Information Roadmap; available at: http://www.ibm.com/ software/data/db2/zos/roadmap.html v DB2 Redbooks and Redbooks about related products; available at: http://www.ibm.com/redbooks v IBM Educational resources: Information about IBM educational offerings is available on the Web at: http://www.ibm.com/software/sw-training/

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Information DO NOT COPYresources for DB2 for z/OS and related products 901

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

A collection of glossaries of IBM terms in multiple languages is available on the IBM Terminology Web site at: http://www.ibm.com/ibm/terminology/ index.html v National Language Support information; available at the IBM Publications Center at: http://www.elink.ibmlink.ibm.com/public/applications/publications/ cgibin/pbi.cgi v SQL Reference for Cross-Platform Development; available at the following developerWorks site: http://www.ibm.com/developerworks/db2/library/ techarticle/0206sqlref/0206sqlref.html The following information resources are not published by IBM but can be useful to users of DB2 for z/OS and related products: v Database design topics: DB2 for z/OS and OS/390 Development for Performance Volume I, by Gabrielle Wiorkowski, Gabrielle & Associates, ISBN 0-96684-605-2 DB2 for z/OS and OS/390 Development for Performance Volume II, by Gabrielle Wiorkowski, Gabrielle & Associates, ISBN 0-96684-606-0 Handbook of Relational Database Design, by C. Fleming and B. Von Halle, Addison Wesley, ISBN 0-20111-434-8 v Distributed Relational Database Architecture (DRDA) specifications; http://www.opengroup.org v Domain Name System: DNS and BIND, Third Edition, Paul Albitz and Cricket Liu, OReilly, ISBN 0-59600-158-4 v Microsoft Open Database Connectivity (ODBC) information; http://msdn.microsoft.com/library/ v Unicode information; http://www.unicode.org

902

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

How to obtain DB2 information


You can access the official information about the DB2 product in a number of ways. v DB2 on the Web v DB2 product information v DB2 education on page 904 v How to order the DB2 library on page 904

DB2 on the Web


Stay current with the latest information about DB2 by visiting the DB2 home page on the Web: www.ibm.com/software/db2zos On the DB2 home page, you can find links to a wide variety of information resources about DB2. You can read news items that keep you informed about the latest enhancements to the product. Product announcements, press releases, fact sheets, and technical articles help you plan and implement your database management strategy.

DB2 product information


The official DB2 for z/OS information is available in various formats and delivery methods. IBM provides mid-version updates to the information in the information center and in softcopy updates that are available on the Web and on CD-ROM. Information Management Software for z/OS Solutions Information Center DB2 product information is viewable in the information center, which is the primary delivery vehicle for information about DB2 for z/OS, IMS, QMF, and related tools. This information center enables you to search across related product information in multiple languages for data management solutions for the z/OS environment and print individual topics or sets of related topics. You can also access, download, and print PDFs of the publications that are associated with the information center topics. Product technical information is provided in a format that offers more options and tools for accessing, integrating, and customizing information resources. The information center is based on Eclipse open source technology. The Information Management Software for z/OS Solutions Information Center is viewable at the following Web site: http://publib.boulder.ibm.com/infocenter/imzic CD-ROMs and DVD Books for DB2 are available on a CD-ROM that is included with your product shipment: v DB2 V9.1 for z/OS Licensed Library Collection, LK3T-7195, in English The CD-ROM contains the collection of books for DB2 V9.1 for z/OS in PDF and BookManager formats. Periodically, IBM refreshes the books on subsequent editions of this CD-ROM.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

903

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

The books for DB2 for z/OS are also available on the following CD-ROM and DVD collection kits, which contain online books for many IBM products: v IBM z/OS Software Products Collection , SK3T-4270, in English v IBM z/OS Software Products DVD Collection , SK3T4271, in English PDF format Many of the DB2 books are available in PDF (Portable Document Format) for viewing or printing from CD-ROM or the DB2 home page on the Web or from the information center. Download the PDF books to your intranet for distribution throughout your enterprise. BookManager format You can use online books on CD-ROM to read, search across books, print portions of the text, and make notes in these BookManager books. Using the IBM Softcopy Reader, appropriate IBM Library Readers, or the BookManager Read product, you can view these books in the z/OS, Windows, and VM environments. You can also view and search many of the DB2 BookManager books on the Web.

DB2 education
IBM Education and Training offers a wide variety of classroom courses to help you quickly and efficiently gain DB2 expertise. IBM schedules classes are in cities all over the world. You can find class information, by country, at the IBM Learning Services Web site: www.ibm.com/services/learning IBM also offers classes at your location, at a time that suits your needs. IBM can customize courses to meet your exact requirements. For more information, including the current local schedule, contact your IBM representative.

How to order the DB2 library


To order books, visit the IBM Publication Center on the Web: www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/pbi.cgi From the IBM Publication Center, you can go to the Publication Notification System (PNS). PNS users receive electronic notifications of updated publications in their profiles. You have the option of ordering the updates by using the publications direct ordering application or any other IBM publication ordering channel. The PNS application does not send automatic shipments of publications. You will receive updated publications and a bill for them if you respond to the electronic notification. You can also order DB2 publications and CD-ROMs from your IBM representative or the IBM branch office that serves your locality. If your location is within the United States or Canada, you can place your order by calling one of the toll-free numbers: v In the U.S., call 1-800-879-2755. v In Canada, call 1-800-426-4968. To order additional copies of licensed publications, specify the SOFTWARE option. To order additional publications or CD-ROMs, specify the PUBLICATIONS option.

904

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Be prepared to give your customer number, the product number, and either the feature codes or order numbers that you want.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

How to obtain DB2 information

905

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

906

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

How to use the DB2 library


Titles of books in the library begin with DB2 Version 9.1 for z/OS. However, references from one book in the library to another are shortened and do not include the product name, version, and release. Instead, they point directly to the section that holds the information. | | | | If you are new to DB2 for z/OS, Introduction to DB2 for z/OS provides a comprehensive introduction to DB2 Version 9.1 for z/OS. Topics included in this book explain the basic concepts that are associated with relational database management systems in general, and with DB2 for z/OS in particular. The most rewarding task associated with a database management system is asking questions of it and getting answers, the task called end use. Other tasks are also necessarydefining the parameters of the system, putting the data in place, and so on. The tasks that are associated with DB2 are grouped into the following major categories.

Installation
If you are involved with DB2 only to install the system, DB2 Installation Guide might be all you need. If you will be using data sharing capabilities you also need DB2 Data Sharing: Planning and Administration, which describes installation considerations for data sharing.

End use
End users issue SQL statements to retrieve data. They can also insert, update, or delete data, with SQL statements. They might need an introduction to SQL, detailed instructions for using SPUFI, and an alphabetized reference to the types of SQL statements. This information is found in DB2 Application Programming and SQL Guide, and DB2 SQL Reference. End users can also issue SQL statements through the DB2 Query Management Facility (QMF) or some other program, and the library for that licensed program might provide all the instruction or reference material they need. For a list of the titles in the DB2 QMF library, see the bibliography at the end of this book.

Application programming
Some users access DB2 without knowing it, using programs that contain SQL statements. DB2 application programmers write those programs. Because they write SQL statements, they need the same resources that end users do. Application programmers also need instructions for many other topics: v How to transfer data between DB2 and a host programwritten in Java, C, or COBOL, for example v How to prepare to compile a program that embeds SQL statements v How to process data from two systems simultaneously, for example, DB2 and IMS or DB2 and CICS
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

907

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

| | | |

v How to write distributed applications across operating systems v How to write applications that use Open Database Connectivity (ODBC) to access DB2 servers v How to write applications that use JDBC and SQLJ with the Java programming language to access DB2 servers v How to write applications to store XML data on DB2 servers and retrieve XML data from DB2 servers. The material needed for writing a host program containing SQL is in DB2 Application Programming and SQL Guide.

| | | | | |

The material needed for writing applications that use JDBC and SQLJ to access DB2 servers is in DB2 Application Programming Guide and Reference for Java. The material needed for writing applications that use DB2 CLI or ODBC to access DB2 servers is in DB2 ODBC Guide and Reference. The material needed for working with XML data in DB2 is in DB2 XML Guide. For handling errors, see DB2 Messages and DB2 Codes. If you will be working in a distributed environment, you will need DB2 Reference for Remote DRDA Requesters and Servers. Information about writing applications across operating systems can be found in IBM DB2 SQL Reference for Cross-Platform Development.

System and database administration


Administration covers almost everything else. DB2 Administration Guide divides some of those tasks among the following sections: v DB2 concepts: Introduces DB2 structures, the DB2 environment, and high availability. v Designing a database: Discusses the decisions that must be made when designing a database and tells how to implement the design by creating and altering DB2 objects, loading data, and adjusting to changes. v Security and auditing: Describes ways of controlling access to the DB2 system and to data within DB2, to audit aspects of DB2 usage, and to answer other security and auditing concerns. v Operation and recovery: Describes the steps in normal day-to-day operation and discusses the steps one should take to prepare for recovery in the event of some failure. DB2 Performance Monitoring and Tuning Guide explains how to monitor the performance of the DB2 system and its parts. It also lists things that can be done to make some parts run faster. If you will be using the RACF access control module for DB2 authorization checking, you will need DB2 RACF Access Control Module Guide. If you are involved with DB2 only to design the database, or plan operational procedures, you need DB2 Administration Guide. If you also want to carry out your own plans by creating DB2 objects, granting privileges, running utility jobs, and so on, you also need: v DB2 SQL Reference, which describes the SQL statements you use to create, alter, and drop objects and grant and revoke privileges v DB2 Utility Guide and Reference, which explains how to run utilities

908

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

v DB2 Command Reference, which explains how to run commands If you will be using data sharing, you need DB2 Data Sharing: Planning and Administration, which describes how to plan for and implement data sharing. Additional information about system and database administration can be found in DB2 Messages and DB2 Codes, which list messages and codes issued by DB2, with explanations and suggested responses.

Diagnosis
Diagnosticians detect and describe errors in the DB2 program. They might also recommend or apply a remedy. The documentation for this task is in DB2 Diagnosis Guide and Reference, DB2 Messages, and DB2 Codes.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

How to use the DB2 library

909

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

910

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Notices
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the users responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106-0032, Japan The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

911

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Corporation J46A/G4 555 Bailey Avenue San Jose, CA 95141-1003 U.S.A. Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement, or any equivalent agreement between us. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. If you are viewing this information softcopy, the photographs and color illustrations may not appear.

Programming Interface Information


This information is intended to help you to plan for and administer DB2 Version 9.1 for z/OS. This information also documents General-use Programming Interface and Associated Guidance Information and Product-sensitive Programming Interface and Associated Guidance Information provided by DB2 Version 9.1 for z/OS. Attention: Do not use this Diagnosis, Modification, or Tuning Information as a programming interface.

912

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Trademarks
Company, product, or service names identified in the DB2 Version 9.1 for z/OS information may be trademarks or service marks of International Business Machines Corporation or other companies. Information about the trademarks of IBM Corporation in the United States, other countries, or both is located at http://www.ibm.com/legal/copytrade.shtml. The following terms are trademarks or registered trademarks of other companies, and have been used at least once in the DB2 for z/OS library: v Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. v Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. v Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. v UNIX is a registered trademark of The Open Group in the United States and other countries. v Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. v Adobe, the Adobe logo, Postscript, and the Postscript log are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. Other company, product, or service names may be trademarks or service marks of others.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Notices

913

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

914

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Glossary
abend See abnormal end of task. abend reason code A 4-byte hexadecimal code that uniquely identifies a problem with DB2. abnormal end of task (abend) Termination of a task, job, or subsystem because of an error condition that recovery facilities cannot resolve during execution. | | | access method services The facility that is used to define, alter, delete, print, and reproduce VSAM key-sequenced data sets. access path The path that is used to locate data that is specified in SQL statements. An access path can be indexed or sequential. active log The portion of the DB2 log to which log records are written as they are generated. The active log always contains the most recent log records. See also archive log. | | | | | address space A range of virtual storage pages that is identified by a number (ASID) and a collection of segment and page tables that map the virtual pages to real pages of the computers memory. address space connection The result of connecting an allied address space to DB2. See also allied address space and task control block. address space identifier (ASID) A unique system-assigned identifier for an address space. | | | | | | | AFTER trigger A trigger that is specified to be activated after a defined trigger event (an insert, update, or delete operation on the table that is specified in a trigger definition). Contrast with BEFORE trigger and INSTEAD OF trigger. agent In DB2, the structure that associates all processes that are involved in a DB2 unit of work. See also allied agent and system agent. | | | | | | aggregate function An operation that derives its result by using values from one or more rows. Contrast with scalar function. alias An alternative name that can be used in SQL statements to refer to a table or view in the same or a remote DB2 subsystem. An alias can be qualified with a schema qualifier and can thereby be referenced by other users. Contrast with synonym.

allied address space An area of storage that is external to DB2 and that is connected to DB2. An allied address space can request DB2 services. See also address space. allied agent An agent that represents work requests that originate in allied address spaces. See also system agent. allied thread A thread that originates at the local DB2 subsystem and that can access data at a remote DB2 subsystem. allocated cursor A cursor that is defined for a stored procedure result set by using the SQL ALLOCATE CURSOR statement. ambiguous cursor A database cursor for which DB2 cannot determine whether it is used for update or read-only purposes. APAR See authorized program analysis report. APF API See authorized program facility. See application programming interface.

APPL A VTAM network definition statement that is used to define DB2 to VTAM as an application program that uses SNA LU 6.2 protocols. application A program or set of programs that performs a task; for example, a payroll application. application plan The control structure that is produced during the bind process. DB2 uses the

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

915

DO NOT COPY
application plan to process SQL statements that it encounters during statement execution. application process The unit to which resources and locks are allocated. An application process involves the execution of one or more programs. application programming interface (API) A functional interface that is supplied by the operating system or by a separately orderable licensed program that allows an application program that is written in a high-level language to use specific data or functions of the operating system or licensed program. application requester The component on a remote system that generates DRDA requests for data on behalf of an application. application server The target of a request from a remote application. In the DB2 environment, the application server function is provided by the distributed data facility and is used to access DB2 data from remote applications. archive log The portion of the DB2 log that contains log records that have been copied from the active log. See also active log. ASCII An encoding scheme that is used to represent strings in many environments, typically on PCs and workstations. Contrast with EBCDIC and Unicode. ASID See address space identifier. attachment facility An interface between DB2 and TSO, IMS, CICS, or batch address spaces. An attachment facility allows application programs to access DB2. attribute A characteristic of an entity. For example, in database design, the phone number of an employee is an attribute of that employee. | | | | | authorization ID A string that can be verified for connection to DB2 and to which a set of privileges is allowed. An authorization ID can represent an individual or an organizational group.

Restricted Materials of IBM Licensed Materials Property of IBM

authorized program analysis report (APAR) A report of a problem that is caused by a suspected defect in a current release of an IBM supplied program. | | | authorized program facility (APF) A facility that allows an installation to identify system or user programs that can use sensitive system functions. automatic bind (More correctly automatic rebind.) A process by which SQL statements are bound automatically (without a user issuing a BIND command) when an application process begins execution and the bound application plan or package it requires is not valid. automatic query rewrite A process that examines an SQL statement that refers to one or more base tables or materialized query tables, and, if appropriate, rewrites the query so that it performs better. | | | auxiliary index An index on an auxiliary table in which each index entry refers to a LOB or XML document. auxiliary table A table that contains columns outside the actual table in which they are defined. Auxiliary tables can contain either LOB or XML data. backout The process of undoing uncommitted changes that an application process made. A backout is often performed in the event of a failure on the part of an application process, or as a result of a deadlock situation. backward log recovery The final phase of restart processing during which DB2 scans the log in a backward direction to apply UNDO log records for all aborted changes. base table A table that is created by the SQL CREATE TABLE statement and that holds persistent data. Contrast with clone table, materialized query table, result table, temporary table, and transition table. base table space A table space that contains base tables.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

916

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | v A form of character data. Binary data is generally more highly recommended than character-for-bit data. BLOB See binary large object. | | | | | | | block fetch A capability in which DB2 can retrieve, or fetch, a large set of rows together. Using block fetch can significantly reduce the number of messages that are being sent across the network. Block fetch applies only to non-rowset cursors that do not update data. bootstrap data set (BSDS) A VSAM data set that contains name and status information for DB2 and RBA range specifications for all active and archive log data sets. The BSDS also contains passwords for the DB2 directory and catalog, and lists of conditional restart and checkpoint records. BSAM See basic sequential access method. BSDS See bootstrap data set. | | | | | | | | | | | | buffer pool An area of memory into which data pages are read, modified, and held during processing. built-in data type A data type that IBM supplies. Among the built-in data types for DB2 for z/OS are string, numeric, XML, ROWID, and datetime. Contrast with distinct type. built-in function A function that is generated by DB2 and that is in the SYSIBM schema. Contrast with user-defined function. See also function, cast function, external function, sourced function, and SQL function. business dimension A category of data, such as products or time periods, that an organization might want to analyze. cache structure A coupling facility structure that stores data that can be available to all members of a Sysplex. A DB2 data sharing group uses cache structures as group buffer pools. CAF See call attachment facility.

| | | | |

basic row format A row format in which values for columns are stored in the row in the order in which the columns are defined by the CREATE TABLE statement. basic sequential access method (BSAM) An access method for storing or retrieving data blocks in a continuous sequence, using either a sequential-access or a direct-access device.

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

BEFORE trigger A trigger that is specified to be activated before a defined trigger event (an insert, an update, or a delete operation on the table that is specified in a trigger definition). Contrast with AFTER trigger and INSTEAD OF trigger. binary large object (BLOB) A binary string data type that contains a sequence of bytes that can range in size from 0 bytes to 2 GB, less 1 byte. This string does not have an associated code page and character set. BLOBs can contain, for example, image, audio, or video data. In general, BLOB values are used whenever a binary string might exceed the limits of the VARBINARY type. binary string A sequence of bytes that is not associated with a CCSID. Binary string data type can be further classified as BINARY, VARBINARY, or BLOB. bind A process by which a usable control structure with SQL statements is generated; the structure is often called an access plan, an application plan, or a package. During this bind process, access paths to the data are selected, and some authorization checking is performed. See also automatic bind. v Data with character type CHAR or VARCHAR that is defined with the FOR BIT DATA clause. Note that using BINARY or VARBINARY rather than FOR BIT DATA is highly recommended. v Data with character type CHAR or VARCHAR that is defined with the FOR BIT DATA clause.

bit data

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

917

DO NOT COPY
call attachment facility (CAF) A DB2 attachment facility for application programs that run in TSO or z/OS batch. The CAF is an alternative to the DSN command processor and provides greater control over the execution environment. Contrast with Recoverable Resource Manager Services attachment facility. call-level interface (CLI) A callable application programming interface (API) for database access, which is an alternative to using embedded SQL. cascade delete A process by which DB2 enforces referential constraints by deleting all descendent rows of a deleted parent row. CASE expression An expression that is selected based on the evaluation of one or more conditions. cast function A function that is used to convert instances of a (source) data type into instances of a different (target) data type. castout The DB2 process of writing changed pages from a group buffer pool to disk. castout owner The DB2 member that is responsible for casting out a particular page set or partition. catalog In DB2, a collection of tables that contains descriptions of objects such as tables, views, and indexes. catalog table Any table in the DB2 catalog. CCSID See coded character set identifier. CDB CDRA See Character Data Representation Architecture. CEC See central processor complex. See communications database. | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

central processor (CP) The part of the computer that contains the sequencing and processing facilities for instruction execution, initial program load, and other machine operations. CFRM See coupling facility resource management. CFRM policy The allocation rules for a coupling facility structure that are declared by a z/OS administrator. character conversion The process of changing characters from one encoding scheme to another. Character Data Representation Architecture (CDRA) An architecture that is used to achieve consistent representation, processing, and interchange of string data. | | | | | | | | character large object (CLOB) A character string data type that contains a sequence of bytes that represent characters (single-byte, multibyte, or both) that can range in size from 0 bytes to 2 GB, less 1 byte. In general, CLOB values are used whenever a character string might exceed the limits of the VARCHAR type. character set A defined set of characters. character string A sequence of bytes that represent bit data, single-byte characters, or a mixture of single-byte and multibyte characters. Character data can be further classified as CHARACTER, VARCHAR, or CLOB. check constraint A user-defined constraint that specifies the values that specific columns of a base table can contain. check integrity The condition that exists when each row in a table conforms to the check constraints that are defined on that table. check pending A state of a table space or partition that prevents its use by some utilities and by some SQL statements because of rows that violate referential constraints, check constraints, or both.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

central electronic complex (CEC) See central processor complex. central processor complex (CPC) A physical collection of hardware that consists of main storage, one or more central processors, timers, and channels.

918

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | have separate underlying VSAM data sets, which are identified by their data set instance numbers. closed application An application that requires exclusive use of certain statements on certain DB2 objects, so that the objects are managed solely through the external interface of that application. clustering index An index that determines how rows are physically ordered (clustered) in a table space. If a clustering index on a partitioned table is not a partitioning index, the rows are ordered in cluster sequence within each data partition instead of spanning partitions. | | CM CM* See compatibility mode. See compatibility mode*.

checkpoint A point at which DB2 records status information on the DB2 log; the recovery process uses this information if DB2 abnormally terminates. child lock For explicit hierarchical locking, a lock that is held on either a table, page, row, or a large object (LOB). Each child lock has a parent lock. See also parent lock. CI CICS See control interval. Represents (in this information): CICS Transaction Server for z/OS: Customer Information Control System Transaction Server for z/OS.

| | | |

CICS attachment facility A facility that provides a multithread connection to DB2 to allow applications that run in the CICS environment to execute DB2 statements. claim A notification to DB2 that an object is being accessed. Claims prevent drains from occurring until the claim is released, which usually occurs at a commit point. Contrast with drain.

C++ member A data object or function in a structure, union, or class. C++ member function An operator or function that is declared as a member of a class. A member function has access to the private and protected data members and to the member functions of objects in its class. Member functions are also called methods. C++ object A region of storage. An object is created when a variable is defined or a new function is invoked. An instance of a class. coded character set A set of unambiguous rules that establish a character set and the one-to-one relationships between the characters of the set and their coded representations. coded character set identifier (CCSID) A 16-bit number that uniquely identifies a coded representation of graphic characters. It designates an encoding scheme identifier and one or more pairs that consist of a character set identifier and an associated code page identifier. code page A set of assignments of characters to code points. Within a code page, each code
Glossary

claim class A specific type of object access that can be one of the following isolation levels: v Cursor stability (CS) v Repeatable read (RR) v Write class of service A VTAM term for a list of routes through a network, arranged in an order of preference for their use. clause In SQL, a distinct part of a statement, such as a SELECT clause or a WHERE clause. CLI client See call-level interface. See requester.

CLOB See character large object. | | | | | | | | clone object An object that is associated with a clone table, including the clone table itself and check constraints, indexes, and BEFORE triggers on the clone table. clone table A table that is structurally identical to a base table. The base and clone table each
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

919

DO NOT COPY
point has only one specific meaning. In EBCDIC, for example, the character A is assigned code point XC1, and character B is assigned code point XC2. code point In CDRA, a unique bit pattern that represents a character in a code page. code unit The fundamental binary width in a computer architecture that is used for representing character data, such as 7 bits, 8 bits, 16 bits, or 32 bits. Depending on the character encoding form that is used, each code point in a coded character set can be represented by one or more code units. coexistence During migration, the period of time in which two releases exist in the same data sharing group. cold start A process by which DB2 restarts without processing any log records. Contrast with warm start. collection A group of packages that have the same qualifier. column The vertical component of a table. A column has a name and a particular data type (for example, character, decimal, or integer). column function See aggregate function. come from checking An LU 6.2 security option that defines a list of authorization IDs that are allowed to connect to DB2 from a partner LU. command A DB2 operator command or a DSN subcommand. A command is distinct from an SQL statement. command prefix A 1- to 8-character command identifier. The command prefix distinguishes the command as belonging to an application or subsystem rather than to z/OS. command recognition character (CRC) A character that permits a z/OS console | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

operator or an IMS subsystem user to route DB2 commands to specific DB2 subsystems. command scope The scope of command operation in a data sharing group. commit The operation that ends a unit of work by releasing locks so that the database changes that are made by that unit of work can be perceived by other processes. Contrast with rollback. commit point A point in time when data is considered consistent. common service area (CSA) In z/OS, a part of the common area that contains data areas that are addressable by all address spaces. Most DB2 use is in the extended CSA, which is above the 16-MB line. communications database (CDB) A set of tables in the DB2 catalog that are used to establish conversations with remote database management systems. comparison operator A token (such as =, >, or <) that is used to specify a relationship between two values. | compatibility mode* (CM*) | A stage of the version-to-version | migration process that applies to a DB2 | subsystem or data sharing group that was | in enabling-new-function mode (ENFM), | enabling-new-function mode* (ENFM*), or | new-function mode (NFM) at one time. | Fallback to a prior version is not | supported. When in compatibility mode*, | a DB2 data sharing group cannot coexist | with members that are still at the prior | version level. Contrast with compatibility | mode, enabling-new-function mode, | enabling-new-function mode*, and | new-function mode. | compatibility mode (CM) | The first stage of the version-to-version | migration process. In a DB2 data sharing | group, members in compatibility mode | can coexist with members that are still at | the prior version level. Fallback to the | prior version is also supported. When in | compatibility mode, the DB2 subsystem
LY37-3218-01 Copyright IBM Corp. 1983, 2007

920

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
as string constants or numeric constants. Contrast with variable. constraint A rule that limits the values that can be inserted, deleted, or updated in a table. See referential constraint, check constraint, and unique constraint. context An applications logical connection to the data source and associated DB2 ODBC connection information that allows the application to direct its operations to a data source. A DB2 ODBC context represents a DB2 thread. contracting conversion A process that occurs when the length of a converted string is smaller than that of the source string. For example, this process occurs when an EBCDIC mixed-data string that contains DBCS characters is converted to ASCII mixed data; the converted string is shorter because the shift codes are removed. control interval (CI) v A unit of information that VSAM transfers between virtual and auxiliary storage. v In a key-sequenced data set or file, the set of records that an entry in the sequence-set index record points to. conversation Communication, which is based on LU 6.2 or Advanced Program-to-Program Communication (APPC), between an application and a remote transaction program over an SNA logical unit-to-logical unit (LU-LU) session that allows communication while processing a transaction. coordinator The system component that coordinates the commit or rollback of a unit of work that includes work that is done on one or more other systems. coprocessor See SQL statement coprocessor. | | | copy pool A collection of names of storage groups that are processed collectively for fast replication operations.

| | | | | | |

cannot use any new functions of the new version. Contrast with compatibility mode*, enabling-new-function mode, enabling-new-function mode*, and new-function mode. composite key An ordered set of key columns or expressions of the same table. compression dictionary The dictionary that controls the process of compression and decompression. This dictionary is created from the data in the table space or table space partition. concurrency The shared use of resources by more than one application process at the same time. conditional restart A DB2 restart that is directed by a user-defined conditional restart control record (CRCR). connection In SNA, the existence of a communication path between two partner LUs that allows information to be exchanged (for example, two DB2 subsystems that are connected and communicating by way of a conversation). connection context In SQLJ, a Java object that represents a connection to a data source. connection declaration clause In SQLJ, a statement that declares a connection to a data source. connection handle The data object containing information that is associated with a connection that DB2 ODBC manages. This includes general status information, transaction status, and diagnostic information. connection ID An identifier that is supplied by the attachment facility and that is associated with a specific address space connection. consistency token A timestamp that is used to generate the version identifier for an application. See also version. constant A language element that specifies an unchanging value. Constants are classified
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

921

DO NOT COPY
copy target A named set of SMS storage groups that are to be used as containers for copy pool volume copies. A copy target is an SMS construct that lets you define which storage groups are to be used as containers for volumes that are copied by using FlashCopy functions. copy version A point-in-time FlashCopy copy that is managed by HSM. Each copy pool has a version parameter that specifies the number of copy versions to be maintained on disk. correlated columns A relationship between the value of one column and the value of another column. correlated subquery A subquery (part of a WHERE or HAVING clause) that is applied to a row or group of rows of a table or view that is named in an outer subselect statement. correlation ID An identifier that is associated with a specific thread. In TSO, it is either an authorization ID or the job name. | | | | | | | | | | correlation name An identifier that is specified and used within a single SQL statement as the exposed name for objects such as a table, view, table function reference, nested table expression, or result of a data change statement. Correlation names are useful in an SQL statement to allow two distinct references to the same base table and to allow an alternative name to be used to represent an object. cost category A category into which DB2 places cost estimates for SQL statements at the time the statement is bound. The cost category is externalized in the COST_CATEGORY column of the DSN_STATEMNT_TABLE when a statement is explained. | | | | | coupling facility A special PR/SM logical partition (LPAR) that runs the coupling facility control program and provides high-speed caching, list processing, and locking functions in a Parallel Sysplex. coupling facility resource management (CFRM) A component of z/OS that provides the

Restricted Materials of IBM Licensed Materials Property of IBM

services to manage coupling facility resources in a Parallel Sysplex. This management includes the enforcement of CFRM policies to ensure that the coupling facility and structure requirements are satisfied. CP CPC CRC See central processor. See central processor complex. See command recognition character.

created temporary table A persistent table that holds temporary data and is defined with the SQL statement CREATE GLOBAL TEMPORARY TABLE. Information about created temporary tables is stored in the DB2 catalog and can be shared across application processes. Contrast with declared temporary table. See also temporary table. cross-system coupling facility (XCF) A component of z/OS that provides functions to support cooperation between authorized programs that run within a Sysplex. cross-system extended services (XES) A set of z/OS services that allow multiple instances of an application or subsystem, running on different systems in a Sysplex environment, to implement high-performance, high-availability data sharing by using a coupling facility. CS CSA CT See cursor stability. See common service area. See cursor table.

current data Data within a host structure that is current with (identical to) the data within the base table. current status rebuild The second phase of restart processing during which the status of the subsystem is reconstructed from information on the log. cursor A control structure that an application program uses to point to a single row or multiple rows within some ordered set of rows of a result table. A cursor can be used to retrieve, update, or delete rows from a result table.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

922

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
database exception status In a data sharing environment, an indication that something is wrong with a database. database identifier (DBID) An internal identifier of the database. database management system (DBMS) A software system that controls the creation, organization, and modification of a database and the access to the data that is stored within it. database request module (DBRM) A data set member that is created by the DB2 precompiler and that contains information about SQL statements. DBRMs are used in the bind process. database server The target of a request from a local application or a remote intermediate database server. data currency The state in which the data that is retrieved into a host variable in a program is a copy of the data in the base table. data dictionary A repository of information about an organizations application programs, databases, logical data models, users, and authorizations. data partition A VSAM data set that is contained within a partitioned table space. data-partitioned secondary index (DPSI) A secondary index that is partitioned according to the underlying data. Contrast with nonpartitioned secondary index. | | | data set instance number A number that indicates the data set that contains the data for an object. data sharing A function of DB2 for z/OS that enables applications on different DB2 subsystems to read from and write to the same data concurrently. data-sharing group A collection of one or more DB2

cursor sensitivity The degree to which database updates are visible to the subsequent FETCH statements in a cursor. cursor stability (CS) The isolation level that provides maximum concurrency without the ability to read uncommitted data. With cursor stability, a unit of work holds locks only on its uncommitted changes and on the current row of each of its cursors. See also read stability, repeatable read, and uncommitted read. | cursor table (CT) The internal representation of a cursor. cycle A set of tables that can be ordered so that each table is a descendent of the one before it, and the first table is a descendent of the last table. A self-referencing table is a cycle with a single member. See also referential cycle.

database A collection of tables, or a collection of table spaces and index spaces. database access thread (DBAT) A thread that accesses data at the local subsystem on behalf of a remote subsystem. database administrator (DBA) An individual who is responsible for designing, developing, operating, safeguarding, maintaining, and using a database. database alias The name of the target server if it is different from the location name. The database alias is used to provide the name of the database server as it is known to the network. database descriptor (DBD) An internal representation of a DB2 database definition, which reflects the data definition that is in the DB2 catalog. The objects that are defined in a database descriptor are table spaces, tables, indexes, index spaces, relationships, check constraints, and triggers. A DBD also contains information about accessing tables in the database.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

923

DO NOT COPY
subsystems that directly access and change the same data while maintaining data integrity. data sharing member A DB2 subsystem that is assigned by XCF services to a data sharing group. data source A local or remote relational or non-relational data manager that is capable of supporting data access via an ODBC driver that supports the ODBC APIs. In the case of DB2 for z/OS, the data sources are always relational database managers. data type An attribute of columns, constants, variables, parameters, special registers, and the results of functions and expressions. data warehouse A system that provides critical business information to an organization. The data warehouse system cleanses the data for accuracy and currency, and then presents the data to decision makers so that they can interpret and use it effectively and efficiently. DBA See database administrator. DBMS

Restricted Materials of IBM Licensed Materials Property of IBM

facilitates the execution of SQL statements, DB2 (operator) commands, and programmer commands, and the invocation of utilities. See database management system. DBRM See database request module. | | | | | | | DB2 thread The database manager structure that describes an applications connection, traces its progress, processes resource functions, and delimits its accessibility to the database manager resources and services. Most DB2 for z/OS functions execute under a thread structure. DCLGEN See declarations generator. DDF See distributed data facility.

deadlock Unresolvable contention for the use of a resource, such as a table or an index. declarations generator (DCLGEN) A subcomponent of DB2 that generates SQL table declarations and COBOL, C, or PL/I data structure declarations that conform to the table. The declarations are generated from DB2 system catalog information. declared temporary table A non-persistent table that holds temporary data and is defined with the SQL statement DECLARE GLOBAL TEMPORARY TABLE. Information about declared temporary tables is not stored in the DB2 catalog and can be used only by the application process that issued the DECLARE statement. Contrast with created temporary table. See also temporary table. | | | | | | | default value A predetermined value, attribute, or option that is assumed when no other value is specified. A default value can be defined for column data in DB2 tables by specifying the DEFAULT keyword in an SQL statement that changes data (such as INSERT, UPDATE, and MERGE). deferred embedded SQL SQL statements that are neither fully static nor fully dynamic. These statements
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DBAT See database access thread. DB2 catalog A collection of tables that are maintained by DB2 and contain descriptions of DB2 objects, such as tables, views, and indexes. DBCLOB See double-byte character large object. DB2 command An instruction to the DB2 subsystem that a user enters to start or stop DB2, to display information on current users, to start or stop databases, to display information on the status of databases, and so on. DBCS See double-byte character set. DBD DB2I See database description. See DB2 Interactive.

DBID See database identifier. DB2 Interactive (DB2I) An interactive service within DB2 that

924

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
dependent table A table that is a dependent in at least one referential constraint. descendent An object that is a dependent of an object or is the dependent of a descendent of an object. descendent row A row that is dependent on another row, or a row that is a descendent of a dependent row. descendent table A table that is a dependent of another table, or a table that is a descendent of a dependent table. deterministic function A user-defined function whose result is dependent on the values of the input arguments. That is, successive invocations with the same input values produce the same answer. Sometimes referred to as a not-variant function. Contrast with nondeterministic function (sometimes called a variant function). dimension A data category such as time, products, or markets. The elements of a dimension are referred to as members. See also dimension table. dimension table The representation of a dimension in a star schema. Each row in a dimension table represents all of the attributes for a particular member of the dimension. See also dimension, star schema, and star join. directory The DB2 system database that contains internal objects such as database descriptors and skeleton cursor tables. disk A direct-access storage device that records data magnetically.

are embedded within an application and are prepared during the execution of the application. deferred write The process of asynchronously writing changed data pages to disk. degree of parallelism The number of concurrently executed operations that are initiated to process a query. delete hole The location on which a cursor is positioned when a row in a result table is refetched and the row no longer exists on the base table. See also update hole. delete rule The rule that tells DB2 what to do to a dependent row when a parent row is deleted. Delete rules include CASCADE, RESTRICT, SET NULL, or NO ACTION. delete trigger A trigger that is defined with the triggering delete SQL operation. delimited identifier A sequence of characters that are enclosed within escape characters. delimiter token A string constant, a delimited identifier, an operator symbol, or any of the special characters that are shown in DB2 syntax diagrams. denormalization The intentional duplication of columns in multiple tables to increase data redundancy. Denormalization is sometimes necessary to minimize performance problems. Contrast with normalization. dependent An object (row, table, or table space) that has at least one parent. The object is also said to be a dependent (row, table, or table space) of its parent. See also parent row, parent table, and parent table space. dependent row A row that contains a foreign key that matches the value of a primary key in the parent row.

distinct type A user-defined data type that is represented as an existing type (its source type), but is considered to be a separate and incompatible type for semantic purposes. distributed data Data that resides on a DBMS other than the local system.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

925

DO NOT COPY
distributed data facility (DDF) A set of DB2 components through which DB2 communicates with another relational database management system. Distributed Relational Database Architecture (DRDA) A connection protocol for distributed relational database processing that is used by IBM relational database products. DRDA includes protocols for communication between an application and a remote relational database management system, and for communication between relational database management systems. See also DRDA access. DNS See domain name server.

Restricted Materials of IBM Licensed Materials Property of IBM

double-precision floating point number A 64-bit approximate representation of a real number. DPSI drain See data-partitioned secondary index. The act of acquiring a locked resource by quiescing access to that object. Contrast with claim.

drain lock A lock on a claim class that prevents a claim from occurring. DRDA See Distributed Relational Database Architecture. DRDA access An open method of accessing distributed data that you can use to connect to another database server to execute packages that were previously bound at the server location. DSN v The default DB2 subsystem name. v The name of the TSO command processor of DB2. v The first three characters of DB2 module and macro names. dynamic cursor A named control structure that an application program uses to change the size of the result table and the order of its rows after the cursor is opened. Contrast with static cursor. dynamic dump A dump that is issued during the execution of a program, usually under the control of that program. | | | | | dynamic SQL SQL statements that are prepared and executed at run time. In dynamic SQL, the SQL statement is contained as a character string in a host variable or as a constant, and it is not precompiled. EA-enabled table space A table space or index space that is enabled for extended addressability and that contains individual partitions (or pieces, for LOB table spaces) that are greater than 4 GB. EB See exabyte.

| DOCID See document ID. | | document ID A value that uniquely identifies a row | that contains an XML column. This value | is stored with the row and never changes. | domain The set of valid values for an attribute. domain name The name by which TCP/IP applications refer to a TCP/IP host within a TCP/IP network. domain name server (DNS) A special TCP/IP network server that manages a distributed directory that is used to map TCP/IP host names to IP addresses. | | | | | | | double-byte character large object (DBCLOB) A graphic string data type in which a sequence of bytes represent double-byte characters that range in size from 0 bytes to 2 GB, less 1 byte. In general, DBCLOB values are used whenever a double-byte character string might exceed the limits of the VARGRAPHIC type. double-byte character set (DBCS) A set of characters, which are used by national languages such as Japanese and Chinese, that have more symbols than can be represented by a single byte. Each character is 2 bytes in length. Contrast with single-byte character set and multibyte character set.

926

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | | | | | | | ENFM See enabling-new-function mode. ENFM* See enabling-new-function mode*. entity A person, object, or concept about which information is stored. In a relational database, entities are represented as tables. A database includes information about the entities in an organization or business, and their relationships to each other. enumerated list A set of DB2 objects that are defined with a LISTDEF utility control statement in which pattern-matching characters (*, %;, _, or ?) are not used. environment A collection of names of logical and physical resources that are used to support the performance of a function. | | | | environment handle A handle that identifies the global context for database access. All data that is pertinent to all objects in the environment is associated with this handle. equijoin A join operation in which the join-condition has the form expression = expression. See also join, full outer join, inner join, left outer join, outer join, and right outer join. error page range A range of pages that are considered to be physically damaged. DB2 does not allow users to access any pages that fall within this range. escape character The symbol, a double quotation () for example, that is used to enclose an SQL delimited identifier. exabyte A unit of measure for processor, real and virtual storage capacities, and channel volume that has a value of 1 152 921 504 606 846 976 bytes or 260. | | | | | | exception An SQL operation that involves the EXCEPT set operator, which combines two result tables. The result of an exception operation consists of all of the rows that are in only one of the result tables.
Glossary

EBCDIC Extended binary coded decimal interchange code. An encoding scheme that is used to represent character data in the z/OS, VM, VSE, and iSeries environments. Contrast with ASCII and Unicode. embedded SQL SQL statements that are coded within an application program. See static SQL. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enabling-new-function mode* (ENFM*) A transitional stage of the version-to-version migration process that applies to a DB2 subsystem or data sharing group that was in new-function mode (NFM) at one time. When in enabling-new-function mode*, a DB2 subsystem or data sharing group is preparing to use the new functions of the new version but cannot yet use them. A data sharing group that is in enabling-new-function mode* cannot coexist with members that are still at the prior version level. Fallback to a prior version is not supported. Contrast with compatibility mode, compatibility mode*, enabling-new-function mode, and new-function mode. enabling-new-function mode (ENFM) A transitional stage of the version-to-version migration process during which the DB2 subsystem or data sharing group is preparing to use the new functions of the new version. When in enabling-new-function mode, a DB2 data sharing group cannot coexist with members that are still at the prior version level. Fallback to a prior version is not supported, and new functions of the new version are not available for use in enabling-new-function mode. Contrast with compatibility mode, compatibility mode*, enabling-new-function mode*, and new-function mode. enclave In Language Environment, an independent collection of routines, one of which is designated as the main routine. An enclave is similar to a program or run unit. See also WLM enclave. encoding scheme A set of rules to represent character data (ASCII, EBCDIC, or Unicode).
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

927

DO NOT COPY
exception table A table that holds rows that violate referential constraints or check constraints that the CHECK DATA utility finds. exclusive lock A lock that prevents concurrently executing application processes from reading or changing data. Contrast with share lock. executable statement An SQL statement that can be embedded in an application program, dynamically prepared and executed, or issued interactively. execution context In SQLJ, a Java object that can be used to control the execution of SQL statements. exit routine A user-written (or IBM-provided default) program that receives control from DB2 to perform specific functions. Exit routines run as extensions of DB2. expanding conversion A process that occurs when the length of a converted string is greater than that of the source string. For example, this process occurs when an ASCII mixed-data string that contains DBCS characters is converted to an EBCDIC mixed-data string; the converted string is longer because shift codes are added. explicit hierarchical locking Locking that is used to make the parent-child relationship between resources known to IRLM. This kind of locking avoids global locking overhead when no inter-DB2 interest exists on a resource. | | | | | explicit privilege A privilege that has a name and is held as the result of an SQL GRANT statement and revoked as the result of an SQL REVOKE statement. For example, the SELECT privilege. exposed name A correlation name or a table or view name for which a correlation name is not specified. expression An operand or a collection of operators and operands that yields a single value. | | | | | | | | | | | | | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

Extended Recovery Facility (XRF) A facility that minimizes the effect of failures in z/OS, VTAM, the host processor, or high-availability applications during sessions between high-availability applications and designated terminals. This facility provides an alternative subsystem to take over sessions from the failing subsystem. Extensible Markup Language (XML) A standard metalanguage for defining markup languages that is a subset of Standardized General Markup Language (SGML). external function A function that has its functional logic implemented in a programming language application that resides outside the database, in the file system of the database server. The association of the function with the external code application is specified by the EXTERNAL clause in the CREATE FUNCTION statement. External functions can be classified as external scalar functions and external table functions. Contrast with sourced function, built-in function, and SQL function. external procedure A procedure that has its procedural logic implemented in an external programming language application. The association of the procedure with the external application is specified by a CREATE PROCEDURE statement with a LANGUAGE clause that has a value other than SQL and an EXTERNAL clause that implicitly or explicitly specifies the name of the external application. Contrast with external SQL procedure and native SQL procedure. external routine A user-defined function or stored procedure that is based on code that is written in an external programming language. | external SQL procedure | An SQL procedure that is processed using | a generated C program that is a | representation of the procedure. When an | external SQL procedure is called, the C | program representation of the procedure | is executed in a stored procedures address
LY37-3218-01 Copyright IBM Corp. 1983, 2007

928

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | | | | | file reference variable A host variable that is declared with one of the derived data types (BLOB_FILE, CLOB_FILE, DBCLOB_FILE); file reference variables direct the reading of a LOB from a file or the writing of a LOB into a file. filter factor A number between zero and one that estimates the proportion of rows in a table for which a predicate is true. | | | | | | | | | fixed-length string A character, graphic, or binary string whose length is specified and cannot be changed. Contrast with varying-length string. FlashCopy A function on the IBM Enterprise Storage Server that can, in conjunction with the BACKUP SYSTEM utility, create a point-in-time copy of data while an application is running. foreign key A column or set of columns in a dependent table of a constraint relationship. The key must have the same number of columns, with the same descriptions, as the primary key of the parent table. Each foreign key value must either match a parent key value in the related parent table or be null. forest An ordered set of subtrees of XML nodes. forward log recovery The third phase of restart processing during which DB2 processes the log in a forward direction to apply all REDO log records. free space The total amount of unused space in a page; that is, the space that is not used to store records or control information is free space. full outer join The result of a join operation that includes the matched rows of both tables that are being joined and preserves the unmatched rows of both tables. See also join, equijoin, inner join, left outer join, outer join, and right outer join. | | fullselect A subselect, a fullselect in parentheses, or
Glossary

| |

space. Contrast with external procedure and native SQL procedure. failed member state A state of a member of a data sharing group in which the members task, address space, or z/OS system terminates before the state changes from active to quiesced.

| | | | |

fallback The process of returning to a previous release of DB2 after attempting or completing migration to a current release. Fallback is supported only from a subsystem that is in compatibility mode. false global lock contention A contention indication from the coupling facility that occurs when multiple lock names are hashed to the same indicator and when no real contention exists. fan set A direct physical access path to data, which is provided by an index, hash, or link; a fan set is the means by which DB2 supports the ordering of data. federated database The combination of a DB2 server (in Linux, UNIX, and Windows environments) and multiple data sources to which the server sends queries. In a federated database system, a client application can use a single SQL statement to join data that is distributed across multiple database management systems and can view the data as if it were local.

| | | | | | | | | | |

fetch orientation The specification of the desired placement of the cursor as part of a FETCH statement. The specification can be before or after the rows of the result table (with BEFORE or AFTER). The specification can also have either a single-row fetch orientation (for example, NEXT, LAST, or ABSOLUTE n) or a rowset fetch orientation (for example, NEXT ROWSET, LAST ROWSET, or ROWSET STARTING AT ABSOLUTE n). field procedure A user-written exit routine that is designed to receive a single value and transform (encode or decode) it in any way the user can specify.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

929

DO NOT COPY
| | | | | a number of both that are combined by set operators. Fullselect specifies a result table. If a set operator is not used, the result of the fullselect is the result of the specified subselect or fullselect. fully escaped mapping A mapping from an SQL identifier to an XML name when the SQL identifier is a column name. function A mapping, which is embodied as a program (the function body) that is invocable by means of zero or more input values (arguments) to a single value (the result). See also aggregate function and scalar function. Functions can be user-defined, built-in, or generated by DB2. (See also built-in function, cast function, external function, sourced function, SQL function, and user-defined function.) function definer The authorization ID of the owner of the schema of the function that is specified in the CREATE FUNCTION statement. function package A package that results from binding the DBRM for a function program. function package owner The authorization ID of the user who binds the function programs DBRM into a function package. function signature The logical concatenation of a fully qualified function name with the data types of all of its parameters. GB GBP Gigabyte. A value of (1 073 741 824 bytes). See group buffer pool. | | |

Restricted Materials of IBM Licensed Materials Property of IBM

interrupts, SVC interrupts, program interrupts, or external interrupts. generic resource name A name that VTAM uses to represent several application programs that provide the same function in order to handle session distribution and balancing in a Sysplex environment. geographic feature An object on the surface of the Earth (such as a city or river), a space (such as a safety zone around a hazardous site), or an event that occurs at a location (such as an auto accident that occurred at a particular intersection). geographic information system A complex of objects, data, and applications that is used to create and analyze spatial information about geographic features. getpage An operation in which DB2 accesses a data page. global lock A lock that provides concurrency control within and among DB2 subsystems. The scope of the lock is across all DB2 subsystems of a data sharing group. global lock contention Conflicts on locking requests between different DB2 members of a data sharing group when those members are trying to serialize shared resources. governor See resource limit facility. graphic string A sequence of DBCS characters. Graphic data can be further classified as GRAPHIC, VARGRAPHIC, or DBCLOB.

GBP-dependent The status of a page set or page set partition that is dependent on the group buffer pool. Either read/write interest is active among DB2 subsystems for this page set, or the page set has changed pages in the group buffer pool that have not yet been cast out to disk. generalized trace facility (GTF) A z/OS service program that records significant system events such as I/O

| GRECP | See group buffer pool recovery pending. gross lock The shared, update, or exclusive mode locks on a table, partition, or table space. group buffer pool duplexing The ability to write data to two instances of a group buffer pool structure: a primary group buffer pool and a secondary group buffer pool. z/OS publications refer to these instances as the
LY37-3218-01 Copyright IBM Corp. 1983, 2007

930

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | | | hole possible values in a data set into intervals, such that each interval contains approximately the same percentage of the values. A set of statistics are collected for each interval. A row of the result table that cannot be accessed because of a delete or an update that has been performed on the row. See also delete hole and update hole.

old (for primary) and new (for secondary) structures. group buffer pool (GBP) A coupling facility cache structure that is used by a data sharing group to cache data and to ensure that the data is consistent for all members. | | | | | | | group buffer pool recovery pending (GRECP) The state that exists after the buffer pool for a data sharing group is lost. When a page set is in this state, changes that are recorded in the log must be applied to the affected page set before the page set can be used. group level The release level of a data sharing group, which is established when the first member migrates to a new release. group name The z/OS XCF identifier for a data sharing group. group restart A restart of at least one member of a data sharing group after the loss of either locks or the shared communications area. GTF handle In DB2 ODBC, a variable that refers to a data structure and associated resources. See also statement handle, connection handle, and environment handle. help panel A screen of information that presents tutorial text to assist a user at the workstation or terminal. heuristic damage The inconsistency in data between one or more participants that results when a heuristic decision to resolve an indoubt LUW at one or more participants differs from the decision that is recorded at the coordinator. heuristic decision A decision that forces indoubt resolution at a participant by means other than automatic resynchronization between coordinator and participant. | | | histogram statistics A way of summarizing data distribution. This technique divides up the range of
LY37-3218-01 Copyright IBM Corp. 1983, 2007

home address space The area of storage that z/OS currently recognizes as dispatched. host The set of programs and resources that are available on a given TCP/IP instance.

host expression A Java variable or expression that is referenced by SQL clauses in an SQLJ application program. host identifier A name that is declared in the host program. host language A programming language in which you can embed SQL statements. host program An application program that is written in a host language and that contains embedded SQL statements. host structure In an application program, a structure that is referenced by embedded SQL statements. host variable In an application program written in a host language, an application variable that is referenced by embedded SQL statements. host variable array An array of elements, each of which corresponds to a value for a column. The dimension of the array determines the maximum number of rows for which the array can be used. | | IBM System z9 Integrated Processor (zIIP) A specialized processor that can be used for some DB2 functions. IDCAMS An IBM program that is used to process access method services commands. It can

See generalized trace facility.

DO NOT COPY

Glossary

931

DO NOT COPY
be invoked as a job or jobstep, from a TSO terminal, or from within a users application program. IDCAMS LISTCAT A facility for obtaining information that is contained in the access method services catalog. | | | | | | | | identity column A column that provides a way for DB2 to automatically generate a numeric value for each row. Identity columns are defined with the AS IDENTITY clause. Uniqueness of values can be ensured by defining a unique index that contains only the identity column. A table can have no more than one identity column. IFCID See instrumentation facility component identifier. IFI IFI call An invocation of the instrumentation facility interface (IFI) by means of one of its defined functions. image copy An exact reproduction of all or part of a table space. DB2 provides utility programs to make full image copies (to copy the entire table space) or incremental image copies (to copy only those pages that have been modified since the last image copy). IMS attachment facility A DB2 subcomponent that uses z/OS subsystem interface (SSI) protocols and cross-memory linkage to process requests from IMS to DB2 and to coordinate resource commitment. in-abort A status of a unit of recovery. If DB2 fails after a unit of recovery begins to be rolled back, but before the process is completed, DB2 continues to back out the changes during restart. in-commit A status of a unit of recovery. If DB2 fails after beginning its phase 2 commit processing, it knows, when restarted, that changes made to data are consistent. Such units of recovery are termed in-commit. See instrumentation facility interface.

Restricted Materials of IBM Licensed Materials Property of IBM

independent An object (row, table, or table space) that is neither a parent nor a dependent of another object. index A set of pointers that are logically ordered by the values of a key. Indexes can provide faster access to data and can enforce uniqueness on the rows in a table.

index-controlled partitioning A type of partitioning in which partition boundaries for a partitioned table are controlled by values that are specified on the CREATE INDEX statement. Partition limits are saved in the LIMITKEY column of the SYSIBM.SYSINDEXPART catalog table. index key The set of columns in a table that is used to determine the order of index entries. index partition A VSAM data set that is contained within a partitioning index space. index space A page set that is used to store the entries of one index. indicator column A 4-byte value that is stored in a base table in place of a LOB column. indicator variable A variable that is used to represent the null value in an application program. If the value for the selected column is null, a negative value is placed in the indicator variable. indoubt A status of a unit of recovery. If DB2 fails after it has finished its phase 1 commit processing and before it has started phase 2, only the commit coordinator knows if an individual unit of recovery is to be committed or rolled back. At restart, if DB2 lacks the information it needs to make this decision, the status of the unit of recovery is indoubt until DB2 obtains this information from the coordinator. More than one unit of recovery can be indoubt at restart. indoubt resolution The process of resolving the status of an indoubt logical unit of work to either the committed or the rollback state.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

932

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | insert, update, or delete operation on the view to the underlying tables of the view. instrumentation facility component identifier (IFCID) A value that names and identifies a trace record of an event that can be traced. As a parameter on the START TRACE and MODIFY TRACE commands, it specifies that the corresponding event is to be traced. instrumentation facility interface (IFI) A programming interface that enables programs to obtain online trace data about DB2, to submit DB2 commands, and to pass data to DB2. Interactive System Productivity Facility (ISPF) An IBM licensed program that provides interactive dialog services in a z/OS environment. inter-DB2 R/W interest A property of data in a table space, index, or partition that has been opened by more than one member of a data sharing group and that has been opened for writing by at least one of those members. intermediate database server The target of a request from a local application or a remote application requester that is forwarded to another database server. internal resource lock manager (IRLM) A z/OS subsystem that DB2 uses to control communication and database locking. internationalization The support for an encoding scheme that is able to represent the code points of characters from many different geographies and languages. To support all geographies, the Unicode standard requires more than 1 byte to represent a single character. See also Unicode. | | | | | | intersection An SQL operation that involves the INTERSECT set operator, which combines two result tables. The result of an intersection operation consists of all of the rows that are in both result tables. invalid package A package that depends on an object (other than a user-defined function) that
Glossary

inflight A status of a unit of recovery. If DB2 fails before its unit of recovery completes phase 1 of the commit process, it merely backs out the updates of its unit of recovery at restart. These units of recovery are termed inflight. inheritance The passing downstream of class resources or attributes from a parent class in the class hierarchy to a child class. initialization file For DB2 ODBC applications, a file containing values that can be set to adjust the performance of the database manager. inline copy A copy that is produced by the LOAD or REORG utility. The data set that the inline copy produces is logically equivalent to a full image copy that is produced by running the COPY utility with read-only access (SHRLEVEL REFERENCE). inner join The result of a join operation that includes only the matched rows of both tables that are being joined. See also join, equijoin, full outer join, left outer join, outer join, and right outer join. inoperative package A package that cannot be used because one or more user-defined functions or procedures that the package depends on were dropped. Such a package must be explicitly rebound. Contrast with invalid package. insensitive cursor A cursor that is not sensitive to inserts, updates, or deletes that are made to the underlying rows of a result table after the result table has been materialized. insert trigger A trigger that is defined with the triggering SQL operation, an insert. install The process of preparing a DB2 subsystem to operate as a z/OS subsystem. | | | | | INSTEAD OF trigger A trigger that is associated with a single view and is activated by an insert, update, or delete operation on the view and that can define how to propagate the
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

933

DO NOT COPY
is dropped. Such a package is implicitly rebound on invocation. Contrast with inoperative package. | | IP address A value that uniquely identifies a TCP/IP host. IRLM See internal resource lock manager. isolation level The degree to which a unit of work is isolated from the updating operations of other units of work. See also cursor stability, read stability, repeatable read, and uncommitted read. ISPF iterator In SQLJ, an object that contains the result set of a query. An iterator is equivalent to a cursor in other host languages. iterator declaration clause In SQLJ, a statement that generates an iterator declaration class. An iterator is an object of an iterator declaration class. JAR See Java Archive. See Interactive System Productivity Facility. | key | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

key, a timestamp, and other information, which is sealed using the targets secret key. A column, an ordered collection of columns, or an expression that is identified in the description of a table, index, or referential constraint. The same column or expression can be part of more than one key.

key-sequenced data set (KSDS) A VSAM file or data set whose records are loaded in key sequence and controlled by an index. KSDS See key-sequenced data set. large object (LOB) A sequence of bytes representing bit data, single-byte characters, double-byte characters, or a mixture of single- and double-byte characters. A LOB can be up to 2 GB minus 1 byte in length. See also binary large object, character large object, and double-byte character large object. last agent optimization An optimized commit flow for either presumed-nothing or presumed-abort protocols in which the last agent, or final participant, becomes the commit coordinator. This flow saves at least one message. latch A DB2 mechanism for controlling concurrent events or the use of system resources. See log control interval definition. See linear data set.

Java Archive (JAR) A file format that is used for aggregating many files into a single file. JDBC A Sun Microsystems database application programming interface (API) for Java that allows programs to access database management systems by using callable SQL. join A relational operation that allows retrieval of data from two or more tables based on matching column values. See also equijoin, full outer join, inner join, left outer join, outer join, and right outer join. Kilobyte. A value of 1024 bytes.

LCID LDS

leaf page An index page that contains pairs of keys and RIDs and that points to actual data. Contrast with nonleaf page. left outer join The result of a join operation that includes the matched rows of both tables that are being joined, and that preserves the unmatched rows of the first table. See also join, equijoin, full outer join, inner join, outer join, and right outer join. limit key The highest value of the index key for a partition. linear data set (LDS) A VSAM data set that contains data but
LY37-3218-01 Copyright IBM Corp. 1983, 2007

KB

Kerberos A network authentication protocol that is designed to provide strong authentication for client/server applications by using secret-key cryptography. Kerberos ticket A transparent application mechanism that transmits the identity of an initiating principal to its target. A simple ticket contains the principals identity, a session

934

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
characters that are defined for a specific language and country. local lock A lock that provides intra-DB2 concurrency control, but not inter-DB2 concurrency control; that is, its scope is a single DB2. local subsystem The unique relational DBMS to which the user or application program is directly connected (in the case of DB2, by one of the DB2 attachment facilities). location The unique name of a database server. An application uses the location name to access a DB2 database server. A database alias can be used to override the location name when accessing a remote server. location alias Another name by which a database server identifies itself in the network. Applications can use this name to access a DB2 database server. lock A means of controlling concurrent events or access to data. DB2 locking is performed by the IRLM.

no control information. A linear data set can be accessed as a byte-addressable string in virtual storage. linkage editor A computer program for creating load modules from one or more object modules or load modules by resolving cross references among the modules and, if necessary, adjusting addresses. link-edit The action of creating a loadable computer program using a linkage editor. list A type of object, which DB2 utilities can process, that identifies multiple table spaces, multiple index spaces, or both. A list is defined with the LISTDEF utility control statement.

list structure A coupling facility structure that lets data be shared and manipulated as elements of a queue. L-lock See logical lock. load module A program unit that is suitable for loading into main storage for execution. The output of a linkage editor. LOB See large object.

LOB locator A mechanism that allows an application program to manipulate a large object value in the database system. A LOB locator is a fullword integer value that represents a single LOB value. An application program retrieves a LOB locator into a host variable and can then apply SQL operations to the associated LOB value using the locator. LOB lock A lock on a LOB value. LOB table space A table space that contains all the data for a particular LOB column in the related base table. local A way of referring to any object that the local DB2 subsystem maintains. A local table, for example, is a table that is maintained by the local DB2 subsystem. Contrast with remote.

lock duration The interval over which a DB2 lock is held. lock escalation The promotion of a lock from a row, page, or LOB lock to a table space lock because the number of page locks that are concurrently held on a given resource exceeds a preset limit. locking The process by which the integrity of data is ensured. Locking prevents concurrent users from accessing inconsistent data. See also claim, drain, and latch. lock mode A representation for the type of access that concurrently running programs can have to a resource that a DB2 lock is holding. lock object The resource that is controlled by a DB2 lock.

locale The definition of a subset of a users environment that combines a CCSID and
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

935

DO NOT COPY
lock promotion The process of changing the size or mode of a DB2 lock to a higher, more restrictive level. lock size The amount of data that is controlled by a DB2 lock on table data; the value can be a row, a page, a LOB, a partition, a table, or a table space. lock structure A coupling facility data structure that is composed of a series of lock entries to support shared and exclusive locking for logical resources. log A collection of records that describe the events that occur during DB2 execution and that indicate their sequence. The information thus recorded is used for recovery in the event of a failure during DB2 execution.

Restricted Materials of IBM Licensed Materials Property of IBM

nonpartitioning index that are associated with a particular partition. logical recovery pending (LRECP) The state in which the data and the index keys that reference the data are inconsistent. logical unit (LU) An access point through which an application program accesses the SNA network in order to communicate with another application program. See also LU name. logical unit of work The processing that a program performs between synchronization points. logical unit of work identifier (LUWID) A name that uniquely identifies a thread within a network. This name consists of a fully-qualified LU network name, an LUW instance number, and an LUW sequence number. log initialization The first phase of restart processing during which DB2 attempts to locate the current end of the log. log record header (LRH) A prefix, in every log record, that contains control information. log record sequence number (LRSN) An identifier for a log record that is associated with a data sharing member. DB2 uses the LRSN for recovery in the data sharing environment. log truncation A process by which an explicit starting RBA is established. This RBA is the point at which the next byte of log data is to be written. LPL LRECP See logical recovery pending. LRH See log record header. See logical page list.

log control interval definition A suffix of the physical log record that tells how record segments are placed in the physical control interval. logical claim A claim on a logical partition of a nonpartitioning index. logical index partition The set of all keys that reference the same data partition. logical lock (L-lock) The lock type that transactions use to control intra- and inter-DB2 data concurrency between transactions. Contrast with physical lock (P-lock). logically complete A state in which the concurrent copy process is finished with the initialization of the target objects that are being copied. The target objects are available for update. logical page list (LPL) A list of pages that are in error and that cannot be referenced by applications until the pages are recovered. The page is in logical error because the actual media (coupling facility or disk) might not contain any errors. Usually a connection to the media has been lost. logical partition A set of key or RID pairs in a

LRSN See log record sequence number. LU See logical unit.

LU name Logical unit name, which is the name by which VTAM refers to a node in a network.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

936

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
mode name A VTAM name for the collection of physical and logical characteristics and attributes of a session. modify locks An L-lock or P-lock with a MODIFY attribute. A list of these active locks is kept at all times in the coupling facility lock structure. If the requesting DB2 subsystem fails, that DB2 subsystems modify locks are converted to retained locks. multibyte character set (MBCS) A character set that represents single characters with more than a single byte. UTF-8 is an example of an MBCS. Characters in UTF-8 can range from 1 to 4 bytes in DB2. Contrast with single-byte character set and double-byte character set. See also Unicode. multidimensional analysis The process of assessing and evaluating an enterprise on more than one level. Multiple Virtual Storage (MVS) An element of the z/OS operating system. This element is also called the Base Control Program (BCP). multisite update Distributed relational database processing in which data is updated in more than one location within a single unit of work. multithreading Multiple TCBs that are executing one copy of DB2 ODBC code concurrently (sharing a processor) or in parallel (on separate central processors). MVS | | | | | | | | | | See Multiple Virtual Storage.

LUW

See logical unit of work.

LUWID See logical unit of work identifier. mapping table A table that the REORG utility uses to map the associations of the RIDs of data records in the original copy and in the shadow copy. This table is created by the user. mass delete The deletion of all rows of a table. materialize v The process of putting rows from a view or nested table expression into a work file for additional processing by a query. v The placement of a LOB value into contiguous storage. Because LOB values can be very large, DB2 avoids materializing LOB data until doing so becomes absolutely necessary. materialized query table A table that is used to contain information that is derived and can be summarized from one or more source tables. Contrast with base table. MB Megabyte (1 048 576 bytes).

MBCS See multibyte character set. member name The z/OS XCF identifier for a particular DB2 subsystem in a data sharing group. menu A displayed list of available functions for selection by the operator. A menu is sometimes called a menu panel. metalanguage A language that is used to create other specialized languages. migration The process of converting a subsystem with a previous release of DB2 to an updated or current release. In this process, you can acquire the functions of the updated or current release without losing the data that you created on the previous release. mixed data string A character string that can contain both single-byte and double-byte characters.

native SQL procedure An SQL procedure that is processed by converting the procedural statements to a native representation that is stored in the database directory, as is done with other SQL statements. When a native SQL procedure is called, the native representation is loaded from the directory, and DB2 executes the procedure. nested table expression A fullselect in a FROM clause (surrounded by parentheses).

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

937

DO NOT COPY
network identifier (NID) The network ID that is assigned by IMS or CICS, or if the connection type is RRSAF, the RRS unit of recovery ID (URID). | new-function mode (NFM) | The normal mode of operation that exists after successful completion of a | version-to-version migration. At this | stage, all new functions of the new | version are available for use. A DB2 data | sharing group cannot coexist with | members that are still at the prior version | level, and fallback to a prior version is | not supported. Contrast with | compatibility mode, compatibility mode*, | enabling-new-function mode, and | enabling-new-function mode*. | | NFM NID See new-function mode. See network identifier. null

Restricted Materials of IBM Licensed Materials Property of IBM

forward direction. Nonscrollable cursors are sometimes called forward-only cursors or serial cursors. normalization A key step in the task of building a logical relational database design. Normalization helps you avoid redundancies and inconsistencies in your data. An entity is normalized if it meets a set of constraints for a particular normal form (first normal form, second normal form, and so on). Contrast with denormalization. not-variant function See deterministic function. NPSI NUL See nonpartitioned secondary index. The null character (\0), which is represented by the value X00. In C, this character denotes the end of a string. A special value that indicates the absence of information.

| node ID index See XML node ID index. | nondeterministic function A user-defined function whose result is not solely dependent on the values of the input arguments. That is, successive invocations with the same argument values can produce a different answer. This type of function is sometimes called a variant function. Contrast with deterministic function (sometimes called a not-variant function). nonleaf page A page that contains keys and page numbers of other pages in the index (either leaf or nonleaf pages). Nonleaf pages never point to actual data. Contrast with leaf page. nonpartitioned index An index that is not physically partitioned. Both partitioning indexes and secondary indexes can be nonpartitioned. nonpartitioned secondary index (NPSI) An index on a partitioned table space that is not the partitioning index and is not partitioned. Contrast with data-partitioned secondary index. nonpartitioning index See secondary index. nonscrollable cursor A cursor that can be moved only in a | | | | | | |

null terminator In C, the value that indicates the end of a string. For EBCDIC, ASCII, and Unicode UTF-8 strings, the null terminator is a single-byte value (X00). For Unicode UTF-16 or UCS-2 (wide) strings, the null terminator is a double-byte value (X0000). ODBC See Open Database Connectivity. ODBC driver A dynamically-linked library (DLL) that implements ODBC function calls and interacts with a data source.

| OLAP See online analytical processing. | online analytical processing (OLAP) | The process of collecting data from one or | many sources; transforming and | analyzing the consolidated data quickly | and interactively; and examining the | results across different dimensions of the | data by looking for patterns, trends, and | exceptions within complex relationships | of that data. Open Database Connectivity (ODBC) A Microsoft database application programming interface (API) for C that allows access to database management systems by using callable SQL. ODBC
LY37-3218-01 Copyright IBM Corp. 1983, 2007

938

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | | | | | | | | | | | | | | page BIND PACKAGE or REBIND PACKAGE command. An SQL procedural language package is created by a CREATE or ALTER PROCEDURE statement for a native SQL procedure. The name of a package consists of a location name, a collection ID, a package ID, and a version ID. A unit of storage within a table space (4 KB, 8 KB, 16 KB, or 32 KB) or index space (4 KB, 8 KB, 16 KB, or 32 KB). In a table space, a page contains one or more rows of a table. In a LOB or XML table space, a LOB or XML value can span more than one page, but no more than one LOB or XML value is stored on a page.

does not require the use of an SQL preprocessor. In addition, ODBC provides an architecture that lets users add modules called database drivers, which link the application to their choice of database management systems at run time. This means that applications no longer need to be directly linked to the modules of all the database management systems that are supported. ordinary identifier An uppercase letter followed by zero or more characters, each of which is an uppercase letter, a digit, or the underscore character. An ordinary identifier must not be a reserved word. ordinary token A numeric constant, an ordinary identifier, a host identifier, or a keyword. originating task In a parallel group, the primary agent that receives data from other execution units (referred to as parallel tasks) that are executing portions of the query in parallel. outer join The result of a join operation that includes the matched rows of both tables that are being joined and preserves some or all of the unmatched rows of the tables that are being joined. See also join, equijoin, full outer join, inner join, left outer join, and right outer join. overloaded function A function name for which multiple function instances exist. package An object containing a set of SQL statements that have been statically bound and that is available for processing. A package is sometimes also called an application package. package list An ordered list of package names that may be used to extend an application plan. | | | | | package name The name of an object that is used for an application package or an SQL procedure package. An application package is a bound version of a database request module (DBRM) that is created by a
LY37-3218-01 Copyright IBM Corp. 1983, 2007

page set Another way to refer to a table space or index space. Each page set consists of a collection of VSAM data sets. page set recovery pending (PSRCP) A restrictive state of an index space. In this case, the entire page set must be recovered. Recovery of a logical part is prohibited. panel A predefined display image that defines the locations and characteristics of display fields on a display surface (for example, a menu panel).

parallel complex A cluster of machines that work together to handle multiple transactions and applications. parallel group A set of consecutive operations that execute in parallel and that have the same number of parallel tasks. parallel I/O processing A form of I/O processing in which DB2 initiates multiple concurrent requests for a single user query and performs I/O processing concurrently (in parallel) on multiple data partitions. parallelism assistant In Sysplex query parallelism, a DB2 subsystem that helps to process parts of a parallel query that originates on another DB2 subsystem in the data sharing group.

DO NOT COPY

Glossary

939

DO NOT COPY
parallelism coordinator In Sysplex query parallelism, the DB2 subsystem from which the parallel query originates. Parallel Sysplex A set of z/OS systems that communicate and cooperate with each other through certain multisystem hardware components and software services to process customer workloads. parallel task The execution unit that is dynamically created to process a query in parallel. A parallel task is implemented by a z/OS service request block. | | | | | | | | | | | | | | parameter marker A question mark (?) that appears in a statement string of a dynamic SQL statement. The question mark can appear where a variable could appear if the statement string were a static SQL statement. parameter-name An SQL identifier that designates a parameter in a routine that is written by a user. Parameter names are required for SQL procedures and SQL functions, and they are used in the body of the routine to refer to the values of the parameters. Parameter names are optional for external routines. parent key A primary key or unique key in the parent table of a referential constraint. The values of a parent key determine the valid values of the foreign key in the referential constraint. parent lock For explicit hierarchical locking, a lock that is held on a resource that might have child locks that are lower in the hierarchy. A parent lock is usually the table space lock or the partition intent lock. See also child lock. parent row A row whose primary key value is the foreign key value of a dependent row. parent table A table whose primary key is referenced by the foreign key of a dependent table. | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

parent table space A table space that contains a parent table. A table space containing a dependent of that table is a dependent table space. participant An entity other than the commit coordinator that takes part in the commit process. The term participant is synonymous with agent in SNA. partition A portion of a page set. Each partition corresponds to a single, independently extendable data set. The maximum size of a partition depends on the number of partitions in the partitioned page set. All partitions of a given page set have the same maximum size.

| partition-by-growth table space | A table space whose size can grow to | accommodate data growth. DB2 for z/OS | manages partition-by-growth table spaces | by automatically adding new data sets | when the database needs more space to | satisfy an insert operation. | | | | | | partitioned data set (PDS) A data set in disk storage that is divided into partitions, which are called members. Each partition can contain a program, part of a program, or data. A program library is an example of a partitioned data set. partitioned index An index that is physically partitioned. Both partitioning indexes and secondary indexes can be partitioned. partitioned page set A partitioned table space or an index space. Header pages, space map pages, data pages, and index pages reference data only within the scope of the partition. | | | | partitioned table space A table space that is based on a single table and that is subdivided into partitions, each of which can be processed independently by utilities. partitioning index An index in which the leftmost columns are the partitioning columns of the table. The index can be partitioned or nonpartitioned.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

940

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
(called the scale in SQL). The DB2 information uses the SQL terms. precompilation A processing of application programs containing SQL statements that takes place before compilation. SQL statements are replaced with statements that are recognized by the host language compiler. Output from this precompilation includes source code that can be submitted to the compiler and the database request module (DBRM) that is input to the bind process. predicate An element of a search condition that expresses or implies a comparison operation. prefix A code at the beginning of a message or record. | | | preformat The process of preparing a VSAM linear data set for DB2 use, by writing specific data patterns. prepare The first phase of a two-phase commit process in which all participants are requested to prepare for commit. prepared SQL statement A named object that is the executable form of an SQL statement that has been processed by the PREPARE statement. primary authorization ID The authorization ID that is used to identify the application process to DB2. primary group buffer pool For a duplexed group buffer pool, the structure that is used to maintain the coherency of cached data. This structure is used for page registration and cross-invalidation. The z/OS equivalent is old structure. Compare with secondary group buffer pool. primary index An index that enforces the uniqueness of a primary key. primary key In a relational database, a unique, nonnull key that is part of the definition of a table. A table cannot be defined as a parent unless it has a unique key or primary key.
Glossary

partner logical unit An access point in the SNA network that is connected to the local DB2 subsystem by way of a VTAM conversation. path PDS See SQL path. See partitioned data set.

physical consistency The state of a page that is not in a partially changed state. physical lock (P-lock) A type of lock that DB2 acquires to provide consistency of data that is cached in different DB2 subsystems. Physical locks are used only in data sharing environments. Contrast with logical lock (L-lock). physically complete The state in which the concurrent copy process is completed and the output data set has been created. piece plan A data set of a nonpartitioned page set. See application plan.

plan allocation The process of allocating DB2 resources to a plan in preparation for execution. plan member The bound copy of a DBRM that is identified in the member clause. plan name The name of an application plan. P-lock See physical lock. point of consistency A time when all recoverable data that an application accesses is consistent with other data. The term point of consistency is synonymous with sync point or commit point. policy See CFRM policy. postponed abort UR A unit of recovery that was inflight or in-abort, was interrupted by system failure or cancellation, and did not complete backout during restart. precision In SQL, the total number of digits in a decimal number (called the size in the C language). In the C language, the number of digits to the right of the decimal point
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

941

DO NOT COPY
principal An entity that can communicate securely with another entity. In Kerberos, principals are represented as entries in the Kerberos registry database and include users, servers, computers, and others. principal name The name by which a principal is known to the DCE security services. privilege The capability of performing a specific function, sometimes on a specific object. See also explicit privilege. privilege set | v For the installation SYSADM ID, the set of all possible privileges. | v For any other authorization ID, | including the PUBLIC authorization ID, | the set of all privileges that are | recorded for that ID in the DB2 catalog. | process In DB2, the unit to which DB2 allocates resources and locks. Sometimes called an application process, a process involves the execution of one or more programs. The execution of an SQL statement is always associated with some process. The means of initiating and terminating a process are dependent on the environment. program A single, compilable collection of executable statements in a programming language. program temporary fix (PTF) A solution or bypass of a problem that is diagnosed as a result of a defect in a current unaltered release of a licensed program. An authorized program analysis report (APAR) fix is corrective service for an existing problem. A PTF is preventive service for problems that might be encountered by other users of the product. A PTF is temporary, because a permanent fix is usually not incorporated into the product until its next release. protected conversation A VTAM conversation that supports two-phase commit flows. PSRCP See page set recovery pending. PTF See program temporary fix.
Diagnosis Guide and Reference

Restricted Materials of IBM Licensed Materials Property of IBM

QSAM See queued sequential access method. query A component of certain SQL statements that specifies a result table. query block The part of a query that is represented by one of the FROM clauses. Each FROM clause can have multiple query blocks, depending on DB2 processing of the query. query CP parallelism Parallel execution of a single query, which is accomplished by using multiple tasks. See also Sysplex query parallelism. query I/O parallelism Parallel access of data, which is accomplished by triggering multiple I/O requests within a single query. queued sequential access method (QSAM) An extended version of the basic sequential access method (BSAM). When this method is used, a queue of data blocks is formed. Input data blocks await processing, and output data blocks await transfer to auxiliary storage or to an output device. quiesce point A point at which data is consistent as a result of running the DB2 QUIESCE utility. RACF Resource Access Control Facility. A component of the z/OS Security Server. | range-partitioned table space | A type of universal table space that is | based on partitioning ranges and that | contains a single table. RBA RCT | RDO See relative byte address. See resource control table. See resource definition online.

read stability (RS) An isolation level that is similar to repeatable read but does not completely isolate an application process from all other concurrently executing application processes. See also cursor stabilityrepeatable read, and uncommitted read. rebind The creation of a new application plan for

942

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
recorded information is used for recovery in the event of a failure during DB2 execution. recovery manager A subcomponent that supplies coordination services that control the interaction of DB2 resource managers during commit, abort, checkpoint, and restart processes. The recovery manager also supports the recovery mechanisms of other subsystems (for example, IMS) by acting as a participant in the other subsystems process for protecting data that has reached a point of consistency. A coordinator or a participant (or both), in the execution of a two-phase commit, that can access a recovery log that maintains the state of the logical unit of work and names the immediate upstream coordinator and downstream participants. recovery pending (RECP) A condition that prevents SQL access to a table space that needs to be recovered. recovery token An identifier for an element that is used in recovery (for example, NID or URID). RECP See recovery pending. redo A state of a unit of recovery that indicates that changes are to be reapplied to the disk media to ensure data integrity.

an application program that has been bound previously. If, for example, you have added an index for a table that your application accesses, you must rebind the application in order to take advantage of that index. rebuild The process of reallocating a coupling facility structure. For the shared communications area (SCA) and lock structure, the structure is repopulated; for the group buffer pool, changed pages are usually cast out to disk, and the new structure is populated only with changed pages that were not successfully cast out. record The storage representation of a row or other data. record identifier (RID) A unique identifier that DB2 uses to identify a row of data in a table. Compare with row identifier. record identifier (RID) pool An area of main storage that is used for sorting record identifiers during list-prefetch processing. record length The sum of the length of all the columns in a table, which is the length of the data as it is physically stored in the database. Records can be fixed length or varying length, depending on how the columns are defined. If all columns are fixed-length columns, the record is a fixed-length record. If one or more columns are varying-length columns, the record is a varying-length record. Recoverable Resource Manager Services attachment facility (RRSAF) A DB2 subcomponent that uses Resource Recovery Services to coordinate resource commitment between DB2 and all other resource managers that also use RRS in a z/OS system. recovery The process of rebuilding databases after a system failure. recovery log A collection of records that describes the events that occur during DB2 execution and indicates their sequence. The

reentrant code Executable code that can reside in storage as one shared copy for all threads. Reentrant code is not self-modifying and provides separate storage areas for each thread. See also threadsafe. referential constraint The requirement that nonnull values of a designated foreign key are valid only if they equal values of the primary key of a designated table. | | | | | | | | referential cycle A set of referential constraints such that each base table in the set is a descendent of itself. The tables that are involved in a referential cycle are ordered so that each table is a descendent of the one before it, and the first table is a descendent of the last table. referential integrity The state of a database in which all

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

943

DO NOT COPY
values of all foreign keys are valid. Maintaining referential integrity requires the enforcement of referential constraints on all operations that change the data in a table on which the referential constraints are defined. referential structure A set of tables and relationships that includes at least one table and, for every table in the set, all the relationships in which that table participates and all the tables to which it is related. refresh age The time duration between the current time and the time during which a materialized query table was last refreshed. registry See registry database. registry database A database of security information about principals, groups, organizations, accounts, and security policies. relational database A database that can be perceived as a set of tables and manipulated in accordance with the relational model of data. relational database management system (RDBMS) A collection of hardware and software that organizes and provides access to a relational database. | relational schema See SQL schema. | relationship A defined connection between the rows of a table or the rows of two tables. A relationship is the internal representation of a referential constraint. relative byte address (RBA) The offset of a data record or control interval from the beginning of the storage space that is allocated to the data set or file to which it belongs. remigration The process of returning to a current release of DB2 following a fallback to a previous release. This procedure constitutes another migration process. remote

Restricted Materials of IBM Licensed Materials Property of IBM

Any object that is maintained by a remote DB2 subsystem (that is, by a DB2 subsystem other than the local one). A remote view, for example, is a view that is maintained by a remote DB2 subsystem. Contrast with local. remote subsystem Any relational DBMS, except the local subsystem, with which the user or application can communicate. The subsystem need not be remote in any physical sense, and might even operate on the same processor under the same z/OS system. reoptimization The DB2 process of reconsidering the access path of an SQL statement at run time; during reoptimization, DB2 uses the values of host variables, parameter markers, or special registers. | reordered row format | A row format that facilitates improved | performance in retrieval of rows that have | varying-length columns. DB2 rearranges | the column order, as defined in the | CREATE TABLE statement, so that the | fixed-length columns are stored at the | beginning of the row and the | varying-length columns are stored at the | end of the row. REORG pending (REORP) A condition that restricts SQL access and most utility access to an object that must be reorganized. REORP See REORG pending. repeatable read (RR) The isolation level that provides maximum protection from other executing application programs. When an application program executes with repeatable read protection, rows that the program references cannot be changed by other programs until the program reaches a commit point. See also cursor stability, read stability, and uncommitted read. repeating group A situation in which an entity includes multiple attributes that are inherently the same. The presence of a repeating group violates the requirement of first normal
LY37-3218-01 Copyright IBM Corp. 1983, 2007

944

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
from exceeding specified time limits. The resource limit facility is sometimes called the governor. resource limit specification table (RLST) A site-defined table that specifies the limits to be enforced by the resource limit facility. resource manager v A function that is responsible for managing a particular resource and that guarantees the consistency of all updates made to recoverable resources within a logical unit of work. The resource that is being managed can be physical (for example, disk or main storage) or logical (for example, a particular type of system service). v A participant, in the execution of a two-phase commit, that has recoverable resources that could have been modified. The resource manager has access to a recovery log so that it can commit or roll back the effects of the logical unit of work to the recoverable resources. restart pending (RESTP) A restrictive state of a page set or partition that indicates that restart (backout) work needs to be performed on the object. RESTP See restart pending. result set The set of rows that a stored procedure returns to a client application. result set locator A 4-byte value that DB2 uses to uniquely identify a query result set that a stored procedure returns. result table The set of rows that are specified by a SELECT statement. retained lock A MODIFY lock that a DB2 subsystem was holding at the time of a subsystem failure. The lock is retained in the coupling facility lock structure across a DB2 for z/OS failure. RID See record identifier.

form. In an entity that satisfies the requirement of first normal form, each attribute is independent and unique in its meaning and its name. See also normalization. replay detection mechanism A method that allows a principal to detect whether a request is a valid request from a source that can be trusted or whether an untrustworthy entity has captured information from a previous exchange and is replaying the information exchange to gain access to the principal. request commit The vote that is submitted to the prepare phase if the participant has modified data and is prepared to commit or roll back. requester The source of a request to access data at a remote server. In the DB2 environment, the requester function is provided by the distributed data facility. resource The object of a lock or claim, which could be a table space, an index space, a data partition, an index partition, or a logical partition. resource allocation The part of plan allocation that deals specifically with the database resources. | | | | | | | | | | | | | | | | | resource control table A construct of previous versions of the CICS attachment facility that defines authorization and access attributes for transactions or transaction groups. Beginning in CICS Transaction Server Version 1.3, resources are defined by using resource definition online instead of the resource control table. See also resource definition online. resource definition online (RDO) The recommended method of defining resources to CICS by creating resource definitions interactively, or by using a utility, and then storing them in the CICS definition data set. In earlier releases of CICS, resources were defined by using the resource control table (RCT), which is no longer supported. resource limit facility (RLF) A portion of DB2 code that prevents dynamic manipulative SQL statements
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

945

DO NOT COPY
RID pool See record identifier pool. right outer join The result of a join operation that includes the matched rows of both tables that are being joined and preserves the unmatched rows of the second join operand. See also join, equijoin, full outer join, inner join, left outer join, and outer join. RLF See resource limit facility. | | | | | | | rowset

Restricted Materials of IBM Licensed Materials Property of IBM

A set of rows for which a cursor position is established. rowset cursor A cursor that is defined so that one or more rows can be returned as a rowset for a single FETCH statement, and the cursor is positioned on the set of rows that is fetched. rowset-positioned fetch orientation The specification of the desired placement of the cursor as part of a FETCH statement, with respect to a rowset (for example, NEXT ROWSET, LAST ROWSET, or ROWSET STARTING AT ABSOLUTE n). Contrast with row-positioned fetch orientation. row trigger A trigger that is defined with the trigger granularity FOR EACH ROW. RRSAF See Recoverable Resource Manager Services attachment facility. RS See read stability.

RLST See resource limit specification table. | role | | | | A database entity that groups together one or more privileges and that can be assigned to a primary authorization ID or to PUBLIC. The role is available only in a trusted context.

rollback The process of restoring data that was changed by SQL statements to the state at its last commit point. All locks are freed. Contrast with commit. root page The index page that is at the highest level (or the beginning point) in an index. routine | | | | | | | row A database object that encapsulates procedural logic and SQL statements, is stored on the database server, and can be invoked from an SQL statement or by using the CALL statement. The main classes of routines are procedures and functions. The horizontal component of a table. A row consists of a sequence of values, one for each column of the table.

savepoint A named entity that represents the state of data and schemas at a particular point in time within a unit of work. SBCS See single-byte character set. SCA See shared communications area.

scalar function An SQL operation that produces a single value from another value and is expressed as a function name, followed by a list of arguments that are enclosed in parentheses. scale In SQL, the number of digits to the right of the decimal point (called the precision in the C language). The DB2 information uses the SQL definition. The organization or structure of a database. A collection of, and a way of qualifying, database objects such as tables, views, routines, indexes or triggers that define a database. A database schema provides a logical classification of database objects.

row identifier (ROWID) A value that uniquely identifies a row. This value is stored with the row and never changes. row lock A lock on a single row of data. | | | | | | row-positioned fetch orientation The specification of the desired placement of the cursor as part of a FETCH statement, with respect to a single row (for example, NEXT, LAST, or ABSOLUTE n). Contrast with rowset-positioned fetch orientation.

schema

946

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | | security label A classification of users access to objects or data rows in a multilevel security environment. segment A group of pages that holds rows of a single table. See also segmented table space. segmented table space A table space that is divided into equal-sized groups of pages called segments. Segments are assigned to tables so that rows of different tables are never stored in the same segment. self-referencing constraint A referential constraint that defines a relationship in which a table is a dependent of itself. self-referencing table A table with a self-referencing constraint. sensitive cursor A cursor that is sensitive to changes that are made to the database after the result table has been materialized. sequence A user-defined object that generates a sequence of numeric values according to user specifications. sequential data set A non-DB2 data set whose records are organized on the basis of their successive physical positions, such as on magnetic tape. Several of the DB2 database utilities require sequential data sets. sequential prefetch A mechanism that triggers consecutive asynchronous I/O operations. Pages are fetched before they are required, and several pages are read with a single I/O operation. serialized profile A Java object that contains SQL statements and descriptions of host variables. The SQLJ translator produces a serialized profile for each connection context. server The target of a request from a remote requester. In the DB2 environment, the server function is provided by the distributed data facility, which is used to access DB2 data from remote applications.
Glossary

scrollability The ability to use a cursor to fetch in either a forward or backward direction. The FETCH statement supports multiple fetch orientations to indicate the new position of the cursor. See also fetch orientation. scrollable cursor A cursor that can be moved in both a forward and a backward direction. search condition A criterion for selecting rows from a table. A search condition consists of one or more predicates. secondary authorization ID An authorization ID that has been associated with a primary authorization ID by an authorization exit routine. secondary group buffer pool For a duplexed group buffer pool, the structure that is used to back up changed pages that are written to the primary group buffer pool. No page registration or cross-invalidation occurs using the secondary group buffer pool. The z/OS equivalent is new structure. secondary index A nonpartitioning index that is useful for enforcing a uniqueness constraint, for clustering data, or for providing access paths to data for queries. A secondary index can be partitioned or nonpartitioned. See also data-partitioned secondary index (DPSI) and nonpartitioned secondary index (NPSI). section The segment of a plan or package that contains the executable structures for a single SQL statement. For most SQL statements, one section in the plan exists for each SQL statement in the source program. However, for cursor-related statements, the DECLARE, OPEN, FETCH, and CLOSE statements reference the same section because they each refer to the SELECT statement that is named in the DECLARE CURSOR statement. SQL statements such as COMMIT, ROLLBACK, and some SET statements do not use a section.

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

947

DO NOT COPY
service class An eight-character identifier that is used by the z/OS Workload Manager to associate user performance goals with a particular DDF thread or stored procedure. A service class is also used to classify work on parallelism assistants. | | service request block A unit of work that is scheduled to execute. session A link between two nodes in a VTAM network. session protocols The available set of SNA communication requests and responses. | set operator The SQL operators UNION, EXCEPT, and | INTERSECT corresponding to the | relational operators union, difference, and | intersection. A set operator derives a | result table by combining two other result | tables. | shared communications area (SCA) A coupling facility list structure that a DB2 data sharing group uses for inter-DB2 communication. share lock A lock that prevents concurrently executing application processes from changing data, but not from reading data. Contrast with exclusive lock. shift-in character A special control character (X0F) that is used in EBCDIC systems to denote that the subsequent bytes represent SBCS characters. See also shift-out character. shift-out character A special control character (X0E) that is used in EBCDIC systems to denote that the subsequent bytes, up to the next shift-in control character, represent DBCS characters. See also shift-in character. sign-on A request that is made on behalf of an individual CICS or IMS application process by an attachment facility to enable DB2 to verify that it is authorized to use DB2 resources. simple page set A nonpartitioned page set. A simple page | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

set initially consists of a single data set (page set piece). If and when that data set is extended to 2 GB, another data set is created, and so on, up to a total of 32 data sets. DB2 considers the data sets to be a single contiguous linear address space containing a maximum of 64 GB. Data is stored in the next available location within this address space without regard to any partitioning scheme. simple table space A table space that is neither partitioned nor segmented. Creation of simple table spaces is not supported in DB2 Version 9.1 for z/OS. Contrast with partitioned table space, segmented table space, and universal table space. single-byte character set (SBCS) A set of characters in which each character is represented by a single byte. Contrast with double-byte character set or multibyte character set. single-precision floating point number A 32-bit approximate representation of a real number. SMP/E See System Modification Program/Extended. SNA See Systems Network Architecture.

SNA network The part of a network that conforms to the formats and protocols of Systems Network Architecture (SNA). socket A callable TCP/IP programming interface that TCP/IP network applications use to communicate with remote TCP/IP partners. sourced function A function that is implemented by another built-in or user-defined function that is already known to the database manager. This function can be a scalar function or an aggregate function; it returns a single value from a set of values (for example, MAX or AVG). Contrast with built-in function, external function, and SQL function. source program A set of host language statements and SQL statements that is processed by an SQL precompiler.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

948

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
SQL authorization ID (SQL ID) The authorization ID that is used for checking dynamic SQL statements in some situations. SQLCA See SQL communication area. SQL communication area (SQLCA) A structure that is used to provide an application program with information about the execution of its SQL statements. SQL connection An association between an application process and a local or remote application server or database server. SQLDA See SQL descriptor area. SQL descriptor area (SQLDA) A structure that describes input variables, output variables, or the columns of a result table. SQL escape character The symbol that is used to enclose an SQL delimited identifier. This symbol is the double quotation mark (). See also escape character. | | | | | | | | SQL function A user-defined function in which the CREATE FUNCTION statement contains the source code. The source code is a single SQL expression that evaluates to a single value. The SQL user-defined function can return the result of an expression. See also built-in function, external function, and sourced function. SQL ID See SQL authorization ID. SQLJ Structured Query Language (SQL) that is embedded in the Java programming language.

source table A table that can be a base table, a view, a table expression, or a user-defined table function. source type An existing type that DB2 uses to represent a distinct type. space A sequence of one or more blank characters.

spatial column A column in a table that is defined using one of the spatial data types provided by IBM Spatial Support for DB2 for z/OS. spatial data Data that is made up of coordinates that identify a geographic location or geographic region. spatial function A function provided by IBM Spatial Support for DB2 for z/OS that performs various operations on spatial data. spatial reference system A set of parameters that includes coordinates that define the maximum possible extent of space that is referenced by a given range of coordinates, an identifier of the coordinate system from which the coordinates are derived, and numbers that convert coordinates into positive integers to improve performance when the coordinates are processed. | | | | | | special register A storage area that DB2 defines for an application process to use for storing information that can be referenced in SQL statements. Examples of special registers are SESSION_USER and CURRENT DATE. specific function name A particular user-defined function that is known to the database manager by its specific name. Many specific user-defined functions can have the same function name. When a user-defined function is defined to the database, every function is assigned a specific name that is unique within its schema. Either the user can provide this name, or a default name is used. SPUFI See SQL Processor Using File Input. SQL See Structured Query Language. |

SQL path An ordered list of schema names that are used in the resolution of unqualified references to user-defined functions, distinct types, and stored procedures. In dynamic SQL, the SQL path is found in the CURRENT PATH special register. In static SQL, it is defined in the PATH bind option. SQL procedure A user-written program that can be
Glossary

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

949

DO NOT COPY
| | | | | | | invoked with the SQL CALL statement. An SQL procedure is written in the SQL procedural language. Two types of SQL procedures are supported: external SQL procedures and native SQL procedures. See also external procedure and native SQL procedure. SQL processing conversation Any conversation that requires access of DB2 data, either through an application or by dynamic query requests. SQL Processor Using File Input (SPUFI) A facility of the TSO attachment subcomponent that enables the DB2I user to execute SQL statements without embedding them in an application program. SQL return code Either SQLCODE or SQLSTATE. SQL routine A user-defined function or stored procedure that is based on code that is written in SQL. | SQL schema A collection of database objects such as | tables, views, indexes, functions, distinct | types, schemas, or triggers that defines a | database. An SQL schema provides a | logical classification of database objects. | SQL statement coprocessor An alternative to the DB2 precompiler that lets the user process SQL statements at compile time. The user invokes an SQL statement coprocessor by specifying a compiler option. SQL string delimiter A symbol that is used to enclose an SQL string constant. The SQL string delimiter is the apostrophe (), except in COBOL applications, where the user assigns the symbol, which is either an apostrophe or a double quotation mark (). SRB See service request block. | | | | | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

corresponding dimension table. See also join, dimension, and star schema. star schema The combination of a fact table (which contains most of the data) and a number of dimension tables. See also star join, dimension, and dimension table. statement handle In DB2 ODBC, the data object that contains information about an SQL statement that is managed by DB2 ODBC. This includes information such as dynamic arguments, bindings for dynamic arguments and columns, cursor information, result values, and status information. Each statement handle is associated with the connection handle. statement string For a dynamic SQL statement, the character string form of the statement. statement trigger A trigger that is defined with the trigger granularity FOR EACH STATEMENT. static cursor A named control structure that does not change the size of the result table or the order of its rows after an application opens the cursor. Contrast with dynamic cursor. static SQL SQL statements, embedded within a program, that are prepared during the program preparation process (before the program is executed). After being prepared, the SQL statement does not change (although values of variables that are specified by the statement might change). storage group A set of storage objects on which DB2 for z/OS data can be stored. A storage object can have an SMS data class, a management class, a storage class, and a list of volume serial numbers. stored procedure A user-written application program that can be invoked through the use of the SQL CALL statement. Stored procedures are sometimes called procedures. string See binary string, character string, or graphic string.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

stand-alone An attribute of a program that means that it is capable of executing separately from DB2, without using DB2 services. star join A method of joining a dimension column of a fact table to the key column of the

950

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
substitution character A unique character that is substituted during character conversion for any characters in the source program that do not have a match in the target coding representation. subsystem A distinct instance of a relational database management system (RDBMS). surrogate pair A coded representation for a single character that consists of a sequence of two 16-bit code units, in which the first value of the pair is a high-surrogate code unit in the range U+D800 through U+DBFF, and the second value is a low-surrogate code unit in the range U+DC00 through U+DFFF. Surrogate pairs provide an extension mechanism for encoding 917 476 characters without requiring the use of 32-bit characters. SVC dump A dump that is issued when a z/OS or a DB2 functional recovery routine detects an error. sync point See commit point. syncpoint tree The tree of recovery managers and resource managers that are involved in a logical unit of work, starting with the recovery manager, that make the final commit decision. | | | | | | synonym In SQL, an alternative name for a table or view. Synonyms can be used to refer only to objects at the subsystem in which the synonym is defined. A synonym cannot be qualified and can therefore not be used by other users. Contrast with alias. Sysplex See Parallel Sysplex. Sysplex query parallelism Parallel execution of a single query that is accomplished by using multiple tasks on more than one DB2 subsystem. See also query CP parallelism. system administrator The person at a computer installation who designs, controls, and manages the use of the computer system.
Glossary

strong typing A process that guarantees that only user-defined functions and operations that are defined on a distinct type can be applied to that type. For example, you cannot directly compare two currency types, such as Canadian dollars and U.S. dollars. But you can provide a user-defined function to convert one currency to the other and then do the comparison. structure v A name that refers collectively to different types of DB2 objects, such as tables, databases, views, indexes, and table spaces. v A construct that uses z/OS to map and manage storage on a coupling facility. See also cache structure, list structure, or lock structure. Structured Query Language (SQL) A standardized language for defining and manipulating data in a relational database. structure owner In relation to group buffer pools, the DB2 member that is responsible for the following activities: v Coordinating rebuild, checkpoint, and damage assessment processing v Monitoring the group buffer pool threshold and notifying castout owners when the threshold has been reached subcomponent A group of closely related DB2 modules that work together to provide a general function. subject table The table for which a trigger is created. When the defined triggering event occurs on this table, the trigger is activated. subquery A SELECT statement within the WHERE or HAVING clause of another SQL statement; a nested SQL statement. | | | | | subselect That form of a query that includes only a SELECT clause, FROM clause, and optionally a WHERE clause, GROUP BY clause, HAVING clause, ORDER BY clause, or FETCH FIRST clause.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

951

DO NOT COPY
system agent A work request that DB2 creates such as prefetch processing, deferred writes, and service tasks. See also allied agent. | system authorization ID The primary DB2 authorization ID that is | used to establish a trusted connection. A | system authorization ID is derived from | the system user ID that is provided by an | external entity, such as a middleware | server. | system conversation The conversation that two DB2 subsystems must establish to process system messages before any distributed processing can begin. System Modification Program/Extended (SMP/E) A z/OS tool for making software changes in programming systems (such as DB2) and for controlling those changes. Systems Network Architecture (SNA) The description of the logical structure, formats, protocols, and operational sequences for transmitting information through and controlling the configuration and operation of networks. table A named data object consisting of a specific number of columns and some number of unordered rows. See also base table or temporary table. Contrast with auxiliary table, clone table, materialized query table, result table, and transition table.

Restricted Materials of IBM Licensed Materials Property of IBM

table space A page set that is used to store the records in one or more tables. See also partitioned table space, segmented table space, and universal table space. table space set A set of table spaces and partitions that should be recovered together for one of the following reasons: v Each of them contains a table that is a parent or descendent of a table in one of the others. v The set contains a base table and associated auxiliary tables. A table space set can contain both types of relationships. task control block (TCB) A z/OS control block that is used to communicate information about tasks within an address space that is connected to a subsystem. See also address space connection. TB TCB TCP/IP A network communication protocol that computer systems use to exchange information across telecommunication links. TCP/IP port A 2-byte value that identifies an end user or a TCP/IP network application within a TCP/IP host. template A DB2 utilities output data set descriptor that is used for dynamic allocation. A template is defined by the TEMPLATE utility control statement. temporary table A table that holds temporary data. Temporary tables are useful for holding or sorting intermediate results from queries that contain a large number of rows. The two types of temporary table, which are created by different SQL statements, are the created temporary table and the declared temporary table. Contrast with result table. See also created temporary table and declared temporary table.
LY37-3218-01 Copyright IBM Corp. 1983, 2007

Terabyte. A value of 1 099 511 627 776 bytes. See task control block.

table-controlled partitioning A type of partitioning in which partition boundaries for a partitioned table are controlled by values that are defined in the CREATE TABLE statement. table function A function that receives a set of arguments and returns a table to the SQL statement that references the function. A table function can be referenced only in the FROM clause of a subselect. | | | | | table locator A mechanism that allows access to trigger tables in SQL or from within user-defined functions. A table locator is a fullword integer value that represents a transition table.

952

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
the program at the remote logical unit that is to be the other half of the conversation. transition table A temporary table that contains all the affected rows of the subject table in their state before or after the triggering event occurs. Triggered SQL statements in the trigger definition can reference the table of changed rows in the old state or the new state. Contrast with auxiliary table, base table, clone table, and materialized query table. transition variable A variable that contains a column value of the affected row of the subject table in its state before or after the triggering event occurs. Triggered SQL statements in the trigger definition can reference the set of old values or the set of new values. tree structure A data structure that represents entities in nodes, with a most one parent node for each node, and with only one root node. trigger | | | | | | | A database object that is associated with a single base table or view and that defines a rule. The rule consists of a set of SQL statements that run when an insert, update, or delete database operation occurs on the associated base table or view. trigger activation The process that occurs when the trigger event that is defined in a trigger definition is executed. Trigger activation consists of the evaluation of the triggered action condition and conditional execution of the triggered SQL statements. trigger activation time An indication in the trigger definition of whether the trigger should be activated before or after the triggered event. trigger body The set of SQL statements that is executed when a trigger is activated and its triggered action condition evaluates to true. A trigger body is also called triggered SQL statements. trigger cascading The process that occurs when the

thread See DB2 thread. threadsafe A characteristic of code that allows multithreading both by providing private storage areas for each thread, and by properly serializing shared (global) storage areas. three-part name The full name of a table, view, or alias. It consists of a location name, a schema name, and an object name, separated by a period. time timeout Abnormal termination of either the DB2 subsystem or of an application because of the unavailability of resources. Installation specifications are set to determine both the amount of time DB2 is to wait for IRLM services after starting, and the amount of time IRLM is to wait if a resource that an application requests is unavailable. If either of these time specifications is exceeded, a timeout is declared. Time-Sharing Option (TSO) An option in z/OS that provides interactive time sharing from remote terminals. timestamp A seven-part value that consists of a date and time. The timestamp is expressed in years, months, days, hours, minutes, seconds, and microseconds. trace A DB2 facility that provides the ability to monitor and collect DB2 monitoring, auditing, performance, accounting, statistics, and serviceability (global) data. A three-part value that designates a time of day in hours, minutes, and seconds.

| | | | | |

transaction An atomic series of SQL statements that make up a logical unit of work. All of the data modifications made during a transaction are either committed together as a unit or rolled back as a unit. transaction lock A lock that is used to control concurrent execution of SQL statements. transaction program name In SNA LU 6.2 conversations, the name of

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

953

DO NOT COPY
triggered action of a trigger causes the activation of another trigger. triggered action The SQL logic that is performed when a trigger is activated. The triggered action consists of an optional triggered action condition and a set of triggered SQL statements that are executed only if the condition evaluates to true. triggered action condition An optional part of the triggered action. This Boolean condition appears as a WHEN clause and specifies a condition that DB2 evaluates to determine if the triggered SQL statements should be executed. triggered SQL statements The set of SQL statements that is executed when a trigger is activated and its triggered action condition evaluates to true. Triggered SQL statements are also called the trigger body. trigger granularity In SQL, a characteristic of a trigger, which determines whether the trigger is activated: v Only once for the triggering SQL statement v Once for each row that the SQL statement modifies | | | | | | | triggering event The specified operation in a trigger definition that causes the activation of that trigger. The triggering event is comprised of a triggering operation (insert, update, or delete) and a subject table or view on which the operation is performed.

Restricted Materials of IBM Licensed Materials Property of IBM

| trusted connection | A database connection whose attributes | match the attributes of a unique trusted | context defined at the DB2 database | server. | trusted connection reuse | The ability to switch the current user ID | on a trusted connection to a different user | ID. | trusted context | A database security object that enables the | establishment of a trusted relationship | between a DB2 database management | system and an external entity. | trusted context default role | A role associated with a trusted context. | The privileges granted to the trusted | context default role can be acquired only | when a trusted connection based on the | trusted context is established or reused. | trusted context user | A user ID to which switching the current | user ID on a trusted connection is | permitted. | trusted context user-specific role | A role that is associated with a specific | trusted context user. It overrides the | trusted context default role if the current | user ID on the trusted connection matches | the ID of the specific trusted context user. | trusted relationship | A privileged relationship between two | entities such as a middleware server and | a database server. This relationship allows | for a unique set of interactions between | the two entities that would be impossible | otherwise. TSO See Time-Sharing Option.

triggering SQL operation The SQL operation that causes a trigger to | be activated when performed on the | subject table or view. | trigger package A package that is created when a CREATE TRIGGER statement is executed. The package is executed when the trigger is activated. | trust attribute An attribute on which to establish trust. A | trusted relationship is established based | on one or more trust attributes. |

TSO attachment facility A DB2 facility consisting of the DSN command processor and DB2I. Applications that are not written for the CICS or IMS environments can run under the TSO attachment facility. typed parameter marker A parameter marker that is specified along with its target data type. It has the general form:
CAST(? AS data-type)

type 2 indexes Indexes that are created on a release of


LY37-3218-01 Copyright IBM Corp. 1983, 2007

954

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
time, an application process is a single unit of work, but the life of an application process can involve many units of work as a result of commit or rollback operations. In a multisite update operation, a single unit of work can include several units of recovery. Contrast with unit of recovery. | | | universal table space A table space that is both segmented and partitioned. unlock The act of releasing an object or system resource that was previously locked and returning it to general availability within DB2. untyped parameter marker A parameter marker that is specified without its target data type. It has the form of a single question mark (?). updatability The ability of a cursor to perform positioned updates and deletes. The updatability of a cursor can be influenced by the SELECT statement and the cursor sensitivity option that is specified on the DECLARE CURSOR statement. update hole The location on which a cursor is positioned when a row in a result table is fetched again and the new values no longer satisfy the search condition. See also delete hole. update trigger A trigger that is defined with the triggering SQL operation update. UR See uncommitted read.

DB2 after Version 7 or that are specified as type 2 indexes in Version 4 or later. UCS-2 Universal Character Set, coded in 2 octets, which means that characters are represented in 16-bits per character. UDF UDT See user-defined function. User-defined data type. In DB2 for z/OS, the term distinct type is used instead of user-defined data type. See distinct type.

uncommitted read (UR) The isolation level that allows an application to read uncommitted data. See also cursor stability, read stability, and repeatable read. underlying view The view on which another view is directly or indirectly defined. undo A state of a unit of recovery that indicates that the changes that the unit of recovery made to recoverable DB2 resources must be backed out.

Unicode A standard that parallels the ISO-10646 standard. Several implementations of the Unicode standard exist, all of which have the ability to represent a large percentage of the characters that are contained in the many scripts that are used throughout the world. | | | | | union An SQL operation that involves the UNION set operator, which combines the results of two SELECT statements. Unions are often used to merge lists of values that are obtained from two tables. unique constraint An SQL rule that no two values in a primary key, or in the key of a unique index, can be the same. unique index An index that ensures that no identical key values are stored in a column or a set of columns in a table. unit of recovery (UOR) A recoverable sequence of operations within a single resource manager, such as an instance of DB2. Contrast with unit of work. unit of work (UOW) A recoverable sequence of operations within an application process. At any
LY37-3218-01 Copyright IBM Corp. 1983, 2007

user-defined data type (UDT) See distinct type. user-defined function (UDF) A function that is defined to DB2 by using the CREATE FUNCTION statement and that can be referenced thereafter in SQL statements. A user-defined function can be an external function, a sourced function, or an SQL function. Contrast with built-in function. user view In logical data modeling, a model or representation of critical information that the business requires.
Glossary

DO NOT COPY

955

DO NOT COPY
UTF-16 Unicode Transformation Format, 16-bit encoding form, which is designed to provide code values for over a million characters and a superset of UCS-2. The CCSID value for data in UTF-16 format is 1200. DB2 for z/OS supports UTF-16 in graphic data fields. UTF-8 Unicode Transformation Format, 8-bit encoding form, which is designed for ease of use with existing ASCII-based systems. The CCSID value for data in UTF-8 format is 1208. DB2 for z/OS supports UTF-8 in mixed data fields. value The smallest unit of data that is manipulated in SQL. | | | | | | | view | | | | | | | | |

Restricted Materials of IBM Licensed Materials Property of IBM

v A version of a LOB is a copy of a LOB value at a point in time. The version number for a LOB is stored in the auxiliary index entry for the LOB. v A version of a record is a copy of the record at a point in time. A logical table that consists of data that is generated by a query. A view can be based on one or more underlying base tables or views, and the data in a view is determined by a SELECT statement that is run on the underlying base tables or views.

variable A data element that specifies a value that can be changed. A COBOL elementary data item is an example of a host variable. Contrast with constant. variant function See nondeterministic function. | | | | | | | | | | | | | | | | | | | | | | | | | | | varying-length string A character, graphic, or binary string whose length varies within set limits. Contrast with fixed-length string. version A member of a set of similar programs, DBRMs, packages, or LOBs. v A version of a program is the source code that is produced by precompiling the program. The program version is identified by the program name and a timestamp (consistency token). v A version of an SQL procedural language routine is produced by issuing the CREATE or ALTER PROCEDURE statement for a native SQL procedure. v A version of a DBRM is the DBRM that is produced by precompiling a program. The DBRM version is identified by the same program name and timestamp as a corresponding program version. v A version of an application package is the result of binding a DBRM within a particular database system. The application package version is identified by the same program name and consistency token as the DBRM.

Virtual Storage Access Method (VSAM) An access method for direct or sequential processing of fixed- and varying-length records on disk devices. Virtual Telecommunications Access Method (VTAM) An IBM licensed program that controls communication and the flow of data in an SNA network (in z/OS). volatile table A table for which SQL operations choose index access whenever possible. VSAM See Virtual Storage Access Method. VTAM See Virtual Telecommunications Access Method. warm start The normal DB2 restart process, which involves reading and processing log records so that data that is under the control of DB2 is consistent. Contrast with cold start. WLM application environment A z/OS Workload Manager attribute that is associated with one or more stored procedures. The WLM application environment determines the address space in which a given DB2 stored procedure runs.

| WLM enclave | A construct that can span multiple | dispatchable units (service request blocks | and tasks) in multiple address spaces, | allowing them to be reported on and | managed by WLM as part of a single | work request.

956

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | documents and navigation among multiple XML data rows in the same document. XML pattern A slash-separated list of element names, an optional attribute name (at the end), or kind tests, that describe a path within an XML document in an XML column. The pattern is a restrictive form of path expressions, and it selects nodes that match the specifications. XML patterns are specified to create indexes on XML columns in a database. XML publishing function A function that returns an XML value from SQL values. An XML publishing function is also known as an XML constructor. XML schema In XML, a mechanism for describing and constraining the content of XML files by indicating which elements are allowed and in which combinations. XML schemas are an alternative to document type definitions (DTDs) and can be used to extend functionality in the areas of data typing, inheritance, and presentation. XML schema repository (XSR) A repository that allows the DB2 database system to store XML schemas. When registered with the XSR, these objects have a unique identifier and can be used to validate XML instance documents. XML serialization function A function that returns a serialized XML string from an XML value. XML table An auxiliary table that is implicitly created when an XML column is added to a base table. This table stores the XML data, and the column in the base table points to it. XML table space A table space that is implicitly created when an XML column is added to a base table. The table space stores the XML table. If the base table is partitioned, one partitioned table space exists for each XML column of data. X/Open An independent, worldwide open systems organization that is supported by most of

write to operator (WTO) An optional user-coded service that allows a message to be written to the system console operator informing the operator of errors and unusual system conditions that might need to be corrected (in z/OS). WTO WTOR Write to operator (WTO) with reply. XCF XES XML See cross-system coupling facility. See cross-system extended services. See Extensible Markup Language. See write to operator.

XML attribute A name-value pair within a tagged XML element that modifies certain features of the element. | | | | | | | | XML column A column of a table that stores XML values and is defined using the data type XML. The XML values that are stored in XML columns are internal representations of well-formed XML documents. XML data type A data type for XML values. XML element A logical structure in an XML document that is delimited by a start and an end tag. Anything between the start tag and the end tag is the content of the element. | | | | | | | | | XML index An index on an XML column that provides efficient access to nodes within an XML document by providing index keys that are based on XML patterns. XML lock A column-level lock for XML data. The operation of XML locks is similar to the operation of LOB locks. XML node The smallest unit of valid, complete structure in a document. For example, a node can represent an element, an attribute, or a text string. | | | XML node ID index An implicitly created index, on an XML table that provides efficient access to XML

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Glossary

957

DO NOT COPY
the worlds largest information systems suppliers, user organizations, and software companies. X/Opens goal is to increase the portability of applications by combining existing and emerging standards. XRF | XSR | zIIP z/OS See Extended Recovery Facility. See XML schema repository. See IBM System z9 Integrated Processor. An operating system for the System z product line that supports 64-bit real and virtual storage.

Restricted Materials of IBM Licensed Materials Property of IBM

z/OS Distributed Computing Environment (z/OS DCE) A set of technologies that are provided by the Open Software Foundation to implement distributed computing.

958

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY

Index Numerics
00C9009F abend 00C90101 abend 00C90102 abend 00C90105 abend 00C9010x abend 00C9011x abend 00C902xx abend 422 144, 440 144, 440 144 427, 437 439, 440 144, 440 agent (continued) ASM subcomponent 30 system agent 7 agent creation/termination function 30 agent resources allocation/deallocation function 30 agent structure 12 AGNT (allied agent block) control block linkage from RMVT 766 AIDL (authorization identification list) control block linkage from ACE 764 ALLDUMPS option of DIAGNOSE utility 274 allied address space address spaces used by DB2 5 role of agent services manager 30 role of initialization subcomponent 52 allocation services DM subcomponent 37 allocation/deallocation control function 30 ALTER TABLE statement 14 ALW (active log write) control block linkage from RMVT 766 AMGS (SSAM global anchor block) control block linkage from RMVT 766 analyzing inconsistencies using SVC dump 431 anchor point 406 APAR preparation 158 application program commit processing 15 IMS attachment 48 monitor trace 226 archive log control by recovery log manager 29 description 15 in RLM subcomponent 15 retaining 418 ARD (archive read directory) control block linkage 766 ARDE (ARD entry) control block linkage 766 ARRB (archive read request block) control block linkage 766 ARVP (archive data set parameters) control block linkage from RMVT 766 ASCB (address space control block, z/OS) address space control block linkage 760 in overall DB2 control block linkage 759 in SVC dumps 182 ASCE (address space control element) address space control block linkage 760 captured in SVC dump 184 control block linkage 763 control block linkage from ERLY 762 finding in dump 197 in overall DB2 control block linkage 759 in z/OS task structure 9 role of initialization procedures subcomponent 51 ASCESCOM field 197 ASE (agent status segments element) control block linkage from ACE 764 ASID (address space identifier) in control block linkage 759

A
AB (address space block (local)) control block linkage from ACOM 768 abend 13 00C90101 144, 440 00C90102 144, 431 00C90105 144 00C9010x 427, 437 00C9011x 439, 440 00C902xx 144, 427, 437, 440 ASM abend 30 ABEND option of DIAGNOSE utility 275 ABENDx keyword 120 ABG (address space block (global)) control block linkage from ACOM 768 abort 16, 18 access method services to rename DB2 data sets 417 access path 29 accessibility keyboard xiv shortcut keys xiv ACE (agent control element) agent structure control block linkage 760 control block linkages 766 description 7 in ASCE control block linkage 763 in ASM subcomponent 30 ACOM (communications vector table) control block linkage from ACOM 768 control block linkage from ERLY 762 database services overall control block linkage in overall DB2 control block linkage 759 active log 15, 29 address space allied 30 cleanup 52 database services 3, 51, 52 DB2 30 distributed data facility 3 home 182, 279 primary 182, 279 secondary 182, 279 service task 52 startup/shutdown function 30 system services 51, 52 address space identifier (ASID) 759 agent allied agent 7, 27 LY37-3218-01 Copyright IBM Corp. 1983, 2007

761

DO NOT COPY

959

DO NOT COPY
ASID (address space identifier) (continued) in MEPL 199 in SYS1.LOGREC 212 ASLB (address space local block) control block linkage from ASCE 763 ASLGEN 55 ASM (agent services manager) 10, 27 assembler language program using IMS attachment facility 48 ASST (address space structures table) address space control block linkage 760 control block linkage from ASCE 763 role of initialization procedures subcomponent ATBL (all stack elements table) control block linkage from ASCE 763 attach facility general 11 input path to DB2 23 request processing 25 task structure 7 attachment facility precompiler use of 53 authority authorization control function 55 authorization function of RDS 55 authorization ID 26 problems 270 authorization exit 13 auxiliary relationship OBD format 542

Restricted Materials of IBM Licensed Materials Property of IBM

51

BM (buffer manager) (continued) description 34 finding in a dump 437 page 34 page set 34 summary description 27 use of DM 34 use of DSM 34 BMEPL finding in dump 201 illustration 202 BMP (IMS) 48 BMVT (buffer manager vector table) control block linkage from ACOM 768 BSDS (bootstrap data set) 60 brief description 29 Change Log Inventory utility 58 control block linkage from RMVT 766 limits 58 role of recovery log manager 58 buffer 27 buffer pool 34

C
CAB (call attachment facility control block) traces 243 CAF (call attachment facility) connection function CLOSE function 35 CONNECT function 35 DISCONNECT function 35 implicit 35 OPEN function 35 SQL calls 35 TRANSLATE function 35 DB2 attachment facilities 11 description 27 finding trace table 243 interpreting trace messages 243 producing trace messages 242 trace 242 cancel function 30 CAT (catalog column description) control block linkage 772 catalog tables, DB2 accessing via hashes 406 accessing via links 408 check constraints 728 consistency between 270 description 406 diagnosis 270 diagrams DSNDB06.SYSCOPY 548 DSNDB06.SYSDBASE 553 DSNDB06.SYSDBAUT 548 DSNDB06.SYSDDF 549 DSNDB06.SYSEBCDC 550 DSNDB06.SYSGPAUT 550 DSNDB06.SYSGROUP 551 DSNDB06.SYSGRTNS 554 DSNDB06.SYSHIST 554 DSNDB06.SYSJAUXA 554 DSNDB06.SYSJAUXB 554 DSNDB06.SYSJAVA 556 DSNDB06.SYSOBJ 557 DSNDB06.SYSPKAGE 559

B
back-level image copy data sets 418 backout in DB2 commit processing 15 in two-phase commit processing 19 role of data space manager subcomponent 40 role of recovery manager 29 backout vote 20 backup 30 BACKUP utility in data backup 70 BALR 9 basic row format 385 BBRA (buffer block root area) control block linkage from CT 770 BCR1 (BSDS control record 1) control block linkage from RMVT 766 begin-abort 18 begin-phase-1 16, 17 begin-phase-2 17 begin-UR 16, 17 bind plan 12 precompiler 28 process 56 service controller 29 subcommand of DSN 54 support 37 BIND description 25 BIND, REBIND, and FREE processing function 63 bit map 378 BM (buffer manager) buffer pool 34 DASD 34 database services overall control block linkage 761

960

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


catalog tables, DB2 (continued) diagrams (continued) DSNDB06.SYSPLAN 558 DSNDB06.SYSPLUXA 560 DSNDB06.SYSROLES 561 DSNDB06.SYSRTSTS 561 DSNDB06.SYSSEQ 564 DSNDB06.SYSSEQ2 564 DSNDB06.SYSSTATS 566, 567 DSNDB06.SYSSTR 568 DSNDB06.SYSTARG 567 DSNDB06.SYSUSER 558 image copy 417 index formats IPLIST 685 IPNAMES 685 LOCATIONS 685 LULIST 685 LUMODES 685 LUNAMES 686 MODESELECT 686 SYSAUXRELS 686 SYSCHECKDEP 687 SYSCHECKS 687 SYSCHECKS2 687 SYSCOLAUTH 687 SYSCOLDIST 688 SYSCOLDIST_HIST 688 SYSCOLDISTSTATS 688 SYSCOLSTATS 688 SYSCOLUMNS 689 SYSCOLUMNS_HIST 689 SYSCONSTDEP 689, 690 SYSCONTEXT 690 SYSCONTEXTAUTHIDS 690, 691 SYSCOPY 691 SYSCTXTTRUSTATTRS 691 SYSDATABASE 691 SYSDATATYPES 692 SYSDBAUTH 692 SYSDEPENDENCIES 692, 693 SYSENVIRONMENT 693 SYSFOREIGNKEYS 693 SYSINDEXES 693, 694 SYSINDEXES_HIST 694, 695 SYSINDEXPART_HIST 695 SYSINDEXSTATS 695 SYSINDEXSTATS_HIST 697 SYSJARCLASS_SOURCE 697 SYSJARCONTENTS 697 SYSJARDATA 697 SYSJAROBJECTS 697 SYSJAVAOPTS 697 SYSJAVAPATHS 697, 698 SYSKEYCOLUSE 698 SYSKEYS 698 SYSKEYTARGETS 698, 699 SYSKEYTARGETS_HIST 699 SYSKEYTARGETSTATS 699 SYSKEYTGTDIST 699 SYSKEYTGTDIST_HIST 700 SYSKEYTGTDISTSTATS 700 SYSLOBSTATS 700 SYSOBDS 701 SYSOBJROLEDEP 701 SYSPACKAGE 702 SYSPACKAUTH 702 LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
catalog tables, DB2 (continued) index formats (continued) SYSPACKDEP 703, 704 SYSPACKLIST 704 SYSPACKSTMT 704 SYSPARMS 705, 706 SYSPKSYSTEM 706 SYSPLAN 706 SYSPLANAUTH 707 SYSPLANDEP 707 SYSPLSYSTEM 707 SYSRELS 707, 708 SYSRESAUTH 708 SYSROLES 709 SYSROUTINEAUTH 709, 710 SYSROUTINES 710, 712, 713, 715 SYSROUTINES_OPTS 715 SYSROUTINES_SRC 715 SYSSCHEMAAUTH 715, 716 SYSSEQUENCEAUTH 716 SYSSEQUENCES 717 SYSSEQUENCESDEP 717 SYSSTOGROUP 718 SYSSTRINGS 718 SYSSYNONYMS 718 SYSTABAUTH 718, 720 SYSTABCONST 720 SYSTABLEPART 720, 721 SYSTABLEPART_HIST 721 SYSTABLES 721, 722 SYSTABLES_HIST 722 SYSTABLESPACE 722 SYSTABLESPACESTATS 722 SYSTABSTATS 723 SYSTABSTATS_HIST 723 SYSTRIGGERS 723, 724 SYSUSERAUTH 724 SYSVIEWDEP 724, 725 SYSVIEWS 725 SYSVTREE 725 SYSXMLRELS 726 SYSXMLSTRINGS 726 USERNAMES 686 IPLIST 574 IPNAMES 574 LOCATIONS 575 LULIST 575 LUMODES 575 LUNAMES 576 MODESELECT 576 OBID cross reference 727 SYSAUXRELS 577 SYSCHECKDEP 577 SYSCHECKS 578 SYSCHECKS2 578 SYSCOLAUTH 579 SYSCOLDIST 580, 581 SYSCOLDIST_HIST 582 SYSCOLDISTSTATS 580 SYSCOLSTATS 584, 587 SYSCOLUMNS 587 SYSCONSTDEP 587, 588 SYSCONTEXT 589 SYSCONTEXTAUTHIDS 590 SYSCOPY 591 SYSCTXTTRUSTATTRS 593 SYSDATABASE 594

DO NOT COPY

Index

961

DO NOT COPY
catalog tables, DB2 (continued) SYSDATATYPES 595 SYSDBAUTH 596 SYSDBRM 597 SYSDEPENDENCIES 598 SYSDUMMY1 599 SYSENVIRONMENT 599 SYSFIELDS 600 SYSFOREIGNKEYS 600 SYSINDEXES 601 SYSINDEXES_HIST 604 SYSINDEXPART 605 SYSINDEXPART_HIST 608 SYSINDEXSPACESTATS 610 SYSINDEXSTATS 612 SYSINDEXSTATS_HIST 613 SYSJARCONTENTS 614 SYSJAROBJECTS 614 SYSJAVAOPTS 615 SYSJAVAPATHS 616 SYSKEYCOLUSE 616 SYSKEYS 617 SYSKEYTARGETS 617 SYSKEYTARGETS_HIST 618 SYSKEYTARGETSTATS 619 SYSKEYTGTDIST 620 SYSKEYTGTDIST_HIST 621 SYSKEYTGTDISTSTATS 621 SYSLOBSTATS 622 SYSLOBSTATS_HIST 623 SYSOBDS 623 SYSOBJROLEDEP 624 SYSPACKAGE 624 SYSPACKAUTH 627 SYSPACKDEP 627 SYSPACKLIST 628 SYSPACKSTMT 628 SYSPARMS 630 SYSPKSYSTEM 631 SYSPLAN 631 SYSPLANAUTH 634 SYSPLANDEP 634 SYSPLSYSTEM 635 SYSRELS 635 SYSRESAUTH 636 SYSROLES 637 SYSROUTINEAUTH 637 SYSROUTINES 638 SYSROUTINES_OPTS 645 SYSROUTINES_SRC 646 SYSROUTINESTEXT 644 SYSSCHEMAAUTH 646 SYSSEQUENCEAUTH 647 SYSSEQUENCES 648 SYSSEQUENCESDEP 649 SYSSTMT 650 SYSSTOGROUP 651 SYSSTRINGS 652 SYSSYNONYMS 653 SYSTABAUTH 653 SYSTABCONST 655 SYSTABLEPART 656 SYSTABLEPART_HIST 660 SYSTABLES 661 SYSTABLES_HIST 668 SYSTABLESPACE 666 SYSTABLESPACESTATS 670

Restricted Materials of IBM Licensed Materials Property of IBM

catalog tables, DB2 (continued) SYSTABSTATS 672 SYSTABSTATS_HIST 672 SYSTRIGGERS 673 SYSUSERAUTH 674 SYSVIEWDEP 675 SYSVIEWS 675 SYSVLTREE 677 SYSVOLUMES 677 SYSVTREE 678 SYSXMLRELS 678 SYSXMLSTRINGS 678 USERNAMES 679 CBDS (control block data structures) control block linkage from ERLY 762 CBFR (MCS console buffer) control block linkage 766 CCB (composite capability block) agent structure control block linkage 760 control block linkage from ACE 764 control block linkage from ERLY 762 control block linkage from RMVT 766 CCWA (checkpoint control work area) control block linkage 766 CD-ROM, books on 903 CDBG (global bind table) control block linkage from ERLY 762 CDBL (local bind table) control block linkage from ASCE 763 CDCC (DB2CDC communication area) control block linkage from ASCE 763 CGDA (command global data area) control block linkage 766 Change Log Inventory utility 58 check constraint OBIDs 728 check constraint OBD format 509 check constraints on DB2 catalog 728 CHECK option (DSN1COPY) 422, 438 CHECK utility 272 checkpoint 60 CHOI (RDS choice structure) control block linkage 772 CICS in DB2 commit processing 15 in the connection process 12 two-phase commit 17 CICS attachment facility brief description 27 DB2 attachment facilities 11 DB2 commands 47 CLA (RDS column array) control block linkage 772 CLIST 54 CLST (cursor list) control block linkage from CT 770 clustering index 355 column fixed-length 384 null values 385 varying-length 384 command processor 28, 47 command syntax 28 commit phase-2 40 point 15

962

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


commit (continued) process DB2 15 distributed two-phase 18 for CICS applications 16 for IMS applications 16 for TSO applications 16 statement 15, 16 commit process description 16 for TSO applications 16 component identifier keyword 114 compression dictionary 379 CONN (SSI connect block) control block linkage from RMVT 766 CONN-ID 427 connection address space to DB2 30 IMS to DB2 28 using TSO 30 utilities to DB2 12 z/OS subsystem interface 30 contents partitioned page sets 352 contiguous free space data page 389 control region, IMS 48 control status events IMS attachment facility 247 conversion error 271 coordinator in commit process 16, 18 upstream 22 COPY utility 272 in data backup 70 CORR-ID 427 correlation identifier 783 COST (RDS cost structure) control block linkage 772 CREATE TABLE statement 14 create thread command 30 description 12 CSA (common service area) 56 CSECT keyword 143 name, finding in dump 200 SDSNSAMP(DSNWMODS) 755 CST (MCS console status table) control block linkage from RMVT 766 CT (cursor table) agent structure control block linkage 760 content 203 control block linkage from ACE 764 control block linkage from CT 770 finding in dump 203 CTDB (cursor table database block) control block linkage from CT 770 CTDX (cursor table extension (dynamic)) control block linkage from CT 770 CTERQUAL 187, 212 CTHX (cursor table extension (static)) control block linkage from CT 770 CTRACE description 259 example 261 IRLM 50 LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
CTRDSP field 205 CUB (cursor block) control block linkage from CT 770 CVT (communication vector table) 759

D
damaged data data page 431 index page 434 renaming data sets 417 resolving data and index inconsistencies 437 DASD DBD storage 414 for active logs 58 log data sets 16 problems 271 data alteration 14 compression 14 encryption 14 limiting access to 425 unavailable 422 data communication resource manager (DCRM) conversation manager 43 description 43 queue manager 43 TCP/IP manager 43 VTAM manager 43 data compression 379 data inconsistency problems background information for resolving 347 causes 421 description 421 resolving with REBUILD INDEX 437 resolving with RECOVER 437 symptoms 425 00C9011x abend 439 symptoms and actions 421 types 421 using RECOVER utility 417 data page analyzing 431 contents header 384 holes 384 ID map 389 overflow records 384 page tail area 389 records 384 description 369, 380 file page set 384 format illustration 380 general format 394 header format 478 illustration 432 partitioned page sets 352 record formats 384 RIDs (record IDs) 381 space management deleting records 395 inserting records 394 updating fixed-length records 395 updating varying-length records 395 data page header (PGHEAD) 432 data set damaged 417

DO NOT COPY

Index

963

DO NOT COPY
data set (continued) deletion 40 log 58 page set 40 data sharing commit process 16 environment 285 group attach 11 group buffer pool (GBP) 16, 33 group restart 74 locking 10 problem diagnosis hangs 285 inconsistent data 286 IRLM delays 287 timeouts, deadlocks 286 data space amount used for LOBs 52 use for storage pools 65 data type date/time 387 numeric 387 database name 437 database services address space 4 DATE internal format 387 DATE and TIME exit routines 14, 57 DB2 command syntax 23 input 23 objects 348 output 23 user databases, image copy 417 DB2 books online 903 DB2 Information Center for z/OS solutions DB2-DL/I batch support 48 DB2I (DB2 Interactive) 26, 30 DBD (database descriptor) accessing via hashes 406 accessing via links 408 analyzing 443 description 347 fan set extension block 531 format, header and record 497 format, illustration 413 formats 503 header 497 header format 503 hierarchic structure 445 inconsistencies, resolving 439 internal structure 409 locating in dump 440 managing 413, 414 OBDDMAP 445 obtaining dumps of 439 on DASD 414 page set extension block 539 sample, illustration 414 structural key 531 trigger descriptor block 540 DBDR 497 DBD parent record format 497 DBDS 498 DBD child record format 498 DBRM (database request module) in allied thread processing 12 role of precompiler 53

Restricted Materials of IBM Licensed Materials Property of IBM

903

DBS (database services) 3 DCLGEN 30 DECIMAL decoding DECIMAL data 387 deleting records 395 dependent region, IMS 48 DERU (DM page sets defer restart parameters) control block linkage from CT 770 DESCRIBE statement 26, 56 DIAGNOSE utility 272 keyword descriptions 274 option descriptions 274 syntax diagram 272 diagnostic area in SVC dump 427 dictionary page description 379 format 380, 481 nonsegmented 380 segmented 380 structure 379 directory, DB2 accessing via hashes 406 accessing via links 408 description 406 diagrams DSNDB01.DBD01 546 DSNDB01.SCT02 546 DSNDB01.SPT01 546 DSNDB01.SYSUTILX 547 formats DBD header and record 497 SKCT header and record 498 SKPT header and record 499 SYSIBM.SYSLGRNX 500 SYSIBM.SYSUTIL 500 SYSIBM.SYSUTILX 502 image copy 417 SPM services 30 SYSUTIL 500 SYSUTILX 502 disability xiv dispatching mode 7 DISPLAY DATABASE command 29 DISPLAY DATABASE(*) RESTRICT 425 DISPLAY option of DIAGNOSE utility 275 DISPLAY SPUFI 279 DISPLAY THREAD command 30, 128 DISPLAY TRACE command TNO keyword 232 DISTINCT clause 56 distributed data facility hangs during processing 303 address space 4 APPC/VTAM 41 commands CANCEL DDF THREAD 303, 305 D NET,BFRUSE 311 D NET,ROUTE 309 DISPLAY THREAD DETAIL 303 DISPLAY THREAD(*) DETAIL 308 VTAM TERMINATE 304 conversation defined 41 database access agent 41 DDF dumps 295 DDF serviceability trace 295

964

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
distributed relational database architecture (DRDA) (continued) trace records (continued) IFCID 0192 325, 341 IFCID 0193 325, 342 IFCID 0194 325 IFCID 0195 325 distributed transaction manager (DTM) description 45 distributed two-phase commit alerts 342 backout vote 20 error conditions 342 forget vote 20 heuristic decision 19 last agent optimization 22 prepare message 19 presumed abort process 102 presumed abort protocol 19 presumed nothing process 101 presumed nothing protocol 19 protocol overview 18 reliable partner 19, 102 request-commit vote 20 statistics class 4 342 trace records IFCID 0203 342 IFCID 0204 343 IFCID 0207 343 IFCID 0209 343 IFCID 0234 344 IFCID 0235 344 unreliable partner 19, 102 DL/I batch support 48 DM (data manager) 14, 27, 761 internal descriptor 348 OBDs for DM objects fan sets 348 files 348 page sets 348 record types 348 relationship between DM and DB2 objects 348 subcomponent description 36 DMPR (DM dump control block) control block linkage from CT 770 DMPW (formatted dump services work area) control block linkage from ERLY 762 DOC keyword 142 document ID 361 document ID index 361 downstream participant 22 drop list 40 DSM (data space manager) data set 40 database services overall control block linkage 761 description 27 page set 40 use of buffer manager 34 DSN command processor 68, 254 DSN1 value 212 DSN1CHKR utility after unsuccessful RECOVER 438 summary 278 use for identifying broken links 455 DSN1COPY dump using to resolve inconsistency 431

distributed data facility (continued) diagnosing failures 295 loops 309 waits 295 distributed data defined 46 distributed SQL application flow TCP/IP connection 296 VTAM connection 295 error messages on the z/OS console 300, 302 error unique to DDF 295 flow of control for DB2 database server 98 flow of control for DB2 private protocol access 96 flow of control for remote bind 100 flow of control for remote-unit-of-work SQL 97 gathering diagnostic information 295 global trace 237 looping 309 VTAM internal trace 310 problem determination procedures 305 requesting agent 41 resource managers 4 service tasks 9 SNA pacing 295 summary report 321 storage shortage 310 subcomponent description 41 subcomponents 27 terminating a session 303 VTAM buffer trace 318 common service area 307 internal trace 322 paging 309 path information units (PIU) 316 request unit (RU) 317 request/response header 316 return codes 297 session identifier 303 traces 315 transmission header 316 Distributed data facility diagnosing waits 131 distributed relational data system (DRDS) description 46 distributed relational database architecture (DRDA) DB2 reason codes 326 DDM model 327 diagnosis database server 326 requester 326 distributed data interchange services RDTA structure 334 distributed data interchange services ZEDAstructure 335 early descriptor LID 328 Early descriptors 328 exception condition 325 exception event notification 325 FDOCA descriptors, local identifier (LID) 328 model 327 late descriptors 329 object descriptors 327 statistics class 4 327 trace records IFCID 0191 325, 335 LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Index

965

DO NOT COPY
DSN1COPY utility CHECK option 425 summary 278 DSN1LOGP utility 278 DSN1PRNT dump using to resolve inconsistency 430, 431 DSN1PRNT utility summary 278 DSN1SDMP Utility description 278 DSN2 value 212 DSN3@ATH routine 13 DSN3@SGN routine 13 DSN3AUFR VRA data recorded by 212 DSN3ID30 routine 13 DSN9SCN9 VRA data recorded by 212 DSNACX01 (SYSIBM.SYSCOLAUTH) 687 DSNADH01 (SYSIBM.SYSDBAUTH) 692 DSNADX01 (SYSIBM.SYSDBAUTH) 692 DSNAGH01 (SYSIBM.SYSRESAUTH) 708 DSNAGX01 (SYSIBM.SYSRESAUTH) 708 DSNALI load module 35 DSNAPH01 (SYSIBM.SYSPLANAUTH) 707 DSNAPRH 25 DSNAPX01 (SYSIBM.SYSPLANAUTH) 707 DSNATX01 (SYSIBM.SYSTABAUTH) 718 DSNATX02 (SYSIBM.SYSTABAUTH) 718 DSNATX03 (SYSIBM.SYSTABAUTH) 719 DSNATX04 (SYSIBM.SYSTABAUTH) 720 DSNAUH01 (SYSIBM.SYSUSERAUTH) 724 DSNAUX01 (SYSIBM.SYSUSERAUTH) 724 DSNCAX01 (SYSIBM.SYSCTXTTRUSTATTRS) 691 DSNCCX01 (SYSIBM.SYSCONSTDEP) 689 DSNCCX02 (SYSIBM.SYSCONSTDEP) 690 DSNCDX01 (SYSIBM.SYSCONTEXTAUTHIDS) 690 DSNCDX02 (SYSIBM.SYSCONTEXTAUTHIDS) 691 DSNCHX01 (SYSIBM.SYSCHECKS2) 687 DSNCNX01 (SYSIBM.SYSTABCONST) 720 DSNCNX02 (SYSIBM.SYSTABCONST) 720 DSNCTX01 (SYSIBM.SYSCONTEXT) 690 DSNCTX02 (SYSIBM.SYSCONTEXT) 690 DSNCTX03 (SYSIBM.SYSCONTEXT) 690 DSNCTX04 (SYSIBM.SYSCONTEXT) 690 DSNCUX01 (SYSIBM.SYSKEYCOLUSE) 698 DSNDB01 OBID cross reference 727 DSNDB01.DB01 546 DSNDB01.SCT02 546 DSNDB01.SPT01 546 DSNDB01.SYSUTILX 547 DSNDB06.SYSCOPY 548 DSNDB06.SYSDBASE 553 DSNDB06.SYSDBAUT 548 DSNDB06.SYSDDF 549 DSNDB06.SYSEBCDC 550 DSNDB06.SYSGPAUT 550 DSNDB06.SYSGROUP 551 DSNDB06.SYSGRTNS 554 DSNDB06.SYSHIST 554 DSNDB06.SYSJAUXA 554 DSNDB06.SYSJAUXB 554 DSNDB06.SYSJAVA 556 DSNDB06.SYSOBJ 557 DSNDB06.SYSPKAGE 559 DSNDB06.SYSPLAN 558 DSNDB06.SYSPLUXA 560

Restricted Materials of IBM Licensed Materials Property of IBM

DSNDB06.SYSROLES 561 DSNDB06.SYSSEQ 564 DSNDB06.SYSSEQ2 564 DSNDB06.SYSSTATS 566, 567 DSNDB06.SYSSTR 567 DSNDB06.SYSTARG 567 DSNDB06.SYSUSER 558 DSNDCX01 (SYSIBM.SYSCOLUMNS) 689 DSNDCX02 (SYSIBM.SYSCOLUMNS) 689 DSNDDH01 (SYSIBM.SYSDATABASE) 691 DSNDDX02 (SYSIBM.SYSDATABASE) 692 DSNDKX01 (SYSIBM.SYSKEYS) 698 DSNDLX01 (SYSIBM.SYSRELS) 707 DSNDLX02 (SYSIBM.SYSRELS) 708 DSNDLX03 (SYSIBM.SYSRELS) 708 DSNDOB01 (SYSIBM.SYSOBDS) 701 DSNDOB02 (SYSIBM.SYSOBDS) 701 DSNDPX01 (SYSIBM.SYSTABLEPART) 720 DSNDPX02 (SYSIBM.SYSTABLEPART) 721 DSNDPX03 (SYSIBM.SYSTABLEPART) 721 DSNDPX04 (SYSIBM.SYSTABLEPART) 721 DSNDRH01 (SYSIBM.SYSFOREIGNKEYS) 693 DSNDRX02 (SYSIBM.SYSINDEXPART) 695 DSNDSX01 (SYSIBM.SYSTABLESPACE) 722 DSNDSX01 (SYSIBM.SYSTABLESPACESTATS) 722 DSNDTX01 (SYSIBM.SYSTABLES) 721 DSNDTX02 (SYSIBM.SYSTABLES) 722 DSNDTX03 (SYSIBM.SYSTABLES) 722 DSNDUX01 (SYSIBM.IPLIST) 685 DSNDXX01 (SYSIBM.SYSINDEXES) 693 DSNDXX02 (SYSIBM.SYSINDEXES) 694 DSNDXX03 (SYSIBM.SYSINDEXES) 694 DSNDXX04 (SYSIBM.SYSINDEXES) 694 DSNDYX01 (SYSIBM.SYSSYNONYMS) 718 DSNFCX01 (SYSIBM.LOCATIONS) 685 DSNFDX01 (SYSIBM.MODESELECT) 686 DSNFEX01 (SYSIBM.USERNAMES) 686 DSNFLX01 (SYSIBM.LULIST) 685 DSNFLX02 (SYSIBM.LULIST) 685 DSNFMX01 (SYSIBM.LUMODES) 685 DSNFNX01 (SYSIBM.LUNAMES) 686 DSNFPX01 (SYSIBM.IPNAMES) 685 DSNGGX01 (SYSIBM.SYSPLANDEP) 707 DSNGGX02 (SYSIBM.SYSVIEWDEP) 724 DSNGGX03 (SYSIBM.SYSVIEWDEP) 725 DSNH CLIST 54 DSNHBX01 (SYSIBM.SYSTABSTATS_HIST) 723 DSNHCX01 (SYSIBM.SYSTABLEPART_HIST) 721 DSNHDX01 (SYSIBM.SYSTABLES_HIST) 722 DSNHEX01 (SYSIBM.SYSCOLUMNS_HIST) 689 DSNHFX01 (SYSIBM.SYSCOLDIST_HIST) 688 DSNHGX01 (SYSIBM.SYSINDEXPART_HIST) 695 DSNHHX01 (SYSIBM.SYSINDEXES_HIST) 694 DSNHHX02 (SYSIBM.SYSINDEXES_HIST) 695 DSNHIX01 (SYSIBM.SYSINDEXSTATS_HIST) 696 DSNHKX02 (SYSIBM.SYSKEYTARGETS_HIST) 699 DSNJCX01 (SYSIBM.SYSJARCONTENTS) 697 DSNJDX01 (SYSIBM.SYSJARDATA) 697 DSNJOX01 (SYSIBM.SYSJAROBJECTS) 697 DSNJPX01 (SYSIBM.SYSJAVAPATHS) 697 DSNJPX02 (SYSIBM.SYSJAVAPATHS) 698 DSNJSX01 (SYSIBM.SYSJARCLASS_SOURCE) 697 DSNJVX01 (SYSIBM.SYSJAVAOPTS) 697 DSNKAX01 (SYSIBM.SYSPACKAUTH) 702 DSNKAX02 (SYSIBM.SYSPACKAUTH) 702 DSNKAX03 (SYSIBM.SYSPACKAUTH) 703 DSNKDX01 (SYSIBM.SYSPACKDEP) 703

966

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


DSNKDX02 (SYSIBM.SYSPACKDEP) 703 DSNKDX03 (SYSIBM.SYSPACKDEP) 704 DSNKKX01 (SYSIBM.SYSPACKAGE) 702 DSNKKX02 (SYSIBM.SYSPACKAGE) 702 DSNKLX01 (SYSIBM.SYSPACKLIST) 704 DSNKLX02 (SYSIBM.SYSPACKLIST) 704 DSNKPX01 (SYSIBM.SYSPLSYSTEM) 707 DSNKSX01 (SYSIBM.SYSPACKSTMT) 704 DSNKYX01 (SYSIBM.SYSTEM) 706 DSNLFRCV VRA data recorded by 212 DSNLNX01 (SYSIBM.SYSLOBSTATS) 700 DSNOAX01 (SYSIBM.SYSROUTINEAUTH) 709 DSNOAX02 (SYSIBM.SYSROUTINEAUTH) 709 DSNOAX03 (SYSIBM.SYSROUTINEAUTH) 710 DSNODX01 (SYSIBM.SYSDATATYPES) 692 DSNODX02 (SYSIBM.SYSDATATYPES) 692 DSNOEX01 (SYSIBM.SYSENVIRONMENT) 693 DSNOFX01 (SYSIBM.SYSROUTINES) 710 DSNOFX02 (SYSIBM.SYSROUTINES) 712 DSNOFX03 (SYSIBM.SYSROUTINES) 712 DSNOFX04 (SYSIBM.SYSROUTINES) 712 DSNOFX05 (SYSIBM.SYSROUTINES) 713 DSNOFX06 (SYSIBM.SYSROUTINES) 713 DSNOFX07 (SYSIBM.SYSROUTINES) 713 DSNOFX08 (SYSIBM.SYSROUTINES) 715 DSNONX01 (SYSIBM.SYSDEPENDENCIES) 692 DSNONX02 (SYSIBM.SYSDEPENDENCIES) 693 DSNOPX01 (SYSIBM.SYSPARMS) 705 DSNOPX02 (SYSIBM.SYSPARMS) 705 DSNOPX03 (SYSIBM.SYSPARMS) 706 DSNOPX04 (SYSIBM.SYSPARMS) 706 DSNOTX01 (SYSIBM.SYSTRIGGERS) 723 DSNOTX02 (SYSIBM.SYSTRIGGERS) 724 DSNOTX03 (SYSIBM.SYSTRIGGERS) 724 DSNOXX01 (SYSIBM.SYSAUXRELS) 686 DSNOXX02 (SYSIBM.SYSAUXRELS) 686 DSNPPH01 (SYSIBM.SYSPLAN) 706 DSNRDX01 (SYSIBM.SYSOBJROLEDEP) 701 DSNRDX02 (SYSIBM.SYSOBJROLEDEP) 701 DSNRKX01 (SYSIBM.SYSKEYTARGETS) 698 DSNRKX02 (SYSIBM.SYSKEYTARGETS) 699 DSNRLI load module 61 DSNRLX01 (SYSIBM.SYSROLES) 709 DSNROX01 (SYSIBM.SYSROUTINES_OPTS) 715 DSNRSX01 (SYSIBM.SYSROUTINES_SRC) 715 DSNRSX02 (SYSIBM.SYSROUTINES_SRC) 715 DSNRTX02 (SYSIBM.SYSINDEXSPACESTATS) 695 DSNRTX03 (SYSIBM.SYSINDEXSPACESTATS) 696 DSNSCX01 (SYSIBM.SYSCHECKS) 687 DSNSDWA 212 DSNSDX01 (SYSIBM.SYSCHECKDEP) 687 DSNSKX01 (SYSIBM.SYSSCHEMAAUTH) 715 DSNSKX02 (SYSIBM.SYSSCHEMAAUTH) 716 DSNSQX01 (SYSIBM.SYSSEQUENCES) 717 DSNSQX02 (SYSIBM.SYSSEQUENCES) 717 DSNSRX01 (SYSIBM.SYSSEQUENCESDEP) 717 DSNSRX02 (SYSIBM.SYSSEQUENCESDEP) 717 DSNSSH01 (SYSIBM.SYSSTOGROUP) 718 DSNSSX01 (SYSIBM.SYSSTRINGS) 718 DSNTCX01 (SYSIBM.SYSCOLSTATS) 688 DSNTDX01 (SYSIBM.SYSKEYTGTDIST) 699 DSNTDX02 (SYSIBM.SYSKEYTGTDIST_HIST) 700 DSNTFRCV VRA data recorded by 212 DSNTKX01 (SYSIBM.SYSKEYTARGETSTATS) 699 DSNTNX01 (SYSIBM.SYSCOLDIST) 688 LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
DSNTPX01 (SYSIBM.SYSCOLDISTSTATS) 688 DSNTRACE 254 DSNTRACE messages 242 DSNTSX01 (SYSIBM.SYSKEYTGTDISTSTATS) 700 DSNTTX01 (SYSIBM.SYSTABSTATS) 723 DSNTXX01 (SYSIBM.SYSINDEXSTATS) 696, 697 DSNU259I 438 DSNU500I 438 DSNUCH01 (SYSIBM.SYSCOPY) 691 DSNUCX01 (SYSIBM.SYSCOPY) 691 DSNUTILB routine 25 DSNVEUS3 routine 30 DSNVTH01 (SYSIBM.SYSVTREE) 725 DSNVVX01 (SYSIBM.SYSVIEWS) 725 DSNWCX01 (SYSIBM.SYSSEQUENCEAUTH) 716 DSNWCX02 (SYSIBM.SYSSEQUENCEAUTH) 716 DSNWCX03 (SYSIBM.SYSSEQUENCEAUTH) 716 DSNWDMP gathering information from (SVC) 181 option keywords 172 volatile data 175 DSNWDSDM VRA data recorded by 212 DSNWMSGS file 241 DSNWSDWA VRA data recorded by 212 DSNX@XAC routine 13 DSNXRX01 (SYSIBM.SYSXMLRELS) 726 DSNXRX01 (SYSIBM.SYSXMLSTRINGS) 726 DSNXRX02 (SYSIBM.SYSXMLRELS) 726 DSNXRX02 (SYSIBM.SYSXMLSTRINGS) 726 dual recovery logs 417 dump DB2-issued SVC analyzing 181 DBDs, of obtaining 439 DSN1COPY (using to resolve inconsistency) 430, 431 DSN1PRNT (using to resolve inconsistency) 430, 431 finding ASCE 197 BMEPL 201 CSECT name 200 CT 203 EB 194 load module name 199 MEPL 196 save area trace 195 SCOM 197 SQL statement 205 SQLCA 203 TCB summary 193 VRA report 192 IF services 51 IRLM data set 281 IRLM formatting 50 IRLM SVC 266 JCL for obtaining 168 Print Dump Index 189 printing 168 REPAIR (using to resolve inconsistency) 430, 431 sample RTM2WA summary 211 SQLCA, unformatted 204 SVC title 184 SYSUDUMP 210 services 51

DO NOT COPY

Index

967

DO NOT COPY
dump (continued) SUMDUMP Dump Index 190 SVC 181 SYS1.LOGREC data 169 TCB summary section 168 title format, DB2-issued SVC data manager variation 186 distributed title variation 186 format for database access threads 185 format for threads with no remote activity 185 format for threads with remote activity 185 variation with PSW and ASID 186 trace code in SVC dump finding in SVC dump 431 types 167

Restricted Materials of IBM Licensed Materials Property of IBM

E
EANC (EDM global anchor block) control block linkage from ACOM 768 database services overall control block linkage EB (execution block) address of failing EB 235 address space control block linkage 760 agent structure control block linkage 760 allied agents program overview 7 control block linkage from ACE 764 control block linkage from ASCE 763 execution unit switch 8 finding in dump 194 EBHASCE field 197 EBPASCE field 197 EBRMVT field 206 ED (EDM DBD hash table) control block linkage from ACOM 768 edit exit 13, 14 EDM pool space diagnosing 266 EDM pool space shortage 271 EDRC (EDM DBD hash record) control block linkage from ACOM 768 EEPL (early load module entry point list) control block linkage from ERLY 762 in overall DB2 control block linkage 759 EID (event identifier) description 781 SDSNSAMP(DSNWEIDS) 781 ELRC (EDM SKCT location record) control block linkage from ACOM 768 encoded records fixed-length columns 384, 385 varying-length columns 384 END option of DIAGNOSE utility 274 end-abort 18 end-phase-1 17 end-phase-2 16 environmental descriptor management function control block linkage 761 EOM (end of memory) 13, 30 EOT (end of task) 13 ERLY (early processing block) control block linkage 762 error qualifier 187 ES (EDM SKCT hash table) control block linkage from ACOM 768 ESA data compression 379 761

ESDS (entry-sequenced data set) 27 ESRC (EDM SKCT hash record) control block linkage from ACOM 768 ESTAE established by IMS 250 role in DB2 error recovery 15 event identifier (EID) 781 exclusive latches 30 EXECUTE statement 26 execution unit asynchronous 30 related 30 SRB (service request block) 7 switch 7 switch function 30 synchronous 30 TCB (task control block) 7 unit of dispatch 7 unrelated 30 z/OS 7 exit routine 13, 14 extend function 40 extended specify task abnormal exit 15

F
fan set description 348 OBD FORMAT 521 fan set extension block 531 fast-path 48 FCT (facility control table) control block linkage from ERLY 762 FEOT 30 FIELD LIST FOR ORDER/HASH KEY 532 field procedure exit 13 file description 348 file descriptor description 348 FILE OBD FORMAT 506 file page set 384, 432 data page contents 384 illustration 432 description 349 header formats 461 LOB data page header format 476 LOB map header format 475 record formats 461 space map page description 370 header format 465, 466, 472, 473 illustration 370 finite numbers 396 fixed-length columns encoded records 384 example of null and nonnull values 385 fixed-length records updating 395 FLOAT decoding FLOAT data 387 floating-point 396 forget vote 20 FORTRAN 53

968

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


FRB (function request block) control block linkage 766 use in application request process 25 use in invoking resource manager 10 FREE (DSN subcommand) 30 free space contiguous 389 data page 389 FRR (functional recovery routine) ASM use of 30 keyword 148 use in error recovery 15 FTBL (free stack elements table) control block linkage from ASCE 763 function request block (FRB) 10 functional recovery assistance function 30 index page set description 378 routine 15 FVL (function vector list) control block linkage from ACE 764

DO NOT COPY
hashing algorithms 407 header format data page 478 DBD (database descriptor) 497, 503 file page set 461 file page set space map page 465, 466, 472, 473 header page 461, 483 index page sets 483 large hole 481 LOB data page 476 LOB map 475 OBD (object descriptor) 505 SKCT (skeleton cursor table) 498 SKPT (skeleton package table) 499 small hole 481 header page description 369 format illustration 369 header format 461, 483 LOB page set 468 Help 13 heuristic decision 19 hole data page 384 format large 481 small 481 FORMAT LONG 505 SHORT 505 large 388 small 388

G
GBP (group buffer pool) description 16 with BM component 33 GCP (general command preprocessor) brief subcomponent description 28 role in DB2 command processing 23 role in GCP error detection 47 subcomponent description 47 general command preprocessor (GCP) 47 global trace for distributed data facility 237 starting 226 GM (group manager) brief description 28 description 48 GMB (getmain block) control block linkage from RMVT 766 GPVT (global pool vector table) control block linkage from RMVT 766 GRANT statement catalog table format 270 parse tree processing 55 SQL authorization statements 53 GRBA (dmc merged rba range list) control block linkage from CT 770 group basic services (GBS) 48 group buffer pool (GBP) 16 GROUP BY clause 56 group list manager (GLM) 48 group manager (GM) 28 group restart 74 group startup/shutdown (GS) 48 GTF (Generalized Trace Facility) global trace data 238

I
ID map chaining entries, scenario of 390 data page 389 identify request 7, 12, 13 identify state 30 IDX (RDS index array) control block linkage 772 IEPL (initialization entry point list) in MEPL 199 IF (instrumentation facilities) dump 28 trace 28 IFCEREP1 service aid 212, 281 IFCID 0160 318 0161 318 0191 325, 335 0192 325, 341 0193 325, 342 0194 325 0195 325 0203 342 0204 343 0207 343 0209 343 0234 344 0235 344 image copy data sets, back-level 418 data sets, damaged renaming, using access methods services DB2 catalog 417

H
hash 406 parent bit 406 HASH KEY, ORDER FIELD LIST 532 LY37-3218-01 Copyright IBM Corp. 1983, 2007

417

DO NOT COPY

Index

969

DO NOT COPY
image copy (continued) directory 417 user databases 417 implied forget optimization 22 IMS in DB2 commit processing 15 in the connection process 12 two-phase commit 17 IMS attachment facility DB2 attachment facilities 11 DB2 commands 47 description 28 subcomponent description 48 trace 244 inconsistent data data page 431 index page 434 resolving data and index inconsistencies 437 inconsistent data problems background information for resolving 347 causes 421 description 421 symptoms 425 00C9011x abend 439 symptoms and actions 421 types 421 using RECOVER utility 417 inconsistent DBD problems resolving 439 inconsistent page 422 INCORROUT keyword 143, 150 index checking 30 clustering 355 collated key map (IPKMAP) 495 directory page header (IDPHEAD) 486 free space chain entry (IPFCENT) 494 in DB2 structure 3 IPPVARP ( index nonleaf variable length high key prefix) 493 leaf page appendage (IPLFAPP) 491 leaf page nonunique key prefix (IPNPRFX) 492 leaf page variable key prefix (IPVPRFX) 492 multi-level illustration 402 nonleaf page appendage (IPNLFAPP) 492 nonleaf page variable key prefix (IPPPRFX) 493 NOT PADDED 400 padded 400 page leaf appendage (IPLFAPPEXT) 491 page leaf appendage (IPLFAPPEXT2) 491 page set data pages 489 page set space map entry array (IPSMAP) 489 partitioned format 354 header page 354 partitioning 355 physical page header 490 problems 270 RID chain 402 RID chain (IPRCHEAD) 494 RID chain entry (IPRCENT) 494 RID template (IPRID) 494 RID value (IPRIDVAL) 493 space map header (IPSMHEAD) 488 structure multi-level index 402 single-level index 402

Restricted Materials of IBM Licensed Materials Property of IBM

index (continued) types of pages illustration 402 index format physical page header nonsegmented leaf root page 489 index name finding in a dump 437 finding in VRA 437 finding in VRA report 437 index page analyzing 434 index page set 349 data pages 399 page formats 483 space map pages description 378 index space map page 379 indoubt state in commit process 17 RECOVER INDOUBT command 30 initialization of DB2 28 inserting records 394 INTEGER decoding INTEGER data 387 interpreter, RDS 54 IP (initialization procedures) startup/shutdown 51 subcomponent description 28 IPCS environment IRLM offline dump formatting 50 IPCS service aid 167 IPFCENT ( index free space chain entry) 494 IPKMAP ( index collated key map) 495 IPLFAPP (index page header leaf page appendage) 491 IPLFAPPEXT ( index page leaf appendage) 491 IPLFAPPEXT2 ( index page leaf pages for compression) 491 IPNLFAPP (index page header nonleaf page appendage) 492 IPNPRFX (index leaf page nonunique key prefix) 492 IPPPRFX (index nonleaf page variable key prefix) 493 IPPVARP (index nonleaf variable length high key prefix) 493 IPRCENT (index RID chain entry) 494 IPRCHEAD ( index RID chain) 494 IPRID (index RID template) 494 IPRIDVAL (index RID value) 493 IPVPRFX (index leaf page variable key prefix) 492 IRLM (Internal resource lock manager) general structure of DB2 3 trace, IRLM-DB2 259 used by data space manager 41 IRLM (Internal Resource Lock Manager) deadlock detection 49 dump data set 281 function level 281 request handling 49 service aids 281 storage management 50 subcomponent description 28 IRLM SVC dump support 266 IRLM-IRLM communication processing 50

J
JDES (join table descriptor) control block linkage 772 JESCT (JES communication table) 759

970

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


JOBPACK 50 JOIN (join column array structure) control block linkage 772 JSTCB (job step task control block) 9, 759

DO NOT COPY
LOB file reference 52 LOB page set 349 description 357 header page 468 LOB pages description 398 LOBM (LOB manager) subcomponent description 28, 52 lock 16 commit processing 18 internal resource lock manager (IRLM) 49 overview 10 Locking Optimistic 38, 39 log archive retaining 417 buffer manager 34 dual recovery 417 IMS 249 ISPF 257 recovery manager 29 redundancy 15 log extractor (DSN1LOGP) 64 Log Format utility 58 LOGDATA 169 logical unit of work identifier in SYS1.LOGREC 212 sync point tree 22 LOGP (log initialization parameters block) control block linkage from RMVT 766 LONG HOLE FORMAT 505 LOOP diagnosing during distributed processing 124 LPVT (local pool vector table) control block linkage from ASCE 763 LRB1 (internal log BSDS access request block) control block linkage 766 LRB4 (log allocate request block) control block linkage 766 LRB7 (log output buffer write request block) control block linkage from RMVT 766 LRRB (log read request block) control block linkage 766

K
keyword ABENDx 120 component identifier 114 CSECT 143 dependency 162 DOC 142 flowchart 108 INCORROUT 143, 150 load module 146 LOOP keyword 124 MSGx 140, 155 PERFM 141 recovery routine 148 release identifier 115 search process 157 SQLCODE 154 string, building 107 structured, examples 185 VRA 149 WAIT keyword 124 keyword formats free format 108 structured database cross-reference structured database format 110

111

L
large hole header format 481 last agent optimization 22 latch management function 30 latching 10 LBCE (log buffer control element) control block linkage from RMVT 766 LCOM (DPS communication area) control block linkage from ERLY 762 LDS (linear data set) 27 LDSD (log data set descriptor) control block linkage from RMVT 766 leaf page illustration 402 leaf root page physical page header format 489 library 903 limiting access to data 425 linear page sets description 349 differences from partitioned page sets 352 illustration 349 link checker utility (DSN1CHKR) 438 linkage services 30 links 406, 408 parent bit 406 LMB (log management block) control block linkage from RMVT 766 load 30 load module keyword 146 name, finding in dump 199 LY37-3218-01 Copyright IBM Corp. 1983, 2007

M
main storage 29 map bit 378 ID map 389 space map 352, 369 space map pages 378 space map, index 379 media 16, 17 MEPL (module entry point list) 196 control block linkage from ERLY 762 finding in dump 196 illustration 197 in SVC dump 184 role of initialization procedures subcomponent MERGECOPY utility 276 in data backup 70 message 28 directory 28

51

DO NOT COPY

Index

971

DO NOT COPY
MG (message generator) checkpoint 53 directory 53 log records 53 message 53 subcomponent description 28 utilities 53 z/OS console 53 MGRM (message generator block) control block linkage 766 MLOG (migration log facility) control block linkage from ACOM 768 MMIB (media manager interface block) control block linkage from ACOM 768 MMRB (media manager request block) control block linkage from ACOM 768 modified page indicators in data page header 375 in file page set space map 375 modify bits 370 MODIFY command function level 281 IRLM 281 order of issue 135 MPP (IMS) 48 MRBW (media manager work area) control block linkage from CT 770 MSA (manipulative services recording area) control block linkage from CT 770 MSEL (manipulative selection block) control block linkage from CT 770 MSGx keyword 140, 155 MSI (manipulative system block) control block linkage from CT 770 multiple traces 228 multiple address space 181 data sets 181

Restricted Materials of IBM Licensed Materials Property of IBM

OBD (object descriptor) (continued) formats 503 header format 505 record format 510 OBD (OBJECT DESCRIPTOR) PAGE SET FORMAT 533 OBDDMAP analyzing OBD structure 445 entries in DBD 413 sample DBD 414 OBID (object identifier) cross reference charts 727 description 409 object relationship DB2 external/DM internal 348 OCB (log offload block) control block linkage from RMVT 766 online 903 online books 903 OOB (log offload output block) control block linkage from RMVT 766 OP (SQL operations block) control block linkage 772 OPT (optimizer global area) control block linkage 772 optimizer 25 optimizer function 53, 55 ORDER BY SELECT statement clause 56 ORDER/HASH KEY FIELD LIST 532 output 23 overflow pointer 409 overflow record accessing data via links 409 creation 388 file page set 479 format 479

N
node ID index 364 nodes, sync point tree 22 NODUMPS option of DIAGNOSE utility nonencoded records 384 nonleaf page 3-level index illustration 402 nonnull value example 385 nonsegmented leaf page physical page header format 489 nonsegmented page set 349, 380 null indicator 385 value 385 274

P
P-locks 10 package 12 page BM control of 34 buffer manager 27 data contents 384, 388 description 380 format illustration 380 free space 389 general format, illustration 394 ID map 383, 389 overflow records 388 page tail area 389 page type 369 space management 394, 395 description 27, 399 file page set data 384 general format, illustration 369 header description 369 format illustration 369 page type 369 index page set data description 399

O
OBD (object descriptor) auxiliary relationship 542 check constraint 509 deleting 414 description 347, 409 fan set format 521 file format 506 finding (given OBID) 443

972

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


page (continued) length 32 KB 349 4 KB 349 space map 369 unformatted 394 page number determining from DSNI message 437 finding in a dump 437 finding in VRA 437 finding in VRA report 437 page set create 40 data set 40 description 34, 349 diagrams DSNDB01.SPT01 546 DSNDB01.SYSUTILX 547 DSNDB06.SYSCOPY 548 DSNDB06.SYSDBASE 553 DSNDB06.SYSDBAUT 548, 550 DSNDB06.SYSDDF 549 DSNDB06.SYSEBCDC 550 DSNDB06.SYSGROUP 551 DSNDB06.SYSGRTNS 554 DSNDB06.SYSHIST 554 DSNDB06.SYSJAUXA 554 DSNDB06.SYSJAUXB 554 DSNDB06.SYSJAVA 556 DSNDB06.SYSOBJ 557 DSNDB06.SYSPKAGE 559 DSNDB06.SYSPLAN 558 DSNDB06.SYSPLUXA 560 DSNDB06.SYSROLES 561 DSNDB06.SYSRTSTS 561 DSNDB06.SYSSEQ 564 DSNDB06.SYSSEQ2 564 DSNDB06.SYSSTATS 566, 567 DSNDB06.SYSSTR 568 DSNDB06.SYSTARG 567 DSNDB06.SYSUSER 558 differences between partitioned and linear drop 40 file 349 index 349 linear 349 page types data pages 369 dictionary pages 379 header pages 369 LOB pages 398 space map pages 369 partitioned 349, 352 contents 352 description 352 illustration 352 partitioning index 354 format 354 header page 354 piece 27, 41 reset 40 XML page set 361 PAGE SET OBD FORMAT 533 page set extension block 539 page set name determining from DSNI message 437 LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
page set name (continued) finding in a dump 437 finding in VRA 437 finding in VRA report 437 page tail area data page 389 page trailer 369, 370, 378 page types zero pages 380 parent bit (hashes and links) 406 parse tree 54 parser 54 participant 16, 17, 18 participant, downstream 22 partition compression 379 partition-by-growth table space 349 partitioned page set contents 352 data page 352 header page 352 space map page 352 description 349, 355 differences from nonpartitioned page sets 352 illustration 355 partitioning index 355 PB (page set block (local)) control block linkage from ACOM 768 PB0 (page set piece block) control block linkage from ACOM 768 PB9 (page set catalog name block) control block linkage from ACOM 768 PBG (page set block (global)) control block linkage from ACOM 768 PBH (directory hash anchor table) control block linkage from ACOM 768 PC (program call) 12, 30 PC linkage description 278 index, finding in dump 198 tables 51 PCL (program call entry table list) control block linkage from ERLY 762 PDA (RDS predicate array) control block linkage 772 percolation finding 212 multiple for single error 212 recovery control task 30 recovery termination manager 212 PERFM keyword 141 PG (dmc data page) control block linkage from CT 770 PGHEAD (page header) 432 phase1-phase2 transition 16 PHB (pool header block) control block linkage from ASCE 763 control block linkage from RMVT 766 in overall database services control block linkage physical page header formats nonsegmented leaf page 489 root leaf page 489 pipe manager 57 PL/I 48, 53 plan 12 plan names, system 789 pointer record 388, 409

352

761

DO NOT COPY

Index

973

DO NOT COPY
PRE (precompiler) application program 25 brief subcomponent description 28 call attachment facility 35 DBRM 12 Resource Recovery Services attachment facility 61 subcomponent description 53 preformat function buffer manager 27, 34 data space manager 40 prepare message 19 PREPARE statement 26, 56 presumed abort failures 21 implied forget 22 indoubt resolution 21 process 102 protocol 19 reliable partner 102 unreliable partner 102 presumed nothing two-phase commit process 101 protocol 19 PRGN (page range processing (redo)) control block linkage from CT 770 PRHB (program request handler block) control block linkage from ERLY 762 in overall DB2 control block linkage 759 PRHW (program request handler work area) control block linkage from RMVT 766 primary execution unit 7 Print Dump Index dump index illustration 190 dump index usage 189 illustration 189 usage 189, 192 using to find TCB summary 193 Print Log Map utility 58 problem determination analyzing 00C90102 abends 431 analyzing 00C9010x or 00C902xx abends 427 analyzing a DBD 443 analyzing symptoms of data inconsistency 425 dump analysis 181 symptoms of data inconsistency 422 PROG (RDS program lookup table) control block linkage 772 program request handler description 56 DSNAPRH and DSNAPRHX 25 programming interface information, described 912 PSFI (file page set control block) control block linkage from CT 770 PSI (index page set control block) control block linkage from CT 770 PSW as index into MEPL 199 in dumps 181 PT (RDS package table) control block linkage 772 publications problem 142 PV (RDS plan vector) control block linkage 772

Restricted Materials of IBM Licensed Materials Property of IBM

Q
QAR (RDS query array) control block linkage 772 QJST (log manager statistics block) control block linkage from RMVT 766 QRC (DRDS requesting site request control) control block linkage from CT 770 QRDA (DRDS requesting site common area) control block linkage from CT 770 query parallelism 289 queue 16, 17 QUIESCE utility 277

R
RACF (Resource Access Control Facility) 12 RAL (resource access list) agent structure control block linkage 760 control block linkage from ACE 764 RARQ (resource access request) 9, 10, 30 RBA (relative byte address) 58 RCT (resource manager control table) control block linkage from ERLY 762 RCWA (restart control work area) control block linkage from RMVT 766 RDA (RDS control area) control block linkage 772 control block linkage from CT 770 in SVC dump 205 RDASPPT1 field 205 RDI (RDS input parameter list) control block linkage 772 RDS (relational data system) authorization function GRANT statement 55 brief subcomponent description 29 database services overall control block linkage DBRM (database request module) 53 problem diagnosis 159 sort function 39 SQL statement execution 25 stored procedures 29 subcomponent description 54 real-time statistics collection 39 REBIND (DSN subcommand) 30 REBUILD INDEX utility description 277 using to resolve inconsistency 437 record data page 384 deleting 395 encoded vs. nonencoded 384 inserting 394 overflow 388, 409 pointer 388, 409 updating fixed-length 395 updating varying-length 395 record extension block trigger operation list 519 user defined default values 521 record format data page 384 DBD (database descriptor) 497 file page set 461, 479 header 479

761

974

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM


record format (continued) index page sets 483 OBD (object descriptor) 510 SKCT (skeleton cursor table) 498 SKPT (skeleton package table) 499 record type description 348 RECOVER BSDS command 58 RECOVER INDOUBT command 30 RECOVER utility description 277 failure 270 using for data inconsistency problems 417 using to resolve inconsistency 437 recovery control task 30 from data inconsistency problems 417 using RECOVER utility 417 recovery log 15, 60 recovery routine keyword 148 redo 16 referential structures 418 release level keyword 115 reliable partner 19, 102 renaming damaged DB2 data sets 417 reordered row format 385 REPAIR for repair and diagnosis 277 function of utilities subcomponent 277 REPAIR DBD 439 REPAIR dump using to resolve inconsistency 430, 431 REPAIR utility using to resolve inconsistency 434 repairing catalog and directory links 455 REPORT utility 277 request-commit vote 20 resolving inconsistencies using REBUILD INDEX utility 437 using RECOVER utility 437 using REPAIR utility 434 resource 7 resource manager 7, 8, 10, 16, 17 specifying for global trace 230 resource serialization 28 restart in commit process 15 RM role in 29, 60 SSS role in 67 resume 30 REVOKE statement 53, 55 RIB (release information block) control block linkage from ERLY 762 RID (record identifier) chain in index 402 description 381 general format, illustration 381 illustration with parent bit 406 RLM (recovery log manager) DM use of 39 subcomponent description 29, 58 RLPL (IRLM request parameter list) control block linkage from CT 770 RM (recovery manager) subcomponent description 29, 59 RMBG (recovery manager block (global)) control block linkage from RMVT 766 LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY
RMBP (recovery manager block (private)) control block linkage from RMVT 766 RMFT (resource manager function table) captured in SVC dump 184 control block linkage from RMVT 766 unformatted trace table 206 RMFTRUSE 206 RMID (resource manager identifier) comparison to subcomponent, SCID, address space 775 description 7 global trace 230 RMRQ mechanism 10 RMIT (resource manager initialization table) control block linkage from ERLY 762 RMRQ (resource manager request) 9, 10, 30 RMST (resource manager status table) control block linkage from RMVT 766 RMVT (resource manager vector table) control block linkage 766 control block linkage from ERLY 762 role of initialization procedures subcomponent 51 summary portion of dump 184 unformatted trace table 206 ROB (resource options block) agent structure control block linkage 760 control block linkage from ACE 764 control block linkage from ASCE 763 ROLLBACK statement 15 root page illustration 402 leaf physical page header format 489 RPWA (recovery manager restart participation) control block linkage from RMVT 766 RRSAF description 29 finding trace table 252 interpreting trace messages 252 starting trace 252 trace 251 RRSAF (Recoverable Resource Manager Services attachment facility) control function SET_CLIENT_ID 61 SET_ID 61 RRSAF (Resource Recovery Services attachment facility) control function ASSOCIATE THREAD 61 AUTH SIGNON 60 CONTEXT SIGNON 61 CREATE THREAD 61 DISSOCIATE THREAD 61 IDENTIFY 60 IDENTIFYJ 61 SET_TRUSTED 61 SIGNON 60 SWITCH TO 60 SWITCH_USER 61 TERMINATE IDENTIFY 61 TERMINATE THREAD 61 TRANSLATE 61 RRSAF (RRS attachment facility) DB2 attachment facilities 11 RSCA (RURE synonym chain anchors) control block linkage from RMVT 766 RTM2WA finding in dump 193

DO NOT COPY

Index

975

DO NOT COPY
RTM2WA (continued) illustration 194 summary in SYSABEND or SYSUDUMP TCB summary section 193 RTM2WA summary (sample) 211 RUDT (RURE display table) control block linkage from RMVT 766 run-time structures 25, 26, 29 RUNSTATS function 270

Restricted Materials of IBM Licensed Materials Property of IBM

243

S
SADL (secondary authorization ID list) control block linkage from ACE 764 SAP (system access parameters) control block linkage from CT 770 control block linkage from RDA 772 save area trace 195 SC (service controller) subcomponent description 29, 62 SCB (system communication block) control block linkage 766 SCID (subcomponent identifier) comparison to subcomponent, RMID, address space SCMD (console command block) control block linkage 762 SCOM (subsystem communications block) control block linkage 762 finding in dump 197 in SVC dump 184 IP role in 51 SCOM (subsystem communicationsblock control block linkage 759 SCOMMEPL field 197 SCT (subsystem control table) control block linkage from ERLY 762 SCT02 directory table 498 SCTR 498 SDSNSAMP(DSNWEIDS) 781 SDSNSAMP(DSNWMODS) 755 SDUMP function 51 services 182 SDWA (system diagnostic work area) 51 determining error location 30 finding in a dump 191, 437 functional recovery routines 182 SDWACOMU field 212 SDWAEC1 field 212 search process 157 segmented page set 349, 380 selective dump function (DSN1SDMP) optional dumps 51 writing to OS data set 51 serialization of shared resources 10 service aid IPCS 167 service task controller 30 creation/deletion function 30 default 30 description 8 SFA (set function array) 772 shared latches 30 SHB (segment header block) control block linkage from ASCE 763 control block linkage from RMVT 766

775

SHORT HOLE FORMAT 505 shortcut keys keyboard xiv sign-on 30 SKB (stack storage block control block linkage 764 SKB (stack storage block) control block linkage from ACE 764 locating for failing agent 207 SKCT (skeleton cursor table) accessing via hashes 406 accessing via links 408 format, header and record 498, 499 SLT (section location table) control block linkage 772 Sm (storage manager) 29 SM (storage manager) subcomponent description 65 small hole header format 481 SMALLINT decoding SMALLINT data 387 SMF (System Management Facility) global trace data 238 softcopy publications 903 sortable decimal formats 396 SPA (space block structure) control block linkage 772 in SVC dump 205 space management data pages 394 deleting records 395 inserting records 394 updating fixed-length records 395 updating varying-length records 395 space map description 352, 369 index 379 space map page description 369 file page set description 370 format illustration 369 partitioned page sets 352 space name determining from DSNI message 437 SPASQLTX field 205 SPM (system parameter manager) directory 65 initialization 65 MG use of 53 START DB2 command 66 subcomponent description 30 system parameter directory 65 SPRM (installation system parameters) control block linkage from ACOM 768 SPT01 directory table 499 SPTR 499 SPUFI 26, 30, 257 diagnostic panels, activating 279 SQH (service queue header) in ASCB control block linkage 760 in ASCE control block linkage 763, 764 in database service control block linkage 761 SQL (structured query language) control statements 23 dynamic 25, 26 LY37-3218-01 Copyright IBM Corp. 1983, 2007

976

Diagnosis Guide and Reference

DO NOT COPY

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
structure DESCRIBE statement 56 generator 25, 56 PREPARE statement 56 run-time 56 run-time executor 56 storage 56 SU (stand-alone utilities) description 29, 64 DSN1CHKR 64, 278 DSN1COMP 64 DSN1COPY 64, 278 DSN1LOGP 278 DSN1PRNT 64, 278 for diagnosis 278 IFC selective dump (DSN1SDMP) 64 subcomponent comparison to SCID, RMID, address space 775 description 3 description of each 27, 71 subcomponent description XDS (XML data services) 30 subsystem interface 12, 13, 30 interface command 13 restart 51 support subcomponent 30 subsystem communications block (SCOM) 759 SUMLSTA 184 suspend 30 SVC dump diagnostic area 427 indexes 189 save area trace report section 195 summary portion 184 title 184 using to find trace code 431 using to resolve inconsistency 431 switch 8 symptoms of data inconsistency problems 00C9011x abend 439 SYNAD I/O error exit 54 sync point 15, 17 sync point tree 22 synchronization services 30 SYS1.LOGREC analyzing 212 entry 281 IRLM 281 percolation analysis 212 sample 212 SYSABEND dump 243 SYSIBM.SYSCOLUMNS catalog table 271 SYSIBM.SYSCOPY catalog table 270 SYSIBM.SYSINDEXES catalog table 270, 271 SYSIBM.SYSLGRNX 500 SYSIBM.SYSPACKAGE catalog table 271 SYSIBM.SYSPLANDEP catalog table 271 SYSIBM.SYSSTOGROUP catalog table 271 SYSIBM.SYSTABLE catalog table 270 SYSIBM.SYSTABLESPACE catalog table 271 SYSIBM.SYSUSAGE catalog table 271 SYSIBM.SYSUTIL 500 SYSIBM.SYSUTILX 502 SYSP (installation system parameter table map) control block linkage from ACOM 768 system agent correlation identifiers 783 Index

SQL (structured query language) (continued) embedded 25, 26 finding statements in dump 205 in DB2 connection process 12 processing 25, 54 RDS service 28 run-time structures 54 statements 23, 53 TSO use of 29 SQLC (RDS SQL communications area) control block linkage 772 SQLCA (SQL communication area) content 204 control block linkage 772 finding in dump 203 in SVC dump 184 SQLCODE keyword 154 SQLDA (SQL descriptor area) 26 SRB (service request block) agent structure control block linkage 760 control block linkage from ACE 764 execution block 8 recovery control task 30 system agents 7 SS (system services) 3 SSCT (subsystem communication vector table) control block linkage from ERLY 762 SSCVT (subsystem communication vector table, z/OS) SSGS (global anchor block) control block linkage from RMVT 766 SSLT (startup/shutdown local table) control block linkage from ASCE 763 SSS (subsystem support subcomponent) subcomponent description 30, 66 SSVT (z/OS subsystem vector table) in overall DB2 control block linkage 759 stack storage block (SKB) 207, 764 stack storage for failing agent, locating 207 stand-alone log services (DSNJSLR) change log inventory (DSNJU003) 269 print log map (DSNJU004) 269 RLM role in 58 START DATABASE command 29 START DB2 command 759 START TRACE command syntax diagram 227 START TRACE(GLOBAL) command AUTHID keyword 230 COMMENT keyword 231 description 227 DEST keyword 229 PLAN keyword 230 RMID keyword 230 startup/shutdown 51 statistics class 4 327, 342 STOP DATABASE command 29 Stop Trace command description 233 STOP TRACE command TNO keyword 232 storage group 40 stored data management 347 stored procedures 29 flow of control 99 stored procedures address space 5 structural key 531 LY37-3218-01 Copyright IBM Corp. 1983, 2007

759

DO NOT COPY

977

DO NOT COPY
system message directory 30 system page description 404 format 477 system parameter directory message directory 66 MG (message generator) 66 SPM services 30 system plan names ACT 789 BCT 789 DISTSERV 789 DSNBIND 789 DSNUTIL 789 STARTCT 789 system plan usage authorization 789 bind 789 database access threads 789 DB2 service tasks 789 DRDA access 789 start-up 789 unallocated threads 789 utilities 789 system services 3 system services address space 4 SYSUDUMP 243 SYSUDUMP dump sample 210

Restricted Materials of IBM Licensed Materials Property of IBM

T
TAB (trace anchor block) control block linkage 764, 766 in unformatted trace table 206 table space compression 379 task 30 TBA (RDS table array) control block linkage 772 TCB (task control block) agent structure control block linkage 760 allied agents 7 control block linkage from ACE 764 execution block 8 recovery control task 30 summary, finding in dump 193 task structure 9 TCP/IP gethostbyaddr call failure 302 listener not started 302 startup problems 302 temporary table spaces 39 TERM UTILITY command 419 terminating DB2 28 thread 12, 30 TIME exit 13 internal format 387 TIMESTAMP internal format 387 title of SVC dump 184 TLIS (transaction manager global area) control block linkage from ERLY 762 TLMC (global lock manager block) control block linkage from ACOM 768

TLPL (trace local plan list) control block linkage from ACE 764 trace activating DSN command processor 254 activating SPUFI 257 activating TSO attachment CLIST 256 CAF trace 242 classes 228 classes for global trace 238 code EID (event identifier) 781 contents of unformatted table 236 DB2 global 226 DB2 vs. z/OS 238 DB2-IRLM 259 destinations 229 DSNTRACE 254 finding CAF table 243 finding DB2 table 205 finding formatted table 206 finding IMS table 249 finding RRSAF table 252 finding unformatted table 206 formatting, how to 206 global table 51 IF (instrumentation facilities) function 51 IMS attachment facility 244, 246 IMS log entries 249 IMS table contents 248 interpreting CAF messages 243 interpreting formatted table 235 interpreting GTF data 238 interpreting RRSAF messages 252 interpreting SMF data 238 message generator 53 multiple 228 numbers 232 producing DSNTRACE messages 242 RRSAF trace 251 save area 195 SPUFI 257 starting RRSAF trace 252 statistics class 4 records 342 table, header fields 206 TSO attachment CLIST 256 TSO attachment facility 253, 254 when to use DB2 table 234 z/OS 182, 267 trace field descriptions 241 trailer, page 369, 370, 378 trigger descriptor block 540 trigger operation list 519 TSO DSN command processor 68 in DB2 commit processing 15 in the connection process 12 Precompiler use of 54 TA subcomponent description 30 TSO attachment facility 30, 47, 254 DB2 attachment facilities 11 SPUFI diagnostic panels 279 TYPE option of DIAGNOSE utility 274 type code finding in VRA report 437

978

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

Restricted Materials of IBM Licensed Materials Property of IBM

DO NOT COPY
URTS (utility reload tablespace partition) control block linkage from CT 770 USCA (URE synonym chain anchors) control block linkage from RMVT 766 user defined default values 521 user exit data validation exit 39 DATE and TIME 13 DATE and TIME exit routines 14, 57 edit exit 14, 39 field procedure 13 user-defined functions flow of control 95 user-written exit routine 13 USK (utility runstats statistics/checkpoint) control block linkage from CT 770 USM (utility statement map) control block linkage from CT 770 USO (utility serialization objects) control block linkage from ACOM 768 UT (utilities) control block linkage 761 control statements 24 in DB2 connection process 12 stand-alone 53 subcomponent description 30, 69 use of buffer manager 34 UT (Utilities) COPY 272 MERGECOPY 276 QUIESCE 277 utility control statements how DB2 processes 24

U
UANB (utility common header block) control block linkage from ACOM 768 UBH (utility buffer header block) control block linkage from CT 770 UCA (utility block) control block linkage from CT 770 UCO (utility common block) control block linkage from CT 770 UCRA (utility checkpoint/recovery area) control block linkage from CT 770 UDS (utility data set block) control block linkage from CT 770 UIC (utility image copy work area) control block linkage from CT 770 UJB (utility job block) control block linkage from CT 770 UMA (utility merge copy work area) control block linkage from CT 770 UMGC (utility merge copy and recover) control block linkage from CT 770 UMR (utility restart for merge copy) control block linkage from CT 770 unavailable data 422 undo 16 unformatted page 394 unit of recovery 15, 29 universal page set 349 universal table space 355 XML columns 355 universal table space 355 unlock 10 unreliable partner 19, 102 updating fixed-length records 395 varying-length records 395 upstream coordinator 22 URAF (utility reload work area) control block linkage from CT 770 URCD (utility encode/decode information) control block linkage from CT 770 URE (unit of recovery element) agent structure control block linkage 760 control block linkage from ACE 764 URER (utility error range recovery) control block linkage from CT 770 URF (utility reorg unload block) control block linkage from CT 770 URIF (utility reload work area) control block linkage from CT 770 URIT (utility reload work area) control block linkage from CT 770 URLD (utility reload work area) control block linkage from CT 770 URPG (utility page range for restore) control block linkage from CT 770 URPI (utility recover point in time area) control block linkage from CT 770 URPK (utility area to build a partition key) control block linkage from CT 770 URPT (utility recover partition/piece area) control block linkage from CT 770 URR (utility area for admf/batch recover) control block linkage from CT 770 URTK (utility physical track error range) control block linkage from CT 770

V
validation exit 13, 14 validity checking 55 variable-length columns encoded records 384 varying-length columns 385 varying-length records updating 395 VCB (VTAM communication block) control block linkage 766 VGCA (ASMC communications area (global)) control block linkage from RMVT 766 virtual storage 34 VLCA (ASMC communications area (local)) address space control block linkage 760 agent termination 30 allied connections to DB2 30 control block linkage from ASCE 763 resources 30 VRA (variable recording area) DB2-unique data 192 diagnostic information report 192 finding in a dump 437 key descriptions 212 obtaining data 192 percolation analysis 212 starting point in SDWA 194 VRA keyword 149 VRARRK14 437 VRARRK15 437 VRARRK5 429 VRARRK6 431

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

Index

979

DO NOT COPY
VSAM 27, 40, 41 VTAM buffer trace 318 internal trace 322 path information units (PIU) 316 request unit (RU) 317 request/response header 316 traces 315 transmission header 316

Restricted Materials of IBM Licensed Materials Property of IBM

W
WAIT keyword hangs during distributed processing 124 WAIT option DIAGNOSE utility 274 WAL (IMS-work area list key 7) trace description 249 WAU (IMS-work area user key 8) trace description 249 WHAT (window hash anchor table) control block linkage from ACOM 768 WLT (window latch table) control block linkage from ACOM 768 WPH (window pool header) control block linkage from ACOM 768 WPHG (window pool segment group header) control block linkage from ACOM 768 WPHV (window pool variable attributes table) control block linkage from ACOM 768 WPHZ (window pool related statistics) control block linkage from ACOM 768 WWCB (statistics/accounting control block) control block linkage from RMVT 766

X
XDS (XML data services) subcomponent description 30 XML indicator column 361 XML page set 349 XML columns document ID 361 document ID index 361 unique index 361 XML indicator 361 XML node ID index 361 XML table space 361 XML table 363 XML table format 364 XML table space 361

Z
z/OS console DB2 input path 23 use by MG 28, 47 control blocks 758 DB2 address spaces 3 macro, in chain to control block 758 RACF (Resource Access Control Facility) zero pages 380

12

980

Diagnosis Guide and Reference

DO NOT COPY

LY37-3218-01 Copyright IBM Corp. 1983, 2007

DO NOT COPY

DO NOT COPY

DO NOT COPY

Program Number: 5635-DB2 Restricted Materials of IBM Licensed Materials Property of IBM Printed in USA

LY37-3218-01

DO NOT COPY

Spine information:

DO NOT COPY

DO NOT COPY

DB2 Version 9.1 for z/OS

Diagnosis Guide and Reference

You might also like