上級者リファレンス > Advanced Operations Guide > データ ファイルの変換
データ ファイルの変換
Zen には、Btrieveファイルを新しいバージョンに変換して、ファイルの設定を変更したり、システム キーなどの新しい Zen エンジンの機能を利用できるようにするツールがあります。以下のトピックでは、ツールの概念と変換を行うための各種ツールについて説明します。
Zen v16 リリースには、rbldcli_offline と呼ばれる既存の Rebuild ツールのスタンドアロン コマンド ライン バージョンが含まれています。これは、Zen がインストールされていないシステムで Zen データ ファイルを変換するために使用します。大量のファイルやサイズが非常に大きなファイルをリビルドすると、他のユーザーに対する Zen データベース エンジンのパフォーマンスを低下させる可能性があります。別のシステムでファイルをリビルドできれば、この問題を回避できます。
メモ:  Rebuild ツールは、破損したファイルに対して使用することを目的としていません。データの複製、またはエクスポート、インポート、コピーによって破損したファイルを修復するには、Maintenance ツールを使用した Btrieve データ ファイルの操作を参照してください。ファイルを圧縮してエンジンのパフォーマンスを向上させるためには、データ ファイルの断片化の監視を参照してください。
Rebuild ツールの概念
Rebuild ツールを使用すると、MicroKernel データ ファイルと辞書ファイルに対して以下の操作を行うことができます。
旧 Zen ファイル形式を新しい形式に変換する
新しいファイル形式を以前の形式に変換する(以前の形式が 6.x より前でない場合)
ファイル形式が 6.x より前でない限り、同じファイル形式を使用してファイルをリビルドする
ファイルをリビルドして、ページ圧縮またはレコード圧縮を保持、追加、削除する
ファイルのページ サイズを変更する
ファイルをリビルドして、システム データとシステム キーを保持、追加、または削除する
Rebuild で使用するログ ファイルの場所と名前を指定する
データベースで辞書ファイル(DDF)を使用している場合は、データ ファイルだけでなくこれらもリビルドする必要があります。
データ ファイルのリビルドの背後にある概念を理解するには、以下のトピックをお読みください。
Rebuild ツールの使用についての情報は、以下のトピックを参照してください。
サポートされるプラットフォーム
Rebuild には 2 つの様式があります。1 つはWindows 用の 32 ビット GUI バージョンで、もう 1 つは Linux、Raspbian および Windows 用のコマンド ライン バージョンです。Rebuild ツールの GUI のリファレンスおよび CLI バージョン Rebuild 操作を参照してください。
Linux および Raspbian CLI Rebuild
Rebuild は、Linux および Raspbian では rbldcli というプログラムとして実行されます。デフォルトでは、このプログラムは /usr/local/actianzen/bin にあります。
Windows CLI Rebuild
Rebuild は Windows では rbldcli.exe というプログラムとして実行されます。このプログラムはデフォルトで、Program Files (x86) ディレクトリにインストールされます。
ファイル形式
現在のデータベース エンジンはいくつかの古いデータ形式や辞書ファイル形式と互換性を保っていますが、新しい機能を利用するためにはファイルを変換する必要があります。次の表に、より新しい形式に変換する一般的な理由を挙げます。
変換するバージョン
追加されるファイル機能
16.0
キーの最大長が 1024 バイトに拡張され、部分インデックスを使用せずに VARCHAR などの長いデータのインデックス作成が可能になりました。
13.0
ファイルの最大サイズ(テラバイト単位)
挿入や最終更新のタイム スタンプを追跡および照会するためのシステム データ v2
9.5
120 個以上のセグメント キーと最大 256 GB のファイル サイズ
8 文字ではなく最大 20 文字の長いオーナー ネーム
長いオーナー ネームを持つファイルの AES-256 ファイル暗号化
16K ページ サイズ
ページ圧縮
9.0
2 GB ファイルのセグメント化を無効にして 1 つの連続したファイルを作成
8.0
Turbo Write Accelerator による、挿入(Insert)、更新(Update)、削除(Delete)パフォーマンスの向上
コマンド ラインの Rebuild を使用してできたファイル形式は、-f パラメーターによって異なります。-f パラメーターを指定しないと、Rebuild は MicroKernel エンジンの[作成ファイルのバージョン]設定の値を使用します。たとえば、[作成ファイルのバージョン]の値が 9.5 の場合、バージョン 9.0 のファイルに対して Rebuild ツールを実行すると、このファイルは バージョン 9.5 の形式に変換されます。
Rebuild を実行する前に、変換するデータ ファイルをすべてバックアップしておくことをお勧めします。これは、元のファイルと同じ場所にリビルドする場合には特に重要です(この場合リビルドされたファイルは元のファイルを置き換えます)。バックアップ コピーを取っておけば、必要な場合に元のファイルを復元することができます。バックアップを確実に実行するためには、以下のいずれかの操作を行います。
バックアップを実行する前にすべてのデータ ファイルを閉じます。
Continuous オペレーションを使用します(バックアップ中のみ)。
メモ:  Continuous オペレーション モードになっているファイルで Rebuild を実行することはできません。
テンポラリ ファイル
Windows では、Rebuild は TMP システム環境変数で指定されたディレクトリにテンポラリ ファイルを作成します。デフォルトで、Linux および Raspbian では Rebuild は出力ディレクトリ(-b オプションが使用されていない場合はソース ディレクトリ)にテンポラリ ファイルを作成します。このため、テンポラリ ファイル ディレクトリには元のファイルと新しいファイルの両方を格納するために十分なディスク容量が必要です(Rebuild の実行中)。Rebuild GUI バージョンの[出力ディレクトリ]オプションを使用するか、CLI バージョンの -b オプションを使用して、これらのファイルを別のディレクトリに保存するように指定できます。
通常、変換が終了するとテンポラリ ファイルは自動的に削除されます。ただし、停電などの重大な障害が発生した場合は、テンポラリ ファイルが削除されないことがあります。このような場合は、次の表の説明に従ってテンポラリ ファイルを手動で削除する必要があります。
プラットフォーム
テンポラリ ファイル名
Linux および Raspbian
_rbldxxxxxx、ここで、xxxxxx はランダムな 6 個の文字です。
注意:Rebuild 実行可能ファイルである rbldcli を削除しないようにしてください。
Windows
_rbldx、x は 数字です。
Rebuild 処理の最適化
Rebuild はデータベース エンジンに Btrieve 呼び出しを行います。そのため、データベース エンジンの構成設定と処理メモリの容量がリビルド処理のパフォーマンスに影響を与えます。これは特に、サイズの大きなデータ ファイルをリビルドする際の所要時間に関しては顕著です。
一般的に、インデックスを構築するのはデータ ページを構築するよりはるかに時間がかかります。インデックスを多数持つデータ ファイルがある場合、同じファイルでインデックスが少ない場合に比べ、ファイルのリビルドには時間がかかります。
リビルドの処理時間には以下の項目が影響します。
CPU 速度およびディスク速度
CPU(中央処理装置)の速度および物理ストレージ ディスクへのアクセス速度が、リビルドの処理時間に影響します。一般的に、これらの両方の速度が速いほどリビルド処理も速く行われます。ディスク速度は、メモリに全体が入りきらない大きなファイルのリビルドではより重要になります。
ヒント:  ギガバイト範囲のサイズが大きいファイルでは変換に数時間かかる場合があります。複数のデータベース エンジンが使用できる場合、リビルド処理をいくつかのマシンの CPU 間で分担したいと考えるでしょう。たとえば、すべてのファイルの中からいくつかずつを、データベース エンジンがインストールされている各マシンにコピーし、リビルド処理が終わったらファイルをコピーして元の場所に戻します。
メモリ量
Rebuild では、デフォルトの方法ともう 1 つの方法の 2 つの方法を用いてファイルをリビルドすることができます。-m<0 | 2> パラメーターを参照してください。デフォルトの方法(-m2)では、Rebuild は以下の手順を実行します。使用可能なメモリが多いほど、実行が速くなります。
1. 元のファイルと同じレコード構造とインデックスを持つ空のデータ ファイルを新規作成します。
2. 新しいファイルからすべてのインデックスを削除します。
3. 新しいファイルにインデックスなしですべてのデータをコピーします。
4. 以下の処理でインデックスを追加します。
a. 元のファイルの特定のキーについて、Extended Step オペレーションを使用してメモリ バッファーにできるだけ多くのキー値を読み込みます。
b. メモリ バッファーの値をソートし、ソートされた値をテンポラリ ファイルに書き出します。
c. 手順 a および b を繰り返し、各レコードのキー値を処理します。
テンポラリ ファイルには、それぞれ個別にソートされた複数のキー値セットが含まれるようになります。
5. データのセットをインデックス ページにマージし、各ページの容量いっぱいまで書き込みます。各インデックス ページはデータ ファイルの最後に追加され、ファイル長は拡大されます。
6. 残りの各キーについて、手順 4 および 5 を繰り返します。
この処理中にテンポラリ ファイルのオープンや書き込みに失敗などのエラーが発生した場合、Rebuild はもう 1 つの方法を用いてファイルのビルドを最初からやり直します。
メモリが不足しているためデフォルトの方法を使用できない場合、またはデフォルトの方法で処理中にエラーが発生した場合、Rebuild はもう 1 つの方法(-m0)を使用します。
1. 元のファイルと同じレコード構造とインデックスを持つ空のデータ ファイルを新規作成します。
2. 新しいファイルにすべてのデータをコピーします。
もう 1 つの方法は、デフォルトの方法に比べて一般的にはるかに時間がかかります。多数のインデックスを持つサイズの大きなファイルがある場合、2 つの方法の差は何時間から何日にまで及ぶことがあります。Rebuild が必ずデフォルトの方法を使用するようにする唯一の方法は、十分な使用可能メモリを確保することです。設定プロパティのいくつかは、利用可能なメモリ量に影響を与えます。
ソート バッファー サイズ
この設定は、ランタイムでインデックスを作成中に MicroKernel がソートのために動的に割り当てる、または割り当てを解除するメモリの最大容量を指定します。
設定がゼロ(デフォルト)の場合、Rebuild はメモリ内のインデックスをリビルドするために必要な最適なメモリ バイト値を計算します。
設定がゼロ以外の値で、その値が Rebuild で必要な計算された最小メモリより大きい場合、Rebuild は小さい方の値を使用します。
最後に、Rebuild は割り当てるべきメモリ量と実際に利用可能な量の 60% とを比較します。そして、その 2 つのうち小さい方を割り当てようとします。メモリ割り当てに失敗した場合、Rebuild は最後に割り当てようとしたメモリ量の 80% の割り当てを試みることを続けます。メモリ割り当てに完全に失敗した場合(これは最小メモリ バイトよりメモリ量が少ないことを意味します)、Rebuild はインデックスのリビルドにもう 1 つの方法を使用します。
MicroKernel の最大メモリ使用量
この設定は、総物理メモリに対して MicroKernel が消費できるメモリの割合を指定します。MicroKernel による L1、L2、およびその他すべてのメモリの使用量が含まれます。リレーショナル エンジンによる使用量は含まれません。
リビルドするサイズの大きなファイルがある場合、[MicroKernel の最大メモリ使用量]のパーセンテージを一時的にデフォルトより小さい値に設定します。リビルド処理が終わったら、再度適切なパーセンテージに設定し直します。
キャッシュ割当サイズ
この設定は、MicroKernel によって割り当てられるレベル 1 キャッシュのサイズを指定します。MicroKernel では、すべてのデータ ファイルへのアクセスにこのキャッシュが使用されます。
この設定は、データベース エンジンがデータ ファイルにアクセスするのにどれだけのメモリが使用できるかを決定します。インデックスを構築する際に使用するものではありません。
キャッシュ割り当てサイズを大きな値に増やしても、インデックスの構築は速くなりません。実際、重要なメモリを占めることにより Rebuild にとっては利用不可能となり、処理を遅くする可能性があります。大きなファイルをリビルドする場合には、キャッシュ値を低い値に抑えます。たとえば、現在の値の 20% で、ただし 5 MB を下回らないようにします。こうすると、できるだけ多くのメモリをインデックスのリビルドに残すことができます。
インデックス ページ サイズ
ファイルのページ サイズも、インデックス構築の速度に影響します。Rebuild がもう 1 つの方法を使用した場合、小さいキー ページを使用するとインデックスの構築に必要な時間は劇的に増加します。Rebuild がデフォルトの方法を使用した場合には、キー ページ サイズはインデックスの構築にはあまり影響を与えません。
Rebuild は、ページ サイズをアプリケーションのパフォーマンスまたはディスク ストレージに対して最適化します。
データ アクセスの速度の観点から、パフォーマンス向けにページ サイズを最適化するために、Rebuild は 4096 バイトのデフォルトページ サイズを使用します。これにより、物理ストレージのページサイズが大きくなり、リビルドの時間は遅くなります。
ディスク ストレージに対するページ サイズの最適化に関する解説は、『Zen Programmer's Guide』のページ サイズの選択 を参照してください。
ログ ファイル
リビルド実行の情報はテキスト ログ ファイルに追加されます。デフォルトの場所は次のとおりです。
ZenCC の[ツール]>[Rebuild]の場合:C:\ProgramData\Actian\Zen\logs\rebuild.log
rbldcli の場合:<現在の作業ディレクトリ>\rbldcli.log
rbldcli_offline の場合:<現在の作業ディレクトリ>\rbldcli_offline.log
コマンド ラインによる実行の場合、-lfile パラメーターを使用することで、ログ ファイルにデフォルトの場所ではなく、別の場所と名前を設定することもできます。
記録される情報は、以下のとおりです。
リビルド処理の開始時刻
コマンド ラインで指定されたパラメーター
ステータス コードおよびエラー説明(エラーが発生した場合)
処理中のファイル
処理に関する情報(ページ サイズの変更など)
処理済みレコード総数
再構築されたインデックス総数(-m2 処理方法が使用された場合)
リビルド処理の終了時刻
処理のステータス(たとえば、ファイルのリビルドが成功したかどうかなど)
Rebuild ツールの GUI のリファレンス
このトピックでは、Rebuild ツールの各種パネルについて説明します。
ファイル オプション
ZenCC で[ツール]>[Rebuild]を選択すると、Rebuild ウィザードが起動し、データ ファイルまたは辞書ファイルをリストに追加できるパネルが表示されます。
リビルドするファイルのリストを作成したら、[次へ]をクリックして、[リビルド オプション]パネルに進みます。
リビルド オプション
画像上の各項目の領域をクリックすると、ファイルのリビルド方法の各種設定の詳細が表示されます。オプションを選択したら、[次へ]をクリックして、選択したファイルのリビルドを完了します。
GUI
説明
関連情報
システム データ
Rebuild でシステム データとキーを保持、追加、または削除するかどうかを指定します。ユーザー定義のユニークなデータ キーが存在しない場合、システム データはトランザクション一貫性保守とトランザクション ログに使用されます。システム データ v2 はレコードの更新の追跡にも使用できます。
ページ圧縮
ファイルにページ圧縮を使用するかどうかを指定します。選択肢は、"既存を保持"、"圧縮 On"、および "圧縮 Off" です。"既存を保持" を選択すると、ファイルにページ圧縮が設定されている場合は、それを維持します。
ファイル形式 9.5 以降でのみ使用できます。
レコード圧縮
ファイルにレコード圧縮を使用するかどうかを指定します。選択肢は、"既存を保持"、"圧縮 On"、および "圧縮 Off" です。"既存を保持" を選択すると、ファイルにレコード圧縮が設定されている場合は、それを維持します。
エラー時続行
リビルド処理中にエラーが発生した場合に、Rebuild の処理を続行するかどうかを決定します。このオプションを選択すると、エラーが発生した場合でも、ツールは次のファイルの処理を続行します。ツールにより、MicroKernel データ ファイル以外のファイルであることやその他のエラーが発生したことが警告されますが、データ ファイルのリビルドは続行されます。このオプションを選択しない場合、エラーが検出されたときにはリビルド処理が停止します。
このオプションは、リビルド ファイルにワイルドカード文字を使用する場合に効果的です。
終了時に設定を保存
このダイアログ ボックスの現在の設定を保存して、次回のリビルドのセッションでもこの設定を使用できるようにします。
キー番号
ファイルのリビルド処理を行う際にツールが読み込むキーを指定します。"NONE" を選択すると、Rebuild は元のファイルを物理的な順序で読み取り、リビルドしたインデックスを使用して物理的な順序でリビルド ファイルを作成します。"NONE" の方が短時間でリビルドでき、作成されるファイルのサイズも小さくなるため、できる限りこの方法を使用するようにしてください。
Zen Programmer's Guide』のキー属性を参照してください。
ファイル フォーマット
エンジンの[ファイル互換性]プロパティの[作成ファイルのバージョン]で設定されているデフォルト設定以外のバージョンを選択できます。
ページ サイズ
新しいファイルのページ サイズをバイト単位で指定します。"EXISTING"、"最適化(ディスク スペース)"、"最適化(データ アクセス)"のいずれかを選択するか、サイズをバイト単位で指定します。"EXISTING" を選択した場合は現在のページ サイズが使用されます。元のサイズが利用できなくなった場合、または選択した他のオプションでは機能しない場合は、ツールにより、ほかのページ サイズに変更されます。
たとえば、ページ サイズが 1024 で、24 個のキーを持つ v5.x ファイルがあるとします。Btrieve v6.0 以降のバージョンでは、ページ サイズが 1024 の場合、23 個までのキーのみをサポートするため、ファイルには、ツールによって新しいページ サイズが自動的に割り当てられ、ログ ファイルに通知メッセージが記述されます。
データ アクセスの最適化については、Rebuild 処理の最適化を参照してください。
ディスク スペースの最適化については、『Zen Programmer's Guide』のページ サイズの選択を参照してください。
出力パス
リビルドされたファイルを出力する既存のディレクトリを指定します。これは、デフォルトの現在のディレクトリ以外でもかまいません。
このオプションを使用すれば、サイズの大きいファイルを別のサーバーでリビルドすることができます。MicroKernel とその通信コンポーネントが、リビルドされたファイルを格納するサーバーでロードされている必要があります。パスには、ワイルドカード文字を使用しないでください
出力ディレクトリが元のファイルの場所ではない場合、元のファイルはリビルド時に削除されません。出力ディレクトリが元のファイルと同じ場所である場合には、元のファイルは削除され、リビルドされたファイルに置き換えられます。
DefaultDB がデータベース セキュリティを使用するように設定されている場合、DefaultDB の[ディレクトリ]プロパティに指定されている場所でのみファイルをリビルドできます。
ログ ファイル
リビルド ログ ファイルを出力するディレクトリを指定します。これは、デフォルトの現在の作業ディレクトリ以外の場所でもかまいません。パスには、ワイルドカード文字を使用しないでください
Rebuild ツールの CLI のリファレンス
Rebuild の GUI ではなくコマンド ライン インターフェイスを使用したい場合は、rbldcli を使用します。この実行可能プログラムは、rbldcli.exe(Windows の場合)および rbldcli(Linux ベースのシステムの場合)です。コマンド プロンプトで rbldcli コマンドを実行するか、または、実行可能なバッチ スクリプトとして実行することができます。rbldcli を実行する前に、Rebuild ツールの概念で説明する概念や設定を理解してください。
このセクションの残り部分では、以下の項目について説明します。
コマンド構文
rbldcli コマンドの構文は以下のとおりです。
rbldcli [-parameter ...] file [file] | @cmdFile
parameter
parameter には、このツールで使用する設定を指定します。パラメーターはどのような順序でも使用できます。各パラメーターの前にはハイフン(-)を付けます。ハイフンの後、または、1 文字のパラメーターおよびパラメーター値の後にスペースを入れないでください。
メモ:  Linux および Raspbian では、パラメーターで大文字小文字が区別されます。
file
変換するデータ ファイルおよび辞書ファイル。元のファイルが現在の作業ディレクトリにない場合は、各ファイルの場所も完全修飾パスまたは相対パスとして含める必要があります。ファイル名にアスタリスク(*)ワイルドカード文字を使用して、1 つの場所にある複数のファイルを選択することができます。
メモ:  元のファイルにオーナー ネームが含まれている場合、Rebuild はリビルドしたファイルに同じオーナー ネームとレベルを適用します。
@commandFile
Rebuild で実行されるコマンド ファイルの完全修飾ファイル名。コマンド ファイルには複数のエントリを指定できます。各エントリにはコマンド ライン パラメーター(存在する場合)と変換するファイルのセットが含まれ、その後に <end> または [end] が続きます。
リビルドするファイルを指定する場合には、完全なディレクトリ パス名を使用します。ファイル名にはアスタリスク(*)ワイルドカード文字を使用できます。
次に、rbldcli コマンド ファイルの例を示します。
–c d:\mydir\*.*<end>
–c –p1024 e:
\dir\*.*<end>
–m0 –k0 d:
\db\*.*<end>
パラメーター
次の表は、rbldcli パラメーターの一覧を示します。これらパラメーターの動作は、Rebuild ツールの GUI のリファレンスでの対応する説明と同じですが、追加の情報を提供している場合があります。
-c
エラーが発生しても、次のデータ ファイルまたは辞書ファイルのリビルドを続行します。ツールにより、MicroKernel データ ファイル以外のファイルであることや MicroKernel ファイルでエラーが発生したことが通知されますが、データ ファイルのリビルドは続行されます。エラーはログ ファイルに記録されます。ログ ファイルを参照してください。
ヒント:  このパラメーターは、MicroKernel ファイルと非 MicroKernel ファイルを組み合わせた混合ファイルのセットに対してワイルドカード文字(*.*)を使用する場合に役立ちます。Rebuild は MicroKernel ファイルに関するエラーと共に、非 MicroKernel の各ファイルに関するエラーを報告しますが、処理は続行します。
-d
バージョン 6.0 より前の補足インデックス(重複が可能)を 6.x、7.x または 8.x のリンク重複キーのあるインデックスに変換します。
-d を指定しない場合、Rebuild はインデックスを繰り返し重複キーとして保持します。
MicroKernel エンジンを介してのみデータ ファイルにアクセスし、かつファイルに比較的多数の重複キーがある場合には、-d を使用して Get Next オペレーションや Get Previous オペレーションのパフォーマンスを向上させることができます。
-m<0 | 2>
"m" は処理方法を示します。デフォルトで、Rebuild は処理方法として-m2 が選択されます。-m0 を選択すると、Rebuild はメモリが不十分である場合はもう 1 つの方法の -m0 を使用します。
選択した方法による影響については、メモリ量を参照してください。
0
インデックスの削除や置き換えを行うことなくデータ ファイルまたは辞書ファイルをリビルドします。-m0 の処理方法は通常、-m2 よりも時間がかかります。
-m0 で作成されたファイルは、キーページが約 55% から 65% まで使用済みで、読み取りよりも書き込み用に最適化されています。状況によりますが、リビルドにかける時間に余裕がある場合は、アプリケーションのニーズに基づいてこのオプションを選択できます。
Rebuild 処理の最適化も参照してください。
2
インデックスを削除し、レコードを新しいファイルにコピーし、インデックスをリビルドすることにより、データ ファイルまたは辞書ファイルをリビルドします。-m2 の方法は通常、-m0 の方法よりも短時間でリビルドでき、作成するファイルのサイズも小さくなります。レコードの物理的な順序が元のファイルとは異なるファイルが作成されます。-m2 を使用してビルドされたファイルは、キー ページが 100% 使用済みで、読み取り用に最適化されています。
-p<D | P | bytes>
ページ サイズをディスク ストレージまたは処理に最適化します。またはリビルドするファイルに特定のページサイズを指定します。
-p を指定しないと、Rebuild は元のファイルのページ サイズを使用します。元のファイルのページ サイズが新しいファイル バージョンで使用できない場合、Rebuild はページ サイズを変更し、変更したことを示す情報メッセージを表示します。たとえば、5.x などの古いファイル形式ではページ サイズが 1024 でキーを 24 個持つファイルをサポートしていました。8.x のファイル形式では、ページ サイズ 1024 で 23 個のキーしかサポートしません。したがって、Rebuild は新しいページ サイズを選択して 8.x ファイルを作成します。
データベース エンジンでは、指定されたページ サイズを無視し、選択したファイル バージョンで許可されているサイズを超えない範囲で、自動的にページ サイズを 512 バイトの倍数にアップグレードすることがあります。たとえば、バージョン 9.5 のファイル形式の場合、1536 や 3072 などの奇数ページ サイズはサポートされません。データベース エンジンでは効率を良くするために、ページ サイズを次の有効なページ サイズへ自動的に更新します。旧バージョンのファイル形式の場合、データベース エンジンは追加の条件に基づいてページ サイズを更新することができます。
インデックス ページ サイズも参照してください。
D
ディスク スペースの効率を高めるためにページ サイズを最適化します。
Zen Programmer's Guide』のページ サイズの選択を参照してください。
P
アプリケーションのパフォーマンスを向上させるのためにデータ アクセスを最適化します。-pP では、Rebuild はデフォルトのページ サイズ 4096 バイトを使用します。
Rebuild 処理の最適化を参照してください。
bytes
新しいファイルのページ サイズをバイト単位で指定します。9.0 より前のファイル バージョンの場合、有効な値は 512、1024、1536、2048、2560、3072、3584 および 4096 です。ファイル バージョン 9.0 の場合、上記と同じ値に 8192 が加えられます。ファイル バージョン 9.5 の場合、有効な値は 1024、2048、4096、8192 および 16384 です。ファイル バージョン 13.0 および 16.0 の場合、有効な値は 4096、8192 および 16384 です。
-bdirectoryname
デフォルトの出力場所は、リビルド対象の元のファイルが存在する現在のディレクトリです。リビルドされたファイルを別の場所に出力するには ‑b を使用します。完全修飾したパスまたは相対パスのいずれも使用できます。directoryname にはワイルドカード文字を使用しないでください。directoryname は既に存在している必要があります。Rebuild では作成されません。
‑b を指定しないと、リビルドされたファイルによって元のデータ ファイルが置き換えられます。
-b を使用して別のディレクトリを選択すると、リビルドされたファイルがその場所に置かれるので、元のファイルが保持されます。ただし、その場所に同じ名前のデータ ファイルが既に存在していた場合は、リビルドが失敗し、ログ ファイルの確認を求めるエラー メッセージが返されます。
directoryname で指定した場所、または ‑b を省略した場合は元のファイルの場所に対して、ファイルを作成するアクセス権が必要です。
rbldcli が動作するには、ローカル データベース エンジンが実行されている必要があります。directoryname がリモート サーバ上の場所である場合は、データベース エンジンもそのリモート サーバー上で実行されている必要があります
メモ:  スタンドアロン ツール rebldcli_offline.exe には、データベース エンジンは必要ありません。それ以外、機能的には元の rbldcli と同じですが、リビルドされたファイルをリモート サーバー上の場所に出力することはできません。
-knumber
元のファイルをリビルドし、リビルドされたファイル並べ替えるときに、Rebuild が読み込むキー番号を選択します。
このパラメーターを指定しないと、Rebuild は元のファイルを物理的な順序で読み取り、リビルドしたインデックスを使用して物理的な順序でリビルド ファイルを作成します。パラメーターを省略した方が短時間でリビルドでき、作成されるファイルのサイズも小さくなるため、できる限りこの方法を使用するようにしてください。
Rebuild 処理の最適化も参照してください。
-s[D | K | 2D | 2K]
元のファイルの既存のシステム データとキーを保持するファイルをリビルドするか、それらが存在しない場合は追加したファイルをリビルドします。このパラメーターを指定しないと、Rebuild はシステム データまたはキーをリビルドしたファイルに保持しません。
D
新しいシステム データでファイルをリビルドします。システム データにインデックスは作成されません。
K
新しいシステム データでファイルをリビルドします。システム データにはインデックスが作成されます。
2D
新しいシステム データ v2 でファイルをリビルドします。システム データにインデックスは作成されません。13.0 および 16.0 形式のファイルの場合のみ。
2K
新しいシステム データ v2 でファイルをリビルドします。システム データにはインデックスが作成されます。13.0 および 16.0 形式のファイルの場合のみ。
-lfile
Rebuild のログ ファイルにファイル名を指定します。オプションでパスの場所を指定することができます。デフォルトのファイル名は、Windows、Linux および Raspbian では rbldcli.log です。デフォルトの場所は現在の作業ディレクトリです。
以下の条件が適用されます。
パスの場所は既に存在している必要があります。Rebuild では作成されません。
ファイル名を指定しないでパスの場所を指定した場合、Rebuild はこのパラメーターを無視してデフォルトのファイル名と場所を使用します。
パスの場所を指定しないでファイル名を指定した場合、Rebuild はデフォルトの場所を使用します。
指定した場所に対する読み取りおよび書き込みのアクセス権を持っている必要があります。ファイルのアクセス権が原因でログ ファイルを作成できなかった場合、Rebuild はデフォルトの場所を使用します。
ログ ファイルも参照してください。
-pagecompresson
以下の条件が当てはまる場合、ファイルのページ圧縮をオンにします。
データベース エンジンのバージョンは 9.5 以上
作成ファイルのバージョン設定は 0950(9.5)以上
-pagecompressoff
ファイルのページ圧縮をオフにします。このパラメーターは、ファイルにページ圧縮が指定されていない場合は無効です。
-recordcompresson
ファイルのレコード圧縮をオンにします。
-recordcompressoff
ファイルのレコード圧縮をオフにします。このパラメーターは、ファイルにレコード圧縮が指定されていない場合は無効です。
-f<6 | 7 | 8 | 9 | 95 | 13 | 16>
リビルド後のデータ ファイルまたは辞書ファイルのファイル形式を指定します。ファイル形式は、バージョン 6.x、7.x、8.x、9.x、9.5、13.0、および 16.0 が使用できます。次の例ではファイルを 9.0 形式でリビルドします。
rbldcli -f9 file_path\class.mkd
次の例ではファイルを 13.0 形式でリビルドします。
rbldcli -f13 file_path\class.mkd
指定しない場合、Rebuild は、ZenCC でエンジンのファイル互換性プロパティにある MicroKernel の[作成ファイルのバージョン]設定で選択された値をデフォルトとして使用します。
メモ:  データベース エンジンでサポートされているバージョンより新しいファイル形式を指定した場合、Rebuild はそのエンジンでサポートされている最新のファイル形式を使用します。これが行われたことを示すエラーやメッセージは報告されません。
メモ:  Rebuild はインデックスのデータ型を変換しません。ファイルを古いデータベース エンジンで使用するために古いファイル形式にリビルドする場合、データベース エンジンとアプリケーションでサポートされているデータ型を確認してください。
例:データ ファイルに WZSTRING データ型を使用するインデックス フィールドが含まれています。データ ファイルを 6.x 形式にリビルドする場合、WZSTRING データ型は変換されません。このデータ ファイルを Btrieve 6.15 エンジンで使用することはできません。このエンジンは WZSTRING データ型をサポートしません。
例:データ ファイルに NULL が含まれています。データ ファイルを 7.x ファイル形式にリビルドします。真の NULL は保持されます。Zen 7 エンジンは真のヌルをサポートしないので、このデータ ファイルを Zen 7 エンジンで使用することはできません。
-uiduname
セキュリティが設定されているデータベースにアクセスする権限を与えられたユーザー名を設定します。
-pwdpword
uname で識別されるユーザーのパスワードを設定します。uname が指定された場合、pword は必ず指定する必要があります。
-dbdbname
セキュリティで保護されたデータベースの名前を選択します。
Rebuild ツールの使用
以下のトピックでは、Rebuild ツールの GUI バージョンとコマンド ライン バージョンについて説明します。
GUI バージョン Rebuild 操作
GUI Rebuild ウィザードを開始するには
Zen Control Center のメニューから[ツール] > [Rebuild]を選択するか、オペレーティング システムの[スタート]メニューまたはアプリ画面から Rebuild にアクセスします。
ファイルをリビルドするには
1. Rebuild の開始画面で[次へ]をクリックすると、ファイルの選択画面が表示されます。
2. ファイルを選択するダイアログ ボックスで[追加]をクリックしてリビルドするデータ ファイルまたは辞書ファイルを選択します。複数のファイルを一度に選択することもできます。
元のファイルと同じディレクトリでファイルをリビルドする場合、元のファイルはリビルド完了後に削除されます。新しいファイルを別のディレクトに置く場合は、元のファイルは削除されません。
3. 目的のファイルを追加したら、[次へ]をクリックします。
4. リビルド オプションを指定します。リビルド オプションを参照してください。
5. 次へ]をクリックしてリビルド処理を開始します。
Rebuild は処理に関する情報をレポートします。リビルド処理が完了すると、成功か失敗かが表示され[ログ ファイルを表示する]ボタンが有効になります。
6. 結果を表示するには、[ログ ファイルを表示する]をクリックします。ログ ファイルの内容は、オペレーティング システムのデフォルトのテキスト エディターで表示されます。
Rebuild では、変換を試みたすべてのファイルについてログ ファイルに書き込みます。[エラー時続行]の設定を無効にした場合、ログ ファイルには、エラーが発生した時点までの情報が記録されます。リビルドが失敗した場合、ログ ファイルにはそのエラーの原因を説明するメッセージが記録されます。
7. ファイルのリビルドが完了してログ ファイルを見終わったら、[完了]をクリックします。
CLI バージョン Rebuild 操作
Rebuild コマンド ライン ツールの名前は、Windows の場合は rbldcli.exe、Linux および Raspbian の場合は rbldcli です。以下のトピックでは、コマンド ライン構文と典型的な Rebuild 操作について説明します。
Rebuild を Windows で実行するには
1. Zen がインストールされているシステムで、コマンド プロンプトを開きます。
2. 状況により、\bin ディレクトリをプログラム ファイルをインストールしたディレクトリに変更します。その場所が Path システム変数に含まれている場合は、この操作は不要です。
3. プロンプトに、次のどちらかのコマンドを入力します。
rbldcli [–parameter ...] file
または
rbldcli @command_file
parameterfile、および @command_file は、コマンド構文に定義されています。
使い方の例
以下の例はエラー時も処理を続けます。ページ サイズは 4096 バイトに設定され、リビルドされたファイルはサーバー上の別のディレクトリに保存します。
rbldcli -c -p4096 -bc:\dbtemp c:\datafiles\*.mkd
Rebuild を Linux および Raspbian で実行するには
1. ログインするアカウントが Zen ユーティリティを実行する権限を持っていることを確認してください。
デフォルトでは、ユーティリティを実行するには zen-svc ユーザーとしてログインする必要があります。zen-svc ユーザーにはパスワードがありません。su コマンドを使用することによって root アカウントでのアクセスのみを行うことができます。zen-svc 以外のアカウントからこのユーティリティを使用するには、まず .bash_profile を変更する必要があります。『Getting Started with Zen』の Linux および Raspbian での Zen のアカウント管理を参照してください。
2. /usr/local/actianzen/bin ディレクトリに移動します。
3. プロンプトに、次のどちらかのコマンドを入力します。
rbldcli [–parameter ...] file
または
rbldcli @command_file
parameterfile、および @command_file は、コマンド構文に定義されています。
使い方の例
以下の例はエラー時も処理を続けます。ページ サイズは 4096 バイトに設定され、リビルドされたファイルはサーバー上の別のディレクトリに保存します。
rbldcli -c -p4096 -b/usr/local/actianzen/tmp /usr/local/actianzen/data/Demodata/*.mkd
リビルド中のファイルの進行状況を見るには
Rebuild は、ファイルごとに処理されたレコード数を画面上に表示します。1 度に 50 レコードずつ増加します。さらに、Rebuild はこれらの情報をログ ファイルに書き込みます。ログ ファイルを参照してください。
 
最終更新日: 2024年07月09日