功能說明: 要求實現(xiàn)數(shù)據(jù)庫中的表數(shù)據(jù)每天午夜時分定時自動執(zhí)行數(shù)據(jù)遷移動作。
1. 創(chuàng)建歷史數(shù)據(jù)存儲表(USER_TAB_BAK), 要求與源表(USER_TAB)結(jié)構(gòu)一致;
for example:
create table USER_TAB_BAK(ID integer, varchar2(200),createdate date);
2. 編寫數(shù)據(jù)遷移存儲過程;
CREATE OR REPLACE USER_TAB_Data_Transfer as
begin
Insert Into USER_TAB_BAK
Select * From USER_TAB Where to_date(createdate,'yyyy-MM-dd')
< to_date('2007-01-01', 'yyyy-MM-dd');
Delete From USER_TAB Where to_date(createdate,'yyyy-MM-dd')
< to_date('2007-01-01', 'yyyy-MM-dd');
end;
3. 創(chuàng)建Job, 定時(每天午夜時分)執(zhí)行存儲過程;
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
(
job => X
,what => 'USER_TAB_Data_Transfer;'
,next_date => to_date('01-07-2007 00:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'TRUNC(SYSDATE+1)'
);
END;
4. 啟動Job.
begin
SYS.DBMS_JOB.RUN(:X);
end;
(注:可以借助 Toad 或 DBArtisan 等工具快速創(chuàng)建Job,以減小錯誤的發(fā)生。)
附加:
Toad for Oracle 創(chuàng)建定時任務(wù)步驟:
a. 首先登錄Toad, 點擊菜單欄中的“Schema Browser”項, 再在打開的窗口中先找到“P() Procs”項,
以創(chuàng)建存儲過程。
b. 存儲過程創(chuàng)建成功之后, 再找到“Jobs”項;
c. 進入“Jobs”標(biāo)簽頁, 點擊鼠標(biāo)右鍵菜單中的 “Create Job”開始創(chuàng)建定時任務(wù)。
d. 在窗口頁面中,需要輸入自定義的任務(wù)名稱, 所執(zhí)行的存儲過程名稱, 以及設(shè)定開始執(zhí)行的時間和定時執(zhí)行的時間間隔。
e: 最后點擊“OK”, Oracle 定時任務(wù)就創(chuàng)建成功了!
posted on 2008-08-18 14:58
末日風(fēng)情 閱讀(1107)
評論(0) 編輯 收藏 所屬分類:
oracle