#!/bin/sh # # $Header: has/utl/chactl.sbs /unix/2 2016/02/11 17:58:59 wmiyoshi Exp $ # # # Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. # # NAME # chactl - Cluster Health Advisor ConTroL utility # # DESCRIPTION # Utility to administor CHA monitoring and models # # NOTES # Until version /main/12, this file was a script to control ochad invoked # by the agent. From /main/13, this file is a scrit for a user facing # client utility. # # MODIFIED (MM/DD/YY) # wmiyoshi 02/01/16 - Add cha-diag-msg.jar in CLASSPATH # wmiyoshi 08/14/15 - Branch for UNIX # wmiyoshi 08/10/15 - Add CHACTL_TRACEFILE parameter # wmiyoshi 07/27/15 - Rollback temporary fix for ucp.jar (bug 21219367) # wmiyoshi 06/08/15 - Add jdbc8.jar in the classpath # wmiyoshi 06/11/15 - Get logging level by CHACTL_LOGGING_LEVEL # wmiyoshi 06/11/15 - Use checked-in ucp.jar for bug 21219367 # wmiyoshi 06/04/15 - Fix bug 21168781 # sbasu 06/10/15 - Replace ojdbc v6 with v8 # wmiyoshi 04/09/15 - Start JVM in headless mode # wmiyoshi 01/27/15 - Remove smile.jar from classpath # wmiyoshi 01/22/15 - Add third party jars required by FTE # wmiyoshi 12/29/14 - Add ucp.jar to CLASSPATH # wmiyoshi 12/16/14 - Add fte.jar to classpath # wmiyoshi 08/20/14 - CHA client utility # wmiyoshi 01/10/14 - Creation # # 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 #SRVM jar file SRVMJAR=${JLIBDIR}/srvm.jar #SRVCTL jar file SRVCTLJAR=${OHOMEDIR}/srvm/jlib/srvctl.jar # SRVM-HAS jar file SRVMHASJAR=${JLIBDIR}/srvmhas.jar # Grid Naming Service jar file. GNSJAR=${JLIBDIR}/gns.jar #clsce.jar for snapshot support CLSCEJAR=${JLIBDIR}/clsce.jar #chaconfig.jar for cha support CHAJAR=${JLIBDIR}/cha.jar #chaconfig.jar for cha support CHACONFIGJAR=${JLIBDIR}/chaconfig.jar #cha-diag-msg.jar for the message bundle CHADIAGMSGJAR=${JLIBDIR}/cha-diag-msg.jar #fte.jar for FTE FTEJAR=${JLIBDIR}/fte.jar JDBCJAR=${OHOMEDIR}/jdbc/lib/ojdbc8.jar:${OHOMEDIR}/ucp/lib/ucp.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}/ldapjclnt12.jar # JRE Executable and Class File Variables JRE=${JREDIR}/bin/java JREJAR=${JREDIR}/jre/lib/rt.jar:${JREDIR}/jre/lib/i18n.jar #jars required for FTE FTEJARS=${FTEJAR}:${JLIBDIR}/jai_core.jar:${JLIBDIR}/mlibwrapper_jai.jar:${JLIBDIR}/vecmath.jar:${JLIBDIR}/jai_codec.jar:${JLIBDIR}/jh.jar CLASSPATH=${NETCFGJAR}:${LDAPJAR}:${JREJAR}:${SRVMJAR}:${SRVMHASJAR}:${SRVMASMJAR}:${EONSJAR}:${SRVCTLJAR}:${GNSJAR}:${CLSCEJAR}:${CHAJAR}:${CHACONFIGJAR}:${CHADIAGMSGJAR}:${FTEJARS}:${JDBCJAR} # turn on output capture _CRS_UI_FMT=-v export _CRS_UI_FMT #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=`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=`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 #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;; esac else ORACLE_HOME=${CHOME} export ORACLE_HOME fi # Set logging level if [ "X$CHACTL_LOGGING_LEVEL" != "X" ]; then CHACTL_PROPERTY_DEFS="$CHACTL_PROPERTY_DEFS -Doracle.cha.logging.level=$CHACTL_LOGGING_LEVEL" fi # Set trace filename if [ "X$CHACTL_TRACEFILE" != "X" ]; then CHACTL_PROPERTY_DEFS="$CHACTL_PROPERTY_DEFS -Doracle.cha.logging.file=$CHACTL_TRACEFILE" fi # Run chactl ${JRE} ${JRE_OPTIONS} -Djava.awt.headless=true -DORACLE_HOME=${ORACLE_HOME} -classpath ${CLASSPATH} ${CHACTL_PROPERTY_DEFS} oracle.cha.client.CHACTLDriver "$@" exit $?