Oracle定时执行计划任务Oracle定时执行计划任务.pdf

Oracle定时执行计划任务Oracle定时执行计划任务.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle定时执行计划任务Oracle定时执行计划任务

Oracle 定时执行计划任务 Oracle 在 10g 版本以前,计划任务用的是 DBMS_JOB 包,10g 版本引入 DBMS_SCHEDULER 来替代先前的 DBMS_JOB,在功能方面,它比 DBMS_JOB 提供了更强大的功能和更灵活的机制 管理,但 DBMS_JOB 包的使用相对比较简单,也基本能够满足定时执行计划任务的需求,故 接下来就先看看 DBMS_JOB 包的使用方法。 1. DBMS_JOB 我们可以在命令窗口输入 show parameter job_queue_processes 查看数据库中定时任务 的最多并发数,一般设置为 10 (设置方法:alter system set job_queue_processes=10 ),如果 设为 0,那么数据库定时作业是不会运行的。 oracle 定时执行 job queue 的后台进程是 SNP,要启动 snp,首先看系统模式是否支持 sql alter system enable restricted session;或 sql alter system disenable restricted session; 利用上面的命令更改系统的会话方式为 disenable restricted, 为 snp 的启动创建条件. 接下来我们尝试实现以下功能:每隔一分钟自动向job_test表中插入当前的系统时间。 1、创测试表 create table job_test(updatetime date); 2、创建 JOB variable v_job_no number; begin dbms_job.submit(:v_job_no, insert into job_test values(sysdate);, sysdate, sysdate+1/1440); end; / 其中最后一个参数sysdate+1/1440表示时间间隔为每分钟。其它常用的时间间隔的 设置如下: (1)如果想每天凌晨 1 点执行,则此参数可设置为trunc(sysdate)+25/24; (2)如果想每周一凌晨 1 点执行,则此参数可设置为 trunc(next_day(sysdate,1))+25/24; (3)如果想每月 1 号凌晨 1 点执行,则此参数可设置为 trunc(last_day(sysdate))+25/24; (4)如果想每季度执行一次,则此参数可设置为 trunc(add_months(sysdate,3),Q)+1/24; (5)如果想每半年执行一次,则此参数可设置为 add_months(trunc(sysdate,yyyy),6)+1/24; (6)如果想每年执行一次,则此参数可设置为 add_months(trunc(sysdate,yyyy),12)+1/24。 select * from user_jobs;--查看当前用户的调度任务 select * from dba_jobs_running;--查看正在执行的调度任务 select * from dba_jobs;--查看执行完的调度任务 select * from all_jobs; -- 查看数据库系统所有任务 实例 1: 1. 创建测试表 create table a(a date); 2. 创建一个存储过程 create or replace procedure test as begin insert into a values(sysdate); end; / 3. 创建 JOB (任务计划) variable job1 number; begin dbms_job.submit(:job1,test;,sysdate,sysdate+1/1440); end; / --每天 1440 分钟,即一分钟运行 test 存储过程一次 4. 运行 JOB

您可能关注的文档

文档评论(0)

vshoulrengb3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档