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)
阅读(818) | 评论(0) | 转发(0) |