动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   数据库 → 阅读文章

 ORACLE学习笔记--性能优化

作者来源: 
阅读 数 319 人次 , 2006-5-11 16:49:00 

 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:包括绑定变量与等待事件


  
 本文Tagsoracle  优化  网站优化  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:oracle HA应用的方案参考
· 下一篇:使用正规表达式编写更好的SQL
· MySQL中的SQL特征
· Oracle Database 10 g : 为 DBA 提供的最佳前 20 位的特性(二)
· 如何使Microsoft SQL Server的日志文件不会增大?
· UNIX oracle 10g能用utl_file包读取文件数据吗
· Mysql 数据库的导入与导出


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077