1、环境说明

一套RedHat7.5上安装的11.2.0.4 RAC,进行正常的系统维护,重启主机后发现GI集群一直无法启动。

 

2、问题分析

(1)、查看GI集群的OHASD进程的日志,发现操作系统重启后没有任何的日志输出。

(2)、查看OHASD进程,发现只有init.ohasd run进程,而ohasd.bin reboot进程没有起来。

[root@snyxdb1 system]# ps -ef |grep ohasd

root 3075 1 0 Apr23 ? 00:00:00 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

root 133358 111218 0 16:47 pts/1 00:00:00 grep --color=auto ohasd

[root@snyxdb1 system]#

(3)、查看CRS是否配置为enable。

[root@snyxdb1 system]# crsctl config crs

CRS-4622: Oracle High Availability Services autostart is enabled.

[root@snyxdb1 system]#

 

[root@snyxdb1 root]# more ohasdstr

enable

[root@snyxdb1 root]# more crsstart

enable

[root@snyxdb1 root]# more ohasdrun

restart

[root@snyxdb1 root]#

(4)、查看/etc/systemd/system目录下是否存在ohasd.service服务,发现已经存在ohasd.service服务,内容如下所示。

[Unit]

Description=Oracle High Availability Services

After=syslog.target

 

[Service]

ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

Restart=always

 

[Install]

WantedBy=multi-user.target

(5)、问题似乎无解了,我们知道在Linux 7环境中安装11.2.0.4 RAC时,存在一个著名的问题,需要在运行root.sh之前安装一个patch(18370031),否则root.sh脚本会失败。询问当初安装该RAC集群的同事,得知该环境中没有安装patch(18370031),而只是执行了一个workaround(在/etc/systemd/system目录下创建ohasd.service服务),该workaround可以解决root.sh脚本执行失败的问题。

(6)、至此,我非常怀疑是该workaround仍然存在某些缺陷,最终,在MOS库中搜索到解决方案,该workaround的确存在缺陷,它可以解决root.sh脚本执行失败的问题,但在有些情况下,有可能存在CRS无法随操作系统自动启动,ohasd.bin reboot进程无法启动的问题。

(7)、最终的解决办法是在/etc/systemd/system目录下另外创建一个名为autohas.service服务,内容如下所示:

[Unit]

Description=Auto Oracle High Availability Services

After=syslog.target

 

[Service]

ExecStart=/etc/init.d/ohasd start >/dev/null 2>&1

Type=forking

 

[Install]

WantedBy=multi-user.target

 

[root@snyxdb1 system]# systemctl daemon-reload

[root@snyxdb1 system]# systemctl enable autohas.service

Created symlink from /etc/systemd/system/multi-user.target.wants/autohas.service to /etc/systemd/system/autohas.service.

[root@snyxdb1 system]# systemctl start autohas.service

[root@snyxdb1 system]#

 

3、建议

在Linux 7环境中安装11.2.0.4 RAC时,建议还是安装patch(18370031)的方式来处理root.sh脚本执行失败的问题,而不要使用workaround。

 

CRS无法随操作系统自动启动的更多相关文章

  1. Oracle10g RAC 关闭及启动

    情况1: 保养数据库及操作系统,服务器,需要关闭DB(所有实例),OS 及Server . a. 首先停止Oracle10g 环境 $ lsnrctl stop (每个节点上停止监听,也可以用srvc ...

  2. oracle rac安装

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4681351&uid=29655480 参考 1.百度文库中的收藏 2. ...

  3. ubuntu下postgreSQL安装配置

    一.安装并配置,并设置远程登陆的用户名和密码 1.安装postgreSQL sudo apt-get update sudo apt-get install postgresql-9.4 在Ubunt ...

  4. oracle rac理解和用途扩展

    Oracle RAC的优势在于利用多个节点(数据库实例)组成一个数据库,这样在保证了数据库高可用性的情况下更充分的利用了多个主机的性能,而且可以通过增加节点进行性能的扩展.实现Oracle RAC需要 ...

  5. Oracle RAC 常用维护工具和命令

    Oracle RAC 常用维护工具和命令 分类: Oracle Basic Knowledge Oracle RAC2010-03-09 01:02 13987人阅读 评论(6) 收藏 举报 orac ...

  6. RAC 常用维护工具和命令(oracle 10g)

    Oracle 的管理可以通过OEM或者命令行接口. Oracle Clusterware的命令集可以分为以下4种: 节点层:osnodes 网络层:oifcfg 集群层:crsctl, ocrchec ...

  7. oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)

    结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...

  8. 操作系统内核Hack:(二)底层编程基础

    操作系统内核Hack:(二)底层编程基础 在<操作系统内核Hack:(一)实验环境搭建>中,我们看到了一个迷你操作系统引导程序.尽管只有不到二十行,然而要完全看懂还是需要不少底层软硬件知识 ...

  9. oracle 11g RAC 的基本操作(一)------启动与关闭

    启动RAC 手工启动按照HAS, cluster, database的顺序启动,具体命令如下: 启动HAS(High Availability Services),必须以root用户 [root@or ...

随机推荐

  1. java中如何实现两个值互换

    public class SwapVariable { public static void main(String[] args) { // 将两个数据进行交换: method2(,); metho ...

  2. 手把手教你生成二维码-google.zxing

    一.目标 输入网址,生成网址的二维码 二.概况 1.效果:UI丑,但功能实现了 2.项目目录 三.用到的第三方资源 1.google的扫码包zxing 2.JQuery 四.步骤(用myEclipse ...

  3. Openssl speed命令

    一.简介 speed命令用于测试库的性能 二.语法 openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [sha256] [sha512] [whirlpoo ...

  4. Android中的Handler介绍

    一.Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控 ...

  5. Python正则表达式的七个使用范例-乾颐堂

    作为一个概念而言,正则表达式对于Python来说并不是独有的.但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别. 本文是一系列关于Python正则表达式文章的其中一部分.在这个系列 ...

  6. Mac os安装DVWA环境教程

    Mac os安装DVWA环境教程 1.尽管Mac自带Apache和php 事实上Mac和WIN都用XAMPP一键化安装比较方便 2.解压DVWA-master 改名为dvwa移动到XAMPP的目录 3 ...

  7. STL中 set 和 multiset

    1. 所在头文件: <set>, 命名空间: std ; 声明如下: namespace std{ template <class T, class Compare = less&l ...

  8. MongoDB与CouchDB全方位对比(转)

    出处:http://www.csdn.net/article/2011-03-21/294226 本文见于MongoDB官方网站,MongoDB与CouchDB很相似,他们都是文档型存储,数据存储格式 ...

  9. 用nodejs搭建最简单、轻量化的http server(转)

    出处:http://www.cnblogs.com/wangfupeng1988/p/4143996.html 1. 引言 前端程序猿主要关注的是页面,你可能根本就用不到.net,java,php等后 ...

  10. npm使用【转】

    NPM是一个Node包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准.有了NPM,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包.在安装nodeJS 安装包的时候 ...