實現的功能:
每隔一分鐘自動向getsysdate表中插入當前的系統時間。
一、創測試表
create table getsysdate(test date);
二、創要定時執行的儲存過程
create or replace procedure insertsysdate as
begin
insert into getsysdate values (sysdate);
end ;
三、建立job,即建立待執行的定時任務過程
variable job1 number;
begin
dbms_job.submit(:job1,'insertsysdate;',sysdate,'sysdate+1/1440');
end;
四、啟動job,即啟動並執行定時任務過程
begin
dbms_job.run(:job1);
end;
五、檢視執行效果
select to_char(test,'yyyy/mm/dd hh24:mi:ss') from getsysdate;
結果如下:
2007/08/03 10:53:11
2007/08/03 11:05:51
部分重點引數補充說明:
dbms_job.submit(:jobno,//job號
'your_procedure;',//要執行的過程
trunc(sysdate)+1/24,//下次執行時間
'trunc(sysdate)+1/24+1'//每次間隔時間
); 刪除job:dbms_job.remove(jobno);
修改要執行的操作:job:dbms_job.what(jobno,what);
停止job:dbms.broken(job,broken,nextdate);
啟動job:dbms_job.run(jobno);
修改job_queue_processes的值:(保證其不為0否則job不自動執行)
可通過select * from v$parameter;檢視其值;
或者直接用show parameter job_queue_processes;檢視如下:
name type value
--------------- ----------- ------------
job_queue_processes integer 10
方法1.startup pfile='c:oracleora90databaseinitorcl.ora';
//這個方法用來修改initorcl.ora檔案的job_queue_processes引數,然後重新啟動資料庫
方法2.alter system set job_queue_processes=10
//這個方法不用重啟資料庫就可以生效,系統自動修改init.ora檔案以後即可生效 。
Oralce定時執行儲存過程任務的設定步驟
實現的功能 每隔一分鐘自動向getsysdate表中插入當前的系統時間。一 創測試表 create table getsysdate test date 二 創要定時執行的儲存過程 create or replace procedure insertsysdate as begin insert i...
Oralce定時執行儲存過程任務的設定步驟
實現的功能 每隔一分鐘自動向getsysdate表中插入當前的系統時間。一 創測試表 create table getsysdate test date 二 創要定時執行的儲存過程 create or replace procedure insertsysdate as begin insert i...
儲存過程定時執行
有兩種方法 1 編寫 shell 指令碼,使用 crontab 在後台定時執行 a shell 指令碼pr merge query report.sh bin sh oracle base oracle home 指定環境變數 oracle home oracle home data nls lan...