レス
元トピ
タイトル
Re: 問題ID:23428(白本との答えの食い違いについて)
フォーラム
最強WEB問題集Oracle Master 12c Bronze DBA
投稿ユーザ(投稿日)
(2020/7/28)
本文

-----引用(始)-----
ping-tだとUNDOデータを使用してロールバックしてからデータベースをオープンするのが正解である一方、白本だとオープンしてからロールバックするのが正解になっています。
-----引用(終)-----

23428の解説には「SHUTDOWN ABORT後に初めてデータベースをオープンした時に、SMONプロセスによって「インスタンス・リカバリ」が自動的に実行されます。」とあります。
ロールバックしてからオープンするというよりも、
1.startup時にオープンしようとするけど、不整合があるのでインスタンス・リカバリ開始
2.ロールフォワード
3.ロールバック
4.整合性がとれたのでDBオープンが完了
という流れではないですかね。

SHUTDOWN ABORTではDBオープン前にインスタンス・リカバリが必要とあります。
https://docs.oracle.com/cd/E57425_01/121/CNCPT/startup.htm#CNCPT-GUID-CD115A39-2FAE-4B94-BB3E-59818AD42803

-----引用(始)-----
SHUTDOWN ABORTでは、オープン状態のデータファイルのチェックポイントが実行されないため、データベースを再オープンする前にインスタンス・リカバリが必要です。その他の停止モードでは、データベースを再オープンする前にインスタンス・リカバリを実行する必要はありません。
-----引用(終)-----


そして、インスタンス・リカバリにはロールフォワードとロールバックが含まれます。
https://docs.oracle.com/cd/E57425_01/121/CNCPT/startup.htm#GUID-EC07F1A7-EAB6-4B56-8065-CDDEA6969D1E

ちなみに以下はshutdown abort後のstartup時のalert_orcl.logからの抜粋ですが(11gですが)、上記の説明の流れになっていました。
なので、23428の正解は間違ってないと思います。

ALTER DATABASE OPEN
Beginning crash recovery of 1 threads <-インスタンス・リカバリ開始
SMON: enabling cache recovery <-ロールフォワード
SMON: enabling tx recovery <-ロールバック
Completed: ALTER DATABASE OPEN <-オープン完了


-----引用(始)-----
またその解説では、「REDOログファイルを読み込みロールフォワードを行った後、データベースをオープンし、先に一般ユーザをデータベースへ接続可能な状態にします。これはダウンタイムを短くするためです。次にコミットされていないトランザクションをロールバックし、一貫性のある状態にリカバリします。」と説明されていました。
-----引用(終)-----


この情報は初めて知りました。こちらは白本の発行元に問い合わせてみてはいかがでしょうか。

レス一覧

元トピ


Ping-tモバイルTOP

Copyright (c) 2010
Ping-t All rights reserved.