oraenv Oracle_SID for sid in

本文详细介绍了如何在Oracle环境中设置环境变量,包括ORACLE_BASE、ORACLE_HOME、ORACLE_SID等,以及oraenv的交互式和非交互式设置方法,以及ORATAB和TNS_ADMIN的作用。
摘要由CSDN通过智能技术生成

Oracle 环境变量获取

for SID    in `ps -ef | grep pmon | grep -v grep | grep -v ASM |   cut -d"_" -f3,4 `
do
#export ORACLE_BASE=/u01/app/grid
#export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_2
#export ORACLE_SID=noexist
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib
#export PATH=$ORACLE_HOME/bin:$PATH
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

export ORACLE_SID=$SID
export ORAENV_ASK=NO
. oraenv

echo Database instance checking is : $SID
echo " <(----------Blank Represents DB Run perfect----------)>"

value=`sqlplus -s / as sysdba <<EOF
 set pagesize 0 feedback off verify off heading off echo off numwidth 9 ;
 select count(*) from gv\\\$database a where a.OPEN_MODE in ('READ WRITE') and rownum<2;
exit;
EOF`
if [ $value == 1 ];
then
echo "THIS IS PRIMARY DATABASE"
sqlplus  -s  ' / as sysdba' <<EOF

oraenv的设置
ORAENV便于设置oracle环境

存储路径:$ORACLE_HOME/bin

ORAENV_ASK:设置是否需要交互

复制代码
交互式:

$ . oraenv
ORACLE_SID = [] ? orcl

非交互式
$ export ORACLE_SID=orcl
$ export ORAENV_ASK=NO
$ . oraenv
复制代码
代码,网上找的:

复制代码
#!/bin/sh
#
# Get the machine type and then set up ORATAB and TNS_ADMIN variables
#
MACH_TYPE=`uname -s`
case ${MACH_TYPE} in
        "SunOS" )       ORATAB=/var/opt/oracle/oratab
                        TNS_ADMIN=/var/opt/oracle
                        ORA_ORAENV=/opt/bin/ora_oraenv
                        ;;
        "HP-UX" )       ORATAB=/etc/oratab
                        TNS_ADMIN=/etc
                        ORA_ORAENV=/usr/local/bin/ora_oraenv
                        ;;
        * )             ORATAB=/etc/oratab
                        TNS_ADMIN=/etc
                        ORA_ORAENV=/usr/local/bin/ora_oraenv
                        ;;
esac

export TNS_ADMIN ORA_ORAENV
#
# Extract a list of Oracle SID's that are defined with the oratab file
#
SIDLIST=`awk -F: '/^[^#]/{printf "\n   %s",$1}' ${ORATAB}`
case "${ORAENV_ASK:-''}" in
        NO )    ;;
        * )     clear
                echo "SIDs on this machine are; ${SIDLIST}
"
                ;;
esac
#
# This is the official oraenv file as supplied by Oracle
#
. ${ORA_ORAENV}

if [ -d ${ORACLE_HOME} ]; then
   ORACLE_BASE=`cd ${ORACLE_HOME}/../..; pwd`
else
   ORACLE_BASE=${HOME}
   echo
   echo "Warning - Oracle HOME not valid, Oracle BASE not set correctly"
fi
export ORACLE_BASE

LOCAL=${ORACLE_BASE}/local
DBA=${ORACLE_BASE}/admin
DB=${ORACLE_BASE}/admin/${ORACLE_SID}
ORACLE_PATH=${DB}/adhoc:${LOCAL}:.
export DBA DB LOCAL ORACLE_PATH

case ${PATH} in
        *${LOCAL}* )    ;;
        *: )            PATH=${PATH}${LOCAL}:
                        ;;
        * )             PATH=${PATH}:${LOCAL}:
                        ;;
esac
export PATH

echo "
Oracle SID  = ${ORACLE_SID}
Oracle BASE = ${ORACLE_BASE}
Oracle HOME = ${ORACLE_HOME}
SQL*Net TNS = ${TNS_ADMIN}
"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值