IBM Support

[Db2] データベース・パスの変更方法

Question & Answer


Question

既存のデータベースのデータベース・パス、ストレージ・パス、表スペース・コンテナーパス、データベース名などを変更するにはどうすればよいでしょうか。

Answer

db2relocatedb (データベースの再配置) コマンドでデータベース・パスを変更できます。
db2relocatedb コマンドは、ユーザー提供の構成ファイルで指定されたとおりにデータベースの名前を変更したり、データベースやデータベースの一部 (ストレージ・パス、コンテナー・パス、ログ・ディレクトリーなど) を再配置します。

[手順]
db2relocatedb コマンドによる変更手順は次のとおりです。
  1. (オプション) データベースのオフライン・バックアップを取得します。
    db2 backup db <データベース名> to <バックアップ先のパス>
  2. インスタンスを停止します。
    db2stop force
  3. 再配置の構成ファイル (relocate.cfg) を作成し、変更箇所を編集します。
    注:db2relocatedb の -g オプションは Db2 11.1 以降で使用可能です。10.5 以前は手動でファイルを作成します。
    10.5 以前は SYSIBMADM.DBPATHS 管理ビューの結果を利用してください。
    db2relocatedb -g relocate.cfg -d <データベース名>
    vi relocate.cfg
    例:データベース・パスとストレージ・パスを変更
    オリジナル
    DB_NAME=sample,sample
    INSTANCE=db2inst1,db2inst1
    DB_PATH=/home/db2inst1,/home/db2inst1
    NODENUM=0
    STORAGE_PATH=/home/db2inst1,/home/db2inst1
    LOGARCHMETH1=DISK:/archlog/,DISK:/archlog/
    
    変更後
    DB_NAME=sample
    INSTANCE=db2inst1
    DB_PATH=/home/db2inst1,/databases/db2inst1
    NODENUM=0
    STORAGE_PATH=/home/db2inst1,/databases/db2inst1
    注: 表スペース・コンテナも移動したい場合、自動ストレージ・データベースの場合は STORAGE_PATH、そうでない場合は CONT_PATH を明示的に指定する必要があります。DB_PATH だけを指定した場合、コンテナは移動しません。
  4. mv コマンドなどで既存のデータベース・パスから変更先のデータベース・パスへ再配置対象のディレクトリーを移動します。
  5. db2relocatedb コマンドを実行します。
    db2relocatedb -f relocate.cfg
  6. インスタンスを起動します。
     db2start
[実行例]
  • Linux および UNIX 環境
    sample データベースのデータベース・パスを /work/database から /work/sample に変更します。
    $ db2stop
    2020-07-23 08:37:49     0   0   SQL1064N  DB2STOP の処理が正常に終了しました。
    SQL1064N  DB2STOP の処理が正常に終了しました。
    
    $ db2relocatedb -g relocate.cfg -d sample
    DBT1000I  ツールは正常に完了しました。
    
    $ vi relocate.cfg
    DB_NAME=sample
    INSTANCE=db2inst1
    DB_PATH=/work/database,/work/sample
    NODENUM=0
    STORAGE_PATH=/work/database,/work/sample
    
    $ cp -pr /work/database/db2inst1 /work/sample/db2inst1
    
    $ db2relocatedb -f relocate.cfg
    ファイルおよび制御構造は正常に変更されました。
    データベースは正常にカタログされました。
    DBT1000I  ツールは正常に完了しました。
    
    $ db2start
    07/23/2020 08:39:40     0   0   SQL1063N  DB2START の処理が正常に終了しました。
    SQL1063N  DB2START の処理が正常に終了しました。
  • Windows 環境
    sample データベースのデータベース・パスを C: から D: に変更します。
    注: Windows 版はDB2_CREATE_DB_ON_PATH が設定されていない場合(デフォルト)、データベース・パスはドライブ名になります。
    C:\>db2stop
    2020-07-21 16:52:56     0   0   SQL1064N  DB2STOP の処理が正常に終了しました。
    SQL1064N  DB2STOP の処理が正常に終了しました。
    
    C:\>db2relocatedb -g relocate.cfg -d sample
    DBT1000I  ツールは正常に完了しました。
    
    C:\>type relocate.cfg
    DB_NAME=sample
    INSTANCE=DB2
    NODENUM=0
    DB_PATH=C:,D:
    STORAGE_PATH=C:,D:
    
    C:\>xcopy C:\DB2 D:\DB2 /s /e
    
    C:\>db2relocatedb -f relocate.cfg
    ファイルおよび制御構造は正常に変更されました。
    データベースは正常にカタログされました。
    DBT1000I  ツールは正常に完了しました。
    
    C:\>db2start
    2020-07-21 17:00:12     0   0   SQL1063N  DB2START の処理が正常に終了しました。
    SQL1063N  DB2START の処理が正常に終了しました。
運用上の考慮点
データベース・パスの変更にあたっては、特に以下の点にご注意ください。
  1. db2relocatedb コマンドはオフライン・ツールです。変更対象のデータベースは、オフラインでなければなりません。
  2. db2relocatedb コマンドによる、Db2 インスタンスおよびデータベース・サポート・ファイル (※注) への変更はログに記録されません。念のため、事前にデータベースのオフライン・バックアップの取得を推奨します。
    (※注) データベース・サポート・ファイルとは、システム・データベース・ディレクトリー、ローカル・データーベース・ディレクトリー、データベース構成ファイル等を示します。
  3. db2relocatedb コマンド実行後は、db2relocatedb コマンド実行前に採取されたバックアップとパスの互換性がない可能性があります。このため、db2relocatedb コマンド実行後にオフライン・フル・バックアップの採取を推奨します。
  4. パーティション・データベース環境では、変更が必要なすべてのデータベース・パーティションに対してこのツールを実行する必要があります。データベース・パーティションごとにそれぞれ別個の構成ファイル (変更対象のデータベース・パーティションの NODENUM 値が含まれる) を用意する必要があります。

その他の考慮点については、db2relocatedb コマンドのマニュアル・ページに記載されている使用上の注意をご参照ください。

関連情報

IC91101/IC91182/IC91366/IC95218 DB2RELOCATEDB CAN FAIL WITH DBT1015N WHEN CHANGING STORAGE_PATH
自動ストレージ・データベースで、STORAGE_PATH を指定せずに relocate するとストレージ・パスは移動しません。
データベース・パスだけ移動させたあと、ストレージ・パスを移動させると db2relocatedb は DBT1015N で失敗します。
 
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlFAAU","label":"Data Movement-\u003Edb2relocatedb"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"All Version(s)"}]

Historical Number

86F79F065A630FBB49257783003D2E10

Document Information

Modified date:
16 August 2023

UID

jpn1J1000419