8.2 Overview of Large Page Support
Large page support is a feature of Oracle Database.
It provides a performance boost for memory-intensive database instances running on Windows Server. By taking advantage of newly introduced operating system support, Oracle Database can now make more efficient use of processor memory addressing resources. Specifically, when large page support is enabled, the CPUs in the system access the Oracle Database buffers in RAM more quickly. Instead of addressing the buffers in 4KB increments, the CPUs are told to use 2 MB page sizes in Physical Address Extension (PAE) mode and 4MB page sizes in non-PAE mode when addressing the database buffers.
This feature is particularly useful when the Oracle buffer cache is several gigabytes. Smaller-sized configurations still see a gain when using large pages, but the gain will not be as great as when the database is accessing large amounts of memory.
If the service is running as a user instead of the default SYSTEM
user, then the administrator must grant the "Lock pages in memory" privilege to the user. This privilege is not enabled by default when Windows is installed.
Topics:
- Granting Lock Pages in Memory Privilege
Use this procedure to grant lock pages in memory privilege. - Enabling Large Page Support
To take advantage of large pages, the amount of physical memory must be greater than the amount of System Global Area (SGA) specified in the parameter file.
8.2.1 Granting Lock Pages in Memory Privilege
Use this procedure to grant lock pages in memory privilege.
To grantSeLockMemoryPrivilege
, perform the following steps:
8.2.2 Enabling Large Page Support
To take advantage of large pages, the amount of physical memory must be greater than the amount of System Global Area (SGA) specified in the parameter file.
Large pages might not be allocated always during instance startup. Large pages are supported in 2 modes:
-
Regular mode: All of the SGA is attempted to be allocated in large pages. If the required amount of large pages are not available, then the instance does not come up.
-
Mixed mode: All of the SGA is attempted to be allocated in large pages. If no more large pages are available, then the subsequent allocations are done using regular pages. So the SGA allocation can be a mixed set of large pages and regular pages.
The mixed mode also supports a time parameter (in
msecs
). If a large page allocation took more time than the msecs specified by this time parameter, then subsequent allocations are made using regular pages. This parameter is helpful when the database startup time might be too long due to the entire SGA being allocated using large pages.
Note:
Large page usage locks the entire SGA into physical memory. Physical memory is not released during a shrink operation.
See Also:
Your operating system documentation for restrictions on allocating large pages
To enable large page support:
By default, Oracle allocates the minimum available large page size when using large pages. The minimum available large page size, 16 MB, is obtained by using the GetLargePageMinumum
function.
Note:
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. Physical memory is not released during a shrink operation.