Disclaimer: Folgendes gilt offensichtlich nur für DB2. Ähnlichkeiten mit Befehlen anderer DBMS sind wahrscheinlich rein zufällig.
Für diese triviale Frage hatte ich keine triviale Antwort parat:
Wie kann ich eine Datenbank (samt Inhalt) von einem System auf ein anderes transportieren? Auf dem Zielsystem ist noch keine Datenbank bzw. Struktur zur Aufnahme der Quelldatenbank angelegt.
Unter DB2 gibt es einen Befehl der diese Aufgabe fast komplett erledigt.
Um auf einem Computer etwas von links nach rechts zu bewegen, werden oft Anweisungen mit dem Namensbestandteil MOVE kreiert. So auch hier: DB2 kennt einen Befehl DB2MOVE (danke, Martin). Zweifache Anwendung dieser Anweisung bewegt die Struktur und den Inhalt einer Datenbank in die Zieldatenbank. Letztere muss aber vorher bereits angelegt worden sein.
All das, was jetzt kommt, wird im DB2 Befehlsfenster ausgeführt.
Hierin erstelle ich ein neues temporäres Unterverzeichnis für die Dateien, die ich zum Transport der Datenbank SYSLIB benötige. Dieses Verzeichnisse wird mein Current Directory.
Mit db2move exportiere ich dann den Inhalt aller Tabellen meiner Datenbank in ixf-Dateien:
db2move syslib export
Danach ist mein aktuelles Verzeichnis mit mehr oder weniger vielen ixf-Dateien gefüllt. Diese transportiere ich per Lochkarte, Magnetband, USB-Stick, Luft oder Kabel auf den Zielrechner, wieder in ein leeres temporäres Verzeichnis. Im DB2 Befehlsfenster mache ich dieses zum aktuellen Verzeichnis. Bevor ich aber die mühsam transportieren ixf-Dateien benutzen kann, sollte ich eine Zieldatenbank anlegen:
db2 create database syslib
Zu diesem Create-Befehl gibt es noch eine ganze Reihe Parameter, die man je nach Bedarf spezifizieren sollte. Standard-Datenbanken in meiner Umgebung werden in der Steuerzentrale mit "create database [dbname] on 'e:' using codeset IBM-1252 territory de collate using system" angelegt.
Jetzt ist alles bereit für den Show Down:
db2move syslib import
Wie überraschend! Die Syntax dieses Befehls kann man sich mit "db2move ?" ansehen.
Die Datenbank sollte nun komplett übertragen worden sein.
Das ging schnell! Ich hatte gerade einen Link zu meinem Blog-Eintrag mit dem schönen Oracle-Mastbruch-Gif (Vielen Dank, Dirk) verschickt, und prompt wurde er weiterverraten: "... ein interessamter Blog Eintrag eines true blue BP´s" Damit mußte
Aufgenommen: Mar 29, 16:39