Différences
Ci-dessous, les différences entre deux révisions de la page.
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:35] 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. |
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é par 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 ===== | ||
Ligne 25: | 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 |
- | 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]].// |