latch: cache buffers chains 阻塞 buffer busy waits
生活随笔
收集整理的這篇文章主要介紹了
latch: cache buffers chains 阻塞 buffer busy waits
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
os: centos 7.4
db: oracle 11.2.0.4
版本
# cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) # # su - oracle Last login: Tue Jan 21 03:40:05 CST 2020 on pts/0 $ sqlplus / as sysdba;SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 3 10:29:09 2020Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing optionsSQL> set lines 300; SQL> set pages 300; SQL> SQL> select * from v$version;BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - ProductionSQL>latch:cache buffers chains
當一個數(shù)據(jù)塊讀入到sga中時,該塊的塊頭(buffer header)會放置在一個hash bucket的鏈表(hash chain)中。該內(nèi)存結(jié)構由一系列cache buffers chains子latch保護(又名hash latch或者cbc latch)。對Buffer cache中的塊,要select或者update、insert,delete等,都得先獲得cache buffers chains子latch,以保證對chain的排他訪問。若在過程中發(fā)生爭用,就會等待latch:cache buffers chains事件。
在以下場景容易出現(xiàn)該事件
可以通過將普通表調(diào)整成分區(qū)表,普通索引調(diào)整為分區(qū)索引的方法去嘗試解決。
buffer busy waits
當一個會話獲取數(shù) buffer cache 中一個數(shù)據(jù)塊時,但是 buffer 處于繁忙狀態(tài),無法獲取,
主要原因為
可以將普通表做成分區(qū)表,將定期將索引刪除并重建,調(diào)整表和索引pctfree參數(shù)
參考:
總結(jié)
以上是生活随笔為你收集整理的latch: cache buffers chains 阻塞 buffer busy waits的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小诗句集萃十四
- 下一篇: 微信朋友圈点赞测试点【杭州多测师】【杭州