Die Datenbank KUNDEN (siehe "Beispieldatenbanken") wurde umstrukturiert und sieht danach folgendermaßen aus:
Bild 9: Datenbank KUNDEN nach dem Umstrukturieren
Nachdem einige Zeit mit der umstrukturierten Datenbank KUNDEN gearbeitet wurde, soll sie mit BCHECK auf Konsistenz geprüft werden. Folgende Stände existieren:
Schattendatenbank unmittelbar nach dem Umstrukturieren: copyname.NACHUM
Originaldatenbank (neuerer Stand als NACHUM)
Beispiel 1
Die Schattendatenbank wird nach dem Umstrukturieren (NACHUM) komplett summarisch geprüft.
/ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=KUNDEN.DBDIR.NACHUM /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL, VERSION=02.9A00 /START-UDS-BCHECK ***** START BCHECK (UDS/SQL V2.9 0000 ) 2017-06-28 11:25:59 CHECK SUMMING SCHEMA KUNDENKARTEI 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 KUNDENRLM FROM FILE :SQL2:$XXXXXXXX.KUNDEN.KUNDENRLM.NACHUM 100 NON EMPTY PAGES HAVE BEEN ANALYSED ***** ANALYSING NEW STATE OF REALM FINANZRLM FROM FILE :SQL2:$XXXXXXXX.KUNDEN.FINANZRLM.NACHUM 6 NON EMPTY PAGES HAVE BEEN ANALYSED ***** SORTING STARTED DATE AND TIME 2017-06-28 11:25:59 ***** SORTING COMPLETED DATE AND TIME 2017-06-28 11:25:59 ***** 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.9 0000 ) 2017-06-28 11:25:59
Beispiel 2
Die Originaldatenbank wird gegen die laut BCHECK-Prüflauf fehlerfreie Schattendatenbank nach der Umstrukturierung (NACHUM) geprüft. Bei dieser summarischen Inkrementalprüfung prüft BCHECK beide Datenbanken auch auf Kohärenz.
/ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=KUNDEN.DBDIR /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL,VERSION=02.9A00 /START-UDS-BCHECK ***** START BCHECK (UDS/SQL V2.9 0000 ) 2017-06-28 11:36:10 CHECK SUMMING AGAINST COPY NAME NACHUM SCHEMA KUNDENKARTEI REALM ALL RECORD ALL SET ALL KEY ALL END ***** THE INPUT IS CORRECT, THE CHECK RUN IS STARTING NOW ***** ANALYSING NEW STATE OF REALM KUNDENRLM FROM FILE :SQL2:$XXXXXXXX.KUNDEN.KUNDENRLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.KUNDEN.KUNDENRLM.NACHUM 50 CHANGED PAGES HAVE BEEN ANALYSED ***** ANALYSING NEW STATE OF REALM FINANZRLM FROM FILE :SQL2:$XXXXXXXX.KUNDEN.FINANZRLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.KUNDEN.FINANZRLM.NACHUM 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.9 0000 ) 2017-06-28 11:36:10
Ausschnitte aus dem SYSLST-Protokoll:
. . /REMARK START GENERATED BCHECK-STATEMENTS /ADD-FILE-LINK LINK-NAME=BCHECK, - / FILE-NAME=$XXXXXXXX.UTI.1DP5.30125022.BCHECK /ADD-FILE-LINK LINK-NAME=DATABASE, - / FILE-NAME=$XXXXXXXX.KUNDEN.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 NACHUM TYPE IS 1 SCHEMA NAME IS KUNDENKARTEI REALM NAME IS KUNDENRLM REALM NAME IS FINANZRLM RECORD NAME IS KUNDE WITH LOCATION CHECK SET NAME IS GEWAEHRTE-KREDITE WITHOUT INDEX CHECK KEY REF IS 1 WITHOUT INDEX CHECK END . . .
Nachdem in der summarischen Prüfung Fehler festgestellt wurden, werden diese mit einer Sortierprüfung lokalisiert. Die Anweisungsfolge für eine eingeschränkte Sortierprüfung ist in der SYSLST-Ausgabe der summarischen Prüfung nach REMARK... aufgeführt.
Beispiel 3
Es wird eine eingeschränkte Sortierprüfung durchgeführt, um die Fehler genauer zu lokalisieren. Dazu werden die Anweisungen verwendet, die im Protokoll der summarischen Prüfung nach REMARK... aufgeführt sind.
/ADD-FILE-LINK BCHECK, $XXXXXXXX.UTI.1DP5.30125022.BCHECK /ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=KUNDEN.DBDIR /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL,VERSION=02.9A00 /SET-JV-LINK LINK-NAME=UDSPS01,JV-NAME=UDS-PUB-DECL /START-UDS-BCHECK ***** START BCHECK (UDS/SQL V2.9 0000 ) 2017-06-28 11:36:10 CHECK GENERATE SORTING AGAINST COPY NACHUM TYPE IS 1 SCHEMA NAME IS KUNDENKARTEI REALM NAME IS KUNDENRLM REALM NAME IS FINANZRLM RECORD NAME IS KUNDE WITH LOCATION CHECK SET NAME IS GEWAEHRTE-KREDITE 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 KUNDENRLM FROM FILE :SQL2:$XXXXXXXX.KUNDEN.KUNDENRLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.KUNDEN.KUNDENRLM.NACHUM 50 CHANGED BLOCKS HAVE BEEN ANALYSED. ***** ANALYSING NEW STATE OF REALM FINANZRLM FROM FILE :SQL2:$XXXXXXXX.KUNDEN.FINANZRLM AGAINST OLD STATE FROM FILE :SQL2:$XXXXXXXX.KUNDEN.FINANZRLM.NACHUM 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.9 0000 ) 2017-06-28 11:36:10
Ausschnitte aus dem SYSLST-Protokoll:
. . . ***** THE FOLLOWING CHANGE OF DATABASE IS NOT CONSISTENT 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. . . .