スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
12.1.8 例題4(エンディアンが異なるシステムに,バイナリデータを含む表を移行する場合)
(1) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
|
(2) pdrorgコマンドの制御文ファイルを作成します
制御文ファイル(/pdrorg/rorg01)の内容を次に示します。
(a) HiRDB/シングルサーバの場合
- 〔説明〕
- アンロードデータファイルの名称を指定します。
(b) HiRDB/パラレルサーバの場合
unload bes1:/pdrorg/unfile1
|
- 〔説明〕
- アンロードデータファイル(bes1用)の名称を指定します。
(3) pdrorgコマンドでTABLE1のデータをアンロードします
pdrorg -k unld -j -g -W bin -t TABLE1 /pdrorg/rorg01
|
- 〔説明〕
- -k:アンロードをするためunldを指定します。
- -j:次に示す表をアンロードする場合に指定します。
- ・LOB列がある表
- ・LOB属性の抽象データ型を定義した表
- -g:HiRDB/パラレルサーバで,TABLE1をサーバ間横分割している場合に指定してください。アンロードデータファイルが一つになります。
- -W:pdload用の入力データファイルを作成する場合に指定します。この場合,TABLE1にはバイナリ形式の列を含むため,バイナリ形式のbinを指定します。
- -t:アンロードする表の名称を指定します。
- /pdrorg/rorg01:(2)で作成したpdrorgコマンドの制御文ファイル名を指定します。
(4) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
pdrels -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
|
(5) pdexpコマンドの制御文ファイルを作成します
制御文ファイル(/pdexp/exp01)の内容を次に示します。
- 〔説明〕
- USR01:TABLE1を所有するスキーマの名称です。
- TABLE1:搬出する表の名称です。
(6) pdexpコマンドでTABLE1の表定義情報を搬出します
pdexp -e /pdexp/expfile1 -f /pdexp/exp01
|
- 〔説明〕
- -e:搬出ファイルの名称を指定します。
- -f:(5)で作成したpdexpコマンドの制御文ファイル名を指定します。
(7) アンロードデータファイル及び搬出ファイルをCMTなどの媒体に格納します
(3)で作成したアンロードデータファイル,及び(6)で作成した搬出ファイルをCMTなどの媒体に格納します。
移行元システム(HiRDBシステムA)での作業はこれで終わりです。
(8) 移行先システムにアンロードデータファイル及び搬出ファイルを格納します
これ以降は移行先システム(HiRDBシステムB)での作業になります。
CMTなどの媒体に格納したアンロードデータファイル及び搬出ファイルを移行先システムに格納します。
(9) TABLE1を所有するユーザのスキーマをpddefコマンドで定義します
pddef
CREATE SCHEMA AUTHORIZATION USR01;
|
(10) システムログファイルをスワップします
バックアップを取得する前に,pdlogswapコマンドでシステムログファイルをスワップします。
- 〔説明〕
- HiRDB/パラレルサーバの場合,-sオプションを指定して,バックアップ対象の全サーバ分pdlogswapコマンドを実行します。
(11) pdcopyコマンドでバックアップを取得します
pdcopy -m /rdarea/mast/mast01 -M r
-r RDMAST,RDDIR,RDDIC,RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
-b /pdcopy/backup01 -p /pdcopy/list01
|
- 〔説明〕
- データベース移行中の障害発生に備えてバックアップを取得します。バックアップを取得するRDエリアを次に示します。
- マスタディレクトリ用RDエリア
- データディレクトリ用RDエリア
- データディクショナリ用RDエリア
- 搬入する表を格納するユーザ用RDエリア及びユーザLOB用RDエリア(RDAREA1〜RDAREA6)
- -m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
- -M:バックアップ取得モードを指定します。
- -r:バックアップを取得するRDエリアの名称を指定します。
- -b:バックアップファイル名を指定します。
- -p:pdcopyコマンドの処理結果リストの出力先を指定します。
- バックアップの取得については,「6. バックアップの取得方法」を参照してください。
(12) pdexpコマンドでTABLE1の表定義情報を搬入します
(13) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
|
(14) pdloadコマンドの制御文ファイルを作成します
制御文ファイル(/pdload/load01)の内容を次に示します。
(a) HiRDB/シングルサーバの場合
source /pdrorg/unfile1 1
option srcendian=big 2
idxwork /pdrorg/idxwork 3
sort /sortwork,8192 4
|
- 〔説明〕
- アンロードデータファイルの名称を指定します。
- 1.で指定した,アンロードデータファイルのエンディアン形式を指定します。
- インデクス情報ファイル作成用のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
- ソート用ワークディレクトリの名称を指定します。
(b) HiRDB/パラレルサーバの場合
unload bes1:/pdrorg/unfile1 1
option srcendian=big 2
idxwork bes1 /pdrorg/idxwork 3
sort bes1 /sortwork,8192 4
idxwork bes2 /pdrorg/idxwork 5
sort bes2 /sortwork,8192 6
|
- 〔説明〕
- アンロードデータファイル(bes1用)の名称を指定します。
- 1.で指定した,アンロードデータファイルのエンディアン形式を指定します。
- インデクス情報ファイル作成用(bes1用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
- ソート用ワークディレクトリ(bes1用)の名称を指定します。
- インデクス情報ファイル作成用(bes2用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
- ソート用ワークディレクトリ(bes2用)の名称を指定します。
(15) pdloadコマンドでTABLE1のデータをロードします
pdload -b -W TABLE1 /pdload/load01
|
- 〔説明〕
- インデクス(INDEX1)も同時に再作成するため,-iオプションを省略してインデクス一括作成モードでインデクスを一括作成します。
- -b:pdrorgコマンドで-Wオプションを指定して,バイナリ形式で出力したファイルを入力データファイルとするため,-Wを指定します。
- /pdload/load01:(14)で作成したpdloadコマンドの制御文ファイル名を指定します。
(16) システムログファイルをスワップします
バックアップを取得する前に,pdlogswapコマンドでシステムログファイルをスワップします。
- 〔説明〕
- HiRDB/パラレルサーバの場合,-sオプションを指定して,バックアップ対象の全サーバ分pdlogswapコマンドを実行します。
(17) pdcopyコマンドでバックアップを取得します
pdcopy -m /rdarea/mast/mast01 -M r
-r RDMAST,RDDIR,RDDIC,RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
-b /pdcopy/backup02 -p /pdcopy/list02
|
- 〔説明〕
- バックアップを取得するRDエリアを次に示します。
- マスタディレクトリ用RDエリア
- データディレクトリ用RDエリア
- データディクショナリ用RDエリア
- 搬入する表を格納するユーザ用RDエリア及びユーザLOB用RDエリア(RDAREA1〜RDAREA6)
- -m:マスタディレクトリ用RDエリアの先頭のHiRDBファイル名称を指定します。
- -M:バックアップ取得モードを指定します。
- -r:バックアップを取得するRDエリアの名称を指定します。
- -b:バックアップファイル名を指定します。
- -p:pdcopyコマンドの処理結果リストの出力先を指定します。
- バックアップの取得については,「6. バックアップの取得方法」を参照してください。
(18) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
pdrels -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
|
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.