oracle中job的應用

2021-04-13 01:38:20 字數 1791 閱讀 5325

oracle中job的應用

1、建立儲存過程

create or replace procedure *pro_name

asbegin

insert into agri_exhibition_basecur (messid,title,type,pub_date) select id,title,sort,pub_date from agri_message where (trunc(sysdate-pub_date)=0 and rownum<6) and sort='供' ;

insert into agri_exhibition_basecur (messid,title,type,pub_date) select id,title,sort,pub_date from agri_message where (trunc(sysdate-pub_date)=0 and rownum<6) and sort='求' ;

end;

/2、建立job

variable jobdxm number;

begin

dbms_job.submit(:jobdxm,'exhi_pro_dxm;',sysdate,'trunc(sysdate,''dd'')+32.5/24');

end;

乙個簡單的job實列

1、建立測試表

sql> create table a(a date);

表已建立。

2、建立乙個自定義過程

sql> create or replace procedure test as

2 begin

3 insert into a values(sysdate);

4 end;

5 /過程已建立。

3、建立job

sql> variable job1 number;

sql>

sql> begin

2 dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分鐘,即一分鐘執行test過程一次

3 end;

4 /pl/sql 過程已成功完成。

4、執行job

sql> begin

2 dbms_job.run(:job1);

3 end;

4 /pl/sql 過程已成功完成。

sql> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 時間 from a;

時間-------------------

2001/01/07 23:51:21

2001/01/07 23:52:22

2001/01/07 23:53:24

5、刪除job

sql> begin

2 dbms_job.remove(:job1);

3 end;

4 /pl/sql 過程已成功完成。

6、一些必要的引數

修改initsid.ora引數

job_queue_processes = 4

job_queue_interval = 10

job_queue_keep_connections=true

修改可執行作業個數為20個

alter system set job_queue_processes = 20

修改取消限制模式

alter system disable restricted session;

7、兩個必要的表

user_jobs及dba_jobs_running

oracle中job的簡單例項

oracle job簡單的說,就是oracle提供的乙個定期執行某個儲存過程或者包體的功能。一 建立測試表 sql create table test a date 表已建立。二 建立乙個自定義過程 sql create or replace procedure myproc as 2 begin ...

oracle中job的interval設定方法

interval引數值 每天午夜12點 trunc sysdate 1 每天早上8點30分 trunc sysdate 1 8 60 30 24 60 每星期二中午12點 next day trunc sysdate tuesday 12 24 每個月第一天的午夜12點 trunc last day...

oracle中job簡單事例

oracle中job簡單事例 oracle中job的應用 1 建立儲存過程 create or replace procedure pro name asbegin insert into agri exhibition basecur messid,title,type,pub date sele...