Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Schema Information Area (SIA) erzeugen mit BGSIA

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

GENERATE SCHEMA schemaname

-

muss angegeben werden;
prüfen und erstellen der SIA

schemaname:
Name des Schemas, der in der Schema-DDL angegeben wurde

RENAME { AREA | RECORD |
         SET }
{’name-oldTOname-new’}
[, ...] .


darf nur im Umbenennungszyklus angegeben werden;
Ändert die Namen von Satzarten, Sets und Benutzerrealms

name-old:
Name der geändert werden soll
name-new
neuer Name

Umbenennungen und Änderungen von Feldern in Satzarten können hier nicht angegeben werden.

DISPLAY [SCHEMA schemaname]

-

wahlweise:
ausdrucken der von BGSIA erzeugten SIA

schemaname:
Name des Schemas, der in der GENERATE-Anweisung angegeben wurde

Die Angabe DISPLAY genügt.

END                            

-

generell erforderlich;
schließt die Eingabe der Anweisungen ab

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

01 /DELETE-SYSTEM-FILE FILE-NAME=*OMF

02 /ADD-FILE-LINK LINK-NAME=DATABASE,FILE-NAME=dbname.DBDIR

03 /SELECT-PRODUCT-VERSION PRODUCT-NAME=UDS-SQL,VERSION=version,SCOPE=*TASK

04 /START-UDS-BGSIA

05 bgsia-anweisungen

06 END

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

01 /START-LMS

02 //OPEN-LIB LIB=dbname.HASHLIB,MODE=*UPDATE(STATE=*NEW)

03 //ADD-ELEMENT FROM-FILE=*OMF,TO-ELEMENT=*LIBRARY-ELEMENT(TYPE=R)

04 //END


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