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 :

Aide pour export puis import base Oracle


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2021
    Messages : 15
    Par défaut Aide pour export puis import base Oracle
    Bonjour,

    J'ai besoin d'aide sur un sujet assez technique pour moi : je dois récupérer l'extract d'une BD sous Oracle pour explorer quelques tables et valider la structure globale. Problème : je ne connais pas bien Oracle, mon interlocuteur est loin et je galère avec le dmp qu'il m'a fourni (par contre je peux lui en redemander un...mais il n'y connais pas grand chose non plus).

    Pour le moment je lui ai demandé de me transmettre un dmp, via la commande exp, ce qu'il a fait. La base fait 28 Go (sympa à transférer...).

    Après quelques recherches j'ai installé Oracle XE 18c et j'ai essayé de réimporter la base via imp dans la base XE créée.

    J'ai lancé la commande suivante (anonymisée avec des XXXX pour garder un peu de confidentialité) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imp userid='sys/XXXXXX@XE as sysdba' log=C:\dump_folder\XXXXXX.log file=C:\dump_folder\XXXXXX.dmp fromuser=sys touser=sys
    Ca fonctionne en partie, mais j'ai pas mal d'erreurs...et surtout les tables que je cherche ne sont pas créées.
    PS : je peux redemander un dmp à mon interlocuteur ou lui demander plus d'infos s'il faut.

    Merci !

    Je peux lister les erreurs que je rencontre si vous voulez ou poster en privé la log anonymisée.

    Si quelqu'un pourrait me donner des pistes svp ?

    Merci beaucoup !

  2. #2
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Quelle est la version de ta base Oracle? C'est bien une 18c sur les deux bases, tu es sur?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from v$version;
    Si c'est une 10, 11, 12 ou plus, ce n'est pas exp ni imp que tu dois utiliser comme commandes mais expdp et impdp : c'est l'utilitaire Datapump qui, depuis Oracle 10, remplace les anciens utilitaires exp et imp.
    Ah, pour info, 28 Go c'est rien de rien comme taille, tous les DBA Oracle voudraient bien des dump de cette taille

    Sauf erreur de ma part, fromuser et touser n'existent pas avec datapump. Quand on veut remapper un schéma (ou user) A vers un schéma B, on utilise l'option remap_schema.
    MAIS, et c'est pas simple tu me diras, si tu utilises datapump (expdp), l'export ne concerne JAMAIS les objets du schéma SYS (sauf quelques très rares tables).

    Donc, si tu veux exporter des objets du schéma SYS de ta base, déjà il y a un problème : on ne doit JAMAIS mettre dans le schéma SYS des objets applicatifs. Si c'est le cas, alors peut-être qu'il faut faire du exp et imp, même si ces utilitaires sont trop vieux mais là... plein de DBA n'utilisent plus ces outils donc on aura du mal à t'aider.

    On peut avoir un exemple des erreurs que tu observes?

  3. #3
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2021
    Messages : 15
    Par défaut
    Merci de ta réponse rapide!

    Je ne connais pas la version de la base dont est issu le dmp que j'ai reçu, mais je vais demander. J'ai passé la commande que tu envoies sur la base cible est c'est bien une 18c.
    Par contre quand je lance la commande type XXXX.dmp | more suivante sur mon dmp, j'ai notamment le message ☺EXPORT:V11.02.00. Est-ce que cela veut dire que la base initiale est en version 11.02.00 ?
    A noter que quand je déroule (longtemps) le contenu du de ce qui m'est retourné, je tombe sur ce genre d'info :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ♥
    ┬♦►☼
    oracle.xml.xsql
    9.2.0.4.0
    Est-ce que cela veut dire que la base est en fait en 9.2.0 ?

    Plutôt que de vous envoyer les erreurs, je peux redemander un export dmp avec la ligne de commande qui va bien...si vous pouviez m'en proposer une ? Que préférez-vous ?
    Surtout que le dmp reçu est peut-être non conforme, car il ne fait "que" 28 Go....

    Merci beaucoup de votre aide en tout cas.

  4. #4
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Aïe, si la base source est une 9.2 alors impossible de faire du datapump, il faut donc faire exp et imp.
    Demande quand même à la personne de faire le SELECT sur v$version, c'est important.

    Je ne connais pas ces utilitaires donc ça va être dur de te donner des commandes en partant de zéro.
    L'idéal serait que tu me communiques la commande exp lancée pour me faciliter la tâche car tu as déjà mis la commande imp.

    Pour info, la partie
    imp ... fromuser=sys touser=sys
    devrait être réécrite en
    imp fromuser=sys touser=USER_APPLICATIF
    avec USER_APPLICATIF un user de ta base 18 qui est soit un user existant soit un user à créer MAIS il ne faut pas que tu fasses l'import dans le schéma SYS, c'est une mauvaise pratique.

  5. #5
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2021
    Messages : 15
    Par défaut
    Merci beaucoup pour ces précisions.

    Je viens de recevoir les informations de mon interlocuteur concernant son export :

    • Version : Oracle Database 11g version 11.2.0.2.0 - Production 64 bits
    • Ligne de cmd : exp userid=XXXX file=/oracle/XXXX.dmp log=/oracle/XXXX.log full=y rows=n


    Du coup comme vous l'avez précisé précédemment, il faudrait plutôt utiliser les commandes expdp et impd, et donc que je redemande un export avec la commande expdp ?

    Concernant l'option remap_schema, si je reste sur le même schéma (ou user) lors de mon futur import (impdp), avec le USER qui contient les tables qui m'intéresse, je n'est pas besoin de m'en servir, c'est bien ça ?

    Merci par avance.

  6. #6
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    "Du coup comme vous l'avez précisé précédemment, il faudrait plutôt utiliser les commandes expdp et impd, et donc que je redemande un export avec la commande expdp ?"
    Eh non, si les données à exporter et à importer sont dans le schéma SYS de la base de départ, on ne peut pas utiliser datapump (expdp et impdp) car il n'exportera pas les objets du schéma SYS (sauf une petite vingtaine, liés à l'audit...).
    Dans ce cas là, peut importe ta version de la base, tu dois utiliser exp et imp.

    Donc la question la plus importante à poser, à qui de droit, est : est-ce que les données à exporter/importer sont dans le schéma SYS ou non? Si c'est oui, tu DOIS utiliser exp et imp, si c'est non, tu DOIS utiliser datapump.


    Ta commande d'export signifie :
    - full=y : exporter TOUT le contenu de la base, y compris le schéma SYS
    - rows=n : les données des tables ne sont pas exportées, juste les métadatas, donc seuls les objets seront créés. Du coup, je m'étonne que tu ais un export de 28Go en exportant seulement les métadatas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp userid=XXXX file=/oracle/XXXX.dmp log=/oracle/XXXX.log full=y rows=n

    La commande d'import devrait ressembler à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imp userid/xxx FULL=Y FILE=XXX.DMP fromuser=SYS touser=USER2

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

Discussions similaires

  1. Aide pour trier puis exporter en boucle
    Par PinkPanthere dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/10/2014, 21h54
  2. Export / Import Base Oracle Express Edition 10 g ?
    Par Pikatch dans le forum Administration
    Réponses: 3
    Dernier message: 06/06/2008, 11h59
  3. Import/export d'une Base Oracle
    Par obiyann22 dans le forum Bibliothèques
    Réponses: 8
    Dernier message: 17/01/2007, 12h43
  4. procédure pour exporter et importer bases de données
    Par mariogarcia dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/03/2006, 17h33
  5. aide pour exporter une base de donnée
    Par matt55 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 06/04/2004, 14h28

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