#!/bin/ksh
#
#	Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
#	Use is subject to license terms.
#
# @(#)oracle_get_version.sho	1.8 03/04/25 SMI
#
# oracle_get_version
#
# parameters: <instance>
# Output - prints version number of oracle instance
# returns: 
#       0 - OK
#       1 - Instance information not found in oratab
#       2 - RELVER file does not exist 
#       3 - RELVER file does not contain oracle version
#      4 - Unable to determine Oracle version when RELVER file is missing
set -u

ORACLE_HOME=""
ORACLE_SID="$1"
ORATAB=/var/opt/oracle/oratab
if oratab_line=`/usr/bin/grep "^[         ]*${ORACLE_SID}:" ${ORATAB}` ; then
 export ORACLE_HOME=`echo $oratab_line | /usr/bin/awk -F: '{print $2}' -`
fi 

# If Oracle home dir is not set then return 1

[ -z "${ORACLE_HOME}" ] && exit 1

oracle_owner=`ls -ld ${ORACLE_HOME}/bin/oracle | nawk '{print $3}'`
SQLDBA="${ORACLE_HOME}/bin/svrmgrl"

# If Can't find RELVER then return 2
if [ ! -f $ORACLE_HOME/orainst/RELVER ] ; then
	if [ -f $SQLDBA ] ; then
ora_version=`su $oracle_owner -c "$SQLDBA command=exit" |awk '/(PL\/SQL|JServer) (Release|Version)/ { print $3 } '`
	else
	exit 4
	fi

else

ora_version=`/usr/bin/grep RELEASE_VERSION $ORACLE_HOME/orainst/RELVER | /usr/bin/cut -d= -f2`
fi
if [ "$ora_version" = "" ] ; then
	exit 3
fi

print -n ${ora_version}
exit 0


