Wednesday, May 27, 2015

ORA-04031: unable to allocate bytes of shared memory ("","","","")


Problem Description:
===============

Archive log has been shipped from primary but not able to apply in standby.


Error in DB Alert log:
================

Completed Media Recovery
Checking to start in-flux buffer recovery from SCN 1504.3738248416 to SCN  (non-inclusive) 1504.3738248416

ORA-00283: recovery session canceled due to errors
ORA-01237: cannot extend datafile 113
ORA-01110: data file 113: '+DATA/doyensys_p/datafile/sysaux.408.874229253'
ORA-17505: ksfdrsz:1 Failed to resize file to size 1126400 blocks
ORA-00569: Failed to acquire global enqueue.
Slave exiting with ORA-283 exception
ORA-00283: recovery session canceled due to errors
ORA-01237: cannot extend datafile 113
ORA-01110: data file 113: '+DATA/doyensys_p/datafile/sysaux.408.874229253'
ORA-17505: ksfdrsz:1 Failed to resize file to size 1126400 blocks
ORA-00569: Failed to acquire global enqueue.


When we checked for the size, We have enough size in the Disk. But still it shows the above error. So we checked for the asm log.


Asm alert log :
===========

Wed May 20 19:55:29 2015
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM1/trace/+ASM1_ora_95265.trc  (incident=353797):
ORA-04031: unable to allocate  bytes of shared memory ("","","","")
Incident details in: /u01/app/oracle/diag/asm/+asm/+ASM1/incident/incdir_353797/+ASM1_ora_95265_i353797.trc
Wed May 20 19:55:30 2015

Solution:
========

There was some memory issue happened in the asm instance though it has the enough memory.So we have just bounced the asm instance.

1. Recovery needs to be cancelled, But it has already been done.
2. shut down the database
3. connect to asm instance
4. srvctl stop asm -n nodename
5. srvctl start asm -n nodename
6. Now start the database in mount and started the recovery.

No comments: