ITPub博客

首页 > 数据库 > Oracle > CentOs 7.X 安装Oracle 11g RAC的坑

CentOs 7.X 安装Oracle 11g RAC的坑

原创 Oracle 作者:flybluey 时间:2019-09-17 16:39:40 0 删除 编辑

随着 Linux 7 版本的普及,但 Oracle 数据库主流版本仍是 11gR2 , 11.2.0.4 是生产安装首选。由于 11.2.0.4 对 Linux 7 的支持不很完美,在 Linux 7 上安装会遇到几处问题,以此记录下来。

https://docs.oracle.com/cd/E11882_01/relnotes.112/e23558/toc.htm#CJAJEBGG

1. 安装 GI 执行 root.sh 脚本时, ohasd 进程无法正常启动

ohasd failed to start

Failed to start the Clusterware. Last 20 lines of the alert log follow:

2018-04-19 09:54:30.897:

[client(19244)]CRS-2101:The OLR was formatted using version 3.

alert :

Oracle High Availability Service has timed out waiting for init.ohasd to be started.

因为 Oracle Linux 7( 和 Redhat 7) 使用 systemd 而不是 initd 来启动 / 重新启动进程,并将它们作为服务运行,所以当前的 11.2.0.4 和 12.1.0.1 的软件安装不会成功,因为 ohasd 进程没有正常启动。

解决方法一:

在 root.sh 执行之前先打上补丁: 18370031 。

解决方法二:手动在 systemd 中添加 ohasd 服务

(1). 创建一个空服务文件: /usr/lib/systemd/system/ohasd.service

touch /usr/lib/systemd/system/ohasd.service

(2). 编辑文件 ohasd.service 添加如下内容

vi /usr/lib/systemd/system/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

(3). 添加和启动服务

systemctl daemon-reload

systemctl enable ohasd.service

systemctl start ohasd.service

查看运行状态:

[root@rac1 system]# systemctl status ohasd.service

● ohasd.service - Oracle High Availability Services

Loaded: loaded (/usr/lib/systemd/system/ohasd.service; enabled; vendor preset: disabled)

Active: active (running) since Thu 2018-04-19 14:10:19 CST; 1h 16min ago

Main PID: 1210 (init.ohasd)

CGroup: /system.slice/ohasd.service

└─1210 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

Apr 19 14:10:19 bms-75c8 systemd[1]: Started Oracle High Availability Services.

Apr 19 14:10:19 bms-75c8 systemd[1]: Starting Oracle High Availability Services...

(4). 重新执行 root.sh 脚本

注意: 为了避免其余节点遇到这种报错,可以在 root.sh 执行过程中,待 /etc/init.d/ 目录下生成了 init.ohasd 文件后执行 systemctl start ohasd.service 启动 ohasd 服务即可。若没有 /etc/init.d/init.ohasd 文件 systemctl start ohasd.service 则会启动失败。

2. 安装 database 软件时候会报错:

Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'

 

复制代码

解决方法一:  

 

选择   Continue  继续,然后打上补丁: 19692824 

 

解决方法二:

 

编辑文件 $ORACLE_HOME/sysman/lib/ins_emagent.mk

复制代码

vi /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk

复制代码

 

找到 $(MK_EMAGENT_NMECTL) 这一行,在后面添加 -lnnz11 如下:

复制代码

$(MK_EMAGENT_NMECTL) -lnnz11

 

然后点击 retry 即可



如还有其他问题,比如重启系统,集群无法正常启动,欢迎留言~~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29346172/viewspace-2657290/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
天天向上

注册时间:2015-10-14

  • 博文量
    16
  • 访问量
    51824