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通过存储过程上传list保存功能
May 12 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
快速学习Oracle触发器和游标
Jun 30 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
详解SQL的窗口函数
Apr 21 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
在Oracle表中进行关键词搜索的过程
Jun 10 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 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为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
php中in_array函数用法探究
2014/11/25 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
Python3.x中自定义比较函数
2015/04/24 Python
Python实现程序的单一实例用法分析
2015/06/03 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
波兰购物网站:MALL.PL
2019/05/01 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
《第一朵杏花》教学反思
2014/04/16 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书
个人事迹材料范文
2014/12/29 职场文书
小学家长通知书评语
2014/12/31 职场文书
幼儿教师个人总结
2015/02/05 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书