[SQL] Indicateur de performance pour une base Oracle

Indicateur de performance pour une base Oracle [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 20-01-2007 à 21:31:38    

Bonsoir tout le monde,
 
je dois effectuer un travail pour développer un outil de mesure de temps de réponse de mon application qui tourne sur une base Oracle. Nous utilisons Oracle Applications et je ne parviens pas à trouver un outil ou une technique voire même un soupçon de commencement d'idée sur "quelque chose" qui me permettrait de déterminer les performances de ma base en terme de temps de réponse.
J'ai bien pensé à créer un job qui lance une requête SQL et ensuite mesurer son temps d'exécution via v$sqlarea mais ça ne fonctionne pas vraiment...
L'idée serait donc de développer un outil, rapide, qui me permettrait, en fonction de son temps de réponse, de déterminer si ma base est peu, moyennement, fortement sollicitée...
Toutes les idées sont les bienvenues, à une mesure près : c'est moi qui doit le faire ce truc :) alors pas d'idées fantasques à 180 000 € comme on en a eues par certains commerciaux dont je taierai le nom :)
Je cherche un outil déja existant et gratuit, ou alors une idée pour le créer moi même...
 
L'environnement, comme je l'ai précisé plus haut, est une base Oracle 9i avec Oracle Applications 11.5.8 (prochainement 11.5.10) branché dessus.
 
Merci  :hello:

Reply

Marsh Posté le 20-01-2007 à 21:31:38   

Reply

Marsh Posté le 20-01-2007 à 22:25:07    

Faire Select sysdate from dual; avant et après la requête.
 
Ou bien, utiliser DBMS_UTILITY.GET_TIME
 
 
Quelques conseils pour améliorer les performances :
 
- Il ne faut pas que les tablespaces soient sous-dimensionnés, notamment celui du journal.
 
- Quand on a un Select sur plusieurs tables, il suffit parfois de changer l'ordre des tables dans la clause From.
 
- Il faut éviter "OR" dans les requêtes
 
- Il faut éviter "Substr" sur une clef, parce que sinon, l'index ne sert plus à rien.

Reply

Marsh Posté le 21-01-2007 à 09:14:57    

olivthill a écrit :

Faire Select sysdate from dual; avant et après la requête.
 
Ou bien, utiliser DBMS_UTILITY.GET_TIME
 
 
Quelques conseils pour améliorer les performances :
 
- Il ne faut pas que les tablespaces soient sous-dimensionnés, notamment celui du journal.
 
- Quand on a un Select sur plusieurs tables, il suffit parfois de changer l'ordre des tables dans la clause From.
 
- Il faut éviter "OR" dans les requêtes
 
- Il faut éviter "Substr" sur une clef, parce que sinon, l'index ne sert plus à rien.


 
Je pense m'être mal exprimé. Je n'ai pas de problème de performance à proprement parler, ni besoin de tuning particulier. Je cherche juste à développer un indicateur qui me permettrait à l'avenir de tracer une courbe qui serait un reflet de l'activité sur mes machines. En gros, j'en ai marre qu'un utilisateur perdu à l'autre bout de l'Europe me dise que la base est lente alors qu'en fait il a des problèmes réseau :)
Sinon pour lancer une requête toutes les cinq minutes... elle serait dans le cache, et il est gigantesque.

Reply

Marsh Posté le 01-08-2007 à 22:55:06    

bonjour,
 
Je travaille sur le même sujet que toi, tu peux me contacter a f.eveilleau at gmail.com
 
@+
fred

Reply

Marsh Posté le 02-08-2007 à 11:51:06    

regardez du coté du statspack oracle
 
c'est un ensemble de scripts et de table pour evaluer les consommations de ressource d'une base. ( ça approfondi jusqu'au plan d'execution des requête type )
c'est disponible en standard sur les version serveur d'oracle ( database ), la doc complète est disponible sur metalink
 
ça vous donnera des pistes et des exemples

Reply

Marsh Posté le 03-08-2007 à 21:19:01    

Je vais jeter un coup d'oeil sur metalink merci, il est installé sur notre serveur ce statspack, le précédent DBA l'a déja utilisé. Cependant je ne pense pas pouvoir me permettre de laisser ce truc actif 24/7 :/
 
Depuis mon message nos serveurs ont été upgradés pour des serveurs plus puissants, des bêtes de course par rapport à avant, la toute dernière génération de processeurs IBM, de bien belles machines. Depuis ce temps là, le sujet n'est plus vraiment d'actualité étant donné que les performances de la machine sont systématiquement mises hors de cause.
 
Comme en plus nous sommes en pleine migration 9i -> 10g et aussi en train de migrer Oracle Applications d'une 11.5.8 vers une 11.5.10.2 je n'ai plus vraiment le temps de me pencher sur un sujet qui est devenu secondaire. Merci en tous cas pour les pistes.
 
@freddba : ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed