Ask The Real Tom

July 29, 2010

Set lock_sga to true on Linux (SLES)

Filed under: oracle,Uncategorized — Tags: , , — admin @ 1:01 pm

To lock the SGA into physical memory you have to set the lock_sga parameter to true.

Usually you get following Error message.

SQL> startup
SQL> ORA-27102: out of memory
Linux-x86_64 Error: 12: Cannot allocate memory

The problem it ulimit -l
You have to set it in /etc/security/limits.conf and relogon to the system and restart database.

cat /etc/security/limits.conf
oracle soft memlock unlimited
oracle hard memlock unlimited

alter system set lock_sga=true scope=spfile;
shutdown immediate

And you SGA stays in physical memory.

If you SGA gets pages out you will encounter following waits.
Wait Event: latch: shared pool


  1. On Linux if you want to lock sga into physical memory,it is recommended that you set huge page.

    Comment by mq44944 — August 17, 2010 @ 8:36 am

  2. thank you for good information. thank you.*^^*

    Comment by Soohee — April 20, 2012 @ 10:07 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress