#! /bin/bash
# Description: sh db2
# chkconfig: 35 55 25
# Copyright (c) 2010-08 Gerry
# db2.sh
#===============================
# user conifg here
# param is table name ! you must put upon string here
table_name="TEST_PARTITION"
backup_date="6"
#===============================
backup_tablename="backup_$table_name`date +%Y%m%d%H%M%S`"
sql_3="DROP TABLE $backup_tablename"
schar="t.*"
sql_export="select "${schar}" from $backup_tablename as t"
sql_partitionno="SELECT datapartitionname FROM SYSIBM.SYSDATAPARTITIONS where tabschema='XXXXDB' and tabname='$table_name'
and lowvalue=(select ''''|| to_char(year(current date - $backup_date months)||'-'||month(current date - $backup_date months)||'-01','yyyy-MM-dd')||'''' from sysibm.sysdummy1)"
#echo $sql_partitionno
#select parno
db2 connect to xxxxdb user username using password
sdata0=`db2 -x "$sql_partitionno"`
db2 connect reset
#echo "=======$sdata0========="
#step 0
if [ "${sdata0:0:1}" != "P" ] ; then
echo "not data exit step 0..."
exit 1
fi
#getdate6this
sql_pathdate6="select year(current date - $backup_date months)||'-'||month(current date - $backup_date months)||'-01' from sysibm.sysdummy1"
db2 connect to xxxxdb user username using password
sdata0_1=`db2 -x "$sql_pathdate6"`
db2 connect reset
filepath="/db2users/backup/"$table_name"-"${sdata0_1:0:9}""
#echo "==================== $filepath ============= $sql_pathdate6 ========="
sdata1="0"
sdata2="0"
sdata3="0"
sdata4="0"
sql_2="ALTER TABLE $table_name DETACH PARTITION $sdata0 into $backup_tablename"
# delete the part from db2 table
db2 connect to xxxxdb user username using password
sdata1=`db2 -x "$sql_2"`
db2 connect reset
#echo "==========$sql_2=============="
#step 1
if [ "${sdata1:0:8}" = "DB20000I" ] ; then
echo "step1 sucessful"
db2 connect to xxxxdb user username using password
sdata2=`db2 -x export to $filepath of del $sql_export`
db2 connect reset
else
echo "step 1 quit..."
exit 1
fi
#echo "==============$sdata2================="
#step 2
if [ "${sdata2:0:8}" = "SQL3104N" ] ; then
echo "step2 successful"
db2 connect to xxxxdb user username using password
sdata3=`db2 -x "$sql_3"`
db2 connect reset
else
echo "step 2 quit"
exit 1
fi
#step 3
if [ "${sdata3:0:8}" = "DB20000I" ] ; then
echo "step3 successful"
else
echo "step 3 quit"
exit 1
fi
分享到:
相关推荐
第一次接触linux系统,之前写的数据导出不好使了。原因是程序放在root用户下,要runtime执行exp的话,root不认exp命令;找了好多资料,最后决定写个shell脚本;没接触过shell脚本,网上大部分例子都写的挺复杂的;贴...
可以自定义地导出对应的列数据的shell脚本代码可以自定义地导出对应的列数据的shell脚本代码可以自定义地导出对应的列数据的shell脚本代码
Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_shell脚本编程...
Linux_shell脚本全面学习 Linux_shell脚本全面学习
shell脚本生成.txt数据文件,shell脚本生成.txt数据文件
Linux-shell脚本全面学习.pdf
文件包含大作业shell脚本(快速备份系统)源码,实验课做的Linux实验shell脚本:Samba实验,DDNS(DHCP服务器 和DNS服务器的配置)的shell脚本,运行脚本每个实验只需要两三分钟即可完成。 其中sy1为实验一脚本,sy2...
LinuxShell脚本编程实例.pdf
Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统...
mysql导出指定表并分表存储sql文件且压缩的shell脚本,数据库数据过大时,可以用于数据库备份
Linux shell脚本编写基础
LinuxShell脚本编程实例.doc
学习shell脚本经典书籍《Linux shell 脚本攻略-第二版》全书源代码合集
运维常用的 34 个 Linux Shell 脚本.doc
Linux shell 脚本攻略,学习linux新手入门的较好教材,第二版,现已出版第三版
有关几个shell脚本的编写,如:编写一个shell脚本程序,它带一个命令行参数,这个参数是一个文件。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期...加入了自己的注释理解
linux shell脚本获取时间判断时间差,进行计算,自动化
Linux_Shell脚本攻略.第3版,高清电子版,作者Clif Flynt,Sarath Lakshman,Shantanu Tushar. 这本书的电子版也可以到http://readfree.me这个网站上下载。
Linux Shell脚本教程:30分钟玩转Shell脚本编程 _