10g ASM Startup After Reboot
- From: Andy Rivenes <arivenes@xxxxxxxx>
- To: "Oracle-L" <oracle-l@xxxxxxxxxxxxx>
- Date: Tue, 30 Nov 2004 15:29:22 -0800
I'm using 10g (10.1.0.3) on Linux and ASM and have run into bug 3458327
which is also explained in Note: 264235.1. The gist of the problem is that
ASM requires CSS to handle communications, but the way Oracle has setup up
the startups, CSS is never available soon enough to allow the ASM instance
to start. I've created a work around and wanted to share it, and see if
anyone else has come up with a better way to handle the problem.
Oracle suggests modifying the inittab file and then putting a "sleep" in
dbora in the "hopes" that CSS will have initialized by the time dbora wakes
up and tries to start the ASM instance. The problem is that I can't get the
CSS to communicate with ASM unless I leave it where Oracle originally put
it. Of course dbora then fails to properly start ASM and this must then be
done manually after the boot. The following is Oracle's suggestion and my
work around:
Oracle's suggestion:
1 - put the entry in 'inittab' file about the init.cssd script before
running the runlevel 3
example of inittab:
(...)
s2:23:wait:/sbin/rc2 >/dev/msglog 2<>/dev/msglog
s3:3:wait:/sbin/rc3 >/dev/msglog 2<>/dev/msglog
s5:5:wait:/sbin/rc5 >/dev/msglog 2<>/dev/msglog
(...)
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1
you need to change it in this way:
(...)
s2:23:wait:/sbin/rc2 >/dev/msglog 2<>/dev/msglog
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1
s3:3:wait:/sbin/rc3 >/dev/msglog 2<>/dev/msglog
s5:5:wait:/sbin/rc5 >/dev/msglog 2<>/dev/msglog
(...)
2 - amend the dbora script file to include a 'sleep 120' giving time to the
daemon to start before the other instances try and start.
My workaround (that works) is to background a script to start everything
and allow the rest of the rc scripts to keep running and finish. This will
then allow the init.cssd script to run as originally intended and the
backgrounded script will presumably run after that. A more sophisticated
approach would probably also check to make sure that ocssd.bin (CSS) was
running before trying to start Oracle:
Leave inittab alone and change dbora:
'start')
echo "Starting up ORACLE..."
#
echo "sleep 120" > /tmp/dbstart
echo "/bin/su - $ORA_OWNER -c \"$ORACLE_HOME/bin/lsnrctl
start\"" >> /tmp/dbstart
echo "/bin/su - $ORA_OWNER -c \"$ORACLE_HOME/bin/dbstart\"" >>
/tmp/dbstart
echo "touch /var/lock/subsys/dbora" >> /tmp/dbstart
chmod 700 /tmp/dbstart
nohup /tmp/dbstart > /dev/null 2>&1
#
echo "dbora is done."
;;
Any thoughts?
Andy Rivenes
Email: arivenes@xxxxxxxx
--
http://www.freelists.org/webpage/oracle-l
Other related posts: