====== Linux - System V - IPC-Parameter und die Oracle Datenbank====== **Alle Versionen** === Die Parameter === ^Name^Beschreibung^Vernünftige Werte^ |SHMMAX |Maximale Größe eines Shared-Memory-Segments (Bytes)|250 kB + 8.2 kB * shared_buffers + 14.2 kB * max_connections bis unendlich| |SHMMIN|Minimale Größe eines Shared-Memory-Segments (Bytes)|1| |SHMALL|Gesamtgröße des verfügbaren Shared Memory (Bytes oder Seiten)| wenn Bytes, dann gleich SHMMAX; wenn Seiten, dann ceil(SHMMAX/PAGE_SIZE)| |SHMSEG|Maximale Anzahl von Shared-Memory-Segmenten pro Prozess| nur 1 Segment wird benötigt, aber die Voreinstellung ist viel höher| |SHMMNI|Maximale Anzahl von Shared-Memory-Segmenten im ganzen System|wie SHMSEG plus Platz für andere Anwendungen| |SEMMNI|Maximale Anzahl von Semaphorbezeichnern in einer Gruppe/Array |mindestens ceil(max_connections / 16)| |SEMMNS|Maximale Anzahl von Semaphoren im ganzen System|ceil(max_connections / 16) * 17 plus Platz für andere Anwendungen| |SEMMSL|Maximale Anzahl von Semaphoren pro Gruppe/Array|mindestens 17| |SEMMAP|Anzahl Einträge in Semaphorkarte|| |SEMVMX|Maximalwert eines Semaphors|mindestens 255 (Der Standard ist oft 32767; nicht ändern wenn nicht nötig.)| === Aktueller Werte anzeigen: == find /proc/sys -type f -exec sh -c "echo \"{}: \`cat {}\`\"" \; ipcs -l == Verbrauch der Semaphore Arrays überprüfen== ipcs -s === Die typischen Oracle Defaults setzen === /etc/sysctl.conf: kernel.sem = 250 32000 100 128 SEMMSL=250, SEMMNS=32000, SEMOPM=100, SEMMNI=128 * 250 = SEMMSL = number of semaphores total per array / set * 32000 = SEMMNS = maximum total number of semaphores available * 100 = SEMOPM = Defines the maximum number of operations for each semaphore call * 128 = SEMMNI = number of arrays available system wide = total semaphore sets Der Wert für SEMMSL sollte 10 plus die Anzahl aller "PROCESSES" Parameter aller Datenbanken zusammen auf dem System sein! ====== Quellen: ====== 9i/10g * http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_8.shtml#Configuring%20File%20Handles * http://www.puschitz.com/TuningLinuxForOracle.shtml * http://documentation.commvault.com/hds/release_8_0_0/books_online_1/english_us/features/resources/configure_kernel_parms_how_to.htm * https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Tuning_and_Optimizing_Red_Hat_Enterprise_Linux_for_Oracle_9i_and_10g_Databases/sect-Oracle_9i_and_10g_Tuning_Guide-Setting_Semaphores-An_Example_of_Semaphore_Settings.html 11g * http://blog.ronnyegner-consulting.de/2009/10/28/calculate-required-kernel-parameters-for-running-oracle-11g-release-2-on-linux/ Oracle Support: * How are the Number of Semaphores per set Calculated on a Unix platforms? (Doc ID 261421.1) * TECH: Unix Semaphores and Shared Memory Explained (Doc ID 15566.1)