如何修改AWR保留时间_将默认8天保留期延长至30天的设置

要延长AWR保留时间至30天,必须用DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS设置retention=43200(分钟),该操作直接更新dba_hist_wr_control表,立即生效,且SYSAUX需预留至少2GB空闲空间。修改AWR保留时间要用DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGSoracle默认awr快照保留8天,想延长到30天,核心就是调这个包------不是改参数文件,也不是动表结构,更不是删旧快照手动腾空间。它直接更新wrm_wr_control里的配置,下次自动清理就按新规则走。常见错误是先查DBA_HIST_SNAPSHOT看最近快照时间,再手动DELETE老数据,结果下次MMON一跑,又清掉一批,或者干脆报ORA-13516:AWR purge failed。因为底层清理逻辑只认控制表的设置,不认你手删了多少行。必须用SYS或有ADMINISTER DATABASE TRIGGER权限的用户执行retention单位是分钟,30天得填30\*24\*60 = 43200interval(采集频率)可以不动,保持默认60分钟;改它会影响性能数据粒度,但和保留时间无关执行后立即生效,不需要重启实例,也不需要刷新任何缓存检查当前设置别只看DBA_HIST_SNAPSHOT最大END_INTERVAL_TIME很多人用SELECT MAX(END_INTERVAL_TIME) - MIN(END_INTERVAL_TIME) FROM DBA_HIST_SNAPSHOT估算"实际保留了几天",这完全误导。这张表只是快照内容视图,受自动清理、手工删除、甚至DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE影响,不能反推保留策略。真正权威的来源只有两个:SELECT retention, interval FROM dba_hist_wr_control ------ 这是MODIFY_SNAPSHOT_SETTINGS写入的位置,唯一可信SELECT \* FROM vsysstat WHERE name = 'AWR snapshot interval'(辅助验证采集是否正常)如果dba_hist_wr_control里retention还是11520(即8天),说明MODIFY_SNAPSHOT_SETTINGS根本没成功执行,或者被回滚了。ORA-13505:修改失败最常见的原因是SYSAUX表空间不足延长保留期不光是改个数字,AWR要存更多历史快照数据,SYSAUX会持续增长。如果执行MODIFY_SNAPSHOT_SETTINGS时抛ORA-13505: Cannot modify AWR settings due to lack of space in SYSAUX tablespace,别硬 retry,先看空间。 AI Code Reviewer AI自动审核代码

相关推荐
Warson_L18 小时前
高性能架构设计
python·go
databook19 小时前
新数据到手,先跑哪几步检查
python·数据分析
czq_268671948719 小时前
Python打卡第46天
开发语言·python
Flynt21 小时前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
Zan21 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶1 天前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
SelectDB1 天前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
曲径海盗1 天前
【Python 学习第 53 天】列表基础
python·学习笔记·编程入门
Dumbness1 天前
群里 @ 机器人发"查订单",指令一条都没命中:微信群机器人在路由前漏掉的几步归一化
python·微信