dbexport: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Der [[Informix-Online]]-Befehl <b>dbexport</b> erstellt u. a. eine Datei, die die ganze logische Struktur einer Datenbank enthält. Zusätzlich zu den Informix-SQL-Anweisungen (die auch "dbschema" liefert), entlädt dbexport die Daten jeder Tabelle in je eine Datei. Der Befehl wird durch Benutzer "informix" aufgerufen und erstellt im aktuellen Verzeichnis:
Der [[Informix]]-Befehl <b>dbexport</b> erstellt u. a. eine Datei, die die ganze logische Struktur einer Datenbank enthält. Zusätzlich zu den Informix-SQL-Anweisungen (die auch "dbschema" liefert), entlädt dbexport die Daten jeder Tabelle in je eine Datei. Der Befehl wird durch Benutzer "informix" aufgerufen und erstellt im aktuellen Verzeichnis:
* die Datei "dbexport.out", die alle während des Ablaufs entstandenen Meldungen enthält
* die Datei "dbexport.out", die alle während des Ablaufs entstandenen Meldungen enthält
* das Verzeichnis "<Datenbankname>.exp", das eine Datei (*.sql) mit der SQL-Anweisungsfolge und je eine Datei (*.unl) mit den Daten der entladenen Tabellen enthält.
* das Verzeichnis "<Datenbankname>.exp", das eine Datei (*.sql) mit der SQL-Anweisungsfolge und je eine Datei (*.unl) mit den Daten der entladenen Tabellen enthält.


Während der Konvertierung sperrt dbexport die Datenbank exklusiv.
Während der Konvertierung sperrt dbexport die Datenbank exklusiv.
Mit dem Befehl [[dbimport]] kann eine derart entladene Datenbank wieder geladen werden.


== Verwendung ==
== Verwendung ==
Zeile 15: Zeile 17:
  $ <b>dbexport -o /tmp sisis</b>
  $ <b>dbexport -o /tmp sisis</b>


Datenbank "sisis" auf Bandgerät "/dev/rmt0" mit Blockgrösse 512 bytes und Bandgrösse 1000000 exportieren.
Datenbank "sisis" auf Bandgerät "/dev/rmt0" mit Blockgrösse 512 Byte und Bandgrösse 1'000'000 exportieren.


  $ <b>dbexport -t /dev/rmt0 -b 512 -s 1000000 sisis</b>
  $ <b>dbexport -t /dev/rmt0 -b 512 -s 1000000 sisis</b>


=== Konvertierung einer Datenbank aus Informix-SE in OnLine-Umgebung ===
=== Konvertierung einer Datenbank aus Informix-SE in Online-Umgebung ===


Die Dienstprogramme dbexport und [[dbimport]] ermöglichen die Konvertierung einer Datenbank aus Informix-SE in eine Turbo- bzw. OnLine-Umgebung oder umgekehrt.
Die Dienstprogramme dbexport und [[dbimport]] ermöglichen die Konvertierung einer Datenbank aus Informix-SE in eine Turbo- bzw. OnLine-Umgebung oder umgekehrt.

Aktuelle Version vom 26. Februar 2010, 22:28 Uhr

Der Informix-Befehl dbexport erstellt u. a. eine Datei, die die ganze logische Struktur einer Datenbank enthält. Zusätzlich zu den Informix-SQL-Anweisungen (die auch "dbschema" liefert), entlädt dbexport die Daten jeder Tabelle in je eine Datei. Der Befehl wird durch Benutzer "informix" aufgerufen und erstellt im aktuellen Verzeichnis:

  • die Datei "dbexport.out", die alle während des Ablaufs entstandenen Meldungen enthält
  • das Verzeichnis "<Datenbankname>.exp", das eine Datei (*.sql) mit der SQL-Anweisungsfolge und je eine Datei (*.unl) mit den Daten der entladenen Tabellen enthält.

Während der Konvertierung sperrt dbexport die Datenbank exklusiv.

Mit dem Befehl dbimport kann eine derart entladene Datenbank wieder geladen werden.

Verwendung

Datenbank "sisis" ins aktuelle Verzeichnis exportieren.

$ dbexport sisis

Datenbank "sisis" ins Verzeichnis "/tmp" exportieren.

$ dbexport -o /tmp sisis

Datenbank "sisis" auf Bandgerät "/dev/rmt0" mit Blockgrösse 512 Byte und Bandgrösse 1'000'000 exportieren.

$ dbexport -t /dev/rmt0 -b 512 -s 1000000 sisis

Konvertierung einer Datenbank aus Informix-SE in Online-Umgebung

Die Dienstprogramme dbexport und dbimport ermöglichen die Konvertierung einer Datenbank aus Informix-SE in eine Turbo- bzw. OnLine-Umgebung oder umgekehrt.

Export der Datenbank "sisis" ins Verzeichnis "/tmp". Die Umgebungsvariable $SQLEXEC wird zuerst so gesetzt, dass der Informix-SE-Datenbankserver benutzt wird.

 $ SQLEXEC=$INFORMIXDIR/lib/sqlexec
 $ export SQLEXEC
 $ dbexport -o /tmp sisis

Nach dem Entladen der Datenbank wird die SQLEXEC-Variable so gesetzt, dass der Informix-OnLine-Datenbankserver aktiv wird.

 $ SQLEXEC=$INFORMIXDIR/lib/sqlturbo
 $ export SQLEXEC

Nun wird die Datenbank in die OnLine-Umgebung geladen.

 $ dbimport -i /tmp sisis

Neuaufbau der Tabelle "isbn_ref"

Es darf niemand sonst am Rechner arbeiten!

Manchmal bleibt die Datenbank während eines Entladevorgangs bei der Tabelle "isbn_ref" hängen, deshalb am besten vorbeugend durchführen:

1. Tabelle "isbn_ref" nach $SISISHOME entladen.

# su - sisis
$ dbaccess sisis -
> unload to kuhntest select * from isbn_ref;
CTRL+C
$ ls -al | grep kuhntest

2. Tabelle "isbn_ref" löschen.

$ dbaccess sisis -
> drop table isbn_ref;
CTRL+C

3. Wechseln ins Verzeichnis der Datei "isbn_ref.sql". Neuerzeugen der Tabelle "isbn_ref". Laden der Daten aus der alten Tabelle "isbn.ref".

$ cd $SISISHOME/sql/sikis
$ ls -al | grep isbn_ref.sql
> dbaccess sisis isbn_ref.sql
CTRL+C
$ cd $SISISHOME
> dbaccess sisis -
> load from kuhntest insert into isbn_ref; CTRL+C

Vorbereitungen zum Datenbankexport

1. Sicherung und Tageslauf müssen gelaufen sein!

2. Beenden der SISIS-server (avserver, catserver, opserver, siadae).

3. Es sollte niemand mehr eingeloggt sein (Kontrolle mit "who | more").

4. Erstellung eines neuen Verzeichnisses. Das muss offenbar als Benutzer "sisis" gemacht werden, jedenfalls muss das Skript "inf.rc" mit der Informix-Umgebung abgearbeitet werden; ausserdem muss die Variable "LANG=de" gesetzt sein

login: root
password:
# . /opt/lib/sisis/etc/inf.rc
# cd /export/home5
# mkdir kuhn
# chmod 777 kuhn
# chown informix:informix kuhn

5. Prüfen, ob als Benutzer "informix" eine Datei angelegt werden kann.

# su - informix
$ touch file

6. Variablen setzen.

$ DBMONEY=.
$ export DBMONEY
$ DBDATE=DMY4.
$ export DBDATE

7. Export der Datenbank "sisis". Dabei werden im Verzeichnis "export/home5/kuhn" die beiden Dateien "dbexport.out" und "sisis.exp" angelegt.

$ cd /export/home5/kuhn
$ dbexport sisis

8. Packen und Zippen der beiden Dateien in die Datei "sisis.tar.gz".

# tar cvf sisis.tar dbexport.out sisis.exp
# gzip sisis.tar