Oracle 寫髒資料的不同場景

2021-06-26 14:53:05 字數 496 閱讀 9343

checkpoint會觸發dbwr寫髒塊時是根據checkpoint queue來的,而lru-w是負責dbwr的其他寫出條件的觸發。

如下的情況下,會觸發dbwr程序將髒塊寫出到disk:

1)當程序掃瞄lru鍊錶查詢可用buffer(可用被覆蓋的 buffer header)的時候,如果已經被掃瞄的buffer header的數量

超過_db_block_max_scan_pct時(預設是40),會觸發dbwr寫髒塊

2)當dbwr程序在main lru-w鍊錶上查詢已經被更改完成且正在等待被寫出到資料檔案的buffer header時,

如果這個過程中查詢的buffer 數量超過_db_writer_scan_depth_pct(預設25%)時,會觸發dbwr程序寫髒塊

3)當main lru-w和aux lru-w 鍊錶上的髒塊總數超過 _db_large_dirty_queue時(預設25)會觸發dbwr進行寫出髒塊的動作。

oracle資料庫髒讀DirtRead

客戶端a和客戶端b分別取請求資料量為1000w的資料庫,a訪問的時間為9點00分,並且select查詢所有資料需要10分鐘直到9點10分才可以返回結果。客戶端b在9點05分的時候去update資料庫所有資料,並且commit成功。請問客戶端a查詢的資料是客戶端update前的還是update之後的資...

python 和 在不同場景下不同 的作用

兩個乘號就是乘方,比如2 4,結果就是2的4次方,結果是16 乙個乘號 如果運算元是兩個數字,就是這兩個數字相乘,如2 4,結果為8 如果是字串 列表 元組與乙個整數n相乘,返回乙個其所有元素重複n次的同型別物件,比如 str 3將返回字串 strstrstr 如果是函式定義中引數前的 表示的是將呼...

關於髒寫 髒讀 不可重複讀 幻讀的理解

髒寫 如果乙個事務修改了另乙個未提交事務修改過的資料,那就意味著發生了髒寫 事務a修改還未提交的事務b所修改的變數,一旦事務b執行回滾操作,那麼事務a所做的操作就是無效的 髒讀 如果乙個事務讀到了另乙個未提交事務修改過的資料,那就意味著發生了髒讀 事務a讀取事務b還未提交的資料,一旦事務b執行回滾操...