J'ai une machine puissante avec 70 Go de RAM. J'ai créé une instance Oracle avec 20 Go en tant que sga_target. Je ne suis pas en mesure de créer une autre instance Oracle avec sga_target > 10G
même lorsque je garde la première base de données hors service. Si je le configure, sga_target >=10G
il donne une erreur ci-dessous au démarrage:
ORA-27104: les limites définies par le système pour la mémoire partagée ont été mal configurées
Bien free -m
que cela montre qu'il y a suffisamment de mémoire disponible:
total used free shared buffers cached
Mem: 72419 34490 37928 0 618 28159
-/+ buffers/cache: 5711 66707
Swap: 2047 0 2047
Dois-je augmenter l'espace de swap? Tout pointeur à cet égard est très apprécié.
Pour la mémoire de 70 Go également, pour créer de nombreuses instances, quelle serait la meilleure valeur pour l'espace d'échange - existe-t-il un moyen de calculer cela? Mon objectif est d'avoir au moins deux instances avec chacune sga_target=20G
et de ne conserver qu'une seule instance à la fois. Si je manque un concept ici?
La sortie de ipcs -im
est comme ci-dessous
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
la source
Le paramètre du noyau doit être configuré correctement:
Oracle Database Installation Guide, 11g Release 2 (11.2) for Linux, Part Number E24321-04, 2.10 Configuring Kernel Parameters for Linux ,
la source
La définition de la valeur shmmax dépend du fait que le système d'exploitation soit 32 bits ou 64 bits. Il y a une note metalink qui explique cela en détail.
Valeurs SHMMAX maximales pour Linux x86 et x86-64 [ID 567506.1]
Jetez un coup d'oeil s'il vous plait.
Il y a aussi une note sur la mémoire partagée / sémaphores pour Oracle qui devrait être une lecture intéressante.
TECH: Explication des sémaphores Unix et de la mémoire partagée [ID 15566.1]
Cordialement, Nagendra Chillale
la source