加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Oracle Performance Tuning 查看统计信息

(2007-04-17 16:31:59)
分类: Oracle DB
1) Oracle也推荐应该在Oracle生成执成计划之前先Gather一下,以确保统计信息正确,这样生成的执行计划才尽量少走弯路。
--查看Table信息
  SELECT dt.table_name, dt.num_rows, dt.blocks, dt.empty_blocks AS empty
      ,dt.avg_space, dt.chain_cnt, dt.avg_row_len
      ,TO_CHAR (dt.last_analyzed, 'MM/DD/YYYY HH24:MI:SS')
  FROM dba_tables dt
  WHERE dt.owner = 'Module Name'
    AND dt.table_name = 'Table Name'
--另一种方式查看某Table信息
   SYS.DBMS_STATS.get_table_stats (ownname       => 'Module Name'
                                  ,tabname       => 'Table Name'
                                  ,partname      => NULL
                                  ,stattab       => NULL
                                  ,statid        => NULL
                                  ,numrows       => v_num_rows
                                  ,numblks       => v_num_blocks
                                  ,avgrlen       => v_avg_row_len
                                  ,statown       => NULL
                                  );
--Analyse一个Table
ANALYZE TABLE table_name COMPUTE STATISTICS;
--gather一个schema
   SYS.DBMS_STATS.gather_schema_stats (ownname => 'Module Name');
2)Trace Oracle实际执行该SQL时所计算的数据、分析的路径以及消耗的Cost
可以程序逻辑开始前加上sql_trace=true,结束前结束sql_trace=false即可:
――――――――――――――――――――――
alter session set sql_trace=true;
程序逻辑here…
alter session set sql_trace=false;
――――――――――――――――――――――
然后去OS上去找出这个trace file,用tkprof 去转换,然后再看Log的详细内容。
DEV2:  /disk/DEV2/dev2db/9.2.0/admin/DEV2/udump
tkprof dev2_ora_13148.trc log.txt
------------------------------------------

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有