SQL> startup
ORA-04031: unable to allocate 2072 bytes of shared memory (“shared pool”,”unknown object”,”sga heap(2,0)”,”parameter table block”)
SQL> exit
Disconnected
When I checked my database memory allocation then found that sga_target was set to 2GB and pga_aggregate_target was set to 1GB. Also checked available server memory using free command. But there was lots of free memory available on the server.
Cause: SGA is not able to allocate required amount of memory to its components. More shared memory is needed than was allocated in the shared pool.
Action: If the shared pool is out of memory, either reduce your use of shared memory, or increase the sga_target value to larger than allocated.
STEP 1:
To increase the sga_target first you need to create pfile from spfile because db is down.
SQL> create pfile=’/home/oracle/db12c.ora’ from spfile;
File created.
Edit pfile and change the value of sga_target large enough than the current settings using vi editor.
STEP 3:
$ sqlplus / as sysdba
SQL>create spfile from pfile;
SQL> shut immediate;
SQL> startup;
Very helpfull
Very helpful