功能說明: 要求實現數據庫中的表數據每天午夜時分定時自動執行數據遷移動作。
1. 創建歷史數據存儲表(USER_TAB_BAK), 要求與源表(USER_TAB)結構一致;
for example:
create table USER_TAB_BAK(ID integer, varchar2(200),createdate date);
2. 編寫數據遷移存儲過程;
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. 創建Job, 定時(每天午夜時分)執行存儲過程;
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 等工具快速創建Job,以減小錯誤的發生。)
附加:
Toad for Oracle 創建定時任務步驟:
a. 首先登錄Toad, 點擊菜單欄中的“Schema Browser”項, 再在打開的窗口中先找到“P() Procs”項,
以創建存儲過程。
b. 存儲過程創建成功之后, 再找到“Jobs”項;
c. 進入“Jobs”標簽頁, 點擊鼠標右鍵菜單中的 “Create Job”開始創建定時任務。
d. 在窗口頁面中,需要輸入自定義的任務名稱, 所執行的存儲過程名稱, 以及設定開始執行的時間和定時執行的時間間隔。
e: 最后點擊“OK”, Oracle 定時任務就創建成功了!
posted on 2008-08-18 14:58
末日風情 閱讀(1107)
評論(0) 編輯 收藏 所屬分類:
oracle