Oracle 11g 数据库有三个预定义自动维护任务:
Automatic Optimizer Statistics Collection(自动优化器统计信息收集)
Automatic Segment Advisor(自动段指导)
Automatic SQL Tuning Advisor(自动 SQL 优化指导)
通常只保留第一个:自动优化器统计信息收集,其他的任务关闭自动执行
自动优化器统计信息收集任务的功能:
收集数据库中所有无统计信息或仅有过时统计信息的 Schema 对象的 Optimizer(优化器)统计信息。SQL query optimizer(SQL 查询优化器)使用此任务收集的统计信息提高 SQL 执行的性能。
它们在 Oracle10g 中为独立作业,且在 DBA_SCHEDULER_JOBS.JOB_NAME 中可见。
这在 Oracle11g 中有所更改。相关视图为 DBA_AUTOTASK_WINDOW_CLIENTS。
现在,
这些作业只有当被真正执行时,才在 DBA_SCHEDULER_JOBS 中可见,且名称为系统生成的名称。
-
set lin 200
col WINDOW_NEXT_TIME for a38
col WINDOW_NAME for a18
-
select * from DBA_AUTOTASK_WINDOW_CLIENTS;
要启用或禁用所有窗口的所有自动维护任务,在不使用任何参数的情况下调用 ENABLE 或 DISABLE 程序(关大门)。
execute DBMS_AUTO_TASK_ADMIN.DISABLE;
有时只是想关闭某个自动维护任务,那么输入具体名称进行disable即可,名称来自 DBA_AUTOTASK_CLIENT 数据字典中的client_name列,如下图:
-
要禁用特定维护任务,使用 DISABLE 程序,如下所示
-
BEGIN
-
dbms_auto_task_admin.disable(
-
client_name => 'sql tuning advisor',
-
operation => NULL,
-
window_name => NULL);
-
END;
-
/
-
-
窗口打开持续的时间在 11g 中有所更改。星期一到星期五从晚上 10 点到凌晨 2 点,星期六到星期日从上午 6 点到凌晨 2 点。
-
col REPEAT_INTERVAL for a70
-
col duration for a15
-
SELECT window_name, repeat_interval,duration, enabled, active FROM dba_scheduler_windows;
-
修改窗口属性的方法(先禁用,修改,再启用)
-
BEGIN
-
dbms_scheduler.disable(
-
name => 'SATURDAY_WINDOW');
-
dbms_scheduler.set_attribute(
-
name => 'SATURDAY_WINDOW',
-
attribute => 'DURATION',
-
value => numtodsinterval(4, 'hour'));
-
dbms_scheduler.enable(
-
name => 'SATURDAY_WINDOW');
-
END;
-
/
周六的窗口从20个小时缩短为4个小时。
参考:11g:调度程序维护任务或 Autotasks (Doc ID 1526120.1)
阅读(1011) | 评论(0) | 转发(0) |