Wednesday, June 13, 2012

auto start of database

1.       first change the file /etc/oratab


The format of the /etc/oratab file is as follows:

database_sid:oracle_home_dir:Y
N

example: orcl:/home/oracle:Y

2.       Now, we need to create the script which will run dbshut and dbstart in the /etc/rc.d/init.d directory.



a.)              Create the following file as /etc/rc.d/init.d/oracle

b.)             Chmod 777 oracle

# /etc/rc.d/init.d/oracle

# Description: Starts and stops the Oracle database and listeners

case "$1" in

start)

echo -n "Starting Oracle Databases: " >> /var/log/oracle

date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle

echo "----------------------------------------------------" >> /var/log/oracle

su - oracle -c dbstart >> /var/log/oracle

echo "Done."

echo -n "Starting Oracle Listeners: "

su - oracle -c "lsnrctl start" >> /var/log/oracle

echo "Done."

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 - oracle -c "lsnrctl stop" >> /var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle

echo -n "Shutting Down Oracle Databases: "

su - oracle -c dbshut >> /var/log/oracle

echo "Done."

;;

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 - oracle -c dbstop >> /var/log/oracle

su - oracle -c dbstart >> /var/log/oracle

echo "Done."

echo -n "Restarting Oracle Listeners: "

su - oracle -c "lsnrctl stop" >> /var/log/oracle

su - oracle -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

3.       check the log file /var/log/oracle for error messages

4.       Once this script is working we need to create start and kill symbolic links in the appropriate runlevel directories /etc/rc.d/rcX.d.

5.       The following commands will ensure that the databases will come up in runlevel2,3 and 4:



Now create the following 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



To stop the databases on reboot or restart we need the following links:



$ 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

No comments:

Post a Comment

ORA-12519: TNS:no appropriate service handler found error

ORA-12519: TNS: no appropriate service handler found error The real problem lies in the PROCESSES parameter All you need ...