我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle的自动维护任务

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle的自动维护任务

Oracle数据库里提供了自动维护任务,以保证Oracle数据库可以更高效的运行。在不同的Oracle版本中,自动任务的种类和执行方式也有区别。本文以10g和11g为主来认识Oracle里的自动任务。

1、种类

10g里的自动任务有两种:

  • AUTO_SPACE_ADVISOR_JOB,自动空间顾问JOB

  • GATHER_STATS_JOB,自动收集统计信息JOB

11g里的自动任务有三种:

  • auto optimizer stats collection,自动统计信息收集顾问

  • auto space advisor,自动空间顾问

  • sql tuning advisor,sql调优顾问

2、实现方式

10g里的自动任务是以SCHEDULER的JOB形式运行的,可以在dba_scheduler_jobs视图里查到相关的JOB。

SQL> set linesize 200
SQL> col owner for a30
SQL> col job_name for a30
SQL> select owner,job_name from dba_scheduler_jobs where job_class='AUTO_TASKS_JOB_CLASS';

OWNER			       JOB_NAME
------------------------------ ------------------------------
SYS			       AUTO_SPACE_ADVISOR_JOB
SYS			       GATHER_STATS_JOB

11g里的自动任务使用的是11g的新特性AUTOTASK的方式实现的。可以从dba_autotask_client视图中查到相关信息。

sys@TEST>SELECT client_name,status FROM dba_autotask_client;

CLIENT_NAME				 STATUS
---------------------------------------- ------------------------
auto optimizer stats collection 	 ENABLED
auto space advisor			 ENABLED
sql tuning advisor			 ENABLED

3、维护窗口时间

两个版本中自动任务的执行时间是不同的。

10g中分为两个时间段WEEKNIGHT_WINDOW和WEEKEND_WINDOW,可以从dba_scheduler_windows视图中查到。它们分别的运行开始时间和持续时间为:

WEEKNIGHT_WINDOW,每周一至周五晚22:00:00开始,持续8小时

WEEKEND_WINDOW,第周六00:00:00,持续2天

11g中维护窗口分得更细,分为7个,即第一天个维护窗口,可以针对不同的需求做出更细粒度的调整,dba_scheduler_windows视图中查到,分别为MONDAY_WINDOW,TUESDAY_WINDOW,WEDNESDAY_WINDOW,THURSDAY_WINDOW,FRIDAY_WINDOW,SATURDAY_WINDOW,SUNDAY_WINDOW。开始时间和持续时间分别为:

周一到周五晚22:00:00开始,持续4小时,周六和周日早6:00:00开始,执行20小时。

4、维护方式

由于10g和11g中实现方式的不同,维护方式自然就不一样了。

10g的维护方式与普通的SCHEDULER的JOB一样。

--停用JOB
SQL> exec dbms_scheduler.disable('AUTO_SPACE_ADVISOR_JOB');

PL/SQL procedure successfully completed.

SQL> select enabled from dba_scheduler_jobs where job_name='AUTO_SPACE_ADVISOR_JOB';

ENABLED
---------------
FALSE

--启用JOB

SQL> exec dbms_scheduler.ENABLE('AUTO_SPACE_ADVISOR_JOB');

PL/SQL procedure successfully completed.

SQL> select enabled from dba_scheduler_jobs where job_name='AUTO_SPACE_ADVISOR_JOB';

ENABLED
---------------
TRUE

下面重点介绍11g里自动任务的维护。

1)停用和启用自动维护任务

--停用sql tuning advisor
sys@TEST>BEGIN
  2    dbms_auto_task_admin.disable(
  3      client_name => 'sql tuning advisor',
  4      operation   => NULL,
  5      window_name => NULL);
  6  END;
  7  /
  
  PL/SQL procedure successfully completed.

sys@TEST>select client_name,status from dba_autotask_client;

CLIENT_NAME                              STATUS
---------------------------------------- ------------------------
auto optimizer stats collection          ENABLED
auto space advisor                       ENABLED
sql tuning advisor                       DISABLED

--启用sql tuning advisor
sys@TEST>BEGIN
  2    dbms_auto_task_admin.enable(
  3      client_name => 'sql tuning advisor',
  4      operation   => NULL,
  5      window_name => NULL);
  6  END;
  7  /

PL/SQL procedure successfully completed.

sys@TEST>select client_name,status from dba_autotask_client;

CLIENT_NAME                              STATUS
---------------------------------------- ------------------------
auto optimizer stats collection          ENABLED
auto space advisor                       ENABLED
sql tuning advisor                       ENABLED

--停用所有维护窗口下的所有的自动任务
sys@TEST>exec dbms_auto_task_admin.disable;

PL/SQL procedure successfully completed.

sys@TEST>select window_name,autotask_status from dba_autotask_window_clients;

WINDOW_NAME                    AUTOTASK_STATUS
------------------------------ ------------------------
MONDAY_WINDOW                  DISABLED
TUESDAY_WINDOW                 DISABLED
WEDNESDAY_WINDOW               DISABLED
THURSDAY_WINDOW                DISABLED
FRIDAY_WINDOW                  DISABLED
SATURDAY_WINDOW                DISABLED
SUNDAY_WINDOW                  DISABLED

7 rows selected.
--启用所有维护窗口下的所有自动任务
sys@TEST>exec dbms_auto_task_admin.enable;

PL/SQL procedure successfully completed.

sys@TEST>select window_name,autotask_status from dba_autotask_window_clients;

WINDOW_NAME                    AUTOTASK_STATUS
------------------------------ ------------------------
WEDNESDAY_WINDOW               ENABLED
FRIDAY_WINDOW                  ENABLED
SATURDAY_WINDOW                ENABLED
THURSDAY_WINDOW                ENABLED
TUESDAY_WINDOW                 ENABLED
SUNDAY_WINDOW                  ENABLED
MONDAY_WINDOW                  ENABLED

7 rows selected.
--停用针对某个维护窗口的自动任务
sys@TEST>BEGIN
  2    dbms_auto_task_admin.disable(
  3      client_name => 'sql tuning advisor', 
  4      operation   => NULL, 
  5      window_name => 'MONDAY_WINDOW');
  6  END;
  7  /

PL/SQL procedure successfully completed.

sys@TEST>select window_name,autotask_status,sql_tune_advisor from dba_autotask_window_clients;

WINDOW_NAME                    AUTOTASK_STATUS          SQL_TUNE_ADVISOR
------------------------------ ------------------------ ------------------------
MONDAY_WINDOW                  ENABLED                  DISABLED
TUESDAY_WINDOW                 ENABLED                  ENABLED
WEDNESDAY_WINDOW               ENABLED                  ENABLED
THURSDAY_WINDOW                ENABLED                  ENABLED
FRIDAY_WINDOW                  ENABLED                  ENABLED
SATURDAY_WINDOW                ENABLED                  ENABLED
SUNDAY_WINDOW                  ENABLED                  ENABLED

7 rows selected.

2、配置维护窗口

这个与10g的类似,都是使用dbms_scheduler包来操作

--修改维护窗口的属性,把SATURDAY_WINDOW的持续时间修改为4小时
sys@TEST>BEGIN
  2    dbms_scheduler.disable(
  3      name  => 'SATURDAY_WINDOW');
  4    dbms_scheduler.set_attribute(
  5      name      => 'SATURDAY_WINDOW',
  6      attribute => 'DURATION',
  7      value     => numtodsinterval(4, 'hour'));
  8    dbms_scheduler.enable(
  9      name => 'SATURDAY_WINDOW');
 10  END;
 11  /

PL/SQL procedure successfully completed.

sys@TEST>SELECT duration FROM dba_scheduler_windows WHERE window_name='SATURDAY_WINDOW';

DURATION
---------------------------------------------------------------------------
+000 04:00:00

11g自动维护任务参考官方文档:http://docs.oracle.com/cd/E11882_01/server.112/e25494/tasks.htm#ADMIN12344


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle的自动维护任务

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

ODBC Oracle连接在数据库维护任务自动化中的应用

在数据库维护任务自动化中,ODBC Oracle连接可以帮助实现以下任务:数据备份和恢复:通过ODBC Oracle连接,可以编写脚本或使用自动化工具定期备份数据库,并在需要时进行恢复操作。数据库优化:通过ODBC连接,可以执行查询性能分析
ODBC Oracle连接在数据库维护任务自动化中的应用
2024-07-16

DB2在Linux上如何设置自动维护任务

在Linux上,使用DB2自动维护任务通常涉及以下几个步骤:打开DB2命令行工具:你可以通过在终端中输入db2来访问DB2的命令行界面。如果你已经安装了DB2客户端,那么这个命令应该可以直接运行。连接到数据库:使用db2 connect
DB2在Linux上如何设置自动维护任务
2024-09-22

触发器与数据库维护任务的自动化集成

将触发器与数据库维护任务的自动化集成可以通过以下步骤实现:定义触发器:首先,在数据库中定义触发器。触发器是一种自动执行的操作,当对数据库中的表进行插入、更新或删除操作时,它将自动执行。例如,你可以创建一个触发器,当向“订单”表中插入新订单时
触发器与数据库维护任务的自动化集成
2024-09-26

如何在AmazonAurora上配置自动化数据库维护任务

在Amazon Aurora上配置自动化数据库维护任务可以通过使用Amazon RDS控制台或AWS CLI来完成。以下是配置自动化数据库维护任务的步骤:登录到AWS Management Console,并打开Amazon RDS控制台。
如何在AmazonAurora上配置自动化数据库维护任务
2024-04-09

如何使用Shell脚本自动化Linux系统维护任务

这篇文章将为大家详细讲解有关如何使用Shell脚本自动化Linux系统维护任务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。系统管理员通常会使用sehll脚本解决工作中重复的工作,shell
2023-06-28

Win7系统中的一些自动维护计划、任务关闭、禁用方法图文教程

Windows自动维护功能会在计划任务时间中执行对系统安全扫描、系统诊断和软编程客栈件更新等等,在这些过程中也需要一定的时间来完成,如果用户在设置每天都运行计划任务来自动维护也会显得麻烦,也android会影响到系统的运行速度,很多用户都会
2023-06-13

win10关闭自动维护会怎么样

关闭Windows 10的自动维护可能会导致以下问题:1. 系统性能下降:Windows 10的自动维护包括定期的磁盘碎片整理、病毒扫描、更新安装等,这些操作有助于保持系统的稳定和良好的性能。如果关闭自动维护,可能导致磁盘碎片增多、系统漏洞
2023-08-25

MySQL插入锁与数据库维护任务

在MySQL中,插入锁是一种数据库锁的类型,用于在插入数据时对表进行锁定,以防止其他事务同时访问该表。插入锁通常用于保证插入操作的原子性和一致性。数据库维护任务是指数据库管理员或运维人员定期执行的一系列任务,旨在确保数据库的正常运行和性能
MySQL插入锁与数据库维护任务
2024-08-18

MySQL触发器自动智能化的数据维护

目录触发器介绍触发器的特性触发器语法数据准备创建触发器触发器——执行多个触发语句New Old 操作查看触发器删除触发器总结触发器介绍触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储
2022-07-11

win8系统怎么关闭自动维护来提高性能 win8系统取消自动维护功能的设置方法

win8系统取消自动维护功能的设置方法: 1、在win8传统桌面,右击“开始”菜单; 2、打开控制面板→管理工具→任务计划程序→然后在打开任务计划程序对话框;3、依次点击计划任务程序库M
2022-06-04

服务器维护和计划任务使用方法

1.服务器日常维护说明: 服务器在日常使用中需要定期维护才能保证服务器稳定运行. 对服务器来说. python定期维护一般是做以下工作: 1) 检查系统日志. 看有什么可疑的日志记录和安全问题等.2) 查看网站日志. 检查网站是否有问题.(
2023-05-24

Windows服务器维护和计划任务的使用方法

Windows服务器维护和计划任务的使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.服务器日常维护说明: 服务器在日常使用中需要定期维护才能保证服务器稳定运行. 对服
2023-06-14

亚马逊服务器维护多久能完成任务

在亚马逊的服务器维护期间,需要保持系统的稳定性和安全性,定期检查服务器系统的健康状况,更新服务器系统的软件,并及时处理服务器故障,以确保服务器能够正常运行,并提供稳定的服务。如果需要处理复杂的服务器故障,可能需要花费几天或几周的时间。总之,亚马逊服务器维护的时间取决于多种因素,如果出现问题,需要及时解决。
2023-10-27

Captial One如何实现Artifactory HA集群的自动化维护

一、背景本文整理自Hank Hudgins,Capital One高级工程师,在JFrog 2019用户大会上的讲演《Automated Artifactory HA Pipeline》。Capital One是美国最大的数字化银行之一,其
2023-06-04

编程热搜

目录