SYMPTOM
While adding a new disk into an existing diskgroup, below errors occurred:
ORA-15032: not all alterations performed
ORA-15137: The ASM cluster is in rolling patch state.
INVESTIGATION
1) On both nodes, it shows the cluster in “In Rolling Patch”, and the patch levels are all the same.
SQL> SELECT SYS_CONTEXT('SYS_CLUSTER_PROPERTIES', 'CLUSTER_STATE')
FROM DUAL;
SYS_CONTEXT('SYS_CLUSTER_PROPERTIES','CLUSTER_STATE')
--------------------------------------------------------------------
In Rolling Patch
SQL> SELECT SYS_CONTEXT('SYS_CLUSTER_PROPERTIES', 'CURRENT_PATCHLVL')
FROM DUAL;
SYS_CONTEXT('SYS_CLUSTER_PROPERTIES','CURRENT_PATCHLVL')
--------------------------------------------------------------------
3628626982
$ asmcmd
ASMCMD> showclusterstate
In Rolling Patch
ASMCMD> showpatches
---------------
List of Patches
===============
26609817
26609966
26839277
27105253
27128906
27144050
27335416
27458609
27464465
27674384
ASMCMD> showversion
ASM version : 12.2.0.1.0
2) “crsctl query crs softwarepatch” shows the same results on both nodes:
$ crsctl query crs softwarepatch
Oracle Clusterware patch level on node racnode1 is [3628626982].
$ crsctl query crs softwarepatch
Oracle Clusterware patch level on node racnode2 is [3628626982].
3) “crsctl query crs releasepatch” shows the same results on both nodes:
— racnode1:
$crsctl query crs releasepatch
Oracle Clusterware release patch level is [3628626982] and the complete
list of patches [26609817 26609966 26839277 27105253 27128906 27144050
27335416 27458609 27464465 27674384 ] have been applied on the local node.
— racnode2:
$crsctl query crs releasepatch
Oracle Clusterware release patch level is [3628626982] and the complete
list of patches [26609817 26609966 26839277 27105253 27128906 27144050
27335416 27458609 27464465 27674384 ] have been applied on the local node.
4) kfod command shows the same results on both nodes:
— racnode1:
$ $ORACLE_HOME/bin/kfod op=patchlvl
-------------------
Current Patch level
===================
3628626982
$ $ORACLE_HOME/bin/kfod op=patches
---------------
List of Patches
===============
26609817
26609966
26839277
27105253
27128906
27144050
27335416
27458609
27464465
27674384
— racnode2:
$ $ORACLE_HOME/bin/kfod op=patchlvl
-------------------
Current Patch level
===================
3628626982
$ $ORACLE_HOME/bin/kfod op=patches
---------------
List of Patches
===============
26609817
26609966
26839277
27105253
27128906
27144050
27335416
27458609
27464465
27674384
5) lsinventory shows the same results on both nodes:
$ $ORACLE_HOME/OPatch/opatch lsinventory | grep -i desc
ARU platform description:: Linux x86-64
Patch description: "Database Apr 2018 Release Update : 12.2.0.1.180417 (27674384)"
Patch description: "OCW APR 2018 RELEASE UPDATE 12.2.0.1.0(180129) (27464465)"
Patch description: "ACFS APR 2018 RELEASE UPDATE 12.2.0.1.0(180129) (27458609)"
Patch description: "Tomcat Release Update 12.2.0.1.0(ID:171023.0830) (27144050)"
Patch description: "DBWLM RELEASE UPDATE 12.2.0.1.0(ID:170913) (26839277)"
SOLUTIONS
$crsctl stop rollingpatch
CRS-1161: The cluster was successfully patched to patch level [3628626982].
recheck with above commands, the cluster status is changed from “In Rolling Patch” to “Normal” now.
SQL> SELECT SYS_CONTEXT('SYS_CLUSTER_PROPERTIES', 'CLUSTER_STATE')
FROM DUAL;
SYS_CONTEXT('SYS_CLUSTER_PROPERTIES','CLUSTER_STATE')
--------------------------------------------------------------------------------
Normal
Generally speaking, For “ORA-15137: The ASM cluster is in rolling patch state” issue, the below steps can be followed one after another, until the issue is resolved:
a) stop rolling patch status one node by another:
SQL>Alter system stop rolling patch;
b) stop rolling patch for whole cluster:
$crsctl stop rollingpatch
c) In case of postpatch not complete successfully for some reason, which can also cause this issue:
— As super root user :
$GRID_HOME/crs/install/rootcrs.sh -prepatch
$GRID_HOME/crs/install/rootcrs.sh -postpatch
d) For some reason, OCR is not updated with right patchlevel:
$GRID_HOME/crs/install/rootcrs.sh -prepatch
$GI_HOME/bin/clscfg -patch
$GRID_HOME/crs/install/rootcrs.sh -postpatch
e) For some reason, patches are available from “opatch lsinventory”, but they are missing from kfod output:
-- as super user
$GRID_HOME/crs/install/rootcrs.sh -prepatch
-- as grid owner,
$GRID_HOME/bin/patchgen commit -pi 12345678
$GRID_HOME/bin/patchgen commit -pi 23456789
-- as super user
$GRID_HOME/crs/install/rootcrs.sh -postpatch