oracle 计划任务

来源:互联网 发布:电力网络 桌游 编辑:程序博客网 时间:2024/06/08 01:20

系统从实时数据库取测点数据,插入oracle中,由于测点数据量比较大,而且插入的历史数据只需保留两天即可,对于以前的数据定期删除。

 

使用oracle的计划任务来做。

 

首先定义存储过程,删除前两天的数据。

create or replace procedure DeleteSISPONITis
begin
    delete  from sisponit where to_char(gettime,'yyyy-mm-dd') < to_char(sysdate-1,'yyyy-mm-dd');
end DeleteSISPONIT;

 

定义计划任务,在plsql中提供了工具,只需配置即可。

如要在plsql中通过命令窗口创建job:

declare job1 number;
begin
sys.dbms_job.submit(job1,'DeleteSISPONIT;',sysdate,'sysdate+1');
commit;
end;
/

DeleteSISPONIT为存储过程名,sysdate当前运行时间,sysdate+1下一次执行时间(周期为每天)

 

 

SQL*PLUS中创建

variable job1 number;
begin
sys.dbms_job.submit(job =>:job,
    what =>'DeleteSISPONIT;',
    next_date =>'sysdate',
    interval => 'sysdate+1');
commit;
end;
/

 

 

运行job

begin
dbms_job.run(3017);
end;

 

 

原创粉丝点击