Oracle中的DBMS_JOB.中断

w51jfk4q  于 2022-11-28  发布在  Oracle
关注(0)|答案(2)|浏览(227)

找不到DBMS_JOB的替代项。中断命令使作业中断。请协助我进行相同操作。我的代码中使用的命令是

dbms_job.broken(oracle_job_num, true);

已经对我们代码中使用的以下命令进行了更改。

DBMS_JOB.SUBMIT -> DBMS_SCHEDULER.CREATE_JOB
DBMS_JOB.REMOVE -> DBMS_SCHEDULER.DROP_JOB
ozxc1zmp

ozxc1zmp1#

我不认为dbms_scheduler中有一个特定的API可以将作业标记为中断,但有一个API可以再次启用它:

DBMS_SCHEDULER.enable(name=>'test_job');

有一个API可以更改作业在发生多少次故障后将被禁用:

DBMS_SCHEDULER.set_attribute (name=>'test_job', attribute=>'max_failures',value=>3);
xam8gpfp

xam8gpfp2#

请使用DBMS_SCHEDULER.DISABLE('JOB_NAME')DBMS_SCHEDULER.ENABLE('JOBNAME'),而不要使用DBMS_JOB.BROKEN(ORACLE_JOB_NUM, TRUE)DBMS_JOB.BROKEN(ORACLE_JOB_NUM, FALSE)。“中断”和“启用”功能并不完全相同,因为DBMS_JOBS会在16次失败后自动中断作业,而DBMS_SCHEDULER则不会。但是,如果您只是使用BROKEN手动禁用和启用作业,则行为应该足够接近。

相关问题