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. web.xml配置详解[转]

    引文: 对于一个J2EE领域的程序员而言,基本上每天都会和web应用打交道. 什么是web应用?最简单的web应用什么样?给你一个web应用你该从何入手? 1.什么是web应用? web应用是一种可以 ...

  2. date_default_timezone_set()

    date_default_timezone_set("Asia/Shanghai");

  3. 一起做RGB-D SLAM (5)

    第五讲 Visual Odometry (视觉里程计) 2016.11 更新 把原文的SIFT替换成了ORB,这样你可以在没有nonfree模块下使用本程序了. 去掉了cv::cv2Eigen函数,因 ...

  4. Ubuntu16 apt-get更换为阿里源

    1.备份系统自带源 mv /etc/apt/sources.list /etc/apt/sources.list.bak 2.修改/etc/apt/sources.list文件 vim /etc/ap ...

  5. Android Logging

    Here is HauteLook’s logger class from our Android Code Library. It displays class name, method name ...

  6. ios7 - Custom UItabbar has a gap in the bottom

    3down votefavorite   Im trying to create a custom UITabbar using images for the selected and unselec ...

  7. 编写高质量代码改善C#程序的157个建议——建议133:用camelCasing命名私有字段和局部变量

    建议133:用camelCasing命名私有字段和局部变量 私有变量和局部变量只对本类型负责,它们在命名方式也采用和开放的属性及字段不同的方法.camelCasing很适合这类命名. camelCas ...

  8. Java中一对多映射关系

    通过栗子,一个人可以有多辆汽车 定义人   这个类 人可以有很多辆汽车,类中车属性用数组 class Person{ private String name; private String phone ...

  9. 【小梅哥SOPC学习笔记】系统时钟的使用

    给NIOS II CPU添加一颗澎湃的心——系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchd ...

  10. arch+win7 双系统启动引导

    笔者的电脑之前已经安装了win7,安装完arch后电脑中存在两个系统,因此需要引导连个系统. 1. 在安装arch时,一般都会安装grub.如果没有安装,则参考arch wiki中 grub2一节安装 ...