如何重建AWR存储库_清理损坏的AWR数据并重新初始化字典表

AWR快照无法生成时,应优先排查SYSAUX空间、快照表误删或元数据不一致等问题,仅当WRM等核心字典表损坏且无法修复时才重建;须确保ARCHIVELOG模式、VALID组件状态,并严格使用awr_install.sql重建,避免灾难性操作。ORA-13502 或 AWR快照无法生成:先确认是否真要重建重建 awr 存储库不是常规维护操作,而是最后手段。多数"awr 不工作"问题其实出在 sysaux 表空间满、dba_hist_snapshot 被误删、或 awr_flush_table 执行失败导致元数据不一致------这些都不需要重建。只有当 dbms_workload_repository 相关字典表(如 wrm_snapshot、wrm_database_instance)损坏且 oracle_home/rdbms/admin/awrrpt.sql 运行报 ora-600 / ora-13541 且无法通过 dbms_workload_repository.break_snapshot_range 修复时,才考虑重建。检查 VDATABASE 的 LOG_MODE 和 OPEN_MODE:必须为 ARCHIVELOG + READ WRITE,否则 awrload 或重建脚本会静默失败确认 DBA_REGISTRY 中 COMP_NAME = 'Oracle Database Packages and Types' 状态为 VALID;若为 INVALID,重建前必须先运行 utlrp.sql不要在 RAC 环境中单独重建某节点的 AWR ------ 所有实例共享同一套 WR* 表,必须停全部实例后统一操作用 awr_remove.sql 清理旧数据比 drop tablespace 更安全很多人看到 SYSAUX 满就直接 DROP TABLESPACE SYSAUX INCLUDING CONTENTS AND DATAFILES,这是灾难性操作。SYSAUX 不只存 AWR,还承载 Oracle Text、Spatial、Data Pump 元数据等,删掉等于毁库。真正该做的是用 Oracle 官方清理脚本。以 sys 用户执行:@?/rdbms/admin/awr_remove.sql,它会调用 DBMS_WORKLOAD_REPOSITORY.REMOVE_SNAPSHOT_RANGE 安全删除指定时间范围的快照,同时清理关联的 WRH 历史表分区若脚本报错 ORA-13516("snapshot range overlaps with current retention"),说明当前 AWR 保留策略(DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS 设置的 retention)比你要删的时间还长,需先缩短保留期再重试清理后务必执行 EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SYS', cascade =\> TRUE),否则后续 awrrpt.sql 可能因统计信息陈旧而慢到超时重建 AWR 字典表:只跑 awr_install.sql,别碰 catnoawr.sql重建本质是重新创建 WRM、WRH、WRI 开头的基表和视图,但必须严格按 Oracle 内部依赖顺序。官方唯一支持方式是重跑 awr_install.sql,而非手动建表或执行 catnoawr.sql(后者是卸载脚本,执行即清空所有 AWR 对象且不可逆)。路径必须准确:@?/rdbms/admin/awr_install.sql,注意是 rdbms 不是 rdbms/admin 下的子目录;如果 ORACLE_HOME 设错,脚本会静默创建空表,后续插入快照时报 ORA-942脚本会自动设置默认保留期为 8 天、采集间隔为 60 分钟;若需自定义,必须在脚本执行**完成且数据库重启后**,立即用 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS 调整,不能在脚本中途改参数执行完后检查 SELECT COUNT(*) FROM WRM_DATABASE_INSTANCE,结果应 ≥1;若为 0,说明 DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT 尚未触发首次采集,需手动执行一次或等下一个采集周期重建后第一个快照总失败?检查 WRH_ACTIVE_SESSION_HISTORY 分区常见现象:重建后 DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT 报 ORA-14400("inserted partition key does not map to any partition"),或 awrrpt.sql 输出 "no data found"。根本原因是 WRH$_ACTIVE_SESSION_HISTORY 表的分区策略没同步更新,仍指向旧的高水位时间。 Ideogram Ideogram是一个全新的文本转图像AI绘画生成平台,擅长于生成带有文本的图像,如LOGO上的字母、数字等。

相关推荐
用户094248568031 分钟前
第9章:OpenJDK堆分代与 Serial/Parallel GC 基础
java·jvm
抓不住时间的沙23 分钟前
Butterfly主题 5.7 导航栏添加相册同时设置相册入口密码
css·python·node.js
风合星语35 分钟前
2026 机器人工程实例(五):让 Allegro Hand 在 MuJoCo 中完成接触抓取——抓取状态机、稳定抬升与受控释放
c++·python·机器人·仿真
java_logo43 分钟前
Docker 部署 Milvus:轻松搭建高性能向量数据库平台
数据库·docker·私有化部署·milvus·向量数据库·rag·轩辕镜像
隐擎fox1 小时前
解构无感人机验证底层机制:行为生物轨迹采样、环境评分模型与自动化对抗实战
自动化测试·python·网络协议·tcp/ip·网络爬虫
A心有千千结1 小时前
GO 使用 OpenTelemetry 进行编译时插桩,实现零码注入
数据库·golang·可观测性·观测云
haidao0312 小时前
氙灯光源技术特性及其在光催化实验中的标准化应用研究
人工智能·python·能源
GreatVicent2 小时前
腾讯AI产业大会解读:Agent进场,企业基础设施怎么搭
大数据·数据库·人工智能·llm·agent·企业信息化
用户0332126663672 小时前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
Ticnix2 小时前
RAG 的坑不在检索,在"对齐":pgvector 实战手记
python·agent·全栈