`
brofe
  • 浏览: 232952 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ORACLE中DBMS_Job包的用法

阅读更多
DBMS_Job包的用法 

包含以下子过程: 

Broken()过程。

change()过程。

Interval()过程。

Isubmit()过程。

Next_Date()过程。

Remove()过程。

Run()过程。

Submit()过程。

User_Export()过程。

What()过程。

1、

Broken()过程更新一个已提交的工作的状态,典型地是用来把一个已破工作标记为未破工作。

这个过程有三个参数:job 、broken与next_date。

PROCEDURE Broken (job IN binary_integer,

Broken IN boolean,

next_date IN date :=SYSDATE)

job参数是工作号,它在问题中唯一标识工作。

broken参数指示此工作是否将标记为破——TRUE说明此工作将标记为破,而FLASE说明此工作将标记为未破。

next_date参数指示在什么时候此工作将再次运行。此参数缺省值为当前日期和时间。

2、

Change()过程用来改变指定工作的设置。

这个过程有四个参数:job、what 、next_date与interval。

PROCEDURE Change (job IN binary_integer,

What IN varchar2,

next_date IN date,

interval IN varchar2)

此job参数是一个整数值,它唯一标识此工作。

What参数是由此工作运行的一块PL/SQL代码块。

next_date参数指示何时此工作将被执行。

interval参数指示一个工作重执行的频度。

3、

Interval()过程用来显式地设置重执行一个工作之间的时间间隔数。

这个过程有两个参数:job与interval。

PROCEDURE Interval (job IN binary_integer,

Interval IN varchar2)

job参数标识一个特定的工作。interval参数指示一个工作重执行的频度。

4、

ISubmit()过程用来用特定的工作号提交一个工作。

这个过程有五个参数:job、what、next_date、interval与no_parse。

PROCEDURE ISubmit (job IN binary_ineger,

What IN varchar2,

next_date IN date,

interval IN varchar2,

no_parse IN booean:=FALSE)

这个过程与Submit()过程的唯一区别在于此job参数作为IN型参数传递且包括一个

由开发者提供的工作号。如果提供的工作号已被使用,将产生一个错误。

5、

Next_Date()过程用来显式地设定一个工作的执行时间。这个过程接收两个参数:job与next_date。

PROCEDURE Next_Date(job IN binary_ineger,

next_date IN date)

job标识一个已存在的工作。next_date参数指示了此工作应被执行的日期与时间。

6、

Remove()过程来删除一个已计划运行的工作。这个过程接收一个参数:

PROCEDURE Remove(job IN binary_ineger);

job参数唯一地标识一个工作。这个参数的值是由为此工作调用Submit()过程返回的job参数的值。

已正在运行的工作不能由调用过程序删除。

7、

Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:

PROCEDURE Run(job IN binary_ineger) 

job参数标识将被立即执行的工作。

8、

使用Submit()过程,工作被正常地计划好。

这个过程有五个参数:job、what、next_date、interval与no_parse。

PROCEDURE Submit ( job OUT binary_ineger,

What IN varchar2,

next_date IN date,

interval IN varchar2,

no_parse IN booean:=FALSE)

job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。

what参数是将被执行的PL/SQL代码块。

next_date参数指识何时将运行这个工作。

interval参数何时这个工作将被重执行。

no_parse参数指示此工作在提交时或执行时是否应进行语法分析——TRUE

指示此PL/SQL代码在它第一次执行时应进行语法分析,

而FALSE指示本PL/SQL代码应立即进行语法分析。

9、

User_Export()过程返回一个命令,此命令用来安排一个存在的工作以便此工作能重新提交。

此程序有两个参数:job与my_call。

PROCEDURE User_Export(job IN binary_ineger,

my_call IN OUT varchar2)

job参数标识一个安排了的工作。my_call参数包含在它的当前状态重新提交此工作所需要

的正文。

10、

What()过程应许在工作执行时重新设置此正在运行的命令。这个过程接收两个参数:job与what。

PROCEDURE What (job IN binary_ineger,

What IN OUT varchar2)

job参数标识一个存在的工作。what参数指示将被执行的新的PL/SQL代码。

一个简单例子: 

创建测试表

SQL> create table a(a date);

表已创建。

创建一个自定义过程

SQL> create or replace procedure test as

2 begin

3 insert into a values(sysdate);

4 end;

5 /

过程已创建。

创建JOB

SQL> variable job1 number;

SQL> 

SQL> begin

2 dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次

3 end;

4 /

PL/SQL 过程已成功完成。

运行JOB

SQL> begin

2 dbms_job.run(:job1);

3 end;

4 /

PL/SQL 过程已成功完成。

SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from a;

时间

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

2001/01/07 23:51:21

2001/01/07 23:52:22

2001/01/07 23:53:24

删除JOB

SQL> begin

2 dbms_job.remove(:job1);

3 end;

4 /

PL/SQL 过程已成功完成。
分享到:
评论

相关推荐

    DBMS_JOB包创建ORACLE定时任务

    在Oracle数据库中,`DBMS_JOB`包提供了一种机制,用于创建和管理后台作业(Job),这些作业可以在特定的时间或按一定的时间间隔执行。这对于需要定期执行的任务非常有用,比如数据清理、统计报告生成、备份等。 ###...

    用Oracle的DBMS_JOB来实现任务计划管理.pdf

    在本文中,我们将详细介绍如何使用 Oracle 的 DBMS_JOB 来实现任务计划管理。 任务计划管理的需求 在许多管理系统中,经常会遇到定时执行某项任务的情况。例如,对于数据库的日常备份等耗时长、重复性强的工作,就...

    oracle数据库定时任务dbms_job的用法详解

    下面将详细介绍DBMS_JOB的使用方法和相关知识点。 1. 创建JOB: 使用DBMS_JOB.SUBMIT函数来创建一个新的作业。这个函数接受四个参数:作业号(jobno)、执行的PL/SQL代码、下次执行时间(next_date)和执行间隔...

    DBMS_JOB使用方法

    ### DBMS_JOB 使用方法详解 #### 一、概述 `DBMS_JOB` 是 Oracle 数据库提供的用于调度任务的包,可以实现对定时任务的管理,包括任务的创建、修改、删除及执行等操作。该包提供了多种过程和函数,允许用户以灵活...

    DBMS_JOB定义

    在Oracle数据库环境中,`DBMS_JOB`是用于管理后台任务调度的强大工具之一。通过`DBMS_JOB`包,用户可以轻松地安排执行特定的PL/SQL块或存储过程,并且可以设置这些任务按照预定的时间表运行。 #### 1. 基本概念 `...

    ORACLE的存储过程的异步调用

    主要思路是使用 DBMS_JOB 包将主处理存储过程作为任务提交到任务队列中,并通过 DBMS_PIPE 包将处理情况放在管道中,最后监控存储过程读取管道了解处理情况。 知识点 1: 使用 DBMS_JOB 包实现异步调用 DBMS_JOB 包...

    Oracle系统包详细使用方法

    本文将详细讲解这些系统包的用途和使用方法。 首先,我们来看dbms_output包,它用于在PL/SQL程序中进行输入和输出。通过enable和disable过程,我们可以开启或关闭输出功能。put_line过程用于打印一行文本,而put...

    Oracle用RMAN和DBMS_JOB包实现自动存储1

    ORACLE 数据库备份分为物理备份和逻辑备份。物理备份是数据库文件拷贝的备份,冷备份、热备份属于物理备份。 导出/导入(EXPORT/IMPORT)工具用于进行逻辑备份。冷备份是在数据库被正常关闭之后进行的数据文件的物理...

    ORACLE_JOB_.rar_oracle

    Oracle Jobs 是一种数据库级别的定时任务,通过DBMS_JOB或DBMS_SCHEDULER包来创建和管理。这些包提供了丰富的功能,如周期性执行、延迟启动、依赖关系设定等,使得数据库维护和业务流程自动化变得更加方便。 2. **...

    Oracle JOB 用法小结

    以下是对Oracle JOB用法的详细总结: 首先,为了启用JOB队列,需要设置初始化参数`job_queue_processes`。通过SQL语句`alter system set job_queue_processes=n;`设置该参数,其中`n`代表期望的并发作业数量,最大...

    Oracle内置包_reference.rar

    Oracle数据库是世界上最广泛使用的数据库系统之一,其内置包是实现..."Oracle内置包_reference.rar"中的文档应该包含了这些包的详细信息,包括用法示例和最佳实践,对于任何想成为Oracle高手的人来说都是宝贵的资源。

    JOB排程操作&實例.zip

    本资料包“JOB排程操作&實例.zip”深入讲解了DBMS_JOB包的使用方法,并提供了实例,对于理解与掌握Oracle作业调度具有极大的帮助。 首先,DBMS_JOB包主要包含以下几个关键函数和过程: 1. **DBMS_JOB.BROKEN(job#,...

    oracle job 用法

    ### Oracle Job 用法详解 Oracle Job 是Oracle数据库中一种用于调度任务的机制,通过它可以在特定的时间或按一定的间隔自动执行预定义的PL/SQL块、存储过程或其他类型的脚本。本文将深入探讨Oracle Job的用法,包括...

    Oracle数据库恢复管理器及特殊包应用 (2)

    Oracle实用工具RMAN的应用为DBA管理多个Oracle数据库提供了集中备份管理与恢复控制的机制,大大地减轻了DBA的工作压力,而DBMS_JOB包的使用增强了存储过程的应用功能,这样,他们就可以从备份数据及重复处理数据的...

    Oracle数据库恢复管理器及特殊包应用 (1)

    DBMS_JOB包的使用方法包括创建作业、调度作业和监控作业状态。首先,使用DBMS_JOB.BEGIN_JOB创建一个作业,指定要执行的PL/SQL代码或存储过程。接着,通过DBMS_JOB.SCHEDULE_JOB设置作业的执行时间,可以是立即执行...

    Oracle内置包的使用方法.rar

    本文将详细介绍Oracle内置包的使用方法,包括它们的功能、调用方式以及示例应用。 1. **DBMS_UTILITY**: 这个包主要用于数据库的实用功能,如格式化SQL语句(UTL_FMT),获取数据库版本信息,以及执行PL/SQL块等。...

    Oracle Job的用法

    以下是对Oracle Job使用方法和技巧的详细说明: 一、创建Oracle Job Oracle Job的创建通常通过DBMS_SCHEDULER包中的程序来完成。首先,你需要创建一个job,指定其执行的PL/SQL块,如下面的例子所示: ```sql BEGIN...

    oracle job 例子

    Oracle Job 是 Oracle 数据库中的一个特性,用于在指定的时间执行一系列数据库操作,这些操作可以是 PL/SQL 块、存储过程或者包。这个功能在数据库管理、数据维护、批处理任务等方面非常实用。在本篇文章中,我们将...

Global site tag (gtag.js) - Google Analytics