Serveur oracle
| Fiche express | |
|---|---|
| Type | Checklist de préparation système (Linux) pour un serveur Oracle |
| Voir aussi | Semaphores.sh · Tuning Oracle 10g |
Checklist des prérequis système Linux (famille RHEL/OEL/CentOS) avant l'installation d'une base Oracle : paquets, réseau, comptes, limites système et paramètres noyau.
Paquets
yum install compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel \ elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers \ kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make \ sysstat pam vim-enhanced unixODBC unixODBC-devel libXp libXt libXtst
Sur système 32 bits / compatibilité i386 (installations historiques) :
yum install compat-libstdc++-33.i386 glibc.i686 glibc-devel.i386 libaio.i386 \ libaio-devel.i386 libgcc.i386 libstdc++.i386 unixODBC.i686 unixODBC-devel.i686
Configuration réseau
net.ipv4.ip_local_port_range = 9000 65500
Compte et groupe
adduser oracle groupadd oinstall usermod -aG oinstall oracle
À noter : pour une installation standard, prévoir également le groupe dba (utilisé pour les connexions SYSDBA par authentification OS) — voir Tuning Oracle 10g pour l'exemple complet avec les deux groupes.
limits.conf
Valeurs indicatives (à adapter selon la charge réelle) :
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# Oracle 11g
oracle soft stack 10240
sysctl.conf
# Tuning Memory
kernel.sem = 250 32000 100 128
# physical RAM size / pagesize (exemple pour 60 Go de RAM, pagesize 4096)
kernel.shmall = 15728640
# physical RAM size / 2 (exemple pour 60 Go de RAM)
kernel.shmmax = 32212254720
kernel.shmmni = 4096
# fs.file-max = 512 x nombre de processus (minimum recommandé 327679 pour un système actif)
fs.file-max = 327679
# Tuning Network
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.tcp_rmem = 2097152
net.ipv4.tcp_wmem = 1048576
# HugePages (à configurer en fonction des besoins)
#vm.nr_hugepages =
fs.aio-max-nr = 1048576
# Tuning Page Cache (optionnel)
#vm.min_free_kbytes = 1024
#vm.swappiness = 10
#vm.dirty_background_ratio = 3
#vm.dirty_ratio = 15
#vm.dirty_expire_centisecs = 500
#vm.dirty_writeback_centisecs = 100
Pour un calcul automatique de shmmax/shmall selon la RAM réellement installée, voir Semaphores.sh.
Service SSH
# /etc/ssh/sshd_config UsePAM yes
Authentification / PAM
# /etc/pam.d/login session required pam_limits.so
# /etc/profile — limites spécifiques au compte oracle if [ $USER = "oracle" ]; then ulimit -u 16384 ulimit -n 65536 fi
Bug corrigé : le bloc sysctl.conf de la page source ouvrait un tag <pre> sans jamais le refermer correctement (deuxième <pre> au lieu de </pre>), ce qui cassait le rendu de toute la fin de la page — corrigé dans cette version.
Voir aussi
- Semaphores.sh — script de calcul automatique des paramètres mémoire/sémaphores
- Tuning Oracle 10g — variante historique détaillée (RHEL 5, huge pages, grub)
- SGA — dimensionnement mémoire côté instance