ORACLE学习笔记--性能优化1

简介:

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

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需要做一定修改)
  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:包括绑定变量与等待事件

 

分类:  OralceRac

本文转自einyboy博客园博客,原文链接:http://www.cnblogs.com/einyboy/archive/2012/05/09/2493518.html
目录
相关文章
|
15天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
14 1
|
25天前
|
SQL 监控 Oracle
Oracle SQL性能优化全面指南
在数据库管理领域,Oracle SQL性能优化是确保数据库高效运行和数据查询速度的关键
|
5月前
|
Oracle Java 关系型数据库
[学习笔记] 在Eclipse中使用Hibernate,并创建第一个Demo工程,数据库为Oracle XE
[学习笔记] 在Eclipse中使用Hibernate,并创建第一个Demo工程,数据库为Oracle XE
|
6月前
|
SQL 监控 Oracle
Oracle 性能优化之AWR、ASH和ADDM(含报告生成和参数解读)
Oracle 性能优化之AWR、ASH和ADDM(含报告生成和参数解读)
|
6月前
|
Oracle 关系型数据库 数据处理
某教程学习笔记(一):10、oracle数据库注入
某教程学习笔记(一):10、oracle数据库注入
41 0
|
Oracle 关系型数据库
Oracle联机交易性能优化一例
tps测试目前只有300,从awr报告中可以看到目前的等待事情如下
|
Oracle 关系型数据库 数据处理
某教程学习笔记(一):10、oracle数据库注入
某教程学习笔记(一):10、oracle数据库注入
116 0
某教程学习笔记(一):10、oracle数据库注入
|
Oracle 关系型数据库 MySQL
|
SQL Oracle 关系型数据库
Oracle 性能优化技巧-获取真实执行计划
Oracle 性能优化技巧-获取真实执行计划
275 0
Oracle 性能优化技巧-获取真实执行计划
|
SQL Oracle 关系型数据库
Oracle学习笔记(三)
Oracle学习笔记(三)
293 0