gfixコマンドを調べていて、スイープという言葉が分からなかったので調べてみました。内容が間違っている可能性もあるので、誤り等あれば指摘してください。
□ Firebirdのスイープメモ * スイープとは スイープとは、データページから古い無効なデータを削除することに よって、データベースの全体サイズを小さくして余裕を持たせること。 * 稼働中のDBにスイープをかけるのは危険か? NO。スイープは単にデータベースにアクセスする別プロセスであり 他のユーザは問題なく利用することができます。スイープは誰も使って いないレコードを掃除するだけなので、データを失ったり無効なデータが 見えるようなことはありません。 唯一の問題としては、スイープはサーバのリソースを消費するということ です。データベースが巨大な場合、終了するまでサーバを占有してしまう かもしれません。パフォーマンスが重要なら、OFFの時間またはユーザの 少ない時間にスイープを実行した方がよいでしょう。 The firebird FAQ - Is it dangerous to run sweep on live database with active users? http://www.firebirdfaq.org/faq321/ * 定期的なメンテナンス Firebirdでは、このスイープは自動的に実行されるようになっており デフォルトでは、20000トランザクションごとに実行されます。 通常のユーザであれば、チューニングはいらないでしょうが 連続運用のサーバ等では、スイープ処理中は、処理が重くなってしまう ので、gfixコマンドで自動スイープ機能を切り、都合のいい時間帯に 手動で定期的にスイープを実行するのが、推奨されています。 例) スイープ間隔を5000トランザクションに設定 $ gfix -h 5000 -user sysdba -password masterkey C:\test.fdb 自動スイープを切る $ gfix -h 0 -user sysdba -password masterkey C:\test.fdb 手動でスイープを実行 $ gfix -s -user sysdba -password masterkey C:\test.fdb * データ領域の開放 しかしながら、スイープ行うことでDB容量の増加は抑えることはできますが DBファイルのサイズそのものは小さくなることはありません。 ファイルサイズそのものを小さくするには、gbakコマンドを用いて バックアップ/リストアすることで、不要な領域を含まないDBを 再構築する必要があります。 Firebirdにログインしているアプリケーション等を閉じた上で Firebirdデータベースをバックアップする $ gbak -b -user sysdba -password masterkey C:\test.fdb D:\test.bak Firebirdデータベースをリストアする(置換) $ gbak -r -user sysdba -password masterkey D:\test.bak C:\test.fdb * 参考URL Yahoo!グループ - FBのファイル容量について http://groups.yahoo.co.jp/group/Firebird-jp-general/message/447?expand=1 Firebird Wiki - FAQ 管理・運用 http://firebird.skr.jp/?FAQ#x1c202ce Firebird Wiki - コマンドラインツールの簡易マニュアル gfix http://firebird.skr.jp/wiki/%A5%B3%A5%DE%A5%F3%A5%C9%A5%E9%A5%A4%A5%F3%A5%C4%A1%BC%A5%EB%A4%CE%B4%CA%B0%D7%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB#content_1_3
冗談ですよ、冗談。There is no crying over corrupted database.
Piroたんあたりがデータべー子なるキャラクターを描いてくれんかのぅ(w
どういうキャラクターができてくるのか楽しみな気がする。
There is no crying over corrupted databse. ことわざ :帰省で盆に帰らず (壊れたデータベースを嘆いてもムダだ) * 意味 :帰省を面倒がって行わなかった学生は 猛暑ゆえに、データベースを壊してしまうが 壊れたデータベースは、元に戻らないことのたとえ。 * 教訓 :バックアップは定期的にね (By データベー子ちゃん)