Sunday, March 1, 2015

ORA-27102: out of memory

Operating system : Solaris Sparc 11.2
Database Version : 11.2.0.3.0

When Trying to startup the database the following error appeared :-

SQL> startup nomount ;
ORA-27102: out of memory
SVR4 Error: 22: Invalid argument

Even when trying to know which instance process do this :-

SQL> oradebug setmypid
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SVR4 Error: 2: No such file or directory
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SVR4 Error: 2: No such file or directory 

SQL> oradebug ipc
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SVR4 Error: 2: No such file or directory
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SVR4 Error: 2: No such file or directory 

After investigation i found the cause for this error, the solaris SHMMAX was not set correctly on OS level which mean the database was configured more than permitted memory on OS.

to solve the above error

Find which project oracle user run using the below command :-

id -p
uid=59008(oracle) gid=10001(dba) projid=3(default)  

Then
prctl -n project.max-shm-memory -i project 3 

project: 3: default
NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
project.max-shm-memory
        privileged      35GB      -   deny                                 -
        system          24EB    max   deny                                 -

So i have to increase it

prctl -n project.max-shm-memory -r -v 40G -i project 3

Note the above changes will be temporary till the next restart.

Cheers
Osama  

No comments:

Post a Comment