如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS

张开发
2026/4/17 22:38:30 15 分钟阅读

分享文章

如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS
BSLN_MAINTAIN_STATS状态需查DBA_SCHEDULER_JOBS中含%BSLN%MAINTAIN%STATS%的作业若无结果则可能被禁用或功能未启用还需确认维护窗口、AWR快照、statistics_level参数及磁盘空间是否正常。查 Job_DBASCHEDULER_JOBS 里 BSLN_MAINTAIN_STATS 的状态这个 job 不是普通 dba_scheduler_job它由 oracle 自动创建、受 dbms_workload_repository 和 dbms_server_alert 内部调度控制直接查 dba_scheduler_jobs 可能看不到——它实际注册在 dba_scheduler_jobs 中但名字带前缀或被过滤。更稳的方式是查底层视图SELECT job_name, state, last_start_date, next_run_date FROM dba_scheduler_jobs WHERE job_name LIKE %BSLN%MAINTAIN%STATS%;如果没结果说明 job 已被禁用或未启用常见于 AWR 关闭、baseline 功能关闭、或数据库版本低于 11.2.0.4注意BSLN_MAINTAIN_STATS 在 12c 默认归入 MAINTENANCE_WINDOW_GROUP需确认维护窗口是否开启SELECT window_name, enabled FROM dba_scheduler_windows WHERE window_name IN (SELECT window_name FROM dba_scheduler_wingroup_members WHERE group_name MAINTENANCE_WINDOW_GROUP);确认 BSLN_MAINTAIN_STATS 是否真在运行即使 job 显示 ENABLED也不代表它每次都会执行成功。它依赖两个前置条件AWR 快照必须存在且 baseline 统计信息需要更新比如新 baseline 被创建、旧 baseline 过期、或 stats_history 被清理。典型错误现象job 状态为 COMPLETED但 DBA_HIST_BASELINE 中的 last_refresh_time 长期不变日志中报错 ORA-13516: AWR snapshot range is invalid —— 说明 AWR 没有足够快照供 baseline 统计计算job 执行时长极短验证方式查最近一次运行详情SELECT log_date, status, additional_info FROM dba_scheduler_job_log WHERE job_name LIKE %BSLN%MAINTAIN%STATS% ORDER BY log_date DESC FETCH FIRST 5 ROWS ONLY;手动触发并观察行为不能靠 DBMS_SCHEDULER.ENABLE 或 RUN_JOB 直接触发它——Oracle 明确禁止手动调用该 job。正确做法是模拟它的触发条件 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能

更多文章