Advanced Operations Guide (v11)

Btrieve コマンドライン Maintenance ユーティリティ(butil)

このユーティリティは、コマンドライン形式のインターフェイスを使用したい場合、または Continuous オペレーションを開始または停止したい場合に使用します。Btrieve Maintenance ユーティリティは、サーバー上で(Windows プラットフォームの DOS プロンプトから)、またはローカルの DOS、Linux および Windows クライアントから、コマンドライン形式で使用することもできます。Maintenance ユーティリティのコマンドは、コマンドラインまたは作成したコマンド ファイルから実行することができます。Btrieve Maintenance ユーティリティのコマンド(BUTIL)を実行する前に、コマンドで説明されている、基本的な考え方と操作方法を理解しておく必要があります。

Btrieve の コマンドライン Maintenance ユーティリティでは、以下のファイル処理およびデータ処理を行います。

リターン コード

BUTIL が実行を完了すると、終了コードまたは DOS エラーレベルをオペレーティング システムに返します。リターン コードは以下のとおりです。

表 59 BUTIL のリターン コード
コード
説明
SUCCESS_E = 0
要求された処理は正常に終了しました。
PARTIAL_E = 1
要求された処理は完了しましたがエラーが発生しました。
INCOMPLETE_E = 2
要求された処理は正常に終了しませんでした。
USAGE_E = 3
入力の構文エラー。使用方法を画面に表示し、終了します。

コマンド

次の表はコマンドライン Maintenance ユーティリティで使用できるコマンドの一覧です。

表 60 コマンドライン Maintenance ユーティリティ コマンド
コマンド
説明
既存ファイルの仕様を使用して、空の新規データ ファイルを作成します。
データ ファイルのオーナー ネームをクリアします。
データ ファイルの内容を、別のデータ ファイルにコピーします。
データ ファイルを作成します。
インデックスを削除します。
バックアップを対象として定義されたファイルの Continuous オペレーションを停止します。
外部インデックス ファイルを作成します。
データ ファイルにシーケンシャル ファイルの内容をロードします。
データ ファイルから連続的にデータを読み込み、シーケンシャル ファイルに結果を書き込みます。(ただし DOS バージョンでは、ROLLFWD は使用できません)。破損したファイルがある場合は、このコマンドを使用します。
ROLLFWD
最後のバックアップからシステム エラーが発生する間に行った、データ ファイルへの変更を回復します。アーカイブ ログの使用を参照してください。
キー パスのデータを読み込み、シーケンシャル ファイルに結果を書き込みます。
データ ファイルにオーナー ネームを割り当てます。
インデックスを作成します。
STARBU
バックアップを対象として定義されたファイルの Continuous オペレーションを開始します。「ログ、バックアップおよび復元」の章を参照してください。
ファイル属性の情報およびデータ ファイルの現在のサイズを表示します。
STOP(DOS のみ)
Btrieve インターフェイスとリクエスターをアンロードします。
VER
サーバーにロードされているデータベース エンジンおよび Btrieve インターフェイス モジュールのバージョンを表示します。

コマンド構文の表示

各コマンドの使用方法を表示するには、ファイル サーバーで butil コマンドを入力します。

コマンド形式

Maintenance ユーティリティのコマンドラインは、以下の形式になります。

BUTIL [-command [parameter ...]] | @commandFile
-command
COPY などの Maintenance ユーティリティのコマンドが入ります。コマンドの前にはハイフン(-)を付け、ハイフンの前にはスペースを入力します。表 60 はコマンドの一覧です。
parameter
コマンドに必要な情報です。詳細は各コマンドに応じて説明します。
@commandFile
コマンド ファイルのフル パス名
 

コマンド ファイル

コマンド ファイルは、以下の処理に使用します。

コマンド ファイルには、コマンドラインで必要な情報と同じものが含まれます。

コマンド ファイルの規則

Maintenance ユーティリティのコマンド ファイルを作成する際、以下の規則に従ってください。

コマンド ファイルの例

以下は、コマンド ファイルの例 COPYCRS.CMD です。このファイルでは、BUTIL - CLONE コマンドを呼び出し、COURSE.MKD ファイルを複製することによって NEWCRS.MKD ファイルを作成します。次に -CREATE コマンドを呼び出し、NEWFILES.DES ディスクリプション ファイルのディスクリプションを使用して NEWFILE.DTA ファイルを作成します。

-clone newcrs.mkd course.mkd <end> 
-create newfile.dta newfiles.des <end> 

以下のコマンドでは、COPYPATS.CMD ファイルを使用して COPYPATS.OUT ファイルに書き込みを行います。

butil @copypats.cmd copypats.out 

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

ディスクリプション ファイルは、データ ファイルとインデックスの作成に使用するファイルのディスクリプションおよびキー仕様を含む、ASCII テキスト ファイルです。作成したファイルの情報を保存するための媒体としてディスクリプション ファイルを使用することもできます。ディスクリプション ファイル形式の詳細については、「ディスクリプション ファイル」を参照してください。

拡張ファイルのサポート

データベース エンジンの データ ファイルは、オペレーティング システムのファイル サイズ上限を超えた容量を持つことが可能です。データを、MicroKernel の拡張ファイルからシーケンシャル ファイルにエクスポートした際、実際の形式の違いから、そのシーケンシャル ファイルの容量がデータベース エンジンのファイル サイズ上限を超える場合があります。

大きなサイズのファイルをエクスポートする際、対話型 Maintenance ユーティリティでは、シーケンシャル ファイルがオペレーティング システムのファイル サイズの上限(2 GB)を超えていることを検出すると、エクステンション ファイルの作成が開始されます。この処理は自動的に行われます。エクステンション ファイルおよび元のシーケンシャル ファイルは、同じボリューム内に存在する必要がありますエクステンション ファイルの名前には、ベース ファイルと似た名前を付ける方式が使用されます。エクステンション ファイルを示すのに、ネイティブな MKDE エクステンション ファイルがキャレット("^")を使用するのに対し、シーケンシャル ファイルのエクステンション ファイルはチルダ("~")を使用するので、同じベース ファイル名を持つ既存の MKDE 拡張ファイルを上書きするのを防ぎます。最初のエクスポート エクステンション ファイルには、ベース ファイル名に ".~01" という拡張子が付きます。次のエクステンション ファイルには、ベース ファイル名に ".~02" というように拡張子が付けられます。これらの拡張子は 16 進形式で追加されます。

名前付け規則は 255 までのエクステンション ファイルをサポートしますが、現在のエクステンション ファイルの最大数は 64 です。したがって、最大ファイル サイズは 128 GB です。

サイズの大きなファイルをシーケンシャル ファイルに SAVE または RECOVER する場合は、それぞれのコマンドを参照してください。また、シーケンシャル ファイルからデータをインポートする場合は、そのファイルが拡張されているかどうかがチェックされ、エクステンション ファイルからデータがロードされます。

オーナー ネーム

MicroKernel では、オーナー ネームを指定することにより、ファイルへのアクセスを制限することができます。オーナー ネームはオプションであるため、ユーティリティで使用するファイルにオーナー ネームが必要でない場合もあります。

短いオーナー ネームは半角 8 文字までの範囲で指定できます。長いオーナー ネームは半角 24 文字までの範囲で指定できます。 長いオーナー ネームを指定した場合、そのデータ ファイルは Pervasive PSQL v10 SP1 より前のデータベース エンジンで読み取ることはできません。 また、長いオーナー ネームを使用したデータ ファイルは、v9.5 より前のファイル形式にリビルドしようとする場合、そのオーナー ネームを最初に削除しておかないとリビルドすることができません。オーナー ネームは、長いものでも短いものでも、その最大長(8 または 24 バイト)に満たない部分は空白が埋め込まれます。

ファイルにオーナー ネームが必要な場合は、/O オプションを使用してオーナー ネームを指定します。オーナー ネームの指定は、以下のいずれかの方法で行います。

オーナー ネームは大文字小文字を区別します。コマンドラインでオーナー ネームを入力した場合、先頭のスペースは削除されます。アスタリスクを使用した場合は、先頭のスペースは削除されません。

エラー メッセージのリダイレクト

エラー メッセージをリダイレクトする場合は、フル パス名(ドライブ文字または UNC パスを含む)を入力します。

エラー メッセージをファイルへリダイレクトするには

ASCII ファイル形式

「対話型 Maintenance ユーティリティ」セクションの、ASCII ファイル形式のインポートとエクスポートを参照してください。

異なるプラットフォームでのファイル名指定の規則

Windows ベースまたは Linux ベースのプラットフォームで BUTIL を使用する際、データ ファイルが現在のディレクトリに存在する場合は、パスを指定する必要はありません。


データ

データのインポートとエクスポート