Mit diesem Kommando des Loader können Sie das Laden von Datenbanktabellen steuern.
<tableload_statement> ::=
TABLELOAD <part_spec
> [<configurationstream_spec
>] <datainstream_spec
> [<packagestream_spec
>] [<restart
>]
Anstelle des Schlüsselworts TABLELOAD können auch die Schlüsselworte LOAD TABLE verwendet werden.
Das Kommando TABLELOAD ALL kann nur vom SYSDBA-Benutzerausgeführt werden.
Sie haben die Datenbanktabellen mit dem TABLEEXTRACT-Kommando entladen.
Die Format der dabei erzeugten Datenströme (PAGES oder RECORDS) darf nicht verändert werden. Wenn die Datenströme das Format RECORDS haben, müssen Sie die erforderlichen Datenbanktabellendefinitionen im Datenbankkatalog mit Hilfe der entsprechenden Datendefinitionsanweisungen erzeugen.
Die Zieltabellen müssen leer sein. Sind die Tabellen nicht leer, versucht der Loader den Inhalt der Tabellen zu löschen.
·
TABLELOAD ALL
Die Datenströme <datainstream_spec>enthalten die Anwendungsdaten
aller Tabelle.
·
TABLELOAD USER
Der Datenströme <datainstream_spec>enthalten die Anwendungsdaten der Tabellen, die dem aktuellen
Benutzer gehören.
·
TABLELOAD TABLE
Die angegebene Tabelle ist eine Basistabelle. Der Benutzer ist Eigentümer dieser
Tabelle.
Der Datenstrom <datainstream_spec>enthält die Anwendungsdaten der angegebenen Tabelle.
Sie können Datenbanktabellen anhand der mit dem TABLEEXTRACT-Kommando erstellten Datenströme wiederherstellen. Wenn Sie die mit dem TABLEEXTRACT-Kommando erzeugten Datenströme verwenden wollen, geben Sie diese Namen als <datainstream_spec> an.
Die Systemtabelle TRANSFORMATIONMODEL und weitere Systemtabellen werden gefüllt.
Der Loader stellt die Tabelle in der folgenden Reihenfolge wieder her:
1. Die Datenbankkataloginformationen werden angepasst (Fall 1) oder neu angelegt (Fall 2).
2. Die Anwendungsdaten (einschließlich LONG-Werte) werden geladen
3. Wenn Indizes auf der Quelltabelle existierten, werden diese angelegt.
Bei einem Ladevorgang mit TABLELOAD werden keine Log-Einträge geschrieben.
Der Loader kann folgende Unterschiede bei den Datenbankkataloginformationen zwischen Quell- und Zieltabellen anpassen:
·
Tabellenname und Spaltennamen von Quelltabelle
und Zieltabelle
Es werden der Tabellenname und die Spaltennamen der Quelltabelle
übernommen.
·
Unterschiedlich definierte Vorschlagswerte
(Defaults)
Es werden die Vorschlagswertdefinitionen der Quelltabelle übernommen und die
der Zieltabelle gelöscht.
·
Unterschiedlich definierte Indizes
Es werden die Indexdefinitionen der Quelltabelle übernommen und die der
Zieltabelle gelöscht.
·
Unterschiedlich definierte
Integritätsbedingungen (Constraints)
Es werden die Integritätsbedingungen der Quelltabelle übernommen und die der
Zieltabelle gelöscht.
Unterscheiden sich Quell- und Zieltabelle bei der Definition des Typs und der Länge der einzelnen Spalten, wird der TABLELOAD-Vorgang abgebrochen.
· Wenn die Datenströme das Format PAGES haben, wird die Tabelle anhand der vorhandenen Datenbankkataloginformationen neu angelegt.
· Wenn die Datenströme das Format RECORDS haben, müssen Sie die erforderlichen Datenbanktabellendefinitionen im Datenbankkatalog mit Hilfe der entsprechenden Datendefinitionsanweisungen erzeugen.
· Ohne Angabe des Datenstroms <configurationstream_spec> werden alle in den Datenströmen <datainstream_spec> enthaltenen Daten geladen.
·
Durch die Angabe eines Datenstroms <configurationstream_spec> können aus den Anwendungsdaten <datainstream_spec> die Anwendungsdaten ausgewählter Tabellen vom Ladevorgang
ausgeschlossen werden. Die Tabellen müssen durch die Angabe ihres Eigentümers
und des Tabellennamens im Datenstrom spezifiziert sein.
Die Angabe, welche Tabellen nicht geladen werden sollen, wird in den
Systemtabellen abgelegt. Eine Möglichkeit der Anzeige dieser Informationen ist
die Anzeige der Systemtabelle TRANSFORMATIONPACKAGES.
Die vom Laden der Anwendungsdaten ausgeschlossenen Tabellen besitzen in der
Spalte EXCLUDE den Wert TRUE.
Je nachdem, von welchem Medium aus Sie die Datenströme laden, werden bei den erforderlichen Angaben im Datenstroms <configurationstream_spec> folgende Varianten unterschieden:
·
Variante 1: Laden von einer Datei (FILE)
Im Datenstrom müssen Einträge der Positionen der Tabellendaten vorhanden sein,
die vom Ladevorgang ausgeschlossen werden sollen. Diese Informationen finden
Sie in den Angaben zum Datenstrom <packagestream_spec> des entsprechenden TABLEEXTRACT-Kommandos.
·
Variante 2: Laden über eine Pipe (PIPE)
Die im Datenstrom angegebenen Tabellen werden vom Laden
ausgeschlossen.
· Durch die Angabe eines Datenstroms <packagestream_spec> werden alle Einträge der Tabelle TRANSFORMATIONPACKAGES in diesen Datenstrom entladen. Sie sollten diese Möglichkeit nutzen, um den Ladevorgang gut zu protokollieren.
· Ohne Angabe des Datenstroms <packagestream_spec> wird die Systemtabelle TRANSFORMATIONPACKAGES nicht entladen.
Die Datenbanktabellen werden anhand der Datenströme <datainstream_spec> geladen.
Gegebenenfalls werden alle Einträge der Tabelle TRANSFORMATIONPACKAGES in den Datenstrom <packagestream_spec> entladen.
Die Tabelle ist während des Wiederherstellens und nach erfolgreichem Wiederherstellen schreibgeschützt. Um den Schreibschutz aufzuheben, sichern Sie die Datenbankinstanz nachdem die Tabelle wiederhergestellt wurde.
Der Ladevorgang kann nicht erfolgreich beendet werden. In diesem Fall protokolliert der Loader die Fehlerursache in der Protokolldatei.
Die Werte PACKAGEGUID und CLIENTNODE werden ebenfalls in die Protokolldatei geschrieben. Die PACKAGEGUID ist für ein eventuelles Wiederaufsetzen des Entladevorgangs erforderlich.