Oracle Tips by Burleson Consulting
RAM page fencing for Oracle
As we know, in a shared memory environment such as UNIX, a “virtual”
memory operating system will allow for the referencing of RAM memory
beyond the physical limit of RAM. When the physical RAM is exceeded,
UNIX will “swap” the contents of RAM memory to the swap disk, and
give the RAM memory to another task. This swapping is done in UNIX
based upon a least-recently-used algorithm.
To see if your server is experiencing a shortage of RAM, you can
view memory swapping on UNIX by starting the “vmstat” command, and
looking at the page-in (pi) column. Whenever pi is non-zero, memory
paging is occurring and Oracle may run very slowly.
Of course, it is important to the DBA that the SGA memory never
swap-out to disk. When a memory swap occurs, the swapped task will
cease processing for the duration of the swap, until the memory
pages are read back-into RAM. This can mean significant slowdowns
The solution for the Oracle DBA is “page fencing”. By marking the
SGA as ineligible for swapping, the operating system will ensure
that the SGA always stays in RAM memory.
Today, page fencing is available for Solaris and HP/UX.
Unfortunately, it is completed undocumented, and the init.ora
parameters are buried deep in the release notes. Here are the
Download your Oracle scripts now:
definitive Oracle Script collection for every Oracle professional DBA