11.10.5 データ用DBエリアファイルの格納場所を変更する方法
ここでは,データ用DBエリアを構成するデータ用DBエリアファイルの格納場所を変更する方法について説明します。
- 重要
-
1つのデータ用DBエリアが複数のデータ用DBエリアファイルで構成されている場合,データ用DBエリアファイルの格納場所を変更するときには,変更先のファイルにレギュラーファイルとブロックスペシャルファイルが混在しないようにしてください。どちらかのファイルに統一してください。
(1) データ用DBエリアファイルをレギュラーファイルからブロックスペシャルファイルに変更する
必要なサイズを割り当てたブロックスペシャルファイルを準備したあとで,データ用DBエリアファイルをレギュラーファイルからブロックスペシャルファイルに変更します。
手順
-
adbstopコマンドでHADBサーバを正常終了する
adbstopコマンドについては,マニュアルHADB コマンドリファレンスのadbstop(HADBサーバの終了)を参照してください。
-
データ用DBエリアファイルのファイル名を変更する
レギュラーファイルから,ブロックスペシャルファイルに変更したいデータ用DBエリアファイルのファイル名を変更します。OSのmvコマンドで,ファイル名を変更してください。実行例を次に示します。
■コマンドの実行例
mv /HADB/db/ADBUTBL01 /HADB/db/ADBUTBL01_TMP
この例では,ファイル名をADBUTBL01からADBUTBL01_TMPに変更しています。
-
ファイル名を変更したデータ用DBエリアファイルをブロックスペシャルファイルにコピーする
手順2.でファイル名を変更したデータ用DBエリアファイルを,ブロックスペシャルファイルにコピーします。OSのddコマンドで,データ用DBエリアファイルをコピーしてください。実行例を次に示します。
■コマンドの実行例
dd if=/HADB/db/ADBUTBL01_TMP of=/dev/mapper/vol01 bs=524288
この例では,レギュラーファイルのデータ用DBエリアファイル(/HADB/db/ADBUTBL01_TMP)を,ブロックスペシャルファイル(/dev/mapper/vol01)にコピーしています。
-
変更前のファイル名でブロックスペシャルファイルへのシンボリックリンクを作成する
手順3.でデータ用DBエリアファイルをコピーしたブロックスペシャルファイルに対して,シンボリックリンクを作成します。その際,手順2.で変更する前のデータ用DBエリアファイル名で,ブロックスペシャルファイルへのシンボリックリンクを作成する必要があります。OSのlnコマンドで,シンボリックリンクを作成してください。実行例を次に示します。
■コマンドの実行例
ln -s /dev/mapper/vol01 /HADB/db/ADBUTBL01
この例では,変更前のファイル名(/HADB/db/ADBUTBL01)で,ブロックスペシャルファイル(/dev/mapper/vol01)へのシンボリックリンクを作成しています。
-
adbstartコマンドでHADBサーバを開始する
adbstartコマンドについては,マニュアルHADB コマンドリファレンスのadbstart(HADBサーバの開始)を参照してください。
-
HADBサーバの動作確認後に不要なレギュラーファイルを削除する
データ用DBエリアファイルを,レギュラーファイルからブロックスペシャルファイルに変更して,問題がないことを確認してください。問題がない場合は,手順2.でファイル名を変更したデータ用DBエリアファイル(レギュラーファイル)は不要となります。OSのコマンドで削除してください。
(2) データ用DBエリアファイル(ブロックスペシャルファイル)の格納場所を変更する
必要なサイズを割り当てたブロックスペシャルファイルを準備したあとで,データ用DBエリアファイルの格納場所を変更します(新たなブロックスペシャルファイルに変更します)。
手順
-
adbstopコマンドでHADBサーバを正常終了する
adbstopコマンドについては,マニュアルHADB コマンドリファレンスのadbstop(HADBサーバの終了)を参照してください。
-
データ用DBエリアファイルの実体を新たなブロックスペシャルファイルにコピーする(格納場所を変更する)
格納場所を変更したいデータ用DBエリアファイルの実体(シンボリックリンクのリンク先にあるブロックスペシャルファイル)を,新たなブロックスペシャルファイルにコピーします。OSのddコマンドで,データ用DBエリアファイルの実体をコピーしてください。実行例を次に示します。
■コマンドの実行例
dd if=/dev/mapper/vol01 of=/dev/mapper/vol02 bs=524288
この例では,データ用DBエリアファイルの実体(/dev/mapper/vol01)を,別のブロックスペシャルファイル(/dev/mapper/vol02)にコピーしています。
-
変更前の格納場所にあるブロックスペシャルファイルへのシンボリックリンクを削除する
データ用DBエリアファイルの格納場所を変更するために,手順2.でコピー元となったブロックスペシャルファイルへのシンボリックリンクを削除します。OSのrmコマンドで,シンボリックリンク元のシンボリックリンクファイルを削除してください。実行例を次に示します。
■コマンドの実行例
rm /HADB/db/ADBUTBL01
この例では,変更前の格納場所にあるブロックスペシャルファイル(/dev/mapper/vol01)へのシンボリックリンクを削除するため,シンボリックリンク元のシンボリックリンクファイル(/HADB/db/ADBUTBL01)を削除しています。
-
変更後の格納場所にあるブロックスペシャルファイルへのシンボリックリンクを作成する
データ用DBエリアファイルの格納場所を変更するために,手順2.でコピー先となったブロックスペシャルファイルへのシンボリックリンクを作成します。その際,手順3.で削除したシンボリックリンクファイル名で,ブロックスペシャルファイルへのシンボリックリンクを作成する必要があります。OSのlnコマンドで,シンボリックリンクを作成してください。実行例を次に示します。
■コマンドの実行例
ln -s /dev/mapper/vol02 /HADB/db/ADBUTBL01
この例では,削除したシンボリックリンクファイル名(/HADB/db/ADBUTBL01)で,ブロックスペシャルファイル(/dev/mapper/vol02)へのシンボリックリンクを作成しています。
-
adbstartコマンドでHADBサーバを開始する
adbstartコマンドについては,マニュアルHADB コマンドリファレンスのadbstart(HADBサーバの開始)を参照してください。
-
HADBサーバの動作を確認する
データ用DBエリアファイル(ブロックスペシャルファイル)の格納場所を変更して,問題がないことを確認してください。