Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.4. Oracle Settings and Suggestions

Among the thousands of tuning variables in Oracle, the 2 most important are SGA_TARGET and FILESYSTEMIO_OPTIONS. Oracle performs more efficient I/O operations of the files on the GFS volumes are opened with DirectIO (DIO) and AsyncIO (AIO). This is accomplished using the filesystemio_options parameter:
filesystemio_options=setall
DirectIO bypasses the page cache for all I/O operations. If DIO is disabled, all datafile I/O will be use the page cache, which effectively double buffers the I/O. Oracle already contains a page cache, called the db block buffer cache. Double buffering increases response time latency for reads, and when the page cache runs the server out of Free memory, system throughput usually drops by 30-50%.
The third most important init.ora parameter must be decided upon first: db_block_size. The default db_block_size for Oracle on Linux is 8K. GFS uses 4K blocks (as does x64 hardware). Although 4K blocks will out-perform 8K blocks in GFS, other factors in the application might mask this effect. Application performance requirements take precedence, and do not change it unless you know what you are doing. It is not recommended that 2K blocks be used on GFS. Most customers leave it 8K.
RAC/GFS was certified using both 4K and 8K blocks, but supports all block size values that the Oracle RDBMS supports.

5.4.1. RHEL Settings and Suggestions

The RDBMS needs non-default values in the /etc/sysctl.conf that involve shared memory, semaphores. Clusterware requires the network settings to be altered. These are documented in the Oracle Install Guide or release notes for that particular version.
It is highly recommended that you install the 64-bit (x64) version of RHEL, Red Hat Cluster Suite and Oracle. Although 32-bit (x86) platforms are still fully certified and supported by both Oracle and Red Hat, Oracle performs better when allowed to access more memory.

5.4.2. Huge TLBs

The Oracle SGA (Shared Global Area) contains several memory structures that used to improve the performance of the executing SQL. The largest, and most critical is the db block buffer cache. This cache typically consumes over 80% of the SGA. Several SQL pools used for results and complex parallel operations consume the next largest block.
The advent of x64 systems make it possible to SGA ranges in the 8-1024GB range. For any SGA that is over 16GB, a consistent improvement of 8-15% should be possible; the larger the SGA, the more the improvement. In addition to making it possible for the hardware to do less work when providing memory to the RDBMS, it also saves user memory by reducing the number of process page table entries (TLBs) that must be stored by each process.
For information on optimizing SGA settings, consult your Oracle user guide.