This can be caused by the asm_diskgroups
parameter. On older releases (like 11g), this was a typical problem. This parameter was automatically updated, except when a diskgroup was dropped, then its name was not removed from the parameter values.
You can check this if you have access to MOS:
Dropped Diskgroup Still Existing in ASM spfile (Doc ID 2241177.1)
BUG:19146721 - DROP DISKGROUP DOES NOT REMOVE THE ASM_DISKGROUP PARAMETER IN RAC
This parameter should not be set manually (unless you fix the incorrect value) and should be left empty. Below is only for demonstration.
Set asm_diskgroups
for this ASM instance to include a diskgroup that does not exist:
SQL> show parameter diskgroups
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups string
SQL> show spparameter diskgroups
SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
* asm_diskgroups string
SQL> alter system set asm_diskgroups='DOES_NOT_EXIST' scope=spfile sid='+ASM4';
System altered.
Stop + start GI on this node:
# /u01/app/19.0.0/grid/bin/crsctl stop crs
# /u01/app/19.0.0/grid/bin/crsctl start crs
Check the parameter again after ASM was started:
SQL> show parameter diskgroups
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups string DOES_NOT_EXIST
SQL> show spparameter diskgroups
SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
+ASM4 asm_diskgroups string DOES_NOT_EXIST
And this is from the alert log of this ASM instance:
2020-04-28T18:59:58.994866+02:00
SUCCESS: diskgroup DATA was mounted
ORA-15032: not all alterations performed
ORA-15017: diskgroup "DOES_NOT_EXIST" cannot be mounted
ORA-15040: diskgroup is incomplete