Vous n'êtes pas identifié(e).
Pages : 1
runMTK.bat -tables TABLE1,TABLE2 -dataOnly monschema
-> ok
runMTK.bat -tables TABLE3 -dataOnly monschema
-> ko : ERREUR: droit refusÚ pour la relation pg_class
Comment je peux avoir l'erreur pour une table et pas pour d'autres ?
Comment corriger ce problème ?
Hors ligne
Comment peut-on vous répondre quand on ne sait pas ce que fait runMTK.bat ?
Guillaume.
Hors ligne
Ah, pardon, pardon ;-)
En fait, quand j'ai cherché un outil de transfert de données d'Oracle vers pg, j'ai de suite trouvé EnterpriseDB Tools sur http://www.enterprisedb.com. Comme c'est simple et gratuit, j'ai pensé que c'était l'outil de référence que tout le monde utilise.
Je vois que non.
Alors quel est l'outil le plus simple de transfert qui serait l'outil de "reférence" ?
Hors ligne
Bonjour,
Vous pouvez utiliser cet excellent outil :ora2pg
http://ora2pg.darold.net/
Cordialement,
Sébastien.
Hors ligne
Pour la migration d'Oracle vers Pg (données, schémas, ...) = ora2pg
le lien : http://ora2pg.darold.net/
Hors ligne
Merci, mais je viens de regarder un peu, et je ne suis pas sur que l'outil soit en cause. En fait, c'est un et un seul champ qui me pose problème : j'ai dans Oracle un champ de type raw.
L'outil m'a créé une table pg avec ce champ au format bytea.
Mais j'ai l'erreur lors du transfert des données.
Est ce qu'il y a des difficultés particulières à manipuler des champs binaires ?
Dernière modification par Xav1er (24/04/2014 11:22:27)
Hors ligne
Bytea est un tableau d'octet, on peut donc y mettre ce qu'on veut. La seule contrainte étant d'avoir moins d'1 Go par champ.
Quelles sont les erreurs associées dans vos logs postgres ?
Julien.
https://rjuju.github.io/
Hors ligne
J'ai ça :
2014-04-24 13:58:03 CEST ERREUR: droit refusé pour la relation pg_class
2014-04-24 13:58:03 CEST INSTRUCTION : update pg_catalog.pg_class set relhasindex = 'f' where oid = 'monschema.table3'::pg_catalog.regclass
Hors ligne
Il semblerait que ce problème modifie le catalogue système de la base, ce qui nécessite d'être super utilisateur et ce qui est généralement une mauvaise idée. Utilisez un role superutilisateur si vous avez confiance en ce logiciel, sinon rapprochez-vous du support de runMTK ou essayez ora2pg.
Julien.
https://rjuju.github.io/
Hors ligne
Je n'ai pas réussi à installer correctement ora2pg.
Je suis sous windows avec Cygwin.
les commandes d'installation perl, make && make install se sont correctement déroulées, mais quand je lance ora2pg, j'ai l'erreur :
Can't locate DBI.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/site_perl/5.14 /usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/vendor_perl/5.14 /usr/lib/perl5/5.14/i686-cygwin-threads-64int /usr/lib/perl5/5.14 /usr/lib/perl5/site_perl/5.10 /usr/lib/perl5/vendor_perl/5.10 /usr/lib/perl5/site_perl/5.8 .) at /usr/lib/perl5/site_perl/5.14/Ora2Pg.pm line 29.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.14/Ora2Pg.pm line 29.
Compilation failed in require at /usr/local/bin/ora2pg line 30.
BEGIN failed--compilation aborted at /usr/local/bin/ora2pg line 30.
Du coup, je n'ai pas eu envie de me battre avec ça. J'ai mis les droits à mon utilisateur, et jai utilisé l'outil que j'avais trouvé au début ...
Hors ligne
Can't locate DBI.pm
Il a besoin de DBI (ainsi que du DBD::Oracle je suppose) pour se connecter à la base de données : se sont les lib de connexion standard en perl
http://search.cpan.org/~timb/DBI-1.631/DBI.pm
http://search.cpan.org/~pythian/DBD-Ora … /Oracle.pm
Hors ligne
Bonjour,
Il n'est pas nécessaire d'utiliser cygwin pour installer Ora2Pg. La procédure d'installation est décrite dans le fichier README du paquet ora2pg. Il faut prendre soins de lire la rubrique INSTALLATION en entier, les infos sur l'installation sous Windows sont éparses.
Sinon, la plupart des échecs d'installation sous Windows sont imputable à la partie DBD::Oracle, il est clair que si l'on est pas habitué à l'installation de module Perl et la compilation cela peut être rébarbatif. La meilleur solution dans ce cas, si linux ne peux pas être utilisé bien sur, c'est d'installer le Perl d'ActiveState, ils ont un module DBD::Oracle précompilé ce qui simplifie grandement l'installation.
Désolé pour le retard de réponse.
Cordialement,
Hors ligne
bonjour,
En fait, j'avais déjà Cygwin installé sur ma machine. Site à vos remarques, j'ai regardé dans la liste des packages disponibles, ora2pg n'y est pas (dommage), mais dans la cathégorie databases, je vois perl:DBI (il est aussi accessible depuis la cathégorie perl). Je l'ai installé, et plus d'erreur :-)
Enfin, je ne l'ai pas encore utilisé pour transférer des données, mais au moins, quand je tape ora2pg, j'ai bien un rappel de l'usage.
Donc, pour ceux que ça interresse de faire fonctionner ora2pg avec cygwin, c'est très simple :
installer cygwin avec make (qui n'est pas par defaut !), perl et perl:DBI.
Puis les commandes pour unix/linux :
tar xzf ora2pg-10.x.tar.gz
cd ora2pg-10.x/
perl Makefile.PL
make && make install
Hors ligne
En fait non ...
J'ai mis un fichier de conf et ora2pg donne :
Can't locate DBD/Oracle.pm
Sauf qu'il n'y a pas de package tout préparé comme pour d'autres produits dans cygwin ...
Hors ligne
Oui, il faut le connecteur Oracle pour Perl. Ainsi que les instantclients Oracle. C'est déjà passablement compliqué à installer sous Linux... alors sous Windows, c'est clairement hors de ma portée
Guillaume.
Hors ligne
D'après le message de gilles :
La meilleur solution dans ce cas, si linux ne peux pas être utilisé bien sur, c'est d'installer le Perl d'ActiveState, ils ont un module DBD::Oracle précompilé ce qui simplifie grandement l'installation.
Julien.
https://rjuju.github.io/
Hors ligne
Je crois que j'ai réussi :
perl -MCPAN -e shell
get DBD::Oracle
quit
cd /home/Xavier/.cpan/build/DBD-Oracle-1.74-Vp3xUv/
perl Makefile.PL
......
OCI directory not found, please install OCI in /cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live at Makefile.PL line 324.
ORACLE_HOME=/cygdrive/c/app/Xavier/product/11.2.0/dbhome_1/
export ORACLE_HOME
perl Makefile.PL
....
make
...........
/bin/sh: gcc-4 : commande introuvable
Makefile:407: recipe for target 'Oracle.o' failed
make: *** [Oracle.o] Error 127
ln -s /usr/bin/gcc.exe /usr/bin/gcc-4
ln -s /usr/bin/gcc.exe /usr/bin/g++-4
make
....
make install
...
Ca a l'air ok, mais j'ai des problème de conf Oracle à régler (SID).
Hors ligne
Pages : 1