-
Insert long à s'exécuter
Bonjour,
J'ai un problème complètement aléatoire...
J'ai des enregistrements à transférer, chaque transaction passe environ 400 enregistrements.
Le process prend parfois 10 secondes mais parfois une dizaine de minutes, impossible de comprendre d'où vient le problème.
J'ai recherché quelques pistes sur le net.
Mon serveur est Oracle10g2.
J'ai un tablespace TEMP avec un fichier de 500Mo. J'ai ajouté un deuxième fichier de 500Mo pour ce Tablespace pour voir si le problème recommence.
J'ai ajouté également un Tablespace ROLLBACK et les segments qui vont bien (même si je sais que c'est obsolète dans la version 10 d'Oracle).
J'avais un Tablespace UNDO UNDOTBS1, j'en ai ajouté un deuxième de 500Mo en autoextend 5120K maxsize unilimited.
J'attend de voir ce que vont donner mes modifications mais sans être persuadé d'avoir mis le doigt sur le problème...
Pouvez vous m'aider et m'orienter s'il vous plait ? Merci d'avance pour toute l'aide que vous pourrez m'apporter...
-
t'as vérifié les locks ? que donne v$session_wait pendant l'opération ? Il y a des triggers ou FK ?
-
Avant de se lancer dans la grosse cavalerie, je te conseille de regarder d'abord le plan d'exécution de ta requête. Parceque 400 enregistrements, meme avec une base oracle 7 sur un pentium 60 avec 2M de SGA te les intègrerait en moins d'une seconde... ;)
-
Il peut y avoir plusieurs vagues d'enregistrements à la fois...une vingtaine ce qui monte à 80000 le nombre d'enregistrements.
J'ai augmenté le tablespace TEMP de 500Mo à 1Go et l'incrément de 600Ko à 5Mo...et tout à l'air d'être rentré dans l'ordre. A confirmer bien évidemment dans la durée...