1. set to auto start&shutdown in file of the /etc/oratab.
{SID}:/data/oracle/product/9i:Y
2. touch a file script to start&shutdown the oralce under /etc/rc.d/init.d/.
case "$1" in
start)
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databasee as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - oracle -c "dbstart" >> /var/log/oracle
echo "Done."
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /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
;;
stop)
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener 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 "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - oracle -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)
$0 stop
$0 start
;;
*)
echo "Usage: oracle {start|stop|restart}"
exit 1
esac
3. 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/rc0.d/K01Oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc6.d/K01Oracle
4. with oracle9i, it will prompt Can't find init file for Database "SID". fix it with below operate.
cp /opt/oracle/admin/test/pfile/init{SID}.ora $ORACLE_HOME/dbs
本文介绍了在Linux系统下配置Oracle自动启停的方法。首先在/etc/oratab文件中设置自动启停,接着在/etc/rc.d/init.d/目录下创建脚本实现启动和停止操作,还进行了软链接设置。此外,针对Oracle 9i可能出现的找不到初始化文件问题,给出了复制文件的解决办法。
219

被折叠的 条评论
为什么被折叠?



