WEB开发网
开发学院数据库Oracle ORACLE学习笔记之调节性能优化篇 阅读

ORACLE学习笔记之调节性能优化篇

 2007-05-10 12:19:35 来源:WEB开发网   
核心提示:1. 查询正在执行语句的执行计划(也就是实际语句执行计划)select * from v$sql_plan where hash_value = (select sql_hash_value from v$session where sid = 1111);其中id和parent_id表示了执行数的结构,数值最大的为最

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 1
3 2
4 3
5 4
6 3

则执行计划树为

0
       1
       2
       3
      6   4 
         5

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)

跟踪的信息在user_dump_dest 目录下可以找到或通过如下脚本获得文件名称(适用于Win环境,如果是unix需要做一定修改)

1 2 3 4 5 6  下一页

Tags:ORACLE 学习 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接