awr清理

Oracle并没有真正进行删除AWR报告信息,查询metalink发现是Oracle的bug,
Bug 8622802描述了这个问题,
修复版本:
在这里插入图片描述
#禁用awr报告
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(INTERVAL
=> 0);
select * from WRM$_SNAPSHOT_DETAILS

#清理-WRH$_SNAPSHOT_DETAILS

CREATE TABLE SYS.WRM$_SNAPSHOT_DETAILS_bak
TABLESPACE SYSAUX AS
SELECT * FROM SYS.WRM$_SNAPSHOT_DETAILS where 1=2;

INSERT /*+ APPEND */ INTO SYS.WRM$_SNAPSHOT_DETAILS_bak SELECT * FROM
SYS.WRM$_SNAPSHOT_DETAILS_bak WHERE (DBID,SNAP_ID) IN (SELECT
DBID,SNAP_ID FROM DBA_HIST_SNAPSHOT);

commit;

TRUNCATE TABLE SYS.WRM$_SNAPSHOT_DETAILS;
INSERT /*+ APPEND */ INTO SYS.WRM$_SNAPSHOT_DETAILS SELECT * FROM
SYS.WRM$_SNAPSHOT_DETAILS_bak;

COMMIT;

EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(INTERVAL
=> 60);

DROP TABLE SYS.WRM$_SNAPSHOT_DETAILS_bak purge;

#清理awr 报告

call DBMS_WORKLOAD_REPOSITORY.drop_snapshot_range(low_snap_id => 96,
high_snap_id => 96, dbid => 1160732652);

#设置awr保留时间: retention => 0 永久保留

EXECUTE DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 60, retention => 0);

#设置awr保留时间: retention => 8 保留8天 interval => 60 按1小时收集一次

EXECUTE DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 60, retention => 8*1440);

#查看设置

select * from dba_hist_wr_control;

查看最大snap_id 与最小snap_id 及对应时间:

select min(snap_id),max(snap_id) from dba_hist_snapshot;
IN(SNAP_ID) MAX(SNAP_ID)
33659 33804
select SNAP_ID,BEGIN_INTERVAL_TIME,END_INTERVAL_TIME from
dba_hist_snapshot where SNAP_ID=33659

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

two_rain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值