DB2数据库参数收集脚本

#!/bin/sh
###############################################################################################################
#Script name: riskCheck.sh
#Script description: riskCheck for db2.
#Current Release Version: 1.0
#Script Owner: He, Haibo
#Latest editor: He, Haibo
#Support platform: RHEL 5-7 && DB2 9.5/9.7/10.1/10.5/11.1
#Change log:
#Date 2021-4-12
#
#
###############################################################################################################
#export LANG=en_US.UTF-8
export LANG=zh_CN.UTF-8
osbox=`uname`;
HOSTNAME=$(hostname)
INSTNAME=`ps -ef|grep db2sysc|grep -v grep |awk '{print $1}'|head -1`
SYSIP=`sed '/^#/d' /yunwei/sysShell/cfg/pub/entegor.cfg 2>/dev/null | sed '/^[[:space:]]*$/d'|awk -F '|' '{print $3}' | grep -v "^$"| grep -E "^[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}" | head -1`
IPvalid=$(echo $SYSIP | grep -E "^[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}" | wc -l)
if [[ $IPvalid -eq 0 ]];then
    SYSIP=$(grep -iw $(hostname) /etc/hosts | awk '{print $1}' | grep -E "^[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}" | grep -v "127.0.0.1" | head -1)
fi
db2checklog=db2_`hostname`_${SYSIP}_$(date +%y%m%d).out
RHversion=$(cat /proc/version | sed 's/[^0-9]//g' | cut -b -3)
##RHEL5=261;RHEL6=263;RHEL7=310
#DATE_N=`date "+%Y-%m-%d %H:%M:%S"`
#DATE_N=`date "+%Y-%m-%d" `
DATE_M=$(date '+%Y-%m-%d')
DATE_N=$(date '+%Y-%m-%d %H:%M:%S'.000000)

getOSArchitecture(){
    if [[ "$osbox" == "Linux" ]];then
        continue
    else
        echo "Current OS is $osbox"
        echo 1
        exit 1
    fi
}

createCheckDir(){
    if [[ ! -d /yunwei/Release/recoverycheck ]];then
            mkdir -p /yunwei/Release/recoverycheck
            chmod 767 /yunwei/Release/recoverycheck
            current_date="/yunwei/Release/recoverycheck"
            db2checklog=$current_date/db2_riskCheck.csv
    else
            current_date="/yunwei/Release/recoverycheck"
            db2checklog=$current_date/db2_riskCheck.csv
    fi
}

getIndirectDBnames(){
    if [[ "$osbox" == "Linux" ]];then
            dblist=`su - $1 -c "db2 list db directory | grep -B5 Indirect | grep 'Database name'" | grep -v 'YOU HAVE NEW MAIL' | awk '{print $4}' | uniq`
    fi
}

getInstance(){
    if [[ "$INSTNAME" == "" ]];then
            echo 1
            exit 1
    else
        continue
    fi
}

sendFile(){
    [ -f /yunwei/sysShell/tools/bin/sendfile.sh ] && sh /yunwei/sysShell/tools/bin/sendfile.sh put 21.244.88.129 $current_date ./ $db2checklog xtglftp ftp || echo "/yunwei/sysShell/tools/bin/sendfile.sh not installed, can't send file to 88.129."
}

getSystemMemory(){
    _hostname=`hostname`                                                                                         
    _cpu_phy=`grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l`                                            
    _cpu_logical=`cat /proc/cpuinfo | grep ^processor|wc -l`                                                    
    _mem=`free -m|grep Mem:|awk '{print $2}'|xargs`
    _memory=`awk 'BEGIN{printf"%.2f/n",'$_mem/1024'}'`
    _memory=`echo $_memory|awk '{print int($0)}'`
    mem_list="8 16 32 64 128 256 512"
    diff1_abs=10
    for i in $mem_list
    do
            diff2=$[$i-$_memory]
            if [[ diff1_abs -gt ${diff2#-} ]];then
                    diff1=$diff2
                    diff1_abs=${diff2#-}
            fi
    done
    _memory=$[$_memory+$diff1]
    Mem="$_memory"

    Mem1=`echo "scale=0;$Mem/2"|bc`
    _Swap1=`free -m|grep Swap:|awk '{print $2}'|xargs`
    _Swap=`awk 'BEGIN{printf"%.2f/n",'$_Swap1/1024'}'`
    _Swap=`echo $_Swap|awk '{print int($0)}'`

    swap_list="8 16 32 64 128 256 512"
    diff1_abs1=10
    for i in $swap_list
    do
            diff21=$[$i-$_Swap]
            if [[ diff1_abs1 -gt ${diff21#-} ]];then
                    diff1=$diff21
                    diff1_abs1=${diff21#-}
            fi
    done
    _Swap=$[$_Swap+$diff1]
    Swap="$_Swap"
#    echo "Current Memory:$Mem" >> $db2checklog
}

getEtcSysctlConf(){
    shmall=`cat /etc/sysctl.conf | grep kernel.shmall | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    _shmall=`echo "$Mem*1024*1024/4*2"|bc`
    if [[ $shmall == $_shmall ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.shmall | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.shmall | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    shmmax=`cat /etc/sysctl.conf | grep kernel.shmmax | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    _shmmax=`echo "$Mem*1024*1024*1024"|bc`
    if [[ $shmmax == $_shmmax ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.shmmax | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.shmmax | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    shmmni=`cat /etc/sysctl.conf | grep kernel.shmmni | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    _shmmni=`echo "$Mem*256"|bc`
    if [[ $_shmmni -gt 16384 ]];then
        continue
    else
        _shmmni=16384
    fi
    if [[ $shmmni == $_shmmni ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.shmmni | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.shmmni | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    msgmax=`cat /etc/sysctl.conf | grep kernel.msgmax | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    if [[ $msgmax == 192000 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.msgmax | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.msgmax | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    msgmnb=`cat /etc/sysctl.conf | grep kernel.msgmnb | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    if [[ $msgmnb == 192000 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.msgmnb | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.msgmnb | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    msgmni=`cat /etc/sysctl.conf | grep kernel.msgmni | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    _msgmni=`echo "$Mem*1024"|bc`
    if [[ "$_msgmni" -gt "65536" ]];then
        continue
    else
        _msgmni=65536
    fi
    if [[ $msgmni == $_msgmni ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.msgmni | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.msgmni | db2_os |  |  |  |  | 1" >> $db2checklog
    fi


    sem1=`cat /etc/sysctl.conf  | grep -i kernel.sem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'}  | awk -F ' ' {'print $1'}`
    sem2=`cat /etc/sysctl.conf  | grep -i kernel.sem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'}  | awk -F ' ' {'print $2'}`
    sem3=`cat /etc/sysctl.conf  | grep -i kernel.sem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'}  | awk -F ' ' {'print $3'}`
    sem4=`cat /etc/sysctl.conf  | grep -i kernel.sem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'}  | awk -F ' ' {'print $4'}`
    _sem4=`echo "$Mem*256"|bc`
    if [[ "$sem1" == 250 && "$sem2" == 256000 && "$sem3" == 32 && "$sem4" == "$_sem4" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.sem | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.sem | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    randomize_va_space=`cat /etc/sysctl.conf | grep kernel.randomize_va_space | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    if [[ "$randomize_va_space" == 0 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.randomize_va_space | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | kernel.randomize_va_space | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    overcommit_memory=`cat /etc/sysctl.conf | grep vm.overcommit_memory | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
    if [[ "$overcommit_memory" == 0 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | vm.overcommit_memory | db2_os |  |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | vm.overcommit_memory | db2_os |  |  |  |  | 1" >> $db2checklog
    fi

    if [[ "$ARCHITECTURE" == "HADR" ]];then
        rmem_max=`cat /etc/sysctl.conf | grep net.core.rmem_max | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
        if [[ "$rmem_max" == 4096000 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.core.rmem_max | db2_os |  |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.core.rmem_max | db2_os |  |  |  |  | 1" >> $db2checklog
        fi

        wmem_max=`cat /etc/sysctl.conf | grep net.core.wmem_max | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F '=' {'print $2'} | tail -1 | sed 's/[ /t]//g'`
        if [[ "$wmem_max" == 4096000 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.core.wmem_max | db2_os |  |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.core.wmem_max | db2_os |  |  |  |  | 1" >> $db2checklog
        fi

        tcp_rmem1=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_rmem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $1'}`
        tcp_rmem2=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_rmem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $2'}`
        tcp_rmem3=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_rmem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $3'}`
        if [[ "$tcp_rmem1" == 4096 && "$tcp_rmem2" == 16384 && "$tcp_rmem3" == 4096000 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_rmem | db2_os |  |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_rmem | db2_os |  |  |  |  | 1" >> $db2checklog  
        fi

        tcp_wmem1=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_wmem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $1'}`
        tcp_wmem2=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_wmem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $2'}`
        tcp_wmem3=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_wmem | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $3'}`
        if [[ "$tcp_wmem1" == 4096 && "$tcp_wmem2" == 16384 && "$tcp_wmem3" == 4096000 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_wmem1 | db2_os |  |  |  |  | 0" >> $db2checklog  
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_wmem1 | db2_os |  |  |  |  | 1" >> $db2checklog 
        fi

        tcp_keepalive_intvl=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_keepalive_intvl | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $1'}`
        if [[ "$tcp_keepalive_intvl" == 10 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_keepalive_intvl | db2_os |  |  |  |  | 0" >> $db2checklog 
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_keepalive_intvl | db2_os |  |  |  |  | l" >> $db2checklog
        fi

        tcp_keepalive_probes=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_keepalive_probes | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $1'}`
        if [[ "$tcp_keepalive_probes" == 3 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_keepalive_probes | db2_os |  |  |  |  | 0" >> $db2checklog 
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_keepalive_probes | db2_os |  |  |  |  | 1" >> $db2checklog
        fi

        tcp_keepalive_time=`cat /etc/sysctl.conf  | grep -i net.ipv4.tcp_keepalive_time | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | tail -1 | awk -F '=' {'print $2'} | awk -F ' ' {'print $1'}`
        if [[ "$tcp_keepalive_time" == 30 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_keepalive_time | db2_os |  |  |  |  | 0" >> $db2checklog 
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | net.ipv4.tcp_keepalive_time | db2_os |  |  |  |  | 1" >> $db2checklog
        fi
    fi

}


getEtcSecurityLimits(){
    nproc_soft=`cat /etc/security/limits.conf  | grep -w $1 | grep -i nproc | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$nproc_soft" == 10240 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_soft | db2_os | $inst |  |  |  | 0" >> $db2checklog 
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_soft | db2_os | $inst |  |  |  | 1" >> $db2checklog 
    fi

    nproc_hard=`cat /etc/security/limits.conf  | grep -w $1 | grep -i nproc | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$nproc_hard" == 10240 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_hard | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_hard | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    nofile_soft=`cat /etc/security/limits.conf  | grep -w $1 | grep -i nofile | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$nofile_soft" == 60000 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_soft | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_soft | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    nofile_hard=`cat /etc/security/limits.conf  | grep -w $1 | grep -i nofile | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$nofile_hard" == 60000 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_hard | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_hard | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    stack_hard=`cat /etc/security/limits.conf  | grep -w $1 | grep -i stack | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$stack_hard" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_hard | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_hard | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    stack_soft=`cat /etc/security/limits.conf  | grep -w $1 | grep -i stack | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$stack_soft" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_soft | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_soft | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    data_hard=`cat /etc/security/limits.conf  | grep -w $1 | grep -i data | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$data_hard" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_hard | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_hard | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    data_soft=`cat /etc/security/limits.conf  | grep -w $1 | grep -i data | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$data_soft" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_soft | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_soft | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    fsize_hard=`cat /etc/security/limits.conf  | grep -w $1 | grep -i fsize | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$fsize_hard" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_hard | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_hard | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    fsize_soft=`cat /etc/security/limits.conf  | grep -w $1 | grep -i fsize | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$fsize_soft" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_soft | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_soft | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    rss_hard=`cat /etc/security/limits.conf  | grep -w $1 | grep -i rss | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$rss_hard" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_hard | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_hard | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    rss_soft=`cat /etc/security/limits.conf  | grep -w $1 | grep -i rss | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
    if [[ "$rss_soft" == -1 ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_soft | db2_os | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_soft | db2_os | $inst |  |  |  | 1" >> $db2checklog
    fi

    instancepath=`cat /etc/passwd | grep -i $1 | awk -F ':' {'print $6'}`

    if [[ -f "$instancepath/sqllib/adm/.fenced" ]];then
        db2fenceName=`ls -l $instancepath/sqllib/adm/.fenced | awk -F ' ' {'print $3'}`
        nproc_soft_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i nproc | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$nproc_soft_fence" == 10240 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_soft | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_soft | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        nproc_hard_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i nproc | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$nproc_hard_fence" == 10240 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_hard | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nproc_hard | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        nofile_soft_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i nofile | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$nofile_soft_fence" == 60000 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_soft | db2_os | $db2fenceName  |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_soft | db2_os | $db2fenceName  |  |  |  | 1" >> $db2checklog
        fi

        nofile_hard_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i nofile | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$nofile_hard_fence" == 60000 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_hard | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | nofile_hard | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        stack_hard_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i stack | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$stack_hard_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_hard | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_hard | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        stack_soft_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i stack | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$stack_soft_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_soft | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | stack_soft | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        data_hard_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i data | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$data_hard_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_hard | db2_os | $db2fenceName |  | |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_hard | db2_os | $db2fenceName |  | |  | 1" >> $db2checklog
        fi

        data_soft_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i data | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$data_soft_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_soft | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | data_soft | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        fsize_hard_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i fsize | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$fsize_hard_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_hard | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_hard | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        fsize_soft_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i fsize | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$fsize_soft_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_soft | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | fsize_soft | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        rss_hard_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i rss | grep hard | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$rss_hard_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_hard | db2_os | $db2fenceName |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_hard | db2_os | $db2fenceName |  |  |  | 1" >> $db2checklog
        fi

        rss_soft_fence=`cat /etc/security/limits.conf  | grep -w $db2fenceName | grep -i rss | grep soft | grep -v "^[[:space:]]*#" | sed 's/[[:space:]][[:space:]]*/    /g' | grep -v "^[[:space:]]*$" | awk -F ' ' {'print $4'} | tail -1`
        if [[ "$rss_soft_fence" == -1 ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_soft | db2_os | $db2fenceName | |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | rss_soft | db2_os | $db2fenceName | |  |  | 1" >> $db2checklog
        fi
    else
        echo "There is no .fenced file in Current instance."
    fi
}

getDb2diag(){
    if [[ "$ARCHITECTURE" == "HADR" || "$ARCHITECTURE" == "STANDARD" ]];then
        if [[ $DB2LEVEL == 11.1* || $DB2LEVEL == 10.5* || $DB2LEVEL == 10.1* ]];then
            DB2DIAGPATH=`su - $1 -c 'db2 get dbm cfg | grep -iw "Current member resolved DIAGPATH"' | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
            db2DiagSize=`du -sm $DB2DIAGPATH/db2diag.log | awk -F ' ' {'print $1'} | sed 's/[ /t]//g'`
            if [[ $db2DiagSize -lt 100 ]];then
                echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | db2diag.log |  | $inst |  |  |  | 0" >> $db2checklog
            else
                echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | db2diag.log |  | $inst |  |  |  | 1" >> $db2checklog
            fi
        elif [[ $DB2LEVEL == 9.7* || $DB2LEVEL == 9.5* || $DB2LEVEL == 9.1* ]];then
            DB2DIAGPATH=`su - $1 -c "db2 get dbm cfg | grep -iw diagpath" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
            db2DiagSize=`du -sm $DB2DIAGPATH/db2diag.log | awk -F ' ' {'print $1'} | sed 's/[ /t]//g'`
            if [[ $db2DiagSize -lt 100 ]];then
                echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | db2diag.log |  | $inst |  |  |  | 0" >> $db2checklog
            else
                echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | db2diag.log |  | $inst |  |  |  | 1" >> $db2checklog
            fi
        else
            echo "Current Db2 Version Does not Support." >> $db2checklog
        fi
    fi
}

getSevenRunstats(){
    su - $1 -c "db2pd -db $2 -memset  | grep -v 'date' | grep -i $2" > $current_date/tmp_"$2"_result.out
    if [[ -f "$current_date/tmp_$2_result.out" ]];then
        if [ `cat $current_date/tmp_"$2"_result.out | grep 'not activated' | wc -l` -gt 0 ];then
            continue
        else
            if [[ $hadr_role == PRIMARY || $hadr_role == STANDARD ]];then
                instgroup=`id $1 | awk {'print $2'} | awk -F '=' {'print $2'} | awk -F '(' {'print $2'} | awk -F ')' {'print $1'}`
                if [[ ! -f "$current_date/db2HistoryFilePath_tmp.file" ]];then
                    touch $current_date/db2HistoryFilePath_tmp.file
                fi
                chown $1:$instgroup $current_date/db2HistoryFilePath_tmp.file
                chmod u+x $current_date/db2HistoryFilePath_tmp.file
                echo "db2 -x /"connect to $2/" > /dev/null" > $current_date/db2HistoryFilePath_tmp.file                
                echo "db2 -x /"select varchar(tabname,40) as tabname from syscat.tables tab,syscat.tablespaces sp where tab.TBSPACEID=sp.tbspaceid and tab.tabschema not like 'SYS%' and tabname not like 'EXPLAIN%' and tabname not like 'ADVISE%' and STATS_TIME < timestamp (current timestamp-8 days) order by card desc/"" >> $current_date/db2HistoryFilePath_tmp.file
                echo "db2 terminate > /dev/null" >> $current_date/db2HistoryFilePath_tmp.file
 #               tabName=`db2 -x "select varchar(tabname,40) as tabname from syscat.tables tab,syscat.tablespaces sp where tab.TBSPACEID=sp.tbspaceid and tab.tabschema not like 'SYS%' and STATS_TIME < timestamp (current timestamp-8 days) order by card desc"`
                su - $1 -c "$current_date/db2HistoryFilePath_tmp.file" > $current_date/${inst}_${dbname}.out
                for tabname in `cat $current_date/${inst}_${dbname}.out`;do
                    echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | tabname |  | $inst | $dbname |  |  | $tabname" >> $db2checklog
                done
            elif [[ $hadr_role == STANDBY ]];then
                 echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | tabname |  | $inst | $dbname |  |  | standby_database" >> $db2checklog
            else
                 echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | tabname |  | $inst | $dbname |  |  | standby_database" >> $db2checklog
            fi
        fi
    fi
}

getDbmcfg(){
    DFT_MON_BUFPOOL=`su - $1 -c "db2 get dbm cfg" | grep -i DFT_MON_BUFPOOL | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$DFT_MON_BUFPOOL" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_BUFPOOL |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_BUFPOOL |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DFT_MON_LOCK=`su - $1 -c "db2 get dbm cfg" | grep -i DFT_MON_LOCK | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$DFT_MON_LOCK" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_LOCK |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_LOCK |  | $inst |  |  |  | 1" >> $db2checklog 
    fi

    DFT_MON_SORT=`su - $1 -c "db2 get dbm cfg" | grep -i DFT_MON_SORT | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$DFT_MON_SORT" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_SORT |  | $inst|  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_SORT |  | $inst|  |  |  | 1" >> $db2checklog
    fi

    DFT_MON_STMT=`su - $1 -c "db2 get dbm cfg" | grep -i DFT_MON_STMT | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$DFT_MON_STMT" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_STMT |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_STMT |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DFT_MON_TABLE=`su - $1 -c "db2 get dbm cfg" | grep -i DFT_MON_TABLE | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$DFT_MON_TABLE" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_TABLE |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_TABLE |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DFT_MON_TIMESTAMP=`su - $1 -c "db2 get dbm cfg" | grep -i DFT_MON_TIMESTAMP | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$DFT_MON_TIMESTAMP" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_TIMESTAMP |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_TIMESTAMP |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DFT_MON_UOW=`su - $1 -c "db2 get dbm cfg" | grep -i DFT_MON_UOW | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$DFT_MON_UOW" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_UOW |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DFT_MON_UOW |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    HEALTH_MON=`su - $1 -c "db2 get dbm cfg" | grep -i HEALTH_MON | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ $HEALTH_MON == "OFF" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | HEALTH_MON |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | HEALTH_MON |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    ASLHEAPSZ=`su - $1 -c "db2 get dbm cfg" | grep -i ASLHEAPSZ | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$ASLHEAPSZ" == "128" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | ASLHEAPSZ |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | ASLHEAPSZ |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    if [[ $ARCHITECTURE -eq "DPF" ]];then
        FCM_NUM_BUFFERS=`su - $1 -c "db2 get dbm cfg" | grep -i FCM_NUM_BUFFERS | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
        if [[ "$FCM_NUM_BUFFERS" == "AUTOMATIC" ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | FCM_NUM_BUFFERS |  | $inst |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | FCM_NUM_BUFFERS |  | $inst |  |  |  | 1" >> $db2checklog
        fi
    fi

    INTRA_PARALLEL=`su - $1 -c "db2 get dbm cfg" | grep -i INTRA_PARALLEL  | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | INTRA_PARALLEL |  | $inst |  |  |  | $INTRA_PARALLEL" >> $db2checklog


    id appmon > /dev/null
    if [[ $? -eq 0 ]];then
        MONGROUP=`id appmon | awk -F ' ' {'print $2'} | awk -F '(' {'print $2'}  | awk -F ')' {'print $1'}`
        _MONGROUP=$(echo $MONGROUP|tr '[a-z]' '[A-Z]')
        DBMMONGROUP=`su - $1 -c "db2 get dbm cfg" | grep -i SYSMON_GROUP  | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
        if [[ $DBMMONGROUP == $_MONGROUP ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | MONGROUP | db2_os | $inst |  |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | MONGROUP | db2_os | $inst |  |  |  | 1" >> $db2checklog
        fi
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | MONGROUP | db2_os | $inst |  |  |  | -1" >> $db2checklog
    fi
}

getDPF(){
    instancepath=`cat /etc/passwd | grep -i $1 | awk -F ':' {'print $6'}`
    ARCHITECTURE=`cat "$instancepath"/sqllib/db2nodes.cfg | awk '{if(NF > 3) print "Purescale"; else if(NR > 1) print "DPF"; else print "Alone"}' | tail -1`
}

getDBArchitecture(){
    instancepath=`cat /etc/passwd | grep -i $1 | awk -F ':' {'print $6'}`
#    echo "instancepath is $instancepath"
    ARCHITECTURE=`cat "$instancepath"/sqllib/db2nodes.cfg | awk '{if(NF > 3) print "Purescale"; else if(NR > 1) print "DPF"; else print "Alone"}' | tail -1`
    if [[ "$ARCHITECTURE" == "Alone" ]];then
        #cause HADR only in "Alone" architecture
        hadr_role=`su - $1 -c "db2 get db cfg for $2 | grep -i role" | awk '{print $5}'`
        if [[ "$hadr_role" == "PRIMARY" || "$hadr_role" == "STANDBY" ]];then
            ARCHITECTURE="HADR"
        else
            ARCHITECTURE="STANDARD"
        fi
    else
            ARCHITECTURE="DPF"
    fi
}

getDb2Level(){
    DB2LEVEL=`su - $1 -c "db2level" |grep tokens|awk -F'"' '{print $2}'|awk -F'v' '{print $2}'`
    echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2LEVEL |  | $inst |  |  |  | $DB2LEVEL" > $db2checklog
}


getDb2set(){
    DB2COMM=`su - $1 -c "db2set" | grep -i DB2COMM | awk -F '=' {'print $2'}`
    if [[ "$DB2COMM" == "TCPIP"  ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2COMM |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2COMM |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2CODEPAGE=`su - $1 -c "db2set" | grep -i DB2CODEPAGE | awk -F '=' {'print $2'}`
    if [[ "$DB2CODEPAGE" == "1208" || "$DB2CODEPAGE" == "1386" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2CODEPAGE |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2CODEPAGE |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2_FMP_COMM_HEAPSZ=`su - $1 -c "db2set" | grep -i DB2_FMP_COMM_HEAPSZ | awk -F '=' {'print $2'}`
    if [[ "$DB2_FMP_COMM_HEAPSZ" == "780000" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_FMP_COMM_HEAPSZ |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_FMP_COMM_HEAPSZ |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2_LOAD_COPY_NO_OVERRIDE=`su - $1 -c "db2set" | grep -i DB2_LOAD_COPY_NO_OVERRIDE | awk -F '=' {'print $2'}`
    if [[ "$DB2_LOAD_COPY_NO_OVERRIDE" == "NONRECOVERABLE" || "$DB2_LOAD_COPY_NO_OVERRIDE" == "nonrecoverable" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_LOAD_COPY_NO_OVERRIDE |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_LOAD_COPY_NO_OVERRIDE |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2_ANTIJOIN=`su - $1 -c "db2set" | grep -i DB2_ANTIJOIN | awk -F '=' {'print $2'}`
    if [[ "$DB2_ANTIJOIN" == "EXTEND" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_ANTIJOIN |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_ANTIJOIN |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2_MEM_TUNING_RANGE=`su - $1 -c "db2set" | grep -i DB2_MEM_TUNING_RANGE | awk -F '=' {'print $2'}`
    if [[ "$DB2_MEM_TUNING_RANGE" == "10,80" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_MEM_TUNING_RANGE |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_MEM_TUNING_RANGE |  | $inst |  |  |  | 1" >> $db2checklog
    fi


    DB2_HADR_SORCVBUF=`su - $1 -c "db2set" | grep -i DB2_HADR_SORCVBUF | awk -F '=' {'print $2'}`
    if [[ "$DB2_HADR_SORCVBUF" == "4000000" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_SORCVBUF |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_SORCVBUF |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2_HADR_SOSNDBUF=`su - $1 -c "db2set" | grep -i DB2_HADR_SOSNDBUF | awk -F '=' {'print $2'}`
    if [[ "$DB2_HADR_SOSNDBUF" == "4000000" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_SOSNDBUF |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_SOSNDBUF |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2_HADR_PEER_WAIT_LIMIT=`su - $1 -c "db2set" | grep -i DB2_HADR_PEER_WAIT_LIMIT | awk -F '=' {'print $2'}`
    if [[ "$DB2_HADR_PEER_WAIT_LIMIT" == "1" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_PEER_WAIT_LIMIT |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_PEER_WAIT_LIMIT |  | $inst |  |  |  | 1" >> $db2checklog
    fi

    DB2_HADR_BUF_SIZE=`su - $1 -c "db2set" | grep -i DB2_HADR_BUF_SIZE | awk -F '=' {'print $2'}`
    if [[ "$DB2_HADR_BUF_SIZE" == "262144" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_BUF_SIZE |  | $inst |  |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DB2_HADR_BUF_SIZE |  | $inst |  |  |  | 1" >> $db2checklog
    fi
}

getDbcfg(){
    SELF_TUNING_MEM=`su - $1 -c "db2 get db cfg for $2 | grep -i SELF_TUNING_MEM" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ $ARCHITECTURE == "DPF" ]];then
        if [[ $SELF_TUNING_MEM -eq "OFF" ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SELF_TUNING_MEM |  | $inst | $dbname |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SELF_TUNING_MEM |  | $inst | $dbname |  |  | 1" >> $db2checklog
        fi
    else
        if [[ $SELF_TUNING_MEM -eq "ON" ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SELF_TUNING_MEM |  | $inst | $dbname |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SELF_TUNING_MEM |  | $inst | $dbname |  |  | 1" >> $db2checklog
        fi
    fi

    DATABASE_MEMORY=`su - $1 -c "db2 get db cfg for $2 | grep -i DATABASE_MEMORY" | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
    if [[ "$DATABASE_MEMORY" == "AUTOMATIC" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DATABASE_MEMORY |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | DATABASE_MEMORY |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    LOCKLIST=`su - $1 -c "db2 get db cfg for $2 | grep -i LOCKLIST" | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
    if [[ "$LOCKLIST" == "AUTOMATIC" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOCKLIST |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOCKLIST |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    MAXLOCKS=`su - $1 -c "db2 get db cfg for $2 | grep -i MAXLOCKS" | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
    if [[ "$MAXLOCKS" == "AUTOMATIC" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | MAXLOCKS |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | MAXLOCKS |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    LOCKTIMEOUT=`su - $1 -c "db2 get db cfg for $2 | grep -iw LOCKTIMEOUT" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOCKTIMEOUT |  | $inst | $dbname |  |  | $LOCKTIMEOUT" >> $db2checklog

    CATALOGCACHE_SZ=`su - $1 -c "db2 get db cfg for $2 | grep -i CATALOGCACHE_SZ" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$CATALOGCACHE_SZ" == "10240" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | CATALOGCACHE_SZ |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | CATALOGCACHE_SZ |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    LOGFILSIZ=`su - $1 -c "db2 get db cfg for $2 | grep -i LOGFILSIZ" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$LOGFILSIZ" == "25600" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGFILSIZ |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGFILSIZ |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    LOGPRIMARY=`su - $1 -c "db2 get db cfg for $2 | grep -i LOGPRIMARY" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$LOGPRIMARY" == "20" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGPRIMARY |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGPRIMARY |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    LOGSECOND=`su - $1 -c "db2 get db cfg for $2 | grep -i LOGSECOND" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$LOGSECOND" == "180" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGSECOND |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGSECOND |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    LOGBUFSZ=`su - $1 -c "db2 get db cfg for $2 | grep -i LOGBUFSZ" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$ARCHITECTURE" == "HADR" ]];then
        if [[ "$LOGBUFSZ" -eq "8192" ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGBUFSZ |  | $inst | $dbname |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGBUFSZ |  | $inst | $dbname |  |  | 1" >> $db2checklog
        fi
    else
        if [[ "$LOGBUFSZ" -eq "2048" ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGBUFSZ |  | $inst | $dbname |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | LOGBUFSZ |  | $inst | $dbname |  |  | 1" >> $db2checklog
        fi
    fi

    SORTHEAP=`su - $1 -c "db2 get db cfg for $2 | grep -i SORTHEAP" | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
    if [[ "$SORTHEAP" == "AUTOMATIC" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SORTHEAP |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SORTHEAP |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    SHEAPTHRES_SHR=`su - $1 -c "db2 get db cfg for $2 | grep -i SHEAPTHRES_SHR" | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
    if [[ "$SHEAPTHRES_SHR" == "AUTOMATIC" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SHEAPTHRES_SHR |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SHEAPTHRES_SHR |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    PCKCACHESZ=`su - $1 -c "db2 get db cfg for $2 | grep -i PCKCACHESZ" | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
    if [[ "$PCKCACHESZ" == "AUTOMATIC" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | PCKCACHESZ |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | PCKCACHESZ |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    APPLHEAPSZ=`su - $1 -c "db2 get db cfg for $2 | grep -i APPLHEAPSZ" | awk -F '=' {'print $2'} | sed 's/[ /t]//g' | awk -F '(' {'print $1'}`
    if [[ "$APPLHEAPSZ" == "AUTOMATIC" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | APPLHEAPSZ |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | APPLHEAPSZ |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    TRACKMOD=`su - $1 -c "db2 get db cfg for $2 | grep -i TRACKMOD" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$TRACKMOD" == "ON" || "$TRACKMOD" == "YES" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | TRACKMOD |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | TRACKMOD |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    SOFTMAX=`su - $1 -c "db2 get db cfg for $2 | grep -i SOFTMAX" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ $DB2LEVEL == 11.1* || $DB2LEVEL == 10.5* ]];then
        if [[ "$SOFTMAX" -eq "0" ]];then
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SOFTMAX |  | $inst | $dbname |  |  | 0" >> $db2checklog
        else
            echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SOFTMAX |  | $inst | $dbname |  |  | 1" >> $db2checklog
        fi
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | SOFTMAX |  | $inst | $dbname |  |  | $SOFTMAX" >> $db2checklog 
    fi

    NEWLOGPATH=`su - $1 -c "db2 get db cfg for $2 | grep -w 'Path to log files'" | awk -F '=' {'print $2'} | awk -F '/' {'print "/" $2'}`
    if [[ "$NEWLOGPATH" == "/db2log" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | NEWLOGPATH |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | NEWLOGPATH |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    ARCHIVELOG=`su - $1 -c "db2 get db cfg for $2 | grep -w LOGARCHMETH1" | awk -F '=' {'print $2'} | awk -F '/' {'print "/" $2'}`
    if [[ "$ARCHIVELOG" == "/db2arclog" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | ARCHIVELOG |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | ARCHIVELOG |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    REC_HIS_RETENTN=`su - $1 -c "db2 get db cfg for $2 | grep -i REC_HIS_RETENTN" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$REC_HIS_RETENTN" == "90" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | REC_HIS_RETENTN |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | REC_HIS_RETENTN |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    CUR_COMMIT=`su - $1 -c "db2 get db cfg for $2 | grep -i CUR_COMMIT" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$CUR_COMMIT" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | CUR_COMMIT |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | CUR_COMMIT |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi

    logindexbuild=`su - $1 -c "db2 get db cfg for $2 | grep -i logindexbuild" | awk -F '=' {'print $2'} | sed 's/[ /t]//g'`
    if [[ "$logindexbuild" == "ON" ]];then
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | logindexbuild |  | $inst | $dbname |  |  | 0" >> $db2checklog
    else
        echo "$DATE_N | Db2 | $DB2LEVEL | $HOSTNAME | $SYSIP | logindexbuild |  | $inst | $dbname |  |  | 1" >> $db2checklog
    fi
}


main(){
    getOSArchitecture
    getInstance
    createCheckDir
    getSystemMemory
    for inst in `ps -ef | grep db2sysc | grep -v grep | awk '{print $1}' |uniq`;do
        getDPF $inst
        getDb2Level $inst
        getDb2diag $inst
        getIndirectDBnames $inst
        getEtcSecurityLimits $inst
        getDb2set $inst
        getDbmcfg $inst
        for dbname in `echo $dblist`;do
            getDBArchitecture $inst $dbname           
            getDbcfg $inst $dbname
            getSevenRunstats $inst $dbname
        done
    done
    getEtcSysctlConf  
    sendFile
#    deleteLogs
    echo 0
    exit 0
}

main
https://www.cndba.cn/hbhe0316/article/22187 https://www.cndba.cn/hbhe0316/article/22187
https://www.cndba.cn/hbhe0316/article/22187
https://www.cndba.cn/hbhe0316/article/22187
https://www.cndba.cn/hbhe0316/article/22187 https://www.cndba.cn/hbhe0316/article/22187 https://www.cndba.cn/hbhe0316/article/22187 https://www.cndba.cn/hbhe0316/article/22187
https://www.cndba.cn/hbhe0316/article/22187
https://www.cndba.cn/hbhe0316/article/22187

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

DB2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值