2011/01/08

11gr2 mysteriously changing asm_diskgroup parameter.

A few days ago , I was checking a 11gr2 (11.2.0.1) Rac database , residing on AIX 6.1.
2 disk groups named DATA and FRA were created, and all files were on DATA.
I realized that FRA was never mounted by grid processes after a reboot or crs stop/start.
Here is the ways I tried , and costed me a couple of hours to understand what was happening.

1-ASM_DISKGROUPS parameter changed. RESULT: FAIL
2-creating a pfile , to check if settings are correct.
3-realizing instance scope settings.
4-change instance scope variables. but no help . RESULT: FAIL
5-understanding what was exactly happening, why the "ASM_DISKGROUPS " parameter changed.
6-setting dependency , solving problem.


1-
I just thougt that it was because of asm_diskgroups parameter. And just changed it.
ALTER SYSTEM SET ASM_DISKGROUPS='DATA','FRA' scope=both;

After changing that , I was expecting everything would became normal. But not.
I created a pfile from spfile to double check .

2-
create pfile='/tmp/hede8' from spfile='+DATA/personel/asmparameterfile/registry.253.733514437';

cat /tmp/hede8

+ASM1.asm_diskgroups='FRA'#Manual Mount
*.asm_diskgroups='DATA','FRA'
+ASM1.asm_diskgroups='FRA'#Manual Mount
*.asm_power_limit=1
*.diagnostic_dest='/oracle/app/oracle'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'
3-
and saw the fallowing lines. Then there was a precedence.
+ASM1.asm_diskgroups='FRA'#Manual Mount
4-
again changed paramters as fallows
ALTER SYSTEM SET ASM_DISKGROUPS='DATA','FRA' scope=both sid='+ASM1';
After instance scope variables I was again expecting a good result. But what is that again. The parameter has seen changed again. I created pfile once more and yes the paramters which ı had changed in step 3 were gone .There must be something buggy if there is is not a ghost dba doing nasty things :) In one of the reference notes ; it is said to be resolved 11.2.0.2 Not tested yet.

5-What happens then ?
Some metalink search guided the solution as usual.
11gr2 asm was updating the asm_diskgroup parameter as diskgroups mounted,dismounted.
While stopping adn starting Grid you will see in asm alert.logfile:

Fri Jan 07 09:47:36 2011
SQL> ALTER DISKGROUP DATA DISMOUNT /* asm agent */
Fri Jan 07 09:47:37 2011
SQL> ALTER DISKGROUP FRA DISMOUNT /* asm agent */
Fri Jan 07 09:47:47 2011
Then ofcourse parameter will change.And because of none of the files reside in FRA ; only DATA is mounted while starting rdbms instance, so there is no dependency in rdbms and FRA asm diskgroup.
If I add a dependency then everthing will be as expected.
To add a depedency :
srvctl modify database -d trt4 -a 'DATA,FRA'
To see details :
srvctl config database -d trt4


Here are some reference notes:
  1. 1059856.1 ASM Diskgroups are not mounted with spfile on ASM on next startup with crsctl command in 11gR2. [ID 1059856.1]
  2. 987904.1 Additional Diskgroups Does Not Get Mounted When SRVCTL Is Used To Start And Shutdown ASM Instance [ID 987904.1]
  3. http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams010.htm#I1010247