我正在尝试使用 dbms_jobs 并行运行一些程序,但我在执行此操作时遇到了一些问题。尝试运行以下代码时,我收到此错误
20:28:16 Info: Job #16 could not be executed. ORA-12011: execution of 1 jobs failed
ORA-06512: at "SYS.DBMS_IJOB", line 469
ORA-06512: at "SYS.DBMS_JOB", line 282
ORA-06512: at line 1
declare
ln_dummy number;
p_stdate CONSTANT DATE := '01-MAY-2012';
p_edate CONSTANT DATE := '31-MAY-2012';
p_cdate CONSTANT DATE := '09-FEB-2013';
p_key CONSTANT INTEGER:= 0;
p_ercode INTEGER;
p_erdesc VARCHAR2(200);
begin
COMMIT;
DBMS_JOB.SUBMIT(ln_dummy,'MY_PROC_1('''|| p_stdate ||''','''|| p_edate ||''','''|| p_cdate||''','''|| p_key ||''', :p_ercode, :p_erdesc: );');
COMMIT;
end;
/
p_ercode 和 p_erdesc 是 MY_PROC_1 中的输出参数。如果我尝试将其注释掉,则作业将毫无问题地运行。
我的问题是如何在不注释掉 MY_PROC_1 中的 p_ercode 和 p_erdesc 的情况下运行这项工作。
另外,有没有办法知道哪个作业正在运行以及哪个作业已经完成?类似于警报的东西?