Table of Contents

Datenbankadministration

Transaktion SYSDBA

Diese Transaktion ermöglicht die Verwaltung sämtlicher Tabellen, die Bestandteil der Datenbank sind.

Beim Starten der Transaktion erhält der Benutzer ein Popup-Fenster, wenn einer Tabelle die Gruppenzuordnung fehlt (<sta> oder <dyn>). Dies bedeutet, dass für jede definierte Tabelle eine Regel “SdbGetTblGroup” definiert werden muss, um sie mit der Gruppe zu verknüpfen.

Wenn verschiedene Installationen auf die gleiche Datenbank zugreifen, kann es vorkommen, dass einige Installationen die Datenbanktabelle COU und andere Installationen Sequences als Zähler verwenden. Deshalb wird beim Start dieser Transaktion geprüft, ob bei der aktuell verwendeten Datenbank sowohl die Datenbanktabelle COU als auch die Sequence SSN gleichzeitig existieren. Ist dies der Fall, wird der Benutzer aufgefordert entweder die Tabelle COU oder die Sequence SSN zu löschen, je nach Einstellung in der aktuellen Session.

Unterstützte Datenbanksysteme

Folgende Datenbanksysteme werden in SYSDBA unterstützt:

Aktualisierung der Datenbankstrukturen

Falls sich die Datenbankbeschreibung aufgrund Einfügens, Änderns oder Löschens von Feldern (Tabellenspalten) oder Ändern von Indexdefinitionen, geändert hat, kann die Datenbank durch Erzeugen und Ausführen des Migrationsscript aktualisert werden.

Für bestimmte Datenbanken sind nicht alle Befehle zum Umstrukturieren zulässig. Zum Beispiel können bei IBM DB2 Datenbanksystemen keine Spalten gedroppt werden. In diesem Fall müssen die entsprechenden Tabellen mittels folgender Schritte aktualisiert werden.

  1. Exportieren der ausgewählten Tabelle(n)
  2. Löschen der ausgewählten Tabelle(n)
  3. Erzeugen der ausgewählten Tabelle(n)
  4. Importieren der ausgewählten Tabelle(n)
  5. Reparieren des INR-Zählers

Durch Befolgen der zuvor genannten Schritte wird die Datenbankbeschreibung aktualisiert und System-Dumps aufgrund von Fehlern in der Datenbankbeschreibung werden vermieden.

Alphanumerische INR

Durch die Verwendung einer alphanumerischen INR wird der Wertebereich der INR von 100.000.000 um 2.037.468.266.496 (26*36^7) erweitert.
In dieser Transaktion können Zähler, deren numerischer Wert größer als 100.000.000 ist, numerisch oder alphanumerisch eingegeben werden.

Beispiel für die Umrechnung einer alphanumerischen INR in ein numerisches Äquivalent:

A0 000 000 = 1 00 000 000

Single Byte Character und Multi Byte Character Spalten

Die gleichzeitige Verwendung von Single Byte und Multibyte Character Spalten in der Datenbank und in Tabellen resultiert in einer schlechteren Performance.

Profile in der Datenbank

Das Panel Import/Export Profile gestattet es dem Anwender, Anwenderprofile in beiden Richtungen zwischen flachen Dateien (*.tdp) und der Datenbank zu kopieren.
Das Panel zeigt außerdem die derzeit für das Speichern der Profile verwendete Quelle an.

Um Profile zu kopieren:

Dieser Vorgang kann auch von der Kommandozeile aus durchgeführt werden, wobei die folgenden Schalter zur Verfügung stehen:

Operation Schalter
Import zur Datenbank -p DB
Export zu flachen Dateien -p TD

Bei Hintergrundimport bzw. -export mittels des Schalters sind per Voreinstellung sämtliche Profile ausgewählt.

Transaktions-Panels

Datenbank
Oracle spezifisch
Zeige Prozesse
Prozesse je Sitzung
DB2 z/OS
Import/Export Profile

Datenbank



Auswahl von Tabellen oder Gruppen von Tabellen

Die Auswahl von Tabellen kann wie folgt vorgenommen werden:

Auswahl einer einzelnen Tabelle

Nach Auswahl der betreffenden Tabelle aus der Liste der verfügbaren Tabellen kann die weitere Verarbeitung gestartet werden. Die getroffene Auswahl bleibt bis zum Wechsel der Auswahl erhalten, sodass aufeinander folgende Arbeitsschritte für eine Tabelle direkt durchgeführt werden können.

Auswahl einer Gruppe von Tabellen

Die Auswahl erfolgt anhand einer bestehenden Tabellengruppe. Folgende Tabellengruppen sind verfügbar:

An der rechten Seite des Panels werden die jeweils der Tabellengruppe zugeordneten Tabellen angezeigt.

Pflege von Tabellengruppen

Wenn eine neue Tabelle in der Anwendung erstellt wird, muß die Regel “SdbGetTblGroup” definiert werden, um die Informationen über die Zugehörigkeit der verschiedenen Datenbanktabellen zu den Gruppen für statische, dynamische und Systemtabellen zu erhalten.

Die Gruppen <sta>, <dyn> und die Informationen über verbundene Verzeichnisse werden nicht mehr aus SYSDBA.INI, sondern aus den Regeln in den Sourcen entnommen.

Funktionsübersicht

Die folgenden Funktionen sind verfügbar:

Export (Button [Export Tabelle])

Exportiert die über das Feld “Tabelle oder Grp. zu verarbeiten” ausgewählte(n) Tabelle(n) in den angegebenen “Dateipfad für Import/Export”. Beim Export wird für jede zu exportierende Tabelle eine Datei mit dem Namen <Tabelle>.DBE erstellt. Mit dem Markieren der Checkbox “Überschreibe vorhandene Exportdateien ohne Nachfragen” kann definiert werden, dass bereits vorhandene Exportdateien automatisch überschrieben werden, ohne dass der Benutzer das Überschreiben für jede einzelne Exportdatei bestätigen muss. Standardmäßig ist diese Checkbox unmarkiert.

Import (Button [Import Tabelle])

Importiert die über das Feld “Tabelle oder Grp. zu verarbeiten” ausgewählte(n) Tabelle(n) aus dem angegebenen “Dateipfad für Import/Export” in die Datenbank. Beim Import wird für jede zu importierende Tabelle nach einer Datei mit dem Namen <Tabelle>.DBE gesucht und diese dann importiert.

Mit dem Markieren der Checkbox “Ignoriere Fehler von nicht definierten Spalten beim Import” wird definiert, dass fehlende Spalten in der Importdatei und/oder der Tabelle nicht zu einem Fehler führen. Standardmäßig ist diese Checkbox markiert.

Leeren (Button [Leeren Tabelle])

Löscht den Inhalt der ausgewählte(n) Tabelle(n) ohne die Tabellenbeschreibung zu löschen.

Löschen (Button [Löschen Tabelle])

Löscht die ausgewählte(n) Tabelle(n) vollständig, also inklusive Inhalt und Tabellenbeschreibung, aus der Datenbank.

Erzeugen (Button [Erzeuge Tabelle])

Erzeugt die ausgewählte(n) Tabelle(n). Ist die Checkbox 'Ben. Creation Script' eingeschaltet, werden die Tabellen durch das Creation Script erzeugt, andernfalls durch den internen Befehl DBCreate. Sofern für die Tabelle(n) notwendige Verzeichnisse in der Partition “data” angelegt werden müssen, wird deren Bezeichnung aus der INI-Datei SYSDBA.INI im Abschnitt [DATA-Directories] gelesen und, sofern nicht vorhanden, angelegt.

Prüfen (Button [Check Tabelle])

Überprüft die ausgewählte(n) Tabelle(n) der Datenbank hinsichtlich korrekter Spalten und Index-Definition im Vergleich zur Datenbeschreibung der Module.

Reparieren (Button [Repar. INR-Zähl.])

Repariert für die ausgewählte(n) Tabelle(n) den INR-Zähler.

Datenbankauswahl (Button [DB wählen])

Ermöglicht die Anzeige des Datenbankinhalts für alle Tabellen mit einem vorhandenen xxxGET-Modul.

Editieren von Zählern (Button [Bearb. Zähler])

Ermöglicht das Editieren der Zählertabellen. Ab Version 2.2 ist das Counter Stepping fix auf 1 gesetzt, die Section [Counter-Stepping] in der sysdba.ini wird nicht mehr verwendet.

Schlüsselwerte prüfen (Button [Chk Codewerte])

Diese Funktion prüft für die ausgewählte(n) Tabelle(n) zu allen Feldern, denen eine oder mehrere Codetable(s) zugeordnet ist/sind, ob der Feldinhalt der Tabelle auch in der Codetable enthalten ist. Am Ende der Verarbeitung wird ein Prompt-Dialog angezeigt, der auf die Anzahl fehlender Einträge hinweist. Diese können dann im Log betrachtet werden.

Wenn die Checkbox “Fehlende einf.” markiert ist, werden die fehlenden Einträge in der Codetable automatisch in allen Codetables eingefügt. Mehrere Codetables zu einem Feld bedeuten, dass es verschiedene Dekodierungen (Langtexte) für diese Codetable gibt. Beispiel: Ein Code kann in SWIFT-Code oder in Langtext umgesetzt werden. In beiden Codetables muss dann für jeden vorkommenden Dateninhalt eine Dekodierung eingetragen sein.

Wenn unter “Tabelle oder Grp zu verarbeiten” die Option “<all>” für alle Datenbanktabellen ausgewählt wird, sind auch die Checkboxen “Unben. ins Log” und “Xref” aktiviert. Wird “Unben. ins Log” markiert, werden alle nicht verwendeten Codewerte ins Log geschrieben. Durch Markieren der Checkbox “Xref” werden alle Cross References der Codetables mit im Log ausgegeben.

Locks (Button [Sperren])

Ermöglicht das Hantieren sämtlicher Systemsperren (Locks).

Migrationsscript (Button [Migrationsscript])

Das Script wird in einem neuen Panel angezeigt. Über den Button [Ausführen] kann das Script direkt ausgeführt werden. Das Script kann jedoch auch zuerst über den Button [Speichern] gespeichert und zu einem späteren Zeitpunkt z.B. mit der Transaktion “SQL-Script” (SYSSQL) ausgeführt werden. Mit dem Button [Schließen] wird das neue Panel geschlossen. Das erzeugte Script wird auch im Log angezeigt.

Das erzeugte Script enthält die DDL-Kommandos, um die vorhandenen Tabellen und Indizes in der Datenbank an die Datenbeschreibung der Module anzupassen. Dazu gehört

Beim Verwenden des Migrationsscripts werden standardmäßig die überzähligen Spalten und Indizes gelöscht, nicht aber die externen Tabellen. Diese können durch Markieren oder Unmarkieren der entsprechenden Checkboxen geändert werden.

Spalten, die in einem Index enthalten sind, können nicht ohne weiteres geändert werden. Hierzu muss der Index vorher gedroppt und nach Ändern der Spalte neu erzeugt werden. Dies kann aber nur für Indizes durchgeführt werden, die dem System bekannt sind. Dies sind Indizes, die entweder im Modul definiert sind oder aber als additional Indizes in SYSDBA. Sollte die Spalte in einem anderen Index definiert sein, so wird einen Warnung im Log ausgegeben und es wird kein Migrationsscript erzeugt, es sei denn “Löschen Index” ist markiert. Damit werden alle fremde Indizes gedroppt.
Indizes können für MariaDB und MySQL Datenbanksysteme nicht gedroppt werden, wenn andere Sitzungen in dieser Datenbank arbeiten. In einem solchen Fall wird die Verarbeitung mit einem Hinweis beendet und das Migrationsscript nicht ausgeführt.

Creation Script (Button [Erzeuge Script])

Erzeugt ein SQL-Script für die ausgewählte(n) Tabelle(n), in dem die Create-Anweisungen zum Erzeugen der Tabelle und den Indizes enthalten sind.

Das Script wird in einem neuen Panel angezeigt. Über den Button [Ausführen] kann das Script direkt ausgeführt werden. Das Script kann jedoch auch zuerst über den Button [Speichern] gespeichert und zu einem späteren Zeitpunkt ausgeführt werden. Mit dem Button [Schließen] wird das neue Panel geschlossen.

Erzeugen des Migrationsscripts und des Creation Script im Batch-Modus

Das Migration Script und das Creation Script können auch im Batch-Modus erstellt werden.

Befehlszeilen-Switches:

“-cresql <Dateiname> Creation Script”
“-migsql <Dateiname> Migration Script”

Wenn kein Dateiname eingefügt wird:
“Creation Script: Name=getpath(“TMP”)+“dbcreate.sql”“
“Migration Script: Name=getpath(“TMP”)+“dbmigrate.sql”“

”-w” für Überschreiben einer vorhandenen Datei

Bei einem Fehler im Batch wird ein Returncode (auch für ”-i” und “-o”) gesetzt.

“-i <Pfad>” Erzeugt die Datenbank für die Applikation
“<Pfad>” = Optionaler Pfad der dbe-Dateien. Falls “-o” ohne Pfad => “getpath( data )\dbe”


Einzelne Aktionen:

<Pfad> = Optionaler Pfad der dbe-Dateien. Falls “-o” ohne Pfad => “getpath( data )\dbe”

Einzelne Aktionen:

Zusätzliche Indizes

Zusätzliche Indizes, die nicht in den Modulen von DOKA definiert sind, können über den Button [Zus. Indizes] spezifiziert werden. Hierbei wird ein Name und das dazugehörige Erzeugungs SQL angegeben. Entspricht der Name eines Index einem bereits im Modul definierten Index, so ersetzt der zusätzliche Index diesen. Über Checkboxen kann geschaltet werden, ob die Statements zum Erzeugen des Index und Droppen des Index in die Scripte ( Erzeugungsscript und Migrationsscript ) generiert werden sollen.

Konvertieren von CHAR in NCHAR Datentypen

Erzeugt ein SQL Script, das CHAR, VARCHAR, CLOB Datentypen in Place zu NCHAR, NVARCHAR und NCLOB Datentypen konvertiert. Diese Funktionalität steht für Oracle und MS SQL Server Datenbanksysteme zur Verfügung:
Verfahren:

Umwandeln in Sequenzen

Eine Sequenz ist ein Objekt, mit dem sich eindeutige Zahlen generieren lassen. Sequenzen liegen außerhalb einer Datenbanktransaktion. Folgende Datenbanksysteme unterstützen Sequenzen:

Läuft die Applikation mit Zählern (counters) in Tabelle COU und nicht mit Sequenzen, wird der Button [Umwandeln>SEQ.] sichtbar. Damit kann man das System von Zählern in Tabelle COU auf Zähler in Sequenzen umschalten. Zähler in Sequenzen führt zu einem Performance-Gewinn gegenüber Zählern in Tabelle COU.

Die Checkbox “Ausgewählter Export, Löschen oder DbSelect” ermöglicht die Definition von Kriterien (where-Bedingung) für eine ausgewählte Tabelle, wenn diese exportiert, gelöscht oder das Feld INR neu nummeriert werden soll.

Mit einem Klick auf den Button [Zeige Log] wird das Log der durchgeführten Aktionen seit dem Start der Transaktion angezeigt.

Sind bei der Verarbeitung Fehler aufgetreten, wird am Ende der Verarbeitung ein Prompt-Dialog angezeigt, der auf die Anzahl Fehler hinweist. Die Fehler können dann im Log betrachtet werden.

Datenfelder

Datenfeld Beschreibung
Zeige Log Zeigt das Verarbeitungslog der Transaktion an.


Oracle spezifisch




Zeige Prozesse




Prozesse je Sitzung




DB2 z/OS




Import/Export Profile