PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 23/04/2014 16:04:43

Xav1er
Membre

problème de droit sur pg_class pour runMTK

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

#2 23/04/2014 21:35:05

gleu
Administrateur

Re : problème de droit sur pg_class pour runMTK

Comment peut-on vous répondre quand on ne sait pas ce que fait runMTK.bat ?

Hors ligne

#3 24/04/2014 09:54:06

Xav1er
Membre

Re : problème de droit sur pg_class pour runMTK

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

#4 24/04/2014 11:00:58

ruizsebastien
Membre

Re : problème de droit sur pg_class pour runMTK

Bonjour,

Vous pouvez utiliser cet excellent outil :ora2pg
http://ora2pg.darold.net/

Hors ligne

#5 24/04/2014 11:01:50

arthurr
Membre

Re : problème de droit sur pg_class pour runMTK

Pour la migration d'Oracle vers Pg (données, schémas, ...) = ora2pg
le lien : http://ora2pg.darold.net/

Hors ligne

#6 24/04/2014 11:21:53

Xav1er
Membre

Re : problème de droit sur pg_class pour runMTK

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

#7 24/04/2014 12:03:55

rjuju
Administrateur

Re : problème de droit sur pg_class pour runMTK

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 ?

Hors ligne

#8 24/04/2014 14:00:55

Xav1er
Membre

Re : problème de droit sur pg_class pour runMTK

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

#9 24/04/2014 16:16:52

rjuju
Administrateur

Re : problème de droit sur pg_class pour runMTK

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.

Hors ligne

#10 28/04/2014 14:25:24

Xav1er
Membre

Re : problème de droit sur pg_class pour runMTK

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

#11 28/04/2014 15:00:10

arthurr
Membre

Re : problème de droit sur pg_class pour runMTK

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

#12 09/05/2014 10:43:39

gilles
Membre

Re : problème de droit sur pg_class pour runMTK

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

#13 14/05/2014 10:23:32

Xav1er
Membre

Re : problème de droit sur pg_class pour runMTK

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

#14 15/05/2014 16:56:19

Xav1er
Membre

Re : problème de droit sur pg_class pour runMTK

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

#15 15/05/2014 21:44:29

gleu
Administrateur

Re : problème de droit sur pg_class pour runMTK

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 smile

Hors ligne

#16 15/05/2014 23:23:05

rjuju
Administrateur

Re : problème de droit sur pg_class pour runMTK

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.

Hors ligne

#17 16/05/2014 13:11:44

Xav1er
Membre

Re : problème de droit sur pg_class pour runMTK

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

Pied de page des forums