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表分区的概念及操作
Apr 24 Oracle
Oracle设置DB、监听和EM开机启动的方法
Apr 25 Oracle
mybatis使用oracle进行添加数据的方法
Apr 27 Oracle
zabbix agent2 监控oracle数据库的方法
May 13 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
ORACLE查看当前账号的相关信息
Jun 18 Oracle
oracle连接ODBC sqlserver数据源的详细步骤
Jul 25 Oracle
详解Oracle数据库中自带的所有表结构(sql代码)
Nov 20 Oracle
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
Jun 28 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
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
PHP中设置时区方法小结
2012/06/03 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
django 常用orm操作详解
2017/09/13 Python
Python实现学生成绩管理系统
2020/04/05 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
总经理秘书的岗位职责
2013/12/27 职场文书
读书心得体会
2013/12/28 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
Elasticsearch 配置详解
2022/04/19 Java/Android