历史数据清理--方案
1. 数据库历史数据清理
#创建历史表
create table ag_alert_record_history asselect * from ag_alert_record;
select * from ag_alert_record wheremessage_time between sysdate-90 and sysdate order by message_time desc;
#删除ag_alert_record中90天之前的数据
delete from ag_alert_record where message_time >= trunc(sysdate-20) and message_time <trunc(sysdate-10);
--delete from ag_alert_record wheremessage_time <= sysdate-365;
#job启动,job第1天同步前1天的数据到历史表中
##1. 创建存储过程
create or replace procedureag_alert_record_synchronous as
begin
insert intoag_alert_record_history
(mon_id,message_time,send_time,sender,worker_id,status,response_time,handle_time,handle_user,rule_id,node_no,assembled_mon_id,focus_title)
select
t.mon_id,t.message_time,t.send_time,t.sender,t.worker_id,t.status,t.response_time,t.handle_time,t.handle_user,t.rule_id,t.node_no,t.assembled_mon_id,t.focus_titlefrom ag_alert_record t
wheret.message_time >= trunc(sysdate-1) and t.message_time < trunc(sysdate)order by t.message_time desc;
delete from ag_alert_record wheremessage_time <= sysdate-365;
end;
##2. 创建job,第一次在凌晨12点执行,以后每隔1天处理一次
declare job1 number;
begin
dbms_job.submit(job1,
what => 'wscde.ag_alert_record_synchronous;',
next_date=> to_date('2017-02-23 00:59:59', 'YYYY-MM-DD HH24:MI:SS'),
interval=> 'sysdate+1');
commit;
end;
##3. 查询job生成的id
select job,broken,what,interval,t.* fromuser_jobs t;
##4.启动job
begin
dbms_job.run(24); --jod id
end;
2. MVC前端历史数据查询修改
2.1 删除目前ag_alert_records表数据,不会造成原来逻辑改动,页面控制
2.2 新增历史数据查询页面功能,或,实现查询时间实时表与历史表数据拼接返回结果
3. ag_alert_records_history 保存1年记录,一年前的数据导出入文档备份,若未来需要审计,则通过恢复备份数据实现
具体方案:
1. 导出ag_alert_records_history为归档文件,保存
2. 清理ag_alert_records_history 一年前的数据
3. 每隔一年人工备份一次一年前的数据
其中涉及赋权的sql语句如下:
grant execute onag_alert_record_synchronous to wsjob;
grant ALL on AG_ALERT_RECORD_SYNCHRONOUS to wsjob;
历史数据清理--方案相关推荐
- SpringBatch历史数据的清理方案及实现
SpringBatch历史数据的清理方案及实现 需求背景 SpringBatch的程序已经运行了将近一年,数据量已经达到了一定的数据量级别. 对SpringBatch历史数据的清理也被提上日程. 但是 ...
- 主数据项目中的历史数据切换方案
前言:主数据项目中的历史数据切换方案需要结合应用演进策略和业务给出的切换需求,出具对应的切换方案. 历史数据切换注意点: 一.选择整体切换原则 需根据实际业务情况,制定历史数据切换原则 切换原则介绍 ...
- Docker垃圾清理方案
Docker垃圾清理方案 我们在使用docker的过程中发现基于swarm使用Storage Driver: overlay的方式进行存储.但是发现这个特别占用存储空间. 清理所有停止的容器 dock ...
- iOS开发——cache自动清理方案探索
有效的本地 cache 机制,可以避免不必要的重复网络加载,不仅能提高相关应用场景的资源加载速度,也可以避免不必要的流量浪费造成用户损失.但是,由于缓存一般做法是通过 url 经过 md5 变换的值作 ...
- 基于BCOS的历史数据查询方案
基于BCOS的历史数据查询方案 目标 完成类fabric里gethistoryfromkey的功能,即可以根据key查询key对应数据的表更记录. 方案探究 智能合约新增逻辑 在智能合约里编写逻辑: ...
- W ndows10如何清理使用痕迹,Win10 C盘突然爆满,怎么清理?史上较全的C盘清理方案,推荐收藏...
原标题:Win10 C盘突然爆满,怎么清理?史上较全的C盘清理方案,推荐收藏 有用户和老毛桃说,C盘就像是一个无底洞,无论给它分多大的分区,Windows总有办法给它填满!除了这位用户,相信很多朋友也 ...
- Mysql大表数据清理方案
需求:表t_user_login_log中存储了上千条数据,我们需要对该表做数据清理,只保留近三个月的数据. 方案一 数据量<1000条时推荐使用 DELETE方法 推荐力度:极不推荐 是否会影 ...
- EFK之elasticSearch自动清理方案
1 简介 本方案实现的功能点:输入日志文件.按照指定的日期(天数)清理数据.按照指定的磁盘路径使用率阈值清理数据.清除指定的索引数据,并配合crond实现定时监控和清理索引数据,以确保磁盘空间健康. ...
- 微信的H5页面缓存清理方案
方案1.微信手动清理 安卓端的微信,打开:http://debugx5.qq.com,点击清除 IOS端的微信,清除缓存方法如下:1.打开微信,找到"我-设置-通用-存储空间-清理微信缓存& ...
最新文章
- 曾经百度大佬吹过的牛实现了,看完这个,带你搞定AI前沿技术
- POJ 1039 Pipe
- JBOSS 5.0GA 配置布署
- Java solr 分词
- vc6 前进后退 番茄_openMP 使用 VC6+Intel Compiler 9.1 (来自网络)
- php父类继承子类_php有多态吗 多态都有什么好处?理解好多态往往能事半功倍...
- 第 8 章:管理模式对象
- .Net开源微型ORM框架测评
- stream 提取某字段_java8从list集合中取出某一属性的值的集合案例
- 【图像检索】基于matlab GUI Hu不变矩图像检索【含Matlab源码 1508期】
- Vue中导出Excel
- 一步一步教你如何在手机上看电子书
- mysql stmt num rows_php – MySQLi stmt num_rows返回0
- matlab提取多边形区域_如何利用Matlab求任意多边形的面积
- .NET 实现手机短信验证接口
- 基于TT 双WAN固件(dualwan)下的QOS脚本 很给力
- 逆境之中见真章,JASMINER在众多出海企业中脱颖而出
- Z05 - 006、网站转化以及漏斗分析(转化分析)
- 大二Web课程设计 HTML+CSS制作苹果商城网站 Apple商城 8个页面
- 路由 OSPF LSA介绍、1~7类LSA详细介绍
热门文章
- Linux gcc编译简介、常用命令
- 9-8 更新 - 2017 Citrix partner webinar PPT及在线观看地址
- zabbix监控进程的CPU和内存占用量
- 中国五大顶级域名9月第一周新增3.2万 美国净减7.6万个
- iPhone平台下的游戏开发
- 热门开源多媒体库 PJSIP 被爆5个内存损坏漏洞
- 尽快更新!Chrome 修复两个已遭在野利用的 0day
- Thunderspy: 7个硬件漏洞,影响9年来所有安装 Thunderbolt 的电脑
- ubuntu server 10.4下LAMP的安装
- 威胁情报 设备之外的安全能力