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设置DB、监听和EM开机启动的方法
Apr 25 Oracle
使用Navicat Premium工具将oracle数据库迁移到MySQL
May 27 Oracle
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 Oracle
分析SQL窗口函数之取值窗口函数
Apr 21 Oracle
清空 Oracle 安装记录并重新安装
Apr 26 Oracle
在Oracle表中进行关键词搜索的过程
Jun 10 Oracle
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
JS查看对象功能代码
2008/04/25 Javascript
offsetParent 算法分析
2010/04/05 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
功能完善的小程序日历组件的实现
2020/03/31 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
Python读取stdin方法实例
2019/05/24 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
python实现横向拼接图片
2020/03/23 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
应届生会计求职信
2013/11/11 职场文书
十佳班主任事迹材料
2014/01/18 职场文书
七年级地理教学反思
2014/01/26 职场文书
演讲稿格式范文
2014/05/19 职场文书
技能比武方案
2014/05/21 职场文书
行政求职信
2014/07/04 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书