調整緩衝區快取記憶體(Buffer Cache)的效能(3)
調整閂(latch)和鎖定(lock)
1. 調整閂(latch)
閂可以作為記憶體效能的另一個指標。
1.閂:等待閂和立即閂(V$lacth。共239個)。
資料庫中是否存在閂爭用V$system_event("latch free")。
幾個重要的閂:shared pool、library cache、cache buffers lru chain、
cache buffers chains、redo allocation、redo copy。
select * from V$latch where misses!=0;
2.自由列表:V$system_event("buffer busy waits")。
V$waitstat。
測量哪些段存在自由列表爭用:dba_segments、V$session_wait。
alter table scott.emp storage (freelists 5);
自動段空間管理的表空間。
2. 調整鎖定
DML鎖(TM)和DDL鎖(TX)
鎖定模式:
RX:對錶UPDATE、INSERT、DELETE時獲得。
RS:對錶SELECT … FOR UPDATE時獲得。
S: LOCK TABLE EMP IN SHARE MODE; 可以是多個使用者獲得。
SRX: LOCK TABLE EMP IN SHARE ROW EXCLUSIVE MODE; 只能是一個使用者獲得。
外來鍵約束時的鎖定。死鎖。
用Lock Monitor監視鎖定。
調整作業系統
1. 調整作業系統
觀察記憶體和CPU利用率(<90%)。
2. 使用Resource Manager
資源使用者組。一個使用者可以是多個資源使用者組的成員,但一次只有一個組是活動的。
確定使用者的CPU利用率。(v$sesstat和v$sysstat)
資源計劃:由資源計劃指令組成。一次只能有一個資源計劃是活動的(V$rsrc_plan)。
alter system set resource_manager_plan=system_plan;
select username,RESOURCE_CONSUMER_GROUP from V$session;
子計劃。
資源計劃排程。
使用Expert進行最佳化
第一步:建立一個最佳化會話(tuning session)。
第二步:確定最佳化範圍(scope)。
第三步:收集資料。
第四步:複查(review)已收集到的資料。
第五步:生成建議案。建議報告。
第六步:建立實現建議所需的SQL指令碼。[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017387/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 調整緩衝區快取記憶體(Buffer Cache)的效能(轉)快取記憶體
- buffer cache深度分析及效能調整(五)
- buffer cache深度分析及效能調整(四)
- buffer cache深度分析及效能調整(六)
- Linux記憶體、Swap、Cache、BufferLinux記憶體
- Node.js Buffer(緩衝區)Node.js
- Java NIO 之 Buffer(緩衝區)Java
- 8、Node.js Buffer(緩衝區)Node.js
- Java-NIO之Buffer(緩衝區)Java
- Cache和Buffer都是快取,有什麼區別?Linux快取Linux
- Java整數緩衝區Java
- 高效能記憶體快取 ristretto記憶體快取
- MySQL中讀頁緩衝區buffer poolMySql
- Nio再學習之NIO的buffer緩衝區
- weblogic 記憶體調整Web記憶體
- 效能測試必備知識(11)- 怎麼理解記憶體中的Buffer和Cache?記憶體
- Wgpu圖文詳解(03)緩衝區BufferGPU
- Linux工具效能調優系列二:buffer和cacheLinux
- CPU快取記憶體快取記憶體
- 為什麼node.js要引入buffer?淺析緩衝區bufferNode.js
- InnoDB 中的緩衝池(Buffer Pool)
- 【Cache】將常用的“小表”快取到Buffer Cache快取
- Linux Buffer/Cache 的區別Linux
- buffer與cache的區別
- Redis效能篇(五)Redis緩衝區Redis
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- 多核cpu、cpu快取記憶體、快取一致性協議、快取行、記憶體快取記憶體協議
- Node.js 中的緩衝區(Buffer)究竟是什麼?Node.js
- 記憶體快取選型記憶體快取
- MRAM快取記憶體的組成快取記憶體
- GO語言————6.12 通過記憶體快取來提升效能Go記憶體快取
- CQengine高效能記憶體資料快取查詢框架記憶體快取框架
- CPU快取和記憶體屏障快取記憶體
- docker部署redis快取記憶體DockerRedis快取記憶體
- 談談CPU快取記憶體快取記憶體
- django 快取表格到記憶體Django快取記憶體
- 33、buffer_cache_3(redo的產生、LRBA、buffer cache裡的等待事件)事件
- Java記憶體快取-通過Google Guava建立快取Java記憶體快取GoGuava
- solaris記憶體引數調整及管理記憶體