Oracle 11G for redhat 自启动脚本

在$ORACLE_HOME/bin中,有dbstart和dbshut这两个脚本,可以使用这两个oracle自带的脚本实现oracle的开机自启动。这个脚本中包含oraclelistener、instance、asm instances的启动,同样dbshut也是起到关闭服务的作用。

方法一:使用/etc/rc.local系统开机启动脚本,启动oracle

配置系统使dbstart和dbshut脚本起作用:

1)、以root编辑/etc/oratab,

orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:N 这种格式,

orcl是你的ORACLE_SID,

/home/oracle/app/oracle/product/11.2.0/dbhome_1是ORACLE_HOME,

这里需要把N改为Y,即orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y。

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

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

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

  $ORACLE_HOME/bin/emctl start dbconsole

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

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

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

            su oracle –lc "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"

    su - oracle -c "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"

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

    这里"/home/oracle/app/oracle/product/11.2.0/dbhome_1需要替换成实际的ORACLE_HOME

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

方法二:使用/etc/rc.d/init.d/oracle 自创脚本启动关闭数据库

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

#!/bin/sh

#chkconfig: 2345 99 01

#description: 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

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

#chkconfig: 2345 99 01

#description: ORACLE 10g Server

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

然后以root权限:

#  mv  oracle /etc/init.d

#  chkconfig --add oracle

# chkconfig --list oracle 查看,这样的话就把ORACLE就可以开机启动和关机前shutdown immediate

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

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

 

总结:我是采用方式一进行实现的,方法二没有经过测试

转载请注明:http://blog.163.com/nocturnal_ken/blog/static/17802332720111945726777/

时间: 2024-10-11 11:11:13

Oracle 11G for redhat 自启动脚本的相关文章

oracle 11g r2 一键配置脚本

最近工作需要安装oracle 11g R2在阿里云ECS上,因此编写了一个脚本来完成图形化安装界面之前的准备工作,这样节省时间,shell如下: #!/bin/bash SYSCTL="/etc/sysctl.conf" LIMITS="/etc/security/limits.conf" PAM="/etc/pam.d/login" PROFILE="/etc/profile" BASH_PROFILE="/hom

oracle 11g   for redhat 64

环境: (1)  Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41                EST 2013 x86_64 x86_64 x86_64 GNU/Linux (2)  内存:2G (3)  硬盘容量:30G (4)  系统必须为有桌面 (5)  YUM自己提前配好哦 (6)  如果在虚拟机上操作,提前先做镜像,在执行以下步骤之前. 步骤: #!/bin/bash for i

Oracle 11g随Redhat 5系统自动启动与关闭的设置方法

最近,ORACLE系统基本调试通过,是时候设置ORACLE随RHEL自动启动与关闭服务的时候了,之所以把这个任务放在最后来做,是因为我觉得这个应该不会很难,但真正实施起来,还是遇到了个不小的障碍:写好脚本,注册好服务之后,经测试,ORACLE可以随RHEL启动而启动,但不能随系统关闭而关闭.在网上找答案,发现几乎所有的设置过程帖子都是从同一篇原样照抄过来的,根本就行不通.天下文章一大抄.求助他人,没有得到一个好的解决方案.无奈,自己静下心来慢慢研究分析,总算找到了问题的关键原因所在. 现在就把我

Redhat Enterprise 5.4下安装配置Oracle 11g R2详细过程

1.Linux环境配置准备 环境:Linux:Redhat Enterprise 5.4,DB:Oracle 11g R2 X64,Oracle安装到/home/oralce_11目录下. 配置过程如下:(大部分是网上的内容,个人也是按照网上步骤来的) 1) 检查基本需求(对于牛逼的服务器来说,这个肯定是满足要求的,可以跳过)内存大小grep MemTotal /proc/meminfo交换分区大小grep SwapTotal /proc/meminfo增加交换分区创建/home/swap这么一

Redhat Linux 下安装Oracle 11g R2

能够下载:http://download.csdn.net/detail/ykh554541184/8086647文档方便查阅 官方文档:http://docs.oracle.com/cd/E11882_01/nav/portal_11.htm 1:基本环境 Redhat Enterprise Linux 6.132bit 内存:128GB 磁盘空间:600GB 2:检查Oracle 11g所需的包,假设没有在Redhat Enterprise Linux 6.1的安装光盘里找,然后安装. OR

RedHat 6.4 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机HA

环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterprise Linux 6.7 x64 集群环境:RHCS 数据库:Oracle 11g R2 多路径软件:UltraPath for Linux 存储划分 类型 卷 大小 挂载点 用途 备注 内置硬盘 标准 500MB /boot 启动分区 两块内置硬盘作RAID1 LVM 20GB /home 用户分区

Oracle 11g R2 RAC RMAN备份脚本示例

一.将RAC切换成归档模式 1. 修改数据库的归档模式,通常在安装RAC的时候都会配置归档并且使用闪回区,已经配置过归档下面的方式可以略过. SQL> alter system set cluster_database=false scope=spfile sid='*'; 2. 关闭所有实例(两边都要shutdown) SQL> shutdown immediate 或直接关闭所有实例   $ srvctl stop database -d orcl 3. 在任意一个实例上将数据库启动到mo

一步一步教你在redhat linux 下安装oracle 11g grid + database

给想学习oracle的新手看看,老鸟请飘过 操作系统信息: Vbox虚拟机软件版本: 安装所需要的软件: 所需软件下载地址: http://pan.baidu.com/s/1mgl8kzu 具体安装步骤: 一.新建虚拟机,并安装redhat5.4操作系统(64位) 注意:这里最小也要2G内存 由于我是做实验的虚拟机,存储我们这里选择动态分配.如果该虚拟机日后可能会经常使用,可将虚拟硬盘分配模式改为固定大小,这样性能会更好一些. 我们在这里分配了50G的存储空间 挂载操作系统镜像 完成后如下图所示

Redhat 6.2安装Oracle 11g客户端及遇到的问题分析

昨天在Redhat6.2(64 bit)上安装oracle 11.2.0.1.0 client(32 bit),以下是安装中碰到的一些问题及处理过程记录 首先解压缩安装包,会生成一个client目录,运行runInstaller时报错,错误如下: [[email protected] oracle]$ ls -l total 627612 drwxr-xr-x. 6 oracle oinstall      4096 Aug 19  2009 client -rwxrwxr-x. 1 oracl