Oracle Best Practices
A list of best practices for Oracle on best-of-breed infrastructure
This list is work in progress. Expect more items and details to be added.
List of Best Practices
Data layout
TBD
Enable Linux Hugepages
Especially on large-memory systems (which is the majority of systems these days), Linux hugepages cause less memory-management overhead and therefore improve performance.
Use Oracle ASM
ASM removes the need for creating separate disk partitions, file systems, volume groups or LVM logical volumes. It also distributes all data in Allocation Units across all available disks in an ASM disk group. It eliminates some of the need for file system tuning and works well with nearly all 3rd party management tools.
There are multiple ways to run Oracle ASM which is covered in a separate section.
Use External redundancy
With ASM, use EXTERNAL redundancy (i.e. no host mirroring). Similar for non-ASM systems: avoid LVM based mirroring or other host-level replication as it causes some overhead, administration complexities.
The native RAID protection of enterprise storage (whether hardware or software defined) provides much better protection against disk failures and other issues.
Database blocksize
Use the default 8KiB blocksize, unless the database needs to be optimized for very large throughput.
Avoid automatic memory management
Do not use AMM (automatic memory management). Use the parameters sga_target and pga_aggregate_target instead (this is also required to enable hugepages). See Automatic Memory Management (AMM) in Oracle Database 11g Release 1 for more info.
Multi-block read count
Leave db_file_multiblock_read_count to the default value (Oracle will automatically use the optimal I/O sizes).
Disk Alignment
Use appropriate disk alignment when using disk partitions instead of entire disks for Oracle (ASM or file systems).
More info TBD
I/O Multipathing
TBD
NUMA
TBD
I/O Queue size
TBD
I/O scheduler
TBD
Redo log I/O size
TBD