前言:
今天大家对“oracle数据库性能分析”大概比较注意,我们都需要了解一些“oracle数据库性能分析”的相关文章。那么小编在网上收集了一些对于“oracle数据库性能分析””的相关文章,希望看官们能喜欢,兄弟们一起来了解一下吧!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
declare
Variable job number ;
begin
dbms_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
declare
Variable job number ;
begin
dbms_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
标签: #oracle数据库性能分析