#!/bin/sh # instms2b.scr # Description: # This script is part of the setup for a TAMS/MS server. # Called by: # - ../../setup2.scr # # Location: # - Development: Bugatti - /home/staff/rsv/msrecovery* # - Production: in the msrecovery.gz archive, /usr/IDS11_scr/lib/scr # # - Modified for IDS 11.5 7/1/2008 RSV # - Changed for DB 6.066. Replace tms_rdb with $LiveDB (if needed) # Change way logging is set (safer and more reliable). # 11/01/2016 : RSV : 6.074 MSDB-179 # 12/03/2018 : RSV : Modified for Linux or Solaris # USR_DIR=/usr TMP_DIR=$USR_DIR/tmp INFORMIX_DIR=$USR_DIR/informix INFETC_DIR=$INFORMIX_DIR/etc IProfile=$INFORMIX_DIR/informixprofile LOAD_DIR=$USR_DIR/tmsload DATA_ROOT=/informix CRON_DIR=$DATA_ROOT/cron ##### re-load three-character database prefix & number of stores. NumberOfChunks=`cat $INFORMIX_DIR/NumberOfChunks` ServerPrefix=`cat $INFORMIX_DIR/ServerPrefix` ScriptDir=`cat $TMP_DIR/ScriptDir` SchemaSource=`cat $INFORMIX_DIR/SchemaSource` SchemaFileName=`cat $INFORMIX_DIR/SchemaFileName` DedicatedServer=`cat $INFORMIX_DIR/DedicatedServer` HostName=`uname -n | cut -f1 -d'.'` ##### execute informixprofile (required for next steps) . $IProfile DBLogFile=$INFORMIX_DIR/$LiveDB.log ##### load schema depending on number of stores. ##### if $SchemaSource were set to "2", this script wouldn't be running. ##### if $SchemaSource were set to "3", $SchemaFileName would already be set. if [ "$SchemaSource" = "1" ]; then echo "" echo "Building database creation file." echo "" cd /$ScriptDir/lib/schemas case $NumberOfChunks in a) SchemaFileName=$ScriptDir/lib/schemas/rdb9.sql Process_rdb rdb9 < ExtentSizes.prn ;; b) SchemaFileName=$ScriptDir/lib/schemas/rdb18.sql Process_rdb rdb18 < ExtentSizes.prn ;; c) SchemaFileName=$ScriptDir/lib/schemas/rdb27.sql Process_rdb rdb27 < ExtentSizes.prn ;; d|e|f) SchemaFileName=$ScriptDir/lib/schemas/rdb36.sql Process_rdb rdb36 < ExtentSizes.prn ;; esac fi echo 'CREATE DATABASE tms_rdb IN tms_rdb WITH LOG;' > $TMP_DIR/rdb.sql cat $SchemaFileName >> $TMP_DIR/rdb.sql mv $TMP_DIR/rdb.sql $SchemaFileName if [ "$LiveDB" != "tms_rdb" ]; then echo 's/tms_rdb/'$LiveDB'/' > $TMP_DIR/schema.sed cat $SchemaFileName | sed -f $TMP_DIR/schema.sed > $INFORMIX_DIR/$LiveDB.sql rm $SchemaFileName else mv $SchemaFileName $INFORMIX_DIR/$LiveDB.sql fi echo "" echo "Loading database from $INFORMIX_DIR/$LiveDB.sql" echo "" dbaccess - $INFORMIX_DIR/$LiveDB 1>>$DBLogFile 2>>$DBLogFile ##### do the base-tables load echo "s/DATABASE/"$LiveDB"/" > $TMP_DIR/ps.sed echo "s/HOSTNAME/"$HostName"/" >> $TMP_DIR/ps.sed cat $ScriptDir/lib/pl_standard.sql | sed -f $TMP_DIR/ps.sed > $TMP_DIR/ps.sql dbaccess $LiveDB $TMP_DIR/ps.sql 1>>$DBLogFile 2>>$DBLogFile echo " security/admin and standard tables loaded." echo "" sleep 5 ##### change the logging mode for the database to unbuffered. ##### Decided to set logging with the CREATE DATABASE command (WITH LOG) ##### update statistics in the database. ### Need to add the new update statistic scripts *** cd $CRON_DIR touch $CRON_DIR/cronlog chmod 666 cronlog chown maintms cronlog upstat_all echo " database statistics updated." echo "" ##### shut down the database before reboot. onmode -yuk echo " Informix shut down." echo ""