5.1.8 エンディアンが異なるプラットフォーム間のデータ移行

既存のHiRDBシステムを別のHiRDBシステムに移行する場合,既存システムのデータを別システムに移行する必要があります。データ移行時,移行元システムと移行先システムでエンディアンが異なる場合,pdloadが入力データファイルのエンディアンを変換して移行先システムにデータロードできます。このとき,入力データファイルには,pdrorgを使用してバイナリ形式でアンロードしたファイル(pdrorg出力バイナリ形式ファイル)を指定します。エンディアンが異なるプラットフォーム間のデータ移行の概要を次の図に示します。

図5-6 エンディアンが異なるプラットフォーム間のデータ移行の概要

[図データ]

[説明]
移行元システムでpdrorgを使用してデータをアンロードします。アンロードデータファイルを移行先システムに転送し,pdloadでエンディアンを変換してデータロードします。

pdrorg出力バイナリ形式ファイルについては,「5.5.6 pdrorg出力バイナリ形式ファイル」を参照してください。

<この項の構成>
(1) エンディアン変換の有無

(1) エンディアン変換の有無

入力データの制御情報中の数値データと数値型データをエンディアン変換します。FIX表と非FIX表の入力データの変換有無をそれぞれ表5-3及び表5-4に示します。

表5-3 エンディアン変換の有無(FIX表)

データ型エンディアン変換の有無
INTEGER
SMALLINT
DECIMAL×
FLOAT※1
SMALLFLT※1
CHAR×※2
NCHAR×※2
MCHAR×※2
DATE×
TIME×
TIMESTAMP×
INTERVAL YEAR TO DAY×
INTERVAL HOUR TO SECOND×
(凡例)
○:エンディアン変換します。
×:エンディアン変換しません。
注※1
浮動小数点数はハードウェア表現によって精度が異なり,プラットフォーム間移行によってけた落ちが発生するおそれがありますが,これに関しては保証しません。
注※2
データ中に数値が入っていても,データ中のエンディアン変換はしません。

表5-4 エンディアン変換の有無(非FIX表)

箇所データ型エンディアン変換の有無
基本行データの長さ及びオフセット部
既定義型の列データ値INTEGER
SMALLINT
DECIMAL×
FLOAT※1
SMALLFLT※1
CHAR×※2
VARCHAR※2
NCHAR×※2
NVARCHAR※2
MCHAR×※2
MVARCHAR※2
DATE×
TIME×
TIMESTAMP×
INTERVAL YEAR TO DAY×
INTERVAL HOUR TO SECOND×
BINARY※2
BLOB※2
コンストラクタ関数の引数のデータ値INTEGER
SMALLINT
FLOAT※1
SMALLFLT※1
CHAR×※2
VARCHAR※2
NCHAR×※2
NVARCHAR※2
MCHAR×※2
MVARCHAR※2
BINARY※2
BLOB※2
繰返し列の要素数
繰返し列のナル値フラグ×
繰返し要素値※3
BINARY引数のデータ値×
BINARY列のデータ値×
BLOB引数のデータ値×※2
BLOB列のデータ値×※2
(凡例)
○:エンディアン変換します。
△:実データ長部分だけをエンディアン変換します。
×:エンディアン変換しません。
-:該当しません。
注※1
浮動小数点数はハードウェア表現によって精度が異なり,プラットフォーム間移行によってけた落ちが発生するおそれがありますが,これに関しては保証しません。
注※2
データ中に数値が入っていても,データ中のエンディアン変換はしません。
注※3
繰返し列の要素値は既定義型の列データ値で該当するデータ型を参照してください。