Example 2: Level 2 CHECK TABLESPACE with table check constraints


This example illustrates a CHECK TABLESPACE job run against a partitioned table space with table check constraints. This job performs level 2 (both intrapage and interpage) checking on pages in the partitions that are specified in the PART option.

This CHECK TABLESPACE job reports the following error:

  • Table check constraint violations and page errors (message BMC52288I)

Message BMC52471I lists the columns specified in the failed condition along with corresponding column values.

Message 50041I indicates the status of zIIP processing. For this example, the ZIIP installation option is ENABLED, but an XBM subsystem was not specified. CHECK PLUS automatically located an available XBM subsystem to provide zIIP processing.

Command options for example 2

Command options used in JCL

Description

CHECKTSLEVEL 2

Performs all CHECKTSLEVEL 1 checks on the specified table space plus additional interpage checks on such items as:

  • Valid rows in correct partitions
  • Intact segment chains

RULES FOR

Allows you to define RI and column condition rules for CHECK PLUS to verify the specified table

VERIFY

Allows you to specify the condition that must be true for a column value to be valid

Table check constraint DDL for example 2

ALTER TABLE ACK.ACKP02T1
 ADD CONSTRAINT ACKP02T1_CHK_COL3
 CHECK (COL3_RECORD_NUM ¬> '00998');


JCL for example 2

//        JOBCARD                                                       
//*===================================================================
//*====  Level 2 CHECK TABLESPACE with table check constraints    ====
//*================================================================*    
//*  Use your DB2 subsystem name inplace of "DB2SYS" parm parameter.  *
//*  Use your DB2 product install libraries for STEPLIBS ;            *
//*     PRODUCT.LIBRARIES                                             *
//*     DB2.DSNEXIT                                                   *
//*     DB2.DSNLOAD                                                   *
//*================================================================*
//CHECK02   EXEC PGM=ACKUMAIN,                                          
//          PARM=(DB2SYS,ACKEX02,NEW,,'MSGLEVEL(1)')                    
//STEPLIB  DD DISP=SHR,DSN=PRODUCT.LIBRARIES                            
//         DD DISP=SHR,DSN=DB2.DSNEXIT                                  
//         DD DISP=SHR,DSN=DB2.DSNLOAD                                  
//SYSIN     DD  *                                                       
CHECK TABLESPACE ACKPDB.ACKPS02 CHECKTSLEVEL 2                          
      PART 3,5,8,9                                                      
//SYSPRINT  DD DSN=ACK.EXAMPL02.SYSPRINT,                               
//           UNIT=SYSDA,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG)              
//UTPRINT   DD SYSOUT=*                                                 

SYSPRINT for example 2

The following figure shows the SYSPRINT for example 2:

1                               *****  B M C   C H E C K   P L U S   F O R   D B 2    V13R1.00  *****
                                             (C) COPYRIGHT 1993 - 2022 BMC SOFTWARE, INC.
               CHECK PLUS TECHNOLOGY IS PROTECTED BY ONE OR MORE OF THE FOLLOWING U.S. PATENTS: 5,579,515 AND 6,163,783
-BMC50001I UTILITY EXECUTION STARTING    8/25/2022    4:39:10 ...
 BMC50002I UTILITY ID = 'ACKEX02'.  DB2 SUBSYSTEM ID = 'DEJM'.  OPTION MODULE = 'ACK$OPTS'.
 BMC50471I z/OS 2.4.0,PID=HBB77C0,DFSMS FOR Z/OS=2.4.0,DB2=12.1.510
 BMC50471I REGION=0M,BELOW 16M=8.6M,ABOVE 16M=1,005.0M,IEFUSI=NO,CPUs=9,GPs=5,zIIPs=4
 BMC50471I MEMLIMIT=15.9E,AVAILABLE=15.9E,MEMLIMIT SET BY:REGION=0
 BMC50471I SMFID=DB2B,JOBID=J0952305,JOB=ACKEX02,STEP=CHECK02,CPU=3931-612 (z16)/1.47,76.0G
0
 BMC50471I CHECK PLUS FOR DB2--V13.01.00 SPE2207
 BMC50471I   MAINT: BQU4036
 BMC50471I DB2 UTILITIES COMMON CODE--V13.01.00 SPE2207
 BMC50471I   MAINT: BQU4035
 BMC50471I SOLUTION COMMON CODE--V13.01.00 BASE
 BMC50471I   MAINT: BPJ2315
 BMC50471I BMCSORT ENGINE--V02.04.01
 BMC50471I   MAINT: BPJ0691  BPJ0718  BPJ0881  BPJ0922  BPJ0996  BPJ1164  BPJ1309  BPJ1386  BPJ1497  BPJ1594  BPJ1724  BPJ1809
 BMC50471I          BPJ1833  BPJ1891  BPJ1905  BPJ2109  BPJ2232  BPJ2297
 BMC50471I EXTENDED BUFFER MANAGER--V06.02.01
 BMC50471I   MAINT: BPE0443  BPE0445  BPE0447  BPE0449  BPE0450  BPE0451  BPE0452  BPE0455  BPE0456  BPE0457  BPE0460  BPE0463
 BMC50471I          BPE0467  BPE0468  BPE0469  BPE0473  BPE0474  BPE0475  BPE0479  BPE0480  BPE0482  BPE0487  BPE0488  BPE0489
 BMC50471I          BPE0493  BPE0497  BPE0498  BPE0501  BPE0503  BPE0507  BPE0512  BPE0513  BPE0517  BPE0518  BPE0519  BPE0523
 BMC50471I          BPE0524  BPE0527  BPE0528  BPE0530  BPE0531  BPE0534  BPE0535  BPE0540  BPE0541  BPE0542  BPE0545  BPE0549
 BMC50471I          BPE0551  BPE0552  BPE0555  BPE0556  BPE0557  BPE0560  BPE0561
0
 BMC50471I DRNDELAY=3                              LOADDECP=NO                             SQLDELAY=3
 BMC50471I DRNRETRY=10                             LOCKROW=YES                             SQLRETRY=100
 BMC50471I DRNWAIT=NONE                            MAXP=5                                  UXSTATE=SUP
 BMC50471I DSER=NO                                 MSGLEVEL=1                              WBUFFS=20
 BMC50471I DSPLOCKS=NONE                           OPNDB2ID=YES                            WORKUNIT=SYSALLDA
 BMC50471I FILECHK=WARN                            PLAN=ACK1310I                           XBLKS=3
 BMC50471I FORCE_AT=(START,3)                      SMAX=16                                 ZIIP=ENABLED
 BMC50471I FORCE_RPT=NO                            SMCORE=(0K,0K)
 BMC50471I FORCE=NONE                              SORTNUM=32
0

 BMC50471I DB2 DSNHDECP MODULE SETTINGS:
 BMC50471I VERSION                 = 1210
 BMC50471I SUBSYSTEM DEFAULT       = DEJM
 BMC50471I CHARACTER SET           = ALPHANUM
 BMC50471I DATE FORMAT             = USA
 BMC50471I TIME FORMAT             = USA
 BMC50471I LOCAL DATE LENGTH       = 0
 BMC50471I LOCAL TIME LENGTH       = 0
 BMC50471I DECIMAL POINT           = PERIOD
 BMC50471I DECIMAL ARITHMETIC      = 15
 BMC50471I DELIMITER               = DEFAULT
 BMC50471I SQL DELIMITER           = DEFAULT
 BMC50471I ENCODING SCHEME         = EBCDIC
 BMC50471I APPL. ENCODING SCHEME   = EBCDIC
 BMC50471I MIXED                   = NO
 BMC50471I EBCDIC CCSID            = (37,65534,65534)
 BMC50471I ASCII CCSID             = (819,65534,65534)
 BMC50471I UNICODE CCSID           = (367,1208,1200)
 BMC50471I IMPLICIT TIME ZONE      = CURRENT (-05:00)


 BMC50658I DB2 CURRENT FUNCTION LEVEL IS V12R1M509
 BMC50659I DB2 CATALOG LEVEL IS V12R1M509
 BMC50660I DB2 HIGHEST ACTIVATED FUNCTION LEVEL IS V12R1M509
 BMC50661I DB2 CODE LEVEL IS V12R1M510

 BMC50471I BMC_BMCUTIL       ='BMCUTIL.CMN_BMCUTIL'
 BMC50471I BMC_BMCSYNC       ='BMCUTIL.CMN_BMCSYNC'
 BMC50471I BMC_BMCHIST       ='BMCUTIL.CMN_BMCHIST'
 BMC50471I BMC_BMCRELS       ='ACKIB2.BMCRELS'
 BMC50471I BMC_BMCFKEY       ='ACKIB2.BMCFKEY'
 BMC50471I BMC_BMCPKEY       ='ACKIB2.BMCPKEY'
 BMC50471I BMC_BMCKEYS       ='ACKIB2.BMCKEYS'
0
0
 BMC50102I CHECK TABLESPACE ACKPDB.ACKPS02 CHECKTSLEVEL 2
 BMC50102I       PART 3,5,8,9

 BMC50041I 0: ZIIP  ENABLED (0) USING XBM SUBSYSTEM XBMB
 BMC50004I UTILINIT PHASE COMPLETE.  ELAPSED TIME = 00:01:47

 BMC50474I BELOW 16M = 8348K, ABOVE 16M = 1023232K, CPUS = 5
 BMC52230I MAX TASKS = 4, MAX PARTS/TASK = 1, SORTWKS/TASK =  0, MAX OPEN PARTS/TASK = 1, MAX INDEXES/TASK = 1

 BMC50894I PAGE EXTERNALIZATION PROCESS STARTING AT   8/25/2022   4:40:57

 BMC50650I ESTABLISHING A POINT OF CONSISTENCY FOR:
 BMC50651I SPACE ACKPDB.ACKPS02 PART(3) PSID(0002)
 BMC50651I SPACE ACKPDB.ACKPS02 PART(5) PSID(0002)
 BMC50651I SPACE ACKPDB.ACKPS02 PART(8:9) PSID(0002)

 BMC50895I PAGE EXTERNALIZATION PROCESS COMPLETE.  ELAPSED TIME =  00:00:00

 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00995'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00996'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00997'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00990'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00989'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00998'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00999'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00988'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00995'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00990'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00998'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00997'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00988'
 BMC52476W TABLE CHECK CONSTRAINT VIOLATION.  TABLE = 'ACK.ACKP02T1', CONSTRAINT = 'ACKP02T1_CHK_COL3'
 BMC52471I   !COL1_CLUSTER_KEY='09',COL3_RECORD_NUM='00996'
 BMC52286I 1: CHECKING OF DATASET 'DEJMCAT.DSNDBD.ACKPDB.ACKPS02.I0001.A009' READ 2 PAGES
 BMC52286I 2: CHECKING OF DATASET 'DEJMCAT.DSNDBD.ACKPDB.ACKPS02.I0001.A008' READ 2 PAGES
 BMC52286I 4: CHECKING OF DATASET 'DEJMCAT.DSNDBD.ACKPDB.ACKPS02.I0001.A003' READ 47 PAGES
 BMC52286I 3: CHECKING OF DATASET 'DEJMCAT.DSNDBD.ACKPDB.ACKPS02.I0001.A005' READ 2 PAGES
 BMC52606I TCC ACK.ACKP02T1.ACKP02T1_CHK_COL3 , 365 ROWS CHECKED, 14 VIOLATIONS FOUND
 BMC52272I CHECK STATISTICS:  365 ROWS PROCESSED FOR SPACE 'ACKPDB.ACKPS02'
 BMC52270I CHECK STATISTICS:  365 ROWS PROCESSED FOR TABLE 'ACK.ACKP02T1'
 BMC52288I CHECK ERROR SUMMARY: PAGE EXCEPTIONS-0, CONSTRAINT VIOLATIONS-14
 BMC50004I CHECK PHASE COMPLETE.  ELAPSED TIME = 00:00:01

 BMC50041I 0: ZIIP NOT ENABLED (0) USING XBM SUBSYSTEM XBMB
0BMC50006I UTILITY EXECUTION COMPLETE, RETURN CODE = 4

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*