| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> oracle >> Oracle DBMS_JOB:每隔特定时间执行特定任务 Oracle DBMS_JOB: mei ge te ding shi jian zhi xing te ding ren wu
 

Oracle DBMS_JOB:每隔特定时间执行特定任务

2008-08-06 07:16:29 编辑來源:互联网 繁體版 评论
 
 
本文为【Oracle DBMS_JOB:每隔特定时间执行特定任务】的汉字拼音对照版显示拼音
  Oracle JOB:

  yishezhichushihuashenshu job_queue_processes

  sql> alter system set job_queue_processes=n;n>0

  job_queue_processeszuidazhiwei1000

  chakanjob queue houtaijincheng

  sql>select name,description from v$bgprocess;

  erdbms_job package yongfajieshao

  baohanyixiaziguocheng

  Broken()guocheng

  change()guocheng

  Interval()guocheng

  Isubmit()guocheng

  Next_Date()guocheng

  Remove()guocheng

  Run()guocheng

  Submit()guocheng

  User_Export()guocheng

  What()guocheng

  1Broken()guochenggengxinyigeyitijiaodegongzuodezhuangtaidianxingdishiyonglaibayigeyipogongzuobiaojiweiweipogongzuo

  zhegeguochengyousangeshenshujob brokenyunext_date

  PROCEDURE Broken ( job IN binary_integer,

  BrokenIN boolean,

  next_date IN date :=SYSDATE)

  jobshenshushigongzuohaotazaiwentizhongweiyibiaoshigongzuo

  brokenshenshuzhishicigongzuoshifoujiangbiaojiweipoTRUEshuomingcigongzuojiangbiaojiweipoerFLASEshuomingcigongzuojiangbiaojiweiweipo

  next_dateshenshuzhishizaishenmeshihoucigongzuojiangzaiciyunxingcishenshuqueshengzhiweidangqianriqiheshijian

  jobruguoyouyumouzhongyuanyinweinengchenggongzhixingoraclejiangchongshi16cihouhuanweinengchenggongzhixingjiangbeibiaojiweibrokenchongxinqidongzhuangtaiweibrokendejobyouruxialiangzhongfangshi;

  aliyongdbms_job.run()lijizhixinggaijob

  sql>begin

  sql>dbms_job.run(:jobno) gaijobnoweisubmitguochengtijiaoshifanhuidejob number

  sql>end;

  sql>/

  bliyongdbms_job.broken()chongxinjiangbrokenbiaojiweifalse

  sql>begin

  sql>dbms_job.broken (:job,false,next_date)

  sql>end;

  sql>/

  2Change()guochengyonglaigaibianzhidinggongzuodeshezhi

  zhegeguochengyousigeshenshujobwhat next_dateyuinterval

  PROCEDURE Change ( job IN binary_integer,

  What IN varchar2,

  next_date IN date,

  interval IN varchar2)

  cijobshenshushiyigezhengshuzhitaweiyibiaoshicigongzuo

  WhatshenshushiyoucigongzuoyunxingdeyikuaiPL/SQLdaimakuai

  next_dateshenshuzhishiheshicigongzuojiangbeizhixing

  intervalshenshuzhishiyigegongzuochongzhixingdepindu

  3Interval()guochengyonglaixianshidishezhichongzhixingyigegongzuozhijiandeshijianjiangeshuzhegeguochengyoulianggeshenshujobyuinterval

  PROCEDURE Interval ( jobIN binary_integer,

  Interval IN varchar2)

  jobshenshubiaoshiyigetedingdegongzuointervalshenshuzhishiyigegongzuochongzhixingdepindu

  4ISubmit()guochengyonglaiyongtedingdegongzuohaotijiaoyigegongzuozhegeguochengyouwugeshenshujobwhatnext_dateintervalyuno_parse

  PROCEDURE ISubmit ( job IN binary_ineger,

  WhatIN varchar2,

  next_date IN date,

  interval IN varchar2,

  no_parseIN booean:=FALSE)

  zhegeguochengyuSubmit()guochengdeweiyiqubiezaiyucijobshenshuzuoweiINxingshenshuchuandiqiebaokuoyigeyoukaifazhetigongdegongzuohaoruguotigongdegongzuohaoyibei使shiyongjiangchanshengyigecuowu

  5Next_Date()guochengyonglaixianshidishedingyigegongzuodezhixingshijianzhegeguochengjieshoulianggeshenshujobyunext_date

  PROCEDURE Next_Date( job IN binary_ineger,

  next_date IN date)

  jobbiaoshiyigeyicunzaidegongzuonext_dateshenshuzhishilecigongzuoyingbeizhixingderiqiyushijian

  6Remove()guochenglaishanchuyigeyijihuayunxingdegongzuozhegeguochengjieshouyigeshenshu

  PROCEDURE Remove(job INbinary_ineger);

  jobshenshuweiyidibiaoshiyigegongzuozhegeshenshudezhishiyouweicigongzuotiaoyongSubmit()guochengfanhuidejobshenshudezhiyizhengzaiyunxingdegongzuobunengyoutiaoyongguochengxushanchu

  7Run()guochengyonglailijizhixingyigezhidingdegongzuozhegeguochengzhijieshouyigeshenshu

  PROCEDURE Run(job IN binary_ineger)

  jobshenshubiaoshijiangbeilijizhixingdegongzuo

  8使shiyongSubmit()guochenggongzuobeizhengchangdijihuahao

  zhegeguochengyouwugeshenshujobwhatnext_dateintervalyuno_parse

  PROCEDURE Submit ( job OUT binary_ineger,

  WhatINvarchar2,

  next_date INdate,

  interval INvarchar2,

  no_parseINbooean:=FALSE)

  jobshenshushiyouSubmit()guochengfanhuidebinary_inegerzhegezhiyonglaiweiyibiaoshiyigegongzuo

  whatshenshushijiangbeizhixingdePL/SQLdaimakuai

  next_dateshenshuzhishiheshijiangyunxingzhegegongzuo

  intervalshenshuheshizhegegongzuojiangbeichongzhixing

  no_parseshenshuzhishicigongzuozaitijiaoshihuozhixingshishifouyingjinxingyufafenxiTRUEzhishiciPL/SQLdaimazaitadiyicizhixingshiyingjinxingyufafenxierFALSEzhishibenPL/SQLdaimayinglijijinxingyufafenxi

  9User_Export()guochengfanhuiyigeminglingciminglingyonglaianpaiyigecunzaidegongzuoyi便biancigongzuonengchongxintijiao

  cichengxuyoulianggeshenshujobyumy_call

  PROCEDURE User_Export( job IN binary_ineger,

  my_callIN OUT varchar2)

  jobshenshubiaoshiyigeanpailedegongzuomy_callshenshubaohanzaitadedangqianzhuangtaichongxintijiaocigongzuosuoxuyaodezhengwen

  10What()guochengyingxuzaigongzuozhixingshichongxinshezhicizhengzaiyunxingdeminglingzhegeguochengjieshoulianggeshenshujobyuwhat

  PROCEDURE What ( job IN binary_ineger,

  What IN OUT varchar2)

  jobshenshubiaoshiyigecunzaidegongzuowhatshenshuzhishijiangbeizhixingdexindePL/SQLdaima

  sanchakanxiangguanjobxinxi

  1xiangguanshitu

  dba_jobs

  all_jobs

  user_jobs

  dba_jobs_running baohanzhengzaiyunxingjobxiangguanxinxi

  2chakanxiangguanxinxi

  SQL>SELECT JOB, NEXT_DATE, NEXT_SEC, FAILURES, BROKEN FROM DBA_JOBS;

  zhengzaiyunxingdeJOBxiangguanxinxi

  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;

  JOB QUEUE LOCKxiangguanxinxi

  SELECT SID, TYPE, ID1, ID2 FROM V$LOCK WHERE TYPE = 'JQ';

  sijiandanlizi

  yigejiandanlizi

  chuangjianceshibiao

  SQL> create table TEST(a date);

  biaoyichuangjian

  chuangjianyigezidingyiguocheng

  SQL> create or replace procedure MYPROC as

  2begin

  3insert into TEST values(sysdate);

  4end;

  5/

  guochengyichuangjian

  chuangjianJOB

  SQL> variable job1 number;

  SQL>

  SQL> begin

  2dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');--meitian1440fenzhongjiyifenzhongyunxingtestguochengyici

  3end;

  4/

  PL/SQL guochengyichenggongwancheng

  yunxingJOB

  SQL> begin

  2dbms_job.run(:job1);

  3end;

  4/

  PL/SQL guochengyichenggongwancheng

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

  shijian

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

  2001/01/07 23:51:21

  2001/01/07 23:52:22

  2001/01/07 23:53:24

  shanchuJOB

  SQL> begin

  2dbms_job.remove(:job1);

  3end;

  4/

  PL/SQL guochengyichenggongwancheng原文
 
 
 
 
上一篇《Oracle数据库中获取数据的存储过程示例》
下一篇《经验分享:Informix和Oracle存储过程的异同》
 
 
 
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
Oracle JOB: 一、设置初始化参数 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 FROM DBA_JOBS;   正在运行的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;   JOB QUEUE LOCK相关信息   SELECT SID, TYPE, ID1, ID2 FROM V$LOCK WHERE TYPE = 'JQ'; 四、简单例子 一个简单例子:    创建测试表 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 过程已成功完成。
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
时尚性感的燕子(3)
时尚性感的燕子(2)
纯美的女生生活写真(14)
纯美的女生生活写真(13)
来自束河[]
恰巧-巧家~~
高尔夫
行摄匆匆天子山
 
>>返回首页<<
 为你推荐
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有