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.
.
.
.
