ITEC NEWSLETTER

Vol. 8, No. 6
June 16, 2000

Table of Contents

  1. DBTStart

 

1. DBTStart

"DBSTART" does not work properly on Oracle 8.1.6 versions on UNIXplatforms.Please see the information below for a workaround.

Doc ID:  Note:98418.1
Subject: WARNING: "dbstart" does     Content Type:TEXT/PLAIN
         not work with 8.1.6         Creation Date: 07-FEB-2000
         Instances                  Last Revision 26-MAR-2000
Type:    PROBLEM                     Date:
Status:  PUBLISHED                   Language:USAENG

 

Problem Description

===================

"dbstart" is a shellscript used on Unix platforms to startdatabases listedin the "oratab" file. It is often called from system startupscripts.

The "dbstart" script shipped with all versions of Oracle up to andincluding8.1.6 does not start any 8.1.6 instances if they are down. "dbstart"will report"Database <SID> warm started" rather than starting theinstance. Thisproblem only affects 8.1.6 (or later) instances.

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

"dbshut" has no problem.

Please note there are 2 related issues which should be born in mind whenchanging anystartup / 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"Oracle8iEnterprise Edition" instead of "PL/SQL" by making the followingchanges:

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/svrmgrlcommand=exit| awk '
        /PL\/SQL (Release|Version)/{substr($3,1,3) ;
        print substr($3,1,3)}'`
    to:
        VERSION=`$ORACLE_HOME/bin/svrmgrlcommand=exit| awk '
        /PL\/SQL (Release|Version)/ { printsubstr($3,1,3); exit }
        /Oracle7 Server (Release|Version)/ {printsubstr($4,1,4); exit }
        /Oracle8i Enterprise Edition(Release|Version)/{
                           print substr($5,1,3); exit }'`

Additionally for platforms which set LD_LIBRARY_PATH in the dbstart scriptyou shouldchange 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 toreside.
Eg: system startup scripts often run /usr/local/bin/dbstart.

IMPORTANT: Do not overwrite existing scripts without taking a backup copyfirst as thescript 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 byOracleversion 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 turncauses thestep 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

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


Submitted by Joe Lofft (Joe.Lofft@itec.mail.suny.edu)

 

 

Editor:Barbara A. Boquard Barb.Boquard@itec.mail.suny.edu
ITEC'sGeneral Office 716/878-ITEC (4832)
Operations 716/878-5122
FAX 716/878-4235
WebPage http://www.itec.suny.edu


ITEC Home