定位SQL的執行次數

Xinspirit發表於2012-04-23

   今天到公司之後被告之weblogic很慢,java工程師從weblogic的日誌中查到了有一個sql語句反覆查詢導致整個weblogic的記憶體被耗盡,要求檢視這條語句執行的次數(select XX ,XX from GM_COMP_FEE_RESULT where 1=1)

   從v$sql檢視中可以定位執行的次數,語句如下

  select  EXECUTIONS from v$sql where sql_text like ‘%GM_COMP_FEE_RESULT%’;

  v$sql的檢視結構如下:

 

l         SQL_TEXTSQL文字的前1000個字元

l         SHARABLE_MEM:佔用的共享記憶體大小(單位:byte)

l         PERSISTENT_MEM:生命期內的固定記憶體大小(單位:byte)

l         RUNTIME_MEM:執行期內的固定記憶體大小

l         SORTS:完成的排序數

l         LOADED_VERSIONS:顯示上下文堆是否載入,10

l         OPEN_VERSIONS:顯示子游標是否被鎖,10

l         USERS_OPENING:執行語句的使用者數

l         FETCHESSQL語句的fetch數。

l         EXECUTIONS:自它被載入快取庫後的執行次數

l         USERS_EXECUTING:執行語句的使用者數

l         LOADS:物件被載入過的次數

l         FIRST_LOAD_TIME:初次載入時間

l         INVALIDATIONS:無效的次數

l         PARSE_CALLS:解析呼叫次數

l         DISK_READS:讀磁碟次數

l         BUFFER_GETS:讀快取區次數

l         ROWS_PROCESSED:解析SQL語句返回的總列數

l         COMMAND_TYPE:命令型別代號

l         OPTIMIZER_MODESQL語句的最佳化器模型

l         OPTIMIZER_COST:最佳化器給出的本次查詢成本

l         PARSING_USER_ID:第一個解析的使用者ID

l         PARSING_SCHEMA_ID:第一個解析的計劃ID

l         KEPT_VERSIONS:指出是否當前子游標被使用DBMS_SHARED_POOL包標記為常駐記憶體

l         ADDRESS:當前遊標父控制程式碼地址

l         TYPE_CHK_HEAP:當前堆型別檢查說明

l         HASH_VALUE:快取庫中父語句的Hash

l         PLAN_HASH_VALUE:數值表示的執行計劃。

l         CHILD_NUMBER:子游標數量

l         MODULE:在第一次解析這條語句是透過呼叫DBMS_APPLICATION_INFO.SET_MODULE設定的模組名稱。

l         ACTION:在第一次解析這條語句是透過呼叫DBMS_APPLICATION_INFO.SET_ACTION設定的動作名稱。

l         SERIALIZABLE_ABORTS:事務未能序列化次數

l         OUTLINE_CATEGORY:如果outline在解釋cursor期間被應用,那麼本列將顯示出outline各類,否則本列為空

l         CPU_TIME:解析/執行/取得等CPU使用時間(單位,毫秒)

l         ELAPSED_TIME:解析/執行/取得等消耗時間(單位,毫秒)

l         OUTLINE_SIDoutline session標識

l         CHILD_ADDRESS:子游標地址

l         SQLTYPE:指出當前語句使用的SQL語言版本

l         REMOTE:指出是否遊標是一個遠端映象(Y/N)

l         OBJECT_STATUS:物件狀態(VALID or INVALID)

l         IS_OBSOLETE:當子游標的數量太多的時候,指出遊標是否被廢棄(Y/N)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21416913/viewspace-722008/,如需轉載,請註明出處,否則將追究法律責任。

相關文章