StatsPack 是9i使用的性能分析工具,如果建立数据库的时候没有,可以手动创建 ##新建perfstat表空间 ``` create tablespace PERFSTAT LOGGING DATAFILE '/oradata/mescp/perfstat01.dbf' SIZE 2048M AUTOEXTEND off EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; ``` ----- ##新建相关用户和表表 ``` sqlplus "/ as sysdba" SQL> @?/rdbms/admin/spcreate.sql ``` -------- ##设置自动执行 ``` SQL>@?/rdbms/admin/spauto.sql ``` ---- ##清除statpack信息 ``` SQL>@?/rdbms/admin/sptrunc.sql ``` ##删除statpack ``` @?/rdbms/admin/spdrop.sql ``` ##自动获取statpack报告 我们可以利用下面的脚本定时获取并保存前一个小时的sp报告 ``` 0 * * * * /oraassy/home/sp.sh ``` ``` vim sp.sh #!/bin/sh export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export ORACLE_OWNER=oracle export ORACLE_BASE=/oraassy/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/9.2.0 export ORACLE_SID=mesassy date=`date +'%y%m%d%H'` spfile="/expbackup/statpack/spreport_$date.lst" $ORACLE_HOME/bin/sqlplus perfstat/perfstat@$ORACLE_SID << EOF column esnap new_value end_snap noprint select max(snap_id) as esnap from stats\$snapshot; column bsnap new_value begin_snap noprint select max(snap_id)-1 as bsnap from stats\$snapshot; define report_name=$spfile @?/rdbms/admin/spreport EOF ```