• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
JOB
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
JOB 用法小结
软件发布 JOB 用法小结
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 认证考试 >> Oracle认证 >> Oracle指导 >> JOB 用法小结

JOB 用法小结

添加时间: 2008-4-19 21:53:27  作者: Oracle指导  阅读次数:6   来源: http://www.d9soft.com

       

一、设置初始化参数 job_queue_processes 

   sql> alter system set job_queue_processes=n;(n>0) 
   job_queue_processes最大值为1000 
   查看job queue 后台进程 
   sql>select name,description from v$bgprocess; 

二,dbms_job package 用法介绍 

   包含以下子过程: 
   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参数指示在什么时候此工作将再次运行。此参数缺省值为当前日期和时间。 
   job如果由于某种原因未能成功之行,oracle将重试16次后,还未能成功执行,将被标记为broken 

   重新启动状态为broken的job,有如下两种方式; 

   a、利用dbms_job.run()立即执行该job 
    sql>begin 
    sql>dbms_job.run(:jobno) 该jobno为submit过程提交时返回的job number 
    sql>end; 
    sql>/ 

   b、利用dbms_job.broken()重新将broken标记为false 
    sql>begin 
    sql>dbms_job.broken (:job,false,next_date) 
    sql>end; 
    sql>/ 

   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代码。 

三、查看相关job信息 

   1、相关视图 
   dba_jobs 
   all_jobs 
   user_jobs 
   dba_jobs_running 包含正在运行job相关信息 

   2、查看相关信息 
   SQL>SELECT JOB, NEXT_DATE, NEXT_SEC, FAILURES, BROKEN 
   SQL>FROM DBA_JOBS; 
   JOB NEXT_DATE NEXT_SEC FAILURES B 
   ------- --------- -------- -------- - 
   9125 01-JUN-01 00:00:00 4 N 
   14144 24-OCT-01 16:35:35 0 N 
   9127 01-JUN-01 00:00:00 16 Y 
   3 rows selected. 
   正在运行的JOB相关信息 
   SELECT SID, r.JOB, LOG_USER, r.THIS_DATE, r.THIS_SEC 
   FROM DBA_JOBS_RUNNING r, DBA_JOBS j 
   WHERE r.JOB = j.JOB; 


   SID JOB LOG_USER THIS_DATE THIS_SEC 
   ----- ---------- ------------- --------- -------- 
   12 14144 HR 24-OCT-94 17:21:24 
   25 8536 QS 24-OCT-94 16:45:12 
   2 rows selected. 

   JOB QUEUE LOCK相关信息 
   SELECT SID, TYPE, ID1, ID2 
   FROM V$LOCK 
   WHERE TYPE = ’JQ’; 
   SID TY ID1 ID2 
   --------- -- --------- --------- 
   12 JQ 0 14144 
   1 row selected. 

四、简单例子 

   一个简单例子: 
   创建测试表 
   SQL> create table TEST(a date); 
   表已创建。 
   创建一个自定义过程 
   SQL> create or replace procedure MYPROC as 
    2 begin 
    3 insert into TEST values(sysdate); 
    4 end; 
    5 / 
   过程已创建。 
   创建JOB 
   SQL> variable job1 number; 
   SQL> 
   SQL> begin 
    2 dbms_job.submit(:job1,’MYPROC;’,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 TEST; 
   时间 
   ------------------- 
   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 过程已成功完成。 

五、相关注意事项 

   1、执行dbms_job包相关过程如remove、Change、broken时,登陆的用户要同建立该JOB的用户一致 

   2、当执行dbms_job.change过程时,如果参数what,next_date,interval值为null,则表示原参数值不变 

   如 
   BEGIN 
   DBMS_JOB.CHANGE(14144, NULL, NULL, ’SYSDATE + 3’); 
   END; 
   / 

   3、如果利用database link来提交job,则该link必须包含合适的用户名和密码。 

   4、执行job的用户必须具有作业过程中所涉及对象的相应权限。 

   5、数据库在restricted mode下,不能执行job 

   还要注意执行象 
   remove 
   Change 
   broken 
   这些功能时登陆的用户要同建立该JOB的用户一致

 

上下文章:

 

上一篇文章: 在Oracle里设置访问多个SQL Server 下一篇文章: Oracle认证的专家之所见

相关文章:

  • 解析PS蒙版的用法-超强的解析教程
  • 六类综合布线系统施工经验小结
  • Oracle外部程序的触发小结
  • Oracle外部程序的触发小结
  • Oracle数据库中的“锁”学习小结

相关软件:

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

Oracle认证分类导航

  • Oracle动态
  • Oracle指导
  • Oracle题库

本类经典文章推荐

  • Oracle中关于逻辑备份与恢复
  • Oracle开发人员JAVA存储过程
  • 为数据库的表自动生成行号
  • Oracle中的OOP概念
  • 用java从oracle取数
  • 冷备份移植到另一台Solaris机器上
  • 如何将excel数据导入oracle中
  • Oracle10.2g安装记录
  • 数据库监控工具ForOraclev1.2
  • oracle双机群集系统

Oracle指导阅读排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • 案例学习Oracle错误:ORA-00060
  • 案例学习Oracle错误:ORA-00604
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • Oracle企业管理器(OEM 2.1)使用...
  • ORACLE数据库简介
  • 案例学习Oracle错误:ORA-00904

Oracle认证阅读总排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • 在ORACLE的存储过程中如何做简单的...
  • 案例学习Oracle错误:ORA-00060
  • 案例学习Oracle错误:ORA-00604
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • Oracle企业管理器(OEM 2.1)使用...
  • AIX下自动启动Oracle数据库与监听...

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有