Sqlserver和Oracle上的定時任務建立
Sqlserver上的定時任務建立
1.打開sql server 代理sql
2.右擊做業,新建做業數據庫
3.選擇步驟選項,新建步驟spa
4.在步驟的常規選項輸入步驟名稱,選中數據庫,填寫sql語句:代理
delete MTC_TASKLOG where CREATE_TIME < getdate();code
5.選步驟的高級選項,因爲只建了一個步驟,因此須要在成功時要執行的操做選項中選擇退出報告成功的做業server
6.選擇計劃選項,填寫名稱,並選擇執行的頻率爲天天,時間點爲凌晨1點,點擊肯定.blog
7.選擇sql server 代理,右擊啓動,肯定,定時任務就生效。ci
其餘:能夠臨時修改計劃選項的時間,以驗證sql命令是否當即按要求執行。rem
附圖1-7:get
圖1:

圖2:

圖3:

圖4:

圖5

圖6:

圖7

圖8:

Oracle上的定時任務建立
1. 建立刪除MTC_TASKLOG的存儲過程
create or replace procedure clear_mtctasklog_pro as begin delete MTC_TASKLOG where CREATE_TIME < sysdate; end clear_mtctasklog_pro; |
2.建立定時任務,天天凌晨1點執行,默認是建立後就執行的
--創建job --創建job後默認是執行的 declare mtc_job number; begin dbms_job.submit(mtc_job,'clear_mtctasklog_pro;',sysdate,' TRUNC(sysdate) + 1 +1 / (24)'); commit; end; |
完。
其餘命名供參考:
---中止job 25是創建的job test_job_really begin dbms_job.broken(25,true); commit; end; --啓動job begin dbms_job.run(25); commit; end; --刪除job begin dbms_job.remove(25); commit; end; --查看執行結果 select * from test_job order by test_job.para_date desc; --查看job select * from sys.user_jobs --使用下面的SQL查詢是否JOB還在Running,前提是須要job執行時間不能太短 select * from dba_jobs_running --除了submit參數外,其他的幾個參數有: --運行job dbms_job.run(v_job); --中止一個job,裏面參數true也但是false,next_date(某一時刻中止)也但是sysdate(馬上中止)。 dbms_job.broke(v_job,true,next_date); --刪除某個job dbms_job.remove(v_job); dbms_job.what(v_job,'sp_fact_charge_code;'); --修改某個job名 修改下一次運行時間 dbms_job.next_date(v_job,sysdate); |
上面的數字25指的是定時任務的ID,如圖:
