Maison  >  Article  >  base de données  >  qu'est-ce qu'Oracle SGA

qu'est-ce qu'Oracle SGA

青灯夜游
青灯夜游original
2022-04-18 11:54:385836parcourir

sga fait référence à la « zone globale du système », qui est un ensemble de zones de stockage tampon partagées allouées par ORACLE à l'instance. Elle est utilisée pour stocker les données de la base de données et contrôler les informations afin de réaliser la gestion et le fonctionnement des données de la base de données. SGA est principalement composé d'un pool partagé, d'un tampon de données et d'un tampon de journalisation ; le tampon de données est utilisé pour stocker les données récemment lues et écrites à partir du fichier de données.

qu'est-ce qu'Oracle SGA

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

La structure de la mémoire est l'un des composants les plus importants de la base de données Oracle. Les opérations dans la base de données dépendent plus ou moins de la mémoire, ce qui est un facteur important affectant les performances de la base de données. La base de données Oracle comprend 3 structures de mémoire de base :

quest-ce quOracle SGA

Ce qui suit vous présente quelques sga dans la structure de la mémoire.

Oracle sga introduction

Le nom complet de sga est "System Global Area", qui signifie "System Global Area" en chinois. Il s'agit d'un ensemble de zones de stockage tampon partagées allouées par ORACLE pour les instances, principalement utilisées pour stocker. données de la base de données et informations de contrôle, ces informations sont partagées par le processus de base de données (PGA ne peut pas être partagé) pour réaliser la gestion et l'exploitation des données de la base de données.

Il contient les données et les informations de contrôle du serveur Oracle. Il est alloué dans la mémoire réelle de l'ordinateur où réside le serveur Oracle. Si la mémoire réelle n'est pas suffisante, elle est écrite dans la mémoire virtuelle.

SGA est un ensemble de structures de mémoire partagée partagées par tous les services et processus d'arrière-plan. Lorsqu'une instance de base de données démarre, la mémoire globale du système est automatiquement allouée. Lorsque l'instance de base de données est arrêtée, la mémoire SGA est récupérée. SGA est la zone qui occupe la plus grande quantité de mémoire et constitue également un facteur important affectant les performances de la base de données.

Interrogez la situation de la zone SGA :

SQL> show SGA

Total System Global Area 3290345472 bytes
Fixed Size            2217832 bytes
Variable Size         1795164312 bytes
Database Buffers     1476395008 bytes
Redo Buffers           16568320 bytes
SQL> select * from v$sga;

NAME              VALUE
-------------------- ----------
Fixed Size        2217832
Variable Size         1795164312
Database Buffers     1476395008
Redo Buffers           16568320
  • Fixed Size représente une zone fixe qui stocke des informations sur chaque composant de SGA. La taille ne peut pas être modifiée.

  • La taille variable représente des zones variables, telles que des pools partagés, des pools Java, de grands pools, etc.

  • Database Buffers représente le tampon de cache de la base de données.

  • Redo Buffers représente le tampon de journal.

SGA comprend principalement :

Le domaine global du système SGA est principalement composé de trois parties : un pool partagé, un tampon de données et un tampon de journal.

1. Pool partagé (pool partagé)  : utilisé pour stocker les instructions SQL récemment exécutées et les données du dictionnaire de données récemment utilisées.

Il est principalement composé de deux structures mémoire : Cache bibliothèque et Cache dictionnaire de données.

Modifiez la taille du pool partagé : ALTER SYSTEM SET SHARED_POOL_SIZE = 64M ;

Le cache bibliothèque met en cache les informations liées au SQL et au PL/SQL exécutés, qui est, Stocke le texte de l'instruction SQL, le code analysé et le plan d'exécution. Réalisez le partage des instructions couramment utilisées et utilisez l'algorithme LRU pour la gestion. Il se compose des deux structures suivantes : zone SQL partagée et zone PL/SQL partagée.

Le cache du dictionnaire de données met en cache les définitions de base de données utilisées, qui stockent les tables et colonnes associées ; et d'autres objets. Définitions et autorisations. Il comprend des informations sur les fichiers de base de données, les tables, les index, les colonnes, les utilisateurs, les autorisations et d'autres objets de base de données. Pendant la phase d'analyse syntaxique, Server Process accède aux informations du dictionnaire de données pour analyser les noms d'objet et vérifier les opérations d'accès. Les informations du dictionnaire de données sont mises en cache en mémoire pour contribuer à améliorer les temps de réponse.

2. Tampon de données (cache de tampon de base de données) : utilisé pour stocker les données récemment lues et écrites à partir de fichiers de données.

Les blocs de données utilisés par le système Oracle (c'est-à-dire le tampon haute vitesse de l'utilisateur) sont stockés dans le cache de données. Lorsque les données sont écrites dans la base de données, elles sont lues et écrites en unités de blocs de données. rempli Lorsqu'il est plein, le système supprime automatiquement certaines données qui ne sont pas fréquemment consultées par les utilisateurs. Si les données que l'utilisateur souhaite vérifier ne se trouvent pas dans le cache de données, Oracle les lit automatiquement à partir du disque. La zone de cache de données comprend trois types de zones :

1) Zone de données sales (Dirty Buffers) : contient des blocs de données qui ont été modifiés et doivent être réécrits dans le fichier de données.

2) Tampons gratuits : une zone qui ne contient aucune donnée et qui peut être réécrite. Oracle peut lire des blocs de données à partir du fichier de données dans cette zone.

3) Zone réservée (Tampons épinglés) : Cette zone contient des zones en cours de traitement ou explicitement réservées pour une utilisation future.

3. Redo log buffer (redo log buffer) : Utilisé pour enregistrer les opérations du service ou du processus en arrière-plan sur la base de données.

Principalement utilisée pour restaurer chaque enregistrement de modification, on appelle une entrée de rétablissement. Les modifications peuvent être rétablies à l'aide des informations contenues dans l'entrée Rétablir.

De plus, il existe deux structures de mémoire facultatives dans SGA :

4 Java Pool : utilisé pour stocker le code Java.

5. Grand pool : utilisé pour stocker de grandes structures de mémoire qui ne sont pas directement liées à SQL. Utilisation de sauvegarde et de restauration.

Tutoriel recommandé : "Tutoriel Oracle"

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