スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

12.1.8 例題4(エンディアンが異なるシステムに,バイナリデータを含む表を移行する場合)

HiRDBシステムA(ビッグエンディアン)の表(TABLE1)をHiRDBシステムB(リトルエンディアン)に移行します。

なお,移行先システムには,同じ名称のRDエリア(RDAREA1,RDAREA2)が作成されているとします。

[図データ]

<この項の構成>
(1) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
(2) pdrorgコマンドの制御文ファイルを作成します
(3) pdrorgコマンドでTABLE1のデータをアンロードします
(4) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します
(5) pdexpコマンドの制御文ファイルを作成します
(6) pdexpコマンドでTABLE1の表定義情報を搬出します
(7) アンロードデータファイル及び搬出ファイルをCMTなどの媒体に格納します
(8) 移行先システムにアンロードデータファイル及び搬出ファイルを格納します
(9) TABLE1を所有するユーザのスキーマをpddefコマンドで定義します
(10) システムログファイルをスワップします
(11) pdcopyコマンドでバックアップを取得します
(12) pdexpコマンドでTABLE1の表定義情報を搬入します
(13) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します
(14) pdloadコマンドの制御文ファイルを作成します
(15) pdloadコマンドでTABLE1のデータをロードします
(16) システムログファイルをスワップします
(17) pdcopyコマンドでバックアップを取得します
(18) pdrelsコマンドでRDAREA1〜RDAREA6の閉塞を解除します

(1) pdholdコマンドでRDAREA1〜RDAREA6を閉塞します

 
pdhold -r RDAREA1,RDAREA2,RDAREA3,RDAREA4,RDAREA5,RDAREA6
 

(2) pdrorgコマンドの制御文ファイルを作成します

制御文ファイル(/pdrorg/rorg01)の内容を次に示します。

(a) HiRDB/シングルサーバの場合
 
unload /pdrorg/unfile1
 

〔説明〕
アンロードデータファイルの名称を指定します。
(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)の内容を次に示します。

 
-t USR01.TABLE1
 

〔説明〕
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コマンドでシステムログファイルをスワップします。

 
pdlogswap -d sys -w
 

〔説明〕
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の表定義情報を搬入します

 
pdexp -i /pdexp/expfile1
 

〔説明〕
-i:搬出ファイルの名称を指定します。

(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. アンロードデータファイルの名称を指定します。
  2. 1.で指定した,アンロードデータファイルのエンディアン形式を指定します。
  3. インデクス情報ファイル作成用のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  4. ソート用ワークディレクトリの名称を指定します。
(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
 

〔説明〕
  1. アンロードデータファイル(bes1用)の名称を指定します。
  2. 1.で指定した,アンロードデータファイルのエンディアン形式を指定します。
  3. インデクス情報ファイル作成用(bes1用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  4. ソート用ワークディレクトリ(bes1用)の名称を指定します。
  5. インデクス情報ファイル作成用(bes2用)のディレクトリ名を指定します。このディレクトリ下にインデクス情報ファイルが作成されます。
  6. ソート用ワークディレクトリ(bes2用)の名称を指定します。

(15) pdloadコマンドでTABLE1のデータをロードします

 
pdload -b -W TABLE1 /pdload/load01
 

〔説明〕
インデクス(INDEX1)も同時に再作成するため,-iオプションを省略してインデクス一括作成モードでインデクスを一括作成します。
-b:pdrorgコマンドで-Wオプションを指定して,バイナリ形式で出力したファイルを入力データファイルとするため,-Wを指定します。
/pdload/load01:(14)で作成したpdloadコマンドの制御文ファイル名を指定します。

(16) システムログファイルをスワップします

バックアップを取得する前に,pdlogswapコマンドでシステムログファイルをスワップします。

 
pdlogswap -d sys -w
 

〔説明〕
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 コマンドリファレンス」を参照してください。