10g
ä¸æ°æ¨åºçSCHEDULERå¯è½ç¡®å®ä¼è®©å¾å¤åæ¥è§¦çæåæè§æ头æèï¼ç¸æ¯ä¹åçjobsï¼SCHEDULERä¸æ°å¢çæ¦å¿µå¤ªå¤ãæ¯å¦è¯´jobsï¼ä»
ç¶å¯ä»¥ç解æä¹åçæ¬ä¸çjobsï¼ä¸è¿åè½æ´å 强大(注æ10gä¸ä¹ä»ç¶å¯ä»¥ä½¿ç¨æ®éjobsï¼è¿æ¯åºè¯ï¼ç¸ä¿¡çæ¬ç¯æç« çæåç®ååºè¯¥è¿æ¯è¿æ ·å¨
ç¨)ï¼æ¯å¦è¯´programï¼æçæ¯è¿è¡çç¨åº(æè¦åä»ä¹åæåºæ¥äº)ï¼æ¯å¦è¯´scheduleï¼æå°å
¶ç¿»è¯ä¸ºè°åº¦(jobæç¿»è¯ä¸ºä»»å¡)ï¼å®ä¹æ§è¡ç
é¢çæè
说å¨æã
3.1 å建å管çSchedule s
ããSchedule ï¼ä¸æç´è¯çè¯åºè¯¥ç解æè°åº¦ï¼ä»ååæ¥çï¼å®æ¯ä¸ä¸ªé»è¾å®ä½(é»è¾ï¼è¿å®ä½ï¼å¥½çç¾)ï¼å°±æ¯è¯´å½å建äºscheduleä¹åï¼æ°æ®åºä¸å°±è¯å®åå¨è¿ä¸å¯¹è±¡ï¼åªä¸è¿è¿ä¸å¯¹è±¡æ¯ç¨æ¥æè¿°jobçæ§è¡å¨æã
ããå建scheduleå¯ä»¥éè¿DBMS_SCHEDULER.CREATE_SCHEDULEè¿ç¨ï¼è¯¥è¿ç¨æ¯æçåæ°å¦ä¸ï¼
SQL>
desc dbms_scheduler.create_schedule;Parameter
Type Mode Default? ---------------
------------------------ ---- -------- SCHEDULE_NAME
VARCHAR2 IN START_DATE TIMESTAMP WITH
TIME ZONE IN Y REPEAT_INTERVAL VARCHAR2
IN END_DATE TIMESTAMP WITH TIME ZONE IN Y
COMMENTS VARCHAR2 IN Y
ããååæ°åå«ä»£è¡¨å«æå¦ä¸ï¼
SCHEDULE_NAME ï¼æå®scheduleå称ï¼æ³¨æå称ä¸è½éå¤ã
START_DATE ï¼æå®è¯¥è°åº¦çå¼å§æ¶é´ï¼å¯ä¸ºç©ºï¼å½ä¸ºç©ºæ¶è¡¨ç¤ºè¯¥è°åº¦æä¸èµ·ç¨ã
REPEAT_INTERVAL ï¼æå®è°åº¦çæ§è¡é¢çæå¨æã
END_DATE ï¼æå®è°åº¦çç»ææ¶é´ï¼å¯ä¸ºç©ºï¼ä¸ºç©ºæ¶å°±è¡¨ç¤ºè¯¥è°åº¦å°ä¸ç´è¿è¡ã
COMMENTS ï¼æ³¨éä¿¡æ¯ã
ã
ãè¿å
¶ä¸ï¼æ¯è¾æææ¯å«éçæ¯REPEAT_INTERVALåæ°ï¼å¯¹äºè¿ä¸ªåæ°å¤§å®¶åºè¯¥ä¸ä¼å¤ªéçï¼å 为åé¢ä»ç»Jobsï¼ä¹æ¾ç»æå°è¿ååçå
æ°ï¼Schedulesä¸çREPEAT_INTERVALåæ°åJobsä¸çREPEAT_INTERVALåæ°åè½å®å
¨ç¸åï¼çè³åæ°æ ¼å¼ä¹ä¸æ¨¡ä¸
æ ·ã
ããREPEAT_INTERVAL åæ°çè¯æ³ç»æè¦å¤æçå¤ãå
¶ä¸æéè¦çæ¯FREQåINTERVAL两个å
³é®åã
FREQ å
³é®åç¨æ¥æå®é´éçæ¶é´å¨æï¼å¯éåæ°æï¼YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, and SECONDLYï¼åå«è¡¨ç¤ºå¹´ãæãå¨ãæ¥ãæ¶ãåãç§çåä½ã
INTERVAL å
³é®åç¨æ¥æå®é´éçé¢ç¹ï¼å¯æå®çå¼çèå´ä»1-99ã
ããæ¯å¦è¯´ï¼å½æå®REPEAT_INTERVAL=>'FREQ=DAILY;INTERVAL=1';就表示æ¯å¤©æ§è¡ä¸æ¬¡ï¼å¦æå°INTERVALæ¹ä¸º7就表示æ¯7天æ§è¡ä¸æ¬¡ï¼ææçåäºFREQ=WEEKLY;INTERVAL=1ã
ããä¸é¢ï¼å建ä¸ä¸ªscheduleï¼æå®è°åº¦ä¸ºæ¯å¨ä¸æ¬¡çé¢çï¼æ§è¡èæ¬å¦ä¸ï¼
SQL>
begin 2 DBMS_SCHEDULER.CREATE_SCHEDULE ( 3 schedule_name
=> 'my_first_schedule', 4 start_date => SYSDATE, 5
repeat_interval => 'FREQ=WEEKLY; INTERVAL=1', 6
comments => 'Every 1 weeks'); 7 END; 8 /PL/SQL procedure
successfully completed.
ããæ¥è¯¢å½åå·²ç»å建çschedulesï¼å¯ä»¥éè¿*_SCHEDULER_SCHEDULESè§å¾(å«DBA_,ALL_,USER_)ï¼ä¾å¦ï¼æ¥çå½åç¨æ·æ¥æçschedulesï¼æ§è¡è¯å¥å¦ä¸ï¼
SQL>
select schedule_name,repeat_interval from
user_scheduler_schedules;SCHEDULE_NAME
REPEAT_INTERVAL------------------------------
------------------------------MY_FIRST_SCHEDULE
FREQ=WEEKLY; INTERVAL=1
ããå¦æè¦ä¿®æ¹scheduleå±æ§çè¯ï¼ä¹æ¯ä½¿ç¨
DBMS_SCHEDULER.SET_ATTRIBUTEè¿ç¨ï¼è¯¥è¿ç¨çè°ç¨æ¹å¼åé¢å·²ç»å¤æ¬¡æ¼ç¤ºè¿ï¼è¿éå°±ä¸åéå¤ä¸¾ä¾äºï¼ä»
说æä¸ç¹ï¼å¯¹äº
scheduleæ¥è¯´ï¼è½å¤ä¿®æ¹çå±æ§å
æ¬ï¼REPEAT_INTERVALãCOMMENTSãEND_DATEãSTART_DATE以å
EVENT_SPECã
ããè³äºå é¤scheduleï¼åç®åä¸è¿ï¼æ§è¡DBMS_SCHEDULER.DROP_SCHEDULEè¿ç¨å³å¯ï¼ä¾å¦ï¼
SQL> EXEC DBMS_SCHEDULER.DROP_SCHEDULE('MY_FIRST_SCHEDULE');PL/SQL procedure successfully completed.
温馨提示:内容为网友见解,仅供参考
oracle里的job和schedule有什么区别
二者关系:job就是计划(schedule)加上任务说明,另外还有一些必须的参数。比如有很多个JOB要在相同的时间执行,可以创建一个SCHEDULE,每个JOB 用这个Schedule
oracle里的job和schedule有什么区别
Schedule ,中文直译的话应该理解成调度,从名字来看,它是一个逻辑实体(逻辑,还实体,好矛盾),就是说当创建了schedule之后,数据库中就肯定存在这一对象,只不过这一对象是用来描述job的执行周期。创建schedule可以通过DBMS_SCHEDULER.CREATE_SCHEDULE过程,该过程支持的参数如下:SQL> desc dbms_scheduler...
oracle里的job和schedule有什么区别
当然是用schedule更好, schedule的功能强大的多, 你如果是第一次用这个, 建议装个pl\/sql developer, 在这里面新建schedule, 会让你很快上手, 一开始就直接写语句, 容易让人发晕, 而且pl\/sql developer里面新建, 修改, 删除等操作都可以看到对应的语句, 这样学习起来效果很好.等基本玩熟之后, 再云找...
oracle的作业计划job或scheduler会重复执行么?同一作业还有在运行的...
Schedules -- 指定何时何种频率来运行job,可以被不同的job重复的利用。比如说我有两个job都要求在每天的凌晨4点运行,那么两个job可以同时指定相同的schedule。Jobs -- 具体的作业的名称,依赖于那个program、schedule。也可以不指定program、schedule,而直接写入program、schedule的相应参数。Chains -- 把...
Oracle 11g上定义了job跟schedule,却没按时跑job,请问是什么原因
二者关系:job就是计划(schedule)加上任务说明,另外还有一些必须的参数。 比如有很多个JOB要在相同的时间执行,可以创建一个SCHEDULE,每个JOB 用这个Schedule
ORACLE的Job是否有日志,如果有如何查看OR
如果是dbms_job,那么不好意思,本身好象没有,只能去dba_jobs表中查看执行结果。或者执行时查看dba_job_running。如果是schedule_job那么是有的,也是一个视图就是dba_scheduler_job_log,这里记载这每次的执行的开始时间,结束时间,执行结果。
如何在Oracle中管理计划任务
Oracle 在10g 版本以前,计划任务用的是DBMS_JOB 包,10g 版本引入DBMS_SCHEDULER来替代先前的DBMS_JOB,在功能方面,它比DBMS_JOB 提供了更强大的功能和更灵活的机制管理,但DBMS_JOB 包的使用相对比较简单,也基本能够满足定时执行计划任务的需求,故接下来就先看看DBMS_JOB 包的使用方法。1. DBMS_JOB...
oracle,查询语句,大神翻译一下
(1)sys那张表:查询dba系统权限视图,里面主要是用户,和这个用户拥有什么系统权限。(2)tab那张表:dba表权限视图,比如A用户可以在B用户某张表里面查询,插入等。(3)role那张表:dba角色权限视图,某个用户被授予了什么角色。比如A用户拥有DBA橘色权限等。(4)users,dba用户视图,这里有所有用户...
oracle数据库中怎么看job跑没跑完?
dba_jobs_running,这张表内没有一般就是跑完了。可以查一下dba_jobs看一下最后运行时间确认。当然要是schedule-job那么在这张表内是查不到的,要去dba_scheduler_jobs里面查。还有一个 user_scheduler_job_run_details这里可以查询scheduler_job的运行情况。
oracle job 每月的5,10,15,20 ,25,30执行 如何写dbms_job.submit(v_jo...
思路转换:你可以每天的6点10分进行作业调度,然后在作业调度里判断是不是每月的 5,10,15,20 ,25,30,如果是就执行,不是就退出。这个比较简单吧。