IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Import/Export Oracle Discussion :

Export en 8i à partir d'une base 9i


Sujet :

Import/Export Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut Export en 8i à partir d'une base 9i
    Bonjour à tous,

    j'aimerais savoir s'il est possible d'exporter des tables d'une base 8i à partir d'une base 9i via un dblink.

    Je suis sur une AIX 5.3 avec une base 9i 64 bits et je souhaite à partir d'un répertoire exécuter la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exp user8i/pass8i@base8i PARFILE=toto.dat
    sachant que j'ai bien "base8i" dans mon tnsname.ora et qu'il désigne une 8i sur un serveur AIX 4.3 distant.

    Mon dblink fonctionne bien, je pe faire un select sur la base 8i.

    L'erreur que j'obtiens est la suivante :
    Export: Release 9.2.0.1.0 - Production on Wed Aug 13 10:18:08 2008

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


    Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.4.0 - Production
    EXP-00056: ORACLE error 942 encountered
    ORA-00942: table or view does not exist
    EXP-00000: Export terminated unsuccessfully
    Le pb ici c'est que j'utilise l'export version 9i...y'a t-il une option qui force l'export en 8i?

    Je dois procéder comme ça car il n'y a pas assez de place sur le serveur où j'ai ma 8i pour créer les dump, l'idée est donc de passer par dblink.

    Merci de votre aide

    Cat

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    J'ai essayé de faire l'export sur le serveur AIX 4.3, donc en me connectant à la base 8i directement et là ça fonctionne.

    commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    imp user8i/pass8i PARFILE=toto.dat
    résultat :
    Export: Release 8.1.7.4.0 - Production on Wed Aug 13 17:07:09 2008

    (c) Copyright 2000 Oracle Corporation. All rights reserved.


    Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.4.0 - Production
    Export done in US7ASCII character set and WE8ISO8859P1 NCHAR character set
    server uses WE8ISO8859P1 character set (possible charset conversion)
    Note: grants on tables/views/sequences/roles will not be exported
    Note: indexes on tables will not be exported
    Note: constraints on tables will not be exported

    About to export specified tables via Conventional Path ...
    . . exporting table TOTO
    8 rows exported
    Export terminated successfully without warnings.
    Le pb ne vient donc pas du user mais bien du fait que je veux lancer un export 9i via un dblink pour exporter les données d'une base 8i (sur un autre serveur)...

    Y'a t-il un paramètre pour dire "je lance la commande export à partir de ma base 9i MAIS en mode 8i" ???

    Si vous avez une idée n'hésitez pas, je n'ai que peu de temps pour résoudre le pb...

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    J'ai tenté de copier le exp.exe de ma 8i sur le serveur de la 9i, en le nommant exe8i puis j'ai exécuté la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exp8i user8i/pass8i@base8i PARFILE=toto.dat
    et voici l'erreur que j'obtiens :

    Export: Release 8.1.7.4.0 - Production on Wed Aug 13 19:11:50 2008

    (c) Copyright 2000 Oracle Corporation. All rights reserved.


    EXP-00056:
    EXP-00000: Export terminated unsuccessfully
    --> il n'y a même pas de libellé sur l'erreur ORACLE !!

    Comment faut-il faire svp ?

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    En lançant le catexp.sql de la 8i sur la 9i, j'ai tjrs la même erreur...c'est bizzare d'avoir une erreur
    ORA-00942: table or view does not exist
    alors que le pb vient d'une incompatibilité 8i/9i

    Personne ne peut m'expliquer ?

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    Tout d'abord, peux-tu donner quelques précisions.
    Pourquoi vouloir absolument faire un export en version 8i?
    Quelle est la version de la base cible où le dump doit être importer?
    Guillaume HARRY
    Expertise bases de données et Java/J2EE

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    tout d'abord merci de ta réponse...

    Je dois faire un export de ma base 8i pour faire un import dans une base 9i...

    si je connecte à la base 8i et utilise l'exp 8i, j'obtiens un dump que je peux charger sans pb dans ma base 9i...

    le pb c'est que les 2 bases sont sur des serveurs différents et que je ne veux pas créer le dump sur le serveur source où j'ai la 8i, puis le transférer en ftp (zippé ou pas) sur l'autre serveur, et importer les données sur la 9i...

    du coup j'essaie de lancer directement la commande du serveur cible (avec la 9i) en me connectant à la base 8i sur le serveur source via un dblink qui lui fonctionne bien...

    le soucis c'est que l'utilitaire EXP est celui de la 9i, et même en recopiant celui de la 8i sur mon serveur cible, à partir duquel je lance donc la commande, et en le lançant, celà ne fonctionne pas :-(

  7. #7
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Les exports peuvent être réalisés depuis le noyau 9i pour les importer dans la base 9i, ceci ne pose aucun problème. 9i peut interagir avec 8i.
    Pas la peine de te compliquer la vie
    Guillaume HARRY
    Expertise bases de données et Java/J2EE

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    ok mais alors pourquoi lorsque je lance mon export 9i sur la 8i j'ai le message d'erreur "table or view does not exist"...alors que quand je fais un select avec le même dblink et le même user ça fonctionne ?

  9. #9
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Le plus sûr est d'utiliser l'utilitaire d'export de la même version que la base de données source.
    Donc peux-tu installer un noyau oracle 8i à côté de ton noyau 9i? (la cohabitation de noyaux Oracle fonctionne très bien sur un même serveur)?

    Sinon, passe le catexpl v9i sur ta base 8i afin de créer le bon catalogue (tu as indiqué avoir fait l'inverse...)
    Guillaume HARRY
    Expertise bases de données et Java/J2EE

  10. #10
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Il existe une solution plus complexe pour ne pas passer par un dump physique et donc ne pas avoir de fichier qui traine, mais cela demande quelques connaissances Unix, car on passe par des tunnels:

    Sur ta machine cible (donc 9i):

    1. mknod /tmp/inpipe.dmp p #creation d un tunnel
    2. imp xxx/xxx file=inpipe.dmp & #import depuis ce qui va arriver par ce tunnel

    Sur ta machine source (donc 8i)

    3. mknod /tmp/outpipe p #creation du tunnel
    4. ssh -C user@targethost 'cat > /tmp/inpipe.dmp' < /tmp/outpipe & #via ssh tout ce qui est mis dans le dump est envoye dans le tunnel
    5. exp xxx/xxx file=/tmp/outpipe #export vers le tunnel

    C'est compliqué, mais ça consomme 0Mo
    J'ai encore une autre solution si tu as de quoi stocké un dump zippé sur ta machine source...
    Guillaume HARRY
    Expertise bases de données et Java/J2EE

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    wow ça me plait bien, mais ça va faire peur à certains comme méthode donc malheureusement je vais devoir passer par des dumps :-(

    Sinon je ne peux pas stocker de dumps sur le serveur source non (pb de place même en compressant), de toute façon, la solution choisie a été de ne pas faire de ftp car ça prendrait trop de temps...

    J'ai essayé ta méthode qui est de lancer le catexp.sql de la 9i sur la 8i donc l'inverse de ce que j'avais déjà testé...mais j'ai toujours la même erreur...et en plus lorsque j'ai lancé ce catexp.sql j'ai eu des erreurs de ce type :

    GRANT SELECT ON sys.exu9xtb TO PUBLIC
    *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    et surtout dans tous mes cas de test :

    CREATE ROLE exp_full_database
    *
    ERROR at line 1:
    ORA-01921: role name 'EXP_FULL_DATABASE' conflicts with another user or role
    name
    Alors même si mes tests ne concerne qu'une seule table, est-ce que ce rôle exp_full_database (qui reste donc en 8i) pose pb ?

  12. #12
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Peux-tu me préciser le but de la manipulation?
    Est-ce pour migrer la base de données, ou bien est-ce pour exporter régulièrement des données 8i dans une base 9i?

    As-tu l'espace disque nécessaire pour installer un noyau 8i sur ton serveur 9i?
    Guillaume HARRY
    Expertise bases de données et Java/J2EE

  13. #13
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    non en fait je ne peux pas installer de noyau 8i sur le nouveau serveur...le but est de migrer un base 8i sur aix 4.3 vers une 9i sur aix 5.3...

    je ne dois pas utiliser de ftp non plus :-(

    et la méthode de tunnel ssh n'est pas envisageable...

    le seul moyen est de passer par dblink mais j'ai l'impression qu'ORACLE se perd entre les bibliothèques 8i et 9i, même en relançant le fameux catexp.sql pour avoir les mêmes configurations des deux côtés.

  14. #14
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Citation Envoyé par Cathy Voir le message
    non en fait je ne peux pas installer de noyau 8i sur le nouveau serveur...le but est de migrer un base 8i sur aix 4.3 vers une 9i sur aix 5.3...
    Pour une migration : sauvegarde par RMAN, tu redémarres en 9i et migration habituelle sans export/import
    Guillaume HARRY
    Expertise bases de données et Java/J2EE

  15. #15
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Points : 68
    Points
    68
    Par défaut
    Merci à tous, je vais faire export 8i puis FTP puis import 9i ...

  16. #16
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Citation Envoyé par Cathy Voir le message
    Merci à tous, je vais faire export 8i puis FTP puis import 9i ...
    Bon courage
    Guillaume HARRY
    Expertise bases de données et Java/J2EE

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. exportation des données a partir d'une base
    Par khaled81 dans le forum C#
    Réponses: 1
    Dernier message: 18/03/2010, 17h52
  2. afficher une image à partir d'une base de données access
    Par zidenne dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2005, 11h41
  3. Exporter TOUS les users d'une base
    Par Nullos Oracle dans le forum Oracle
    Réponses: 12
    Dernier message: 13/03/2005, 20h32
  4. envoi automatisé de mails à partir d'une base postgresql
    Par youn608 dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 15/02/2005, 09h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo