Friday 21 October 2016

ORA-15063: ASM discovered an insufficient number of disks for diskgroup

Today had issue with customer and received following error:

They were getting this error - ORA-15063: ASM discovered an insufficient number of disks for diskgroup "ACTWMS12PRD" 


Recently, I installed a new RAC database on a local enviroment. The oracle version is 11.2.0.0. Operating system is AIX 7. When I install, I put all the database files into only one ASM disk group called data. The redundency level is normal which means only about 1/2 of the total space can be used. I assgined about 4G space to the group which turn out to be not enough.

During install the RAC, I choose to create a demo database. This action exhausted the disk group space. So one of the instance , orcl2 on the racnode2 do not have sufficient space to create the redo group. So the database can not be started.


I try to start instance 2 and hit the error like redo thread 2 is not enabled. can not mount instance.


OK. We know that thread and the instance is 1 map 1. One instance has 1 thread. So the thread 2 means intance 2 have a thread but not enabled. So I run below command on instance to enable it.

SQL> Alter Database Enable Public Thread 2;
Alter Database Enable Public Thread 2
*
ERROR at line 1:
ORA-01613: instance UNNAMED_INSTANCE_2 (thread 2) only has 0 logs - at least 2 logs required to enable.
  

It shows the thread 2 do not have redo log group. Ok lets see the redo log infor.

SQL> select * from v$log
  2  /

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS   FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- -------- ------------- --------- ------------ ---------
         1          1         11   52428800        512          1 NO  INACTIVE        955179 08-JUN-13       968365 08-JUN-13
         2          1         12   52428800        512          1 NO  CURRENT         968365 08-JUN-13   2.8147E+14
  

Oh, we have thread 1. The thread 2 need to be add some redo group.

Let`s do below to add the redo group.


SQL> alter database add logfile thread 2 group 3;
alter database add logfile thread 2 group 3
*
ERROR at line 1:
ORA-00301: error in adding log file '+DATA' - file cannot be created
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15041: diskgroup "DATA" space exhausted
  

Oh, yes no space on it.  So add some space.

run the asmca to add another disk. here we wont show how to do it.

after add the space we try to add redo group to thread 2.



SQL> alter database add logfile thread 2 group 3;

Database altered.

SQL> alter database add logfile thread 2 group 4;

Database altered.

SQL> Alter Database Enable Public Thread 2;

Database altered.
  

Seems the thread is ok now. Then start the instance  , no issues this time.

No comments:

Post a Comment