GBase8s初始化脚本

GBase8s初始化脚本

#!/bin/bash

################################################################################
#                                                                              #
#  Usage: After GBase Server installed, run this script by user <gbasedbt>.    #
#  Script: GBaseInit.sh                                                        #
#  OS: Linux                                                                   #
#  Version: 1.03                                                               #
#  Last Edited Date: 20170428                                                  #
#  Mail: AntYisOn@hotmail.com                                                  #
#                                                                              #
################################################################################

### User check

if [ $LOGNAME != "gbasedbt" ]
then
    echo "Error: Please run this script by user <gbasedbt> !!!"
    exit
fi

### Write permission check

if [ ! -w ./ ]
then
    echo "Error: Ensure user <gbasedbt> has write permission of current path !!!"
    exit
fi

### Initializing Program

clear
echo -e "\nInitializing Program...\c"
unset LANG
LOGFILE=./InitGBaseDB_`date +%Y%m%d%H%M`.log
/bin/date > $LOGFILE 2>&1

### Memory times

TOTMEM=`cat /proc/meminfo|grep MemTotal |awk '{print $2}'`
if [ ! $TOTMEM ]
then
    TOTMEM=1048576
fi
ntimes=`expr $TOTMEM / 950000`
if [ $ntimes -lt 1 ]
then
    ntimes=1
fi

### Execute or Not

INIT=0
echo "OK"
sleep 1

################################################################################

while [ $INIT -lt 1 ]
do
clear
echo "Main while start!!!" >> $LOGFILE 2>&1 

echo -e "ENTER THE INSTANCE INFORMATION or PRESS <ENTER> TO ACCEPT THE DEFAULT.\n"

### INSTANCE NAME(GBASEDBTSERVER)
read -p "ENTER GBASE INSTANCE NAME (GBASEDBTSERVER) [Default:gbaseserver]: " GBASESERVER
if [ ! $GBASESERVER ]
then
    GBASESERVER=gbaseserver
fi
export GBASEDBTSERVER=$GBASESERVER
echo "export GBASEDBTSERVER=$GBASESERVER" > $HOME/profile.$GBASESERVER

### GBASEDBTDIR
cat /GBASEDBTTMP/.infxdirs > ./.gbasedir.tmp 2>>$LOGFILE
DIRS=`cat ./.gbasedir.tmp|wc -l`
if [ $DIRS -eq 0 ]
then
    echo -e "\nSEARCHING FOR GBASE INSTALL FOLDER, PLEASE WAIT FOR SECONDS..."
    find / -type f -name oninit 2>/dev/null|sed "s#/bin/oninit##g" > ./.gbasedir.tmp
    DIRS=`cat ./.gbasedir.tmp|wc -l`
    if [ $DIRS -eq 0 ]
    then 
        echo "WARNING : Not found any GBase Server Installed !!!"
        DEF_GBASEDIR="/home/gbase"
    else
        echo -e "GBASE INSTALL FOLDER LIST:"
        cat ./.gbasedir.tmp|awk '$0=" "NR") "$0'
        DIRLIST=(`cat ./.gbasedir.tmp`)
        DEF_GBASEDIR=${DIRLIST[0]}
    fi
else
    echo -e "\nGBASE INSTALL FOLDER LIST:"
    cat ./.gbasedir.tmp|awk '$0=" "NR") "$0'
    DIRLIST=(`cat ./.gbasedir.tmp`)
    DEF_GBASEDIR=${DIRLIST[0]}
fi

IFXDIRCHOOSE=0
while [ $IFXDIRCHOOSE -eq 0 ]
do
    read -p "CHOOSE GBASE INSTALL FOLDER(GBASEDBTDIR) [Default:$DEF_GBASEDIR]: " GBASEDIR
    if [ ! $GBASEDIR ]
    then
        GBASEDIR=$DEF_GBASEDIR
    else if [ `echo $GBASEDIR|wc -c` -lt 3 ]
    then
        GBASEDIR=${DIRLIST[$(($GBASEDIR-1))]}
      fi
    fi
    
    ls -l $GBASEDIR/bin/oninit >> $LOGFILE 2>&1
    if [ $? != 0 ]
    then
        echo "WARNING: GBASE INSTALL FOLDER < $GBASEDIR > ERROR!"
    else
        IFXDIRCHOOSE=1
    fi
done
rm -f ./.gbasedir.tmp >> $LOGFILE 2>&1

### Service IP & Port

IPCHOOSE=0
echo -e "\nCHOOSE SERVICE IP ADDRESS FROM THE LIST:"
/sbin/ifconfig -a|grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" |awk '{print $1" "$2}'|grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"|awk '$0=" "NR") "$0'
IPLIST=(`/sbin/ifconfig -a|grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" |awk '{print $1" "$2}'|grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"`)

while [ $IPCHOOSE -eq 0 ]
do
    read -p "ENTER THE NUMBER FOR YOUR CHOICE [Default:${IPLIST[0]}]: " IPADDRESS
    if [ ! $IPADDRESS ]
    then
        IPADDRESS=${IPLIST[0]}
        if [ ! $IPADDRESS ]
        then
           IPADDRESS=$HOSTNAME
        fi
    else if [ `echo $IPADDRESS|wc -c` -lt 3 ]
    then
        IPADDRESS=${IPLIST[$(($IPADDRESS-1))]} 
      fi
    fi
  
    ping -c 1 $IPADDRESS >> /dev/null 2>&1
    if [ $? != 0 ]
    then
        echo "IP ADDRESS <$IPADDRESS> NOT AVAILABLE!!!"
    else
        IPCHOOSE=1
    fi
done

echo -e ""
read -p "SPECIFY THE PORT NUMBER FOR GBASE [Default:9088]: " GBASE_PORT
if [ ! $GBASE_PORT ]
then
    GBASE_PORT=9088
else if [ $GBASE_PORT -gt 65535 ]
then
    echo -e "WARNING : PORT <$GBASE_PORT> IS INVALID!!! USE DEFAULT"
    GBASE_PORT=9088
  fi
fi

PORTING=`/bin/netstat -an 2>>$LOGFILE|grep tcp|grep ":$GBASE_PORT "|wc -l`
if [ $PORTING -gt 0 ]
then
    echo -e "WARNING : PORT <$GBASE_PORT> IS BEING USED !!! \c"
    GBASE_PORT=9088 
    for p in {1..999}
    do
      PORTING=`/bin/netstat -an 2>>$LOGFILE|grep tcp|grep ":$GBASE_PORT "|wc -l`
      if [  $PORTING -eq 0  ]
      then
          echo -e "USE PORT $GBASE_PORT"
          break
      fi
      GBASE_PORT=$(($GBASE_PORT+$p))
    done
fi

### Set Environment Variables

export GBASEDBTDIR=$GBASEDIR
export GBASEDBTSQLHOSTS=$GBASEDBTDIR/etc/sqlhosts.$GBASESERVER
export ONCONFIG=onconfig.$GBASEDBTSERVER
export PATH=$GBASEDBTDIR/bin:$PATH

### Add Environment Variables to Profile.

echo "export GBASEDBTDIR=$GBASEDIR" >> $HOME/profile.$GBASESERVER
echo "export GBASEDBTSQLHOSTS=$GBASEDBTDIR/etc/sqlhosts.$GBASESERVER" >> $HOME/profile.$GBASESERVER
echo "export ONCONFIG=onconfig.$GBASEDBTSERVER" >> $HOME/profile.$GBASESERVER
echo "export PATH=$GBASEDBTDIR/bin:\$PATH" >> $HOME/profile.$GBASESERVER

echo "source $HOME/profile.$GBASESERVER" >> $HOME/.bash_profile

### Init Type

echo -e "\nINITIALIZE TYPE:"
echo -e " 1) TYPICAL -- Initialize the instance with all features configured with default values."
echo -e " 2) CUSTOM  -- Initialize the instance with specific features that you need."

INITTYPE=0
while [ $INITTYPE != 1 -a $INITTYPE != 2 ]
do 
  read -p "ENTER THE NUMBER FOR YOUR CHOICE [Default:1]: " INITTYPE
  if [ ! $INITTYPE ]
  then
      INITTYPE=1
  fi
done

case $INITTYPE in
'1')
    ### DB_LOCALE
    
    GBASE_LOCALE=en_US.819
    unset DB_LOCALE CLIENT_LOCALE
    echo "unset DB_LOCALE CLIENT_LOCALE" >> $HOME/profile.$GBASESERVER
    DBLOCALE_CHOOSE=1

    ### Chunk/Dbspace Path
    DATADIR=${GBASEDBTDIR}/${GBASESERVER}_dbs
    mkdir -p $DATADIR  >> $LOGFILE 2>&1
    if [ $? != 0 ]
    then
        echo "< $DATADIR > Create directory failed !!!"
        read -p "Press <ENTER> to continue" TEMP_V
        continue
    fi
    chmod 755 $DATADIR >> $LOGFILE 2>&1
    if [ ! -w $DATADIR ]
    then
        echo " $DATADIR Write permission check failed !!!"
        read -p "Press <ENTER> to continue" TEMP_V
        continue
    fi

    DIRFREE=`df -m $DATADIR|grep -v Filesystem|awk 'NF>1{print $((NF-2))}'`

    DBSMAX=`expr $DIRFREE / 3`
    echo DBSMAX=$DBSMAX >> $LOGFILE 2>&1
    
    dirtimes=`expr $DIRFREE / 99`
    echo dirtimes1=$dirtimes >> $LOGFILE 2>&1

    if [ ! $dirtimes ]
    then
        dirtimes=10
    else if [ $dirtimes -lt 5 ]
    then
        echo "Directory free size < 500MB, please choose a bigger one."
    else if [ $dirtimes -gt 1000 ]
    then
        dirtimes=1000
        fi
      fi
    fi

    ### Dbspace Size

    LLOGDBS_SIZE=$(($dirtimes*10))
    if [ $LLOGDBS_SIZE -gt 51200 ]
    then
        LLOGDBS_SIZE=51200
    else if [ $LLOGDBS_SIZE -lt 100 ]
    then
        LLOGDBS_SIZE=100
      fi
    fi

    PLOGDBS_SIZE=$(($dirtimes*10))
    if [ $PLOGDBS_SIZE -gt 51200 ]
    then
        PLOGDBS_SIZE=51200
    else if [ $PLOGDBS_SIZE -lt 100 ]
    then
        PLOGDBS_SIZE=100
      fi
    fi

    SBDBS_SIZE=$(($dirtimes*2+30))
    if [ $SBDBS_SIZE -gt 51200 ]
    then
        SBDBS_SIZE=51200
    else if [ $SBDBS_SIZE -lt 50 ]
    then
        SBDBS_SIZE=50
      fi
    fi
    
    TMPDBS_SIZE=$(($dirtimes*2+30))
    if [ $TMPDBS_SIZE -gt 5120 ]
    then
        TMPDBS_SIZE=5120
    else if [ $TMPDBS_SIZE -lt 50 ]
    then
        TMPDBS_SIZE=50
      fi
    fi
    
    NUM_TEMP_DBS=1
    NUM_DATA_DBS=1

    ### Llog & Plog Size
    LOG_SIZE=$(($LLOGDBS_SIZE/40))
    if [ $LOG_SIZE -lt 10 ]
    then
        LOG_SIZE=10
    else if [ $LOG_SIZE -gt 500 ]
    then
        LOG_SIZE=500
      fi
    fi

    LOG_NUM=$(($LLOGDBS_SIZE/$LOG_SIZE))
    LOG_NUM=${LOG_NUM%.*}
    
    ### GL_USEGLU
    unset GL_USEGLU
    ENV_GL_USEGLU=0
    echo "unset GL_USEGLU" >> $HOME/profile.$GBASESERVER
   
    ;;
'2')

    ### DBLOCALE
    
    DBLOCALE_CHOOSE=0
    echo -e "\nGBASE CHARACTER SET LIST:"
    echo " 1) en_US.8859-1"
    echo " 2) zh_CN.GB18030-2000"
    echo " 3) zh_CN.utf8"
    
    while [ $DBLOCALE_CHOOSE -eq 0 ]
    do
    read -p "ENTER THE NUMBER FOR YOUR CHOICE [Default:1]: " GBASE_LOCALE
    if [ ! $GBASE_LOCALE ]
    then
        GBASE_LOCALE=en_US.819
        unset DB_LOCALE CLIENT_LOCALE
        echo "unset DB_LOCALE CLIENT_LOCALE" >> $HOME/profile.$GBASESERVER
        DBLOCALE_CHOOSE=1
    else if [ `echo $GBASE_LOCALE|wc -c` -lt 3 ]
    then 
        if [ $GBASE_LOCALE -eq 1 ]
        then
        GBASE_LOCALE=en_US.819
            unset DB_LOCALE CLIENT_LOCALE
            echo "unset DB_LOCALE CLIENT_LOCALE" >> $HOME/profile.$GBASESERVER
            DBLOCALE_CHOOSE=1
        else if [ $GBASE_LOCALE -eq 2 ]
        then
            GBASE_LOCALE=zh_CN.GB18030-2000
            echo "export DB_LOCALE=$GBASE_LOCALE" >> $HOME/profile.$GBASESERVER
            echo "export CLIENT_LOCALE=$GBASE_LOCALE" >> $HOME/profile.$GBASESERVER
            DBLOCALE_CHOOSE=2
        else if [ $GBASE_LOCALE -eq 3 ]
        then
            GBASE_LOCALE=zh_CN.utf8
            echo "export DB_LOCALE=$GBASE_LOCALE" >> $HOME/profile.$GBASESERVER
            echo "export CLIENT_LOCALE=$GBASE_LOCALE" >> $HOME/profile.$GBASESERVER
            DBLOCALE_CHOOSE=3
            fi
          fi
        fi
      fi
    fi
    done

    ### Chunk/Dbspace Path
    
    echo -e ""
    DIRCHOOSE=0
    while [ $DIRCHOOSE -eq 0 ]
    do
    read -p "ENTER THE DATA SPACE PATH [Default:${GBASEDBTDIR}/${GBASESERVER}_dbs]: " DATADIR
    if [ ! $DATADIR ]
    then
        DATADIR=${GBASEDBTDIR}/${GBASESERVER}_dbs
    fi
    
    if [ ! -d $DATADIR ]
    then    
        mkdir -p $DATADIR  >> $LOGFILE 2>&1
        if [ $? != 0 ]
        then
            echo "< $DATADIR > Create directory failed !!!"
            continue
        fi
    fi
    chmod 755 $DATADIR >> $LOGFILE 2>&1
    if [ ! -w $DATADIR ]
    then
        echo " $DATADIR Write permission check failed !!!"
        continue
    fi
    
    DIRFREE=`df -m $DATADIR|grep -v Filesystem|awk 'NF>1{print $((NF-2))}'`
    
    DBSMAX=`expr $DIRFREE / 3`
    echo DBSMAX=$DBSMAX >> $LOGFILE 2>&1
    
    dirtimes=`expr $DIRFREE / 99`
    echo dirtimes1=$dirtimes >> $LOGFILE 2>&1
    
    if [ ! $dirtimes ]
    then
        dirtimes=10
        DIRCHOOSE=1
    else if [ $dirtimes -lt 5 ]
    then
        echo "Directory free size < 500MB, please choose a bigger one."
    else if [ $dirtimes -gt 1000 ]
    then
        dirtimes=1000
        DIRCHOOSE=1
    else
        DIRCHOOSE=1
        fi
      fi
    fi
    done
    echo dirtimes2=$dirtimes >> $LOGFILE 2>&1
    
    ### Dbspace Size
    echo -e ""
    read -p "ENTER THE LOGICAL LOG DBSPACE SIZE(MB) [Default:$(($dirtimes*10))]: " LLOGDBS_SIZE
    LLOGDBS_SIZE=`echo $LLOGDBS_SIZE|tr -cd "[0-9]"`
    if [ ! $LLOGDBS_SIZE ]
    then
        LLOGDBS_SIZE=$(($dirtimes*10))
    else
    if [ $LLOGDBS_SIZE -gt 51200 ]
    then              
        LLOGDBS_SIZE=51200
    else if [ $LLOGDBS_SIZE -lt 100 ]
    then
        LLOGDBS_SIZE=100
        fi
      fi
    fi
    if [ $LLOGDBS_SIZE -gt $DBSMAX ]
    then
        LLOGDBS_SIZE=$DBSMAX
    fi
    
    echo -e ""
    read -p "ENTER THE PHYSICAL LOG DBSPACE SIZE(MB) [Default:$(($dirtimes*10))]: " PLOGDBS_SIZE
    PLOGDBS_SIZE=`echo $PLOGDBS_SIZE|tr -cd "[0-9]"`
    if [ ! $PLOGDBS_SIZE ]
    then
        PLOGDBS_SIZE=$(($dirtimes*10))
    else if [ $PLOGDBS_SIZE -gt 51200 ]
    then              
        PLOGDBS_SIZE=51200
    else if [ $PLOGDBS_SIZE -lt 100 ]
    then
        PLOGDBS_SIZE=100
        fi
      fi
    fi
    if [ $PLOGDBS_SIZE -gt $DBSMAX ]
    then
        PLOGDBS_SIZE=$DBSMAX
    fi
    
    echo -e ""
    read -p "ENTER THE SMART LOB DBSPACE SIZE(MB) [Default:$(($dirtimes*2+30))]: " SBDBS_SIZE
    SBDBS_SIZE=`echo $SBDBS_SIZE|tr -cd "[0-9]"`
    if [ ! $SBDBS_SIZE ]
    then
        SBDBS_SIZE=$(($dirtimes*2+30))
    else if [ $SBDBS_SIZE -gt 51200 ]
    then
        SBDBS_SIZE=51200
    else if [ $SBDBS_SIZE -lt 50 ]
    then
        SBDBS_SIZE=50
        fi
      fi
    fi
    if [ $SBDBS_SIZE -gt $DBSMAX ]
    then
        SBDBS_SIZE=$DBSMAX
    fi
    
    echo -e ""
    read -p "ENTER THE TEMPORARY DBSPACE SIZE(MB) [Default:$(($dirtimes*2+30))]: " TMPDBS_SIZE
    TMPDBS_SIZE=`echo $TMPDBS_SIZE|tr -cd "[0-9]"`
    if [ ! $TMPDBS_SIZE ]
    then
        TMPDBS_SIZE=$(($dirtimes*2+30))
    else if [ $TMPDBS_SIZE -gt 5120 ]
    then              
        TMPDBS_SIZE=5120
    else if [ $TMPDBS_SIZE -lt 50 ]
    then
        TMPDBS_SIZE=50
        fi
      fi
    fi
    if [ $TMPDBS_SIZE -gt $DBSMAX ]
    then
        TMPDBS_SIZE=$DBSMAX
    fi
    
    ###Llog & Plog Size
    LOG_SIZE=$(($LLOGDBS_SIZE/40))
    if [ $LOG_SIZE -lt 10 ]
    then
        LOG_SIZE=10
    else if [ $LOG_SIZE -gt 500 ]
    then
        LOG_SIZE=500
      fi
    fi
    
    LOG_NUM=$(($LLOGDBS_SIZE/$LOG_SIZE))
    LOG_NUM=${LOG_NUM%.*}

    ### Advanced settings
    echo -e ""
    ADVANCED_SETTING=0
    while [[ $ADVANCED_SETTING != [YyNn] ]]
    do
        read -p "ENTER \"Y\" TO START DATABASE ADVANCED SETTINGS, OR ENTER \"N\" TO ACCEPT DEFAULT VALUES: [Default:N]: " ADVANCED_SETTING
        if [ ! $ADVANCED_SETTING ]
        then
            ADVANCED_SETTING=N
        fi
    done
    
    if [ "$ADVANCED_SETTING" == "Y" -o "$ADVANCED_SETTING" == "y" ]
    then
        ### Number of datadbs
        
        echo -e ""
        read -p "ENTER THE NUMBER OF DATA DBSPACES [Default:1]: " NUM_DATA_DBS
        NUM_DATA_DBS=`echo $NUM_DATA_DBS|tr -cd "[0-9]"`
        if [ ! $NUM_DATA_DBS ]
        then
            NUM_DATA_DBS=1
        else if [ $NUM_DATA_DBS -gt 20 ]
            then
            NUM_DATA_DBS=20
        else if [ $NUM_DATA_DBS -lt 1 ]
        then
            NUM_DATA_DBS=1
            fi
          fi
        fi

        ### Number of tempdbs
        
        echo -e ""
        read -p "ENTER THE NUMBER OF TEMP DBSPACES [Default:1]: " NUM_TEMP_DBS
        NUM_TEMP_DBS=`echo $NUM_TEMP_DBS|tr -cd "[0-9]"`
        if [ ! $NUM_TEMP_DBS ]
        then
            NUM_TEMP_DBS=1
        else if [ $NUM_TEMP_DBS -gt 8 ]
            then
            NUM_TEMP_DBS=8
        else if [ $NUM_TEMP_DBS -lt 1 ]
        then
            NUM_TEMP_DBS=1
            fi
          fi
        fi

        ### Environment GL_USEGLU
        echo ""
        ENV_GL_USEGLU=A
        while [[ $ENV_GL_USEGLU != [YyNn10] ]] 
        do
            read -p "Enter \"Y\" TO ENABLE ENVIRONMENT GL_USEGLU, OR ENTER \"N\" TO DISABLE: [Default:N]: " ENV_GL_USEGLU
            if [ ! $ENV_GL_USEGLU ]
            then
                ENV_GL_USEGLU=0
            fi
        done
        
        if [ "$ENV_GL_USEGLU" == "Y" -o "$ENV_GL_USEGLU" == "y" -o $ENV_GL_USEGLU == 1 ]
        then
            ENV_GL_USEGLU=1
            export GL_USEGLU=$ENV_GL_USEGLU
            echo "export GL_USEGLU=$ENV_GL_USEGLU" >> $HOME/profile.$GBASESERVER
        else
            unset GL_USEGLU
            ENV_GL_USEGLU=0
            echo "unset GL_USEGLU" >> $HOME/profile.$GBASESERVER
        fi
        
        
    else
        NUM_DATA_DBS=1
        NUM_TEMP_DBS=1
        unset GL_USEGLU
        ENV_GL_USEGLU=0
        
    fi

    ;;
esac

echo -e "\nINSTANCE SUMMARY:"
echo -e "  Instance name:              " $GBASEDBTSERVER
echo -e "  GBase install directory:    " $GBASEDBTDIR
echo -e "  IP address & port:          " $IPADDRESS:$GBASE_PORT
echo -e "  Character set:              " $GBASE_LOCALE
echo -e "  Logical log space size:     " $LLOGDBS_SIZE" MB"
echo -e "  Physical log space size:    " $PLOGDBS_SIZE" MB"
echo -e "  Smart LOB space size:       " $SBDBS_SIZE" MB"
echo -e "  Temp DBSpace size:          " $TMPDBS_SIZE" MB"
echo -e "  Data path:                  " $DATADIR
echo -e "  Data path free size:        " $DIRFREE" MB"

if [ $INITTYPE -eq 2 ]
then
if [ "$ADVANCED_SETTING" == "Y" -o "$ADVANCED_SETTING" == "y" ]
then
echo -e "  The number of data DBSpace: " $NUM_DATA_DBS
echo -e "  The number of temp DBSpace: " $NUM_TEMP_DBS
echo -e "  Environment GL_USEGLU:      " $ENV_GL_USEGLU
  fi 
fi

echo ""

YN=0
while [[ $YN != [YyNn] ]]
do
    read -p "Enter \"Y\" to Start database initializing, or Enter \"N\" to Edit Again: " YN
done

if [[ $YN == [Yy] ]]
then
    INIT=1
fi

done

echo -e "  Instance name:              " $GBASEDBTSERVER        >> $LOGFILE 2>&1
echo -e "  GBase install directory:    " $GBASEDBTDIR           >> $LOGFILE 2>&1
echo -e "  IP address & port:          " $IPADDRESS $GBASE_PORT >> $LOGFILE 2>&1
echo -e "  Character set:              " $GBASE_LOCALE          >> $LOGFILE 2>&1
echo -e "  Logical log space size:     " $LLOGDBS_SIZE" MB"     >> $LOGFILE 2>&1
echo -e "  Physical log space size:    " $PLOGDBS_SIZE" MB"     >> $LOGFILE 2>&1
echo -e "  Temp DBSpace size:          " $TMPDBS_SIZE" MB"      >> $LOGFILE 2>&1
echo -e "  Smart LOB space size:       " $SBDBS_SIZE" MB"       >> $LOGFILE 2>&1
echo -e "  Temp DBSpace size:          " $TMPDBS_SIZE" MB"      >> $LOGFILE 2>&1
echo -e "  The number of data DBSpace: " $NUM_DATA_DBS          >> $LOGFILE 2>&1
echo -e "  Data path:                  " $DATADIR               >> $LOGFILE 2>&1
echo -e "  Data path free size:        " $DIRFREE" MB\n"        >> $LOGFILE 2>&1
echo -e "  Environment GL_USEGLU:      " $ENV_GL_USEGLU         >> $LOGFILE 2>&1
echo -e "  The number of temp DBSpace: " $NUM_TEMP_DBS          >> $LOGFILE 2>&1

################################################################################

echo -e "Start time: \c" >> $LOGFILE 2>&1
/bin/date >> $LOGFILE 2>&1

### Making DIR & Touching Chunks 
echo -e "\nTouching Chunks...\c"
#mkdir -p $DATADIR  >> $LOGFILE 2>&1
#chmod 755 $DATADIR >> $LOGFILE 2>&1
touch $DATADIR/rootdbs  >> $LOGFILE 2>&1
touch $DATADIR/llogdbs  >> $LOGFILE 2>&1
touch $DATADIR/plogdbs  >> $LOGFILE 2>&1
touch $DATADIR/sbspace1 >> $LOGFILE 2>&1

touch $DATADIR/tmpdbs1  >> $LOGFILE 2>&1
ntmp=2
while [ $ntmp -le $NUM_TEMP_DBS ]
do
    touch ${DATADIR}/tmpdbs${ntmp}  >> $LOGFILE 2>&1
    ntmp=$(($ntmp+1))
done

for j in `seq $NUM_DATA_DBS`
do
    touch ${DATADIR}/datadbs${j}_1
done

### Change Owner & Permissions 
chown gbasedbt:gbasedbt $DATADIR/*
chmod 0660 $DATADIR/*

echo "OK"

### Delete sysadmin stop file if exists
rm -f $GBASEDBTDIR/etc/sysadmin/stop >> $LOGFILE 2>&1

### Create File: sqlhosts
echo -e "Create sqlhosts File:  $GBASEDBTSQLHOSTS ...\c"
echo "$GBASEDBTSERVER onsoctcp $IPADDRESS $GBASE_PORT" > $GBASEDBTSQLHOSTS
echo "OK"

# Setting Parameters in onconfig

echo -e "Setting Parameters in $GBASEDBTDIR/etc/onconfig."$GBASEDBTSERVER" :"
cp -f $GBASEDBTDIR/etc/onconfig.std $GBASEDBTDIR/etc/$ONCONFIG
if [ $? != 0 ]
then
    echo "Error: Create $GBASEDBTDIR/etc/$ONCONFIG file error !!!"
    exit
fi

sed -i "s#^ROOTPATH.*#ROOTPATH $DATADIR/rootdbs #g" $GBASEDBTDIR/etc/$ONCONFIG
echo -e "ROOTPATH.\c"

sed -i "s#^ROOTSIZE.*#ROOTSIZE 204800 #g" $GBASEDBTDIR/etc/$ONCONFIG
echo -e "ROOTSIZE.\c"

sed -i "s#^DBSERVERNAME.*#DBSERVERNAME $GBASEDBTSERVER #g" $GBASEDBTDIR/etc/$ONCONFIG
echo -e "DBSERVERNAME.\c"

sed -i "s#^FULL_DISK_INIT.*#FULL_DISK_INIT 1 #g" $GBASEDBTDIR/etc/$ONCONFIG
echo -e "FULL_DISK_INIT.\c"

sed -i "s#^SBSPACENAME.*#SBSPACENAME sbspace1 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "SBSPACENAME.\c"

sed -i "s#^SYSSBSPACENAME.*#SYSSBSPACENAME sbspace1 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "SYSSBSPACENAME.\c"

### Tempdbs
ntmp=2
TMP_DBS_CONF=tmpdbs1
while [ $ntmp -le $NUM_TEMP_DBS ]
do
    TMP_DBS_CONF=$TMP_DBS_CONF,tmpdbs$ntmp
    ntmp=$(($ntmp+1))
done
sed -i "s#^DBSPACETEMP.*#DBSPACETEMP $TMP_DBS_CONF #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "DBSPACETEMP.\c"

sed -i "s#LOGFILES.*#LOGFILES 3 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "LOGFILES.\c"

sed -i "s#^MULTIPROCESSOR.*#MULTIPROCESSOR 1 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "MULTIPROCESSOR.\c"

### CPU VP
NUM_CPU=`cat /proc/cpuinfo|grep processor|wc -l` >> $LOGFILE 2>&1
if [ $NUM_CPU -gt 8 ]
then
   NUM_CPU=$(($NUM_CPU-1))
else if [ $NUM_CPU -lt 1 ]
then
   NUM_CPU=1
  fi
fi
sed -i "s#^VPCLASS.*#VPCLASS cpu,num=$NUM_CPU,noage #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "VPCLASS.\c"

if [ $NUM_CPU -gt 20 ]
then
    NUM_NET=10
else if [ $NUM_CPU -lt 5 ]
then
    NUM_NET=1
else
    NUM_NET=$(($NUM_CPU/2))
    NUM_NET=${NUM_NET%.*}
  fi
fi
sed -i "s#^NETTYPE.*#NETTYPE soctcp,$NUM_NET,200,CPU #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "NETTYPE.\c"

sed -i "s#^CLEANERS.*#CLEANERS 32 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "CLEANERS.\c"

sed -i "s#^DEF_TABLE_LOCKMODE.*#DEF_TABLE_LOCKMODE row #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "DEF_TABLE_LOCKMODE.\c"

sed -i "s#^DIRECT_IO.*#DIRECT_IO 1 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "DIRECT_IO.\c"

### LOCKS
LOCKNUM=$(($ntimes*100000+100000))
if [ $LOCKNUM -gt 20000000 ]
then
    LOCKNUM=20000000
fi
sed -i "s#^LOCKS.*#LOCKS $LOCKNUM #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "LOCKS.\c"

sed -i "s#^TAPEDEV.*#TAPEDEV /dev/null #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "TAPEDEV.\c"

sed -i "s#^LTAPEDEV.*#LTAPEDEV /dev/null #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "LTAPEDEV.\c"

sed -i "s#^CKPTINTVL.*#CKPTINTVL 120 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "CKPTINTVL.\c"

sed -i "s#^DS_MAX_QUERIES.*#DS_MAX_QUERIES 4 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "DS_MAX_QUERIES.\c"

sed -i "s#^DS_TOTAL_MEMORY.*#DS_TOTAL_MEMORY 4096000 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "DS_TOTAL_MEMORY.\c"

sed -i "s#^DS_NONPDQ_QUERY_MEM.*#DS_NONPDQ_QUERY_MEM 20480 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "DS_NONPDQ_QUERY_MEM.\c"

sed -i "s#^PHYSBUFF.*#PHYSBUFF 2048 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "PHYSBUFF.\c"

sed -i "s#^LOGBUFF.*#LOGBUFF 1024 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "LOGBUFF.\c"

sed -i "s#^AUTO_TUNE.*#AUTO_TUNE 0 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "AUTO_TUNE.\c"

sed -i "s#^MSGPATH.*#MSGPATH ${GBASEDBTDIR}/etc/online_${GBASEDBTSERVER}.log #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "MSGPATH.\c"

sed -i "s#^SERVERNUM.*#SERVERNUM $(($RANDOM%254)) #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "SERVERNUM.\c"

sed -i "s#^ALLOW_NEWLINE.*#ALLOW_NEWLINE 1 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "ALLOW_NEWLINE.\c"

sed -i "s#^TEMPTAB_NOLOG.*#TEMPTAB_NOLOG 1 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "TEMPTAB_NOLOG.\c"

sed -i "s#^DUMPSHMEM.*#DUMPSHMEM 0 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "DUMPSHMEM.\c"

sed -i "s#^USEOSTIME.*#USEOSTIME 1 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "USEOSTIME.\c"

sed -i "s#^STACKSIZE.*#STACKSIZE 128 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "STACKSIZE.\c"

sed -i "s#^ON_RECVRY_THREADS.*#ON_RECVRY_THREADS 16 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "ON_RECVRY_THREADS.\c"

sed -i "s#^OFF_RECVRY_THREADS.*#OFF_RECVRY_THREADS 96 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "OFF_RECVRY_THREADS.\c"

sed -i "s#^USELASTCOMMITTED.*#USELASTCOMMITTED \"COMMITTED READ\" #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "USELASTCOMMITTED.\c"


### SHMVIRTSIZE
VIRSIZE=$(($ntimes*51200+25600))
if [ $VIRSIZE -gt 4096000 ]
then 
    VIRSIZE=4096000
fi
sed -i "s#^SHMVIRTSIZE.*#SHMVIRTSIZE $VIRSIZE #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "SHMVIRTSIZE.\c"

### SHMADD
ADDSIZE=$(($ntimes*51200+25600))
if [ $ADDSIZE -gt 1024000 ]
then
    ADDSIZE=1024000
fi
sed -i "s#^SHMADD.*#SHMADD $ADDSIZE #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "SHMADD.\c"

sed -i "s#^GBASEDBTCONTIME.*#GBASEDBTCONTIME 12 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "GBASEDBTCONTIME.\c"

### 2K BUFFER POOL
BP2K=$(($ntimes*25000+10000))
if [ $BP2K -gt 1000000 ]
then
    BP2K=1000000
fi
sed -i "s#^BUFFERPOOL size=2.*#BUFFERPOOL size=2k,buffers=$BP2K,lrus=32,lru_min_dirty=50,lru_max_dirty=60 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "BUFFERPOOL2K.\c"

### 16K BUFFER POOL
BUF_16=`grep "^BUFFERPOOL size=16" $GBASEDBTDIR/etc/$ONCONFIG|wc -l`
if [ $BUF_16 -eq 0 ]
then
   echo "BUFFERPOOL size=16" >> $GBASEDBTDIR/etc/$ONCONFIG
fi

BP16K=$(($ntimes*25000))
if [ $BP16K -gt 3000000 ]
then
    BP16K=3000000
fi
sed -i "s#^BUFFERPOOL size=16.*#BUFFERPOOL size=16k,buffers=$BP16K,lrus=64,lru_min_dirty=25,lru_max_dirty=30 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
echo -e "BUFFERPOOL16K...\c"

ATCKPT=`grep "^AUTO_CKPTS " $GBASEDBTDIR/etc/$ONCONFIG|wc -l`
if [ $ATCKPT -eq 0 ]
then
   echo "AUTO_CKPTS 0" >> $GBASEDBTDIR/etc/$ONCONFIG
else
   sed -i "s#^AUTO_CKPTS.*#AUTO_CKPTS 0 #g" $GBASEDBTDIR/etc/$ONCONFIG >> $LOGFILE 2>&1
fi
echo -e "AUTO_CKPTS.\c"

echo "OK"

################################################################################

echo -e "Initializing Root DBSpace & Share Memory...\c"
unset DB_LOCALE CLIENT_LOCALE
oninit -viy >> $LOGFILE 2>&1

### Wait for creating system database

echo -e "OK\nCreating system database.\c"
for w in {1..5}
do
  sleep 3
  echo -e ".\c"
done

SYSADMINSTOP=`ls -l $GBASEDBTDIR/etc/sysadmin/stop 2>>$LOGFILE|wc -l`
if [ $SYSADMINSTOP -eq 0 ]
then
    TOTNDB=3
else
    TOTNDB=2
fi

i=1
while [ $i -lt 25 ]
do
  sleep 2
  echo -e ".\c"
  ndb=`echo "select count(*) dbnum from sysdatabases"|dbaccess sysmaster 2>>$LOGFILE|grep -Ev "^$|dbnum"`
  echo Number of System databases = $ndb >> $LOGFILE 2>&1
  if [ ! $ndb ]
  then
      ndb=0
      sleep 2
  else if [ $ndb -gt $TOTNDB ]
  then 
      i=99
      sleep 2
    fi
  fi
  i=$(($i+1))
done

### Check sysmaster

if [ $i -lt 99 ]
then
    SYSMASTERDB=`timeout 5 echo "select count(*) from sysdatabases where name='sysmaster'"|dbaccess sysmaster 2>/dev/null|grep -Ev "^$|count"`
    if [ $SYSMASTERDB != 1 ]
    then
        echo "MAIN SYSTEM DATABASE sysmaster NOT EXISTS, CHECK ${GBASEDBTDIR}/tmp/online_${GBASEDBTSERVER}.log FOR MORE INFORMATION." 
        echo "MAIN SYSTEM DATABASE sysmaster NOT EXISTS, CHECK ${GBASEDBTDIR}/tmp/online_${GBASEDBTSERVER}.log FOR MORE INFORMATION." >> $LOGFILE 2>&1
        exit
    fi
fi

### Create dbspaceses

echo -e "OK\nCreating logical log Dbspace...\c"
onspaces -c -d llogdbs -p $DATADIR/llogdbs       -o 0 -s $(($LLOGDBS_SIZE*1024)) >> $LOGFILE 2>&1

echo -e "OK\nCreating physical log Dbspace...\c"
onspaces -c -d plogdbs -p $DATADIR/plogdbs       -o 0 -s $(($PLOGDBS_SIZE*1024)) >> $LOGFILE 2>&1

echo -e "OK\nCreating smart LOB Dbspace...\c"
onspaces -c -S sbspace1 -p $DATADIR/sbspace1     -o 0 -s $(($SBDBS_SIZE*1024))   >> $LOGFILE 2>&1

### Temp dbspaces
echo -e "OK\nCreating temp Dbspace.1.\c"
onspaces -c -d tmpdbs1 -k 16 -p $DATADIR/tmpdbs1 -o 0 -s $(($TMPDBS_SIZE*1024)) -t >> $LOGFILE 2>&1

ntmp=2
while [ $ntmp -le $NUM_TEMP_DBS ]
do
    echo -e "$ntmp.\c"
    onspaces -c -d tmpdbs${ntmp} -k 16 -p ${DATADIR}/tmpdbs${ntmp} -o 0 -s $(($TMPDBS_SIZE*1024)) -t >> $LOGFILE 2>&1
    ntmp=$(($ntmp+1))
done

echo -e "..OK\nCreating data Dbspace.\c"
for n in `seq $NUM_DATA_DBS`
do
    echo -e "$n.\c"
    onspaces -c -d datadbs$n -k 16 -p ${DATADIR}/datadbs${n}_1 -o 0 -s 102400  >> $LOGFILE 2>&1
done
echo "..OK"

echo -e "Setting dbscheduler...\c"
echo "execute function task('scheduler stop')"|dbaccess sysadmin >> $LOGFILE 2>&1
touch $GBASEDBTDIR/etc/sysadmin/stop >> $LOGFILE 2>&1
echo "OK"

echo -e "Moving physical log...\c"
onparams -p -d plogdbs -s $(($PLOGDBS_SIZE*994)) -y  >> $LOGFILE 2>&1
echo "OK"

echo -e "Adding $LOG_NUM logical logs: \c"
for i in `seq $LOG_NUM`
do
    echo -e "$i.\c"
    onparams -a -d llogdbs -s $(($LOG_SIZE*1000)) >> $LOGFILE 2>&1
done
echo "..OK"

echo -e "Setting data chunks extendable...\c"
echo "select c.chknum from sysdbspaces d,syschunks c where d.dbsnum=c.dbsnum and d.name like 'datadbs%'"|dbaccess sysmaster 2>>$LOGFILE|grep -Ev "^$|chknum" > ./.datadbs.tmp
for dbsnum in `cat ./.datadbs.tmp`
do
     echo "execute function task('modify chunk extendable', '$dbsnum')"|dbaccess sysadmin >> $LOGFILE 2>&1
done
echo "OK"
rm -f ./.datadbs.tmp >> $LOGFILE 2>&1

echo -e "Cleaning logical logs in rootdbs...\c"
echo "select number from syslogfil where chunk=1" |dbaccess sysmaster 2>/dev/null|grep -Ev "^$|number" > ./.llog_in_rootdbs.tmp
for i in {1..3}
do
    onmode -l 
    echo -e '.\c'
done
onmode -c
for i in `cat ./.llog_in_rootdbs.tmp`
do
    onparams -d -l $i -y >> $LOGFILE 2>&1
    echo -e '.\c'
done
echo "OK"
rm -f ./.llog_in_rootdbs.tmp >> $LOGFILE 2>&1

################################################################################

### Database Restart

echo -e "Database restarting...\c"
onmode -ky >> $LOGFILE 2>&1
echo -e "..\c"
sleep 1
oninit -v >> $LOGFILE 2>&1
echo -e "..\c"
sleep 1

### Status Check

OL=`onstat -|grep "On-Line"|wc -l`
if [ $OL -eq 1 ]
then 
  echo "OK"
else
  echo -e "\nInitalize Failed,See "`onstat -m|grep "Message Log File"` "For Details"
fi

### Create database : gbasedb

if [ $DBLOCALE_CHOOSE -eq 2 ]
then
    export DB_LOCALE=zh_CN.GB18030-2000
    export CLIENT_LOCALE=zh_CN.GB18030-2000    
else if [ $DBLOCALE_CHOOSE -eq 3 ]
then
    export DB_LOCALE=zh_CN.utf8
    export CLIENT_LOCALE=zh_CN.utf8
else 
    unset DB_LOCALE CLIENT_LOCALE 
  fi
fi

echo -e "Creating database: gbasedb...\c"
echo "create database gbasedb in datadbs1 with log;create synonym dual for sysmaster:sysdual;" | dbaccess sysmaster >> $LOGFILE 2>&1
echo "OK"

### JDBC

JDBCFILE="${GBASEDBTDIR}/jdbc/lib/ifxjdbc.jar"
ls -l $JDBCFILE >> $LOGFILE 2>&1
if [ $? -eq 0 ]
then
echo -e "\nGBase JDBC Driver: $JDBCFILE "
fi
echo -e "\nNow you can use this URL to connect to gbasedb:"

if [ $ENV_GL_USEGLU -eq 1 ]
then
    URL_GLU="GL_USEGLU=1"
else
    URL_GLU=""
fi

if [ $DBLOCALE_CHOOSE -eq 1 ]
then 
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;$URL_GLU"
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;$URL_GLU" >> $LOGFILE 2>&1
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;$URL_GLU" >> $GBASEDBTDIR/tmp/URL.txt
else if [ $DBLOCALE_CHOOSE -eq 2 ]
then
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;DB_LOCALE=zh_CN.GB18030-2000;CLIENT_LOCALE=zh_CN.GB18030-2000;NEWCODESET=GB18030,GB18030-2000,5488;$URL_GLU"
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;DB_LOCALE=zh_CN.GB18030-2000;CLIENT_LOCALE=zh_CN.GB18030-2000;NEWCODESET=GB18030,GB18030-2000,5488;$URL_GLU" >> $LOGFILE 2>&1
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;DB_LOCALE=zh_CN.GB18030-2000;CLIENT_LOCALE=zh_CN.GB18030-2000;NEWCODESET=GB18030,GB18030-2000,5488;$URL_GLU" >> $GBASEDBTDIR/tmp/URL.txt
else if [ $DBLOCALE_CHOOSE -eq 3 ]
then
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;$URL_GLU"
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;$URL_GLU" >> $LOGFILE 2>&1
    echo "jdbc:gbasedbt-sqli://$IPADDRESS:$GBASE_PORT/gbasedb:GBASEDBTSERVER=$GBASEDBTSERVER;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;$URL_GLU" >> $GBASEDBTDIR/tmp/URL.txt
    fi
  fi
fi

### Version & info

echo -e "\nVersion:"
onstat - |grep -v ^$ 
onstat -version |grep "Build Number"
onstat -version >> $LOGFILE 2>&1
onstat -d >> $LOGFILE 2>&1
onstat -g seg >> $LOGFILE 2>&1

### Exit & Logout

echo -e "Finish time: \c" >> $LOGFILE 2>&1
/bin/date >> $LOGFILE 2>&1
echo -e "\nGBase Initializing Finished!\n"
echo -e "Initialize log file : $LOGFILE "
echo -e "\nPress <ENTER> to Exit and Logout..."
read TEMP_V
ps -ef|grep -w $$|sort -nk 2|head -1|awk '{print "kill -9 "$3}'|sh

### End of file
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 官方文档 初始化 Initialization是为准备使用类,结构体或者枚举实例的一个过程。这个过程涉及了在实例里...
    hrscy阅读 1,111评论 0 1
  • 初始化 (Initialization) 自从苹果2014年发布Swift,到现在已经两年多了,而Swift也来到...
    Lebron_James阅读 1,163评论 0 0
  • 初始化(Initialization) 初始化是类、结构体、枚举类型的准备过程。这个过程涉及到所有存储属性的初始化...
    泗哥阅读 5,543评论 0 3
  • 初始化 目的是确保第一次使用之前某类型的新实例能够正确初始化 为存储属性设置初始化值 类或者结构体实例化时必须为所...
    labourer阅读 586评论 0 0
  • 你以为她不会走,她以为你会挽留。 两个人能走到一起的原因有很多 因为他在人群中多看了你一眼 因为他讲了个你觉得好听...
    邪晓乐阅读 197评论 0 1