IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Migration automatique Oracle vers postgreSQL


Sujet :

PostgreSQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut Migration automatique Oracle vers postgreSQL
    Bonjour à tous,
    Je suis débutant en PosgreSQL et je voudrais effectuer une migration automatique d’une application d’Oracle vers PostgreSQL. L’application a été développée en java avec WebObject, et utilise plusieurs fonctions, procédures, triggers,… implémentés dans Oracle. La base Oracle contient environ 500 tables et plus de 200 fonctions, procédures, triggers, etc.… d’où la nécessité d’une automatisation au max. Mon travail dans un premier temps consiste à réaliser une étude de faisabilité de la migration et de proposer des solutions.
    Des études ont été menées dessus en 2008 par des étudiants qui ont conclus d’OraToPg n’était pas encore près pour une telle migration.
    • Existerait-il d’autres outils de migration fiable ?
    • Quelles sont les difficultés généralement rencontrées dans un tel exercice ?
    • Quelles pourraient être les étapes d’une telle migration ?
    • Pourrais-je avoir des documents d’expériences de migration ?

    Merci

    Williams

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 996
    Billets dans le blog
    6
    Par défaut
    Ne rêvez pas, il n'existe AUCUN outil capable de faire cela....

    Citation Envoyé par tchasp Voir le message
    Bonjour à tous,
    Je suis débutant en PosgreSQL et je voudrais effectuer une migration automatique d’une application d’Oracle vers PostgreSQL. L’application a été développée en java avec WebObject, et utilise plusieurs fonctions, procédures, triggers,… implémentés dans Oracle. La base Oracle contient environ 500 tables et plus de 200 fonctions, procédures, triggers, etc.… d’où la nécessité d’une automatisation au max. Mon travail dans un premier temps consiste à réaliser une étude de faisabilité de la migration et de proposer des solutions.
    Des études ont été menées dessus en 2008 par des étudiants qui ont conclus d’OraToPg n’était pas encore près pour une telle migration.
    • Existerait-il d’autres outils de migration fiable ?
    Non et jamais !
    • Quelles sont les difficultés généralement rencontrées dans un tel exercice ?
    Différence de type de données...
    Différence de langage (SQL étant perméable à des spécificités des éditeurs). Donc requêtes à récrire...
    Différence de codage dans les fonction, triggers et procédures...
    Différence fonctionnelles (par exemple Oracle utilise la récursivité avec un truc spécifique CONNECT BY PRIOR alors que PostGreSQL utilise la voie normative avec les CTE).
    Et pour couronner le tout, différence fonctionnelle en matière de niveau d'isolation des transactions....

    • Quelles pourraient être les étapes d’une telle migration ?
    1) migrer le modèle de la base avec un outil de rétro conception comme Power AMC.
    2) récrire toutes les requêtes
    3) récrire tous les déclencheurs
    4) récrire toutes les fonctions
    5) récrire toutes les procédures
    6) vérifier le transactionnement
    7) tester et livrer en béta version

    • Pourrais-je avoir des documents d’expériences de migration ?
    Là vous me demandez plusieurs heures de boulot... Que je tarife 200 € HT de l'heure !!!!

    Si c'est une grosse application, j'étudierais sérieusement le coût d'une telle opération qui peut s'avérer beaucoup plus cher que de s'offrir quelques licences Oracle. Mais si c'est du long terme, c'est différent.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    A noter que EntrepriseDB vend une version de PostgreSQL nommée "Postgres Plus Advanced Server" orientée vers les migrations Oracle.
    Voir (en anglais): http://www.enterprisedb.com/solutions/oramig.do

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut
    Merci Frédéric, merci estofilo pour ses informations et conseils. vous me semblez avoir de l'expérience. je vais commercer par faire un inventaire du code. Connaissez vous des méthodologies pour y parvenir avec un meilleur résultat?

  5. #5
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Tu peux aussi rajouter :

    - fonctions / syntaxes spécifiques à Oracle qui n'ont pas toujours d'équivalent sur postgresql : decode/coalesce, jointure ouverte (+), rôles-privilèges-grants, types de données large objects, transactions autonomes, ...

    - différences de comportement (gestion des transactions, ordre de tri différent selon la casse, gestion différente des NULL, optimiseur et plans d'exécution à recetter, différences de respect de la norme SQL, ...)

    Pour migrer le modèle, effectivement un outil de reverse-engeenering est le plus simple.
    Pour migrer les données, un outil ETL qui fait ça en one-shot ou un export de chaque table Oracle en fichier plat CSV, puis import dans Postgresql avec l'utilitaire COPY

    Si ton appli a au moins 200 fonctions/triggers, ça peut être long et fastidieux (donc cher) de tout réécrire en PL/PgSQL, tester, recetter ... Ca fait partie des coûts cachés d'une migration vers l'open-source
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut
    Merci scheu, j'ajouterai tous cela à mon étude.

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/06/2014, 17h16
  2. Migration procédures stockées : Oracle vers Postgresql
    Par vingohan dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 04/06/2014, 22h18
  3. migration de oracle vers sql server 2005 - linked server
    Par aemag dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/10/2006, 15h31
  4. [SGBD] Migration de mysql vers PostgreSQL ?
    Par haffouff dans le forum SQL Procédural
    Réponses: 12
    Dernier message: 25/05/2006, 15h29
  5. Problème de traduction de SQL Oracle vers PostgreSQL
    Par Montaigne dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/04/2006, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo