Oracle 自动统计信息收集任务:维护窗口创建与删除

本篇整理了Oracle 自动收集任务维护窗口如何进行新增与删除

自定义创建维护窗口,添加到自动任务窗口组

sql 复制代码
BEGIN
  -- 
  DBMS_SCHEDULER.CREATE_WINDOW(
    window_name     => 'MINUTE_TEN_WINDOW', -- 自定义窗口名称,唯一标识该窗口
    
    --duration        => NUMTODSINTERVAL(1, 'hour'), -- 窗口持续时间:1小时 NUMTODSINTERVAL(1, 'hour')
    duration        => numtodsinterval(5, 'minute'), -- 窗口持续时间:10分钟 numtodsinterval(10, 'minute')
    resource_plan   => 'DEFAULT_MAINTENANCE_PLAN', -- 窗口关联的资源计划(维护窗口专属,确保自动任务占用合理资源)
  /*** 
   repeat_interval => 'FREQ=DAILY;BYHOUR=5;BYMINUTE=0;BYSECOND=0' -- 窗口重复执行规则:
                                                                   -- FREQ=DAILY:每天执行
                                                                   -- BYHOUR=5:在每天的5点触发
                                                                   -- BYMINUTE=0:在5点0分触发
                                                                   -- BYSECOND=0:在5点0分0秒触发(精确到秒)
                                                                   ***/
  repeat_interval => 'FREQ=MINUTELY;INTERVAL=20' --每分钟级频率,每隔20分钟触发一次                                                                 
  );
  -- 添加新的窗口到自动任务窗口组中
    DBMS_SCHEDULER.ADD_GROUP_MEMBER( 
    group_name  => 'MAINTENANCE_WINDOW_GROUP',
    member      => 'MINUTE_TEN_WINDOW');
END;
/

创建的窗口启用auto optimizer stats collection

%%其余自动任务同理%%

复制代码
BEGIN
DBMS_AUTO_TASK_ADMIN.ENABLE(
   client_name => 'auto optimizer stats collection',
   operation   => NULL,
   window_name => 'MINUTE_TEN_WINDOW' -- 绑定到自定义窗口
);
END;
/

删除自动任务与窗口的方法

禁用自动任务

复制代码
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
   client_name => 'auto optimizer stats collection',
   operation   => NULL,
   window_name => 'MINUTE_TEN_WINDOW' -- 绑定到自定义窗口
);
END;
/

从自动任务组中移除窗口

复制代码
BEGIN
  DBMS_SCHEDULER.REMOVE_GROUP_MEMBER(
    group_name  => 'MINUTE_TEN_WINDOW',
    member      => 'EARLY_MORNING_WINDOW');
END;
/

删除窗口

复制代码
BEGIN
DBMS_SCHEDULER.DROP_WINDOW(
window_name=>'MINUTE_TEN_WINDOW'
,force=>true
);
END;
/

确认不同窗口的启动情况

复制代码
SELECT w.window_name, w.repeat_interval, w.duration, w.enabled,w.next_start_date,
c.OPTIMIZER_STATS --auto optimizer stats collection 的状态
,c.SEGMENT_ADVISOR -- auto space advisor  的状态
,c.SQL_TUNE_ADVISOR -- sql tuning advisor  的状态
FROM dba_autotask_window_clients c, dba_scheduler_windows w
WHERE c.window_name =w.window_name
相关推荐
星星也在雾里3 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
雨辰AI5 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城20245 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有5 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql
Mr. zhihao6 小时前
深入解析redis基本数据结构
数据结构·数据库·redis
m0_748839496 小时前
利用天正暖通CAD快速掌握风管数量统计的方法
数据库
随身数智备忘录6 小时前
什么是设备管理体系?设备管理体系包含哪些核心模块?
网络·数据库·人工智能
海市公约7 小时前
MySQL更新语句执行全流程:从Buffer Pool修改到二阶段提交
数据库·mysql·binlog·innodb·undo log·二阶段提交·update执行原理
颂love7 小时前
MySQL的执行流程
android·数据库·mysql
程序leo源8 小时前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#