7.7.1 機能
HiRDB/パラレルサーバの場合に,RDエリアを別のサーバに移動する機能です。
既存のバックエンドサーバにRDエリアを移動する場合は,オンライン中のRDエリア移動機能を使用すると,HiRDBを再起動しなくても,移動先バックエンドサーバに移動したRDエリアが使用できるようになります。
RDエリアの移動の概要を次の図に示します。
●前提条件
-
RDエリアを移動する場合,移動対象のRDエリアは閉塞状態かつクローズ状態でなければなりません。共用RDエリアの場合は,すべてのバックエンドサーバで閉塞状態かつクローズ状態でなければなりません。
-
RDエリアを移動する場合,事前にpdcopyで移動対象のRDエリア,マスタディレクトリ用RDエリア,及びデータディクショナリ用RDエリアのバックアップを取得してください。
-
RDエリアを移動する場合,移動先のサーバのリソース所要量を見直しておく必要があります。見直した値で定義を修正してください。
-
RDエリアを移動する場合,関連するRDエリアをすべて移動しないとエラーとなります。関連するRDエリアとは,次のようなRDエリアのことをいいます。
-
非分割表の場合は,表,インデクス,及びLOBデータを格納しているRDエリア
-
横分割表の場合は,分割条件に対応する表,インデクス,及びLOBデータを格納しているRDエリア
非分割キーインデクス(サーバ内分割をしている非分割キーインデクスも含む)がある場合は,そのインデクスの分割数が表の分割数と一致しているときだけRDエリアの移動ができます。一致していない場合は,非分割キーインデクスを削除し,RDエリアの移動完了後,非分割キーインデクスを再作成してください。
インデクスの分割数が表の分割数と一致する例,および非分割キーインデクスでインデクスの分割数と表の分割数が一致しない例を次の図に示します。
図7‒9 非分割キーインデクスでインデクスの分割数と表の分割数が一致する例 図7‒10 非分割キーインデクスでインデクスの分割数と表の分割数が一致しない例 非分割キーインデクスにUNIQUEを指定している場合は,再作成できないこともあります。詳細については,マニュアル「HiRDB Version 9 SQLリファレンス」のCREATE INDEXのUNIQUEを参照してください。
非分割キー以外に主キーを定義している場合は,対象となる表のデータを退避した後に表を削除し,RDエリアの移動完了後に表の再定義,及びデータの回復をする必要があります。ただし,分割キー以外に主キーを定義するとユニーク指定のインデクスとなるため,表を再定義できないこともあります。
-
インナレプリカ機能を使用している場合,オリジナルRDエリアとレプリカRDエリア
移動先のサーバに対して,あらかじめHiRDBファイルシステム領域の世代登録をしておく必要があります。
-
-
一時表用RDエリアに対して,RDエリアの移動はできません。実行するとエラーとなります。一時表用RDエリアを移動する場合は,remove rdarea文で該当するRDエリアを削除し,create rdarea文で移動先のサーバを指定して再作成してください。
-
オンライン中のRDエリア移動機能を使用(norestartオペランドを指定)する場合,次のすべての条件を満たす必要があります。
-
移動先のバックエンドサーバに,移動対象RDエリアのページサイズ以上のバッファ長のグローバルバッファが必要です。
-
移動先のバックエンドサーバのRDエリアの数,及びRDエリアを構成するHiRDBファイルの数は,次の条件を満たすようにしてください。
・移動先のバックエンドサーバのRDエリアの数+移動するRDエリアの数≦システム共通定義のpd_max_rdarea_noの指定値
・移動先のバックエンドサーバのRDエリアを構成するHiRDBファイルの数+移動するRDエリアを構成するHiRDBファイルの数≦pd_max_file_noの指定値
-
移動対象RDエリアに格納されている表を基に作成したリストがある場合は,移動前にリストを削除しておく必要があります。削除していないと,エラーとなります。削除したリストは移動後に再作成してください。
-
ディクショナリサーバが移動対象RDエリアの格納表に排他を掛けるため,RDエリアの移動に必要な排他制御用プールサイズを確保する必要があります。排他制御用プールサイズは,各サーバのサーバ定義のpd_lck_pool_sizeオペランドで指定してください。データベース構成変更ユティリティが必要とする排他資源数の見積もりについては,マニュアル「HiRDB Version 9 システム定義」を参照してください。
-
次の条件をどちらも満たす場合,RDエリアの移動後のファイル転送は不要です。
・移動するRDエリアを構成するHiRDBファイルシステム領域が共有ディスク装置にある
・移動元バックエンドサーバと移動先バックエンドサーバの両方から同じパス名で参照できる
上記の条件を満たさない場合,pdmodコマンドでRDエリアを移動した後,rcp又はftpなどでファイル転送を行う必要があります。そのため,オンライン中にRDエリアを移動した場合,ファイル転送が完了するまで移動したRDエリアは使用できません。
-
-
系切り替え機能を適用した環境でRDエリアの移動を実行する場合,次のすべての条件を満たす必要があります。
-
RDエリア単位のディスク切り替えを行うため,RDエリアごとに共有ディスクを割り当ててください。ディスク定義数の上限はクラスタソフトウェアによって異なるため,使用しているクラスタソフトウェアのマニュアルで確認してください。
-
次に示すRDエリアの移動を行った場合,移動したRDエリアの共有ディスクが移動先サーバの共有リソースとなるように,クラスタソフトウェアの設定を変更してください。また,OSのコマンドで移動元での共有ディスクの非活性化,及び移動先での共有ディスクの活性化を行ってください。
・影響分散スタンバイレス型系切り替えを適用した環境で,RDエリアを移動した場合
・影響分散スタンバイレス型系切り替え以外の系切り替え機能を適用した環境で,異なるユニットのバックエンドサーバにRDエリアを移動した場合
共有リソースの設定変更手順は,次のとおりです。
・クラスタソフトウェアにHAモニタを使用する場合
実行サーバでmondeviceコマンドを使用して,移動元サーバからの共有リソースの削除,及び移動先サーバへの共有リソースの追加をしてください。実行サーバでmondeviceを実行したときに待機サーバが起動していなかった場合,待機サーバへの共有リソース変更が行われません。その場合は待機サーバのサーバ定義を手動で変更してください。詳細はマニュアル「高信頼化システム監視機能 HAモニタ」を参照してください。
・上記以外のクラスタソフトウェアを使用する場合
クラスタソフトウェアのマニュアルを参照して,共有リソースの設定を変更してください。使用しているクラスタソフトウェアが,HiRDBサーバ稼働中に共有リソースの設定変更をできない場合は,HiRDBサーバを停止して設定を変更してください。
系切り替え環境でのRDエリアの移動手順を次の図に示します。
図7‒11 系切り替え環境でのRDエリアの移動手順
[説明]
影響分散スタンバイレス型系切り替え機能を使用し,ユニット1に障害が発生した場合は,ユニット2でBES1がゲストBESとして処理を実行し,ユニット3でBES2がゲストBESとして処理を実行します。
1.RDエリア移動機能でBES1のRDAREA1をBES2に移動します。
2.RDAREA1の共有ディスクがBES2の共有リソースとなるように,クラスタソフトウェアの設定を変更します。また,OSのコマンドで移動元での共有ディスクの非活性化,及び移動先での共有ディスクの活性化を行います。
3.ユニット1に障害が発生し,BES1とBES2が系切り替えすると,BES1の共有ディスクはユニット2と接続し,BES2の共有ディスクはユニット3と接続します。そのため,BES2に移動したRDAREA1は系切り替え後も使用できます。
上記手順2.の共有ディスクの設定変更を行わないと,系切り替え後にユニット3からRDAREA1の共有ディスクを参照できなくなり,RDAREA1が使用できない状態になります。
-