ORACLE调度之基于时间的调度(一)【weber出品】

一、调度的概述

  这里我看到一篇对调度的概述觉得描述的比我好,但仅限于概述部分,其他部分我觉得我讲的比他好,于是发生以下事情:

************************华丽的转载*************************************************************************

  在Oracle中任务调度指某一执行程序在特定的时间被周期性的执行。Oracle把任务调度称为job。而一个基本的job由两方面组成program和schedule。其中program指周期性执行的可执行程序,其中可包括PL\SQL匿名块,存储过程、函数、包以及操作系统的可执行脚本和外部程序等等。schedule指的是,调度program执行的周期。该周期既可以基于特定时间被调度,也可以基于某一事件被调度。因而JOB总体上可分为两大类,基于时间的JOB和基于事件的JOB。在Oracle 10g之前,采用dbms_job程序包来完成任务调度的相关工作。在Oracle 10g之后,Oracle推出了功能更加强大的dbms_schedule来完成任务调度工作,主要是由于dbms_schedule能够基于事件进行任务调度而dbms_job无法基于事件进行调度(笔者个人浅见,待验证)!

************************华丽的转载*************************************************************************

 二、调度的作用

  作用的话我可以使用第一张图片来描述。如果用一句话来描述的话那就是:简化管理任务。

  

三、调度的组成

  调度的话包含着3个部分,用一句话来描述那就是:程序+调度计划+作业=调度

  如果用一张图片来描述的话那就是:

四、创建一个机遇时间的调度

  1、我比较喜欢讲程序、调度计划和作业分开创建,使用的时候将他们关联组织在一块形成一个调度,而不喜欢创建一个作业,里面稀里哗啦的包含着一大堆的内容。

  2、这次我使用EM企业管理器来创建会比较简单,因为图形化界面就是越来越方便,而且里面的show sql实在是我们这些对sql命令不爱记忆的人的一大神器。不过有些命令还是要记住的,不然显得我们不够专业。

  创建一个测试表: job_test

conn hr/hr

create table job_test(sdate date);

  3、看图,按照顺序我们先创建一个程序:程序就是我们整个调度要做的事情都放在这里。

  

  其中的source就是我们要执行这个调度要做什么的动作要写在这里面。这次我们要做的就是每隔一秒插入一条记录到job_test这张表中。

  4、创建一个调度计划。调度计划的计划类型有:标准的和事件类型的。这次我么选择标准的调度计划。

  5、创建一个作业,然后将程序和调度计划管理组织在一起形成一个调度。

看最下面,这里我们使用刚才创建好的程序:

使用预定义的调度计划:

至此,只要点击OK就可以让完成这个作业了。

6、开始调度过程:

查看作业是否正常运行:

可以看出,基于时间的调度是正常运行的。

五、创建基于事件的调度

  这里内容比较多,图片比较多,所以分开来吧,下一讲请看:《ORACLE调度之基于事件的调度(二)【weber出品】

时间: 2024-11-05 10:36:34

ORACLE调度之基于时间的调度(一)【weber出品】的相关文章

ORACLE SQL单行函数(一)【weber出品必属精品】

1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后 SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后 2.LENGTH:求字符串的长度 SQL> select LENGTH('HELLOWO

ORACLE SQL单行函数(二)【weber出品必属精品】

11.dual:虚表,任何用户都可以使用,表结构如下: SQL> desc dual Name Null? Type ----------------------------------------- -------- ---------------------------- DUMMY VARCHAR2(1) 12.dual的作用: 1. 查询数据库系统日期 2. 进行四则运算 SQL> select sysdate from dual; ---这里查询数据库系统日期 SYSDATE ---

ORACLE SQL单行函数(三)【weber出品必属精品】

16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED CHINESE'_CHINA.AL32UTF8 ---修改成简体中文+地区+字符集 source .bash_profile ---让环境变量生效 [[email protected] ~]$ sqlplus scott/tiger SQL*Plus: Release 10.2.0.5.0 - Pr

【Oracle】rman基于时间点恢复

rman基于时间点恢复 场景: 由于某研究的误操作,导致财务模块的数据丢失,如何使用rman基于时间点恢复数据. 思路 1.克隆数据库的虚拟机,直接对数据库的数据进行恢复 RMAN> shutdown immediate; RMAN> startup nomount; RMAN> alter database mount; RMAN> run{ set until time "to_date('20190918 22:00:00','yyyymmdd hh24:mi:ss

ORACLE触发器的管理与实际应用【weber出品】

一.INSTEAD OF触发器 对于简单的视图可以执行INSERT,UPDATE和DELETE操作,但是对于复杂视图,不允许直接执行INSERT,UPDATE,DELETE操作,当视图出现以下任何一种情况时,都不允许直接执行DML操作,如下: 具有集合操作符(UNION,UNION ALL,INTERSECT,MINUS) 具有分组函数(MIN,MAX,SUM,AVG,COUNT等) 具有GROUP BY,CONNECT BY或START WITH等子句 具有DISTINCT关键字 具有连接查询

oracle包详解(二)【weber出品】

一.重载子程序 PL/SQL中的重载功能: 1. 能够使用户创建两个或多个同名的子程序 2. 要求子程序的形式参数的数量,顺序或者数据类型不一样 3. 能够使用户使用不同的数据灵活的调用子程序 4. 对已经存在的代码的功能的扩展 注意: 重载可以对本地子程序,包,包中的子程序,方法进行重载,不能对标准的子程序进行重载 示例:先创建表和序列 conn scott/tiger drop table d purge; create table d as select * from dept where

ORACLE之SQL语句内部解析过程【weber出品】

一.客户端通过监听连接到数据库,数据库开启一个server process进程来接收客户端传过来的sql. 1.这条sql语句从来都没有被执行过.(硬解析) 2.这条sql语句被执行过.(软解析) 二.我们来看一条SQL语句内部解析到底经历了什么? sql硬解析解析的步骤 1.语法检测:检测sql语句有没有语法错误,是否符合sql规范 2.语义检测:检测sql语句涉及的对象是否存在. 3.检查共享池中是否存在相同的已经执行过的sql语句. 4.通过数据字典的统计信息,来计算最优执行计划. sql

oracle自定义job名字,job调度

begin -- create_schedule dbms_scheduler.create_schedule(schedule_name => 's_change_send_dates_statue', start_date => SYSDATE, repeat_interval => 'FREQ=MINUTELY; INTERVAL=1', comments => '海关端收到企业数据改变状态schedule'); end; SCHEDULE_NAME :指定schedule名

Oracle 学习之RMAN(十四)恢复实战--基于时间点恢复

1. 我们先做一个全备 RMAN> backup database ; Starting backup at 2015/07/09 13:40:47 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in b