环境:RHEL 7.3 + Oracle 12.2.0.1 RAC
现象:acfs资源状态不正常,asmca图形也没有acfs相关内容,无法使用acfs。
1.具体现象
使用crsctl stat res -t -init查询,ora.drivers.acfs是OFFLINE状态:
$ crsctl stat res -t -init
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.drivers.acfs
1 ONLINE OFFLINE STABLE
--------------------------------------------------------------------------------
使用lsmod|grep oracle查询,没有acfs内容:
$ lsmod|grep oracle
oracleadvm 776830 1
oracleoks 654476 1 oracleadvm
尝试重装acfs,也会在卸载时就报错不支持:
# /u01/app/12.2.0/grid/bin/acfsroot uninstall
ACFS-9459: ADVM/ACFS is not supported on this OS version: '3.10.0-514.el7.x86_64'
2.定位bug
确认OS内核版本:
[root@db90 ~]# uname -a
Linux db90 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@db90 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
结合MOS最终匹配定位是Bug 25078431导致。
3.解决问题
我这里选择应用最新的PSU(其中ACFS补丁集包含了25078431这个补丁),开始应用补丁时遇到一个问题如下:
[root@db90 grid]# /u01/app/12.2.0/grid/OPatch/opatchauto apply /home/grid/28828733
...
==Following patches FAILED in analysis for apply:
Patch: /home/grid/28828733/28822515
Log: /u01/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-09-21PM_1.log
Reason: Failed during Analysis: CheckSystemCommandsAvailable Failed, [ Prerequisite Status: FAILED, Prerequisite output:
The details are:
Missing command :fuser]
After fixing the cause of failure Run opatchauto resume
看起来是缺失fuser命令,使用yum安装即可,需要注意fuser对应的是psmisc:
yum install psmisc
再次尝试应用补丁成功:
[root@db90 grid]# /u01/app/12.2.0/grid/OPatch/opatchauto apply /home/grid/28828733
OPatchauto session is initiated at Tue Jan 22 23:19:47 2019
System initialization log file is /u01/app/12.2.0/grid/cfgtoollogs/opatchautodb/systemconfig2019-01-22_11-19-54PM.log.
Session log file is /u01/app/12.2.0/grid/cfgtoollogs/opatchauto/opatchauto2019-01-22_11-20-52PM.log
The id for this session is BPVQ
Executing OPatch prereq operations to verify patch applicability on home /u01/app/12.2.0/grid
Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/12.2.0/db_1
Patch applicability verified successfully on home /u01/app/oracle/product/12.2.0/db_1
Patch applicability verified successfully on home /u01/app/12.2.0/grid
Verifying SQL patch applicability on home /u01/app/oracle/product/12.2.0/db_1
SQL patch applicability verified successfully on home /u01/app/oracle/product/12.2.0/db_1
Preparing to bring down database service on home /u01/app/oracle/product/12.2.0/db_1
Successfully prepared home /u01/app/oracle/product/12.2.0/db_1 to bring down database service
Bringing down CRS service on home /u01/app/12.2.0/grid
Prepatch operation log file location: /u01/app/grid/crsdata/db90/crsconfig/crspatch_db90_2019-01-22_11-27-13PM.log
CRS service brought down successfully on home /u01/app/12.2.0/grid
Performing prepatch operation on home /u01/app/oracle/product/12.2.0/db_1
Perpatch operation completed successfully on home /u01/app/oracle/product/12.2.0/db_1
Start applying binary patch on home /u01/app/oracle/product/12.2.0/db_1
Binary patch applied successfully on home /u01/app/oracle/product/12.2.0/db_1
Performing postpatch operation on home /u01/app/oracle/product/12.2.0/db_1
Postpatch operation completed successfully on home /u01/app/oracle/product/12.2.0/db_1
Start applying binary patch on home /u01/app/12.2.0/grid
Binary patch applied successfully on home /u01/app/12.2.0/grid
Starting CRS service on home /u01/app/12.2.0/grid
Postpatch operation log file location: /u01/app/grid/crsdata/db90/crsconfig/crspatch_db90_2019-01-22_11-39-37PM.log
CRS service started successfully on home /u01/app/12.2.0/grid
Preparing home /u01/app/oracle/product/12.2.0/db_1 after database service restarted
No step execution required.........
Trying to apply SQL patch on home /u01/app/oracle/product/12.2.0/db_1
SQL patch applied successfully on home /u01/app/oracle/product/12.2.0/db_1
OPatchAuto successful.
--------------------------------Summary--------------------------------
Patching is completed successfully. Please find the summary as follows:
Host:db90
RAC Home:/u01/app/oracle/product/12.2.0/db_1
Version:12.2.0.1.0
Summary:
==Following patches were SKIPPED:
Patch: /home/grid/28828733/28864846
Reason: This patch is not applicable to this specified target type - "rac_database"
Patch: /home/grid/28828733/26839277
Reason: This patch is not applicable to this specified target type - "rac_database"
Patch: /home/grid/28828733/28566910
Reason: This patch is not applicable to this specified target type - "rac_database"
==Following patches were SUCCESSFULLY applied:
Patch: /home/grid/28828733/28822515
Log: /u01/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-32-21PM_1.log
Patch: /home/grid/28828733/28870605
Log: /u01/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-32-21PM_1.log
Host:db90
CRS Home:/u01/app/12.2.0/grid
Version:12.2.0.1.0
Summary:
==Following patches were SUCCESSFULLY applied:
Patch: /home/grid/28828733/26839277
Log: /u01/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-35-03PM_1.log
Patch: /home/grid/28828733/28566910
Log: /u01/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-35-03PM_1.log
Patch: /home/grid/28828733/28822515
Log: /u01/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-35-03PM_1.log
Patch: /home/grid/28828733/28864846
Log: /u01/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-35-03PM_1.log
Patch: /home/grid/28828733/28870605
Log: /u01/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-22_23-35-03PM_1.log
OPatchauto session completed at Wed Jan 23 00:27:54 2019
Time taken to complete the session 68 minutes, 7 seconds
[root@db90 grid]#
在成功应用补丁之后,crsctl stat res -t -init查看acfs资源已恢复正常ONLINE:
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.drivers.acfs
1 ONLINE ONLINE db90 STABLE
--------------------------------------------------------------------------------
此时再次lsmod|grep oracle查询,已经可以看到oracleacfs部分:
$ lsmod|grep oracle
oracleacfs 4786907 0
oracleadvm 781814 0
oracleoks 634589 2 oracleacfs,oracleadvm
asmca也已经正常显示出acfs相关内容。
Reference:
- ACFS Support On OS Platforms (Certification Matrix). (文档 ID 1369107.1)
- ACFS-9459: ADVM/ACFS is not supported on this OS version: ‘3.10.0-514.el7.x86_64’ (文档 ID 2205623.1)
- Bug 25078431 – Linux: Loading of oracleacfs.ko failed on kernel 3.10.0-514 (文档 ID 25078431.8)
- How To Install/Reinstall Or Deinstall ACFS Modules/Installation Manually? (文档 ID 1371067.1)