15.9.5 例題4(横分割表を格納したRDエリアを移動する場合)
新規サーバマシンに作成したバックエンドサーバにRDエリアを移動します。サーバ内横分割していた表(TABLE1)をサーバ間横分割します。
-
RDAREA1及びRDAREA2には横分割表(TABLE1)が格納されています。
-
TABLE1には分割キーインデクス(INDEX1)と非分割キーインデクス(INDEX2)が定義されています。また,LOB列(LOB1)が定義されています。INDEX1はRDAREA3及びRDAREA4に,INDEX2はRDAREA3に,LOBデータはRDAREA5及びRDAREA6に格納されています。
-
各RDエリアを構成するHiRDBファイルは次のとおりです。
RDAREA1:C:\area1\rdarea1
RDAREA2:C:\area2\rdarea2
RDAREA3:C:\area3\rdarea3
RDAREA4:C:\area4\rdarea4
RDAREA5:C:\area5\rdarea5
RDAREA6:C:\area6\rdarea6
- 〈この項の構成〉
-
(1) ユニット2を追加します
ユニットの追加については,「ユニットの追加」を参照してください。
(2) pdcopyコマンドでバックアップを取得します
pdcopy -m C:\rdarea\mast\mast01 -M r -a -b C:\pdcopy\backup01 -p C:\pdcopy\list01
- 〔説明〕
-
-m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
-M:バックアップ取得モードを指定します。
-a:全RDエリアのバックアップを取得することを指定します。RDエリアを移動すると,マスタディレクトリ用RDエリア及びデータディクショナリ用RDエリアが更新されるため,全RDエリアのバックアップを取得します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの実行結果リストの出力ファイル名を指定します。
バックアップの取得については,「バックアップの取得方法」を参照してください。
(3) DROP INDEXで非分割キーインデクスを削除します
DROP INDEX INDEX2;
インデクスの分割数が表の分割数と一致していない非分割キーインデクスを格納しているRDエリアは移動できないため,DROP INDEXで非分割キーインデクス(INDEX2)を削除します。
(4) pdholdコマンドで移動対象RDエリアを閉塞クローズします
pdhold -r RDAREA2,RDAREA4,RDAREA6 -c
(5) pdmodコマンドの制御文ファイルを作成します
pdmodコマンドのmove rdarea文を記述した制御文ファイル(C:\pdmod\move01)を作成します。制御文ファイルの内容を次に示します。
move rdarea RDAREA2,RDAREA4,RDAREA6 1 to bes2; 2
- 〔説明〕
-
-
移動対象のRDエリア名を指定します。
-
移動先のサーバ名を指定します。
-
(6) pdmodコマンドでRDエリアを移動します
pdmod -a C:\pdmod\move01
- 〔説明〕
-
-a:pdmodコマンドの制御文ファイル名を指定します。
(7) pdstopコマンドでHiRDBを正常終了します
pdstop
(8) 移動対象RDエリアのHiRDBファイルを移動します
移動対象RDエリアのHiRDBファイルを,新規追加したサーバマシンに次に示すどちらかの方法で移動します。
(a) HiRDBファイルシステム領域単位で移動する場合
この方法は次に示す前提条件があります。
-
移動対象のHiRDBファイルだけがHiRDBファイルシステム領域内にある
OSのrcp又はftpコマンドでHiRDBファイルシステム領域を移動します。
rcp C:\area2 host2:C:\area2 rcp C:\area4 host2:C:\area4 rcp C:\area6 host2:C:\area6
- 〔説明〕
-
RDAREA2,RDAREA4,RDAREA6のHiRDBファイルシステム領域を移動します。
(b) HiRDBファイル単位で移動する場合
(a)の方法ができない場合は,次に示す手順でHiRDBファイルを移動します。
- ●移動元での操作手順
-
-
pdfbkupコマンドで移動対象HiRDBファイルのバックアップを取得します。
-
rcp又はftpコマンドでHiRDBファイルのバックアップを移動します。
-
pdfrmコマンドで移動対象HiRDBファイルを削除します。
-
(例)
pdfbkup C:\area2\rdarea2 C:\tmp\bk_rdarea2 1 pdfbkup C:\area4\rdarea4 C:\tmp\bk_rdarea4 1 pdfbkup C:\area6\rdarea6 C:\tmp\bk_rdarea6 1 rcp C:\tmp\"bk_*" host2:C:\tmp\ 2 pdfrm C:\area2\rdarea2 3 pdfrm C:\area4\rdarea4 3 pdfrm C:\area6\rdarea6 3
- 〔説明〕
-
-
RDAREA2,RDAREA4,RDAREA6のHiRDBファイルのバックアップを取得します。
-
HiRDBファイルのバックアップを移動します。
-
RDAREA2,RDAREA4,RDAREA6のHiRDBファイルを削除します。
-
- ●移動先での操作手順
-
-
pdfmkfsコマンドでHiRDBファイルシステム領域を作成します。
-
pdfrstrコマンドで移動対象HiRDBファイルをリストアします。
-
(例)
pdfmkfs -n 30 -l 10 -k DB C:\area2 1 pdfmkfs -n 30 -l 10 -k DB C:\area4 1 pdfmkfs -n 30 -l 10 -k DB C:\area6 1 pdfrstr C:\tmp\bk_rdarea2 C:\area2 2 pdfrstr C:\tmp\bk_rdarea4 C:\area4 2 pdfrstr C:\tmp\bk_rdarea6 C:\area6 2
- 〔説明〕
-
-
RDAREA2,RDAREA4,RDAREA6のHiRDBファイルシステム領域を作成します。移動元と同じパス名にしてください。同じパス名にできない場合は,別のディレクトリに作成してこのパスへのシンボリックリンクをしてください。
-
RDAREA2,RDAREA4,RDAREA6のHiRDBファイルをリストアします。
-
(9) pdstartコマンドでHiRDBを正常開始します
pdstart
(10) CREATE INDEXで非分割キーインデクスを再作成します
CREATE INDEX INDEX2 on TABLE1(C2) IN ((RDAREA3),(RDAREA4));
(3)で削除した非分割キーインデクスを再作成してください。
(11) pdcopyコマンドでバックアップを取得します
pdcopy -m C:\rdarea\mast\mast01 -M r -a -b C:\pdcopy\backup02 -p C:\pdcopy\list02
- 〔説明〕
-
-m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
-M:バックアップ取得モードを指定します。
-a:全RDエリアのバックアップを取得することを指定します。RDエリアを移動すると,マスタディレクトリ用RDエリア及びデータディクショナリ用RDエリアが更新されるため,全RDエリアのバックアップを取得します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの実行結果リストの出力ファイル名を指定します。
バックアップの取得については,「バックアップの取得方法」を参照してください。