|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 22 ![]() |
Bonjour,
Voila j'ai un petit soucis concernant un script pour un serveur Solaris... Le but du script est de récupérer des informations concernant l'utilisation de la zone mémoire par Oracle sur ce serveur. En gros on m'a demandé de regarder du coté de l'allocation des pages mémoire... Mes questions sont donc les suivantes: Existe-t-il un moyen de récupérer ces informations? Si oui lequel!? Y aurait-il un lien direct avec IPC, par exemple Database Buffer Cache? Faut-il regarder du coté des LOG d'Oracle? Comment faire? ENfin bref, connaissez-vous une solution a ce problème? Je vous remercie d'avance pour vos réponses! |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() ![]() Inscription : décembre 2003 Messages : 480 ![]() |
tu peux utiliser vmstat pour monitorer le paging
__________________
*** OPN Exadata Specialist *** *** OCE Performance Tuning 11g *** *** OCE Rac 10g *** *** OCP DBA 9i-10g-11g *** |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Réponse rapide: la mémoire utilisée par une instance Oracle est la SGA + PGA. On peut utiliser les vues v$sga/v$sgastat ou la commande SQL*Plus "show sga" pour la SGA et v$pgastat pour la PGA.
Faites des recherches sur ce site avec "PGA SGA" pour en savoir plus. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 22 ![]() |
Merci pour vos réponses!!! je vais regarder tout ca....
Cependant vmstat ne permet pas de récupérer les infos dont j'ai besoin d'après ce qu'on m'a expliqué!! Pour ce qui est des autres commandes, il ne s'agit pas de commandes Unix? Or moi ce qui m'interesserait c'est de faire ca directement depuis le shell.. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
S'il y une seule instance qui est démarrée sur le serveur Unix, la commande va afficher le segment de mémoire partagée de l'instance Oracle qui représente exactement la SGA (s"il y a plusieurs instances, il y a plusieurs segments et le lien n'est pas facile à faire). Par défaut la PGA est de la mémoire privée, vous pouvez éventuellement essayer d'utiliser une commande de style "ps" pour retrouver la mémoire allouée par un processus mais souvent les outils Unix comptabilisent dans la taille mémoire d'un processus le segment de mémoire partagée qui est utilisée par chaque processus serveur (càd chaque session Oracle), ce qui complique les calculs.
Le plus facile, c'est d'écrire un script Unix qui se connecte à l'instance et recupére les données par SELECT sur les vues V$. |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 22 ![]() |
Merci pour ses détails!
Oui en effet c'est ce qui est embetant pour effectuer les calculs, sur le serveur il y a 3 instances... Je me suis un peu penchée dessus hier et effectivement le mieux est de se connecter à l'instance et récupérer les infos avec les vues v$pgastat et v$sgastat. Bon pour récupérer les données qu'on veut exactement faut rajouter 2 ou 3 trucs, lorsque j'aurai fini mon script je vous le soumettrai pour me dire ce que vous en pensez! En tout cas merci vous m'avez bien aidé! @+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com