Select for update nowait skip locked en oracle 11
Bonsoir,
Dans le cadre de mon boulot, je dois organiser la migration de mon application d'Oracle 10 vers Oracle 11 et quelques queries ont la syntaxe
Citation:
select ... where rownum < 50 for update nowait skip locked.
Le but de cette instruction est de pouvoir faire du traitement en parallèle sur plusieurs noeuds applicatifs (le 1er noeud traite les 50 premiers records, le noeuds 2 les 50 suivants mais en même temps ...).
Cependant, cette combinaison de mot clefs n'est plus supportée par Oracle 11 (mais bien en Oracle 10).
D'après des premiers tests, il semble que même en Oracle 10, le comportement n'est pas celui attendu (mais ça doit encore être confirmé demain), les 1er tests montrent qu'à cause du rownum, la première instance lock bien 10 records, mais les instances suivantes ne lock rien, Oracle lit les données, mais ne sait pas locké et donc ne retoune aucune donnée.
Auriez vous une solution pour résoudre ce problème?
Faire en sorte qu'en cas de select for update sur 2 noeuds applicatifs, les 2 noeuds puissent locker des données?
Merci d'avance