调度作业oracle 10g

时间:2012-09-14 09:10:24

标签: oracle10g scheduling

我在程序包里面有一个程序,我必须每天手动运行。 如何在oracle 10g中通过oracle automaticaly完成它。

执行程序有3个输入(2个,1个varchar)和1个输出(varchar)

输入值对我来说将保持不变,但如果我必须更改它,我会这样做。 任何人都可以通过简单的例子来解释我。

由于 阿维

2 个答案:

答案 0 :(得分:2)

查看dbms_job包。它易于使用,可满足您的需求。

答案 1 :(得分:1)

您可以使用DBMS_JOB.iSubmit函数,如下所示。

BEGIN 
DBMS_JOB.isubmit ( job => 61, 
                   what => 'YOUR_PROCEDURE;', 
                   next_date => to_date('03.10.2014 00:30:00','dd.MM.yyyy HH24:Mi:ss'), -- start now         INTERVAL => 'sysdate + 1' -- Run every day ); 
COMMIT; 
END;

JOB:您可以使用未在user_jobs中使用的ID。您可以使用以下查询进行检查。

select * from user_jobs; 

内容:";"的程序名称在末尾。 Next_date:您希望您的工作运行的时间。 间隔:你工作的时间。应该是' sysdate + 1'每天。

您可以使用以下脚本删除它:

begin DBMS_JOB.REMOVE(JOB => 61); end;