oracle开机启动监听,配置Oracle数据库和监听随Linux系统自启动

在某些情况下需要在Linux操作系统上提供一种无人值守的随机启动Oracle的功能,目的也许仅仅是为了帮助那些对Oracle细节非常不关心的朋友。当然,如果有可能,一定不要使用这种自动化的方法,因为有太多不确定的因素存在。正途还是一边手工启动数据库,一边监控alert日志,以便第一时间发现问题解决问题。Anyway,随Linux系统启动数据库还是有其存在价值的,下面通过这个小文儿给大家展示一下这个自动化过程。1.确保“/etc/oratab”文件内容的正确性有则修改,无则创建“/etc/oratab”文件。该文件的功能是控制Oracle的启动(dbstart)和关闭脚本(dbshut)是否可用。# vi /etc/oratab:/oracle/app/oracle/product/10.2.0/db_1:Y只有当尾部标识是“Y”时,dbstart和dbshut脚本才可以使用。dbstart和dbshut脚本存放位置是在ORACLE_HOME的bin目录下,可以使用下面的命令查看脚本的内容。$ cat $ORACLE_HOME/bin/dbstart$ cat $ORACLE_HOME/bin/dbshut2.修改oratab的访问权限# chmod 755 /etc/oratab# chown oracle:root /etc/oratab3.编写自动启停脚本,脚本名叫“oracle”,该文件需要保存在/etc/rc.d/init.d目录中。vi /etc/rc.d/init.d/oracle#!/bin/bash############################################################### Script. Function: Auto start oracle instance and listener. ## Script. Name:     oracle                                   ## Author:          Secooler Hou                              ## Date:            2009-11-13 19:58:49                       ###############################################################case "$1" instart)echo "Starting Oracle Database..."su - oracle -c "dbstart"echo "Done."echo "Starting Oracle Listener..."su - oracle -c "lsnrctl start"echo "Done."touch /var/lock/subsys/oracle;;stop)echo "Shutting down Oracle Listener..."su - oracle -c "lsnrctl stop" >> /var/log/oracleecho "Done."rm -f /var/lock/subsys/oracleecho "Shutting down Oracle Database..."su - oracle -c "dbshut"echo "Done."echo "";;restart)$0 stop$0 start;;*)exit 1esac4.脚本中需要说明的两个细节1)/var/lock/subsys/oracle这个文件是用来标识oracle实例已经运行。实现类似简单的锁定功能;2)为实现在root用户里向oracle用户发送启动和关闭数据库命令,需要使用“su”命令的“-c”选项,更多细节请使用man命令进行查询。5.修改oracle脚本的权限# chmod 755 oracle6.为保证该脚本可以在Linux系统启动过程中自动调用,因此需要建立如下连接文件。特别需要注意的一个细节:确定该脚本在网卡启动之后再执行,否则可能无法正常启动(假如Listener配置文件中使用的是IP地址)。# ln -s ../init.d/oracle /etc/rc.d/rc2.d/S87oracle# ln -s ../init.d/oracle /etc/rc.d/rc3.d/S87oracle# ln -s ../init.d/oracle /etc/rc.d/rc5.d/S87oracle7.到此,重新启动Linux系统后,Oracle的实例和监听就会自动启动。8.按照这样配置,您还可以使用如下简易方法停、启及重启数据库停止:# service oracle stop启动:# service oracle start重启:# service oracle restart9.小结本人推崇自动化,但这里介绍的自动化启动和关闭数据库的方法还请朋友们慎用。深入到数据库的启动和关闭的细节才是正道。Good luck.-- The End --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值