oracle中job的创建删除及终止

1、创建job(几种常用的时间)

--每天十二点执行

DECLARE
  job1 number;
begin
  sys.dbms_job.submit(job1,
                      ':what',
                      trunc(sysdate)+12/24,
                      'trunc(sysdate)+12/24+1');
   commit;
end;

--每天零点执行

DECLARE
  job1 number;
begin
  sys.dbms_job.submit(job1,
                      ':what',
                      trunc(SYSDATE),
                      'trunc(sysdate)+1');
   commit;
end;

--每周一零点执行
DECLARE
  job1 number;
begin
  sys.dbms_job.submit(job1,
                      ':what',
                      trunc(sysdate,'d')+1,
                      'trunc(sysdate,'d')+8');
commit;
end;

2、删除job

SELECT t.job FROM User_jobs;--找出要删除的job的编号

--删除
begin
dbms_job.remove(:job_num);
end;

3、终止正在使用的job

--找出正在运行的job的编号及会话sid

select t.job,t.sid from dba_jobs_running;

--利用查出来的sid查询正在执行的job的会话信息

select t.sid,t.serial# from v$session t where t.sid = :sid;

--利用查出来的会话信息杀掉该会话

alter system kill session ':sid,:serial';

--broken job

begin

 DBMS_JOB.BROKEN(:job_num,TRUE);

end;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值