Maison >base de données >Oracle >Comment configurer Oracle SGA

Comment configurer Oracle SGA

PHPz
PHPzoriginal
2023-04-04 13:59:381736parcourir

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 :

  1. Calculer la taille de SGA
    Avant de définir manuellement SGA, vous devez d'abord calculer la taille à allouer à SGA. Cette taille doit être définie en fonction de la situation réelle, et peut être considérée en fonction des aspects suivants :
  • Calculer le nombre de sessions utilisateur
  • Calculer les objets mémoire requis pour la base de données
  • Configurer l'espace SGA

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.

  1. Modification des paramètres d'initialisation
    Le réglage de la taille SGA nécessite de modifier le fichier de paramètres d'initialisation de la base de données Oracle, ce qui peut être réalisé en modifiant le fichier $ORACLE_HOME/dbs/init.ora ou spfile.ora. De manière générale, il est recommandé d'utiliser des fichiers spfile pour définir les paramètres d'initialisation.

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 :

  1. Définissez le paramètre SGA_TARGET
    Ajoutez les paramètres suivants à la base de données pour activer AMM :

ALTER SYSTEM SET sga_target=xxxM SCOPE=SPFILE;

Parmi eux, xxx est la taille de la mémoire SGA en Mo.

  1. Redémarrez l'instance de base de données
    La modification SGA_TARGET doit redémarrer l'instance de base de données pour qu'elle prenne effet.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn