Die Schema Information Area (SIA) müssen Sie mit dem Dienstprogramm BGSIA im DBDIR (Database Directory) einrichten.
BGSIA benötigt dazu die Informationen, die während der Übersetzung der Schema-DDL und der SSL im DBCOM (Database Compiler Realm) abgelegt wurden. Die SIA enthält anschließend Informationen über das Datenbankschema und seine Speicherstruktur in Tabellenform.
Der DBH und andere Dienstprogramme benötigen die SIA, wenn Daten der Benutzerrealms gespeichert, wiedergewonnen oder modifiziert werden.
BGSIA weist den Namen der Realms, der Satzarten und der Sets sowie den Schlüsseln Referenznummern zu. Diese Nummern druckt BGSIA, wenn Sie es mit der DISPLAY-Anweisung anfordern, am Ende des Laufs aus. Dieses Protokoll entspricht dem des Dienstprogramms BPSIA (siehe Handbuch „Sichern, Informieren und Reorganisieren",
SIA PRINT REPORT).
BGSIA erzeugt außerdem das Modul UDSHASH und legt es in der EAM-Datei ab. Es enthält eine Tabelle mit den Namen aller Hashroutinen, die Sie in der Schema-DDL definiert haben. Sie müssen das Modul UDSHASH nach dem BGSIA-Lauf mit den Attributen RMODE=ANY und AMODE=ANY in eine Modulbibliothek mit dem Namen dbname.HASHLIB übernehmen; dies gilt auch, wenn Sie keine Hashroutine verwenden.
Haben Sie eigene Hashroutinen programmiert (siehe Handbuch „Entwerfen und Definieren", Direkter Zugriff), so müssen Sie diese Module ebenfalls in die HASHLIB eintragen.
BGSIA erweitert bei Bedarf automatisch den DBDIR der bearbeiteten Datenbank. Näheres hierzu siehe Handbuch „Datenbankbetrieb", Automatische Realm-Erweiterung durch Dienstprogramme).
BGSIA berücksichtigt beim Start ggf. eine zugewiesene UDS/SQL-Pubset-Deklaration (siehe Handbuch „Datenbankbetrieb", Pubset-Deklarations-Jobvariable). Eine fehlerhafte Zuweisung führt zum Programmabbruch.
Während des Laufs benutzt das Dienstprogramm BGSIA den linked-in DBH.
Bild 11: Systemumgebung von BGSIA
Anweisungen für BGSIA
Anweisung | Standardwert | Bedeutung |
| - | muss angegeben werden; schemaname: |
| darf nur im Umbenennungszyklus angegeben werden;
Umbenennungen und Änderungen von Feldern in Satzarten können hier nicht angegeben werden. | |
| - | wahlweise: schemaname: Die Angabe DISPLAY genügt. |
| - | generell erforderlich; |
Tabelle 13: Anweisungen für BGSIA
Kommandofolge zum Starten von BGSIA
Die hier beschriebene Kommandofolge geht davon aus, dass UDS/SQL mit IMON installiert wurde (siehe Abschnitt „START-Kommandos der UDS/SQL-Programme").
| |
03 | Versionsabhängiges Modul des linked-in DBH der entsprechenden Version wird nachgeladen (siehe Handbuch „Anwendungen programmieren", Abschnitt „UDS/SQL-TIAM-Anwenderprogramme binden, laden und starten“). |
04 | Das UDS/SQL-Dienstprogramm kann auch mit dem Aliasnamen BGSIA gestartet werden. |
Modul UDSHASH in die HASHLIB eintragen
|
Beispiel
/DELETE-SYSTEM-FILE FILE-NAME=*OMF /ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=REISEN.DBDIR /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL, VERSION=02.9B00 /START-UDS-BGSIA ***** START BGSIA (UDS/SQL V2.9 0000 ) 2017-06-28 11:26:06 GENERATE REISEBUERO DISPLAY END % UDS0215 UDS STARTET UDS/SQL V2.9 (LINKED-IN), DATE=2017-06-28 (ILL2038,11:26:07/0YA2) % UDS0746 UDS-PUBSET-DEKLARATION (CURRENT) FOLGT (ILL1746,11:26:07/0YA2) 0YA2: UDS-PUBSET-JV: :SQL2:$XXXXXXXX.PUBSDECL.PUBS 0YA2: PUBSETS: SQL2 0YA2: DEFAULT PUBSET: SQL2 0YA2: ------------------------------------------ ESTIMATE-REPORT ********** FOR USER-REALM 3 NAME IS : REISENRLM A SIZE OF 147 BLOCKS WAS ESTIMATED END OF ESTIMATE-REPORT % UDS0758 ANZAHL DER DML-ANWEISUNGEN UND I/O-ZAEHLER PRO DATENBANK (ILL1758,11:26:07/0YA2) 0YA2: DATABASE NAME DMLS LOG READ PHYS READ LOG WRITE PHYS WRITE 0YA2: ------------------------------------------------------------------------ 0YA2: REISEN 1179 1310 61 276 35 % UDS0213 UDS NORMAL BEENDET MIT ************1179 DML-STATEMENTS 2017-06-28 (ILLY033,11:26:07/0YA2) ***** DIAGNOSTIC SUMMARY OF BGSIA NO WARNINGS NO ERRORS NO SYSTEM-ERRORS ***** END OF DIAGNOSTIC SUMMARY ***** NORMAL END BGSIA (UDS/SQL V2.9 0000 ) 2017-06-28 11:26:07 /ASSIGN-SYSDTA TO-FILE=*SYSCMD /MODIFY-JOB-SWITCHES ON=(1,4) /START-LMS //MODIFY-LOGGING-PARAMETERS LOG=*MAX //OPEN-LIBRARY LIB=REISEN.HASHLIB,MODE=*UPDATE LIBRARY IS CLEARED AND PREPARED //ADD-ELEMENT FROM-FILE=*OMF,TO-ELEM=*LIB-ELEM(TYPE=R),WRITE-MODE=*ANY INPUT OMF OUTPUT LIBRARY= :SQL2:$XXXXXXXX.REISEN.HASHLIB ADD UDSHASH AS (R)UDSHASH/@(0001)/2017-06-28 //SHOW-ELEM-ATTR INPUT LIBRARY= :SQL2:$XXXXXXXX.REISEN.HASHLIB TYP NAME VER (VAR#) DATE (R) UDSHASH @ (0001) 2017-06-28 1 (R)-ELEMENT(S) IN THIS TABLE OF CONTENTS //END