Bonjour
Je suis confronté à un pb de perfs sur une appli java qui travaille avec une base oracle 11g.
En gros, l'appli a deux grosses phases différentes, une première au cours de laquelle elle insère des données dans la BD et une seconde au cours de laquelle elle fait des select et des updates dans la base.
Cette 2eme phase s'avère extrèmement lente la 1ere fois qu'elle est effectuée alors que si on la relance une seconde, une 3eme fois, elle est trés rapide. On peut passer de plusieurs centaines de minutes à quelques minutes, voire moins d'une minute.
Je suis en train de chercher la cause de ce pb de "1ere fois" et ma question à l'adresse de pros sera de savoir ce qui pourrait faire une telle différence entre la 1ere fois et les suivantes, sachant que les ordres joués sont strictement les memes?
De plus, en regardant un peu sur internet comment chercher la cause de mon pb, j'ai trouvé plusieurs posts mentionnant la vue V$SQL. J'ai regardé son contenu dans ma base et j'ai vu que dans la colonne ELAPSED_TIME, un des ordres aurait pris plusieurs heures. Pouvez-vous me confirmer que cette colonne contient bien le temps effectif pour jouer l'odre en question?
Est-ce une bonne stratégie de se baser sur le contenu de cette vue pour enqueter sur mon pb?
Y a t-il d'autres outils oracle qui pourraient m'aider?
Et enfin, est-ce qu'un sous dimensionnement du schema (tables créées avec une taille de départ petite qui force oracle à redimensionner) à la base pourrait être lié à mon problème?
Merci pour votre aide.
Partager