Paramètres Oracle SGA
Oracle SGA (System Global Area) est une mémoire partagée au niveau du système et l'une des zones de mémoire les plus importantes dans une instance de base de données Oracle. SGA contient la zone mémoire commune à tous les processus d'instance de base de données (Processus), y compris les tampons de données, les tampons de redo log, les pools partagés, les pools Java, etc. La taille d'Oracle SGA a un impact énorme sur les performances et la stabilité de la base de données. La configuration de SGA est donc un aspect sur lequel les administrateurs de bases de données doivent se concentrer et optimiser.
Oracle Database permet aux utilisateurs de gérer la taille de SGA de deux manières : réglage manuel et gestion automatique (gestion automatique de la mémoire).
Définir manuellement la taille SGA
La définition manuelle de la taille SGA nécessite d'accéder au fichier de configuration de la base de données Oracle init.ora (dans les versions antérieures à Oracle 9i) ou spfile (dans Oracle 10g et les versions ultérieures).
La définition manuelle de la taille de SGA nécessite de prendre en compte les aspects suivants :
Parmi eux, calculez l'utilisateur. Le nombre de sessions et les objets mémoire nécessaires au calcul de la base de données nécessitent certains calculs et estimations, qui ne seront pas décrits ici.
Pour l'espace pour configurer SGA, il peut être calculé selon la formule suivante :
SGA = Database Buffer Cache + Shared Pool + Large Pool + Redo Log Buffer + Java Pool + Streams Pool
Parmi eux, Database Buffer Cache est le tampon de données, utilisé pour mettre en mémoire tampon les blocs de données dans la base de données ; Shared Pool est un pool partagé, utilisé pour stocker le code SQL et PL/SQL partagé. Large Pool est un grand pool, utilisé pour stocker des objets de mémoire plus volumineux ; une zone tampon de journalisation, utilisée pour stocker les enregistrements d'opérations utilisateur ; Java Pool est un pool Java, utilisé pour stocker des objets Java. Pool est un pool Streams, utilisé pour stocker la mémoire requise par STREAMS.
Définissez la taille de SGA dans spfile via la commande suivante :
ALTER SYSTEM SET sga_max_size = xxxM SCOPE=SPFILE;
ALTER SYSTEM SET sga_target = xxxM SCOPE=SPFILE;
où sga_max_size représente la valeur maximale de SGA, sga_target représente la valeur attendue de SGA. Une fois les paramètres terminés, vous devez redémarrer la base de données pour prendre effet.
Gérer automatiquement la taille SGA
La gestion automatique de la mémoire (AMM) de la base de données Oracle est une nouvelle fonctionnalité après Oracle 11g, qui peut gérer dynamiquement la taille de SGA et PGA (Process Global Area). AMM peut automatiquement allouer et ajuster la taille des SGA et PGA en fonction des besoins de la base de données, sans réglages manuels. Dans AMM, tous les paramètres définissant SGA seront ignorés.
Pour activer AMM, vous devez effectuer les étapes suivantes :
ALTER SYSTEM SET sga_target=xxxM SCOPE=SPFILE;
Parmi eux, xxx est la taille de la mémoire SGA en Mo.
Résumé
SGA est l'une des zones de mémoire les plus importantes de la base de données Oracle. Elle a un grand impact sur les performances et la stabilité de la base de données et nécessite l'attention des administrateurs de base de données. La définition manuelle de la taille SGA nécessite de calculer les exigences réelles de la base de données et de modifier le fichier de paramètres d'initialisation de la base de données Oracle en fonction des exigences. Gérer automatiquement la taille du SGA peut gérer dynamiquement la taille du SGA et du PGA sans paramètres manuels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!