将db2数据库某用户下的所有表进行数据统计分析

本文介绍了一个用于DB2数据库中特定用户下所有表的数据统计分析的Shell脚本。该脚本通过循环遍历指定模式下的所有表,并利用DB2的runstats命令进行数据统计,最终将任务分配到不同的脚本文件中并并行执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash


####################################################################
#
# 将db2数据库某用户下的所有表进行数据统计分析
# 使用:修改tableSchema值和dbName值
#
####################################################################


tableSchema="DB2ECIF"
dbName="ecifdb"


db2 connect to $dbName > /dev/null


# 如果上一条命令执行后的结束代码不是0则执行下面的命令
if [ $? -ne 0 ]
then

  echo "Failed to connect to database, please contact the administrator."

exit 1;

fi


db2 -x "SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA="$tableSchema" ORDER BY NPAGES DESC" >tables.list


for i in 0 1 2 3 4 5 6 7 8 9
do
  echo "db2 connect to "$dbName";" >runstats$i.sh
  chmod 755 runstats$i.sh
done


count=1
while read line
do
  last_digit=`echo $count | sed 's/\(.*\)\(.\)$/\2/'`
  echo "db2 runstats on table "$tableSchema".${line} on all columns with distribution and detailed indexes all;" >>runstats$last_digit.sh
  count=`expr $count + 1`
done < tab.list


for i in 0 1 2 3 4 5 6 7 8 9
do  
  nohup ./runstats$i.sh >runstats$i.log &
done
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值