关于oracle job定时执行的问题?
|
问?:
我在一个oracle服务器上执行一个job定时执行程序。
创建test表:create table TEST(a date); 创建myproc存储过程: create or replace procedure MYPROC as begin insert into TEST values(sysdate); end; 提交job: variable job1 number; begin dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440'); end; 运行job: begin dbms_job.run(:job1); end; 问题:一切都能建好,但它就是不更新。在另外的一个oracle服务器上可以运行,是不是跟服务器的用户有关啊,请高手赐教。。
答!:
1:
确保数据库init.ora文件中有以下内容:
job_queue_processes=10(或大于10) job_queue_interval=60 (或小于60, 仅用于Oracle 8.1.x版本)
答!:
2:
怎么你的语句里都没有看见commit?
答!:
3:
加了commit也不行啊!!!
job_queue_processes也设置了,我想是不是数据库的用户名有关系啊.
答!:
4:
job_queue_processes设置为5了.
同样的job,在另外的数据库运行都正常,是什么原因哦??
答!:
5:
job_queue_processes设置为5以后要重起数据库
然后你的操作要重新执行一遍。
答!:
6:
你先查看一下作业是否正在运行,
dba_jobs_running 视图, all_jobs是当前用户可以访问的所有作业视图。 如果没有运行,可适当增加job_queue_processes的值,增加并发运行的job数量,最大值1000。 例; alter system set job_queue_processes = 20; 再 强制执行dbms_job.run(job号);
答!:
7:
job_queue_processes设置之后,需要重启吗?数据库在服务上,我不能重启的.
用select * from dba_jobs_running查询,内容为空.
答!:
8:
begin
sys.dbms_job.submit(job => :job, what => 'MUSER.PMATERIALCOLLECT (1,''C'',''M'');', next_date => to_date('16-08-2006 00:30:00', 'dd-mm-yyyy hh24:mi:ss'), interval => 'TRUNC(SYSDATE)+1+30/1440'); commit; end; / |
关于oracle job定时执行的问题
最新推荐文章于 2024-03-08 08:00:00 发布