如何得到繫結變數的輸入值

xypincle發表於2017-04-18

  1. 1.查詢檢視
    v$sql_bind_capture
    2.如果上述檢視查不到,說明對應的shared cursor已經被age out出shared pool了
    3.嘗試到awr repository相關的資料字典表 dba_hist_sqlstat 或 dba_hist_sqlbind 中查詢
    4.當oracle解析和執行含有繫結變數的目標sql時,如果滿足如下兩個條件之一,則該sql中的繫結變數的具體輸入值將會被oracle捕獲,並可透過檢視 v$sql_bind_capture查詢
    4.1當含有繫結變數的目標sql以硬解析的方式被執行時;
    4.2當含有繫結變數的的目標sql以軟解析/軟軟解析的方式重複執行時,該sql中的繫結變數的的具體輸入值也可能會被oracle捕獲,只不過預設情況下這中捕獲操作oracle至少得間隔15分鐘才會做一次,受隱含引數_cursor_bind_capture_interval控制,預設值為900秒;

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

相關文章