68930089 发表于 2010-11-09 16:25

REORG 問題

利用shell script 如下
#!/bin/ksh

. ~/.bash_profile
INSTNM=$1
DBNM=$2
db2 connect to $DBNM
db2 reorgchk current statistics on table all | grep -v 2ND > /home/$INSTNM/chk.txt
cat /home/$INSTNM/chk.txt|awk '{ if (NF == 2 && $1 ~ /^Table/) printf "\n\n"$2" "; if (NF == 12 && $NF<100) printf "table "$
1"."$2" ";if (NF == 15 && $NF ~ /\*/) printf "index "$1"."$2" "}' | awk '{if ($2 == "table") print "reorg table "$1" inplace a
llow write access"}'> /home/$INSTNM/chk.out


cat /home/$INSTNM/chk.out | while read i
do

db2 -x $i >> reorg.log
{


while :
do
    cnt_fs=`db2 list applications show detail |grep -i db2reorg | wc -l`
    if [ $cnt_fs -eq 0 ]
    then
      break
    else
    #df -k | grep $1 | grep -v sysuser| grep -v diag
    echo " ========================================================================================== "
      sleep 10
    fi
done
}
done

執行db2 on-line reorg 在aix 上運行動作正常,但是在linux 上執行 卻會重覆執行
/home/db2inst/sqllib/bin/db2bp 這支程式,會把系統資源吃完,想請教一下是那
裡出了問題呢?

68930089 发表于 2010-11-10 14:31

/home/$INSTNM/chk.out的內容如下

reorg table CIMEDA.ACLR_CHIP inplace allow write access
reorg table CIMEDA.ACLR_DEFECT_DEF inplace allow write access
reorg table CIMEDA.ACLR_GLASS inplace allow write access
reorg table CIMEDA.ACLR_LOT inplace allow write access
reorg table CIMEDA.ACLR_SITE inplace allow write access
reorg table CIMEDA.ADVISE_INDEX inplace allow write access
reorg table CIMEDA.ADVISE_WORKLOAD inplace allow write access
reorg table CIMEDA.ARY_AOI_CELLZONE inplace allow write access
reorg table CIMEDA.ARY_AOI_CHIP inplace allow write access
reorg table CIMEDA.ARY_AOI_CLASS inplace allow write access
reorg table CIMEDA.ARY_AOI_E_DEFECT_DEF inplace allow write access
reorg table CIMEDA.ARY_AOI_E_GLASS inplace allow write access
reorg table CIMEDA.ARY_AOI_E_SPC_CAL_DEF inplace allow write access
reorg table CIMEDA.ARY_AOI_GLASS inplace allow write access
reorg table CIMEDA.ARY_AOI_GLASS_QCS inplace allow write access
reorg table CIMEDA.ARY_AOI_LOT inplace allow write access
reorg table CIMEDA.ARY_AOI_SITE inplace allow write access
reorg table CIMEDA.ARY_AOI_TYPE inplace allow write access
reorg table CIMEDA.ARY_ASI_GLASS inplace allow write access
reorg table CIMEDA.ARY_ASTEP_GLASS inplace allow write access
reorg table CIMEDA.ARY_ASTEP_SITE inplace allow write access
reorg table CIMEDA.ARY_AT_CHIP inplace allow write access
reorg table CIMEDA.ARY_AT_CHIP_S inplace allow write access
reorg table CIMEDA.ARY_AT_DEF_CATG inplace allow write access

有人有遇過類似的問題嗎?

大梦 发表于 2010-11-12 21:04

改一下!把连接放在while里面,每做一次连接一下再断开一下,虽然慢点,肯定不会重复连接!
页: [1]
查看完整版本: REORG 問題