oracle jobs 执行耗时,ORACLE jobs 执行有关问题,JOBS执行一段时间后失效

ORACLE jobs 执行问题,JOBS执行一段时间后失效。

创建了一个JOBS对序列每天进行删除重建 也许几天之内执行没有问题,几天后突然就失效了。

BEGIN

SYS.DBMS_JOB.REMOVE(141);

COMMIT;

END;

/

DECLARE

X NUMBER;

BEGIN

SYS.DBMS_JOB.SUBMIT

( job       => X

,what      => 'ClearSeq;'

,next_date => to_date('01/01/4000 00:00:00','dd/mm/yyyy hh24:mi:ss')

,interval  => 'TRUNC(SYSDATE + 1)'

,no_parse  => FALSE

);

SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));

SYS.DBMS_JOB.BROKEN

(job    => X,

broken => TRUE);

COMMIT;

END;

/

JOBS语句就变成这样了。下面的是执行的

CREATE OR REPLACE procedure WZFCARC.ClearSeq as

n_count number(8);

begin

select count(1)

into n_count

from user_sequences t

where t.sequence_name = 'DA_JBQ';

if n_count > 0 then

execute immediate 'DROP SEQUENCE WZFCARC.DA_JBQ';

execute immediate 'CREATE SEQUENCE DA_JBQ

START WITH 1

MAXVALUE 999999999999999999999999999

MINVALUE 0

NOCYCLE

NOCACHE

NOORDER';

end if;

execute immediate 'CREATE SEQUENCE DA_JBQ

START WITH 1

MAXVALUE 999999999999999999999999999

MINVALUE 0

NOCYCLE

NOCACHE

NOORDER';

commit;

end;

/

求大神指导什么问题,怎么解决。谢谢

——

每天重建sequence并不是太好,因为这会导致依赖它的

DECLARE

v_number NUMBER;

BEGIN

SELECT DA_JBQ.nextval INTO v_number from dual;

EXECUTE IMMEDIATE 'alter sequence DA_JBQ increment by -'

------

v_number

------

' minvalue 0';

SELECT DA_JBQ.nextval INTO v_number from dual;

EXECUTE IMMEDIATE 'alter sequence DA_JBQ increment by 1';

END;

另外需要检查是否因为drop过程中有其他对象调用该seq导致job失败

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值