Advanced Operations Guide (v11)

Rebuild ユーティリティの作業

以下の Rebuild の作業が行えます。

GUI 操作

GUI Rebuild ユーティリティを開始するには

Pervasive PSQL Control Center のメニューから[ツールRebuild]を選択するか、オペレーティング システムの[スタート]メニューまたはアプリ画面から Rebuild にアクセスします。

Rebuild ユーティリティのヘルプを入手するには

どの GUI(グラフィカル ユーザー インターフェイス)でも、[ヘルプ]をクリックするとヘルプ ファイルにアクセスできます。

ファイルをリビルドするには

  1. Rebuild の開始画面で[次へ]をクリックすると、ファイルの選択画面が表示されます。
  2. 追加]をクリックしてリビルドするデータ ファイルまたは辞書ファイルを選択します。複数のファイルを一度に選択することもできます。
図 43 ファイルの選択用ダイアログ ボックス

元のファイルと同じディレクトリでファイルをリビルドする場合、元のファイルはリビルド完了後に削除されます。新しいファイルを別のディレクトに置く場合は、元のファイルは削除されません。
  1. 目的のファイルを追加したら、[次へ]をクリックします。
  2. リビルド オプションを指定します。Rebuild オプションの画面を参照してください。
  3. 次へ]をクリックしてリビルド処理を開始します。
    このユーティリティは処理に関する情報をレポートします。リビルド処理が完了すると、成功か失敗かが表示され[ログ ファイルを表示する]ボタンが有効になります。
図 44 リビルド処理
  1. 結果を表示するには、[ログ ファイルを表示する]をクリックします。ログ ファイルの内容は、オペレーティング システムのデフォルトのテキスト エディターで表示されます。
    Rebuild ユーティリティでは、変換を試みたすべてのファイルについてログ ファイルに書き込みます。[エラー時続行]の設定を無効にした場合、ログ ファイルには、エラーが発生した時点までの情報が記録されます。リビルドが失敗した場合、ログ ファイルにはそのエラーの原因を説明するメッセージが記録されます。
  2. ファイルのリビルドが完了してログ ファイルを見終わったら、[完了]をクリックします。

CLI 操作

Rebuild コマンド ライン ユーティリティの名前は、Windows の場合は rbldcli.exe、Linux の場合は rbldcli です。以下のコマンド ライン Rebuild ユーティリティ作業が行えます。

コマンド ライン パラメーター

parameter オプションには、このユーティリティで使用するパラメーターを指定します。パラメーターはどのような順序でも使用できます。各パラメーターの前にはハイフン(-)を付けます。ハイフンの後、または、1 文字のパラメーターおよびパラメーター値の後にスペースを入れないでください。


メモ

Linux プラットフォームに限り、パラメーターで大文字小文字が区別されます。


parameter は以下のように定義されています。

-c
エラーが発生しても、次のデータ ファイルまたは辞書ファイルのリビルドを続行するように、Rebuild に指示します。ユーティリティにより、MicroKernel データ ファイル以外のファイルであることや MicroKernel ファイルでエラーが発生したことが通知されますが、データ ファイルのリビルドは続行されます。エラーはログ ファイルに書き出されます。ログ ファイルを参照してください。

ヒント
:このパラメーターは、混合するファイルのセットに対してワイルドカード文字(*.*)を指定した場合に特に便利です。混合ファイルのセットとは、MicroKernel ファイルと非 MicroKernel ファイルの組み合わせです。Rebuild は非 MicroKernel ファイルを処理するたび(または MicroKernel ファイルのエラー時)にエラーを報告しますが、処理を続行します。
-d
-d を指定すると、バージョン 6.0 より前の補助インデックス(重複が可能)を 6.x、7.x または 8.x のリンク重複キーのあるインデックスに変換します。

このパラメーターを指定しないと、Rebuild はインデックスを繰り返し重複キーとして保持します。

トランザクショナル インターフェイスを介してのみデータ ファイルにアクセスし、かつファイルに比較的多数の重複キーがある場合には、-d パラメーターを使用して Get Next オペレーションや Get Previous オペレーションのパフォーマンスを向上させることができます。
-m<0 | 2>
'm' パラメーターは method(方法) を表します。Rebuild はこのパラメーターが指定されているかどうかによって処理方法を選択します。このパラメーターを指定しない場合、Rebuild は以下のように処理します。
  • 十分な使用可能メモリがある場合には、-m2 をデフォルトの処理方法とします。
  • 使用可能メモリが十分でない場合はもう 1 つの方法の -m0 を使用します。

     

選択した方法によって影響を受けるメモリの量については、メモリ量を参照してください。
0
インデックスの削除や置き換えを行うことなくデータ ファイルまたは辞書ファイルの複製を作成してコピーします。この方法は -m2 の方法に比べて時間がかかります。インデックスをリビルドしない場合には、この方法が使用できます。

-m0 を使用すると、各キー ページの使用率が 55% から 65% のファイルが作成されます。このファイルは書き込み用により最適化されていて、読み取りには最適化されていません。状況によりますが、リビルドにかける時間の余裕がある場合は、書き込み用に最適化されるリビルドを行うのが望ましいでしょう。

Rebuild 処理の最適化も参照してください。
2
データ ファイルまたは辞書ファイルの複製を作成し、インデックスを削除して新しいファイルにレコードをコピーした後、インデックスをリビルドします。この方法は、-m0 の方法よりも短時間でリビルドでき、ファイルのサイズも小さくなります。

-m2 の方法では、元のファイルとは異なる物理順序のレコードを含む新規ファイルが作成されることがあります。

-m2 の方法を使用して作成されるファイルのキー ページは 100% 使用済みです。こうすると、ファイルを読み取りに最適化することができます。
-p<D | P | bytes>
  • ページ サイズをディスク ストレージまたは処理に最適化します。またはリビルドするファイルに特定のページサイズを指定します。

    このパラメーターを指定しないと、Rebuild は元のファイルのページ サイズを使用します。元のファイルのページ サイズでは現在のデータベース エンジンで動作しない場合、Rebuild はページ サイズを変更し、変更したことを示す情報メッセージを表示します。たとえば、5.x などの古いファイル形式ではページ サイズが 1024 でキーを 24 個持つファイルをサポートしていました。8.x のファイル形式では、ページ サイズ 1024 で 23 個のキーしかサポートしません。したがって、Rebuild は 8.x ファイルを作成する場合、異なるページ サイズを選択します。

    データベース エンジンでは、指定されたページ サイズを無視してそのサイズを自動的に更新することがあります。たとえば、バージョン 9.5 のファイル形式の場合、1536 や 3072 などの奇数ページ サイズはサポートされません。データベース エンジンでは効率を良くするために、ページ サイズを次の有効なページ サイズへ自動的に更新します。旧バージョンのファイル形式の場合、データベース エンジンは別の条件に基づいてページ サイズを更新することができます。

    インデックス ページ サイズも参照してください。
D
ページ サイズをディスク ストレージに最適化します。
開発者リファレンス『Pervasive PSQL Programmer's Guide』のページ サイズの選択を参照してください。
P
処理に対して最適化します(つまり、そのデータにアクセスするアプリケーションのための最適化です)。-pP では、Rebuild はデフォルトのページ サイズ 4096 バイトを使用します。
bytes
新しいファイルのページ サイズをバイト単位で指定します。9.0 より前のファイル バージョンの場合、有効な値は 512、1024、1536、2048、2560、3072、3584 および 4096 です。9.0 のファイル バージョンの場合、上記と同じ値に 8192 が加えられます。9.5 以上のファイル バージョンの場合、有効な値は 1024、2048、4096、8192 および 16384 です。
-bdirectoryname
リビルドしたファイルに別のロケーションを指定します。別のサーバー上のロケーションも指定できます。デフォルトのロケーションは、データ ファイルのあったディレクトリです。必ず存在するロケーションを指定してください。Rebuild はディレクトリを作成しません。また、そのディレクトリは Pervasive PSQL データベース エンジンが起動しているマシン上のディレクトリでなければなりません。

完全に修飾したパスまたは相対パスのいずれも使用できます。directoryname にはワイルドカード文字を使用しないでください。

ローカル サーバーの場合は、MicroKernel Database エンジンとメッセージ ルーターがロードされている必要があります。リモート サーバーの場合は、MicroKernel Database エンジンと通信コンポーネントがロードされている必要があります。

このパラメーターを指定しないと、リビルドされたファイルによって元のデータ ファイルが置き換えられます。元のファイルのコピーは保持されません。

このパラメーターを指定すると、リビルドされたファイルは指定のロケーションに置かれ、元のファイルが保持されます。これに関する例外があります。指定したロケーションに同じ名前のデータ ファイルが既に存在する場合です。元のファイルと同じ名前のファイルが指定されたロケーションに含まれていた場合、Rebuild ではエラーが起こります。たとえば、folder1 というディレクトリにある mydata.mkd をリビルドしようとするとします。リビルドされたファイルを foder2 というディレクトリに保存したいとします。folder2 にも mydata.mkd が存在していた場合(おそらく気付かないうちに)、Rebuild ではエラーになり、ログ ファイルを調べるよう通知があります。

メモ:指定したロケーション(このパラメーターを指定しなかった場合は元のファイルのロケーション)に対して、ファイルを作成するアクセス権があることを確認してください。
-knumber
キー番号を指定します。Rebuild はこれを使って元のファイルを読み、リビルドしたファイルを並べ替えます。このパラメーターを指定しないと、Rebuild はもとのファイルを物理順に読み、リビルドしたファイルも物理順で作成します。

Rebuild 処理の最適化も参照してください。
-s[D | K]
リビルドしたファイルに、元のファイルの既存のシステム データとキーを保持します。このパラメーターを指定しないと、Rebuild はシステム データとキーをリビルドしたファイルに含めません。

システム データも参照してください。
D
リビルドしたファイルにシステム データを含めます。システム データにはインデックスが作成されません。システム データも参照してください。
K
リビルドしたファイルにシステム データとキーを含めます。システム データにはインデックスが作成されます。システム データも参照してください。
-lfile
Rebuild のログ ファイルにファイル名を指定します。オプションでパス ロケーションを指定することができます。デフォルトのファイル名は、Windows および Linux では rbldcli.log です。Windows および Linux では、デフォルトのロケーションは現在の作業ディレクトリです。
以下の条件が適用されます。
  • パス ロケーションは既に存在している必要があります。Rebuild はパス ロケーションを作成しません。
  • ファイル名を指定しないでパス ロケーションを指定した場合、Rebuild はこのパラメーターを無視してデフォルトのファイル名とロケーションを使用します。
  • パス ロケーションを指定しないでファイル名を指定した場合、Rebuild はデフォルトのロケーションを使用します。
  • 指定したロケーションに対する読み取りおよび書き込みのアクセス権を持っている必要があります。ファイルのアクセス権のためにログ ファイルを作成できなかった場合、Rebuild はデフォルトのロケーションを使用します。

     

ログ ファイルも参照してください。
-pagecompresson
file のページ圧縮をオンにすると、以下の条件が設定されます。
  • Pervasive PSQL データベース エンジンのバージョンは Pervasive PSQL 9.5 以上
  • 作成ファイルのバージョン設定は 0950(9.5)以上。
-pagecompressoff
file のページ圧縮をオフにします。このパラメーターは、file にページ圧縮が指定されていない場合は無効です。
-recordcompresson
file のページ圧縮をオンにします。
-recordcompressoff
file のレコード圧縮をオフにします。このパラメーターは、file にレコード圧縮が指定されていない場合は無効です。
-f<6 | 7 | 8 | 9 | 95>
リビルド後のデータ ファイルまたは辞書ファイルのファイル形式を指定します。ファイル形式は、バージョン 6.x、7.x、8.x および 9.x が使用できます。次の例ではファイルを 9.0 形式にリビルドします。

rbldcli -f9 file_path¥class.mkd

 

次の例ではファイルを 9.5 形式にリビルドします。

rbldcli -f95 file_path¥class.mkd

 

このパラメーターを指定しないと、Rebuild は MicroKernel の[作成ファイルのバージョン]設定オプションに指定されている値を使用します。作成ファイルのバージョンを参照してください。

メモ1:現在のデータベース エンジンでサポートされているバージョンより新しいファイル形式を指定した場合、Rebuild はそのエンジンでサポートされている最新のファイル形式を使用します。Rebuild はこれに関してはエラーもメッセージも報告しません。
メモ2:Rebuild はインデックスのデータ型を変換しません。ファイルを古いデータベース エンジンで使用するために古いファイル形式にリビルドする場合、エンジンが使用されているデータ型をサポートしているかどうかを確認してください。必要に応じ、アプリケーションとそのデータベース エンジンによって、手作業でデータ型を調整する必要があります。

例 1.データ ファイルに WZSTRING データ型を使用するインデックス フィールドが含まれています。データ ファイルを 6.x 形式にリビルドする場合、WZSTRING データ型は変換されません。このデータ ファイルを Btrieve 6.15 エンジンで使用することはできません。このエンジンは WZSTRING データ型をサポートしません。

例 2. データ ファイルに NULL が含まれています。データ ファイルをを 7.x ファイル形式にリビルドします。真の NULL は変換されません。このデータ ファイルを Pervasive PSQL 7 エンジンで使用することはできません。このエンジンは 真の NULL をサポートしません。
-uiduname
セキュリティが設定されているデータベースにアクセスする権限を与えられたユーザー名を指定します。
-pwdpword
uname で識別されるユーザーのパスワードを指定します。uname が指定された場合、pword は必ず指定する必要があります。
-dbdbname
セキュリティが設定されたデータベース名を指定します。

File および @command_file は次のように定義されます。

file
変換するデータ ファイルおよび辞書ファイルを指定します。元のファイルが現在の作業ディレクトリにない場合は、完全修飾パスまたは相対パスのいずれかを使用してロケーションを含めてください。ファイル名にはアスタリスク(*)ワイルドカード文字を使用して、複数のファイルを指定することができます。

メモ:元のファイルにオーナー ネームが含まれている場合、Rebuild はリビルドしたファイルにオーナー ネームとレベルを適用します。
@command_file
Rebuild で実行されるコマンド ファイルを指定します。1 つのコマンド ファイルに複数の項目を指定できます。コマンド ファイルの各項目には、コマンド ライン パラメーター(ある場合)と変換するファイルのセットを指定し、その後に <end> または[end]を続けます。

変換するファイルを指定する場合には、完全なディレクトリ名を使用します。ファイル名にはアスタリスク(*)ワイルドカード文字を使用できます。

次に、Rebuild コマンド ファイルの例を示します。

-c d:
¥mydir¥*.* <end>
-c -p1024 e:
¥dir¥*.* <end>
-m0 -k0 d:
¥ssql¥*.* <end>

Rebuild を Linux で実行するには

  1. ログインするアカウントが Pervasive PSQL ユーティリティを実行する権限を持っていることを確認してください。
    デフォルトでは、ユーティリティを実行するには psql ユーザーとしてログインする必要があります。psql ユーザーにはパスワードがありません。su コマンドを使用することによって root アカウントでのアクセスのみを行うことができます。psql 以外のアカウントからこのユーティリティを使用するには、まず .bash_profile を変更する必要があります。『Getting Started with Pervasive PSQL』の Linux での Pervasive PSQL のアカウント管理を参照してください。
  2. /usr/local/psql/bin ディレクトリに移動します。
  3. プロンプトに、次のどちらかのコマンドを入力します。
    rbldcli [-parameter ...] file 
    または 
    rbldcli @command_file 
    

parameterfile および @command_file は、コマンド ライン パラメーターに定義されています。

使い方の例

以下の例はエラー時も処理を続けます。ページ サイズは 4096 バイトに設定され、リビルドされたファイルはサーバー上の別のディレクトリに保存します。

rbldcli -c -p4096 -b/usr/local/psql/tmp /usr/local/
psql/data/DEMODATA/*.mkd 

Rebuild を Windows で実行するには

  1. Pervasive PSQL がインストールされているマシンで、コマンド プロンプトを開きます。
  2. 状況により、¥bin ディレクトリをプログラム ファイルをインストールしたディレクトリに変更します。その場所が Path システム変数に含まれている場合は、この操作は不要です。
  3. プロンプトに、次のどちらかのコマンドを入力します。
    rbldcli [-parameter ...] file 
    または 
    rbldcli @command_file 
    

parameterfile および @command_file は、コマンド ライン パラメーターに定義されています。

使い方の例

以下の例はエラー時も処理を続けます。ページ サイズは 4096 バイトに設定され、リビルドされたファイルはサーバー上の別のディレクトリに保存します。

rbldcli -c -p4096 -bc:¥dbtemp c:¥datafiles¥*.mkd 

リビルド中のファイルの進行状況を見るには

Rebuild は、ファイルごとに処理されたレコード数を画面上に表示します。1 度に 50 レコードずつ増加します。さらに、Rebuild はこれらの情報をテキスト ログ ファイルに書き込みます。ログ ファイルを参照してください。


Rebuild ユーティリティ の GUI のリファレンス

ディスクリプション ファイル