關於oracle job定時執行的問題

2021-04-16 14:04:08 字數 1648 閱讀 2307

關於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 定時任務,定時執行

declare jobno number begin sys.dbms job.submit jobno,dayreport sysdate,trunc sysdate,mi 1 24 60 commit end 注 dayreport 為儲存過程名字 select from sys.user jo...

oracle job 定時執行 儲存過程

一 簡單測試job的建立過程案例 1,先建立一張job test表,欄位為a 日期格式 sql create table job test a date table created sql commit commit complete 2,建立乙個儲存過程 bb 作用是往pig表中插入資料 sql ...

oracle job 定時執行 儲存過程

一 簡單測試job的建立過程案例 1,先建立一張job test表,欄位為a 日期格式 sql create table job test a date table created sql commit commit complete 2,建立乙個儲存過程 bb 作用是往pig表中插入資料 sql ...