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
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:
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:
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.