[20210107]快速進入目錄2.txt

lfree發表於2021-01-07

[20210107]快速進入目錄2.txt

--//以前寫的連結如下:http://blog.itpub.net/267265/viewspace-2129448/=>[20161130]快速進入目錄.txt
--//花了一個上午重新改寫:
--//主要以前寫的select VALUE from v$parameter where name='user_dump_dest'; 換成
--//select VALUE from v$diag_info where name='Diag Trace';
--//也發現以前寫的許多不嚴謹的地方,做了一些改寫。
--//前提條件是建立環境變數ORACLE_UNQNAME.

#! /bin/bash
#
# fast cd directory (11g 12c)

[ _"$DEBUG" = _ON ] && set -x

fastlinkdebug=${FASTLINKDEBUG:-1}

[ -n "$ORACLE_SID" ]  || { echo 'setup ORACLE_SID'   ; return 1 ; }
[ -n "$ORACLE_BASE" ] || { echo 'setup ORACLE_BASE'  ; return 2 ; }
[ -n "$ORACLE_HOME" ] || { echo 'setup ORACLE_HOME'  ; return 3 ; }
[ -n "$ORACLE_UNQNAME" ]|| { echo 'setup ORACLE_UNQNAME' ; return 4 ; }

if [ $fastlinkdebug -eq 1 ] ; then
    echo
    echo ORACLE_SID = $ORACLE_SID
    echo ORACLE_BASE = $ORACLE_BASE
    echo ORACLE_HOME = $ORACLE_HOME
    echo
fi

read -p "check variable ORACLE_SID ORACLE_BASE ORACLE_HOME, ctrl_c exit:" a

wc_count=$(ps -ef | grep [o]ra_pmon_${ORACLE_SID}|wc -l)

if [ $wc_count -eq 1 ] ; then
otrace=$(sqlplus -S -l / as sysdba <<EOF
set head off
select VALUE from v\$diag_info where name='Diag Trace';
quit
EOF
)

oadump=$(sqlplus -S -l / as sysdba <<EOF
set head off
select VALUE from v\$parameter where name='audit_file_dest';
quit
EOF
)
fi

mkdir -p /home/oracle/fastlink && cd  /home/oracle/fastlink || return 5

[ -d $ORACLE_HOME/dbs                            ] && ln -s -i $ORACLE_HOME/dbs dbs
[ -d $ORACLE_BASE/diag                           ] && ln -s -i $ORACLE_BASE/diag diag
[ -d $ORACLE_HOME/network/admin                  ] && ln -s -i $ORACLE_HOME/network/admin net
[ -d $ORACLE_HOME/network/admin                  ] && ln -s -i $ORACLE_HOME/network/admin tns
[ -d $ORACLE_HOME                                ] && ln -s -i $ORACLE_HOME oh
[ -d $ORACLE_BASE                                ] && ln -s -i $ORACLE_BASE ob
[ -d $ORACLE_BASE/admin/${ORACLE_UNQNAME}/dpdump ] && ln -s -i $ORACLE_BASE/admin/${ORACLE_UNQNAME}/dpdump dp

##################################
# delete otrace ,oadump of new line.
##################################

otrace=$(echo $otrace)
oadump=$(echo $oadump)

if [ $fastlinkdebug -eq 1 ] ; then
    echo
    echo otrace = "$otrace"
    echo oadump = "$oadump"
    echo
fi

read -p "check variable otrace,oadump ,ctrl_c exit:" a

[ -n "$otrace" ]  ||  return 6
[ -n "$oadump" ]  ||  return 7

mkdir -p /home/oracle/fastlink && cd  /home/oracle/fastlink || return 8

[ -d "$oadump" ] && ln -s -i $oadump adump
[ -d "$otrace" ] && ln -s -i $otrace bdump
[ -d "$otrace" ] && ln -s -i $otrace udump

ls -l

echo
echo "fastlink create ok!!"
echo

$ fastlink.sh

ORACLE_SID = book
ORACLE_BASE = /u01/app/oracle
ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/dbhome_1

check variable ORACLE_SID ORACLE_BASE ORACLE_HOME, ctrl_c exit:

otrace = /u01/app/oracle/diag/rdbms/book/book/trace
oadump = /u01/app/oracle/admin/book/adump

check variable otrace,oadump ,ctrl_c exit:
total 0
lrwxrwxrwx 1 oracle oinstall 32 Jan  7 15:28 adump -> /u01/app/oracle/admin/book/adump
lrwxrwxrwx 1 oracle oinstall 42 Jan  7 15:28 bdump -> /u01/app/oracle/diag/rdbms/book/book/trace
lrwxrwxrwx 1 oracle oinstall 45 Jan  7 15:28 dbs -> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs
lrwxrwxrwx 1 oracle oinstall 20 Jan  7 15:28 diag -> /u01/app/oracle/diag
lrwxrwxrwx 1 oracle oinstall 33 Jan  7 15:28 dp -> /u01/app/oracle/admin/book/dpdump
lrwxrwxrwx 1 oracle oinstall 55 Jan  7 15:28 net -> /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin
lrwxrwxrwx 1 oracle oinstall 15 Jan  7 15:28 ob -> /u01/app/oracle
lrwxrwxrwx 1 oracle oinstall 41 Jan  7 15:28 oh -> /u01/app/oracle/product/11.2.0.4/dbhome_1
lrwxrwxrwx 1 oracle oinstall 55 Jan  7 15:28 tns -> /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin
lrwxrwxrwx 1 oracle oinstall 42 Jan  7 15:28 udump -> /u01/app/oracle/diag/rdbms/book/book/trace

fastlink create ok!!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2748204/,如需轉載,請註明出處,否則將追究法律責任。

相關文章