MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/crs/sbs/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/crs/sbs/srvctl.sbs

#!/bin/sh
#
# $Header: opsm/utl/srvctl.sbs /unix/76 2017/08/26 03:05:06 rtattuku Exp $
#
# srvctl
#
# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
#
#    NAME
#      srvctl - Oracle Server Control Utility
#
#    DESCRIPTION
#      Oracle Server Control Utility can be used to administer a RAC database,
#      i.e., to modify the configuration information of a RAC 
#      database server as well as to do start/stop/status operations on the
#      instances of the server.
#
#    MODIFIED   (MM/DD/YY)
#       bhshanmu 06/12/17 - bhshanmu_bug-26003322_linux
#       rdesale  06/26/16 - fix bug 23522607
#       ocordova 01/25/16 - Enable TLS support
#       mavohra  05/27/15 - Fix for bug 21079481
#       mpradeep 03/18/15 - 14201274 - Provide absolute path for dirname
#       vgunredd 03/16/15 - Fix bug 20709539
#       bmanry   12/08/14 - add ORACLE_BASE environment variable
#       vobulapu 11/13/14 - added mail.jar and activation.jar
#       rgoteti  04/21/14 - removed TEST_SRVCTL_CTRLC_PROPERTY property
#       rgoteti  01/10/14 - add TEST_SRVCTL_CTRLC_PROPERTY property
#       sidshank 11/21/13 - add JNITRACE property.
#       satg     07/24/13 - Added chaconfig.jar to the class path
#       sidshank 06/14/13 - add SRVM_NATIVE_TRACE environment var.
#       epineda  10/10/12 - Added ldapjclnt12.jar to classpath
#       vobulapu 19/03/12 - Fix bug 13773388(Removing SCJAR)
#       ccharits 03/16/12 - Fixed bug 13828290
#       agridnev 10/20/11 - fixed bug 13080540
#       takiba   05/05/11 - bug11875695: prevent substitution of JREDIR, etc.
#       agridnev 06/19/11 - adde clsce.jar to support snapshots
#       yizhang  04/24/11 - fix bug 8742839
#       yizhang  01/13/11 - add antlr jar to classpath
#       yizhang  01/05/11 - set USING_ANTLR property when USING_ANTLR
#                           environment variable is set
#       yizhang  12/16/10 - fix bug 9256393
#       sowong   04/09/10 - XbranchMerge sowong_bug-9536406 from
#                           st_has_11.2.0.1.0
#       sravindh 09/18/09 - XbranchMerge sravindh_mrg2lnx2 from
#                           st_has_11.2.0.1.0
#       yizhang  03/01/10 - fix bug 9433691
#       yizhang  12/24/09 - fix bug 9040155
#       ksviswan 08/17/09 - Fix LD_LIBRARY_PATH for Sol.X64
#       sravindh 05/05/09 - Bug 8481528
#       rxkumar  02/03/09 - fix bug8218759
#       rxkumar  01/22/09 - fix bug7715235
#       rxkumar  07/16/08 - fix EONSJAR
#       sowong   05/20/08 - change ORACLE_HOME to OHOME
#       spavan   05/12/08 - fix bug6937911
#       spavan   04/16/08 - fix bug6957022
#       spavan   03/26/08 - fix srvctl installer variables.
#       rwessman 04/04/08 - Added GNS jar file to support additions for GNS.
#       rxkumar  01/08/08 - fix bug6730574
#       sowong   10/30/07 - remove -x
#       srisanka 10/15/07 - replace Installer vars
#       yizhang  09/25/07 - add property oracle.eonsd.tracefile
#       rxkumar  09/06/07 - update classpath to include eons.jar
#       lweng    05/09/07 - add option to get srvctl11.jar
#       rajkris  03/07/07 - 
#       sowong   02/27/07 - fix bug5387862
#       rxkumar  07/25/06 - fix bug5313735 
#       rxkumar  07/05/06 - add srvctl trace file support: bug5377319
#       rxkumar  07/06/06 - fix bug5330848 
#       rxkumar  05/08/06 - fix bug5211942 
#       sowong   04/11/06 - fix bug 5140038. 
#       mnijasur 02/21/06 - fix 5029615 - merge linux-ppc port changes 
#       bkannike 02/07/06 - Fix for 4937400 
#       sowong   10/05/05 - fix bug 4624796 
#       rxkumar  11/29/04 - fix bug4024708 
#       dliu     11/18/04 - replace OH 
#       khsingh  10/07/04 - add workaround for bug (3937317)
#       khsingh  09/27/04 - update case statement (3914991)
#       gdyoung  09/17/04 - ;;
#       gdyoung  08/20/04 - ple/st script merging 
#       dliu     08/04/04 - get them work on linux 
#       dliu     11/20/03 - support for trace 
#       dliu     11/12/03 - unset ORA_CRSDEBUG 
#       bhamadan 09/18/03 - replacing s_jre131Location with s_jreLocation 
#       khsingh  06/25/03 - remove policy file
#       rxkumar  06/03/03 - add srvmasm.jar
#       rdasari  06/02/03 - set LD_LIBRARY_PATH appropriately for 32 and 64 bit solaris platforms
#       dliu     02/21/03 - add i18n.jar
#       dliu     11/13/02 - use ORA_CRS_UI_FMT to turn on output capture
#       dliu     10/17/02 - turn on output capture
#       jtellez  10/04/02 - make policy ==
#       surchatt 09/06/02 - puttint policy file location
#       rdasari  08/07/02 - use java instead of jre
#       rdasari  08/01/02 - use jdk131
#       jtellez  07/26/02 - add srvmhas.jar to classpath
#       rdasari  05/09/01 - changing the header information
#       rdasari  03/22/01 - changing to ops to srv.
#       dliu     03/02/01 - use "$@" for argument list. this iscritical for correct interpretation of arguments with spaces in them..
#       dliu     02/26/01 - fix bug #1656127: SHLIB_PATH change.
#       dliu     02/23/01 - replace $ORACLE_HOME in classpath with an install variable..
#       jcreight 11/08/00 - define OPSMJAR, not OPSJAR
#       rdasari  10/27/00 - Making corrections
#       jcreight 10/25/00 - opsctl.jar is in $ORACLE_HOME/opsm/jlib.
#       rdasari  09/11/00 - Adding the case for HI-UX
#       rdasari  08/25/00 - Adding the definition of JREJAR variable
#

DIRNAME=/usr/bin/dirname

# External Variable set by the Installer
OHOME=%ORACLE_HOME%

cmdpath=`$DIRNAME ${0}`

case "$cmdpath" in
    /*) ;;
    .) cmdpath=`pwd`;;
    *) cmdpath=`pwd`/$cmdpath;;
esac
  
OHOMEDIR=`$DIRNAME $cmdpath`

if [ ! -d ${OHOMEDIR}/bin ] || [ ! -f ${OHOMEDIR}/jlib/srvm.jar ]
then
    OHOMEDIR=%ORACLE_HOME%
fi

JREDIR=${OHOMEDIR}/jdk
JLIBDIR=${OHOMEDIR}/jlib

# jar files

# SRVM-ASM jar file
SRVMASMJAR=${JLIBDIR}/srvmasm.jar

### ORATST_SRVCTL11 is a for upgrade tests and WLM folks to add nodeapps in 11.1 style
if [ -z "${ORATST_SRVCTL11}" ]
then
#SRVM jar file
   SRVMJAR=${JLIBDIR}/srvm.jar

#SRVCTL jar file
   SRVCTLJAR=${OHOMEDIR}/srvm/jlib/srvctl.jar

if [ -f ${OHOMEDIR}/srvm/jlib/antlr-3.3-complete.jar ]
then
   ANTLRJAR=${OHOMEDIR}/srvm/jlib/antlr-3.3-complete.jar
else
   ANTLRJAR=${OHOMEDIR}/srvm/jlib/antlr-complete.jar
fi

# SRVM-HAS jar file
   SRVMHASJAR=${JLIBDIR}/srvmhas.jar
fi

# Grid Naming Service jar file.
GNSJAR=${JLIBDIR}/gns.jar

# JWC cred jar file
JWCCREDJAR=${JLIBDIR}/jwc-cred.jar

#clsce.jar for snapshot support
CLSCEJAR=${JLIBDIR}/clsce.jar

#chaconfig.jar for cha support
CHACONFIGJAR=${JLIBDIR}/chaconfig.jar

#ojdbc6.jar for jdbc connectivity
JDBCJAR=${OHOMEDIR}/jdbc/lib/ojdbc6.jar

# Supercluster jar files
EONSJAR=${OHOMEDIR}/ons/lib/ons.jar

#NetCa config jar
NETCFGJAR=${JLIBDIR}/netcfg.jar

#LDAP jar to read listener.ora file on upgrade
LDAPJAR=${JLIBDIR}/ldapjclnt18.jar

#mail.jar
MAILJAR=${OHOMEDIR}/lib/mail.jar

#activation.jar
ACTIVATIONJAR=${OHOMEDIR}/lib/activation.jar

# JRE Executable and Class File Variables
JRE=${JREDIR}/bin/java
JREJAR=${JREDIR}/jre/lib/rt.jar:${JREDIR}/jre/lib/i18n.jar

CLASSPATH=${NETCFGJAR}:${LDAPJAR}:${JREJAR}:${SRVMJAR}:${SRVMHASJAR}:${SRVMASMJAR}:${EONSJAR}:${SRVCTLJAR}:${GNSJAR}:${ANTLRJAR}:${CLSCEJAR}:${CHACONFIGJAR}:${JDBCJAR}:${MAILJAR}:${ACTIVATIONJAR}:${JWCCREDJAR}

# turn on output capture
_CRS_UI_FMT=-v
export _CRS_UI_FMT

#Used for setting stack size for java thread
JAVA_STACK_SIZE="-Xss2048k"

#Used for specifying any platform specific Java options
JRE_OPTIONS=""

# Set the shared library path for JNI shared libraries
# A few platforms use an environment variable other than LD_LIBRARY_PATH
PLATFORM=`/bin/uname`
case ${PLATFORM} in 
HP-UX)
   LD_LIBRARY_PATH=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib
   export LD_LIBRARY_PATH
   SHLIB_PATH=
   JRE_OPTIONS="-d64"
   ;;
AIX)
   LIBPATH=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib:${LIBPATH}
   export LIBPATH
   JRE_OPTIONS="-d64"
   ;;
Linux)
   LD_LIBRARY_PATH=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib:${LD_LIBRARY_PATH}
   # Linux ( ppc64 || s390x ) => LD_LIBRARY_PATH lib32
   ARCH=`/bin/uname -m`;
   if [ "${ARCH}" = "ppc64" -o "${ARCH}" = "s390x" ]
   then
     LD_LIBRARY_PATH=${OHOMEDIR}/lib32:${OHOMEDIR}/srvm/lib32:${LD_LIBRARY_PATH}
   fi
   export LD_LIBRARY_PATH
   ;;
SunOS) 
    LD_LIBRARY_PATH_64=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib:${LD_LIBRARY_PATH_64}
    export LD_LIBRARY_PATH_64
    LD_LIBRARY_PATH=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH
    JRE_OPTIONS="-d64"
    ;;
OSF1) LD_LIBRARY_PATH=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib:${LD_LIBRARY_PATH}
      export LD_LIBRARY_PATH
      ;;
Darwin) 
      DYLD_LIBRARY_PATH=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib:${DYLD_LIBRARY_PATH} 
      export DYLD_LIBRARY_PATH 
      ;; 
*)    if [ -d ${OHOMEDIR}/lib32 ];
      then
        LD_LIBRARY_PATH=${OHOMEDIR}/lib32:${OHOMEDIR}/srvm/lib32:${LD_LIBRARY_PATH}
      else
        LD_LIBRARY_PATH=${OHOMEDIR}/lib:${OHOMEDIR}/srvm/lib:${LD_LIBRARY_PATH}
      fi
      export LD_LIBRARY_PATH
      ;;
esac

# Set java stack size
JRE_OPTIONS="${JRE_OPTIONS} ${JAVA_STACK_SIZE}"

#Get crshome
CHOME=`${OHOME}/srvm/admin/getcrshome`

if [ "$?" = 1 ]
then
    echo "****Unable to retrieve Oracle Clusterware home."
    echo "Start Oracle Clusterware stack and try again."
    exit 1
fi

if [ "X${CHOME}" != "X${OHOME}" ]
then  
    case ${ORACLE_HOME} in
        "") echo "****ORACLE_HOME environment variable is not set."
            echo "    ORACLE_HOME should be set to the main"
            echo "    directory that contains Oracle products."
            echo "    Set and export ORACLE_HOME, then re-run."
            exit 1;;
	 *) ORACLE_HOME=${ORACLE_HOME};;
    esac
else
    ORACLE_HOME=${CHOME}
fi
export ORACLE_HOME

# Properties to pass directly to java
if [ "X${SRVM_PROPERTY_DEFS}" = "X" ]
then
  SRVM_PROPERTY_DEFS=""
fi


# Environment variable to turn on tracing
if [ "X${SRVM_TRACE}" != "X" ]
then
  if [ "${SRVM_TRACE}" != "false" ]  && [ "${SRVM_TRACE}" != "FALSE" ]
  then
    SRVM_PROPERTY_DEFS="${SRVM_PROPERTY_DEFS} -DTRACING.ENABLED=true -DTRACING.LEVEL=2"
    if [ "X${SRVM_NATIVE_TRACE}" != "X" ]
    then
      if [ "${SRVM_NATIVE_TRACE}" != "false" ]  && [ "${SRVM_NATIVE_TRACE}" != "FALSE" ]
      then
        SRVM_PROPERTY_DEFS="${SRVM_PROPERTY_DEFS} -DNATIVETRACING.ENABLED=true"
      fi
    fi
    if [ "X${SRVM_JNI_TRACE}" != "X" ]
    then
      if [ "${SRVM_JNI_TRACE}" != "false" ]  && [ "${SRVM_JNI_TRACE}" != "FALSE" ]
      then
        SRVM_PROPERTY_DEFS="${SRVM_PROPERTY_DEFS} -DJNITRACING.ENABLED=true"
      fi
    fi
    # Environment variable to turn on tracing to a file.
    if [ "X${SRVCTL_TRACEFILE}" != "X" ]
    then
        SRVM_PROPERTY_DEFS="${SRVM_PROPERTY_DEFS} -Dsrvm.srvctl.tracefile=${SRVCTL_TRACEFILE} -Doracle.eonsd.tracefile=${SRVCTL_TRACEFILE}"
    fi
  fi
fi

if [ "X${USING_ANTLR}" != "X" ]
then
    SRVM_PROPERTY_DEFS="${SRVM_PROPERTY_DEFS} -Dusing_antlr=${USING_ANTLR}"
fi

# Environment variable to turn on checking
if [ "X${CHECK_LEVEL}" != "X" ]
then
    SRVM_PROPERTY_DEFS="${SRVM_PROPERTY_DEFS} -DNETWORK.CHECKLEVEL=${CHECK_LEVEL}"
fi

# Add configuration file containing logging properties.
SRVM_PROPERTY_DEFS="${SRVM_PROPERTY_DEFS} -Djava.util.logging.config.file=${CHOME}/srvm/admin/logging.properties"
# Run srvctl 
${JRE} ${JRE_OPTIONS} -DORACLE_HOME=${ORACLE_HOME} -classpath ${CLASSPATH} ${SRVM_PROPERTY_DEFS} oracle.ops.opsctl.OPSCTLDriver "$@"
exit $?

OHA YOOOO