2009-02-05 5 views
3

Nous avons une application (enfin, 3) qui utilise Oracle 9i, mais celle-ci est en fin de vie et nous devons passer à une autre plate-forme - Oracle 11 ou Postgress étant les plus évidents.Portage d'une application d'Oracle 9 vers Oracle 11 - gottchas?

J'ai entendu des commentaires à l'effet que le portage de 9i à 11 n'est pas simple, mais personne ici ne peut confirmer dans un sens ou dans l'autre. Je ne suis pas trop préoccupé par "oh, le moteur de plan de requête a changé", je suis plus préoccupé par "cette fonctionnalité n'est plus là". Aucune des applications n'est complexe - ce sont des choses de base dans le SQL côté client (et une grande routine de recherche multi-tables, mais nous allons réécrire cela en utilisant Lucene de toute façon), ou la même chose en PL/SQL . Postgress n'est apparu comme une cible probablement plus facile et moins chère à porter, mais le coût de la licence est compensé par le coût de la formation pour nos DBA.

Des commentaires d'expérience ont été appréciés.

+0

Pourquoi ne pas essayer vous-même? Vous pouvez télécharger et utiliser 11g pour le développement gratuitement. – zendar

+0

Je sais, mais nous sommes à court de temps, donc après quelque chose comme "Je l'ai fait, c'était ok", ou "d00d, vous êtes tellement foutu". :) –

+0

Merci pour les deux réponses - marqué René est correct seulement parce qu'il (s) il a moins rep (ie, trouverait le rep utile). Je ne peux pas marquer les deux correctement: (merci à vous deux.) –

Répondre

3

Quelques choses à noter:

  • CREER privilège VIEW fait partie du rôle CONNECT dans 9i. Mais pas dans 10g. Probablement aussi en 11G. Vous pouvez ajouter une subvention à vos scripts d'installation.
  • 11G a des mots de passe sensibles à la casse. Donc, si vous vous trouvez incapable de se connecter cela peut être le problème.
1

Bien l'optimiseur de base de règles a disparu ou presque disparu, donc les plans de requête changent en effet.

Mais les fonctionnalités manquantes ... Je ne sais pas. Vous devriez appeler les mecs et les dudettes qui vous ont parlé des fonctionnalités manquantes pour soutenir cette déclaration. Demandez-leur quelles sont les fonctionnalités manquantes?

Je ne serais pas surpris s'ils ne pouvaient pas donner d'exemples.

5

Voici un livre blanc utile d'Oracle sur certains des changements entre 9i et 10g qui vous initieront: http://www.oracle.com/technology/products/bi/db/10g/pdf/twp_bidw_optimizer_10gr2_0208.pdf

La documentation fixe pour 10g et 11g vous donnera une liste très complète des nouveaux et désapprouvée fonctionnalités et du comportement par défaut modifié. par exemple. http://download.oracle.com/docs/cd/B28359_01/readmes.111/b28280/toc.htm#BABGIGDC

+0

Merci beaucoup, je vais leur donner une relecture avant de commencer, merci beaucoup –

1

Il y avait quelques changements aux privilèges requis pour des choses comme UTL_HTTP pour renforcer la sécurité. Mais vraiment, il n'y a rien qui pourrait casser qui ne peut pas être réparé assez facilement. La dernière chose qu'Oracle veut faire est de casser les applications déjà en cours d'exécution sur leur base de données.

Si vous avez déjà payé pour les licences Oracle, le gros coût a déjà été engagé. Vos coûts de maintenance et de support technique peuvent être inférieurs pour Postgres, mais vous souhaitez quand même payer pour une assistance le jour où la base de données tombe en panne et que la récupération à partir de la sauvegarde ne se déroule pas comme prévu.

PS. Avez-vous regardé la fonctionnalité Oracle Text intégrée par opposition à Lucene?

+0

Non, nous n'avons pas regardé Oracle FTI, mais si c'est bon, il Sera le premier dans l'industrie - tous les autres que j'ai vus sont scandaleusement mauvais, mais le regarderont Actuellement, il est juste SQL, mais très inflexible –

2

Quelque chose qui nous a frappé:

Entre 9i et 10g le comportement de commande de changement DISTINCT.

En 9i, vous pouvez écrire

SELECT DISTINCT X 
FROM Y; 

et les lignes reviendraient ordonnée par X (clairement que vous auriez dû inclure une clause « ORDER BY X », mais parfois les gens ont oublié parce qu'il a travaillé sans).

Ce n'est pas le cas dans 10g ... l'implémentation de DISTINCT a changé et les lignes reviendront normalement de manière non ordonnée.

(Assez facile à réparer une fois que vous avez trouvé le code incriminé.)

+0

Merci - Je vais m'assurer qu'ils vérifient pour cela :) –

Questions connexes