close
[SQL Trace binding value]
報表執行速度不佳或是畫面要取得執行程式的SQL, 通常都會使用Trace的方式來產生Trace file. 而Trace file 的結果通常都是只有代碼,而無實際執行SQL所使用的”值”,而此時通常就會自己去給定一些”認為”的值,來產生的結果. 不過實際上,在Oracle db就有提供View可以取得行SQL所用到的值,我們簡單用下列的範本來簡單做一些說明.
[1. Trace file information]
下圖為Trace file 的執行結果.
其中紅框的參數,為程式在執行過程所使用到的參數, 而此時我們可以透過標準的View來取得這些參數.
首先,我們先在此段SQL的左上方,可以取得SQL ID. 下圖的是Query的結果.
此段SQL在不同的時間點,執行過二次,我們可以用Last_Active_Time或其它欄位來分辦何者為此次執行的SQL.
而SQL_TEXT則可取得完整的SQL String.
接下來可以使用View(v$sql_bind_capture)來取得參數值.
SQL : select * from v$sql_bind_capture where sql_id='73206hkz86fnc';
此時,你可以透過目前取得的內容,就可以組出你要的正確SQL.
此為簡單的範本,參考之!!
文章標籤
全站熱搜