ORA-15032, ORA-15040, ORA-15042 Error on Oracle ASM

ERROR:Try to mount the disk group on ASM

SQL> alter diskgroup RECOc1 mount;

alter diskgroup RECOc1 mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk “2” is missing from group number “2”

Check  Alert Log:

Wed Feb 15 15:32:15 2017
NOTE: Disk RECOC1_0000 in mode 0x7f marked for de-assignment
NOTE: Disk RECOC1_0001 in mode 0x7f marked for de-assignment
ERROR: diskgroup RECOC1 was not mounted
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk “2” is missing from group number “2”

 

SOLUTION:

All transactions must be done by root user.

1-Scan and find RECOC1 disks with scripts;

/etc/init.d/oracleasm querydisk -d `/etc/init.d/oracleasm listdisks -d` | \

cut -f2,10,11 -d” ” | \

perl -pe ‘s/”(.*)”.*\[(.*), *(.*)\]/$1 $2 $3/g;’ | \

while read v_asmdisk v_minor v_major

do

v_device=`ls -la /dev | grep ” $v_minor, *$v_major ” | awk ‘{print $10}’`

echo “ASM disk $v_asmdisk based on /dev/$v_device [$v_minor, $v_major]”

done

2-Remove RECOC* found disks

/etc/init.d/oracleasm deletedisk RECOC1

/etc/init.d/oracleasm deletedisk RECOC2

/etc/init.d/oracleasm deletedisk RECOC3

3-Add re-create RECOC* disks

oracleasm createdisk RECOC1 /dev/sdd1;

oracleasm createdisk RECOC2 /dev/sdh1;

oracleasm createdisk RECOC3 /dev/sdj1;

ora-15032

if flashback on, you have to off it on your oracle database and use the grid user for below processes.

  1. On GUI–>open asmca—>Disk Group Name:RECOC1  select 3  disks to add diskgroup
  2. check your alert log again.

SUCCESS: diskgroup RECOC1 was mounted
Wed Feb 15 15:46:30 2017
SUCCESS: CREATE DISKGROUP RECOC1 EXTERNAL REDUNDANCY DISK ‘/dev/oracleasm/disks/RECOC1’ SIZE 102398M ,
‘/dev/oracleasm/disks/RECOC2’ SIZE 1048570M ,
‘/dev/oracleasm/disks/RECOC3’ SIZE 511993M ATTRIBUTE ‘compatible.asm’=’12.1.0.0.0′,’au_size’=’1M’ /* ASMCA */
Wed Feb 15 15:46:30 2017

 

diskgroup is incomplete OR Database Will Not Mount: ORA-15025, ORA-27041, ‘Permission denied’, ORA-15081

RMAN> RESTORE CONTROLFILE FROM ‘/home/oracle/restore/3jrjomjq_1_1.ctl’;

Starting restore at 31-OCT-16
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=7 device type=DISK

channel ORA_DISK_1: restoring control file
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 10/31/2016 17:56:31
ORA-19870: error while restoring backup piece /home/oracle/restore/3jrjomjq_1_1.ctl
ORA-19504: failed to create file “+DATAC1”
ORA-17502: ksfdcre:4 Failed to create file +DATAC1
ORA-15001: diskgroup “DATAC1” does not exist or is not mounted
ORA-15040: diskgroup is incomplete

********alert_db1.log***********************

ALTER DATABASE MOUNT
NOTE: Loaded library: System
ORA-15025: could not open disk ‘/dev/oracleasm/disks/DATA01’
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
SUCCESS: diskgroup DATA was mounted
NOTE: dependency between database ORCL and diskgroup resource ora.DATA.dg is established
ORA-15025: could not open disk ‘/dev/oracleasm/disks/FLASH01’
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
SUCCESS: diskgroup FLASH was mounted
ORA-00204: error in reading (block 1, # blocks 1) of control file
ORA-00202: control file: ‘+FLASH/orcl/controlfile/current.256.711293457’
ORA-15081: failed to submit an I/O operation to a disk
ORA-00204: error in reading (block 1, # blocks 1) of control file
ORA-00202: control file: ‘+DATA/orcl/controlfile/current.256.711293457’
ORA-15081: failed to submit an I/O operation to a disk
NOTE: dependency between database ORCL and diskgroup resource ora.FLASH.dg is established.
Checker run found 2 new persistent data failures
ORA-205 signalled during: ALTER DATABASE MOUNT…
SUCCESS: diskgroup DATA was dismounted
SUCCESS: diskgroup FLASH was dismounted

********SOLUTION****************************************************

APPLIES TO:Oracle Database – Enterprise Edition – Version 11.2.0.1 and later

To correct the proper group for the Database oracle executable, do:
As the <asm_home sfw owner>:
$ cd <asm_home>/bin
$ ./setasmgidwrap o=<db_home>/bin/oracle

Now check that the primary group for the Database oracle executable is now asmadmin (not oinstall).

If done, restart the database.

Example:
[grid@exarestore bin]$ cd /u01/app/12.1.0.2/grid/bin
[grid@exarestore bin]$ pwd
/u01/app/12.1.0.2/grid/bin
[grid@exarestore bin]$ ./setasmgidwrap o=/u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle
grid@exarestore bin]$ ls -lrt /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle
-rwsr-s–x. 1 oracle asmadmin 323762222 Oct 27 16:06 /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle
Now check that the primary group for the Database oracle executable is now asmadmin (not oinstall).

If done, restart the database.