Notions de base de la superficie mondiale de système dans Oracle 12c

La Système Global Area

Sommaire

(SGA) est un groupe de structures de mémoire partagée au sein de Oracle 12c. Il contient des choses comme des données et SQL. Il est partagé entre les processus d'arrière-plan Oracle et les processus du serveur.

Le SGA est composé de plusieurs parties appelé le Composants SGA:

  • Piscine commune

  • Buffer cache de base de données

  • Refaire mémoire tampon du journal

  • Grande piscine

  • Piscine Java

  • Piscine Streams

Les zones de mémoire sont modifiés avec des paramètres d'initialisation.

  • Vous pouvez modifier chaque paramètre individuellement pour un réglage optimal (seulement pour les experts).

  • Vous pouvez dire Oracle combien de mémoire vous voulez que le SGA à utiliser (pour tous les autres).

Dites que vous voulez à Oracle d'utiliser 1 Go de mémoire. La base de données prend en fait que 1 Go, analyse comment tout fonctionne, et accorde chaque composant pour le dimensionnement optimal. Il vous indique même quand il a envie de plus.

Journalisation tampon dans Oracle 12c




La refaire mémoire tampon du journal est un autre élément de mémoire qui vous protège de vous-même, la malchance, et la Mère Nature. Ce tampon enregistre chaque instruction SQL qui modifie les données. La déclaration elle-même et toute l'information nécessaire pour reconstruire est appelé refaire l'entrée. Refaire entrées traînent ici temporairement avant d'être enregistrées sur le disque. Ce tampon protège contre la perte de blocs sales.

Blocs sales ne sont pas écrites sur le disque en permanence.

Imaginez que vous avez un cache de mémoire tampon de 1000 blocs, et 100 d'entre eux sont sales. Alors imaginez une alimentation va ventre dans votre serveur, et l'ensemble du système vient écraser sans tampons sales écrits. Ces données sont tout perdu, non? Pas si rapide. . . .

Le tampon de journalisation est vidée lorsque ces choses se produisent:

  • Chaque fois qu'il ya un commis aux données dans la base

  • Toutes les trois secondes

  • Lorsque le tampon de restauration est 1/3

  • Juste avant chaque bloc sale est écrit sur le disque

Pourquoi Oracle dérange maintenir tout ce truc de tampon de restauration lorsque la place, il pourrait simplement écrire les tampons modifiés sur le disque pour chaque commettre? Il semble redondant.

  • Le fichier qui enregistre cette information est séquentiel. Oracle écrit toujours à la fin du fichier. Il n'a pas à regarder où mettre les données. Il enregistre tout simplement l'entrée de rétablissement. Un bloc existe quelque part dans un fichier. Oracle doit savoir où, aller à cet endroit, et l'enregistrer. Relancer écritures tampons sont très rapides en termes d'E / S.

  • Un petit instruction SQL pourrait modifier milliers ou plusieurs blocs de base de données. Il est beaucoup plus rapide pour enregistrer cette déclaration que d'attendre que l'I / O de milliers de blocs. L'entrée de refaire prend une fraction de seconde pour écrire, ce qui réduit la fenêtre d'opportunité pour l'échec.

  • Il renvoie également votre commit seulement si l'écriture est réussie. Vous savez tout de suite que vos modifications sont sûrs. En cas d'échec, l'entrée de rétablissement pourrait avoir à ré-exécuté lors de la récupération, mais au moins il est pas perdu.

Grande piscine dans Oracle 12c

Nous ne parlons pas de la taille de la piscine de votre voisin. Pas tout le monde utilise le option grande piscine composant. La grande piscine soulage la piscine partagée des besoins en mémoire parfois transitoires.

Ces fonctionnalités utilisent la grande piscine:

  • Oracle Recovery Manager

  • Oracle serveur partagé

  • Le traitement parallèle

  • / Processus serveur O-I connexes

Parce que beaucoup de ces activités ne sont pas constants et allouer de la mémoire seulement quand ils sont en cours d'exécution, il est plus efficace de les laisser exécuter dans leur propre espace.

Sans une grande piscine configuré, ces processus volent la mémoire de la zone SQL de la piscine partagée. Cela peut entraîner une mauvaise traitement de SQL et le redimensionnement constant de la zone SQL de la piscine commune. Remarque: La grande piscine n'a pas LRU. Une fois qu'il se remplit (si vous la taille trop petite) les processus reviennent à leur ancien comportement de vol de la mémoire de la piscine commune.

Piscine de Java dans Oracle 12c

La piscine Java est pas une piscine remplie de café (accord, nous allons couper les références de la piscine). Le Piscine Java est un composant facultatif de la mémoire.

À partir de Oracle 8i, les navires de base de données avec sa propre Java Virtual Machine (JVM), qui peut exécuter du code Java de la SGA. Dans notre expérience, cette configuration est relativement rare. En fait, vous verrez ce où des outils spécifiques à Oracle sont installés.

Cependant, ne vous laissez pas vous décourager de développer vos propres applications Oracle Java. Le fait est, même si Oracle a son propre conteneur Java, beaucoup d'autres alternatives concurrentes valables sont là.

Streams Piscine dans Oracle 12c

La piscine de flux est utilisée uniquement si vous utilisez la fonctionnalité Oracle Streams. Oracle Streams est une technologie de réplication de données en option où vous répliquez (reproduire) les mêmes opérations, les modifications de données, ou des événements d'une base à une autre base de données (parfois à distance). Vous devez faire cela si vous voulez les mêmes données existent dans deux bases de données différentes.

Les magasins de la piscine des flux tamponnées messages de file d'attente et fournit la mémoire utilisée pour capturer et appliquer des processus. Par défaut, la valeur de cette piscine est zéro et augmente dynamiquement si Oracle Streams est en cours d'utilisation.


» » » Notions de base de la superficie mondiale de système dans Oracle 12c