今回は、データベースの障害復旧について説明します。試験頻出です。
また、関連するファイル・概念の説明もついでに行います。
【データベースの復旧に用いるファイル・概念】
- チェックポイント
障害回復操作を開始すべき時点。一定時間感覚で訪れる。
なお、チェックポイントでは、データベースの状態や障害回復操作を開始すべき時点の情報を保存したチェックポイントファイルが生成される。 - バックアップファイル
障害復旧のためにデータベースのある時点の内容全体をコピーしたファイル。 - ログファイル(ジャーナルファイル)
データベースの更新前や更新後の情報を書き出したファイル。
【障害復旧方法】
直前のチェックポイント時点でコミットされていないトランザクションについては障害復旧が必要になる。
- 障害発生時点でコミットしていないトランザクション
更新前のログファイルを用いて処理開始時点の状態に戻す。
(ロールバック) - 障害発生時点でコミットしているトランザクション
バックアップファイルを適用してから、更新後のログファイルを用いてコミット時点の状態に進める。
(ロールフォワード)
【障害復旧とは直接関係ないが重要なファイル】
- ダンプファイル
ファイルやメモリの内容を出力したファイルであるが、DBMSにおいては各テーブルの定義情報や全レコードを出力したファイルのことを指す。
実務では、他の環境にデータを移したり、テスト環境等で簡易的にバックアップを取ったりする時に用いる。
(プログラム開発者にとってはこれが一番馴染み深いと思います。MySQLではSQL文(DDL文+INSERT文)がそのままダンプファイルとして出力されるので、中身も理解しやすいです。)
---------------------
目次