Sign-up....

关于oracle9i中作业执行的2个疑问,请高手指点。

1、job不能自动执行需要设置在init.ora中加入:

job_queue_interval = 60

job_queue_processes = 3,如果没有这项,下次重新启动机器时,job也不能自动执行。

非常奇怪的是默认安装的init.ora中没有这两项,而且用一下2条语句不能修改:

ALTER SYSTEM SET job_queue_processes=5 SCOPE=SPFILE;

ALTER SYSTEM SET job_queue_processes=5 SCOPE=both;

提示:ERROR 位于第 1 行:

ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE

只能用alter system set job_queue_processes=1;

能不能让系统自动增加job_queue_processes = 3?且

ALTER SYSTEM SET job_queue_processes=5 SCOPE=SPFILE;

ALTER SYSTEM SET job_queue_processes=5 SCOPE=both; 为什么会出错?

2、我做了个job的简单测试:

建表:

create table a(a1 date);

创建过程:

create or replace procedure test as

begin

insert into a values(sysdate);

commit;

end;

/

创建job:

VARIABLE jobno number;

begin

dbms_job.submit(:jobno,

'test;',

sysdate,

'trunc(sysdate,''hh24'')+1/24'); --每小时执行一次 

commit;

end;

/

运行job:

begin

dbms_job.run(:jobno);

end;

/

按理说,这个job是1小时执行一次,也就是说一小时才插入一条纪录,可我发现每分钟估计有4条纪录,好像和'trunc(sysdate,''hh24'')+1/24'没有什么关系!这是为什么呢?我现在需要在每天的10:30运行一次job,该怎么做呢?

谢谢

[1141 byte] By [msdn] at [2007-8-14 15:21:54]
# 1 Re: 关于oracle9i中作业执行的2个疑问,请高手指点。

在每天的10:30运行一次job:

dbms_job.submit(:jobno,'test;',sysdate,'trunc(sysdate)+7/16'); 

space6212327 at 2005-5-1 23:44:56 >
# 2 Re: 关于oracle9i中作业执行的2个疑问,请高手指点。

不行啊!

Yans at 2005-5-2 13:05:18 >
# 3 Re: 关于oracle9i中作业执行的2个疑问,请高手指点。

我刚运行完job,一察看表a,就已经有10条记录了!按理说没有纪录的阿!

Yans at 2005-5-2 13:08:28 >
# 4 Re: 关于oracle9i中作业执行的2个疑问,请高手指点。

第一个问题中alter system set job_queue_processes=1;并没有改变init.ora中 job_queue_processes的值,但用show parameter job;察看却是改变了的,再次启动机器,

用show parameter job;察看还是原来的值,job再也不运行了。这是为什么呢?

Yans at 2005-5-4 11:13:58 >
# 5 Re: 关于oracle9i中作业执行的2个疑问,请高手指点。

alter system set job_queue_processes=1;更改的是spfile的值,所以没有改变init.ora中 job_queue_processes的值,但用show parameter job;察看却是改变了的。

你启动选择的可能是pfile,所以次启动机器,用show parameter job;察看还是原来的值,job再也不运行了

space6212327 at 2005-5-4 12:17:58 >
# 6 Re: 关于oracle9i中作业执行的2个疑问,请高手指点。

大虾,我该怎么处理呢?

Yans at 2005-5-5 23:19:59 >
# 7 Re: 关于oracle9i中作业执行的2个疑问,请高手指点。

仔细看了你的问题,发现原因了,你更改了的是spfile的参数,但你没有用spfile启动。

第一个问题:

按照一下步骤试试:

create spfile from pfile;

startup force;

alter system enable restricted session;

ALTER SYSTEM SET job_queue_processes=5 SCOPE=SPFILE;

shutdown immediate

startup

space6212327 at 2005-5-15 14:24:50 >

Oracle

All Classified