Oracle随机启动脚本

 oracle启动和停止脚本
  • 修改oracle系统配置文件,/etc/oratab  
  • # vim /etc/oratab        将N修改为Y
  • 在/etc/init.d/目录下创建oracle文件,内容如下:

#!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')

# Start the Oracle databases:
echo "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 - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"
# Start the Listener:
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 - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
'stop')

# Stop the Oracle Listener:
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 - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
# Stop the Oracle Database:
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 - $ORA_OWNER -c "$ORA_HOME/bin/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
;;
esac

  • 主要就是修改下文件中ORA_HOME的路径,其他地方不需要修改
  • 修改该文件的权限         #chmod 755 /etc/init.d/oracle
  • 添加服务     #chkconfig --level 35 oracle on     
    如果提示chkconfig命令未找到的话,就表示需要修改用户的环境变量 
    打开主目录下的.bash_profile文件   # vim ~/.bash_profile      在PATH中增加上/sbin目录,保存之后,通过source ~/.bash_profile 使修改生效
      • 需要在关机和重启之前停止数据库 
        # ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机 
        # ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启
      • 使用方法 
        # service oracle start        //启动oracle 
        # service oracle stop        //关闭oracle 
        # service oracle restart     //重启oracle
      • 转自:http://www.cnblogs.com/bluesky4485/
原文地址:https://www.cnblogs.com/newmanzhang/p/3087403.html