Linux 下实现Oracle随系统自动启动和关闭


实现如下目的:
    a、实现开启Oracle实例自启动
    b、关闭操作系统或重启操作系统前能够正常关闭Oracle数据库


a、实现系统启动oracle实例自启动步骤:
1、修改Oracle系统配置文件/etc/oratab内容,将最后一行中最后一个字符的N改为Y

root用户登录修改
#vi /etc/oratab
由如下:
wwl:/oracle/orahome/10.2.0/db_1:N

改为如下并保存退出
wwl:/oracle/orahome/10.2.0/db_1:Y


2、RedHat修改/etc/rc.d/rc.local文件,添加如下内容即可:
   SUSE 修改/etc/init.d/after.local,添加如下内容即可:

#vi /etc/rc.d/rc.local
su -c "dbstart" - oracle


3、切换到oracle用户登录修改$ORACLE_HOME/bin/dbstart,找到ORACLE_HOME_LISTNER=,将值改为ORACLE_HOME的路径,或环境变量。
#su - oracle
$vi $ORACLE_HOME/biin/dbstart

# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$ORACLE_HOME   ---就是修改这里哟,用$ORACLE_HOME或绝对路径都可以哟
if [ ! $ORACLE_HOME_LISTNER ] ; then
  echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
else
  LOG=$ORACLE_HOME_LISTNER/listener.log

  # Start Oracle Net Listener
  if [ -f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
    echo "$0: Starting Oracle Net Listener" >> $LOG 2>&1
    $ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG 2>&1 &
    export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`
  else
    echo "Failed to auto-start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr"
  fi
fi

b、实现系统关闭oracle实例自关闭步骤:

1、创建k01orashut文件,将su -c "dbshut" - oracle 命令写入该文件
vi /etc/init.d/k01orashut
添加
su -c "dbshut" - oracle

2、修改权限为可执行
#chown 777 /etc/rc.d/init.d/k01orashut


3、进入/etc/rc3.d/目录,创建关机执行命令连接
#ln -s /etc/rc.d/init.d/k01orashut

更多Oracle相关信息见Oracle 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12

相关内容