행위

Ksh 오라클 환경변수

DB CAFE

thumb_up 추천메뉴 바로가기


#!/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 ""