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) |