CentOS7搭建Oracle11gRAC问题
1.初始环境
系统版本:centos7.6
Oracle版本:11.2.0
2.问题汇总:
2.1 图形化异常:
在主机上执行图形化安装,由于分辨率问题很多界面无法正常弹出显示为一条白色竖线,导致图形化安装无法继续进行,具体如下所示:
解决办法:
使用xmanager进行图形化安装。
xmanager下载地址:
https://www.xshellcn.com/xiazai.html软件付费,需要进行简单注册可以试用。
注意:使用xmanager的前提是目标机器已经安装了xterm,如果未安装可以直接yum安装。
[oracle@orcl1 ~]$ rpm -qa xterm
xterm-295-3.el7.x86_64
[oracle@orcl1 ~]$ yum -y install xterm
安装完成后启动Xmanager-Xstart
在指定位置输入IP及相关信息和执行命令/usr/bin/xterm -ls -display $DISPLAY
后点击“运行”。
运行过程界面如下:
可以看到分辨率都正常了可以继续安装:
2.2 在安装GI中执行root.sh脚本报错
具体报错信息为:ohasd failed to start
错误原因:
oracle11g主要服务对象是CentOS7之前的版本,而CentOS6与CentOS7版本比较大的差异就是进程的启动方式。7使用的是systemd管理进程而6使用initd管理。而root.sh脚本是通过传统的initd来启动ohasd进程的。所以会出现无法启动的问题。
解决办法:
将ohasd在CentOS7中运行时需要提前设置为一个服务。
[root@orcl1 system]# pwd
/usr/lib/systemd/system
[root@orcl1 system]# vim ohas.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
#注意使用root用户
[root@orcl1 ~]# systemctl daemon-reload
[root@orcl1 ~]# systemctl enable ohas.service
[root@orcl1 ~]# systemctl start ohas.service
#查看此时服务的运行状态为active
[root@orcl1 ~]# systemctl status ohas.service
● ohas.service - Oracle High Availability Services
Loaded: loaded (/usr/lib/systemd/system/ohas.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-07-20 11:04:54 CST; 43min ago
Main PID: 6823 (init.ohasd)
Tasks: 1
CGroup: /system.slice/ohas.service
└─6823 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 Type=sim...
Jul 20 11:04:54 orcl1 systemd[1]: Started Oracle High Availability Services.
# 因为此时root脚本处于夯住的状态,所以如果这个时候恢复ohasd服务,那么脚本也可以顺利进行下去。
2.3 安装Oracle报错
具体报错信息:图形化安装,执行到80%左右,报错“Error in invoking target 'agent nmhs' of makefile”。
错误原因:
缺少支持的lib库。相关lib库已安装但是无法找到。
解决办法:
在makefile中添加链接libnnz11库的参数。
[oracle@orcl1 lib]$ pwd
/u01/app/oracle/product/11.2.0/db/sysman/lib
#保留备份
[oracle@orcl1 lib]$ cp ins_emagent.mk ins_emagent.mk.bk
[oracle@orcl1 lib]$ vim ins_emagent.mk
#进行快速查找/NMECTL,在后面添加-lnnz11参数
#===========================
# emdctl
#===========================
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
...
保存退出,重新运行。