応用情報技術者令和元年秋期 午前問29
DBMSの媒体障害時の回復法はどれか。
この質問としては、ポイントは媒体障害なので、バックアップコピーから回復するのは正しいですね。
当該質問ではなく、障害発生種類は、
1、トランザクション障害:異常終了していたトランザクションを直接にロールバックです。
※アプリレベル
2、システム障害:
①直近のチェックポイントに回復、
②直近のチェックポイント以降、コミットされていたのトランザクションを回復(=ロールフォワード)
③直近のチェックポイント以降、コミットされていないのトランザクションを捨てる(=ロールバック)
※システム障害とは、DBインスタンスまたは、DBインスタンスが動いているOSシステムと思っております。
3、媒体障害:
①バックアップしていたのコピーで壊していた媒体を切り換える ※これは大事ですね。
②バックアップコピー以降コミットしていたトランザクションを回復(=ロールフォワード)
③直近のチェックポイント以降、コミットされていないのトランザクションを捨てる(=ロールバック)
※媒体障害ですので、②と③はできないかもしれませんね。勿論、流れは上記ですね。
4、
・障害発生時,異常終了したトランザクションをロールバックする。
⇒×。トランザクション障害からの回復方法です。
・障害発生時点でコミットしていたが,データベースの実更新がされていないトランザクションをロールフォワードする。
⇒×。システム障害のうち、障害発生直前のチェックポイント後にコミットされたトランザクションに対する回復方法です。
・障害発生時点で,まだコミットもアボートもしていなかった全てのトランザクションをロールバックする。
⇒×。システム障害のうち、障害発生直前のチェックポイント後にコミットされていないトランザクションに対する回復方法です。
・バックアップコピーでデータベースを復元し,バックアップ取得以降にコミットした全てのトランザクションをロールフォワードする。
⇒○。媒体障害からの回復方法です。