AIX 용 오라클 쉘 환경 스크립트
#!/usr/bin/ksh
#########################################################################################
## setoraenv : Set environment for ORACLE 10g ~ 12c (AIX ksh)
## Usage : . setoraenv [db number]
#########################################################################################
## BASE PATHs
if [ "$BASE_PATH" == "" ]; then export BASE_PATH=$PATH; fi
if [ "$BASE_LIB_PATH" == "" ]; then export BASE_LIB_PATH=$LD_LIBRARY_PATH; fi
if [ "$BASE_CLASSPATH" == "" ]; then export BASE_CLASSPATH=$CLASSPATH; fi
#########################################################################################
## BASIC SETTING
export HOSTNAME=$(hostname)
PS1='[$ORACLE_SID@$HOSTNAME:$LOGNAME:$PWD]
$ '
###############################################################################
## ORACLE_SID:ORACLE_HOME:DB_NAME:VERSION:[ORACLE_BASE_PREFIX]
###############################################################################
## ORACLE_BASE LIST
ORA_BASE_DEFAULT=/oracle/app/oracle
ORA_BASE_V1220=/oracle/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_home
## ORACLE DB LIST
ORACLE_LIST="
\nRTISP2:$ORACLE_HOME:xxxp:12.2.0
\nRTISMIG2:$ORACLE_HOME:xxxmig:12.2.0:$ORA_BASE_V1220
"
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_DBNAME=$(echo $ORACLE_LIST | awk -F":" -v selnum=$ans '/^[a-zA-Z+]/ && /:/ {inum++; if(inum == selnum) print $3}')
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_BASE_DEFAULT;
fi
###############################################################################
## oracle env
###############################################################################
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export ORACLE_DBNAME=$(echo $ORACLE_DBNAME | tr A-Z a-z)
export ORACLE_DIAG_HOME=$ORACLE_BASE/diag/rdbms/$ORACLE_DBNAME/$ORACLE_SID
#export ORACLE_DBNAME=$(echo $ORACLE_SID|tr "[:upper:]" "[:lower:]") ## ksh
export ORACLE_OWNER=oracle
export TEMP=/oracle/tmp
export TMPDIR=$TEMP
export TMP=$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:$GRID_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/lib:$BASE_LIB_PATH
export LIBPATH=$LD_LIBRARY_PATH
#########################################################################################
## alias
alias ll='ls -la'
alias cdw='cd ~/dbwork'
alias dbwork='cd ~/dbwork'
alias loop='while true; do printf .; sleep 5; done;'
## for oracle work
##if [ "$ORACLE_VER" -gt "11" ]
if [ "$ORACLE_VER" \> "11" ]
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 ss="sqlplus '/as sysdba'"
alias dbs='cd $ORACLE_HOME/dbs'
alias oh='cd $ORACLE_HOME'
alias tns='cd $TNS_ADMIN'
alias ob='cd $ORACLE_BASE'
alias explog='cd $ORACLE_HOME/rdbms/log'