#!/bin/sh # # $Header: opsm/utl/rhphelper /st_has_12.2.0.1.0/1 2016/08/07 15:48:00 chchatte Exp $ # # rhphelper # # Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. # # NAME # rhphelper - Helper tool to execute commands on the remote node # # DESCRIPTION # This tool is a helper tool that is used by RHP to peformm CVU validations # as well as discovery on the remote node that is to be provisioned. # # Version since - 12.2 # # NOTES ECHO=/bin/echo if [ $# -lt 3 ]; then $ECHO "RHPHELP_TOOL_error-011" #Usage: $0 [] # Oracle home where rhphelper script and jar are located # version of Oracle home exit 1 fi ORACLE_HOME=$1 FIXUP=NO SETUPSSH=NO TRANSFERNOUSEREQ=NO for i in "$@" do case $i in -setupSSH) SETUPSSH=YES ;; -fixup) FIXUP=YES ;; -transferNoUserEq) TRANSFERNOUSEREQ=YES ;; *) #skip all other options ;; esac done SRVMJAR=$ORACLE_HOME/jlib/srvm.jar SRVMHASJAR=$ORACLE_HOME/jlib/srvmhas.jar SRVMASMJAR=$ORACLE_HOME/jlib/srvmasm.jar GNSJAR=$ORACLE_HOME/jlib/gns.jar #NetCa config jar NETCFGJAR=$ORACLE_HOME/jlib/netcfg.jar #LDAP jar to read listener.ora file on upgrade LDAPJAR12C=$ORACLE_HOME/jlib/ldapjclnt12.jar LDAPJAR112=$ORACLE_HOME/jlib/ldapjclnt11.jar OUIJARS=$ORACLE_HOME/oui/jlib/OraInstaller.jar:$ORACLE_HOME/oui/jlib/OraPrereq.jar:$ORACLE_HOME/oui/jlib/prov_fixup.jar:$ORACLE_HOME/oui/jlib/xmlparserv2.jar:$ORACLE_HOME/oui/jlib/share.jar:$ORACLE_HOME/oui/jlib/orai18n-mapping.jar:$ORACLE_HOME/oui/jlib/jsch.jar OPATCHJARS=$ORACLE_HOME/OPatch/jlib/opatch.jar:$ORACLE_HOME/OPatch/jlib/opatchext.jar:$ORACLE_HOME/OPatch/jlib/opatchprereq.jar:$ORACLE_HOME/OPatch/jlib/opatchactions.jar:$ORACLE_HOME/OPatch/jlib/opatchfmw.jar:$ORACLE_HOME/OPatch/jlib/opatchutil.jar CVUJARS=$ORACLE_HOME/jlib/cvu.jar if [ -d $ORACLE_HOME/jdk/jre ]; then JREDIR=$ORACLE_HOME/jdk/jre else $ECHO "RHPHELP_TOOL_error-021" exit 1 fi JRE=$JREDIR/bin/java JREJAR=$JREDIR/lib/rt.jar CLASSPATH=$JREJAR:$SRVMJAR:$SRVMJAR:$SRVMHASJAR:$GNSJAR:$SRVMASMJAR:$OUIJARS:$OPATCHJARS:$NETCFGJAR:$LDAPJAR12C:$CVUJARS:$LDAPJAR112 ## TO DO::: Since this is a remotely executed script, we need to figure out a tracing paradigm here # Or perhaps we can fix a temporary location where the traces will be stored. TRACE="-DTRACING.ENABLED=false" TRACEFILE="" if [ -n "$SRVM_TRACE" ] then if [ "$SRVM_TRACE" = "true" ] || [ "$SRVM_TRACE" = "TRUE" ] then if [ "X${RHPHELPER_TRACEFILE}" != "X" ] then TRACE="-DTRACING.ENABLED=true -DTRACING.LEVEL=2" TRACEFILE="-Dsrvm.rhphelper.tracefile=${RHPHELPER_TRACEFILE}" fi fi fi LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH # 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) arch=`/bin/uname -m` # bugfix 5404049 if [ -z "$JAVA_HOME" ]; then JAVA_HOME=$JREDIR/.. export JAVA_HOME fi SHLIB_PATH=$LD_LIBRARY_PATH export SHLIB_PATH JRE_OPTS=-d64 SED=/usr/bin/sed ;; AIX) LIBPATH=$LD_LIBRARY_PATH export LIBPATH JRE_OPTS=-d64 SED=/usr/bin/sed ;; Linux) arch=`/bin/uname -m` if [ "$arch" = "ppc64" -o "$arch" = "x86_64" -o "$arch" = "s390x" ] then JRE_OPTS=-d64 fi SED=/bin/sed ;; SunOS) # Bug 4620768. Unset LD_LIBRARY_PATH_64 unset LD_LIBRARY_PATH_64 SED=/bin/sed JRE_OPTS=-d64 ;; esac # Trim the trailing slashes in home path. # ORACLE_HOME=/u01/app/grid and ORACLE_HOME=/u01/app/grid/ are considered # different by the database and ASM ORACLE_HOME=`$ECHO $ORACLE_HOME | $SED 's/[ /]*$//'` export ORACLE_HOME case $2 in 11.2.0.3*) RHPHELPERJAR=$ORACLE_HOME/crs/install/rhpdata/helper/rhphelper112.jar JAVAMAIN=oracle.cluster.gridhome.giprov112.RHPHelper112 #11.2 release required CV_HOME variable to be set CV_HOME=$ORACLE_HOME export CV_HOME ;; 11.2.0.4*) RHPHELPERJAR=$ORACLE_HOME/crs/install/rhpdata/helper/rhphelper112.jar JAVAMAIN=oracle.cluster.gridhome.giprov112.RHPHelper112 #11.2 release required CV_HOME variable to be set CV_HOME=$ORACLE_HOME export CV_HOME ;; 12.1.0.2*) RHPHELPERJAR=$ORACLE_HOME/crs/install/rhpdata/helper/rhphelper12102.jar JAVAMAIN=oracle.cluster.gridhome.giprov12102.RHPHelper12102 #set ORACLE_BASE to ORACLE_HOME as without this CLSBInit would core dump # Bug number: 20444192 ORACLE_BASE=$ORACLE_HOME export ORACLE_BASE ;; 12.2.0.[0-4]*) JDBCJAR=$ORACLE_HOME/jdbc/lib/ojdbc8.jar CLASSPATH=${CLASSPATH}:$JDBCJAR RHPHELPERJAR=$ORACLE_HOME/crs/install/rhpdata/helper/rhphelper122.jar JAVAMAIN=oracle.cluster.gridhome.giprov122.RHPHelper122 #set ORACLE_BASE to ORACLE_HOME as without this CLSBInit would core dump # Bug number: 20444192 ORACLE_BASE=$ORACLE_HOME export ORACLE_BASE ;; *) $ECHO "RHPHELP_TOOL_error-031" #version should be 11.2.0.3.0, or 11.2.0.4.0, or 12.1.0.2.0, or 12.2.0.0.0 exit 1 esac CLASSPATH=${CLASSPATH}:$RHPHELPERJAR shift 2 #to avoid passing home and version args to Java main if [[ $FIXUP = "YES" || $TRANSFERNOUSEREQ = "YES" ]] then stty -echo read pass stty echo echo $pass | $JRE $JRE_OPTS -classpath $CLASSPATH $TRACE $TRACEFILE $JAVAMAIN "$@" else $JRE $JRE_OPTS -classpath $CLASSPATH $TRACE $TRACEFILE $JAVAMAIN "$@" fi exit $?