Saturday, November 17, 2007

Configuring autostart of Oracle10g on Linux

Change /etc/oratab so each database has Y for autostart
ORCL10:/opt/oracle/10.2.0:Y

Create the following script as /etc/init.d/oracle
The script starts listener, database and enterprise manager.
dbstart is also able to start listener automatically in Oracle10g if ORACLE_HOME_LISTNER env. variable is set

---cut here---
#!/bin/bash
#
# chkconfig: 345 79 79
# description: Starts oracle listener and database

ORA_HOME=/opt/oracle/10.2.0/
ORA_OWNER=oracle

case "$1" in
start) echo "Starting Oracle Database(s) "
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start; $ORA_HOME/bin/dbstart; $ORA_HOME/bin/emctl start dbconsole"
# su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start; $ORA_HOME/bin/dbstart"
touch /var/lock/subsys/oracle
;;
stop) echo "Shutting down Oracle Database(s) "
rm -f /var/lock/subsys/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut; $ORA_HOME/bin/lsnrctl stop; $ORA_HOME/bin/emctl stop dbconsole"
# su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut; $ORA_HOME/bin/lsnrctl stop"
;;
*)
echo "usage: $0 {start|stop}"
exit
;;

esac
---cut here---

Change permissions:
chmod 750 /etc/init.d/oracle

Add the script to autostart:
chkconfig --add oracle

No comments: