IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页数据库Oracle → oracle开机自动启动方法

oracle开机自动启动方法

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  以redhat 5.5和oracle 11g为例。安装过程参考官方文档,以下是实现oracle自启动的方法。

  1、配置dbstart和dbshut

  在$ORACLE_HOME/bin中,有dbstart和dbshut这两个脚本,more dbstart看一下可以看到:

  QUOTE:

  #

  # $Id: dbstart.sh.pp 11-may-2005.18:18:07 vikrkuma Exp $

  # Copyright (c) 1991, 2005, Oracle. All rights reserved.

  #

  ###################################

  #

  # usage: dbstart

  #

  # This is used to start ORACLE from /etc/rc(.local).

  # It should ONLY be executed as part of the system boot procedure.

  #

  # This will start all databases listed in the oratab file

  # whose third field is a "Y". If the third field is set to "Y" and

  # there is no ORACLE_SID for an entry (the first field is a *),

  # then this will ignore that entry.

  #

  # This requires that ASM ORACLE_SID's start with a +, and

  # that non-ASM instance ORACLE_SID's do not start with a +.

  #

  # If ASM instances are to be started with this , it cannot

  # be used inside an rc*.d directory, and should be invoked from

  # rc.local only. Otherwise, the CSS service may not be available

  # yet, and this will block init from completing the boot

  # cycle.

  #

  # Note:

  # Use ORACLE_TRACE=T for tracing this .

  #

  # The progress log for each instance bringup plus Error and Warning message[s]

  # are logged in file $ORACLE_HOME/startup.log. The error messages related to

  # instance bringup are also logged to syslog (system log module).

  # The Listener log is located at $ORACLE_HOME_LISTNER/listener.log

  ......

  可以看出这个脚本是用来启动oracle服务的,包括listener、instance、asm instances,并且可以放到/etc/rc(.local).,同样dbshut也是起到关闭服务的作用。

  配置系统使这个脚本起作用:

  1)、以root编辑/etc/oratab,类似 orcl:/u01/product/10.2.0/db_1:N 这种格式,其中orcl是你的ORACLE_SID,/u01/product/10.2.0/db_1是ORACLE_HOME,这里需要把N改为Y,即orcl:/u01/product/10.2.0/db_1:Y这样。

  2)、以oracle编辑$ORACLE_HOME/bin/dbstart,找到其中第78行:ORACLE_HOME_LISTNER=改为你自己的路径,或者可以改成ORACLE_HOME_LISTNER=$ORACLE_HOME

  保存脚本,以oracle用户运行dbshut和dbstart看是否能关闭、启动数据库。如果不能,一般是参数设置,根据报错找到对应位置更改。

  2、把dbstart和dbshut加到redhat启动服务中

  经过上一步的配置,可以直接用dbstart命令启动数据listener、instance、asm instances,但是还没有启动oracle10g的EM,ORACLE利用web页面管理数据库相当方便,也是10g的一个特色,所以应该一并启动起该服务来。

  QUOTE:

  $ORACLE_HOME/bin/emctl start dbconsole

  因此我们可以用rc.local或者redhat服务都可以实现要求的开机启动。下面分别说一下:

  1)、利用rc.local。直接把dbstart加到rc.local中,实现开机自动启动。这里需要注意的是必须以oracle启动该脚本。

  用root编辑/etc/rc.local,添加下面一行:

  QUOTE:

  su - oracle -c "/u01/product/10.2.0/db_1/bin/dbstart"

  su - oracle -c "/u01/product/10.2.0/db_1/bin/emctl start dbconsole"

  这里/u01/product/10.2.0/db_1需要替换成实际的ORACLE_HOME

  保存并退出后,reboot服务器测试一下,可以看到,当系统启动以后oracle监听、实例和em都已经起来了

  2)、如果我们不用rc.local,也可以加到redhat服务中。在/etc/rc.d/init.d中添加如下脚本文件,命名为oracle:

  QUOTE:

  #!/bin/sh

  #chkconfig: 2345 99 01

  #deion: ORACLE 10g Server

  ORACLE_HOME=/u01/product/10.2.0/db_1

  if [ ! -f $ORACLE_HOME/bin/dbstart ]

  then

  echo "ORACLE cannot start"

  exit

  fi

  case "$1" in

  'start')

  echo "Starting Oracle Database..."

  su - oracle -c "$ORACLE_HOME/bin/dbstart"

  su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"

  ;;

  'stop')

  echo "Stoping Oracle Database"

  su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"

  su - oracle -c "$ORACLE_HOME/bin/dbshut"

  ;;

  esac

  注意其中两行注释,网上很多脚本因为少了这两行不能使服务自启动:

  QUOTE:

  #chkconfig: 2345 99 01

  #deion: ORACLE 10g Server

  其中chkconfig:2345 99 01 是指脚本将为运行级2、3、4、5启动oracle 10g服务,启动优先级为99,关闭优先级为01。

  然后以root权限:

  QUOTE:

  # cd /etc/rc2.d

  # ln -s /etc/rc.d/init.d/oracle S99oracle

  # chkconfig --list oracle

  # chkconfig --level 2345 on

  重启系统,就可以在启动的过程中看到 Starting oracle,因为我们设置的优先级为99,一般是最后启动。[OK]以后就可以了。因为要启动emctl,可能有点慢,等待的时间要稍微长一点。

  启动以后可以以root执行oracle start或者oracle stop来启动或停止服务。

关键词标签:oracle开机自动启动

相关阅读

文章评论
发表评论

热门文章 Oracle中使用alter table来增加,删除,修改列Oracle中使用alter table来增加,删除,修改列oracle中使用SQL语句修改字段类型-oracle修oracle中使用SQL语句修改字段类型-oracle修使用低权限Oracle数据库账户得到管理员权限使用低权限Oracle数据库账户得到管理员权限Oracle对user的访问控制Oracle对user的访问控制

相关下载

人气排行 ORACLE SQL 判断字符串是否为数字的语句Oracle中使用alter table来增加,删除,修改列的语法ORACLE和SQL语法区别归纳(1)oracle grant 授权语句如何加速Oracle大批量数据处理Oracle删除表的几种方法ORACLE修改IP地址后如何能够使用Oracle 10g创建表空间和用户并指定权限