那为什么我的这个执行也不行了 SQL> begin 2 dbms_job.run(2); 3 end; 4 / begin * ERROR 位于第 1 行: ORA-12011: 无法执行 1 作业 ORA-06512: 在"SYS.DBMS_IJOB", line 405 ORA-06512: 在"SYS.DBMS_JOB", line 267 ORA-06512: 在line 2
Are you sure your job is stop?select * from all_jobs;Check the state of your job first.if your job is stoped then dbms_job.run(2) else dbms_job.stop(2)...
我正在作测试,想等测试成功后,将会把正式的加入。我的测试程序是这样的,很简单的一个。 create or replace procedure testg as begin insert into testgzh(test_key,test_desc) values(11,'jhk'); commit; end testg;
jobno number;
begin
DBMS_JOB.SUBMIT(jobno,
'testg;',SYSDATE,'trunc(SYSDATE,''mm'')+24');
commit;
end;
SQL> begin
2 dbms_job.run(2);
3 end;
4 /
begin
*
ERROR 位于第 1 行:
ORA-12011: 无法执行 1 作业
ORA-06512: 在"SYS.DBMS_IJOB", line 405
ORA-06512: 在"SYS.DBMS_JOB", line 267
ORA-06512: 在line 2
注意,修改时间是在服务端,客户端没关系的.
查看 NEXT_DATE, NEXT_Dec列的值。
如果过时间还没反应,查看FAILURES列。
jobno number;
begin
DBMS_JOB.SUBMIT(jobno,
'testg;',SYSDATE,'trunc(SYSDATE,''mm'')+24');
commit;
end;
在将时间改到24号23:59:30试试
begin
sys.dbms_job.submit(job,
'AAA.XXX;',
to_date('19-06-2003 03:00:00', 'dd-mm-yyyy hh24:mi:ss'),
'to_date(to_char(sysdate+1,''yyyymmdd''),''YYYYMMDD'')+3/24');
commit;
end;
100%没有问题,目前正在运行,呵呵~~~~
create or replace procedure testg as
begin
insert into testgzh(test_key,test_desc)
values(11,'jhk');
commit;
end testg;
首先确认你创建进程是没有错误,存储过程也没有错误。
然后你要得到你的进程号。
查询DBA_JOBS的LAST_DATE,LAST_SEC,NEXT_DATE,NEXT_SEC,FAILURE,BROKEN等列。
LAST_DATE&LAST_SEC 进程上次执行的时间
NEXT_DATE&NEXT_SEC 进程下次执行的时间
FAILURE 本次执行失败的次数
BROKEN 如果为Y,则Disables job execution提交时的几个参数你也明白是什么意思吧?这样你就可以分析出问题所在了。
只要知道是什么问题,一定可以解决。