首页 > Linux操作系统 > Linux操作系统 > 简易操作statspack
1. 修改参数:
alter system set job_queue_processes = 6 scope=both; (job运行需要这个参数非0)
alter system set timed_statistics = true; ( 如果担心影响性能,收集完之后关闭 )
2. 建立statspack专用空间.
SQL> create tablespace perfstat datafile '/data/dell/perfstat.dbf' size 500M extent management local;
3. $cd $ORACLE_HOME/rdbms/admin/
SQL>@spcreate
default_tablespace : perfstat
Using perfstat for the default tablespace
Specify PERFSTAT user's temporary tablespace
temporary_tablespace : temp
4. 所有运行完成后查看 spcpkg.lis,如果发现错误, 可以运行spdrop.sql来删除这些对象. 然后重新执行.
5. 以sysdba权限的用户登入后执行 statspack.snap , SQL>@spreport.sql 得出两次执行的时间的报告 .
SQL>execute statspack.snap
PL/SQL procedure successfully completed.
.....
SQL>execute statspack.snap
PL/SQL procedure successfully completed.
SQL>@spreport.sql (收集上面两个时间点的信息)
6. 如果需要长期收集定期数据,可以使用job定时执行.
$ORACLE_HOME/rdbms/admin/ spatuo.sql .
内容:
dbms_job.submit(:jobno, 'statspack.snap;',
trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
可以修改运行时间, 然后 SQL>@spauto.sql .
7. SQL>@spreport.sql 执行可以得出任何收集时间之内的报告. (可能要输入两个间隔job id)
8. 完成采样,要及时清理掉Job ,不然会生成很多数据, 比较危险.
SQL> select job,log_user,priv_user,last_date,next_date,interval from user_jobs;
JOB LOG_USERLAST_DATENEXT_DATEINTERVAL
---------- ----------------------------------- ------------------------------ -----------
22 PERFSTAT 2002-12-5:14:33:26 2002-12-5 14:43:00 trunc(SYSDATE+1/144,'MI')
执行 SQL> execute dbms_job.remove('22') ; 删除job .
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-84972/ ,如需转载,请注明出处,否则将追究法律责任。