【shell】定时删除DB2表数据
使用db2的时候,有时候需要对表数据进行删除,防止数据太多,造成数据库空间满了
以下是一个定时删除表tmp,tm1中id为1的数据的脚本
#!/bin/sh
##----------------------------------------------------------
##--功能说明:定时删除数据
##--开发公司:XXX
##--作者:qys
##--时间:2019-01-02
##--输入参数:无
##--版本维护
## 版本: 更新日期: 更改人: 更改说明:
## --------------------------------------------------------
## v1.0 2019-01-02 qys 创建shell脚本
##--------------------------------------------------------------
#定义数据库连接变量
dbname='QINDB'
dbuser='db2inst1'
dbpwd='db2inst1'
#连接数据库
connDB2()
{
db2 get connection state | grep 'Connected'>/dev/null
res1=$? #获取上一命令的执行状态
if [[ $res1 -eq 0 ]]
then
echo "The DB has been connected!">>deleteTable.log
else
db2 connect to $dbname user $dbuser using $dbpwd>/dev/null
res2=$?
i=0
while [ $i -lt 3 ]
do
i='expr $i + 1'
if [[ $res2 -eq 0 ]]
then
echo "The DB has been connected!">>deleteTable.log
break
else
sleep 3
db2 connect to $dbname user $dbuser using $dbpwd>/dev/null
res2=$?
fi
done
fi
}
#删除表操作
TableAry=("TMP" "TMP1")
deleteTable()
{
for Tablename in "${TableAry[@]}"
do
sql="delete from ${Tablename} WHERE ID=1"
echo "Action sql:$sql">>deleteTable.log
db2 $sql>>deleteTable.log
echo "The ${Tablename}'s data has been detete!">>deleteTable.log
done
} #断开数据库连接
DisconnectDB()
{
db2 connect reset>>deleteTable.log
echo "The DB has been disconnect!">>deleteTable.log
} #执行命令
run()
{
BeginDT=`date +%Y-%M-%d,%H:%m:%s`
echo "===================Begin${BeginDT}========================">>deleteTable.log
#1.连接数据库
connDB2
#2.删除数据
deleteTable
#3.断开数据库连接
DisconnectDB
EndDT=`date +%Y-%M-%d,%H:%m:%s`
echo "==================EndDT${EndDT}==========================">>deleteTable.log
}
run
执行脚本后:

【shell】定时删除DB2表数据的更多相关文章
- 工作随笔——mysql子查询删除原表数据
最近在开发的时候遇到一个mysql的子查询删除原表数据的问题.在网上也看了很多方法,基本也是然并卵(不是写的太乱就是效率太慢). 公司DBA给了一个很好的解决方案,让人耳目一新. DELETE fb. ...
- MYSQL中delete删除多表数据
MYSQL中delete删除多表数据 DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1. delete from t1 where 条件 2.delete t1 ...
- sqlserver快速删除整个表数据
--删除整个表数据 SET STATISTICS TIME ON; DECLARE @Timer DATETIME = GETDATE(); TRUNCATE TABLE LOG_DEBUG_ERRO ...
- MSSQL 删除数据库表数据
--删除数据库表数据 慎用 create PROCEDURE sp_DeleteAllData AS ) ) ) ) ) ) begin try begin tran -- 失效索引,触发器 open ...
- hibernate中表关系为多对多时,如何只删除中间表数据
先说问题:我遇到的问题是,在用户和用户组对象关系中他们是多对多关系.所以中间是成在一张中间表的.经理要求当逻辑删除对象数据时,必须删除中间表中的数据. hibernate是面向对象操作sql语句的,如 ...
- Python--增量循环删除MySQL表数据
需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中“指定时期前“的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQ ...
- 删除mssqlserver表数据,使id从0开始
********************************* 注意备份好数据! *************************** 1.删除表数据 delete 表名 2.执行 dbcc c ...
- MYSQL中delete删除多表数据与删除关联数据
在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例. 1.delete from t1 where 条件 ...
- oc:定时删除ES日志数据释放空间
修改方法: 1.直接编辑修改 查看当前logging-curator配置,了解当前定时删除大的策略. oc edit configmap/logging-curator 打开后,可以直接编辑保存. 2 ...
随机推荐
- CUDA报错: Cannot create Cublas handle. Cublas won't be available. 以及:Check failed: status == CUBLAS_STATUS_SUCCESS (1 vs. 0) CUBLAS_STATUS_NOT_INITIALIZED
Error描述: aita@aita-Alienware-Area-51-R5:~/AITA2/daisida/ssd-github/caffe$ make runtest -j8 .build_re ...
- [转]PHP SOCKET编程
FROM : http://blog.csdn.net/hguisu/article/details/7448528 1. 预备知识 一直以来很少看到有多少人使用php的socket模块来做一些事情, ...
- 微信二维码扫描无法下载APK文件的解决办法
- NVelocity语法常用指令
对变量的引用:$ [ ! ][ { ][ a..z, A..Z ][ a..z, A..Z, 0..9, -, _ ][ } ]. 在NVelocity中,对变量的引用都是以$开头加上变量名称.当使用 ...
- Threejs 开发3D地图实践总结【转】
Threejs 开发3D地图实践总结 前段时间连续上了一个月班,加班加点完成了一个3D攻坚项目.也算是由传统web转型到webgl图形学开发中,坑不少,做了一下总结分享. 1.法向量问题 法线是垂 ...
- Maximum Submatrix & Largest Rectangle
相关题型 问题一(最大和子矩阵) : 有一个 m x n 的矩阵,矩阵的元素可正可负.请找出该矩阵的一个子矩阵(方块),使得其所有元素之和在所有子矩阵中最大.(问题来源:http://acm.pku. ...
- Javassist 字节码 语法 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- python对json的操作总结 zz
Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于h ...
- Anciroid的IPC机制-Binder原理
Binder驱动的原理和实现 通过上一节的介绍,大家应该对Binder有了基本的认识了.任何上层应用程序接口和用户操作都需要底层硬件设备驱动的支持,并为其提供各种操作接口.本节首先从Binder的驱动 ...
- set练习
#include <iostream> #include <set> #include <vector> using namespace std; int main ...