I am trying to get Oracle 9i starting automatically on reboot on a Linux Red Hat ES4 server.
I have followed examples of how to do this on this forum as well as from Oracle but it still wont work.
Here is what I have done:
/etc/oratab has the following entry to start the SCMS instance.
SCMS:/u01/app/oracle:Y
In /etc/init.d
I have created the following script with 755 permissions owned by root. Oracle9 is my oracle user.
#!/bin/sh
#
# /etc/rc.d/init.d/oracle
# Description: Starts and stops the Oracle database and listeners
# See how we were called.
case "$1" in
start)
echo -n "Starting Oracle Databases: "
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
su - oracle9 -c dbstart >> /var/log/oracle
echo "Done."
echo -n "Starting Oracle Listeners: "
su - oracle9 -c "lsnrctl start" >> /var/log/oracle
echo "Done."
echo ""
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
echo -n "Shutting Down Oracle Listeners: "
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
su - oracle9 -c "lsnrctl stop" >> /var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
echo -n "Shutting Down Oracle Databases: "
su - oracle9 -c dbshut >> /var/log/oracle
echo "Done."
echo ""
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
;;
restart)
echo -n "Restarting Oracle Databases: "
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
su - oracle9 -c dbstop >> /var/log/oracle
su - oracle9 -c dbstart >> /var/log/oracle
echo "Done."
echo -n "Restarting Oracle Listeners: "
su - oracle9 -c "lsnrctl stop" >> /var/log/oracle
su - oracle9 -c "lsnrctl start" >> /var/log/oracle
echo "Done."
echo ""
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------
----------
----------
-------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
*)
echo "Usage: oracle {start|stop|restart}"
exit 1
esac
If I run this script manually, ("$./etc/rc.d/init.d/oracl
e start") the database and listener startup and shutdown as expected.
I then added the following symbolic links:
$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc2.d/S99oracle
$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc3.d/S99oracle
$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc4.d/S99oracle
$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc0.d/K01oracle
$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc6.d/K01oracle
If I then shutdown the server, the databases shutdowns fine. I can see this by looking at the log for the script above.
When the server startups though, Oracle will not start. No error messages are output to the scripts log file.
Any help would be great why the script works in shutdown but not in startup.
Start Free Trial