행위

Aix oracle shell 환경

DB CAFE

thumb_up 추천메뉴 바로가기


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'