ORACLE學習筆記 效能優化1

2022-05-08 19:24:11 字數 1938 閱讀 4801

1. 查詢正在執行語句的執行計畫(也就是實際語句執行計畫)

select * from v$sql_plan where hash_value = (select sql_hash_value from v$session where sid = 1111);

其中id和parent_id表示了執行數的結構,數值最大的為最先執行

比如id  parent_id   

-------------   

0 1 0

2 13 2

4 35 4

6 3   

則執行計畫樹為01

236     4 

52.如何設定自動跟蹤

用system登入

執行$oracle_home/rdbms/admin/utlxplan.sql建立計畫表

執行$oracle_home/sqlplus/admin/plustrce.sql建立plustrace角色

如果想計畫表讓每個使用者都能使用,則

sql>create public synonym plan_table for plan_table;

sql> grant all on plan_table to public;

如果想讓自動跟蹤的角色讓每個使用者都能使用,則

sql> grant plustrace to public;

通過如下語句開啟/停止跟蹤

set autotrace on |off | on explain | on statistics | traceonly | traceonly explain

3.如何跟蹤自己的會話或者是別人的會話

跟蹤自己的會話很簡單

alter session set sql_trace true|false

orexec dbms_session.set_sql_trace(true);

如果跟蹤別人的會話,需要呼叫乙個包

exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)

跟蹤的資訊在user_dump_dest 目錄下可以找到或通過如下指令碼獲得檔名稱(適用於win環境,如果是unix需要做一定修改)

select p1.value||'\'||p2.value||'_ora_'||p.spid||'.ora' filename

from

v$process p,

v$session s,

v$parameter p1,

v$parameter p2

where p1.name = 'user_dump_dest'

and p2.name = 'db_name'

and p.addr = s.paddr

and s.audsid = userenv ('sessionid')

最後,可以通過tkprof來解析跟蹤檔案,如

tkprof 原檔案 目標檔案 sys=n

4.怎麼設定整個資料庫系統跟蹤

其實文件上的alter system set sql_trace=true是不成功的,但是可以通過設定事件來完成這個工作,作用相等

alter system set events

'10046 trace name context forever,level 1';

如果關閉跟蹤,可以用如下語句

alter system set events

'10046 trace name context off';

其中的level 1與上面的8都是跟蹤級別

level 1:跟蹤sql語句,等於sql_trace=true

level 4:包括變數的詳細資訊

level 8:包括等待事件

level 12:包括繫結變數與等待事件

ORACLE學習筆記 效能優化1

1.查詢正在執行語句的執行計畫 也就是實際語句執行計畫 select from v sql plan where hash value select sql hash value from v session where sid 1111 其中id和parent id表示了執行數的結構,數值最大的為...

ORACLE學習筆記 效能優化4

13.怎麼樣能固定我的執行計畫 可以使用outline來固定sql語句的執行計畫,用如下語句可以建立乙個outline create oe replace outline outln name on select col1,col2 from table where 如果要刪除outline,可以採...

ORACLE學習筆記 效能優化5

18.怎麼清理臨時段 可以使用如下辦法 1 使用如下語句檢視一下認誰在用臨時段 select username,sid,serial sql address,machine,program,tablespace,segtype,contents from v session se,v sort us...