各位大神,问个oracle中的关于job的问题项目中需要为其他系统提供数据,大概思路:使用JOB每天定时执行存储过程,从视图中读取数据写到中间表存储过程的执行语句如下(简化):
insert into test values('A',sysdate);-------------------1
commit;insert into T_XXX (A,B,C,D,GET_FLAG,ID) ----------------2
select A,B,C,D,'0',seq_XXX.nextval from V_XXX;
commit;insert into test values('B',sysdate);-------------------3
commit;
其中2是真正要写入的数据(执行时间不到2s),1和3是测试写入的数据,问题:
JOB自动执行是有跑起来的,但是没有跑完,一直fail
test表中只有 1 写入的数据,没有 3 的数据, 2 中也没有数据
手动执行存储过程就正常了,都有数据,sys.dbms_job.run也正常
为什么第2条insert语句在JOB自动执行中会不成功?使用了下面的方法也是出现一样的问题:1、不用视图,直接select table
2、JOB_QUEUE_PROCESSES值30,够用
3、JOB中不调存储过程,what直接写上面的insert语句
哪位高人来解答一下?
oraclejob
解决方案 »
- 求条统计成绩的sql
- ORA-12154 connect failed because target host or object does not exist
- 求一条关于合并内容的sql语句
- oracle新手求高手帮我做两道题目
- javaMail包loadjava到ora9i报错
- view 可以update 么?
- 一句SQL语句求解!!!在线等~~~~~~~
- ADO连接Oracle9i的字符串怎么写?
- 高手!!oracle中是否有像Ms Sqlserver中的生成Sql语句的工具,在那里找到??
- 求大神帮小白看一道题
- oracle装不上求解
- Oracle下载后解压在2345好压第一个文件就失败了,结果是安装报错。
as
begin
insert into test select 1,sysdate from dual;
commit;
insert into test1 select seq_1.nextval,'sych' from dual;
commit;
insert into test select 2,sysdate from dual;
commit;
end;begin
sys.dbms_job.submit(job => :job,
what => 'test_job;',
next_date => to_date('01-01-4000', 'dd-mm-yyyy'),
interval => 'sysdate+1/24/60');
commit;
end;
/
存储过程手动执行是正常的,在JOB中就不行了