`
wgj830823
  • 浏览: 49654 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

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   过程已成功完成。

分享到:
评论

相关推荐

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

    ORACLE 数据库备份分为物理备份和逻辑备份。...热备份是在数据库运行的情况下,采用archivelog mode方式备份数据的方法。这涉及到将每个表空间设置为备份状态,然后备份其数据文件,最后将表空间恢复成正常的状态。

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

    ',—-执行的存储过程, ';'不能省略 next_date, —-下次执行时间 'interval' —-每次间隔时间,interval以天为单位 ); –系统会自动分配一个任务号jobno。 2、删除job: dbms_job.remove(jobno); 3、修改要执行的...

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

    Oracle实用工具RMAN的应用为DBA管理多个Oracle...本文通过对Oracle数据库实用工具恢复管理器及DBMS_JOB包工作机制的分析,提出了应用Oracle数据库恢复管理器和利用DBMS_JOB包实现存储过程自动执行来解决问题的方法。

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

    Oracle实用工具RMAN的应用为DBA管理多个Oracle...本文通过对Oracle数据库实用工具恢复管理器及DBMS_JOB包工作机制的分析,提出了应用Oracle数据库恢复管理器和利用DBMS_JOB包实现存储过程自动执行来解决问题的方法。

    Oracle数据库管理员技术指南

    2.3 DBMS_SPACE 程序包 2.3.1 使用 DBMS_SPACE.UNUSED _SPACE 2.3.2 使用 DBMS_SPACE.FREE _BLOCK 2.4 管理锁争用 2.4.1 怎样查找产生锁的 SQL 语句 2.4.2 怎样释放锁 2.4.3 怎样删除用户会话 2.4.4 怎样从...

    oracle各种文档

    JOB使用方法.doc ORACLE RMAN快速入门指南.doc ORACLE 常见问题.doc ORACLE 常用命令.doc ORACLE 开发管理经验.doc ORACLE 回滚段管理.doc ORACLE 碎片整理.doc Oracle WebServer中文手册 .chm v2.0.pdfPrentice...

    oracle实验报告

    (2)掌握存储过程的使用方法。 【实验要求】 (1)按照业务要求创建实现特定功能的存储过程。 (2)按照业务内容创建实现具有特定功能的函数。 【实验内容】 1、 写存储过程,显示所指定雇员名所在的部门名和位置。 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

    精髓Oralcle讲课笔记

    --(使用函数substr() 将搜素出来的ename字段从第二个字母开始截,一共截3个字符) 32、select chr(65) from dual; --(函数chr() 将数字转化为AscII中相对应的字符) 33、select ascii('A') from dual; --(函数...

    Toad 使用快速入门

    Toad 使用快速入门 目录 一.Toad功能综述 二....三....四....1. Schema browser的用法简介 2. SQL Editor的使用介绍 3. Procedure Editor的...  要用Toad对存储过程进行debug,必须安装Oracle的系统包:dbms_debug...

    Oracle事例

    手工刷新快照,(调用DBMS_SNAPSHOT包中的refresh过程)DBMS_SNAPSHOT.refresh(snapshot_name,refresh_type); begin DBMS_SNAPSHOT.REFRESH(\'snap_to_html\',\'c\'); end; 对所有快照进行刷新 begin DBMS_...

    Oracle9i的init.ora参数中文说明

    说明: 用于指定数据库为远程 PL/SQL 存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP, 只有在服务器与本地时间戳相匹配的情况下, 才能执行该过程。如果设置为 SIGNATURE, 在签名安全的情况下即可执行该过程。...

    Oracle数据库实验操作

    实验133:系统包dbms_job维护作业 217 Shared_pool 219 实验134:sql语句在shared_pool中的查询 219 实验135:shared_pool的sql命中率 220 实验136:数据字典的命中率查询 223 实验137:shared_pool保留区的判断 223...

    IISD-job-application-april-2021

    欢迎您在所需的任何系统/语言/框架中实施测试解决方案,并通过Web浏览器查看... 除非您证明您使用所选数据库管理系统的功能作为实现的一部分,否则将不会对该组件进行特别评估,无论该功能是存储过程还是其他DBMS特定功

Global site tag (gtag.js) - Google Analytics