登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

linux下oracle启动和关闭脚本  

2009-09-06 14:56:53|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

linux下oracle启动和关闭脚本


  In many cases after installing Oracle DB on Linux servers, there is a need to configure it to start automatically after OS reboot.
  
  The automatic startup and shutdown of the Oracle database can be achieved with the files dbstart and dbshut both provided by Oracle. These files rely on the existance of the file /etc/oratab to work (although by altering the dbshut and dbstart files this can be moved).
  
  The format of the /etc/oratab file is as follows:
  
  SID:ORACLE_HOME:AUTO
  
  An example:
  
  orcl:/apps/oracle/product/<ora_ver>:Y
  orcl1:/apps/oracle/product/<ora_ver>:N
  
  To start and stop the database when the machine comes up and goes down by modifying the startup routines for the Linux machine. This is quite easy, although I should point out here that this may change depending on which flavour of Linux (Slackware, Debian, RedHat, etc).
  
  I will show examples which work for Redhat Linux. To modify these for your own flavour of Linux, please see your Linux documentation sets. (Although it should hold true for any Sys V type UNIX).
  
  Firstly, we need to create the script which will run dbshut and dbstart in the /etc/rc.d/init.d directory. Create the following file as /etc/rc.d/init.d/oracle:
  
  #!/bin/sh
  #
  # /etc/rc.d/init.d/oracle
  # Description: Starts and stops the Oracle database and listeners
  # See how we were called.
  
  case "$1" in
  start)
  echo -n "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 - oracle -c dbstart >> /var/log/oracle
  echo "Done."
  echo -n "Starting Oracle Listeners: "
  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 -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."
  echo ""
  echo "----------------------------------------------------" >> /var/log/oracle
  date +"! %T %a %D : Finished." >> /var/log/oracle
  echo "----------------------------------------------------" >> /var/log/oracle
  ;;
  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
  
  It is worth checking that this file actually correctly stops and starts the databases for your system. Check the log file, /var/log/oracle for error messages.
  
  Once this script is working we need to create start and kill symbolic links in the appropriate runlevel directories /etc/rc.d/rcX.d.
  
  The following commands will ensure that the databases will come up in runlevels 2,3 and 4:
  
  $ 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/rc4.d/S99oracle
  
  To stop the databases on reboot or restart we need the following links:
  
  $ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # Halting
  $ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle # Rebooting

引文来源  linux下oracle启动和关闭脚本 - 中国建站网
  评论这张
 
阅读(2616)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018