oracle启用自动维护任务,ORACLE 11G 自动维护任务

ORACLE 11G 自动维护任务:

自动维护任务是一种按规则自动启动的数据库维护操作任务。比如自动收集为查询优化器使用的统计信息。自动维护任务按维护窗口自动运

行。所谓自动维护窗口是按照预定义的间隔时间窗口。

oracle11g数据库有三种预定义的自动维护任务:

■ Automatic Optimizer Statistics Collection:

■ Automatic Segment Advisor

■ Automatic SQL Tuning Advisor(这个是oracle 11g新添加的自动维护任务)

缺省情况下,这三个任务配置为在所有维护窗口运行。

维护窗口:维护窗口是一个连续的时间间隔,用于管理自动维护任务所用。维护窗口是oracle 调度窗口,属于窗口组MAINTENANCE_WINDOW_GROUP。

一:配置自动维护任务:

1:启用和禁止维护任务:

使用DBMS_AUTO_ADMIN pl/sql包来启用或禁用任务:

禁用任务:

BEGIN

dbms_auto_task_admin.disable(

client_name => 'sql tuning advisor',

operation   => NULL,

window_name => NULL);

END;

启用任务:

BEGIN

dbms_auto_task_admin.enable(

client_name => 'sql tuning advisor',

operation   => NULL,

window_name => NULL);

END;

这里client_name参数可以通过数据字典视图DBA_AUTOTASK_CLIENT来查询。

sys@ORCL11> select client_name from dba_autotask_client;

CLIENT_NAME

------------------------------------------------------------

auto optimizer stats collection

auto space advisor

sql tuning advisor

如果想启用或禁用所有窗口自动维护任务,调用ENABLE或DISABLE过程:

EXECUTE DBMS_AUTO_TASK_ADMIN.DISABLE;

2:为某一个维护窗口启用或禁用维护窗口

缺省情况下,所有维护任务在所有预定义的维护窗口都运行。可以对某一个维护窗口启用或禁用自动化任务。

BEGIN

dbms_auto_task_admin.disable(

client_name => 'sql tuning advisor',

operation   => NULL,

window_name => 'MONDAY_WINDOW');

END;

上面的例子是对维护窗口monday_window进行禁用sql tuning advisor。

二:配置维护窗口:

可是使用DBMS_SCHEDULER 包来修改窗口属性。

1:修改维护窗口

--先禁用维护窗口

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;

/

对于当前打开的窗口,你需要首先禁用,然后修改再启用,配置立即生效,如果你不通过这三个过程来修改属性,属性是不会生效的,直到下一次窗口打开。

2:创建新窗口:

BEGIN

dbms_scheduler.create_window(

window_name     => 'EARLY_MORNING_WINDOW',

duration        =>  numtodsinterval(1, 'hour'),

resource_plan   => 'DEFAULT_MAINTENANCE_PLAN',

repeat_interval => 'FREQ=DAILY;BYHOUR=5;BYMINUTE=0;BYSECOND=0');

dbms_scheduler.add_window_group_member(

group_name  => 'MAINTENANCE_WINDOW_GROUP',

window_list => 'EARLY_MORNING_WINDOW');

END;

/

3:删除窗口:

BEGIN

DBMS_SCHEDULER.REMOVE_WINDOW_GROUP_MEMBER(

group_name  => 'MAINTENANCE_WINDOW_GROUP',

window_list => 'EARLY_MORNING_WINDOW');

END;

/

三:跟踪job运行情况:可以通过查询视图DBA_AUTOTASK_HISTORY追踪job运行情况:

SQL> select client_name,job_name,job_start_time

from dba_autotask_job_history;

CLIENT_NAME          JOB_NAME             JOB_START_TIME

-------------------- -------------------- ------------------------------------

auto optimizer stats ORA$AT_OS_OPT_SY_1   09-APR-12 10.00.02.039000 PM +08:00

auto space advisor   ORA$AT_SA_SPC_SY_2   09-APR-12 10.00.02.050000 PM +08:00

sql tuning advisor   ORA$AT_SQ_SQL_SW_3   09-APR-12 10.00.02.015000 PM +08:00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值