The Oracle 12.2 documentation says (at the time of writing):

Do not set the initialization parameter lock_sga when large pages are enabled. Large page usage locks the entire SGA into physical memory. When used with the parameter lock_sga, database startup fails with an error because the operating system automatically locks. That is, it prevents memory from being paged to disk when large pages are requested.

This paragraph is misleading.  It is probably a leftover from 10g and 11g, before mixed mode was available.  Even worse, the implementation of mixed mode large page allocation was lazy, in that the restriction on setting LOCK_SGA was not lifted, and the Oracle code doesn’t bother to lock any normal pages portion of the SGA in RAM without it.  A cache is not so helpful if it has to be paged into RAM from disk when accessed!

Read more about this issue here


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s