#!/usr/bin/ksh
#########################################################################################
## setoraenv : Set environment for ORACLE 10g ~ 11g (AIX ksh)
## Usage : . setoraenv [db number]
#########################################################################################
## BASE PATHs
#if [ "$BASE_PATH" == "" ]; then export BASE_PATH=$PATH; fi
export BASE_PATH=/usr/bin:/usr/sbin:/sbin:/usr/ucb:/usr/ccs/bin:$HOME/bin:/usr/bin/X11
#if [ "$BASE_LIB_PATH" == "" ]; then export BASE_LIB_PATH=$LD_LIBRARY_PATH; fi
export LD_LIBRARY_PATH=/usr/lib
if [ "$BASE_CLASSPATH" == "" ]; then export BASE_CLASSPATH=$CLASSPATH; fi
#######################################
# export PATH=$BASE_PATH
# export LD_LIBRARY_PATH=$BASE_LIB_PATH
# export CLASSPATH=$BASE_CLASSPATH
#########################################################################################
## BASIC SETTING
umask 0000
stty intr ^C
stty susp ^Z
stty cs8 -istrip -parenb
stty erase ^H
stty erase ^?
stty kill ^U
#export LANG="ko_KR.eucKR"
export LANG=C
export TERM=vt100
## DISPLAY
# if [ "$REMOTEHOST" == "" ]; then
# export REMOTEHOST=`who -u am i | awk '{gsub(/\(|\)/,"", $NF); print $NF}'`
# fi
# export DISPLAY=${REMOTEHOST}:0
export DISPLAY=1.1.1.7:0 ## explicit ip('who -u am i' not return correct ip because of security control)
#export HOSTNAME=$(hostname)
#PS1='[`whoami`@`hostname`:`dirs`]
#% '
#PS1='[$LOGIN@$HOSTNAME:$PWD]
PS1='[$ORACLE_SID@$HOSTNAME:$PWD]
% '
###############################################################################
## /etc/oratab format
## DBNAME:ORACLE_HOME:DEFAULT_YN:[ORACLE_BASE_PREFIX]
###############################################################################
## ORACLE_BASE LIST
ORA_BASE0=/product/oracle/app/oracle
ORA_BASE1=/product/oracle/app/oracle
## ORACLE DB LIST
ORACLE_LIST="
\nCLONEASIS:/product/oracle/app/oracle/product/112:N:112
\nCPWEBDB:/product/oracle/app/oracle/product/112:N:112
\nPKTDB:/product/oracle/app/oracle/product/112:N:112
\nWEBDB:/product/oracle/app/oracle/product/102:N:102:$ORA_BASE1
"
while true
do
printf "\n"
echo " ORACLE_SID LIST on This SERVER "
echo " -----------------------------------------------------------------"
#awk -F":" '/^[a-zA-Z+]/ && /:/ {inum++; printf "\t[%3s] ... %-8s (%s)\n",inum, $1,$2}' $ORA_TAB
echo $ORACLE_LIST | awk -F":" '/^[a-zA-Z+]/ && /:/ {inum++; printf " [%1s] %-10s (%s)\n",inum, $1,$2}'
echo " -----------------------------------------------------------------"
printf " Please select Number for DATABASE($ORACLE_SID) or Q(Quit) : "
if [ $# -eq 1 ]
then
echo $1;
ans=$1;
shift; # remove param value;
else
read ans
fi
if [ "$ans" = "q" -o "$ans" = "Q" ]; then return 0;
elif [ "$ans" != "" ]
then
#ORACLE_SID=$(awk -F":" -v selnum=$ans '/^[a-zA-Z+]/ && /:/ {inum++; if(inum == selnum) print $1}' $ORA_TAB)
ORACLE_SID=$(echo $ORACLE_LIST | awk -F":" -v selnum=$ans '/^[a-zA-Z+]/ && /:/ {inum++; if(inum == selnum) print $1}')
#ORACLE_HOME=$(awk -F":" -v selnum=$ans '/^[a-zA-Z+]/ && /:/ {inum++; if(inum == selnum) print $2}' $ORA_TAB)
ORACLE_HOME=$(echo $ORACLE_LIST | awk -F":" -v selnum=$ans '/^[a-zA-Z+]/ && /:/ {inum++; if(inum == selnum) print $2}')
ORACLE_VER=$(echo $ORACLE_LIST | awk -F":" -v selnum=$ans '/^[a-zA-Z+]/ && /:/ {inum++; if(inum == selnum) print $4}')
ORACLE_BASE=$(echo $ORACLE_LIST | awk -F":" -v selnum=$ans '/^[a-zA-Z+]/ && /:/ {inum++; if(inum == selnum) print $5}')
if [ "${ORACLE_SID}" != "" ]; then break; fi;
fi
done
if [ "${ORACLE_SID}" = "" ]
then
echo "CHECK ERR: ORACLE SID is not set !!\n"
return 1 # exit 1
fi
if [ "${ORACLE_BASE}" = "" ]
then
ORACLE_BASE=$ORA_BASE0;
fi
###############################################################################
## oracle env
###############################################################################
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export ORACLE_SID_LOW=$(echo $ORACLE_SID | tr A-Z a-z)
export ORACLE_DIAG_HOME=$ORACLE_BASE/diag/rdbms/$ORACLE_SID_LOW/$ORACLE_SID
#export ORACLE_SID_LOW=$(echo $ORACLE_SID|tr "[:upper:]" "[:lower:]") ## ksh
export ORACLE_OWNER=oracle
export TMPDIR=/oradata2/temp
export TMP=/oradata2/temp
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=American_america.AL32UTF8
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$ORACLE_HOME/OPatch:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/network/lib:$BASE_LIB_PATH
export LIBPATH=$LD_LIBRARY_PATH
#########################################################################################
## alias
alias ll='ls -la'
alias cdw='cd ~/cslee'
alias dbwork='cd ~/cslee'
alias loop='while true; do printf .; sleep 5; done;'
## for oracle work
alias ss="sqlplus '/as sysdba'"
alias dbs='cd $ORACLE_HOME/dbs'
if [ $ORACLE_VER -gt 110 ]
then
alias bdump='cd $ORACLE_DIAG_HOME/trace'
alias udump='cd $ORACLE_DIAG_HOME/trace'
alias alert='tail -f $ORACLE_DIAG_HOME/trace/alert_$ORACLE_SID.log'
else
alias bdump='cd $ORACLE_BASE/admin/$ORACLE_SID/bdump'
alias udump='cd $ORACLE_BASE/admin/$ORACLE_SID/udump'
alias alert='tail -f $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log'
fi
alias tns='cd $TNS_ADMIN'
alias oh='cd $ORACLE_HOME'
alias ob='cd $ORACLE_BASE'
alias back1='cd /orabackup2/expdump'
alias back2='cd /oradata2/expdump2'
alias oradata='cd /oradata2/clonedb'
echo ""
banner $ORACLE_SID
echo ""