Question & Answer
Question
既存のデータベースのデータベース・パス、ストレージ・パス、表スペース・コンテナーパス、データベース名などを変更するにはどうすればよいでしょうか。
Answer
db2relocatedb (データベースの再配置) コマンドでデータベース・パスを変更できます。
db2relocatedb コマンドは、ユーザー提供の構成ファイルで指定されたとおりにデータベースの名前を変更したり、データベースやデータベースの一部 (ストレージ・パス、コンテナー・パス、ログ・ディレクトリーなど) を再配置します。
[手順]
db2relocatedb コマンドによる変更手順は次のとおりです。
その他の考慮点については、db2relocatedb コマンドのマニュアル・ページに記載されている使用上の注意をご参照ください。
関連情報
IC91101/IC91182/IC91366/IC95218 DB2RELOCATEDB CAN FAIL WITH DBT1015N WHEN CHANGING STORAGE_PATH
自動ストレージ・データベースで、STORAGE_PATH を指定せずに relocate するとストレージ・パスは移動しません。
データベース・パスだけ移動させたあと、ストレージ・パスを移動させると db2relocatedb は DBT1015N で失敗します。
db2relocatedb コマンドは、ユーザー提供の構成ファイルで指定されたとおりにデータベースの名前を変更したり、データベースやデータベースの一部 (ストレージ・パス、コンテナー・パス、ログ・ディレクトリーなど) を再配置します。
[手順]
db2relocatedb コマンドによる変更手順は次のとおりです。
- (オプション) データベースのオフライン・バックアップを取得します。
db2 backup db <データベース名> to <バックアップ先のパス>
- インスタンスを停止します。
db2stop force
- 再配置の構成ファイル (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 だけを指定した場合、コンテナは移動しません。 - mv コマンドなどで既存のデータベース・パスから変更先のデータベース・パスへ再配置対象のディレクトリーを移動します。
- db2relocatedb コマンドを実行します。
db2relocatedb -f relocate.cfg
- インスタンスを起動します。
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 の処理が正常に終了しました。
運用上の考慮点
データベース・パスの変更にあたっては、特に以下の点にご注意ください。
- db2relocatedb コマンドはオフライン・ツールです。変更対象のデータベースは、オフラインでなければなりません。
- db2relocatedb コマンドによる、Db2 インスタンスおよびデータベース・サポート・ファイル (※注) への変更はログに記録されません。念のため、事前にデータベースのオフライン・バックアップの取得を推奨します。
(※注) データベース・サポート・ファイルとは、システム・データベース・ディレクトリー、ローカル・データーベース・ディレクトリー、データベース構成ファイル等を示します。 - db2relocatedb コマンド実行後は、db2relocatedb コマンド実行前に採取されたバックアップとパスの互換性がない可能性があります。このため、db2relocatedb コマンド実行後にオフライン・フル・バックアップの採取を推奨します。
- パーティション・データベース環境では、変更が必要なすべてのデータベース・パーティションに対してこのツールを実行する必要があります。データベース・パーティションごとにそれぞれ別個の構成ファイル (変更対象のデータベース・パーティションの NODENUM 値が含まれる) を用意する必要があります。
その他の考慮点については、db2relocatedb コマンドのマニュアル・ページに記載されている使用上の注意をご参照ください。
関連情報
[Db2] パスポート・アドバンテージによく寄せられる質問
db2relocatedb - データベースの再配置コマンド
データベース・ディレクトリーおよびファイル
Tracing the db2relocatedb or db2inidb utility
db2relocatedb - データベースの再配置コマンド
データベース・ディレクトリーおよびファイル
Tracing the db2relocatedb or db2inidb utility
IC91101/IC91182/IC91366/IC95218 DB2RELOCATEDB CAN FAIL WITH DBT1015N WHEN CHANGING STORAGE_PATH
自動ストレージ・データベースで、STORAGE_PATH を指定せずに relocate するとストレージ・パスは移動しません。
データベース・パスだけ移動させたあと、ストレージ・パスを移動させると db2relocatedb は DBT1015N で失敗します。
[{"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
Was this topic helpful?
Document Information
Modified date:
16 August 2023
UID
jpn1J1000419