oracle删除超过N天数据脚本的方法


Posted in Oracle onFebruary 28, 2022

公司内做的项目是工厂内的,一般工厂内数据要求的是实时性,很久之前的数据可以自行删除处理,我们数据库用的oracle,所以就想着写一个脚本来删除,这样的话,脚本不管放在那里使用都可以达到效果

由于服务器是windows,参照Oracle Shell Scripting中,我们写一下windows下的脚本

首先删除数据的sql语句写一下

DELETE FROM tablename WHERE createdtime<TRUNC(SYSDATE)-59;  --删除59天前的数据
commit;   --提交事务
alter table tablename enable row movement;  --数据删除之后会产生很多空行,打开行移动,移动之后rowid会发生变化
alter table tablename shrink space;  --连同索引一起压缩,解决delete语句造成的空间未释放问题
alter table tablename disable row movement;  --关闭行迁移

这一段相当于

SPOOL C:\emp.lst
SET LINESIZE 100
SET PAGESIZE 50
SELECT *
FROM emp;
SPOOL OFF

所以我们得到了一个新的sql文件,例如C:\emp.sql

CONNECT scott/tiger
--开始删除
DELETE FROM tablename WHERE createdtime<TRUNC(SYSDATE)-59;
commit;
alter table tablename enable row movement;
alter table tablename shrink space;
alter table tablename disable row movement;
--结束删除
--如果删除多个表,可以将上面语句复制一下,tablename和where条件修改一下就可以了
EXIT;

然后创建一个文件C:\get_emp.bat

@echo off
echo 开始删除过期数据并缩容
sqlplus /nolog @C:\emp.sql
echo 执行成功
pause
exit

保存之后,执行一下看会不会出现问题,如果不会出现问题,添加一下windows的任务计划程序,或者自己写一个windows服务,定期调用一下这个bat就可以了

linux版本的类似,写法这个连接下面有,写完之后先进行测试,然后使用cron或者其他进行定期调用即可

当然,操作数据库表不局限于定期清理数据,也可以进行报表生成、新表创建等其他操作

到此这篇关于oracle删除超过N天数据脚本的文章就介绍到这了,更多相关oracle删除数据脚本内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Oracle 相关文章推荐
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
oracle连接ODBC sqlserver数据源的详细步骤
Jul 25 Oracle
oracle索引总结
Sep 25 Oracle
C#连接ORACLE出现乱码问题的解决方法
Oct 05 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
详解Oracle数据库中自带的所有表结构(sql代码)
Nov 20 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
清空 Oracle 安装记录并重新安装
Apr 26 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 Oracle
Oracle中日期的使用方法实例
Jul 07 Oracle
oracle重置序列从0开始递增1
Feb 28 #Oracle
Oracle 触发器trigger使用案例
Feb 24 #Oracle
Oracle中update和select 关联操作
Jan 18 #Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 #Oracle
详解Oracle数据库中自带的所有表结构(sql代码)
Oracle表空间与权限的深入讲解
Nov 17 #Oracle
详解Oracle块修改跟踪功能
Nov 07 #Oracle
You might like
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
jquery tools之tooltip
2009/07/25 Javascript
JavaScript QueryString解析类代码
2010/01/17 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
JS库之ParticlesJS使用简介
2017/09/12 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
js实现聊天对话框
2020/02/08 Javascript
详解vue 组件注册
2020/11/20 Vue.js
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
python 实现单通道转3通道
2019/12/03 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
django 模型字段设置默认值代码
2020/07/15 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
年终奖发放方案
2014/06/02 职场文书
物流管理专业推荐信
2014/09/06 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
心术观后感
2015/06/11 职场文书
胡桃夹子观后感
2015/06/11 职场文书
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis