签到成功

知道了

CNDBA社区CNDBA社区

DB2 shell插入表数据脚本

2023-04-27 10:39 1036 0 原创 DB2
作者: hbhe0316
#!/bin/bash
###############################################################################################################
# Script name: get_table_count.sh
# Script description: Get "db2pd -d <dbname> -tab" information
# Current Release Version: 1.0.0
# Script Owner: hbhe0316
# Latest editor: hbhe0316
# Support platform:  Linux OS for Linux.
# Change log: None
# Description:Date 2022/4/25
#
#
###############################################################################################################

source /home/db2mon/sqllib/db2profile
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/home/db2mon/sqllib/bin
#DATE_N=`date "+%Y%m%d%H"`
DATE_N=`date -d "1 hour ago" +%Y%m%d%H`
DATE_N_1=`date "+%Y-%m-%d-%H.%M.%S"`
file_start="TCB Table Stats:"
file_end="TCB Index Information:"

copy_filename(){
        scp test@IPADDR:/worktmp/db2/xxxx_${DATE_N}45.out /home/db2mon/db2file >> /dev/null
    sleep 10
}

get_db2pd_information(){
    #TABLE_NAME=$1
    cd /home/db2mon/db2file
    file=`ls xxxx_${DATE_N}45.out`
    dbname=`echo $file | awk -F '_' {'print $3'}`
    file_start_num=`cat ${file} | grep -n "${file_start}" | cut -d ":" -f 1`
    file_end_num=`cat ${file} | grep -n "${file_end}" | cut -d ":" -f 1`
    file_start_num=$(($file_start_num-1))
    file_end_num=$(($file_end_num-1))
    file_result="${file}.res"
    file_result1="${file}.res1"
        if [[ ! -f "${file_result}" ]];then
                for ((i=$file_start_num; i<=$file_end_num; i++))
                do
                   #    echo "dbname is $dbname"
                   #     echo "time is $DATE_N_1"
                        sed -n "$i"p"" ${file} | awk -F ' ' {'print $2,$11,$12,$13,$3'} >> ${file_result}
                done
        cat ${file_result} | grep -w "xxxx" | egrep -v 'FH|CSFH|#' >> ${file_result1}
        fi
}

generate_del(){
    cat ${file_result1} | while read line
    do
        table_name=`echo $line | awk -F ' ' {'print $1'}`
        insert_nums=`echo $line | awk -F ' ' {'print $2'}`
        update_nums=`echo $line | awk -F ' ' {'print $3'}`
        delete_nums=`echo $line | awk -F ' ' {'print $4'}`
        echo "$dbname,$table_name,$DATE_N_1,$insert_nums,$update_nums,$delete_nums" >> "${file}.del"
    done
}

get_insert_nums(){
        /home/db2mon/sqllib/bin/db2 connect to mesdb > /dev/null
        /home/db2mon/sqllib/bin/db2 "import from ./${file}.del of del insert into DB2MON.xxx" > /dev/null
        /home/db2mon/sqllib/bin/db2 terminate > /dev/null

}

delete_files(){
    find /home/db2mon/db2file -mtime +1 -name "*.res" -exec rm -f {} /;
    find /home/db2mon/db2file -mtime +1 -name "*.res1" -exec rm -f {} /;
    find /home/db2mon/db2file -mtime +1 -name "*.del" -exec rm -f {} /;
}

main(){
        copy_filename
        get_db2pd_information
        generate_del
        get_insert_nums
        delete_files
}

main
http://www.cndba.cn/hbhe0316/article/121026
http://www.cndba.cn/hbhe0316/article/121026
http://www.cndba.cn/hbhe0316/article/121026
http://www.cndba.cn/hbhe0316/article/121026
http://www.cndba.cn/hbhe0316/article/121026
http://www.cndba.cn/hbhe0316/article/121026
http://www.cndba.cn/hbhe0316/article/121026 http://www.cndba.cn/hbhe0316/article/121026 http://www.cndba.cn/hbhe0316/article/121026
http://www.cndba.cn/hbhe0316/article/121026

版权声明:本文为博主原创文章,未经博主允许不得转载。

DB2

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1128185次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ