SQL效能的度量 - 利用10046事件擴充套件SQL跟蹤
在會話sql_trace的基礎上,利用10046診斷事件,可以擴充套件sql_trace的功能,主要體現在對繫結變數和等待事件的跟蹤上。
10046診斷事件可以設定的四個級別:
level 1 |
啟用標準的SQL跟蹤,等價於sql_trace |
level 4 |
level 1 + 繫結變數資訊 |
level 8 |
level 1 + 等待事件資訊 |
level 12 |
level 1 + level 4 + level 8 |
啟用自己會話的10046事件跟蹤
alter session set events '10046 trace name context forever,level 12';
關閉10046事件跟蹤
alter session set events '10046 trace name context off';
設定對指定會話的跟蹤,有以下幾種方法:
1、透過程式包dbms_monitor
開啟跟蹤
exec dbms_monitor.session_trace_enable(, , waits => true, binds => true);
關閉跟蹤
exec dbms_monitor.session_trace_disable(, );
2、透過程式包dbms_system
開啟跟蹤
exec dbms_system.set_ev(, , 10046, 12, '');
關閉跟蹤
exec dbms_system.set_ev(, , 10046, 0, '');
3、透過oradebug
開啟跟蹤
oradebug setorapid ; 或 oradebug setospid ;
oradebug session_event 10046 trace name context forever, level 12;
確定跟蹤檔案路徑
oradebug tracefile_name;
關閉跟蹤
oradebug event 10046 trace name context off;
當前會話的事件編號及其級別,可以用以下程式碼獲取
set serveroutput on
declare
event_level number;
begin
for event_number in 10000 .. 10999 loop
dbms_system.read_ev(event_number, event_level);
if (event_level > 0) then
dbms_output.put_line('Event ' || to_char(event_number) ||
' is set at level ' ||
to_char(event_level));
end if;
end loop;
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2150350/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 跟蹤SQL - SQL Trace 及 10046 事件SQL事件
- 10046事件跟蹤會話sql事件會話SQL
- SQL效能的度量 - 語句級別的SQL跟蹤autotraceSQL
- SQL效能的度量 - 會話級別的SQL跟蹤sql_traceSQL會話
- 使用oracle的10046事件跟蹤SQL語句Oracle事件SQL
- oracle sql跟蹤 event 10046 - 轉OracleSQL
- 使用10046跟蹤sql語句SQL
- Sql 2012中利用擴充套件事件(Xevents)捕捉高消耗SQL查詢SQL套件事件
- 透過ORADEBUG運用10046事件跟蹤SQL語句事件SQL
- SQL Server 2008的效能和擴充套件SQLServer套件
- 正確讀取SQL Server中的擴充套件事件SQLServer套件事件
- sql_trace 和 events 跟蹤事件SQL事件
- 利用10046事件收集SQL的trace檔案事件SQL
- sql中的擴充套件學習SQL套件
- 擴充套件實現Unity協程的完整棧跟蹤套件Unity
- 收集 SQL Server 事件探查器跟蹤資訊SQLServer事件
- SQL效能的度量 - 利用Hints和dbms_sqltune進行SQL監控SQL
- ORACLE 10046 設定跟蹤事件後無跟蹤檔案Oracle事件
- 對使用dblink的10046事件跟蹤事件
- 啟用跟蹤事件10046---06事件
- 防止SQL SERVER的事件探查器跟蹤軟體SQLServer事件
- 用SQL Server事件探查器Profiler建立跟蹤SQLServer事件
- SQL 的跟蹤方法traceSQL
- sql_trace and 10046事件SQL事件
- 利用sql_trace跟蹤一個指定會話的操作SQL會話
- 使用10046事件跟蹤分析執行計劃事件
- 跟蹤 sql 的trace檔案SQL
- 跟蹤使用者的SQLSQL
- 使用10046事件 +10704事件對索引線上重建的跟蹤事件索引
- SQL Server 禁用擴充套件儲存過程SQLServer套件儲存過程
- SQLServer進行SQL跟蹤SQLServer
- 會話級SQL跟蹤會話SQL
- SQL追蹤和事件追蹤SQL事件
- Oracle 10046跟蹤的使用Oracle
- 進行Windows Azure SQL Database的水平擴充套件GVWindowsSQLDatabase套件
- Flink SQL 在快手的擴充套件和實踐SQL套件
- Oracle SQL Trace 和 10046 事件OracleSQL事件
- Oracle SQL Trace 和10046 事件OracleSQL事件