oracle性能监控主要是通过statspack 或 awk 报告来实现的

    statspack 10G之前主要用它,需要手工安装

    AWK       内容更丰富,自动已经装好

statspack涉及的脚本:

    spcreate.sql  安装脚本
    spauto.sql    定时采样设置脚本
    spreport.sql  报取报告脚本
    spdrop.sql    删除脚本
   
安装statpack 之前要设置一些参数:
    job_queue_processes   不要为0
 SQL> show parameter job_queue_processes

    timed_statistics       要开启

 SQL> show parameter timed_statistics

    statistics_level   不能为BASIC

 SQL> show parameter statistics_level

安装前最好为statpack创建一个独立的表空间

 SQL> create tablespace perfstat
      datafile '/u02/perfstat01.dbf' size 500m;

安装过程:

 
 SQL> @?/rdbms/admin/spcreate.sql;

 输入perfstat 的密码

   选择statpack使用的表空间

 
 选择statpack使用的临时表空间

    

 脚本运行完后,自动切到用户 perfstat

 SQL> show user;

 USER is "PERFSTAT"

statpack 管理
    1、生成快照
 手工生成
 SQL> exec statspack.snap;

 自动生成
 vim $ORACLE_HOME/rdbms/admin/spauto.sql

 begin

   select instance_number into :instno from v$instance;
   dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/48,'HH'), 'trunc(SYSDATE+1/48,''HH'')', TRUE, :instno);
   --修改时间间隔即可
   commit;
 end;
 /
 改完后,在sql>下运行该脚本

 SQL> @?/rdbms/admin/spauto.sql;

    
    2、查看快照
 stats$snapshot

 SQL> select SNAP_ID,SNAP_TIME,STARTUP_TIME from stats$snapshot;

    3、生成报告
 生成报告的前提必须要有快照

 SQL> @?/rdbms/admin/spreport.sql;

 

 Enter value for begin_snap: 1  --输入起始快照
 
 Enter value for end_snap: 3    --输入结束快照

 Enter value for report_name: myreport   --报告名字

 

AWR报告

    AWR自动安装的,快照采集也是自动进行的,每小时自动采集一次,快照默认保留7天

    如果没有快照可以手工生成

 SQL> exec dbms_workload_repository.CREATE_SNAPSHOT();

    生成报告:

    SQL> @?/rdbms/admin/awrrpt.sql;

 Type Specified:  html

 Enter value for num_days: 1

 
 Begin Snapshot Id specified: 44   --起始快照

 Enter value for end_snap: 49      --结束快照