Saturday, February 16, 2019

ORA-15017: diskgroup ... cannot be mounted




Some days ago (preparing an Exadata Storage Snapshots  environment ) i changed the asm_diskgroup in ASM parameter file. Before change this parameter pointed diskgroups RECO and DATA:
asm_diskgroups = 'DATAC1, RECOC1'

I dropped diskgroup RECOC1, created SPARSE on the RECOC1 space and changed this parameter to the value:  
asm_diskgroups = 'DATAC1', 'SPARSE'

After a day or two i noticed the message in the ASM aler log which appeared every minute and mentioned RECO disk group:
ERROR: ALTER DISKGROUP RECOC1 MOUNT  /* asm agent *//* {1:40706:63383} */
SQL> ALTER DISKGROUP RECOC1 MOUNT  /* asm agent *//* {1:40706:63408} */
NOTE: cache registered group RECOC1 4/0xAAB48873
NOTE: cache began mount (first) of group RECOC1 4/0xAAB48873
ERROR: no read quorum in group: required 2, found 0 disks
NOTE: cache dismounting (clean) group 4/0xAAB48873 (RECOC1)
NOTE: messaging CKPT to quiesce pins Unix process pid: 213192, image: oracle@ed03dbadm01.distr.fors.ru (TNS V1-V3)
NOTE: dbwr not being msg'd to dismount
NOTE: LGWR not being messaged to dismount
NOTE: cache dismounted group 4/0xAAB48873 (RECOC1)
NOTE: cache ending mount (fail) of group RECOC1 number=4 incarn=0xaab48873
NOTE: cache deleting context for group RECOC1 4/0xaab48873
GMON dismounting group 4 at 63274 for pid 42, osid 213192
ERROR: diskgroup RECOC1 was not mounted
ORA-15032: not all alterations performed
ORA-15017: diskgroup "RECOC1" cannot be mounted
ORA-15040: diskgroup is incomplete

Very strange!
This message indicates that the list of groups is stored somewhere else in the Grid.



The solution is easy:
[grid@ed03dbadm01 ~]$ srvctl -h |grep diskgroup


Usage: srvctl start diskgroup -diskgroup <dg_name> [-node "<node_list>"]
Usage: srvctl stop diskgroup -diskgroup <dg_name> [-node "<node_list>"] [-force]
Usage: srvctl status diskgroup -diskgroup <dg_name> [-node "<node_list>"] [-detail] [-verbose]

Usage: srvctl enable diskgroup -diskgroup <dg_name> [-node "<node_list>"]
Usage: srvctl disable diskgroup -diskgroup <dg_name> [-node "<node_list>"]
Usage: srvctl remove diskgroup -diskgroup <dg_name> [-force]
Usage: srvctl predict diskgroup -diskgroup <diskgroup_name> [-verbose]

[grid@ed03dbadm01 ~]$ srvctl status diskgroup -diskgroup recoc1
Disk Group recoc1 is not running
[grid@ed03dbadm01 ~]$ srvctl remove diskgroup -diskgroup RECOC1
 


And the message no longer occur !

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

How to disable/setup autostart parameters for specified instance ?

Q: We have a 4-node RAC. I need to disable autostart of the DB on one node only.    How to do it and how to see autostart parameters, confir...