Table of Contents

ASM using 11gR2 Grid

Lately at work I've been working on migrating our databases to RAC. I'm doing this in incremental steps. The eventual goal is to get to 11gR2 running on a 2 node RAC. Currently we are running 10gR2 on RHEL 5.4.

The initial step I've taken is to migrate to ASM for storage. I've decided to use 11gR2 Grid for the ASM component. The ASM install is very straightforward, providing you plan appropriately.

Setup

http://www.oracle.com/technetwork/jp/topics/linux/downloads/rhel5-083144-ja.html

Troubleshooting

As luck would have it, I made a mistake when creating my disk group. I chose normal redundancy, when I needed to choose external. It turns out that my volumes were already mirrored on the SAN, and so it was very unnecessary to mirror at the software level. No problem I thought, I'll just drop and recreate the diskgroup, since nothing is using it yet.

ORA-15027: active use of diskgroup "DATA" precludes its dismount

When I tried to drop the diskgroup using asmca, I got the above error message. Same thing when trying alter diskgroup data dismount or alter diskgroup data drop.

Documentation states to query v$asm_client to find out who is using the diskgroup, and then stop that client (database). My query returned no rows. To be expected because I hadn't set any database to use this ASM instance.

Poking around using asmcmd, I found the culprit. The asm instance stored it's spfile inside the asm diskgroup. The instance itself was using the diskgroup. So, to fix this:

sqlplus / as sysasm

SQL>create pfile='init+ASM.ora' from spfile;
SQL>shutdown immediate;
SQL>startup pfile='init+ASM.ora';

Note the sqplus / as sysasm. You have to connect as sysasm to do any operations on the asm instance. sysdba does not have rights!

Now you can drop the group and recreate it with the correct parameters (I used asmca for this), then back to sqlplus:

SQL>create spfile='+DATA' from pfile;
SQL>shutdown immediate;
SQL>startup;

Fixed!