【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 ...
随机推荐
- [Web 前端] webstorm 快速搭建react项目
cp from : https://blog.csdn.net/qq_39207948/article/details/79467144 前端新手如何安装webstorm ,初步搭建react项目 下 ...
- Filebeat+Logstash+ElasticSearch+Kibana搭建Apache访问日志解析平台
对于ELK还不太熟悉的同学可以参考我前面的两篇文章ElasticSearch + Logstash + Kibana 搭建笔记.Log stash学习笔记(一),本文搭建了一套专门访问Apache的访 ...
- CDR话单主要字段介绍
l Time of call connection RRC连接时的时间,格式:yyyy年mm月dd日hh时mm分ss秒 l Call Setup Time per sections 呼叫建立时长 ...
- hive php连接查询
baidu hive php PHP连接Hive执行sql查询 php通过 thrift访问hadoop的hive php开发Hive Web查询 php连接hive执行sql查询 利用python将 ...
- maven与jdk版本不一致报:Unsupported major.minor version 51.0
I recently uninstalled Java 8, to use Java 6 as I want my code/creations to be usable by more people ...
- Leap Motion 上手体验
很早之前就关注了Leap Motion这个颠覆性的体感操作设备,如今7月22日上市至今已经一个月左右,淘宝的价格也已经降到650元,虽说相对国外还是偏贵,但是已经忍不住尝尝鲜了. Leap Motio ...
- JavaScript:String 对象
ylbtech-JavaScript:String 对象 1.返回顶部 String 对象 String 对象用于处理文本(字符串). 创建 String 对象的语法: new String(s); ...
- System.Diagnostics.Debug和System.Diagnostics.Trace
在 .net 类库中有一个 system.diagnostics 命名空间,该命名空间提供了一些与系统进程.事件日志.和性能计数器进行交互的类库.当中包括了两个对开发人员而言十分有用的类——debug ...
- Js组件的一些写法
首先看下Prototype里的写法: var Class = { create: function() { return function() { this.init.apply(this, argu ...
- 提高sql2005中带freetexttable和rank的全文检索的速度
原来使用中的sql2005的全文检索的速度总是不如意,尤其是带rank的.今天搜了一下,原来在freetexttable中还有一个参数top_n_by_rank,是第4个参数.注意还要设置:EXEC ...