|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Je viens d'installer Oracle 11g R2 sur mon PC de développement.
J'ai dumpé la base d'un ERP pour pouvoir travailler en local. Et je me suis rendu compte que nombre de fonctions ne marchaient plus du tout. En creusant un peu, nombre de requête utilisant un "OR" font n'importe quoi. Plutôt qu'un long discours, voici un exemple que vous pouvez aisément reproduire : Code :
Y'a un paramètre à (dés)activer pour qu'Oracle sache faire de l'algèbre de Boole ? |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Effectivement ce serait un gros bogue.
Je ne le reproduis pas en 11.1.0.7.0. Que donne cette requête : Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Pourriez-vous exécuter la dernière requête en qualifiant la table dual avec sys ? Je testerai plus tard.
|
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Ca donne ceci :
Code :
|
||
|
|
00
|
|
|
#5 | |||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#6 | ||
![]() ![]() |
Encore un test, sans les parenthèses :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#7 | |||||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Histoire d'être sûr que c'était pas un truc déconnant dans mon schéma, j'ai tenté ça :
Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Bon, en attendant mieux, je suis en train de télécharger la dernière version...
Mais bon, je ne m'attends pas à des miracles, j'ai dû télécharger ma version actuelle il y a moins de 2 mois, et d'après le site, c'est toujours la même version |
|
|
00
|
|
|
#10 | ||||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Houla, c'est vrai
![]() Code :
Code :
|
||||
|
|
10
|
|
|
#11 | ||||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Comme d'habitude ça marche en mode RULE
Code :
Code :
|
||||
|
|
00
|
|
|
#12 | |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Je pense que le problème se trouve ici
Citation:
|
|
|
|
40
|
|
|
#13 |
|
Membre Expert
![]() ![]() Franck PachotDBA Oracle Inscription : novembre 2007 Messages : 703 ![]() |
Bonjour,
Ca ressemble au bug: Bug 9495697 Wrong results with OR predicates on same column Changer l'ordre des prédicats peut changer les choses Le workaround: alter system set "_fix_control"='5400639:OFF' pour désactiver la feature qui a introduit une régression... Cordialement, Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
|
|
40
|
|
|
#14 | ||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Merci infiniment, ça fonctionne :
Code :
Je vous tiendrai au courant demain si ça change réellement quelque chose sur l'ensemble du logiciel sur lequel je travaille... En tout cas, il y a de fortes chances. Merci merci !
|
||
|
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Juste une petite précision, pour qu'un alter system soit pérenne quelque soit les méthodes de redémarrage, il faut qu'il soit suivi d'un scope both afin de mettre à jour à la fois le pfile et le spfile :
Code :
ALTER system SET "_fix_control"='5400639:OFF' scope BOTH Code :
|
||
|
|
00
|
|
|
#16 | |
![]() Inscription : décembre 2002 Messages : 2 387 ![]() |
Citation:
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
|
00
|
|
|
#17 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
En effet
Il voulait surement dire : le spfile et la valeur courante |
|
|
00
|
|
|
#18 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Oups désolé pour l'erreur, c'est ce qui arrive quand un développeur parle de truc de DBA...
Donc ça veut dire qu'après un scope=both il faut regénérer le pfile depuis le spfile, ou cette étape est elle généralement inutile ? |
|
|
00
|
|
|
#19 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
le pfile peut même être supprimé si tu utilises un spfile
|
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Juste un petit coucou pour dire que la solution proposée fonctionne parfaitement.
L'ensemble des développeurs de ma boîte (et moi-même évidement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com