oracle作业队列进程,oracle作业队列

1、查询作业进程

show parameter job;

select name,description from v$bgprocess where name like 'SNP%';

2、函数包DBMS_JOB介绍

该包包含的过程有SUBMIT、REMOVE、CHANGE、WHAT、NEXT_DATE、INTERVAL、BROKEN、RUN

参数介绍

job是作业号,标识一个作业在数据库中具有唯一性质

broken表示该作业是否被标记为无效,true无效,false有效

next_date表示下一次执行该作业的时间,默认为当前日期和时间

what表示该作业要运行的一块PL/SQL代码块、存储过程

interval表示该作业重复执行的时间间隔

no_parse表示作业在提交或者执行时是否应进行语法分析,true不分析,false立即分析

my_call表示在当前状态下重新提交此作业的代码

过程介绍:

SUBMIT:正常提交一个作业,有五个参数:job、what、next_date、interval、no_parse

REMOVE:删除一个已计划运行的作业,有一个参数:job、what、next_date、interval、no_parse

CHANGE:用于改变作业的执行计划,有四个参数:job、what、next_date、interval

WHAT:重新设置作业的执行代码,有两个参数:job、what

NEXT_DATE:用于设置作用下一次被执行的时间,有两个参数:job、next_date

INTERVAL:用于设置作用下一次执行的时间间隔,有两个参数:job、interval

BROKEN:用于设置一个已提交的左右有效或无效,有三个参数:job、broken、next_date

RUN:强制执行一个作业,不管该作业是否有效,有一个参数:job

USER_EXPORT:返回一个命令,此命令用来安排一个存在的作业以便此作业重新提交,有两个参数:job、my_call

3、应用实例

(1)创建一个基表

create table test(id number(7));

(2)创建一个存储过程,用于存储作业编号及当前日期

create or replace procedure insert_test as

begin

insert into test values(1);

end insert_test;

/

(3)创建作业计划调用存储过程

VARIABLE job_no1 number;

begin

dbms_job.submit(:job_no1,'insert_test;',sysdate,'sysdate+1/1440');

end;

/

(4)运行作业计划

begin

dbms_job.run(:job_no1);

end;

/

(5)查询基表

select * from test;

(6)删除作业队列

查询作业队列

select priv_user,job,what from user_jobs;

删除作业队列

begin

dbms_job.remove(:job_no1);

end;

/

或者exec dbms_job.remove(1);其中1为队列号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值