In this Document
Applies to: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 12.1.0.1 [Release 10.2 to 12.1] Information in this document applies to any platform. Purpose The goal of this note is to provide best practices and recommendations to users of Oracle Real Application Clusters (RAC) database using a large SGA that is greater than 300GB. This document is compiled and maintained based on Oracle's experience with its global RAC customer base. This is not meant to replace or supplant the Oracle Documentation set, but rather, it is meant as a supplement to the same. It is imperative that the Oracle Documentation be read, understood, and referenced to provide answers to any questions that may not be clearly addressed by this note. All recommendations should be carefully reviewed by your own operations group and should only be implemented if the potential gain as measured against the associated risk warrants implementation. Risk assessments can only be made with a detailed knowledge of the system, application, and business environment.
As every customer environment is unique, the success of any Oracle Database implementation, including implementations of Oracle RAC, is predicated on a successful test environment. Oracle Support has identified 300 GB as a baseline for large SGA's that would benefit from the recommendations provided in this note. However, this is just a baseline, and it is possible for similar(but smaller) SGA's to benefit from these recommendations. It is thus imperative that any recommendations from this note are thoroughly tested and validated using a testing environment that is a replica of the target production environment before being implemented in the production environment to ensure that there is no negative impact associated with the recommendations that are made
Scope This article applies to all new and existing RAC implementations. This is for RAC databases only as most of the parameters listed in here are for RAC Database only. Details init.ora parameters:
a. Set _lm_sync_timeout to 1200
Setting this will prevent some timeouts during reconfiguration and DRM
b. Set _ksmg_granule_size to 134217728
Setting this will cut down the time needed to locate the resource for a data block.
c. Set shared_pool_size to 15% or larger of the total SGA size.
For example, if SGA size is 1 TB, the shared pool size should be at least 150 GB.
d. Set _gc_policy_minimum to 15000
There is no need to set _gc_policy_minimum if DRM is disabled by setting _gc_policy_time = 0
e. Set _lm_tickets to 5000
Default is 1000. Allocating more tickets (used for sending messages) avoids issues where we ran out of tickets during the reconfiguration.
f. Set gcs_server_processes to the twice the default number of lms processes that are allocated.
The default number of lms processes depends on the number of CPUs/cores that the server has,
so please refer to the gcs_server_processes init.ora parameter section in the Oracle Database Reference Guide
for the default number of lms processes for your server. Please make sure that the total number of lms processes
of all databases on the server is less than the total number of
CPUs/cores on the server. Please refer to the Document 558185.1
Following patches are recommended:
For database on 11.2.0.3.4 PSU, Patch 18167801 - MERGE REQUEST ON TOP OF DATABASE PSU 11.2.0.3.4 FOR BUGS 18110922 16392068
(This merged patch has many fixes that are needed for using large SGA)
For database on 11.2.0.3.5 PSU or above, please contact Oracle Support
|