Nous venons tout juste de cela, bien que nous deux elle a intensifié - a de 9 à 10 l'an dernier, puis 10 à 11 cette année. Je vais essayer de rappeler de mémoire ce que nous avons trouvé:
A. Si vous avez des requêtes avec un GROUP BY vous voudrez ajouter un ORDER BY correspondant, comme les nouvelles versions d'Oracle ne tombent pas (généralement) dans un TRI SORT pendant le traitement GROUP BY. En d'autres termes, s'il y a une requête comme
SELECT * FROM SOME_TABLE
GROUP BY FIELD_1, FIELD_2
vous voulez changer cela
SELECT * FROM SOME_TABLE
GROUP BY FIELD_1, FIELD_2
ORDER BY FIELD_1, FIELD_2
B. Je vous suggère de conserver une copie de votre base de données 9.x autour pendant un certain temps si vous pouvez comparer le plan généré sous 9 à celui généré sous 11. L'optimiseur dans 11.x peut évaluer certaines requêtes très différemment de 9.x ou 10.x. Nous avons constaté que l'une de nos requêtes les plus volumineuses que nous avions indiquées de manière appropriée pour la version 10.x fonctionnait très lentement sous 11.x. Après un après-midi où les développeurs et les administrateurs de bases de données se sont arraché les cheveux, nous avons constaté que l'indice ORDERED restituait le plan et la performance d'origine.
C. Si vous avez un code qui est explicitement la création d'utiliser l'optimiseur basé sur des règles en faisant quelque chose comme
alter session set optimizer_goal = rule
vous obtiendrez une erreur indiquant que l'optimiseur fondé sur des règles est obsolète .
D. Le code PL/SQL qui crée une collection mais qui ne l'initialise pas peut fonctionner sous 9.x mais échouera sous 11.x. Un exemple serait
TYPE tMyArray IS VARRAY(100) OF VARCHAR2(100);
arrMyArray tMyArray; -- <-- uninitialized array
Pour résoudre ce problème, vous devez modifier la déclaration variable
arrMyArray tMyArray := tMyArray('');
A titre de référence, le 9 -> 10 mise à niveau était le plus de travail. 10 -> 11 était à peu près une évidence (à l'exception de quelques requêtes qui ont eu des problèmes - voir B).
Merci, c'est vraiment une bonne information. Appréciez-le! – Nicsoft