#!/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
版权声明:本文为博主原创文章,未经博主允许不得转载。
DB2