12.2.2 例題
ストアドプロシジャ(ルーチン識別子:PROC1)及びストアドプロシジャが使用している表(TABLE1)をHiRDBシステムAからHiRDBシステムBに移行します。
-
TABLE1にはLOB列が定義されています。
-
TABLE1にはインデクス(INDEX1)が定義されています。
なお,移行先システムには,同じ名称のRDエリア(RDAREA1〜RDAREA6)が作成されているとします。
- 〈この項の構成〉
-
(1) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
(2) pdrorgコマンドの制御文ファイルを作成します
制御文ファイル(C:\pdrorg\rorg01)の内容を次に示します。
(a) HiRDB/シングルサーバの場合
unload C:\pdrorg\unfile1
- 〔説明〕
-
アンロードデータファイルの名称を指定します。
(b) HiRDB/パラレルサーバの場合
unload bes1:C:\pdrorg\unfile1 1 unload bes2:C:\pdrorg\unfile2 2
- 〔説明〕
-
-
アンロードデータファイル(bes1用)の名称を指定します。
-
アンロードデータファイル(bes1用)の名称を指定します。
-
(3) pdrorgコマンドでTABLE1のデータをアンロードします
pdrorg -k unld -W bin -g -t TABLE1 C;\pdrorg\rorg01
- 〔説明〕
-
-k:アンロードをするためunldを指定します。
-W bin:アンロードデータファイルをpdloadコマンドの入力ファイル(バイナリ形式)として使用できるようにします。
-g:HiRDB/パラレルサーバで,TABLE1をサーバ間横分割している場合に指定してください。アンロードデータファイルが一つになります。
-t:アンロードする表の名称を指定します。
C:¥pdrorg¥rorg01:(2)で作成したpdrorgコマンドの制御文ファイル名を指定します。
(4) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
pdrels -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
(5) pdexpコマンドの制御文ファイルを作成します
制御文ファイル(C:\pdexp\exp01)の内容を次に示します。
-t USR01.TABLE1
- 〔説明〕
-
USR01:TABLE1を所有するスキーマの名称です。
TABLE1:搬出する表の名称です。
(6) pdexpコマンドでTABLE1の表定義情報を搬出します
pdexp -e C:\pdexp\expfile1 -f C:\pdexp\exp01
- 〔説明〕
-
-e:搬出ファイルの名称を指定します。
-f:(5)で作成したpdexpコマンドの制御文ファイル名を指定します。
(7) pdexpコマンドの制御文ファイルを作成します
制御文ファイル(C:\pdexp\exp02)の内容を次に示します。
-p USR01.PROC1
- 〔説明〕
-
USR01:PROC1を所有するスキーマの名称です。
PROC1:搬出するストアドプロシジャの名称です。
(8) pdexpコマンドでストアドプロシジャを搬出します
pdexp -e C:\pdexp\expfile2 -f C:\pdexp\exp02
- 〔説明〕
-
-e:搬出ファイルの名称を指定します。
-f:(7)で作成したpdexpコマンドの制御文ファイル名を指定します。
(9) アンロードデータファイル及び搬出ファイルをCMTなどの媒体に格納します
(3)で作成したアンロードデータファイル,及び(6),(8)で作成した搬出ファイルをCMTなどの媒体に格納します。移行元システム(HiRDBシステムA)での作業はこれで終わりです。
(10) 移行先システムにアンロードデータファイル及び搬出ファイルを格納します
これ以降は移行先システム(HiRDBシステムB)での作業になります。CMTなどの媒体に格納したアンロードデータファイル及び搬出ファイルを移行先システムに格納します。
(11) PROC1及びTABLE1を所有するユーザのスキーマをpddefコマンドで定義します
pddef CREATE SCHEMA AUTHORIZATION USR01;
(12) システムログファイルをスワップします
バックアップを取得する前に,pdlogswapコマンドでシステムログファイルをスワップします。
pdlogswap -d sys -w
- 〔説明〕
-
HiRDB/パラレルサーバの場合,-sオプションを指定して,バックアップ対象の全サーバ分pdlogswapコマンドを実行します。
(13) pdcopyコマンドでバックアップを取得します
pdcopy -m C:\rdarea\mast\mast01 -M r -r RDMAST,RDDIR,RDDIC,DICLOB,RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5, RDAREA6 -b C:\pdcopy\backup01 -p C:\pdcopy\list01
- 〔説明〕
-
データベース移行中の障害発生に備えてバックアップを取得します。バックアップを取得するRDエリアを次に示します。
-
マスタディレクトリ用RDエリア
-
データディレクトリ用RDエリア
-
データディクショナリ用RDエリア
-
データディクショナリLOB用RDエリア
-
搬入する表を格納するユーザ用RDエリア及びユーザLOB用RDエリア(RDAREA1〜RDAREA6)
-m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
-M:バックアップ取得モードを指定します。
-r:バックアップを取得するRDエリアの名称を指定します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの処理結果リストの出力先を指定します。
バックアップの取得については,「バックアップの取得方法」を参照してください。
-
(14) pdexpコマンドでTABLE1の表定義情報を搬入します
pdexp -i C:\pdexp\expfile1
- 〔説明〕
-
-i:搬出ファイルの名称を指定します。
(15) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
(16) pdloadコマンドの制御文ファイルを作成します
制御文ファイル(C:\pdload\load01)の内容を次に示します。
(a) HiRDB/シングルサーバの場合
source C:\pdrorg\unfile1 1 idxwork C:\pdrorg\idxwork 2 sort C:\sortwork 3
- 〔説明〕
-
-
アンロードデータファイルの名称を指定します。
-
インデクス情報ファイル作成用のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
-
ソート用ワークディレクトリの名称を指定します。
-
(b) HiRDB/パラレルサーバの場合
source bes1:C:\pdrorg\unfile1 1 idxwork bes1 C:\pdrorg\idxwork 2 sort bes1 C:\sortwork 3 idxwork bes2 C:\pdrorg\idxwork 4 sort bes2 C:\sortwork 5
- 〔説明〕
-
-
アンロードデータファイル(bes1用)の名称を指定します。
-
インデクス情報ファイル作成用(bes1用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
-
ソート用ワークディレクトリ(bes1用)の名称を指定します。
-
インデクス情報ファイル作成用(bes2用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
-
ソート用ワークディレクトリ(bes2用)の名称を指定します。
-
(17) pdloadコマンドでTABLE1のデータをデータロードします
pdload -b -W TABLE1 C:\pdload\load01
- 〔説明〕
-
-b:バイナリ形式のデータをロードする場合に指定します。
-W:pdrorgコマンドで作成したバイナリ形式の入力データファイルを使用する場合に指定します。
TABLE1:データロードする表の名称を指定します。
C:¥pdload¥load01:pdloadコマンドの制御文ファイル名を指定します。
(18) システムログファイルをスワップします
バックアップを取得する前に,pdlogswapコマンドでシステムログファイルをスワップします。
pdlogswap -d sys -w
- 〔説明〕
-
HiRDB/パラレルサーバの場合,-sオプションを指定して,バックアップ対象の全サーバ分pdlogswapコマンドを実行します。
(19) pdcopyコマンドでバックアップを取得します
pdcopy -m C:\rdarea\mast\mast01 -M r -r RDMAST,RDDIR,RDDIC,DICLOB,RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5, RDAREA6 -b C:\pdcopy\backup02 -p C:\pdcopy\list02
- 〔説明〕
-
バックアップを取得するRDエリアを次に示します。
-
マスタディレクトリ用RDエリア
-
データディレクトリ用RDエリア
-
データディクショナリ用RDエリア
-
データディクショナリLOB用RDエリア
-
搬入する表を格納するユーザ用RDエリア及びユーザLOB用RDエリア(RDAREA1〜RDAREA6)
-m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
-M:バックアップ取得モードを指定します。
-r:バックアップを取得するRDエリアの名称を指定します。
-b:バックアップファイル名を指定します。
-p:pdcopyコマンドの処理結果リストの出力先を指定します。
バックアップの取得については,「バックアップの取得方法」を参照してください。
-
(20) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
pdrels -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
(21) pdexpコマンドでストアドプロシジャを搬入します
pdexp -i C:\pdexp\expfile2
- 〔説明〕
-
-i:搬出ファイルの名称を指定します。
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB コマンドリファレンス」を参照してください。