The database CUSTOMER (see "Sample databases") appears as shown below after the restructuring operation (see the “Creation and Restructuring” manual):
Figure 9: Database CUSTOMER after restructuring
After a short period of operation with the restructured database CUSTOMER, it should be checked for consistency using BCHECK. The following states of the database exist:
shadow database directly after restructuring (copyname.AFTRESTR)
original database (earlier state than AFTRESTR)
Example 1
Complete summing check of the shadow database after restructuring (AFTRESTR):
/ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=CUSTOMER.DBDIR.AFTRESTR /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL, VERSION=02.8A00 /START-UDS-BCHECK ***** START BCHECK (UDS/SQL V2.8 0000 ) 2015-06-28 11:40:26 CHECK SUMMING SCHEMA CUSTOMER-LIST REALM ALL RECORD ALL SET ALL WITH INDEX CHECK KEY ALL WITH INDEX CHECK END ***** FOR INDEX CHECKS A SORTING MUST BE PERFORMED EVEN FOR THE SUMMING PROCEDURE ***** THE INPUT IS CORRECT, THE CHECK RUN IS STARTING NOW ***** ANALYSING NEW STATE OF REALM CUSTOMER-RLM FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.CUSTOMER-RLM.AFTRESTR 100 NON EMPTY PAGES HAVE BEEN ANALYSED ***** ANALYSING NEW STATE OF REALM FINANCE-RLM FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.FINANCE-RLM.AFTRESTR 6 NON EMPTY PAGES HAVE BEEN ANALYSED ***** SORTING STARTED DATE AND TIME 2015-06-28 11:40:26 ***** SORTING COMPLETED DATE AND TIME 2015-06-28 11:40:26 ***** DIAGNOSTIC SUMMARY OF BCHECK NO WARNINGS NO ERRORS NO SYSTEM-ERRORS 11379 LOCAL CHECKS HAVE BEEN DONE 126 RECORD/TABLE-OCCURRENCES HAVE BEEN CHECKED AGAINST DBTT 68 CHAIN-SET-MEMBERSHIPS HAVE BEEN CHECKED 52 REFERENCES BETWEEN TABLE-OCCURRENCES HAVE BEEN CHECKED 72 REFERENCES FROM TABLES TO MEMBER-RECORDS HAVE BEEN CHECKED 72 USERKEYS BETWEEN TABLES AND MEMBER-RECORDS HAVE BEEN CHECKED NO EASY (MINOR) LOCAL CONSISTENCY ERRORS NO FATAL (SERIOUS, STRUCTURAL) LOCAL CONSISTENCY ERRORS NO GLOBAL CONSISTENCY ERRORS NO GLOBAL INDEX CHECK HAS BEEN DONE ***** END OF DIAGNOSTIC SUMMARY ***** NR OF DATABASE ACCESSES : 26 ***** NORMAL END BCHECK (UDS/SQL V2.8 0000 ) 2015-06-28 11:40:26
Example 2
The original database is checked against the shadow database that was checked by BCHECK before restructuring and found to be error-free (AFTRESTR). While this incremental summing check is performed, BCHECK also checks both databases for coherence:
/ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=CUSTOMER.DBDIR /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL, VERSION=02.8A00 /START-UDS-BCHECK ***** START BCHECK (UDS/SQL V2.8 0000 ) 2015-06-28 11:51:11 CHECK SUMMING AGAINST COPY NAME AFTRESTR SCHEMA CUSTOMER-LIST REALM ALL RECORD ALL SET ALL KEY ALL END ***** THE INPUT IS CORRECT, THE CHECK RUN IS STARTING NOW ***** ANALYSING NEW STATE OF REALM CUSTOMER-RLM FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.CUSTOMER-RLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.CUSTOMER-RLM.AFTRESTR 50 CHANGED PAGES HAVE BEEN ANALYSED ***** ANALYSING NEW STATE OF REALM FINANCE-RLM FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.FINANCE-RLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.FINANCE-RLM.AFTRESTR 2 CHANGED PAGES HAVE BEEN ANALYSED +++++ GLOBAL CONSISTENCY ERRORS IN TYPE-NR : 1 +++++ GLOBAL CONSISTENCY ERRORS IN REF-NR : 2 ***** DIAGNOSTIC SUMMARY OF BCHECK NO WARNINGS NO ERRORS NO SYSTEM-ERRORS 14474 LOCAL CHECKS HAVE BEEN DONE 246 RECORD/TABLE-OCCURRENCES HAVE BEEN CHECKED AGAINST DBTT 136 CHAIN-SET-MEMBERSHIPS HAVE BEEN CHECKED 102 REFERENCES BETWEEN TABLE-OCCURRENCES HAVE BEEN CHECKED 144 REFERENCES FROM TABLES TO MEMBER-RECORDS HAVE BEEN CHECKED 144 USERKEYS BETWEEN TABLES AND MEMBER-RECORDS HAVE BEEN CHECKED NO EASY (MINOR) LOCAL CONSISTENCY ERRORS NO FATAL (SERIOUS, STRUCTURAL) LOCAL CONSISTENCY ERRORS +++++ GLOBAL CONSISTENCY ERRORS. DO A SORTING CHECK NO GLOBAL INDEX CHECK HAS BEEN DONE ***** END OF DIAGNOSTIC SUMMARY ***** NR OF DATABASE ACCESSES : 48 ***** NORMAL END BCHECK (UDS/SQL V2.8 0000 ) 2015-06-28 11:51:11
Extracts from the SYSLST log:
. . . /REMARK START GENERATED BCHECK-STATEMENTS /ADD-FILE-LINK LINK-NAME=BCHECK, - / FILE-NAME=$XXXXXXXX.UTI.1GZE.01132838.BCHECK /ADD-FILE-LINK LINK-NAME=DATABASE, - / FILE-NAME=$XXXXXXXX.CUSTOMER.DBDIR /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL,VERSION=XX.XXXX /SET-JV-LINK LINK-NAME=UDSPS01,JV-NAME=UDS-PUB-DECL /START-UDS-BCHECK CHECK GENERATE SORTING AGAINST COPY AFTRESTR TYPE IS 1 SCHEMA NAME IS CUSTOMER-LIST REALM NAME IS CUSTOMER-RLM REALM NAME IS FINANCE-RLM RECORD NAME IS CUSTOMER WITH LOCATION CHECK SET NAME IS APPROVED-CREDITS WITHOUT INDEX CHECK KEY REF IS 1 WITHOUT INDEX CHECK END . . .
Since errors were detected in the summing check, a sort check is performed to localize them. The command sequence for the limited sort check appears after REMARK in the SYSLST output of the summing check.
Example 3
A limited sort check is performed to localize the errors more precisely. This is done by using the statements listed after REMARK.. in the log of the summing check.
/ADD-FILE-LINK BCHECK, $XXXXX.UTI.1GZE.01132838.BCHECK /ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=CUSTOMER.DBDIR /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL, VERSION=02.8A00 /SET-JV-LINK LINK-NAME=UDSPS01,JV-NAME=UDS-PUB-DECL /START-UDS-BCHECK ***** START BCHECK (UDS/SQL V2.8 0000 ) 2015-06-28 09:54:00 CHECK GENERATE SORTING AGAINST COPY AFTRESTR TYPE IS 1 SCHEMA NAME IS CUSTOMER-LIST REALM NAME IS CUSTOMER-RLM REALM NAME IS FINANCE-RLM RECORD NAME IS CUSTOMER WITH LOCATION CHECK SET NAME IS APPROVED-CREDITS WITHOUT INDEX CHECK KEY REF IS 1 WITHOUT INDEX CHECK END ***** THE INPUT IS CORRECT, THE CHECK RUN IS STARTING NOW. ***** ANALYSING NEW STATE OF REALM CUSTOMER-RLM FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.CUSTOMER-RLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.CUSTOMER-RLM.AFTRESTR 50 CHANGED BLOCKS HAVE BEEN ANALYSED. ***** ANALYSING NEW STATE OF REALM FINANCE-RLM FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.FINANCE-RLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.CUSTOMER.FINANCE-RLM.AFTRESTR 2 CHANGED BLOCKS HAVE BEEN ANALYSED. . . . ***** DIAGNOSTIC SUMMARY OF BCHECK NO WARNINGS NO ERRORS NO SYSTEM-ERRORS 10062 LOCAL CHECKS HAVE BEEN DONE 144 RECORD/TABLE-OCCURRENCES HAVE BEEN CHECKED AGAINST DBTT 0 CHAIN-SET-MEMBERSHIPS HAVE BEEN CHECKED 0 REFERENCES BETWEEN TABLE-OCCURRENCES HAVE BEEN CHECKED 0 REFERENCES FROM TABLES TO MEMBER-RECORDS HAVE BEEN CHECKED NO EASY (MINOR) LOCAL CONSISTENCY ERRORS NO FATAL (SERIOUS, STRUCTURAL) LOCAL CONSISTENCY ERRORS +++++ 1 GLOBAL CONSISTENCY ERRORS ***** END OF DIAGNOSTIC SUMMARY ***** NR OF DATABASE ACCESSES : 67 ***** NORMAL END BCHECK (UDS/SQL V2.8 0000 ) 2015-06-28 09:54:01
Extracts from the SYSLST log:
. . . ***** THE FOLLOWING CHANGE OF DATABASE IS INCONSISTENT CHECK-ELEMENT : 0002 00000021 0002 FFFF 03000066 01 00 0000 00000000 FOR OWNER-DBKEY 0002-000000000021 DBTT-COL 2 A TABLE-OCCURRENCE AT TABLE-LEVEL MAX. WAS ADDED TO PAGE 03000066 WITH NO CORRESPONDING CHANGE OF THE REFERENCE IN THE DBTT. . . .