Oracle 创建定时任务
  4Z2XPuszm5rs 2023年11月05日 34 0

    针对项目中产生大量的日志记录,如果不定时清理的话,会导致表空间不足,需要扩展表空间。可以利用Oracle 数据库定时任务来定时清理日志表等操作。

    1、首先建立删除表中日志的存储过程:

create or replace procedure del_testlog is

begin

 delete from del_testlog where to_date(CFSTIME,'yy-mm-dd hh24:mi:ss') < sysdate-1;

 commit;

EXCEPTION

  WHEN NO_DATA_FOUND

  THEN

     NULL;

  WHEN OTHERS

  THEN

     RAISE;

end del_testlog;

2、声明定时任务

declare   

   clearlogs number;

begin

   dbms_job.submit(clearlogs , 'del_testlog ;', sysdate, 'sysdate+ 1+2/(24)');--每天凌晨2点执行

end;

3、-查看任务job  Id

     select * from user_jobs;

4、运行定时任务

begin

   dbms_job.run(步骤3中查询的id);

end;

5、删除定时任务

   begin

    dbms_job.remove(步骤3中查询的id);

   end;

说明:关于定时任务的执行频率

     ①每隔两天执行一次 sysdate + 2

     ②每12个小时执行一次 sysdate + 1/2

     ③ 每分钟执行一次 sysdate + 1/24/60

     ④每2分钟执行一次 sysdate + 2/24/60

     ⑤ 每小时执行一次 sysdate + 1/24

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: MyBatis了解 下一篇: MySQL事务四大特性ACID
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
4Z2XPuszm5rs