Choosing a Supported Linux Distribution and Kernel Version
Select a supported Linux distribution such as Oracle Linux, Red Hat Enterprise Linux (RHEL), or SUSE Linux Enterprise Server. Ensure the kernel version aligns with Oracle’s compatibility requirements—for example, Oracle 19c requires Oracle Linux 9 with UEK7 (Unbreakable Enterprise Kernel 7) and database patch version 19.19 or higher. This ensures optimal compatibility and support.
Hardware Optimization
Meet minimum hardware requirements: at least 2GB of RAM (8GB+ recommended for production), sufficient swap space (traditionally 1–2GB, but Oracle recommends setting it to 16GB if physical memory exceeds 16GB), and adequate disk space (50GB+ for system files, plus growth for data files). Use high-performance storage like SSDs or NVMe drives to boost I/O throughput, which is critical for database performance.
Operating System Configuration
setenforce 0
and permanently disable it by setting SELINUX=disabled
in /etc/selinux/config
to avoid conflicts with Oracle operations./etc/hosts
file to map the hostname to the local IP address (e.g., 127.0.0.1 localhost localhost.localdomain
).oracle
user and groups (dba
, oinstall
) with appropriate permissions to manage Oracle installations and operations securely.oracle
user’s shell profile (e.g., .bash_profile
): ORACLE_HOME
(points to the Oracle installation directory), ORACLE_SID
(database instance identifier), and PATH
(includes $ORACLE_HOME/bin
).Kernel Parameter Tuning
Adjust kernel parameters to optimize Oracle performance:
kernel.shmall
(total shared memory in pages) and kernel.shmmax
(maximum shared memory segment size) based on physical memory (e.g., kernel.shmmax = total RAM
).fs.file-max
(maximum number of open files) to handle Oracle’s high file usage (e.g., fs.file-max = 6815744
).fs.aio-max-nr
(maximum number of asynchronous I/O requests) to 1048576 or higher to support Oracle’s async I/O operations.net.core.rmem_default
, net.core.wmem_default
) and port range (ip_local_port_range
) to improve network throughput.File System Optimization
/dev/sda1 /u01 ext4 defaults,noatime,nodiratime 0 0
).deadline
(via echo deadline > /sys/block/sda/queue/scheduler
) to reduce I/O latency for Oracle workloads.Oracle Database-Specific Tuning
MEMORY_TARGET = 8G
, PGA_AGGREGATE_TARGET = 2G
).filesystemio_options = SETALL
) to allow Oracle to use async I/O for data files. Balance I/O across multiple disks using RAID or ASM (Automatic Storage Management) to avoid bottlenecks.Performance Monitoring and Maintenance
DBMS_STATS
to help the optimizer generate efficient execution plans. Rebuild fragmented indexes and archive old logs to free up space.