|ユーザー提供の構成ファイルでの指定に従って、データベースの名前変更、あるいはデータベース |またはデータベースの一部 (例えば、コンテナーやログ・ディレクトリー) の再配置を行います。 |このツールは、DB2 インスタンスおよびデータベース・サポート・ファイルに対して必要な変更を |加えます。
|権限
|なし
|必要な接続
|なし
|コマンド構文
|>>-db2relocatedb---f--configFilename--------------------------->< | |
|コマンド・パラメーター |
| DB_NAME=oldName,newName | DB_PATH=oldPath,newPath | INSTANCE=oldInst,newInst | NODENUM=nodeNumber | LOG_DIR=oldDirPath,newDirPath | CONT_PATH=oldContPath1,newContPath1 | CONT_PATH=oldContPath2,newContPath2 | ...
|説明:
|
|
|例
|例 1
|パス /home/db2inst1 上にあるインスタンス DB2INST1 内のデータベースの名前 |を TESTDB から PRODDB に変更するには、以下の構成ファイルを作成します。
| DB_NAME=TESTDB,PRODDB | DB_PATH=/home/db2inst1 | INSTANCE=db2inst1 | NODENUM=0
|この構成ファイルを relocate.cfg として保管し、以下のコマンドを使用して |データベース・ファイルを変更します。
|db2relocatedb -f relocate.cfg
|例 2
|データベース DATAB1 をパス /dbpath 上のインスタンス JSMITH から |インスタンス PRODINST に移動するには、次のようにします。 |
| DB_NAME=DATAB1 | DB_PATH=/dbpath | INSTANCE=jsmith,prodinst | NODENUM=0|
|例 3
|データベース PRODDB はパス /databases/PRODDB 上のインスタンス INST1 の中に |あります。 |2 つの表スペース・コンテナーのロケーションを次のように変更する必要があります。 |
|ディレクトリーとファイルが新しいロケーションに物理的に移動したら、以下の構成ファイル |を db2relocatedb コマンドと一緒に使用して、新しいロケーションが |認識されるようにデータベース・ファイルを変更できます。
| DB_NAME=PRODDB | DB_PATH=/databases/PRODDB | INSTANCE=inst1 | NODENUM=0 | CONT_PATH=/data/SMS1,/DATA/NewSMS1 | CONT_PATH=/data/DMS1,/DATA/DMS1
|例 4
|データベース TESTDB はインスタンス DB2INST1 の中にあります。このデータベースは |パス /databases/TESTDB 上で作成されました。その後、表スペースと共に |以下のコンテナーが作成されました。
| TS1 | TS2_Cont0 | TS2_Cont1 | /databases/TESTDB/TS3_Cont0 | /databases/TESTDB/TS4/Cont0 | /Data/TS5_Cont0 | /dev/rTS5_Cont1
|TESTDB は新しいシステムに移動されます。その新しいシステムでのインスタンスは NEWINST で、 |このデータベースのロケーションは /DB2 となります。
|データベースを移動する際には、/databases/TESTDB/db2inst1 ディレクトリーに |存在するすべてのファイルを /DB2/newinst ディレクトリーに移動する必要があります。 |これは、この移動の一環として最初の 5 つのコンテナーが再配置されることを意味します。 |(最初の 3 つのコンテナーの位置はデータベース・ディレクトリーとの相対位置で、その次の 2 つの |コンテナーの位置はデータベース・パスとの相対位置です。) これらのコンテナーは |そのデータベース・ディレクトリー内またはデータベース・パス内にあるため、 |構成ファイルにリストする必要はありません。新しいシステムで残りの 2 つのコンテナーを |異なるロケーションに移動する場合は、この 2 つは構成ファイルにリストする必要があります。
|ディレクトリーとファイルが新しいロケーションに物理的に移動したら、以下の構成ファイル |を db2relocatedb コマンドと一緒に使用して、新しいロケーションが |認識されるようにデータベース・ファイルを変更できます。
| 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
|例 5
|データベース TESTDB はノード 10 および 20 に 2 つの区画を持っています。どちらのノードでも、 |インスタンスは SERVINST で、データベース・パスは /home/servinst です。 |両方のノードで、このデータベースの名前は SERVDB に変更され、データベース・パス |は /databases に変更されます。さらにノード 20 では、ログ・ディレクトリー |が /testdb_logdir から /servdb_logdir に変更されます。
|変更は両方のノードに対して行われるため、構成ファイルをそれぞれのノードごとに作成し、 |その対応する構成ファイルを使用して db2relocatedb を |それぞれのノードごとに実行する必要があります。
|ノード 10 に対しては、以下の構成ファイルが使用されます。
| DB_NAME=TESTDB,SERVDB | DB_PATH=/home/servinst,/databases | INSTANCE=servinst | NODE_NUM=10
|ノード 20 に対しては、以下の構成ファイルが使用されます。
| DB_NAME=TESTDB,SERVDB | DB_PATH=/home/servinst,/databases | INSTANCE=servinst | NODE_NUM=20 | LOG_DIR=/testdb_logdir,/servdb_logdir
|使用上の注意
|データベースが属するインスタンスが変わる場合は、このコマンドを実行する前に以下のことを行って、 |インスタンスおよびデータベース・サポート・ファイルへの変更が確実に行われるようにする必要が |あります。 |
|インスタンスが変わる場合は、このツールはその新しいインスタンスの所有者が実行する必要が |あります。
|EEE 環境では、このツールは変更が必要なすべてのノードに対して実行されなければなりません。 |それぞれのノードごとに、変更されるノードの NODENUM 値を含む構成ファイルを個別に用意する |必要があります。例えば、データベースの名前が変更される場合は、すべてのノードが影響を |受けるため、db2relocatedb コマンドを各ノードごとに |別々の構成ファイルを使用して実行する必要があります。 |移動するコンテナーが単一ノードに属しているのであれ |ば、db2relocatedb コマンドはそのノードに対して一度のみ実行する |だけで済みます。
|参照項目
|詳しくは、「コマンド解説書」のコマンド |「db2inidb - ミラーリングされたデータベースの初期化」を |参照してください。