Oracle 11g R1中的自动数据库维护任务管理(一)

日期: 2008-11-09 翻译:黄永兵 来源:TechTarget中国 英文

  本文对Oracle 11g中的自动数据库维护任务管理做一个总体介绍,文章保持简洁出于两个原因:

  1、大部分人都还没有接触过这些设置。尽管这么说,如果你是在夜间处理维护任务的,如果在晚上打开一个维护窗口并不是一个好主意,你可能想要改变这一切。

  2、基本的管理任务都是自我控制的。但除了迁移到调度器和资源管理器的讨论外,其他的已经超出了本文的范围,我在文末附上了相关的参考链接。

  Oracle 11g包括了下面三个自动数据库维护任务:

  自动优化器统计收集:为所有方案对象收集陈旧的或缺少的统计数据,任务名是“optimizer stats collection”

  自动分段顾问:标识出应该被重组的段以节约空间,任务名是“auto space advisor”

  自动SQL调整顾问:标识并尝试调整高负载的SQL,任务名是“sql tuning advisor”

  这些任务在夜间打开维护窗口时执行,可以使用企业管理器(EM)或PL/SQL API配置维护任务,以及它们的调度信息和资源使用。

  “自动维护任务”屏幕显示了每个任务的维护窗口(服务器自动维护任务(链接在“调度器”下面)),点击“配置”按钮进入配置页面。

  点击“配置”按钮进入配置页面

   基础任务配置

  “自动维护任务配置”屏幕是所有维护任务配置的入口。

  自动维护任务配置
  “全局状态”开关允许你为所有自动任务开启或禁用维护窗口。

  全局状态

  DBMS_AUTO_TASK_ADMIN包的ENABLE和DISABLE存储过程能够实现同样的效果(不要任何参数):

 

 EXEC DBMS_AUTO_TASK_ADMIN.disable;
  EXEC DBMS_AUTO_TASK_ADMIN.enable;

  “任务设置”部分允许你单独将某个维护任务窗口开启或禁用。

  任务设置

  同样,这也可以使用DBMS_AUTO_TASK_ADMIN包中的ENABLE和DISABLE存储过程实现,在CLIENT_NAME参数中指定相应的任务名:

BEGIN
  DBMS_AUTO_TASK_ADMIN.disable(
    client_name => ‘auto space advisor’,
    operation   => NULL,
    window_name => NULL);
END;
/
BEGIN
  DBMS_AUTO_TASK_ADMIN.enable(
    client_name => ‘auto space advisor’,
    operation   => NULL,
    window_name => NULL);
END;

  “维护窗口组分配”部分提供了细粒度的控制,允许在单个维护窗口上移除或添加任务。

  维护窗口组分配

  同样,这也可以使用DBMS_AUTO_TASK_ADMIN包中的ENABLE和DISABLE存储过程实现,只需要为CLIENT_NAME和WINDOW_NAME参数指定相应的值即可:


BEGIN
  DBMS_AUTO_TASK_ADMIN.disable(
    client_name => ‘auto optimizer stats collection’,
    operation   => NULL,
    window_name => ‘MONDAY_WINDOW’);
  DBMS_AUTO_TASK_ADMIN.disable(
    client_name => ‘auto space advisor’,
    operation   => NULL,
    window_name => ‘MONDAY_WINDOW’);
  DBMS_AUTO_TASK_ADMIN.disable(
    client_name => ‘sql tuning advisor’,
    operation => NULL,
    window_name => ‘MONDAY_WINDOW’);
END;
/

 

#p#

  任务参数配置

  “自动维护任务配置”下的“任务配置”部分包括两个“配置”按钮。

  “自动维护任务配置”下的“任务配置”部分包括两个“配置”按钮

  点击“优化器统计收集”后的“配置”按钮,显示“全局统计收集选项”屏幕。

  “全局统计收集选项”屏幕

  这些设置都可以使用DBMS_STATS包中的SET_GLOBAL_PREFS存储过程进行修改,参考

http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_stats.htm#sthref10432列出的可能的参数值。


EXEC DBMS_STATS.alter_stats_history_retention(90);
EXEC DBMS_STATS.set_global_prefs(‘estimate_percent’, ‘5’);

  点击“自动SQL调整任务”后的“配置”按钮,显示“自动SQL调整设置”屏幕。

  “自动SQL调整设置”屏幕

  这些设置也可以使用DBMS_SQLTUNE包中的SET_TUNING_TASK_PARAMETER存储过程修改。

BEGIN
  DBMS_SQLTUNE.set_tuning_task_parameter(‘SYS_AUTO_SQL_TUNING_TASK’, ‘LOCAL_TIME_LIMIT’, 1200);
  DBMS_SQLTUNE.set_tuning_task_parameter(‘SYS_AUTO_SQL_TUNING_TASK’, ‘ACCEPT_SQL_PROFILES’, ‘FALSE’);
  DBMS_SQLTUNE.set_tuning_task_parameter(‘SYS_AUTO_SQL_TUNING_TASK’, ‘MAX_SQL_PROFILES_PER_EXEC’, 20);
  DBMS_SQLTUNE.set_tuning_task_parameter(‘SYS_AUTO_SQL_TUNING_TASK’, ‘MAX_AUTO_SQL_PROFILES’, 10000);
END;

  维护窗口配置

  使用Oracle调度器定义维护窗口,Oracle每天单独提供一个活动维护窗口,所有的窗口都收集进入一个叫做MAINTENANCE_WINDOW_GROUP的窗口组中,点击“自动维护任务配置”屏幕上的“编辑窗口组”按钮查看你窗口组详细信息或对窗口组进行修改。 

  点击“自动维护任务配置”屏幕上的“编辑窗口组”按钮

  使用这个屏幕上提供的功能可以启用/禁用所有的窗口组,也可以使用DBMS_SCHEDULER包中的ENABLE和DISABLE存储过程来实现。


BEGIN
  DBMS_SCHEDULER.disable(
    name  => ‘SYS.MAINTENANCE_WINDOW_GROUP’,
    force => TRUE);
  DBMS_SCHEDULER.enable(
    name  => ‘SYS.MAINTENANCE_WINDOW_GROUP’);
END;
/

  点击这个屏幕或“自动维护任务配置”屏幕上的窗口名,显示“查看窗口”屏幕,显示了窗口配置的摘要信息。

  “查看窗口”屏幕

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • DBA在使用SQL语句时需要注意的问题

    Michael McLaughlin是Oracle 11g和MySQL 5.6开发者指南的作者,他在书中为Oracle数据库开发者提供了一些建议与帮助。

  • Oracle数据库不同版本的硬件需求

    每个企业的IT环境都是不同的,这些环境中可能会包含虚拟服务器、各种网络操作系统、基于云计算的服务、SAN等等,根据应用场景选择硬件是基本的准则。

  • Oracle 11g SQL性能分析器技术指南

    当今信息时代要求企业的IT系统能够始终保证系统的性能并且提供更高的服务质量,我们的IT系统经常要面对应用程序升级、硬件更新、数据库升级、对象结构变更等导致SQL性能下降的问题。

  • Oracle 11g SecureFile技术详解手册

    SecureFile不仅是新一代 LOB,它们还为 LOB 带来了更多的价值,尤其是以前只能在文件系统领域中获得的特性。