常見latch閂鎖等待

2021-08-10 14:20:02 字數 1294 閱讀 6398

常見latch閂鎖等待

參考《oracle效能優化實務》

與共享池有關的latch閂鎖等待(共享池不足或碎片化問題導致)

shared pool

library cache

library cache pin

row cache objects

row cache enqueue latch

和lru chains或者hash chains相關的閂鎖

cache buffer handles

cache buffers chains

cache buffers lru chain

multiblock read objects

log buffer太小

過於頻繁的commit

redo log的io效能不佳

log switch過於頻繁

歸檔出現問題或者歸檔過慢

redo log相關主要閂鎖

redo copy

redo  allocation :

9.2:log_parallelism

10g:_log_parallelism_max

redo writing

redo on-disk scn

simulator lru latch閂鎖爭用十分高原因:

cpu使用率很高

db cache較大,並且訪問負載較大

影響多個版本

9.2.0.5

10.1.0.2

10.2.0.3

11.1.0.6

解決方案

9.2,10.1:statistics_level = basic

10.2:db_cache_advice = off

其他archive control:和歸檔目錄有關

process allocation:和程序狀態修改有關,在短連線的系統中可能存在競爭

session allocation:和session資訊修改有關

sort extent pool:和硬碟排序有關

child cursor hash table:和sql分析以及cursor version有關

enqueue hash chains和鎖的管理有關

modify parameters values:動態調整引數有關

parallel query alloc buffer,parallel query stats :和並行查詢有關

ges*:和全域性鎖有關

gcs*:和全域性cache有關

超閂鎖和子閂鎖如何工作的

原文 hot it works sql server superlatch ing sub latches 閂鎖是應用在使用者模式下,在讀寫鎖結構應用在sql server 中用來保護內部結構。trace latch 是sql server 使用閂的例子,被trace controller 類建立並...

SQL Server裡的閂鎖介紹

閂鎖首次在sql server 7.0裡引入,同時微軟首次引入了行級別鎖 row level locking 對於行級別鎖引入閂鎖的概念是非常重要的,不然的話在記憶體中會出現丟失更新 lost updates 的現象。如我所說的,閂鎖是儲存引擎使用的輕量級同步物件,是sql server用來保護記憶...

簡單介紹SQL Server裡的閂鎖

在今天的文章裡我想談下sql server使用的更高階的,輕量級的同步物件 閂鎖 latch 閂鎖是sql server儲存引擎使用輕量級同步物件,用來保護多執行緒訪問記憶體內結構。文章的第1部分我會介紹sql server裡為什麼需要閂鎖,在第2部分我會給你介紹各個閂鎖型別,還有你如何能對它們進行...