Operating System - HP-UX
1752790 Members
6247 Online
108789 Solutions
New Discussion юеВ

Re: Oracle 8.16 HP-UX 11.0 startup

 
Jesper Sivertsen
Frequent Advisor

Re: Oracle 8.16 HP-UX 11.0 startup

Hi Dan

Be aware that the provided dbstart script in 8.1.6 have a bug, that Oracle knows of.

The following is from MetaLink:

Problem Description
===================

"dbstart" is a shellscript used on Unix platforms to start databases
listed in the "oratab" file. It is often called from system startup
scripts.

The "dbstart" script shipped with all versions of Oracle up to and
including 8.1.6 does not start any 8.1.6 instances if they are down.
"dbstart" will report "Database warm started" rather than starting
the instance. This problem only affects 8.1.6 (or later) instances.

The change in the banner may affect users custom startup / shutdown
scripts.

"dbshut" has no problem.

Please note there are 2 related issues which should be born in mind
when changing any startup / shutdown scripts:

Advance notification of Server Manager desupport [NOTE:74943.1]
Advance notification of CONNECT INTERNAL desupport [NOTE:50508.1]


Solution Description
====================

Enterprise Edition Workaround
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The workaround is to change the dbstart script to look for the string
"Oracle8i Enterprise Edition" instead of "PL/SQL" by making the following
changes:

1. Save a copy of the 8.1.6 $ORACLE_HOME/bin/dbstart script

2. Edit the script and change the 'awk' lines
from:
VERSION=`$ORACLE_HOME/bin/svrmgrl command=exit | awk '
/PL/SQL (Release|Version)/ {substr($3,1,3) ;
print substr($3,1,3)}'`
to:
VERSION=`$ORACLE_HOME/bin/svrmgrl command=exit | awk '
/PL/SQL (Release|Version)/ { print substr($3,1,3); exit }
/Oracle7 Server (Release|Version)/ { print substr($4,1,3); exit }
/Oracle8i Enterprise Edition (Release|Version)/ { print substr($5,1,3); exit }
/Oracle8i (Release|Version)/ { print substr($3,1,3); exit }'`

Additionally for platforms which set LD_LIBRARY_PATH in the dbstart
script you should change the following:
From:
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib ;
export LD_LIBRARY_PATH
To:
LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH} ;
export LD_LIBRARY_PATH


3. Copy the updated "dbstart" to any location it is expected to reside.
Eg: system startup scripts often run /usr/local/bin/dbstart.

IMPORTANT: Do not overwrite existing scripts without taking a backup
copy first as the script you are overwriting may have
been modified.

NOTE: This workaround will only work for Oracle8 Enterprise Editions
Similar workarounds may be used for other editions.


Explanation
-----------

The problem is caused by a change in the Oracle banner which is output
by Oracle version 8.1.6. The banner no longer includes a PL/SQL line
and so the test in "dbstart" for a PL/SQL version returns a blank string
which in turn causes the step to startup the instance to be skipped.


References
----------

The problem is reported in [BUG:1154931]

The "oratab" file typically exists in either /etc/oratab or
/var/opt/oracle/oratab

[NOTE:50508.1] - Advance notification of CONNECT INTERNAL desupport
[NOTE:74943.1] - Advance notification of Server Manager desupport
All in unix is files
Ian P. Springer
Occasional Contributor

Re: Oracle 8.16 HP-UX 11.0 startup

Try using nohup on the su command line like so:

nohup su ... >/var/opt/oracle/dbstart.log 2>&1 &
Ian P. Springer
Occasional Contributor

Re: Oracle 8.16 HP-UX 11.0 startup

Note, in above posts regarding fixes for the dbstart script, "PL/SQL" should actually be "PL\/SQL" (the slash needs to be escaped so awk knows it's part of the regexp)

-Ian