亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

常見的global cache等待事件

發布時間:2020-08-20 09:37:23 來源:網絡 閱讀:629 作者:qhd2004 欄目:數據庫

gc cr disk read事件

當node 1需要讀取的block在node 2的buffer cache里,且block中包含尚未提交的事務,那么node 2的LMS進程需要使用undo record將該block回滾至node 1發起那一時刻的內容后再傳給node 1,假如這時undo record所在的undo block不在node 2的buffer cache里,node 1上就會出現gc cr disk read事件,表示node 1正等待node 2的LMS授予其直接從磁盤讀取undo block的權限。


gc current block 2-way

node 1、node 2的buffer cache里都沒有block A,這時node 1讀取了某個block A里的某一行,隨后node 2也讀取了block A或者對block A里的某一行作了DML操作,這兩種情況下node 2上都會出現"gc current block 2-way"等待,current在這里表示node 2讀取或修改的block版本是最新的,該block里不存在未提交的事務。值得注意的是在"gc current block 2-way"事件發生之后,GRD里會為該block上KJUSERPR(讀操作)或者KJUSEREX鎖(寫操作)


gc cr block 2-way

細分一下有兩種情況

(1)、node 1修改了記錄但沒有提交:

node 1、node 2的buffer cache里都沒有block A,這時node 1修改了block A里的某一行,但沒有提交;隨后node 2執行了Select block A操作,按照一致性讀的定義,node 2此時應該收到block A在select發起那一時刻所對應的快照block A',block A'將由node 1上的LMS進程以應用undo record到block A的方式構造出來后傳給node 2,此時在node 2上就發生了一次"gc cr block 2-way"等待事件,node 2接收到的block A'在buffer cache中標記為cr類型,cr類的block僅滿足當次查詢的需要,無法被之后的查詢所重用,也就是說假如node 2僅接著又發起一次對于block A的select操作,node 1上的LMS進程還是會重新構造出一個block A''后傳遞給node 2,盡管block A''與block A'的內容是完全一樣的。這一特性決定了cr block在構造及傳輸的過程中在GRD里不需要任何的鎖來保護。


(2)、node 1修改了記錄且已經提交:

node 1、node 2的buffer cache里都沒有block A,這時node 1修改了block A里的某一行,并且已經提交。因為_fairness_threshold參數的作用,當node 2執行了Select block A操作,仍然有可能觸發node 1上的LMS進程構造cr block然后傳輸給node 2的動作,node 2就會遇到gc cr block 2-way等待。


值得一提的是不管是gc cr block 2-way還是gc current block 2-way,它們的出現并不意味著RAC的性能出現了問題,可以認為這是消息類的等待事件,僅僅表示兩節點間存在block的傳輸,但如果在AWR里發現這兩種等待事件平均耗時較長(>10ms),就可以認為網絡上存在瓶頸,需要聯系網絡管理員介入處理


gc current block busy

node 1正在更新block A的時候node 2也發起了對block A的更新,這時node 2在等待接收node 1上的LMS進程構造出block A在node 2發起更新時刻的block映像,node 2在接收到block A映像之前,就會處于gc current block busy狀態


gc cr block busy

當node 1正在更新block A的時候,node 2發起了對block A的查詢,這時node 2在等待接收node 1上的LMS進程構造出block A在node 2發起查詢時刻的block映像,node 2在接收到block A映像之前,就會處于gc cr block busy狀態


gc buffer busy acquire

實例1和實例2的buffer cache都含有某個block,T1時刻實例1修改了這個block,T2時刻實例2上的會話1讀取這個block,當這個讀取還沒有完成,實例2上的會話2也發起了讀取相同block的操作,這時會話2就會等在gc buffer busy acquire上。實例2同時發起的讀取相同block的會話數越多,我們就越容易觀察到gc buffer busy acquire等待。


gc buffer busy release

在session#1嘗試請求訪問本地實例buffer時,發現之前已經有遠程實例的session#2請求訪問該buffer,并且沒有完成,那么session#1等待gc buffer busy release。


整理自:

那些你眼熟的global cache等待事件是如何被觸發的(一) 

http://blog.itpub.net/53956/viewspace-2125576/

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨眉山市| 余姚市| 濮阳市| 调兵山市| 大埔区| 金山区| 将乐县| 西乌| 长春市| 喀什市| 融水| 宜春市| 志丹县| 赣榆县| 商南县| 德庆县| 南和县| 漯河市| 皋兰县| 安化县| 石阡县| 泽库县| 永和县| 东辽县| 福建省| 胶南市| 株洲市| 威远县| 崇阳县| 巴南区| 鄄城县| 清新县| 连州市| 水城县| 措美县| 玉山县| 吉木乃县| 泸水县| 梁山县| 太保市| 彭州市|