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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【SQL】Oracle資料庫通過job定期重建同步表資料SQLOracle資料庫
- XXL-JOB定時任務框架(Oracle定製版)框架Oracle
- Oracle 定時任務job實際應用Oracle
- 使用oracle job定時傳送email郵件OracleAI
- 2.5.10.1 設定資料庫時區資料庫
- 定時備份MySQL資料庫MySql資料庫
- oracle定時任務dbms_job與dbms_scheduler使用方法Oracle
- 資料庫定時備份linux篇資料庫Linux
- 【Oracle】ORA-23421: job number XXXX is not a job in the job queueOracle
- 「Oracle」Oracle 資料庫安裝Oracle資料庫
- Oracle EBS 資料庫密碼複雜度設定Oracle資料庫密碼複雜度
- 關於Oracle資料庫的時間查詢Oracle資料庫
- Oracle資料庫配置Oracle資料庫
- oracle資料庫升級的時候oracle universal installer has detected........Oracle資料庫
- Oracle透明閘道器訪問SQLServer資料庫OracleSQLServer資料庫
- Oracle透明閘道器訪問MySQL資料庫OracleMySql資料庫
- 伺服器Oracle資料庫損壞修復伺服器Oracle資料庫
- 【磐維資料庫】Oracle(透明閘道器)訪問磐維資料庫(PanWeiDB)資料庫Oracle
- oracle資料庫與oracle例項Oracle資料庫
- 「Oracle」Oracle資料庫基本概念Oracle資料庫
- 「Oracle」Oracle 資料庫基本概念Oracle資料庫
- oracle job管理(zt)Oracle
- Oracle資料庫-----資料庫的基本概念Oracle資料庫
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- [20201106]瞭解oracle資料庫啟動時間.txtOracle資料庫
- Oracle資料庫表設計時的注意事項Oracle資料庫
- Oracle 19.3資料庫impdp匯入view時hang住Oracle資料庫View
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- 伺服器斷電Oracle資料庫修復資料過程伺服器Oracle資料庫
- oracle10g expdp資料泵的bug,按schema匯出,匯入impdp時無jobOracle
- 【DATAPUMP】Oracle資料泵定時備份刪除指令碼Oracle指令碼
- 實時資料庫與時序資料庫資料庫
- 資料庫定時備份winserver2012篇資料庫Server
- 遷移Oracle資料庫時如何減小停機時間AAOracle資料庫
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- 4.2. Oracle資料庫Oracle資料庫
- Laravel 使用 Oracle 資料庫LaravelOracle資料庫
- oracle資料庫卡頓Oracle資料庫