oracle 定时清理表数据,关于Oracle存储过程和调度器实现自动对数据库过期数据清除的问题...

本文介绍了如何使用Oracle的存储过程和调度器来自动清理数据库中的过期数据。通过创建SYS_DBA_CONFIG表配置清理规则,DBA_AUTODELETE和DBA_AUTORUNSCRIPT两个存储过程分别负责删除数据和判断清理功能是否启用,Job_DBA_AutoRunScript定时器按设定周期执行清理任务。

简介

数据库中的某些数据不一定要长期保存,例如:日志等数据、当保存一定时间后,系统允许删除所以系统需要定期删除那些已经过期的数据。

实现原理

1张表(SYS_DBA_CONFIG)、1个Job定时器(Job_DBA_AutoRunScript)和2个存储过程(DBA_AUTODELETE、DBA_AUTORUNSCRIPT)实现自动清理不同表中的过期数据。 通过定时器调用存储过程查表判断是否开启过期数据清理功能,如果开启调用数据清理的存储过程。

建表

建立数据库任务配置表,用来管理数据库中那些表需要定期处理。

表格类型

字段名

Type

非空

注解

NAME

VARCHAR2(200)

任务执行对象名称

VALUE

VARCHAR2(200)

设置保存时间(天)

TYPE

VARCHAR2(200)

执行类型

ISRUN

NUMBER(1,0)

是否执行

REMARK

VARCHAR2(200)

对应表中判断时间的字段

COLUMNTYPE

VARCHAR2(200)

字段类型

建表语法

create table SYS_DBA_CONFIG

(

NAME VARCHAR2(200) not null,

value VARCHAR2(200) not null,

type VARCHAR2(200) not null,

REMARK VARCHAR2(200) not null

ISRUN NUMBER(1) not null,

COLUM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值