1、 修改Oracle系统配置文件/etc/oratab
/etc/oratab 格式为: SID:ORACLE_HOME:AUTO 把AUTO域设置为Y(大写),只有这样,oracle 自带的dbstart和dbshut才能够发挥作用。我的为: ora9i:/home/oracle/ora/products/9.2.0:Y 2、 编写服务脚本: #!/bin/bash #auto start and stop oracle database script nl=`cat /var/log/oracle.log | wc -l`
if [ "$nl" -gt 50 ] ; then echo "">/var/log/oracle.log fi case $1 in 'start') echo "----------------begin-----------------" >>/var/log/oracle.log echo "starting start database in `date`" >>/var/log/oracle.log su - oracle -c "dbstart" >>/var/log/oracle.log if [ "$?" = "0" ] ; then echo "oracle startup success" >>/var/log/oracle.log else echo "oracle startup failed" >>/var/log/oracle.log fi echo "--------------end-------------------" >>/var/log/oracle.log ;; 'stop') echo "----------------begin-----------------" >>/var/log/oracle.log echo "starting stop database in `date`" >>/var/log/oracle.log su - oracle -c "dbshut" >>/var/log/oracle.log if [ "$?" = "0" ] ; then echo "oracle shutdown success" >>/var/log/oracle.log else echo "oracle shutdown failed" >>/var/log/oracle.log fi echo "--------------end-------------------" >>/var/log/oracle.log ;; *) echo "usage: $0 {start | stop}" exit ;; esac exit 将脚本命名为oracle,保存在/etc/rc.d/init.d下
改变文件属性:chmod 755 oracle 注意:在windows下编辑此文件时有DOS格式字符导致在linux下不能够正常运行,建议用gedit 或用 vi编辑 3、建立服务连接: 系统启动时启动数据库,我们需要以下连结∶ -------------------------------------------------------------------------------- $ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle $ ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle $ ln -s ../init.d/oracle /etc/rc.d/rc5.d/S99oracle #rc4.d unused -------------------------------------------------------------------------------- 要在重新启动时停止数据库,我们需要以下连结∶ -------------------------------------------------------------------------------- $ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # 停止 $ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle # 重新启动 |
|
来自: 忧郁_小刚 > 《OracleASM》