とあるソフトの中で使用されていたFirebirdというデータベースが壊れたっぽく、対応を迫られた。Firebirdの日本語情報も少なかったため、そのときにとった対応を最低限メモとして残す。
photo credit: AndiH via photopin cc
サマリー
1.Firebirdに触れることになった背景
2.Firebirdの特徴
3.Firebirdの基本的な使い方
4.Firebirdのバックアップ・修復(←メイン)
1.Firebirdに触れることになった背景
医療業界の話になるが、介護認定の際には「主治医の意見書」というものの提出が求められる。この意見書を作成・管理するためのソフトの一つに「医見書」がある。「医見書」は日本医師会が日医総研に命じてオープンソースソフトウエアとして開発させたORCAプロジェクトによる成果物の一つ。(その他の成果物の有名なものに「日医標準レセプトソフト」がある。)
この「医見書」が使用しているデータベースソフトが件の「Firebird」であった。
ユーザより依頼があって数台にダウンロード&インストール&データベース設定をして以来、全く触ったこともなかったこのソフトだが、ある日ユーザから「更新しようとするとエラーが出る」との障害報告を受け、調査した結果、どうやらデータベースが壊れているらしいことがわかった。
MySQLのrepairみたいなコマンドがきっと用意されているはず!と思い、FirebirdというDBを触わるにあたっての最低限の前提情報を調べてみた。
2.Firebirdの特徴
- オープンソース
- 軽量で、設定や管理が簡単なのに強力
- ストアドプロシージャとトリガーをフルサポート
- 非力なハードウェアでも十分に動作する
- 1データベース:1ファイルの構造のためわかりやすい
- バックアップの際には1ファイルをコピーするだけ
日本ではあまり普及していないようだが、海外ではかなりの普及率を誇る(それ故に日本語の情報は少ない模様)。
3.Firebirdの基本的な使い方
今回の環境はWindows7 + Firebird2.0。
Firebirdには「Firebird ISQL Tool」というツールがあり、ここからデータベースをいろいろ触わることができる。
下記にFirebird ISQL Toolのチュートリアルっぽいものがある。MySQLでいうところのMySQLモニタを使用する感覚で使用可能。
http://tech.firebird.gr.jp/firebird-jp-doc/qsg15-ja/qsg15-databases-ja.html
4.Firebirdのバックアップ・修復
gfixとgbakコマンドで壊れたDBの修復を試みて、最終的にはデータを取り出し、それを正常なDBに戻すという方法が一般的であるようだ。
とりあえずgfixによる修復を試してみる。コマンドプロンプトから操作。
使用前にFirebirdのbinフォルダにパスを通しておくと楽だが、自分の場合は今回の件はすぐに解決し、二度とFirebirdは触らない気がしたのでパスは通さず。
>gfix -v -f -user sysdba -password masterkey “d:\ikensyo\data\ikensyo.fdb”
ちなみに引数は下記の通り。
引数 | 説明 |
---|---|
-v | validate:修復実行の指定。未使用領域の開放と破損DBのレポート |
-f | full:レコードとページの修復と、未割り当てエリアの フラグメントも行われる |
これで返ってきた結果は…
database file appears corrupt ()
- bad checksum
- checksum error on database page 26899
チェックサムエラーで修復が完了していない模様。
そこで引数を変えてみる。
>gfix -m -f -i -user sysdba -password masterkey “d:\ikensyo\data\ikensyo.fdb”
ちなみに引数は下記の通り。
引数 | 説明 |
---|---|
-m | mend:修復時に破損レコードを使用不可としてマークする |
-i | ignore:修復時にチェックサムエラーを無視する |
結果、一応修復完了。
スキップされた部分はどうしようもできないので、もうこれ以上何も考えないことにする。今後は定期的にバックアップをとるということで。
- 作者: 木村明治,はやしつとむ,坂井恵
- 出版社/メーカー: 翔泳社
- 発売日: 2009/12/10
- メディア: 大型本
- クリック: 19回
- この商品を含むブログ (11件) を見る
Firebird―オープンソースデータベースの導入と運用の実際
- 作者: 加藤大受
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2002/12
- メディア: ?行本-精装
- クリック: 3回
- この商品を含むブログを見る