ORACLE学习笔记之调节性能优化篇(1)
文章作者 100test 发表时间 2007:03:14 13:55:15
来源 100Test.Com百考试题网
1. 查询正在执行语句的执行计划(也就是实际语句执行计划
0select * from v$sql_plan where hash_value = (0select sql_hash_value from v$session where sid = 1111).  | 
其中id和parent_id表示了执行数的结构,数值最大的为最先执行 
比如 
ID  PARENT_ID    
0 
1 0
2 1
3 2
4 3
5 4
6 3  | 
则执行计划树为 
2.如何设置自动跟踪 
用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
Or
Exec dbms_session.set_sql_trace(TRUE).  | 
如果跟踪别人的会话,需要调用一个包 
exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)  |