Release-Informationen


14.3 db2relocatedb (neuer Befehl)

db2relocatedb - Datenbank verlagern

Benennt eine Datenbank um oder verlagert eine Datenbank vollständig oder teilweise (z. B. einen Behälter, ein Protokollverzeichnis) gemäß den Angaben in der vom Benutzer angegebenen Konfigurationsdatei. Dieses Tool nimmt die notwendigen Änderungen am DB2-Exemplar und den Datenbankunterstützungsdateien vor.

Berechtigung

Keine

Erforderliche Verbindung

Keine

Befehlssyntax

>>-db2relocatedb---f--konfigurationsdateiname------------------><
 
 

Befehlsparameter

-f konfigurationsdateiname
Name der Datei mit den für die Datenbankverlagerung notwendigen Konfigurationsdaten. Dies kann ein relativer oder ein absoluter Dateiname sein. Die Konfigurationsdatei hat folgendes Format:
 
   DB_NAME=alterName,neuerName
   DB_PATH=alterPfad,neuerPfad
   INSTANCE=altesExemplar,neuesExemplar
   NODENUM=knotennummer
   LOG_DIR=alterVerzeichnispfad,neuerVerzeichnispfad
   CONT_PATH=alterBehälterpfad1,neuerBehälterpfad1
   CONT_PATH=alterBehälterpfad2,neuerBehälterpfad2
   ...

Dabei gilt Folgendes:

DB_NAME
Name der Datenbank, die verlagert werden soll. Wenn der Name der Datenbank geändert wird, müssen sowohl der alte als auch der neue Name angegeben werden. Dies ist ein erforderliches Feld.

DB_PATH
Pfad der Datenbank, die verlagert werden soll. Dies ist der Pfad, in dem die Datenbank ursprünglich erstellt wurde. Wenn sich der Datenbankpfad ändert, müssen sowohl der alte als auch der neue Pfad angegeben werden. Dies ist ein erforderliches Feld.

INSTANCE
Exemplar, in dem sich die Datenbank befindet. Wenn die Datenbank in ein neues Exemplar verlagert wird, müssen sowohl das alte als auch das neue Exemplar angegeben werden. Dies ist ein erforderliches Feld.

NODENUM
Knotennummer für den geänderten Datenbankknoten. Die Standardeinstellung ist 0.

LOG_DIR
Änderung in der Position des Protokollpfads. Wenn der Protokollpfad geändert wird, müssen sowohl der alte als auch der neue Pfad angegeben werden. Diese Angabe ist optional, wenn der Protokollpfad sich unter dem Datenbankpfad befindet. In diesem Fall wird der Pfad automatisch aktualisiert.

CONT_PATH
Änderung in der Position der Tabellenbereichsbehälter. Sowohl der alte als auch der neue Behälterpfad müssen angegeben werden. Es können mehrere Zeilen mit CONT_PATH angegeben werden, wenn mehrere Behälterpfadänderungen vorgenommen werden sollen. Diese Angabe ist optional, wenn die Behälterpfade sich unter dem Datenbankpfad befinden. In diesem Fall werden die Pfade automatisch aktualisiert.
Anmerkung:
Leerzeilen oder Zeilen, die mit einem Kommentarzeichen (#) beginnen, werden ignoriert.

Beispiele

Beispiel 1

Wenn Sie den Namen der Datenbank TESTDB in PRODDB im Exemplar DB2INST1 ändern wollen, das sich im Pfad /home/db2inst1 befindet, erstellen Sie die folgende Konfigurationsdatei:

   DB_NAME=TESTDB,PRODDB
   DB_PATH=/home/db2inst1
   INSTANCE=db2inst1
   NODENUM=0

Speichern Sie die Konfigurationsdatei mit dem Namen relocate.cfg, und verwenden Sie den folgenden Befehl, um die Änderungen an den Datenbankdateien vorzunehmen:

db2relocatedb -f relocate.cfg

Beispiel 2

Wenn Sie die Datenbank DATAB1 vom Exemplar JSMITH im Pfad /dbpath in das Exemplar PRODINST versetzen wollen, gehen Sie wie folgt vor:

  1. Versetzen Sie die Dateien aus dem Verzeichnis /dbpath/jsmith in das Verzeichnis /dbpath/prodinst.
  2. Verwenden Sie die folgende Konfigurationsdatei mit dem Befehl db2relocatedb, um die Änderungen an den Datenbankdateien vorzunehmen:
     
       DB_NAME=DATAB1
       DB_PATH=/dbpath
       INSTANCE=jsmith,prodinst
       NODENUM=0
    

Beispiel 3

Die Datenbank PRODDB befindet sich im Exemplar INST1 im Pfad /databases/PRODDB. Die Position der beiden Tabellenbereichsbehälter muss wie folgt geändert werden:

Nachdem die physischen Verzeichnisse und Dateien an ihre neuen Positionen versetzt wurden, kann die folgende Konfigurationsdatei zusammen mit dem Befehl db2relocatedb verwendet werden, um die Änderungen an den Datenbankdateien vorzunehmen, damit diese die neuen Positionen erkennen:

   DB_NAME=PRODDB
   DB_PATH=/databases/PRODDB
   INSTANCE=inst1
   NODENUM=0
   CONT_PATH=/data/SMS1,/DATA/NewSMS1
   CONT_PATH=/data/DMS1,/DATA/DMS1

Beispiel 4

Die Datenbank TESTDB befindet sich im Exemplar DB2INST1 und wurde im Pfad /databases/TESTDB erstellt. Dann wurden Tabellenbereiche mit den folgenden Behältern erstellt:

 
   TS1
   TS2_Cont0
   TS2_Cont1
   /databases/TESTDB/TS3_Cont0
   /databases/TESTDB/TS4/Cont0
   /Data/TS5_Cont0
   /dev/rTS5_Cont1

TESTDB soll in ein neues System versetzt werden. Das Exemplar auf dem neuen System heißt dann NEWINST und die Datenbank befindet sich dann im Verzeichnis /DB2.

Beim Versetzen der Datenbank müssen alle Dateien aus dem Verzeichnis /databases/TESTDB/db2inst1 in das Verzeichnis /DB2/newinst versetzt werden. D. h., die ersten fünf Behälter werden als Teil dieser Verschiebung verlagert. (Die ersten drei sind relativ zum Datenbankverzeichnis, die nächsten beiden relativ zum Datenbankpfad.) Da diese Behälter sich im Datenbankverzeichnis oder Datenbankpfad befinden, müssen sie in der Konfigurationsdatei nicht aufgelistet werden. Wenn dagegen die beiden übrigen Behälter an andere Positionen im neuen System verschoben werden sollen, müssen sie in der Konfigurationsdatei aufgelistet werden.

Nachdem die physischen Verzeichnisse und Dateien an ihre neuen Positionen verschoben wurden, kann die folgende Konfigurationsdatei zusammen mit dem Befehl db2relocatedb verwendet werden, um die Änderungen an den Datenbankdateien vorzunehmen, damit sie die neuen Positionen erkennen:

 
   DB_NAME=TESTDB
   DB_PATH=/databases/TESTDB,/DB2
   INSTANCE=db2inst1,newinst
   NODENUM=0
   CONT_PATH=/Data/TS5_Cont0,/DB2/TESTDB/TS5_Cont0
   CONT_PATH=/dev/rTS5_Cont1,/dev/rTESTDB_TS5_Cont1

Beispiel 5

Die Datenbank TESTDB hat zwei Partitionen auf den Knoten 10 und 20. Das Exemplar heißt SERVINST und der Datenbankpfad lautet auf beiden Knoten /home/servinst. Auf beiden Knoten wird der Name der Datenbank in SERVDB und der Datenbankpfad in /databases geändert. Außerdem wird das Protokollverzeichnis auf Knoten 20 von /testdb_logdir in /servdb_logdir umbenannt.

Da die Änderungen an beiden Knoten vorgenommen werden, muss für jeden Knoten eine Konfigurationsdatei erstellt werden und db2relocatedb muss auf jedem Knoten mit der entsprechenden Konfigurationsdatei ausgeführt werden.

Auf Knoten 10 wird die folgende Konfigurationsdatei verwendet:

   DB_NAME=TESTDB,SERVDB
   DB_PATH=/home/servinst,/databases
   INSTANCE=servinst
   NODE_NUM=10

Auf Knoten 20 wird die folgende Konfigurationsdatei verwendet:

   DB_NAME=TESTDB,SERVDB
   DB_PATH=/home/servinst,/databases
   INSTANCE=servinst
   NODE_NUM=20
   LOG_DIR=/testdb_logdir,/servdb_logdir

Hinweise zur Verwendung

Wenn das Exemplar geändert wird, zu dem eine Datenbank gehört, müssen folgende Schritte ausgeführt werden, bevor der Befehl ausgeführt wird, damit die Änderungen am Exemplar und an den Datenbankunterstützungsdateien vorgenommen werden:

Wenn sich das Exemplar ändert, muss das Tool vom neuen Exemplareigner ausgeführt werden.

In einer EEE-Umgebung muss dieses Tool für jeden Knoten ausgeführt werden, für den Änderungen erforderlich sind. Für jeden Knoten muss eine separate Konfigurationsdatei angegeben werden, die den NODENUM-Wert des geänderten Knotens enthält. Wenn z. B. der Name einer Datenbank geändert wird, ist jeder Knoten davon betroffen und der Befehl db2relocatedb muss auf jedem Knoten mit einer separaten Konfigurationsdatei ausgeführt werden. Wenn Behälter verschoben werden, die nur zu einem Knoten gehören, muss der Befehl db2relocatedb nur einmal auf diesem Knoten ausgeführt werden.

Siehe auch

Weitere Informationen finden Sie unter dem Befehl db2inidb - Initialize a Mirrored Database im Handbuch Command Reference.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]