cvendian を使用したバイト・オーダー変換
このページでは、cvendian を使用して、InterSystems データベースのバイト・オーダーを変換または報告する方法について説明します。このユーティリティは、ビッグ・エンディアン・プラットフォームとリトル・エンディアン・プラットフォーム間の移行に使用できます。
cvendian の概要
cvendian ユーティリティは、InterSystems データベースのバイト・オーダーを変換 (または報告) します。このユーティリティは、ファイル install-dir\Bin\cvendian.exe です。
このユーティリティは、マウント済みデータベースには使用できません。
また、このユーティリティは、バックアップ・ファイルやジャーナル・ファイルには使用できません。同じエンディアンのプラットフォームでデータベースをリストアし、リストアしたデータベースを別のエンディアン・プラットフォームに移動してから、cvendian を使用してデータベースを変換する必要があります。
このユーティリティでは、簡潔なバッファ型 I/O を使用して、ターゲット・ファイルを読み取り、また書き込みます。最適なパフォーマンスを得るには、オペレーティング・システム (OS) のファイル・システム・キャッシュが無効でないことを確認します。
変換プロセス
cvendian は、変換するファイルを持つシステム上、または変換するファイルを使用する予定であるシステムのいずれかで実行可能です。
例えば、データベースをリトル・エンディアン・システムからビッグ・エンディアン・システムに変換するには、リトル・エンディアン・システムで変換を実行した後データベースをビッグ・エンディアン・システムに転送するか、ファイルを最初に転送した後変換できます。
データベースを変換するプロセスは、以下のとおりです。
-
ユーティリティはソース・ファイルを変換済みのファイルと置換するため、使用中のデータベース・ファイルのコピーを作成します。
-
"ユーティリティの構文" のセクションで説明する構文を使用して cvendian を実行します。
-
データベース・ファイルが暗号化されている場合は、暗号化キーとユーザ/パスワードの入力を求められたら、これらを入力します。ユーティリティには、これらの値を渡すコマンド行オプションはありません。
ユーティリティの構文
cvendian ユーティリティを使用すると、希望するバイト・オーダーを指定するか、変換せずに現在のバイト・オーダーを報告できます。以下の構文を使用します。
cvendian [-option] file
option 引数は以下のいずれかになります。
-
-big — データベースをビッグ・エンディアンに変換
-
-little — データベースをリトル・エンディアンに変換
-
-report — データベースのバイト・オーダーを報告
オプションを短縮して頭文字で表すこともできます。これが変換要求 (-big または -little) であり、データベースのバイトオーダーが既に指定したものになっている場合、警告メッセージが表示され、処理は停止します。
option 引数を指定しない場合、ユーティリティによって既存のバイト・オーダーから他のバイト・オーダーにデータベースが変換されます。ただし、option 引数を使用することをお勧めします。
file 引数は変換するファイルで、完全なパス名を含むことができます。
ユーティリティは、以下のアクションを実行します。
-
データベースのバイト・オーダーを自動的に検出します。
-
エンディアン情報と他の情報を表示します。
-
変換を実行します。
-
成功、または失敗を示すメッセージを表示します。
例えば、AIX で使用するためにデータベースを Windows から変換するとします。つまり、リトル・エンディアンからビッグ・エンディアンに変換する必要があります。AIX システムへファイルを移動する前に Windows システムで cvendian を実行した場合の出力は以下のようになります。
C:\IrisSys\Bin>cvendian -big c:\temp\powerdb\iris.dat
This database is little-endian.
This database has a block size of 8192 bytes.
This database has 1 volume and 1 map.
The last block in the primary volume is 18176.
Original manager directory is c:\temp\powerdb\
No extension volumes.
Done converting c:\temp\powerdb\iris.dat to big-endian
C:\IrisSys\Bin>
次に、変換済みのデータベース・ファイルを AIX システムに移動できます。