Notions de base de la piscine partagée dans Oracle 12c

Certains objets et dispositifs dans Oracle 12c sont fréquemment utilisés. Par conséquent, il est logique d'avoir leur prêt chaque fois que vous voulez faire une opération. En outre, les données dans la piscine partagée ne sont jamais écrites sur le disque.

Sommaire

La piscine partagée elle-même est composée de quatre domaines principaux:

  • Cache Bibliothèque

  • Cache Dictionnaire

  • Résultat de cache du serveur

  • Piscine réservés

UN cachette est une zone temporaire en mémoire créé pour un rapide aller chercher des informations qui auraient pu prendre plus de temps pour récupérer. Par exemple, les caches mentionnés dans la liste précédente contiennent des informations précalculée. Au lieu d'un utilisateur d'avoir à calculer des valeurs à chaque fois, l'utilisateur peut accéder à l'information dans une mémoire cache.

Le cache de la bibliothèque dans Oracle 12c

Le cache de la bibliothèque est juste comme ce qu'il a appelé: une bibliothèque. Plus précisément, il est une bibliothèque d'instructions SQL prêts à aller.

Chaque fois que vous exécutez une instruction SQL, beaucoup se passe en arrière-plan. Cette activité de fond est appelée analyse. L'analyse peut être très coûteuse en termes de puissance de traitement.




Au cours de l'analyse, certaines de ces choses se produisent:

  • La syntaxe de l'instruction est vérifié pour vous assurer que vous avez saisi tout correctement.

  • Les objets dont vous parlez sont vérifiés. Par exemple, si vous essayez d'accéder à une table appelée EMPLOYÉ, Oracle fait en sorte qu'il existe dans la base de données.

  • Oracle fait en sorte que vous avez la permission de faire ce que vous essayez de faire.

  • Le code est converti en un format de base de données prêtes. Le format est appelée byte-code ou p-code.

  • Oracle détermine le chemin ou d'un plan optimal. Ceci est de loin la partie la plus coûteuse.

Chaque fois que vous exécutez une instruction, l'information est stockée dans le cache de la bibliothèque. De cette façon, la prochaine fois que vous exécutez l'instruction n'a pas beaucoup à se produire (comme la vérification des autorisations).

Le cache de dictionnaire dans Oracle 12c

Le dictionnaire cache est aussi fréquemment utilisé pour analyser lorsque vous exécutez SQL. Vous pouvez le considérer comme une collection d'informations sur vous et les objets de la base de données. Il peut vérifier les informations de fond de type.

Le dictionnaire cache est également régie par les règles de la Least Recently Used (LRU) algorithme: Si il est pas la bonne taille, l'information peut être expulsé. Ne pas avoir assez de place pour le dictionnaire cache peut influer sur l'utilisation du disque.

Parce que les définitions des objets et des informations permission-based sont stockées dans des fichiers de bases de données, Oracle doit lire les disques de recharger cette information dans le dictionnaire cache. Ceci est plus de temps que l'obtenir à partir du cache mémoire. Imaginez un système avec des milliers d'utilisateurs d'exécuter constamment SQL. . . dictionnaire un cache taille inappropriée peut vraiment nuire à la performance.

Comme le cache de la bibliothèque, vous ne pouvez pas contrôler la taille du dictionnaire cache directement. Comme les changements globaux de piscine partagée à la taille, plus le dictionnaire cache.

Le cache de résultat du serveur Oracle 12c

Le cache de résultat du serveur comporte deux parties:

  • SQL résultat cache: Ce cache permet Oracle voir que les données demandées - demandée par une instruction SQL exécutée récemment - peut être stockée dans la mémoire. Cette situation permet d'Oracle sauter la partie de l'exécution de la, euh, l'exécution, faute d'un meilleur terme, et aller directement au résultat si elle existe.

    Le cache de résultat SQL fonctionne mieux sur des données relativement statiques (comme la description d'un article sur un site e-commerce).

    Si vous vous inquiétez au sujet de la cache de résultats renvoyer des données incorrectes? Pas du tout. Oracle invalide automatiquement les données stockées dans le cache de résultat si l'un des composants sous-jacents sont modifiés.

  • PL / résultat de la fonction de cache SQL: Le PL / SQL résultat de la fonction cache stocke les résultats d'un calcul. Par exemple, dire que vous avez une fonction qui calcule la valeur du dollar sur la base du taux de l'euro. Vous pourriez ne pas vouloir stocker cette valeur réelle, car il change constamment.

    Au lieu de cela, vous avez une fonction qui appelle sur une base journalière ou horaire pour déterminer la valeur du dollar. Dans une application financière, cet appel pourrait arriver des milliers de fois par heure. Par conséquent, au lieu de l'exécution de la fonction, il va directement au résultat / SQL PL cache pour obtenir les données entre les mises à jour de taux. Si le taux ne change, Oracle ré-exécute la fonction et met à jour le cache de résultat.

La piscine réservée dans Oracle 12c

Lorsque Oracle a besoin d'allouer une grande partie (plus de 5 Ko) de mémoire contiguë à la piscine partagée, il alloue de la mémoire dans la piscine réservée. Consacrer la piscine réservée pour gérer de grandes allocations de mémoire améliore les performances et réduit la mémoire fragementation.

Least Recently Used algorithme Oracle 12c

Si le cache bibliothèque est à court d'espace, les objets sont jetés. Les déclarations qui sont les plus utilisées restent dans le cache de la bibliothèque la plus longue. Le plus souvent, ils sont utilisés, moins ils ont de chance d'être expulsés si le cache bibliothèque est à court d'espace.

Le processus d'expulsion bibliothèque de cache est basée sur ce qui est appelé le Least Recently Used (LRU) algorithme. Si votre bureau est encombré, qu'est-ce que vous rangez en premier? Les trucs que vous utilisez le moins.

Vous ne pouvez pas modifier la taille de la bibliothèque vous cache. La taille globale de la piscine partagée détermine que. Si vous pensez que trop de déclarations sont expulsés, vous pouvez augmenter la taille globale de la piscine partagée si vous accorder vous-même. Si vous laissez faire le tuning Oracle, il saisit mémoire libre d'ailleurs.


» » » Notions de base de la piscine partagée dans Oracle 12c