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 相关文章推荐
使用springboot暴露oracle数据接口的问题
May 07 Oracle
Oracle 区块链表创建过程详解
May 15 Oracle
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
Oracle中update和select 关联操作
Jan 18 Oracle
oracle删除超过N天数据脚本的方法
Feb 28 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
Lakehouse数据湖并发控制陷阱分析
Mar 31 Oracle
Oracle使用别名的好处
Apr 19 Oracle
instantclient客户端 连接oracle数据库
Apr 26 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
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
理解Python中的With语句
2015/02/02 Python
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
Python AES加密实例解析
2018/01/18 Python
Django的models中on_delete参数详解
2019/07/16 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
pandas数据处理之绘图的实现
2020/06/15 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
承认错误的检讨书
2014/01/30 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
门店店长岗位职责
2015/04/14 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
实验心得体会范文
2016/01/25 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
用Python实现屏幕截图详解
2022/01/22 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python