コマンドラインツールの簡易マニュアルFirebirdに標準で付属するコマンドラインツールの簡易マニュアル。~有志による自由な追加求む〜。~ユーザーアカウント等の管理も、通常のデータベースファイルと同じような方法で行われており、ファイル名は通常は「security.fdb」となっている。[options]&br;操作対象を指定しないと、対話モードに入る。データベースの指定を行わないと、ローカルマシンに対して処理が行われる。~optionsは次のとおり。string|操作する本人のユーザー名。host:path|host名でアクセスするマシンのpathで指定したユーザー情報デ−タベースに対して処理を行う。...]|ユーザーの追加。[#md0a09cd]データベースの色々な設定と管理を行うコマンドです。出来ないような機能も含まれていますので、GUIベースのツールを主に使っている人でも、使い方を覚えて損はありません。~重要な処理が行えるコマンドなため、データベースの所有者(作成者)もしくは管理者(SYSDBAユーザー)でなければ本コマンドは使用できません。~非常に多機能なツールで、以下のような機能があります。db_name&br;optionsは次のとおり。name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。text|実行するユーザーのパスワード||>|~シャットダウン関係||-sh[ut]|シャットダウン実行の指定。-attach,-force,-tranのいずれかを同時に指定しなければならない。n|新規接続を禁止してn秒後にシャットダウンを実行する。通常は本オプションでシャットダウンを行う。n秒経っても接続が残っている場合は、シャットダウンは行われない。n|n秒後に強制的にシャットダウンを実行する。仕掛かり処理も無視されるため使用には細心の注意が必要。n|新規トランザクションを禁止してn秒後にシャットダウンを実行する。通常は本オプションでシャットダウンを行う。n秒経っても有効なトランザクションが残っている場合は、シャットダウンは行われない。||-o[nline]|予約されたシャットダウン操作をキャンセル(予約シャットダウンの中止)する。}|ファイル書き込み時に同期(強制)書き込みを行うか、非同期(バッファリング)を行うかの指定を行う。syncを指定すると同期書き込みで、asyncを指定すると非同期となる。パフォーマンスと信頼性のさじ加減により使い分ける。n|指定データベースに対するデフォルトのキャッシュサイズをnページにする。ページサイズはデータベース作成時の指定に依存する。nはバイト数の指定ではない。}|指定ID、または全てのリンボ状態のトランザクションに対し、ツーファーズコミットを利用した復元を行う。}|指定ID、または全てのリンボ状態のトランザクションをコミットする。}|指定ID、または全てのリンボ状態のトランザクションをロールバックする。||-l[ist]|リンボ状態のトランザクションのIDを表示。オプションと同時に使用すると、ツーファーズコミットによる復元を行った結果を表示する。||-p[rompt]|-listと同時に使用することにより、処理の実行内容が表示される。n|自動スイープを行う間隔を設定する。nはトランザクション数を示す。&br;0に設定すると、自動スイープは停止される。この場合は、定期的に手動でスイープを行う運用とした方が良い。&br;未設定時のデフォルト値は20,000となっている。||-s[weep]|手動でのスイープの実行。データベース動作中はいつでも実行可能。||>|~データベース修復関係||-v[alidate]|修復実行の指定。未使用領域の開放と破損データベースのリポートを行う。||-f[ull]|レコードとページの修復と、未割り当てエリアのフラグメントも行われる。-validateオプションと同時に使用||-m[end]|修復時に破損レコードを使用不可としてマークする。バックアップ時等も無視されるようになる。||-n[o_update]|実際の修復は行わない。破損チェックのみを行うときに併用する。}|データベースの読み込み専用モード、読み書きモードを設定する。n|データベースのDialectを設定する。1はIB5.5以前、3はIB6以降(SQL-92対応)で指定。Firebirdは3を指定する。||>|~シャドウデータベース関係||-activate|シャドウデータベースを有効にする。||-kill|未使用のシャドウを削除する。||>|~その他||-i[gnore]|修復またはスイープ時に、チェックサムエラーを無視する。データベースのバックアップと復元(リストア)を行うコマンドです。同様の機能があり、互換が有りますので併用することが可能です。データベースの所有者(作成者)もしくは管理者(SYSDBAユーザー)のみが本コマンドを使用できます。専任オペレーター不要な環境を構築したい場合などに非常に便利です。バックアップはいつでも行えますが、当然ながら処理に時間がかかりますし負荷も重くなります。実行するタイミングは熟慮して決定する必要があります。''復元(リストア)は、アプリケーションが使用中のデータベースに対して行うことはお勧めできません。バックアップ先のファイル名の拡張子は、(IB時代は)".gbk"が推奨されていますが、どのような拡張子でも問題ありません。".gdb"は避けておいた方が良いと思いますが。バックアップファイルは、デフォルトではコマンドを実行したホストマシンからアクセスできる場所に作成出来ます。別ホスト上に作成する場合は、オプションを使用してサービスマネージャを指定する必要があります。これがちょっと曲者で、通信プロトコルにより指定が異なりますので注意が必要です。このコマンドは、データベースのバックアップ→削除→リストア(→OSによるファイルデフラグ)という一連の作業により、ガベージコレクションに利用したりもします。一度綺麗に削除した後に再構成となりますので時間はかかりますが、より綺麗に掃除することが出来ます。長時間使用しているデータベースで、初期に比べて動作が遅いというときには、この方法を試してみれば処理速度が向上するかもしれません。バックアップ先(ターゲット)がシングルファイルの方法と、マルチファイル化する方法があります。マルチファイルにバックアップすることにより、巨大なデータベースをバックアップする時に、バックアップで作成されたファイルをリムーバブルメディアにコピーするのが容易になります。環境や古いLinux/Unixのようにファイルサイズの制限が厳しいターゲットマシン上にバックアップを作成することも出来ます。先頭ファイルのみを指定します。3ファイルの場合です。注意するべき点としては、最後のターゲットファイルにサイズを指定することは出来ないということです。それ以外に対してのサイズ指定は必須です。target3-バックアップモードの引数|database|・バックアップしたい(バックアップ元)データベースの名前です。相手がネットワーク上の場合はホスト指定(host名:)が必要です。&br;・マルチファイル構成データベースの場合は、先頭ファイルのみを指定します。||target|バックアップ先(ターゲット)を指定します。デバイス名もしくはファイル名です。&br;・UNIXなどで"stdout"を指定すれば標準出力に書き出します。パイプラインを使うときに有用です。&br;・サイズ指定が無い場合は、自動的に必要なファイルサイズに拡張されます。||size|ファイルサイズの指定(バイト数)です。&br;・データベースのページサイズに対する倍数で指定する必要があります。&br;・後にk/m/gを付ける事により、Kバイト、Mバイト、Gバイト単位で指定できます。servicename|・バックアップ元データベースと同じホスト上にバックアップを作成する場合に指定する&br;・指定ホストのサービスマネージャを呼び出すが、通信プロトコルによって名前が異なるので注意。name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。n|テープデバイスに対してブロックサイズを指定||-g[arbage_collect]|バックアップ時にガベージコレクションを行わない||-ig[nore]|バックアップ時にチェックサムを無視する||-l[imbo]|バックアップ時にリンボ状態のトランザクションを無視する||-m[etadata]|メタデータのみバックアップを行う。]|動作メッセージを指定ファイルに出力する。バックアップとは違い、バックアップ、リストアターゲット(復元する対象のデータベース)がマルチファイル構成の場合、全てのファイルを指定する必要があります。リストア時には、ターゲットのデータベースを新規に作成するか、既存のデータベースに対して行うかを指定する必要があります。:復元(リストア)操作は、アプリケーションが使用中のデータベースに対して行うことはお勧めできません。''リストア処理でトランザクションが無視されてしまい、一貫性が失われる場合があるためです。ネットワークを遮断するか、使用アプリケーションを全て停止させた状態での使用をお勧めします。...]-リストアモードの引数|dbfile|・リストアするターゲットデータベースの名前です。相手がネットワーク上の場合はホスト指定(host名:)が必要です。||source|バックアップで作成されたファイル、またはデバイス名を指定します。&br;・UNIXなどで"stdout"を指定すれば標準入力より読み込みます。パイプラインを使うときに有用です。||size|ファイルサイズの指定(バイト数)です。&br;・データベースのページサイズに対する倍数で指定する必要があります。&br;・後にk/m/gを付ける事により、Kバイト、Mバイト、Gバイト単位で指定できます。&br;・各セクションの最後にファイルには指定できません。自動的に必要なサイズに拡張されます。servicename|・バックアップ元データベースと同じホスト上にバックアップを作成する場合に指定する&br;・指定ホストのサービスマネージャを呼び出すが、通信プロトコルによって名前が異なるので注意。name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。{read_write|read_only}|復元されるデータベースのモードを設定する。どちらか&br;・本オプション未設定時のデフォルトは、read_write||-n[o_validity]|復元時にメタデータからPRIMARYなどの制約をすべて削除する。これにより、制約と矛盾するデータがあってもデータを復元できる。||-o[ne_at_a_time]|テーブルごとに復元を行う。n|復元時にページサイズを指定数に設定する。指定可能な値は、1024,2048,4096,8192,16384となっている。本オプション未設定時のデフォルト値は1024。||-use_[all_space]|データベースを復元するときに、データページの全てを使用して復元する。]|動作メッセージを指定ファイルに出力する。データベースの状態を確認するコマンドです。データベースの所有者(作成者)もしくは管理者(SYSDBAユーザー)のみが本コマンドを使用できます。(Unix版での注意:このコマンドを使用するユーザーは、データベースのシステムファイルをアクセスできる適切な権限が必要です。このコマンドは、ローカルなデータベースにのみ使用できます。このコマンドはデータベースが起動していなくてもある程度の機能が使用できます。&br;|-all|-indexと-dataを同時に指定した場合と同じ。name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。[#ya985584]ヘッダページ情報を表示します。transactionの差が自動スイープ実行のトリガになります。[#r8116831]データベースサマリーのデータベースログ情報を表示します。[#fc50fe14]データベースサマリーのデータページ情報を表示します。slots|データベースページへのポインタ。[#gc90005b]データベースサマリーのインデックスページを表示します。distribution|指定された率のデータで見たされたページの割合を示すヒストグラム''※インデックスページツリーの深さが3を超える場合、ソートが効率的に行われません。その場合は、データベースのページサイズを増やしてみてください。ページサイズを増やしても深さが減らない場合は、ページサイズを元の値に戻した方が良いでしょう。[#x140bba4]データベースのシステムテーブルの情報を表示します。クエリーを行うツールです。対話モードでの実行やコマンドをファイルを読込んでの実行が出来ます。各種管理などに使用できます。対話モードでは、SQL標準のコマンド以外に独自のコマンドもあります。非対話モードの場合は次のようになります。対話モードや、非対話モードでの入力情報が足りない場合には、次のプロンプトが出ますので、必要なコマンドなどを入力してください。''入力が最終行の場合には、行の最後に終端文字(通常はセミコロン(;))が必要です。optionsは次のとおりです。file|ファイルからコマンドを読み込みます。&br;・入力ファイル中で-inputを使用すると、そこに別のファイルの内容を入力できます&br;・最初に指定したファイルが終わった後にコミットを行って終了します&br;・対話モードでも使用できます||-m[erge_stderr]|標準エラー出力(stderr)を標準出力(stdout)にマージします。file|出力を、標準出力から指定ファイルにリダイレクトする。name|-xと共に使用します。抽出するデータベースの名前をnameに変更します。n|接続中のデータベースのキャッシュを設定します||-n[oauto]|DDL文の自動コミットをオフにする。