oracle数据库级别优化分析工具介绍(11页).doc
文本预览下载声明
本文档为网上收集,若侵犯了您的利益,请联系(QQ:253169161),我将立即核对删除。
oracle数据库级别优化分析工具介绍
当我们对数据库优化诊断时,需要收集相应的信息以供参考,从个人的使用经验来说,这种统计数据分为两大类一类是数据库级别的统计信息二类是os级别的统计信息
下面就分别介绍在不同的级别下,常用什么工具来收集信息帮助优化诊断
首先是oracle数据库级别优化分析工具介绍
目录:
1.statspack2.ASH3.AWR4.ORACLE EXPLAIN PLAN的总结(查询sql的执行计划)a.autotraceb.explain的使用
1.statspack
a。安装
sql sqlplus / as sysdba
SQL select file_name from dba_data_files;
SQL create tablespace perfstat datafile e:\oracle\oradata\skate\perfstat.dbf size 2000m;
sql @ORACLE_HOME\rdbms\admin\spcreate.sql
b。使用
SQL conn perfstat/passwd
收集统计信息sql execute statspack.snap或SQL exec statspack.SNAP(i_snap_level =5);
生成报告sql @ORACLE_HOME\rdbms\admin\spreport.sql
定时收集信息有两种方式,一种是oracle job,一种是os的crontab,我比较习惯用os级别的crontab
设定其每个小时自动收集一次采样的job
declareVariable job number ;begindbms_job.submit(:job, statspack.snap; ,trunc( sysdate + 1/24 , hh24 ), trunc(sysdate+1/24,hh24) );commit ;end ;/
查看job使用情况
SQL select job,schema_user,next_date,interval,what from user_jobs
自动停止采样job
declareVariable job number ;begindbms_job.submit(:job, dbms_job.broken(44,true); ,trunc( sysdate + 1 ), null );commit ;end ;/
清空所有stats统计信息表里的数据
sql @ORACLE_HOME\rdbms\admin\sptrunc.sql
snapshot的level,这可以通过EXEC STATSPACK.MODIFY_STATSPACK_PARAMETER(i_snap_level=N)来修改,N可以为0,5,6,7,10,缺 省为5。
0 仅提供一般性能统计5 增加了对SQL语句总体分析6 增加了SQL计划和使用7 增加了分段(Segments)级的统计10增加了对闩锁(Latches)的分析
其中文档建议对10要慎重,因为代价较高。
eg:SQL exec statspack.SNAP(i_snap_level =6);
oracle不仅提供生成数据库报告的脚本spreport.sql,还提供另一个statspack 报告脚本sprepsql.sql来生成SQL的报告
sql @ORACLE_HOME\rdbms\admin\sprepsql.sql
参考文档:利用statspack来获取生成环境中top SQL及其执行计划HYPERLINK /Doc/statspack_report_sql.htm/Doc/statspack_report_sql.htm
2.AWR
awr是建库是自动配置和启用的,他对性能数据的收集默认是一小时,awr对历史数据的分析
生成报告脚本在目录下生成报告使用$ORACLE_HOME/rdbms/admin/,如下:
awrrpt.sql :生成指定快照区间的统计报表;awrrpti.sql :生成指定数据库实例,并且指定快照区间的统计报表;awrsqlrpt.sql :生成指定快照区间,指定SQL语句(实际指定的是该语句的SQLID)的统计报表;awrsqrpi.sql :生成指定数据库实例,指定快照区间的指定SQL语句的统计报表;awrddrpt.sql :指定两个不同的时间周期,生成这两个周期的统计对比报表;awrddrpi.sql :指定数据库实例
显示全部