Oracle資料庫定時器Job
寫法:
declare
jobno number;
begin
dbms_job.submit(
jobno,
'nextMonthInventoryCARRYFORWARD(to_char(sysdate,'||''''||'yyyy-MM-dd'||''''||'));', --what
sysdate, --next_date,可以不填
'TRUNC(LAST_DAY(SYSDATE))+1+2/24'--'Interval時間字串' --interval,關鍵設定
);
end;
在 Oracle資料庫 中,我們經常會用到 定時器Job 來讓資料庫定時的自動執行一些指令碼,或做資料庫備份,或做資料的提煉,或做資料庫的效能最佳化,包括重建索引等等的工作。但是,Oracle定時器Job時間的處理上,千變萬化,還是比較靈活的。本文我們總結了一些Oracle資料庫定時器Job在各個時間段得寫法,接下來我們就開始介紹這些。
Job引數是有Submit()過程返回的binary_integer。
what引數是將被執行的PL/SQL程式碼塊。
next_date引數指何時將執行這個工作。寫Job的時候可以不指定該值。
interval引數何時這個工作將被重執行。
其中Interval這個值是決定Job何時,被重新執行的關鍵。
1、每分鐘執行
Interval => TRUNC(sysdate, 'mi')+1/(24*60)
2、每天定時執行
例如:每天的凌晨2點執行
Interval => TRUNC(sysdate)+1+2/(24)
3、每週定時執行
例如:每週一凌晨2點執行
Interval => TRUNC(next_day(sysdate, 2))+2/24 --星期一,一週的第二天
4、每月定時執行
例如:每月1日凌晨2點執行
Interval => TRUNC(LAST_DAY(SYSDATE))+1+2/24
5、每季度定時執行
例如每季度的第一天凌晨2點執行
Interval => TRUNC(ADD_MONTH(SYSDATE), 3),'Q')+2/24
6、每半年定時執行
例如:每年7月1日和1月1日凌晨2點
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24
7、每年定時執行
例如:每年1月1日凌晨2點執行
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),12)+2/24
-------------查詢JOB-----------------
select job, what, next_date, next_sec, sysdate, failures, broken,interval
from user_jobs a;
-------------修改JOB-----------------
begin
dbms_job.change(62 ,'MY_JOP;', sysdate,'sysdate+2/(24*60)' );
commit;
end;
begin
dbms_job.change(62 ,'MY_JOP;', to_date('2011-08-01 22:00:00', 'yyyy-mm-dd hh24:mi:ss'),'sysdate+1');
commit;
end;
-------------刪除JOB-----------------
begin
dbms_job.remove(41);
end;
-------------執行Job-----------------------
begin
dbms_job.run(41);
end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557820/viewspace-2216702/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用JOB定時備份資料庫資料庫
- Oracle資料庫——Scheduler JobOracle資料庫
- 利用oracle job定時向某個表插入資料Oracle
- Oracle透過job定時建立表Oracle
- 【SQL】Oracle資料庫通過job定期重建同步表資料SQLOracle資料庫
- oracle 定義jobOracle
- 使用oracle job定時傳送email郵件OracleAI
- Oracle 定時任務job實際應用Oracle
- Oracle定時任務(DBMS_Job)詳解Oracle
- oracle資料庫設定Oracle資料庫
- XXL-JOB定時任務框架(Oracle定製版)框架Oracle
- Oracle資料庫10g schedule job的常用操作:Oracle資料庫
- Oracle資料庫時區Oracle資料庫
- oracle系統包——dbms_job用法(oracle定時任務)Oracle
- Oracle:建立JOB定時執行儲存過程Oracle儲存過程
- mysql 定時指令碼(event),類似oracle的jobMySql指令碼Oracle
- Oracle Job 定時執行設定例項[final]Oracle
- oracle job使用方法--實現定時任務Oracle
- ORACLE資料庫定時執行一些指令碼。Oracle資料庫指令碼
- DBMS_JOB.SUBMIT 建立job定時排程MIT
- 資料庫的定時備份(小庫、資料泵工具)資料庫
- oracle資料庫snap的設定Oracle資料庫
- dbms_job 定時計劃
- [資料庫] Navicat for MySQL定時備份資料庫及資料恢復資料庫MySql資料恢復
- 2.5.10.1 設定資料庫時區資料庫
- ORACLE JOB INTERVAL引數設定Oracle
- 資料庫JOB 裡的EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS()資料庫AINaN
- Oracle使用DBMS_JOB建立的資料庫作業,遇到資料庫關閉狀態的排程Oracle資料庫
- 資料庫定時備份linux篇資料庫Linux
- Oracle資料庫開發——臨時表Oracle資料庫
- oracle定時任務dbms_job與dbms_scheduler使用方法Oracle
- Oracle 定時Job報錯ORA-04068 ORA-06508Oracle
- 安裝oracle資料庫時,設定linux核心引數的意義Oracle資料庫Linux
- 實時資料庫與時序資料庫資料庫
- 定時器時間資料轉換子程式分析 (轉)定時器
- 採用job定時執行recover datafile
- 定時做資料庫恢復測試sqlserver資料庫SQLServer
- Oracle Scheduler Job未能按時啟動Oracle