ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用 dbms_scheduler 定期删除大表中的历史记录

使用 dbms_scheduler 定期删除大表中的历史记录

原创 Linux操作系统 作者:tolywang 时间:2011-09-16 14:52:44 0 删除 编辑

Oracle 10.2.0.4   ,   RAC 

 

CREATE OR REPLACE PROCEDURE  WM71.DEL_HIS_BIZDOCCONTENT(p_status OUT  VARCHAR2)
AS
   BEGIN 

delete from  wm71.bizdoccontent where
  docid  in
   ( select docid  from  wm53.bizdoc 
          where doctimestamp < sysdate -40
               and doctimestamp >= sysdate -41) ; 

commit ; 

delete from  wm71.bizdoccontent where
   docid  in
     ( select docid  from  wm53.bizdoc 
          where doctimestamp < sysdate -41
                 and doctimestamp >= sysdate -42) ; 
 
commit ; 

     p_status  := SQLCODE ; 

   EXCEPTION
          WHEN OTHERS
   THEN
        p_status := SQLCODE || 'EXCEPTION OCCURED IN WM71.DEL_HIS_BIZDOCCONTENT PROCEDURE' ||

SUBSTR(SQLERRM,1,128); 
        -- DBMS_OUTPUT.PUT('EXCEPTION OCCURED IN WM71.DEL_HIS_BIZDOCCONTENT' || SQLCODE ||

SUBSTR(SQLERRM,1,400));
   END;
/

 

 

 

begin
 dbms_scheduler.create_job('DEL71_HIS_BIZDOCCONTENT_JOB',
   job_action=> 'WM71.DEL_HIS_BIZDOCCONTENT'  ,
  start_date => sysdate ,  
   repeat_interval => 'FREQ=DAILY; BYHOUR=07,08 ;  BYMINUTE=0,30',
   job_type=>'STORED_PROCEDURE', enabled=>TRUE);
 end;
/


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-712438/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13170149