トップ «前の日記(2007-08-22) 最新 次の日記(2007-08-30)» 編集

ORCA愉快日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|10|11|12|
2012|01|02|09|
2013|04|

2007-08-27 Firebirdのスイープメモ

_ [orca] Firebirdのスイープメモ

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

_ [PC] データベー子ちゃんからのお知らせ

冗談ですよ、冗談。There is no crying over corrupted database.

Piroたんあたりがデータべー子なるキャラクターを描いてくれんかのぅ(w

どういうキャラクターができてくるのか楽しみな気がする。

There is no crying over corrupted databse.
  
ことわざ :帰省で盆に帰らず
(壊れたデータベースを嘆いてもムダだ)
  
* 意味 :帰省を面倒がって行わなかった学生は
猛暑ゆえに、データベースを壊してしまうが
壊れたデータベースは、元に戻らないことのたとえ。
  
* 教訓 :バックアップは定期的にね (By データベー子ちゃん)

トップ «前の日記(2007-08-22) 最新 次の日記(2007-08-30)» 編集