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...