cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle 8.16 HP-UX 11.0 startup

Dan Ryan
Advisor

Oracle 8.16 HP-UX 11.0 startup

I've created an /sbin/init.d/oracle script and appropriate /sbin/rcn.d links to it. Oracle starts and stops okay but I recieve alot of login type info in /etc/rc.log.

The oracle script does su - oracle -c dbstart
type processing. A sample follows:

Rights for non-DOD U.S. Government Departments and Agencies are as set
forth in FAR 52.227-19(c)(1,2).
You have mail.

***** Setting up private environment ... *****
Not a terminal
stty: : Not a typewriter
stty: : Not a typewriter

[3g
H H H H H H H H H
mesg: not a tty

LSNRCTL for HPUX: Version 8.1.6.0.0 - Production on 01-OCT-2000 02:15:31

--End of sample---

I would at least like to get rid of the Not a terminal and not a typewriter messages.

Thanks for your HELP.
Don't have time to do it right the first time, but always time to do it twice
12 REPLIES
James R. Ferguson
Acclaimed Contributor

Re: Oracle 8.16 HP-UX 11.0 startup

Dan:

The messages you are seeing are a consequence of the .profile being read during the 'su'. The "not a terminal" message is from stty failing to get the terminal type -- it can't; it's not a interactive login.

The easist solution is to redirect stdout & stderr to /dev/null, as:

su - oracle -c "dbstart" > /dev/null 2>&1

This gets rid of the nasty messages.

...JRF...
rajsri
Frequent Advisor

Re: Oracle 8.16 HP-UX 11.0 startup

Dan
as james said its your script is expecting some thing from tty . its most common messge , if you dont like this best way is to redirect standard out and standard error to /dev/null ie > /dev/null 2>&1
John Palmer
Honored Contributor

Re: Oracle 8.16 HP-UX 11.0 startup

To avoid the problem altogether, don't supply the '-' to the su command.

su oracle -c "dbstart"

This prevents the 'profile' scripts from being run so be aware that any script that you run in this manner can't rely on any environment variable being set by them.

Oracle's dbstart script sets up its own environment from /etc/oratab however so it will be ok.

Regards,
John
Andreas Voss
Honored Contributor

Re: Oracle 8.16 HP-UX 11.0 startup

Hi,

you could also put the stty commands within an if..then..fi statement into /home/oracle/.profile:
if [ -t ]
then
stty ....
....
fi

The if [ -t ] checks if the proccess is assosiated with a terminal. If this is not true, then the stty commands are nor executed.

Regards
Sandro Schaer
Occasional Advisor

Re: Oracle 8.16 HP-UX 11.0 startup

Hi Dan
you don't have to redirect the output of the
"su - c ....". we had the same problem. it happens 'cos the standard system-wide profile has a bug. to solve the problem we simply entered the following lines to the oracle user's profile :
set -u
stty hupcl ixon ixoff 2>/dev/null

This should help

have fun....
unix and oracle administrator
CHRIS ANORUO
Honored Contributor

Re: Oracle 8.16 HP-UX 11.0 startup

It is not advisable to do su - oracle -c "dbstart" > /dev/null 2>&1. It is better to do set -u
stty hupcl ixon ixoff 2> /dev/null , as Sandro has pointed out.
This will help you correct any problem that occured during startup from the /etc/rc.log file.
When We Seek To Discover The Best In Others, We Somehow Bring Out The Best In Ourselves.
James R. Ferguson
Acclaimed Contributor

Re: Oracle 8.16 HP-UX 11.0 startup

Hi:

Thanks Sandro & Chris. I wasn't aware of the profile setting, although I well appreciated the potential loss of good information with the redirection.

...JRF...
Dan Ryan
Advisor

Re: Oracle 8.16 HP-UX 11.0 startup

Thank You to everyone who helped with this.
Special thanks to Sandros and Andreas. I ended up using bothe these recommendations.
Don't have time to do it right the first time, but always time to do it twice
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
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