| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Problems with dbstart
In article <3871C338.927B839E_at_gmx.de>,
Stefan Behrens <s.be_at_gmx.de> wrote:
> Hi,
>
> I want to use the dbstart to start up my databases, but the start
fails:
>
> /opt/oracle/7.3.4/bin/dbstart[73]: ior: not found
>
> Database "TTEC" NOT started.
>
> The line(s) in the startup-script:
>
> case $STATUS in
> 1) if [ -f $PFILE ] ; then
> case $VERSION in
> 5) ior w pfile=$PFILE
> ;;
>
> 6) sqldba command=startup
> ;;
>
> 7) sqldba <<EOF
> connect internal
>
> What is ior ?
> I can't find that command on my oracle server !?
>
> The /var/opt/oracle/oratab file looks like this (only the relevant
> line):
>
> TTEC:/opt/oracle/7.3.4:Y
>
> The machine is a SunOS 5.6, the Oracle Version is a 7.3.4.
Stefan,
This is an old problem that has been lurking around since Oracle 7.3 first came out on Solaris. They didn't update the dbstart script to take into account them getting rid of sqldba, and bringing in svrmgrl.
Here's the working one from my site - standard use at your own risk disclaimers apply..
--
#
# $Header: dbstart.sh.pp 1.1 95/02/22 14:37:29 rdhoopar Osd<unix> $
dbstart.sh.p
p Copyr (c) 1991 Oracle
#
################################### # # usage: dbstart # # This script is used to start ORACLE from /etc/rc(.local). # It should ONLY be executed as part of the system boot procedure.#
#####################################
ORATAB=/var/opt/oracle/oratab
trap 'exit' 1 2 3
case $ORACLE_TRACE in
T) set -x ;;
esac
# Set path if path not set (if called from /etc/rc) case $PATH in
# Set path if path not set (if called from /etc/rc) case $PATH in
"") PATH=/bin:/usr/bin:/etc
export PATH ;;
esac
# # Loop for every entry in oratab file and and try to start # that ORACLE #
cat $ORATAB | while read LINE
do
case $LINE in
\#*) ;; #comment-line in oratab
*)
# Proceed only if third field is 'Y'.
if [ "`echo $LINE | awk -F: '{print $3}' -`" = "Y" ] ; then
ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -`
if [ "$ORACLE_SID" = '*' ] ; then
ORACLE_SID=""
fi
# Called programs use same database ID
fi
# Called programs use same database ID
export ORACLE_SID
ORACLE_HOME=`echo $LINE | awk -F: '{print $2}' -`
# Called scripts use same home directory
export ORACLE_HOME
# Put $ORACLE_HOME/bin into PATH and export.
PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/etc ; export PATH
PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
# Figure out if this is a V5, V6, or V7 database. Do we really
need V5?
if [ -f $ORACLE_HOME/bin/sqldba ] ; then
VERSION=`$ORACLE_HOME/bin/sqldba command=exit | awk '
/SQL\*DBA: (Release|Version)/ {split($3, V, ".")
;
print V[1]}'`
else
if test -f $ORACLE_HOME/bin/svrmgrl; then
VERSION="7.3"
else
VERSION="5"
fi
VERSION="5"
fi
fi
if test -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.dbf -o \
-f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.ora
then
STATUS="-1"
else
STATUS=1
fi
case $STATUS in
1) if [ -f $PFILE ] ; then
case $VERSION in
5) ior w pfile=$PFILE
;;
6) sqldba command=startup
;;
7) sqldba <<EOF
connect internal
connect internal
startup
EOF
;;
7.3) svrmgrl <<EOF
connect internal
;;
esac
if test $? -eq 0 ; then
echo ""
echo "Database \"${ORACLE_SID}\" warm
started."
else
echo ""
echo "Database \"${ORACLE_SID}\" NOT
started."
fi
else
echo ""
echo "Can't find init file for Database
\"${ORACLE_SID}\
echo ""
echo "Can't find init file for Database
\"${ORACLE_SID}\
echo "Database \"${ORACLE_SID}\" NOT started."
fi
;;
-1) echo ""
echo "Database \"${ORACLE_SID}\" possibly left
running when
echo "Notify Database Administrator."
case $VERSION in
5) ior c
;;
6) sqldba "command=shutdown abort"
;;
7) sqldba <<EOF
connect internal
;;
EOF
;;
7.3) svrmgrl <<EOF
connect internal
;;
esac
if test $? -eq 0 ; then
if [ -f $PFILE ] ; then
case $VERSION in
5) ior w pfile=$PFILE
;;
6) sqldba command=startup
;;
7) sqldba <<EOF
connect internal
;;
7.3) svrmgrl <<EOF
connect internal
;;
esac
if test $? -eq 0 ; then
echo ""
echo "Database \"${ORACLE_SID}\" warm
started."
else
echo ""
echo "Database \"${ORACLE_SID}\" NOT
started."
fi
else
echo ""
echo "Can't find init file for Database
\"${ORACLE_S
echo "Database \"${ORACLE_SID}\" NOT
started."
fi
else
fi
else
echo "Database \"${ORACLE_SID}\" NOT started."
fi
;;
esac
fi
;;
--
I've lived my life in the valleys I've lived my life on the hills I've lived my life on alchohol I've lived my life on pills
Sent via Deja.com http://www.deja.com/
Before you buy.
Received on Wed Jan 05 2000 - 08:31:43 CST
![]() |
![]() |