リリース情報


|14.3 db2relocatedb (新規コマンド)

|db2relocatedb - データベースの再配置

|ユーザー提供の構成ファイルでの指定にしたがって、データベースの名前変更、あるいはデータベース |またはデータベースの一部 (たとえば、コンテナーやログ・ディレクトリー) の再配置を行います。 |このツールは、DB2 インスタンスおよびデータベース・サポート・ファイルに対して必要な変更を |加えます。

|権限

|なし

|必要な接続

|なし

|コマンド構文

|>>-db2relocatedb---f--configFilename---------------------------><
| 
| 

|コマンド・パラメーター |

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

|説明:

|

|DB_NAME
|再配置されるデータベースの名前を指定します。データベース名が変更される場合は、 |古い名前と新しい名前の両方を指定する必要があります。 |これは必須フィールドです。

|DB_PATH
|再配置されるデータベースのパスを指定します。これは、そのデータベースが |最初に作成された場所のパスです。 |データベース・パスが変わる場合は、新旧両方のパスを指定する必要があります。 |これは必須フィールドです。

|INSTANCE
|データベースが入っているインスタンスを指定します。データベースが新しいインスタンスへ |移動する場合は、新旧両方のインスタンスを指定する必要があります。 |これは必須フィールドです。

|NODENUM
|変更されるデータベース・ノードのノード番号を指定します。 |デフォルトは 0 です。

|LOG_DIR
|ログ・パスのロケーションの変更を指定します。ログ・パスが変わる場合は、 |新旧両方のパスを指定する必要があります。 |ログ・パスがデータベース・ログの下にある場合は、この指定はオプショナルで、 |その場合、パスは自動的に更新されます。

|CONT_PATH
|表スペース・コンテナーのロケーションの変更を指定します。新旧両方のコンテナー・パスを |指定する必要があります。複数のコンテナー・パスを変更する場合は、複数の CONT_PATH 行を |提供できます。コンテナー・パスがデータベース・パスの下にある場合は、この指定はオプショナルで、 |その場合、パスは自動的に更新されます。 |

|

|注:
ブランク行またはコメント文字 (#) で始まる行は無視されます。 |
|

|

|例 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 に移動するには、次のようにします。 |

  1. |ディレクトリー /dbpath/jsmith 内のファイルを /dbpath/prodinst|移動する。
  2. |以下の構成ファイルを db2relocatedb コマンドと一緒に使用して |データベース・ファイルを変更する。
    |   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 - ミラーリングされたデータベースの初期化」を |参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]