| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| ora2pg [Le 29/07/2009, 12:38] – coquille kwakosaure | ora2pg [Le 01/09/2022, 00:06] (Version actuelle) – 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) moths-art |
|---|
| {{tag>oracle postgresql sgbd}} | {{tag>sgbd BROUILLON}} |
| |
| ---- | ---- |
| ====== 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. |
| |
| 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. | 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. |
| |
| Le contributeur principal est [[http://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]]. | 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. | 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é exclusivement par Oracle. | 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 packages sans avoir à passer par une étape de compilation. | On peut cependant assez simplement installer ces paquets sans avoir à passer par une étape de compilation. |
| |
| ===== Pré-requis ===== | ===== Pré-requis ===== |
| ===== 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 |
| |
| Puis installer le .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 Ubuntu. On le trouve chez Debian à l'adresse [[http://ftp.debian.org/debian/pool/contrib/libd/libdbd-oracle-perl/]]. |
| |
| sudo dpkg -i oracle-instantclient-basic_10.2.0.3-2_i386.deb | Pour l'installer : |
| |
| 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/ | sudo gdebi libdbd-oracle-perl_1.21-2_i386.deb |
| |
| Ensuite l'installer : | Et enfin, on peut installer [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://ora2pg|ora2pg]]**. |
| |
| sudo dpkg -i libdbd-oracle-perl_1.21-2_i386.deb | <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> |
| |
| | ===== Utilisation ===== |
| |
| Et enfin, on peut installer [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://ora2pg|ora2pg]]** | 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 : |
| |
| | ora2pg ora2pg.conf |
| |
| 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. | On obtient en retour un fichier « output.sql » compatible avec PostgreSQL. |
| |
| ===== Utilisation ===== | Principales options du fichier : |
| |
| bientôt ... | <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> |
| |
| //Contributeurs principaux : [[utilisateurs:kwakosaure|kwakosaure]].// | |
| |
| | ===== Limitations ===== |
| | |
| | FIXME |
| | |
| | ===== Voir aussi / Liens ===== |
| | |
| | * [[http://pgfoundry.org/projects/ora2pg/|Site officiel]] |
| | * FIXME |
| | |
| | ---- |
| |
| | //Contributeur principal : [[utilisateurs:kwakosaure|kwakosaure]].// |