データベースの障害復旧の基礎と実践方法

設計

今回は、データベースの障害復旧について、情報処理技術者試験で問われる一般論を書いていきます。
また、関連するファイル・概念の説明もついでに行います。

【データベースの復旧に用いるファイル・概念】

・チェックポイント

障害回復操作を開始すべき時点。一定時間感覚で訪れる。
なお、チェックポイントでは、データベースの状態や障害回復操作を開始すべき時点の情報を保存したチェックポイントファイルが生成される。

・バックアップファイル

障害復旧のためにデータベースのある時点の内容全体をコピーしたファイル。

・ログファイル(ジャーナルファイル) データベースの更新前や更新後の情報を書き出したファイル。

【障害復旧方法】

直前のチェックポイント時点でコミットされていないトランザクションについては障害復旧が必要になる。

・障害発生時点でコミットしていないトランザクション

更新前のログファイルを用いて処理開始時点の状態に戻す。
(ロールバック)

・障害発生時点でコミットしているトランザクション

バックアップファイルを適用してから、更新後のログファイルを用いてコミット時点の状態に進める。
(ロールフォワード)

【障害復旧とは直接関係ないが重要なファイル】

・ダンプファイル

ファイルやメモリの内容を出力したファイルであるが、DBMSにおいては各テーブルの定義情報や全レコードを出力したファイルのことを指す。
実務では、他の環境にデータを移したり、テスト環境等で簡易的にバックアップを取ったりする時に用いる。
(プログラム開発者にとってはこれが一番馴染み深いと思います。MySQLではSQL文(DDL文+INSERT文)がそのままダンプファイルとして出力されるので、中身も理解しやすいです。)


いかがでしたでしょうか。

今回書いた内容は試験頻出であり、データベースが試験範囲に含まれる試験区分であればITパスポートでも問われる内容なので、情報処理技術者試験を受験するのであれば必ず押さえておきたいポイントです。
また、実務でも、基本設計工程やインフラ作業に携わるのであれば知っておく必要があります。

今回の記事が理解の助けになれば幸いです。

コメント

タイトルとURLをコピーしました