Sqlserver和Oracle上的定時任務建立

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,如圖:

 

相關文章
相關標籤/搜索