3.6障害回復管理

データベーススペシャリスト試験の教科書より、障害回復管理について学習した内容をまとめ。
障害回復管理とは、
データベースの一貫性を守るために、DBMSが行うシステム障害などの障害からデータベースを回復すする機能を障害回復管理という。
障害回復管理によって、トランザクションの原子性、一貫性、耐久性も保証。
障害事前処理
バックアップコピー(データベースダンプ)を採取
障害の種類
トランザクション障害(transaction failure)
デッドロックやシステムエラー、トランザクション自体がアボート
システム障害(system failure)
OSのバグ、電源障害でシステムダウン
媒体(ハードウェア)障害(media failure)
ディスクの損傷、駆動装置障害、チャネル障害
人的障害(human failure)
オペレーションミスによるデータ破損、故意によるデータ改変
障害回復処理
ログの先書き
ログファイル(log file)(ジャーナル(journal file))へ書き込む。ログファイルにはトランザクションの開始や終了の情報、コミット情報、チェックポイント情報、更新前ログ、更新後ログが保存
ログファイルは複数個(最低二つ)用意、満杯になると切り替え、サイクリックに使用
データベースの更新
データベースへの更新データの書き出しは、一定時間間隔ごと、データベースバッファのフラッシュ、あるいはログファイルが満杯で切り替わるタイミングで行われる
チェックポイント(check point)という。
障害回復処理
ロールバック(後退復帰)、ロールフォワード(前進復帰)
障害ごとの回復処理
トランザクション障害
システム障害
ロールバック、ロールフォワード、フォームスタート、コールドスタート
ハードウェア障害
ロールフォワード、アーカイブログ(archives log)
人的障害
バックアップコピー、バックアップ取得時(前日など)の状態に復旧
障害部分の隔離、閉塞
障害が発生した場合、障害部分を閉塞(オフライン化)し、正常な部分はそのまま運用を継続
障害事後処理
データベース再開始、リスタート、ウォームスタート、コールドスタート、ホットスタンバイ再開始
Undo/redo方式
Undo/no-redo方式
No-undo/redo方式
-
前の記事
3.4トランザクション管理 2025.04.10
-
次の記事
2.2関係代数 2025.04.10