障害回復(リカバリ)
低頻約 26 分5 用語過去問 9 題
この単元の目標
- チェックポイントが回復の起点になる理由を説明できる。
- ロールバックとロールフォワードを、対象とするトランザクションと使う記録で分けられる。
- バックワードリカバリとフォワードリカバリが、それぞれどちらの操作の呼び名かを結び付けられる。
用語総表(5 語)
用語
チェックポイントは、メモリ上にためた更新内容をディスクへまとめて書き出す操作、またはその操作を行った時点である。
DBMS は処理を速くするため、更新をすぐにはディスクへ書かず、メモリ上のバッファにいったんためておく。チェックポイントを定期的に設けると、その時点までの更新はディスクに反映済みとなる。システムが止まりディスクの内容は残っている障害では、更新の経過を順に書き留めた記録であるログを最初までたどらずに、直近のチェックポイントから回復を始められる。
たとえ家計簿を毎月末に清書しておけば、書き損じに気付いても直近の月末から見直せば済むのに似ている。
覚え方check (確かめる) と point (地点): 更新がディスクに書かれたことを確かめた地点。
出題のポイント
- 出題チェックポイントという語は、更新をディスクへまとめて書き出す操作と、その操作を行った時点のどちらの意味でも使う。
- 混同注意コミットは 1 つのトランザクションの結果を確定させる操作である。チェックポイントは個々のトランザクションの終わりとは関係なく、定期的に更新をディスクへ反映させる操作である。
この用語の過去問 2 題 チェックポイント →
ロールバックは、正常に終わらなかったトランザクションの更新を取り消し、その処理を始める前の内容へ戻す操作である。
取り消しには、ログに残した更新前の値を使い、書き換えた項目を元の値へ戻していく。障害のほか、プログラムの誤りや利用者による中止でトランザクションが途中で止まったときにも行う。これにより、途中までの更新だけがデータベースに残ることはない。
たとえ申込書に記入している途中で書き損じたら、その用紙を捨てて白紙に戻すのに似ている。
覚え方roll back は「巻き戻す」。back (後ろ) の向きなので後退復帰と結び付く。
出題のポイント
- 出題ロールバックでは、途中まで行った書き換えも一つ残らず元の値に戻り、一部だけ反映された状態は残らない。
- 出題ロールバックで消えるのは、異常終了したトランザクション自身が行った更新である。それより前にコミットを済ませたトランザクションの更新はそのまま残る。
- 混同注意コミットは正常に終わったトランザクションの更新を確定させる操作で、ロールバックは終わらなかったトランザクションの更新を取り消す操作である。
この用語の過去問 3 題 ロールバック →
バックワードリカバリは、ロールバックによってデータベースを処理前の状態へさかのぼらせる回復の方式で、後退復帰とも呼ぶ。
現在のデータベースを出発点に、ログの更新前の値を新しいものから順に当てて、時間を逆向きにたどる。行う操作はロールバックそのもので、バックワードリカバリは回復の向きに着目した呼び名である。
出題のポイント
- 出題トランザクションが途中で失敗しても更新を取り消せるのは、更新の経過がログに記録されているからである。
この用語の過去問 2 題 バックワードリカバリ →
ロールフォワードは、過去の時点のデータベースに、ログに残る更新を順に適用し直して、障害直前の状態まで進める操作である。
例えばディスクが壊れてデータが失われたときは、まず定期的に取っておいたバックアップを戻すが、それだけではバックアップを取った後の更新が抜けている。そこで、ログに記録された更新後の値を古いものから順に書き込み、コミット済みのトランザクションの結果を再現する。
たとえ消えてしまった表計算のファイルを前日の控えから開き、その後の入力をメモを見ながら打ち直すのに似ている。
覚え方roll forward は「先へ転がす」。forward (前へ) の向きなので前進復帰と結び付く。
出題のポイント
- 出題障害回復で、バックアップを取った後の更新を再現する材料になるのは、更新の内容を記録したログである。
この用語の過去問 2 題 ロールフォワード →
フォワードリカバリは、ロールフォワードによってデータベースを障害直前の状態まで進める回復の方式で、前進復帰とも呼ぶ。
出発点はバックアップのような過去の時点のデータで、ログの更新後の値を使って時間を順方向にたどる。中身はロールフォワードと同じで、こちらは前へ進む向きを名前にしている。
出題のポイント
- 混同注意ディスクの破損でデータそのものが失われたときに用いるのはフォワードリカバリである。バックワードリカバリは、今あるデータベースが失われずに使えることを前提にする。
この用語の過去問 1 題 フォワードリカバリ →
要点
- チェックポイントでメモリ上の更新をディスクへ書き出しておくと、回復はその時点から始められる。
- ロールバックはバックワードリカバリの操作で、ログの更新前の値を使って更新を取り消す。
- ロールフォワードはフォワードリカバリの操作で、過去の時点のデータにログの更新後の値を適用し直す。
- 回復の材料はログで、バックアップだけでは取得後の更新を再現できない。
この分野の過去問をすべて見る →