Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ora2pg [Le 29/07/2009, 12:27]
kwakosaure
ora2pg [Le 01/09/2022, 00:06] (Version actuelle)
moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>oracle postgresql ​sgbd}}+{{tag>​sgbd ​BROUILLON}}
  
 ---- ----
Ligne 5: Ligne 5:
 ====== ORA2PG ====== ====== ORA2PG ======
  
-ORA2PG est un outil facilitant la migration des bases de données Oracle vers Postgresql+**ORA2PG** est un outil facilitant la migration des bases de données Oracle vers PostgreSQL. 
-Bien que présent dans les dépôts Multiverse d'​ubuntu,​ il n'est pas installable. Ceci fait d'​ailleurs l'​objet d'un [[https://​bugs.launchpad.net/​ubuntu/​+source/​ora2pg/​+bug/​316437|rapport de bug]] sur launchpad+ 
-En effet, il dépend du module ​perl libdbd-oracle-perl dépendant du package ​oracle-instantclient-basic (la couche de connexion propriétaire) qui n'est pas disponible dans les dépôts car délivré ​par exclusivement par Oracle. +L'​outil permet de migrer l'​ensemble des éléments d'une base Oracle, et les dernières versions peuvent même transformer une partie du code PL/SQL en PLPGSQL. 
-On peut cependant assez simplement installer ces packages ​sans avoir à passer par une étape de compilation.+ 
 +Le contributeur principal est [[https://​www.darold.net/​|Gilles Darold]] et on peut noter qu'une des références ayant fait un usage d'​ora2pg est [[http://​www.bull.com/​bulldirect/​N9/​expert.html|le groupe Bull]]. 
 + 
 +Bien que présent dans les dépôts Multiverse d'​ubuntu,​ il n'est pas installable. Ceci fait d'​ailleurs l'​objet d'un [[https://​bugs.launchpad.net/​ubuntu/​+source/​ora2pg/​+bug/​316437|rapport de bug]] sur Launchpad
 +En effet, il dépend du module ​Perl **libdbd-oracle-perl** dépendant du paquet **oracle-instantclient-basic** (la couche de connexion propriétaire) qui n'est pas disponible dans les dépôts car délivré exclusivement par Oracle. 
 +On peut cependant assez simplement installer ces paquets ​sans avoir à passer par une étape de compilation.
  
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 20: Ligne 25:
 ===== Installation ===== ===== Installation =====
  
-Tout d'​abord,​ il nous faut récupérer le package rpm oracle-instantclient-basic-10.2.0.3-1.i386.rpm sur le site d'oracle ​[[http://​www.oracle.com/​technology/​software/​tech/​oci/​instantclient/​htdocs/​linuxsoft.html|cette adresse]]+Tout d'​abord,​ il nous faut récupérer le paquet RPM **oracle-instantclient-basic-10.2.0.3-1.i386.rpm** sur le site d'Oracle à [[http://​www.oracle.com/​technology/​software/​tech/​oci/​instantclient/​htdocs/​linuxsoft.html|cette adresse]].
  
-Ensuite, transformer à l'aide de l'​utilitaire ​alien ce package .rpm en .deb+Ensuite, transformerà l'aide de l'​utilitaire ​[[Alien]], ​ce paquet RPM en paquet Debian et l'​installer directement :
  
-  sudo alien oracle-instantclient-basic-10.2.0.3-1.i386.rpm+  sudo alien -i oracle-instantclient-basic-10.2.0.3-1.i386.rpm
  
-  sudo dpkg -oracle-instantclient-basic_10.2.0.3-2_i386.deb+On peut maintenant [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **libdbd-oracle-perl** qui n'est pas présent dans les dépôts UbuntuOn le trouve chez Debian à l'​adresse [[http://​ftp.debian.org/​debian/​pool/​contrib/​libd/​libdbd-oracle-perl/]].
  
-On peut maintenant installer le package libdbd-oracle-perl qui n'est pas présent dans les dépôts ubuntu. On le trouve chez debian à l'adresse http://​ftp.debian.org/​debian/​pool/​contrib/​libd/​libdbd-oracle-perl/​+Pour l'installer ​:
  
-Ensuite l'​installer :+  sudo gdebi libdbd-oracle-perl_1.21-2_i386.deb
  
-  sudo dpkg -i libdbd-oracle-perl_1.21-2_i386.deb+Et enfin, on peut installer [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt://​ora2pg|ora2pg]]**.
  
 +<​note>​La version de ora2pg disponible dans les dépôts est 4.9-1. Vous trouverez une version plus récente sur le [[http://​pgfoundry.org/​projects/​ora2pg/​|site officiel]] du logiciel.</​note>​
  
-Et enfin, on peut installer [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt://​ora2pg|ora2pg]]**+===== Utilisation =====
  
 +Il suffit de modifier un fichier de configuration sur le modèle fourni par le logiciel (''​ora2pg.conf''​) et lancer ora2pg avec ce fichier de configuration en paramètre :
  
-NB : la version de ora2pg ​disponible dans les dépôts est 4.9-1. Vous trouverez une version plus récente sur le [[http://​pgfoundry.org/​projects/​ora2pg/|site officiel]] du logiciel.+  ​ora2pg ora2pg.conf
  
-===== Utilisation =====+On obtient en retour un fichier « output.sql » compatible avec PostgreSQL.
  
-bientôt ...+Principales options du fichier :
  
-//Contributeurs principaux ​[[utilisateurs:kwakosaure|kwakosaure]].//+<​file>​ 
 +ORACLE_HOME /usr/local/​oracle/​10.2.0.3 #chemin d'​installation d'​oracle-instantclient-basic 
 +ORACLE_DSN dbi:Oracle:host=localhost;​sid=xe # chaine de connexion Oracle 
 +ORACLE_USER system 
 +ORACLE_PWD manager 
 +SCHEMA SCOTT # schéma Oracle cible, en majuscules 
 +TYPE TABLE SEQUENCE DATA PACKAGE FUNCTION PROCEDURE TRIGGER # types d'​objets à extraire séparés par des espaces 
 +OUTPUT SCOTT_all.sql # fichier sql de sortie, mettre SCOTT_all.sql.bz2 pour l'​obtenir compressé 
 +FKEY_DEFERRABLE 1 # permet de créer les enregistrements sans que les Foreign Key bloquent le chargement 
 +DEFER_FKEY 1 # permet de créer les enregistrements sans que les Foreign Key bloquent le chargement 
 +PLSQL_PGSQL 1 # Pour transformer le code PL/SQL en PLPGSQL 
 +</file>
  
  
 +===== Limitations =====
 +
 +FIXME
 +
 +===== Voir aussi / Liens =====
 +
 +  * [[http://​pgfoundry.org/​projects/​ora2pg/​|Site officiel]]
 +  * FIXME
 +
 +----
 +
 +//​Contributeur principal : [[utilisateurs:​kwakosaure|kwakosaure]].//​
  • ora2pg.1248863220.txt.gz
  • Dernière modification: Le 29/07/2009, 12:27
  • par kwakosaure