sql執行期間相關的等待
1、使用者請求的SQL,ORACLE進行語法許可權的檢查後獲得hash BUCKET上的library cache鎖存器,找到是否有相同SQL資訊(相同LCO),
如果發生爭用等待LATCH:LIBRARY CAHE,存在則進行第8步,每次SQL PARSING PASESE COUNT(TOTAL)+1這是軟硬解析之和
2、不存在獲得SHARED POOL鎖存器後,尋找空閒列上空閒的CHUNK(及FREE狀態的CHUNK),ORACLE會一直擁有SHARD POOL latch知道找到CHUNK為止,發生爭用出現
shared pool等待事件。
3、如果不存在空閒CHUNK,尋找更大空閒CHUNK分割後使用,剩下的記憶體登記到空閒列
4、如果還是沒摘到,檢索LRU列,找到可以recreate 的CHUNK(及RECREATE狀態的CHUNK)
5、如果還是找不到合適的CHUNK,則增加分配共享記憶體池的剩餘空間(10g可以動態ASSM管理記憶體)
6、如果都是報錯ORA-4031錯誤
7、如果找到CHUNK,SQL相應的HANDLE(LIBRARY CACHE HANDLE)以獨佔模式獲得LIBRARY CACHE LOCK,並且建立LCO資訊,完成後
LIBRARY CACHE LOCK 為NULL模式,然後LIBRARY CACHE PIN以獨佔模式獲得LCO資訊,建立執行計劃,2-7為硬解析,parse count(hard)增加。
8、以SHARD 模式獲得LIBRARY CAHE LOCK和LIBRARY CAHCE PIN,執行SQL,次為執行階段。注意DDL語句會對想用LCO以獨佔模式獲得LIBRARY CACHE LOCK
和LIBRARY CAHCE PIN,如果出現等待則需要等待LIBRARY CACHE LOCK/PIN
9、ORACLE執行結束後進入FETCH階段,此時就釋放lIBRARY cache LOCK/PIN。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-764255/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 閒聊oracle SQL*Net相關的空閒等待事件OracleSQL事件
- 【等待事件之二】log 相關的等待事件
- latch 相關等待事件事件
- 等待事件相關(zt)事件
- Oracle 表空間查詢相關sqlOracleSQL
- 【效能調整】等待事件(五)log相關等待事件
- 執行期間丟擲NoSuchMethodError模擬及原因分析Error
- buffer cache與相關的latch等待事件事件
- gc 等相關等待事件描述GC事件
- log file switch相關等待事件事件
- sql相關SQL
- 【sql調優之執行計劃】in相關的operationSQL
- oracle之 調整 I/O 相關的等待Oracle
- 查詢當前執行的sql及相關內容SQL
- java mvc 新趨勢——從執行期間類掃描到編譯期間JavaMVC編譯
- 時間相關的操作
- SQL Server郵件相關SQL語句出現嚴重的ASYNC_NETWORK_IO等待事件案例SQLServer事件
- oracle library cache相關的等待事件及latchOracle事件
- sql統計時間出現斷點的相關情況SQL斷點
- 【效能調整】等待事件(七) io相關等待查詢指令碼事件指令碼
- 時間相關的工具類
- 與IO相關的等待事件troubleshooting-系列9事件
- 與IO相關的等待事件troubleshooting-系列8事件
- 與IO相關的等待事件troubleshooting-系列7事件
- 與IO相關的等待事件troubleshooting-系列6事件
- 與IO相關的等待事件troubleshooting-系列5事件
- 與IO相關的等待事件troubleshooting-系列4事件
- 與IO相關的等待事件troubleshooting-系列3事件
- 與IO相關的等待事件troubleshooting-系列2事件
- 與IO相關的等待事件troubleshooting-系列1事件
- 查詢等待事件(wait event)相關的SQL - v$session_wait, v$rowcache,v$sqltext事件AISQLSession
- sql優化相關SQL優化
- SQL Server 日期相關SQLServer
- 查出引起等待的sql,並kill該引起等待的sqlSQL
- SQL Server簡潔查詢正在執行SQL(等待事件)SQLServer事件
- Java 編譯期和執行期Java編譯
- delete相關的pl/sql調優deleteSQL
- PL/SQL相關的資料字典SQL