プロが教える店舗&オフィスのセキュリティ対策術

コミットされるタイミングに関して。。。

-----------------------------------------------------
REDOログバッファがREDOログファイルに書き出されるタイミングは
・コミットした時
・3秒毎
・REDOログバッファが3分の1になった時
・DBWnがデータファイルに書込むとき
-------------------------------------------------------

上記の認識ですが、この中の3秒毎と言うのが理解できません。
こちらで試してみた結果がこちらです。

プロンプト1にて
(1)sql接続
(2)name列確認 結果⇒test01
(3)name列更新 結果⇒test02
(4)コミットせずに3秒以上経過。
プロンプト2にて
(5)sql接続
(6)name列確認 結果⇒test01
となります。

3秒毎にコミットされていない!!


(4)でコミットをしてやると、(6)での結果はtest02になります。


3秒毎とはどういったことなのでしょうか。

よろしくおねがいいたします。

A 回答 (2件)

・3秒毎


・REDOログバッファが3分の1になった時
はいずれもトランザクションがコミットされているという保証はありません。
逆に言えば、コミットされた時点で「このトランザクションはコミットされた」という情報もログファイルに書き込んでいるのです。

(6)name列確認 結果⇒test01

のタイミングではコミットされていませんので、UNDOデータを読みに行って「test01」を返しています。
    • good
    • 0

> 3秒毎とはどういったことなのでしょうか。



「REDOログバッファがREDOログファイルに書き出されるタイミング」です。
「3秒毎にコミットする」わけではありません。

#そんなことされたら大変でしょう?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!