日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DB2的日志理解难点

發布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DB2的日志理解难点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在DB2中最早的recovery時間點,是由minBuffLsn 和 lowTranLsn 的最小值決定的。

minBuffLsn: represents the oldest change to a page in the buffer pool?that has not been written and persisted to disk yet.

lowTranLsn: represents the oldest active uncommitted transaction?(specifically the LSN of the first log record it wrote).

在DB2和ORACLE數據庫都還有一個約定,從buffer pool中寫數據到磁盤之前其對應的redo log必須先從log buffer pool中寫到磁盤中。

注意:這里的log buffer pool中的redo log沒有要求是已經committed的。

所以,在數據庫中,還沒有被提交的數據被寫到磁盤中是很正常的事情,只要這塊數據所對應的redo log已經被寫入到磁盤中,對于這個交易是否已經提交,不關緊要。

那么在recovery的時候就會出現這樣的情況:

minBuffLsn < lowTranLsn : 有已經提交的交易(commit動作會觸發數據庫將對應的redo log寫入到磁盤)數據還有沒有被從buffer pool中寫入到磁盤,所以recovery時從minBuffLsn對應的log開始,redo后面那些已經提交的或者未提交的交易,重建transaction table。

lowTranLsn > minBuffLsn : 有還沒有提交的交易(但是redo log是已經寫入到磁盤中的)的數據已經被寫入到磁盤中,所以recovery時將從lowTranLsn對應的log開始,這部分數據已經被寫入到磁盤中的redo log只是讀取一下,創建transaction table。

這張圖片做出了比較清晰的解釋。

轉載于:https://www.cnblogs.com/jackhub/p/3219512.html

總結

以上是生活随笔為你收集整理的DB2的日志理解难点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。