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 : selectfrom v$sql_bind_capture  where sql_id='73206hkz86fnc';

 此時,你可以透過目前取得的內容,就可以組出你要的正確SQL.

    此為簡單的範本,參考之!!

 

arrow
arrow
    文章標籤
    SQL Trac
    全站熱搜

    alad 發表在 痞客邦 留言(0) 人氣()