ITPub博客

首页 > 数据库 > Oracle > AWR、ASH和Statspack的生成语句

AWR、ASH和Statspack的生成语句

原创 Oracle 作者:rewqrewq 时间:2009-01-19 19:23:00 0 删除 编辑

---Statspack初始化方法(必须拥有DBA权限)
@$ORACLE_HOME/rdbms/admin/spcreate.sql

---Statspack删除方法
@$ORACLE_HOME/rdbms/admin/spdrop.sql

---Statspack清除方法
@$ORACLE_HOME/rdbms/admin/sptrunc.sql

---Statspack创建快照方法
sqlplus perfstat/perfstat
exec statspack.snap
select snap_id,snap_time from stats$snapshot;

--生成Statspack报告方法
@$ORACLE_HOME/rdbms/admin/spreport.sql--根据上面查询出来的快照号码来生成报告


ASH和AWR都是oracle自动创建的,不用手动创建
AWR快照也是一个小时一个自动创建的
ASH是看最近的性能的,也不用手动创建


--生成AWR报告
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
--本机生成
@C:oracleproduct10.2.0db_3RDBMSADMINawrrpt.sql


--生成ASH报告
@$ORACLE_HOME/rdbms/admin/ashrpt.sql
--本机生成
@C:oracleproduct10.2.0db_3RDBMSADMINashrpt.sql

-----查看系统中两个Statspack之间,读写的情况。可以加一个时间的限制条件(但是如果statspack号码不是连续的会出错)
select snap_id,round(sum(read/1024)) "write(kb)",round(sum(write/1024)) "read(kb)" from
(select sn.snap_id snap_id ,(newr.value-oldr.value) read,
(neww.value-oldw.value) write
from stats$sysstat newr,
stats$sysstat oldr,
stats$sysstat neww,
stats$sysstat oldw,
stats$sysstat sn
where sn.snap_id=newr.snap_id
and sn.snap_id=neww.snap_id
and sn.snap_id-1=oldr.snap_id
and sn.snap_id-1=oldw.snap_id
and newr.name='physical reads'
and oldr.name='physical reads'
and neww.name='physical writes'
and oldw.name='physical writes'
) v
group by snap_id

----对上个语句的支持,增加一个view就可以使statspack号码连续了
create or replace view v_stats$snapshot as
select row_num() over (order by snap_id) id, t.*
from stats$snapshot t

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/41451/viewspace-1016326/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    83
  • 访问量
    265472