简介
数据库中的某些数据不一定要长期保存,例如:日志等数据、当保存一定时间后,系统允许删除所以系统需要定期删除那些已经过期的数据。
实现原理
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,
RE