PL/SQL中对job的操作(创建,停止,查找)

job的快速搭建

首先给大家分享如何快速搭建job,以及各个名词的含义
在这里插入图片描述
name:job名称
enabled:job是否生效。勾选默认生效,如果不勾选,手动运行也可以执行,只是不会周期性执行。

type:支持三种类型:
1)PLSQL_BLOCK——PL/SQL语句块;
2)STORED_PROCEDURE——存储过程;
3)EXECUTABLE——外部程序(外部程序可以是一个shell脚本,也可以是操作系统级别的指令)。
工作过程中多使用 pl/sql语句块
action:根据type的类型写入规则
举个简单的例子:

  begin p_stat_ep_less_bag(sysdate-1.5/24,sysdate-1/24,0); end;

sysdate-1.5/24 sysdate-1/24是给存储过程传的值 ,代表的含义是开始时间为现在的一个半小时,结束时间是现在的一个小时
start date:job执行的开始时间
end date :job 从什么时候弃用(不确定可不填)
frequency:频率 执行周期 可选年/月 /天/小时/分钟为单位
interval:间隔 假设frequency选了分钟,间隔写15那就是15分钟执行一次
还有一个要选的就是job_class 选择job日志的日志级别
日志级别由两个因素决定,一个是job自己日志级别,别一个是使用的job cloass的日志级别,取两者中的最高值。
job创建时日志级别默认是DBMS_SCHEDULER.LOGGING_RUNS,
创建的job时,如果不指定job class,默认为DEFAULT_JOB_CLASS,而DEFAULT_JOB_CLASS默认logging level是DBMS_SCHEDULER.LOGGING_RUNS,
所以创建的job的logging level至少是LOGGING_RUNS。
如果不产生日志,必须禁止job自己日志级别,同时不能使用默认的默认为DEFAULT_JOB_CLASS。

将正在运行的job停止运行
在这里插入图片描述
启用:dbms_scheduler.enable(‘job_name’);

运行:dbms_scheduler.run_job(‘job_name’);

停止:dbms_scheduler.stop_job(‘job_name’);

在工作中我们会遇到一个问题就是知道用的那个表但是不知道出自哪个存储过程,该存储过程属于哪个job调用

根据存储过程寻找job
select * from user_scheduler_jobs t
where upper(t.JOB_ACTION) like ‘%p_stat_cd_order%’;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值