Sur une webapp (JDBC Oracle 10g), nous avons remarqu=E9 qu'un rollback
est syst=E9matiquement ex=E9cut=E9 apr=E8s un select... en read-only.
Quelqu'un a-t-il un retour d'exp=E9rience sur ce point ? Cela ne
n'implique-t-il pas que des transactions sont ouvertes pour ces
lectures, auquel cas ce pourrait =EAtre pr=E9juciciable aux acc=E8s
concurrents ?
Question subsidiaire : quand on a compris et soupes=E9 ce comportement,
comment peut-on le param=E9trer ? Il ne me semble pas que cela soit en
rapport avec le param=E8tre d'autorollback du driver, il n'y a pas
d'exceptions, il s'agit pour notre analyse de traces informelles.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ToOmS
On 10 sep, 10:45, ToOmS wrote:
Bonjour à tous,
Sur une webapp (JDBC Oracle 10g), nous avons remarqué qu'un rollback est systématiquement exécuté après un select... en read-only.
Quelqu'un a-t-il un retour d'expérience sur ce point ? Cela ne n'implique-t-il pas que des transactions sont ouvertes pour ces lectures, auquel cas ce pourrait être préjuciciable aux accès concurrents ?
Question subsidiaire : quand on a compris et soupesé ce comportement, comment peut-on le paramétrer ? Il ne me semble pas que cela soit en rapport avec le paramètre d'autorollback du driver, il n'y a pas d'exceptions, il s'agit pour notre analyse de traces informelles.
Merci de vos lumières, Thomas.
J'ai trouvé ceci : http://www.oracle.com/technology/oramag/oracle/05-nov/o65asktom.html On y explique que les transactions sont utilisées pour tamponner le résultat des requêtes pour assurer que le contenu corresponde bien au moment où l'on a fait l'extraction. Voilà pourquoi on a des rollback ; c'est la fermeture de la transaction.
Du coup, s'agissant de tables en lecture seule, je pense que nous allons tenter de passer l'isolation level de la connextion en "read uncommited". Si vous avez d'autres réflexions, n'hésitez pas !
On 10 sep, 10:45, ToOmS <thomas_esco...@yahoo.fr> wrote:
Bonjour à tous,
Sur une webapp (JDBC Oracle 10g), nous avons remarqué qu'un rollback
est systématiquement exécuté après un select... en read-only.
Quelqu'un a-t-il un retour d'expérience sur ce point ? Cela ne
n'implique-t-il pas que des transactions sont ouvertes pour ces
lectures, auquel cas ce pourrait être préjuciciable aux accès
concurrents ?
Question subsidiaire : quand on a compris et soupesé ce comportement,
comment peut-on le paramétrer ? Il ne me semble pas que cela soit en
rapport avec le paramètre d'autorollback du driver, il n'y a pas
d'exceptions, il s'agit pour notre analyse de traces informelles.
Merci de vos lumières, Thomas.
J'ai trouvé ceci :
http://www.oracle.com/technology/oramag/oracle/05-nov/o65asktom.html
On y explique que les transactions sont utilisées pour tamponner le
résultat des requêtes pour assurer que le contenu corresponde bien au
moment où l'on a fait l'extraction. Voilà pourquoi on a des rollback ;
c'est la fermeture de la transaction.
Du coup, s'agissant de tables en lecture seule, je pense que nous
allons tenter de passer l'isolation level de la connextion en "read
uncommited".
Si vous avez d'autres réflexions, n'hésitez pas !
Sur une webapp (JDBC Oracle 10g), nous avons remarqué qu'un rollback est systématiquement exécuté après un select... en read-only.
Quelqu'un a-t-il un retour d'expérience sur ce point ? Cela ne n'implique-t-il pas que des transactions sont ouvertes pour ces lectures, auquel cas ce pourrait être préjuciciable aux accès concurrents ?
Question subsidiaire : quand on a compris et soupesé ce comportement, comment peut-on le paramétrer ? Il ne me semble pas que cela soit en rapport avec le paramètre d'autorollback du driver, il n'y a pas d'exceptions, il s'agit pour notre analyse de traces informelles.
Merci de vos lumières, Thomas.
J'ai trouvé ceci : http://www.oracle.com/technology/oramag/oracle/05-nov/o65asktom.html On y explique que les transactions sont utilisées pour tamponner le résultat des requêtes pour assurer que le contenu corresponde bien au moment où l'on a fait l'extraction. Voilà pourquoi on a des rollback ; c'est la fermeture de la transaction.
Du coup, s'agissant de tables en lecture seule, je pense que nous allons tenter de passer l'isolation level de la connextion en "read uncommited". Si vous avez d'autres réflexions, n'hésitez pas !