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 05 Oracle
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
Apr 06 Oracle
oracle通过存储过程上传list保存功能
May 12 Oracle
Oracle 区块链表创建过程详解
May 15 Oracle
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
Jun 04 Oracle
Oracle创建只读账号的详细步骤
Jun 07 Oracle
Oracle 临时表空间SQL语句的实现
Sep 25 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
Oracle 多表查询基本语法实例
Apr 18 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
ORACLE中dbms_output.put_line输出问题的解决过程
Jun 28 Oracle
oracle delete误删除表数据后如何恢复
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 代码规范小结
2012/03/08 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
iis6+javascript Add an Extension File
2007/06/13 Javascript
如何用js控制css中的float的代码
2007/08/16 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
利用layer实现表单完美验证的方法
2019/09/26 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
Python中random模块用法实例分析
2015/05/19 Python
Python的Flask框架的简介和安装方法
2015/11/13 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
python+tkinter实现学生管理系统
2019/08/20 Python
python能做什么 python的含义
2019/10/12 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
python构造IP报文实例
2020/05/05 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
期中考试后的反思
2014/02/08 职场文书
导游词之天津古文化街
2019/11/09 职场文书