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 :

Création table à partir de dumpfile


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 112
    Par défaut Création table à partir de dumpfile
    Bonjour,

    Je voudrais créer une table externe DEPT_EXT, par exemple, à partir d'un dumpfile DEPT.DMP,
    j'utilise alors le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TABLE HR.DEPT_EXT (
    deptno NUMBER(2),
    dname VARCHAR2(14),
    loc VARCHAR2(13)
    )
      ORGANIZATION EXTERNAL (
         TYPE ORACLE_DATAPUMP
         DEFAULT DIRECTORY dtpump
         LOCATION ('dept.dmp')
      );

    L'opération fonctionne bien et je peux faire tous types de SELECT sur la table externe ainsi générée,
    Sachant que le fichier DEPT.dmp a été généré à partir de la base source via le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create table DEPT_EXT
    organization external (
    type oracle_datapump 
    default directory dtpump
    location ('DEPT.dmp')
    )
    as select * from scott.dept;
    En essayant la même chose avec un DUMPFILE provenant de la même base source mais généré par le biais de l'utilitaire EXPDP, la table est créée mais le SELECT me sort l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ora-31619 invalid dump file
    Quelqu'un est il déjà passé par là ?

    Merci par avance.

    N.B
    J'utilise : Oracle 10.2.0.3.0 / Windows 2003 Server

  2. #2
    Membre émérite Avatar de Z3phur
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 680
    Par défaut
    Bonjour,

    à ma connaissance tu ne peux pas monté un datapump dans une table externe, en effet le datapump n'est pas un fichier texte mais un fichier fabriqué par oracle lors de l'export, seul l’interpréteur impdp peut le lire.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 112
    Par défaut
    Merci Z3phur pour la réponse,

    Si ta réponse est définitive je serai vraiment déçue, j'ai beacoup misé sur cette possibilité d'exploiter les tables d'un dump sans le charger dans la base, notamment lorsque l'on parle d'un driver ORACLE_DATAPUMP qui selon son nom devrait faciliter l'accès aux dumps pour en extraire les données,

    Sinon je ne vois pas l'utilité de passer par les tables externes puisque on a EMPDP & EXPDP et qu'on est obligé de faire l'import d'un DUMP.

    Bref,

    Dois-je mettre la baslise RESOLU ?

    ou bien reste t il encore de l'espoir ?

  4. #4
    Membre émérite Avatar de Z3phur
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 680
    Par défaut
    Bonjour,

    je me suis trompé, tu peux bien le faire

    cf : http://coursdba.estsurinternet.com/c...ts-de-donnees/

    mais il faut que tu déclare la liste des colonnes dans ta création de table externe.

    Désolé de l'erreur et merci j'ai appris encore un truc aujourd'hui.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 112
    Par défaut
    Merci de me redonner l'espoir, mais ... mon problème reste posé.

    En effet, tu parles d'énumération de colonnes dans la définition de ma table externe, c'est exactement ce que j'ai fais , voir début de mon post, d'ailleurs je me suis servie du même lien que tu viens de m'indiquer pour élaborer ma syntaxe,

    Syntaxe qui fonctionne jusqu'au bout, je rappelle, lorsque le dump provient lui même d'une table externe

    Par contre, lorsque le dump provient d'une opération d'export avec EXPDP, Cette même syntaxe continue à fonctionner pour générer la tabale externe (dans la base cible) mais qui reste une table non expoloitable, elle génère l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ora-31619 invalid dump file
    lorsqu'on exécute un SELECT.

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 549
    Par défaut
    Bonjour,

    ATTENTION - cette solution ne peut être viable dans le temps au niveau performances.

    Vous parlez d'interrogations SQL (SELECT) de cette table, mais c'est j'espère pour réalimenter d'autres tables que physiquement vous pourrez indexer, stater par exemple

    j'ai un peu de mal à comprendre l'intérêt de cette mise en place, sachant qu'un import en mode include fonctionne si bien ?

  7. #7
    Membre émérite Avatar de Z3phur
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 680
    Par défaut
    peux-tu nous donner la commande de l'export s'il te plait.

    puis en dessous l'ordre de creation de ta table externe et enfin la commande de création du directorie

Discussions similaires

  1. [AC-2010] Création Table à partir du Contenu d'une requête Transform
    Par sylgar dans le forum Access
    Réponses: 1
    Dernier message: 18/04/2014, 09h01
  2. Réponses: 1
    Dernier message: 17/04/2014, 12h29
  3. Création table à partir d'effectif
    Par frannzz dans le forum SAS Base
    Réponses: 2
    Dernier message: 27/04/2011, 13h19
  4. Création table à partir table dans autre base
    Par jcha dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2008, 16h41
  5. création de tables à partir d'un fichier XML
    Par magic charly dans le forum Oracle
    Réponses: 2
    Dernier message: 03/04/2006, 13h39

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