samedi 9 février 2013

TUNING : REGLAGE DE LA SHARED POOL

1. REGLAGE DE LA SHARED POOL

V$LIBRARYCACHE : contient des statistiques relatives à un type d’élément conservé dans le cache « library ».

• NAMESPACE : Les éléments qui reflètent l’activité du cache « library » relative aux instructions SQL et aux blocs PL/SQL : SQL AREA, TABLE/PROCEDURE, BODY et TRIGGER
• GETS : affiche le nombre total de demandes d’informations sur l’élément correspondant.
• PINS : pour chaque zone, PINS affiche le nombre d’exécutions d’instructions ou de procédures SQL.
• RELOADS : si l’application appelle l’exécution d’une instruction SQL et que, dans le cache « library », la zone SQL partagée contenant la représentation analysée de cette instruction a été libérée afin de faire de la place à une autre instruction ou en raison de l’invalidation des objets indiqués par l’instruction, le serveur Oracle recharge implicitement cette instruction et, par conséquent, la réanalyse. Le nombre de rechargements est calculé pour chaque espace de nom.
• INVALIDATIONS : lorsqu’un objet est modifié, il est possible qu’il existe un meilleur chemin d’exécution pour toutes les instructions utilisant cet objet. C’est la raison pour laquelle le serveur Oracle marque toutes les exécutions utilisant un objet modifié comme non valides

 LIBRARY CACHE HIT RATIO >90%:

SELECT SUM(PINS-ROLOADS)/SUM(PINS)*100 ‘’Library cahce HIT-Ratio’’
FROM V$LIBRARYCACHE;


 RELOADS TO PINS <1%


SELECT SUM(ROLOADS)/SUM(PINS)*100 ‘’Reload-Ratio’’
FROM V$LIBRARYCACHE;


 PINS TO RELOADS 


SELECT sum(pins), sum(reloads), sum(pins) * 100 / sum(pins+reloads) “Pin Hit%” FROM v$librarycache;

V$SQLAREA: statistiques détaillées sur tous les curseurs partagés et 1000 premiers caractères de l’instruction SQL.

V$SQL : cette vue répertorie les statistiques sur la zone SQL partagée et contient une ligne pour chaque enfant du texte SQL entré à l’origine. V$SQL est une vue similaire à V$SQLAREA, excepté le fait qu’elle ne comporte pas de clause GROUP BY qui peut rendre l’interrogation de la vue V$SQLAREA plus coûteuse.

V$SQLTEXT : texte SQL complet sans troncature, affiché sur plusieurs lignes.

V$DB_OBJECT_CACHE : objets de la base de données mis en mémoire cache, y compris les packages ; comprend également les tables et les synonymes lorsque ces objets sont référencés dans des instructions SQL.

V$SHARED_POOL_RESERVED :Cette vue facilite le réglage du pool et de l’espace réservés au sein de la zone de mémoire partagée.

• FREE_SPACE : est la quantité totale d’espace libre dans la liste d’espaces réservés.
• AVG_FREE_SIZE : est la taille moyenne de la mémoire libre dans la liste d’espaces réservés.
• MAX_FREE_SIZE : est la taille de la plus grande zone de mémoire libre dans la liste d’espaces réservés
• REQUEST_MISSES : est le nombre de fois où la liste d’espaces réservés ne possédait pas de mémoire libre pour satisfaire la demande et a commencé à retirer des objets de la iste LRU.
• REQUEST_FAILURES : est le nombre de fois où une demande n’a pas été satisfaite en raison de l’insuffisance de mémoire.
• LAST_FAILURE_SIZE : est la taille de la dernière demande non satisfaite


objectif :

REQUEST_FAILURES ou REQUEST_MISSES proche de 0 ou/et n’augmentent pas.
SHARED_POOL_RESERVED_SIZE~=10% de SHARED_POOL_SIZE
 DBMS_SHARED_POOL .ABORTED_REQUEST_THRESHOLD: permet de restreindre la quantité de mémoire partagée à vider avant de signaler une erreur ORA-4031, afin de limiter l’étendue d’un vidage éventuellement provoqué par la présence d’un objet volumineux.

V$ROWCACHE : information sur dictionary cache :

• PARAMETER : donne le nom (de categorie) du cache du dictionnaire de données faisant l’objet de l’état.
• GETS : affiche le nombre total de demandes d’informations sur l’élément correspondant (par exemple, pour la ligne contenant des statistiques sur les descriptions de fichier, cette colonne indique le nombre total de demandes de données de description de fichier).
• GETMISSES : affiche le nombre de demandes de données ayant échoué en mémoire cache.