ORACLE之awr无snap_id

本篇文章内容是根据参考+自身实践理解制作而成,可供参考。欢迎转载,请注明出处,谢谢!

  1. 检查是否有快照:
select * from dba_hist_snapshot order by 1 desc;
select * from dba_hist_active_sess_history;
SQL> select * from dba_hist_wr_control;
          DBID SNAP_INTERVAL        RETENTION            TOPNSQL
    ---------- -------------------- -------------------- ----------
    282097704 +00000 01:00:00.0    +00008 00:00:00.0    DEFAULT

以上结果表示,每小时产生一个SNAPSHOT,保留8天。
2. 查看参数是否为typical或all

show parameter statistics_level
  1. 检查下sysaux空间是否足够
  2. 查看moon进程
ps -ef |grep ora_mmon
  1. 使用手工创建snapshot 看看是否能创建成功
SQL>  select count(*) from   DBA_HIST_SNAPSHOT;
SQL> exec  DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT()  ; 
SQL>  select  *  from   DBA_HIST_SNAPSHOT;
  1. 重新调整awr产生快照的频率及保留策略
    如将收集间隔时间改为30 分钟一次。并且保留6天时间(单位都是分钟):
SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>6*24*60);

设置快照时间间隔为 20 分钟,保留时间为三天 – 您可以发出以下命令。参数以分钟为单位。

SQL> exec dbms_workload_repository.modify_snapshot_settings ( interval => 20, retention => 3*24*60 );
  1. 关闭awr
SQL>exec dbms_workload_repository.modify_snapshot_settings(interval=>0);

修改自动收集snapshot的周期为一个小时

SQL>exec dbms_workload_repository.modify_snapshot_settings(interval=>60);
  1. 删除快照
select dbid from v$database;
select * from dba_hist_active_sess_history;
exec dbms_workload_repository.drop_snapshot_range(low_snap_id => 1,high_snap_id => 6885,dbid => 1234567);

–或者

begin
dbms_workload_repository.drop_snapshot_range(
low_snap_id => 1,
high_snap_id => 6885,
dbid => 1234567);
end;

以上就是这篇文章的全部内容了,希望本文的内容对大家有所帮助。如有疑问,可以留言呦!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值