隨著Linux 7 版本的普及,但Oracle資料庫主流版本仍是11gR2,11.2.0.4 是生產安裝首選。由於11.2.0.4對Linux 7 的支持不很完美,在Linux 7 上安裝會遇到幾處問題,以此記錄下來。 https://docs.oracle.com/cd/E11882_01/rel ...
隨著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 即可