レス
元トピタイトル
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ログファイルを読み込みロールフォワードを行った後、データベースをオープンし、先に一般ユーザをデータベースへ接続可能な状態にします。これはダウンタイムを短くするためです。次にコミットされていないトランザクションをロールバックし、一貫性のある状態にリカバリします。」と説明されていました。
-----引用(終)-----
この情報は初めて知りました。こちらは白本の発行元に問い合わせてみてはいかがでしょうか。
レス一覧
- Re: 問題ID:23428(白本との答えの食い違いについて)(2020/7/29)
元トピ
Copyright (c) 2010
Ping-t All rights reserved.