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 :

Datapump Oracle 10g (express) complexe


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Par défaut Datapump Oracle 10g (express) complexe
    Bonjour à tous et à toutes, et bonne année 2012,

    Je reviens vers vous (Ô grande communauté de sagesse et de connaissance) après quelques temps d'absence pour vous demander votre aide sur cette technologie que je découvre: Oracle.

    En l'occurrence, plus particulièrement, l'export/import à l'aide de Datapump.

    J'ai un soucis de structure sur une des bases que j'ai en local (cette base sera nommée Base P pour plus de facilité).
    Sur cette Base P donc, il manque pas mal de champs quand j'ai passé le script sql de création (pas à jour apparemment, et comme je viens d'arriver ...).

    J'ai, en revanche, une autre base (appelons la Base C), qui, elle, est à jour.
    Elle est donc ma base la plus complète en terme de métadonnées.

    Jusque là, rien de méchant. Il me suffit de supprimer la base P, la recréer en vierge pour pouvoir y importer la structure de la base C.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    expdp C/[pwd]@[sid] schemas=C directory=maDir DumpFile=C.dmp logfile=CExp.log content=metadata_only
     
    impdp P/[pwd]@[sid] schemas=C directory=maDir DumpFile=C.dmp logfile=Cimp.log
    A dire vrai, je ne sais même pas si je dois préciser le paramètre CONTENT dans la commande impdp ?

    Là où par contre, je me pose de sérieuses questions, c'est qu'il y a des tables pour lesquelles ça m'arrangerait de récupérer également les datas.
    Des tables qui ne sont pas liées au métier, comme la table des communes françaises.

    Ma question est la suivante:
    Est-il possible de faire un datapump complexe me récupérant la structure de toute la base C + les datas de quelques tables précises, ou dois-je faire deux exports (ce qui ne me dérange pas, même si je voudrais savoir) ?

    Et, dans le cas de deux exports, comment faire l'export de mes données spécifiques ? Je sais que c'est possible, mais je n'ai pas tout compris sur la commande et ses paramètres

    Si quelqu'un peut m'éclairer,
    Merci d'avance,
    Thomas

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    A ma connaissance, ça ne sera pas possible en un seul export.
    Donc il faut faire 2 exports et deux imports (même si dans l'absolu on pourrait faire un seul export, avec structure + données, et être sélectif lors des imports).

    Lors du 1er import destiné à créer juste les structures, vous pouvez utiliser le paramètre EXCLUDE pour écarter les tables que vous allez importer plus tard

    ou bien

    lors du 2e import destiné à créer les quelques tables complètes, vous précisez le paramètre TABLE_EXISTS_ACTION=APPEND, car sinon les tables, qui existent déjà, mais vides, ne seront pas alimentées.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 412
    Par défaut
    Bonjour,

    Pour votre question, ca me parait tendu, mais bon c'est un avis comme ca.

    Dans le cas de deux exports, vous avez le parametre TABLE pour l'export, et peut-etre TABLE_EXISTS_ACTION=REPLACE|SKIP pour l'import selon ce que vous voulez faire.

    Edit:
    @Pomalaix: Avec ACTION_EXISTS=APPEND ca va doubler les donnees si elles existes deja. Ca peut faire des cafouillages dans d'autres cas.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Par défaut
    Merci à vous deux.

    Je pense que je vais me diriger sur le TABLE_EXISTS_ACTION=APPEND.

    Mais dans ce cas, comment puis-je sélectionner les tables qui m'intéresse dans l'export et l'import ?

    Merci d'avance,
    Cordialement,
    Thomas

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par Rams7s Voir le message
    Edit:
    @Pomalaix: Avec ACTION_EXISTS=APPEND ca va doubler les donnees si elles existes deja. Ca peut faire des cafouillages dans d'autres cas.
    Oui mais non, car dans le scénario on a deux fichiers d'export : le premier qui ne comporte que les structures pour toutes les tables, et le deuxième qui comporte le structures plus les données pour les quelques tables choisies.
    Dans ce cas il n'y a pas de risque de doublons, en tout cas si on n'exécute ce scénario qu'une fois.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Par défaut
    Effectivement, si l'on n’exécute ce scénario qu'une seule fois. Ce qui est le cas ici

    Par contre l'import via les commandes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    expdp C/[pwd]@[sid] schemas=C directory=maDir DumpFile=C.dmp logfile=CExp.log content=metadata_only
     
    impdp P/[pwd]@[sid] schemas=C directory=maDir DumpFile=C.dmp logfile=Cimp.log
    ne m'importe rien du tout dans ma base de destination.

    J'ai fait une erreur dans la commande impdp ? Là je vois pas

    Merci d'avance
    Cordialement,
    Thomas

  7. #7
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par Delioneras Voir le message
    ...ne m'importe rien du tout dans ma base de destination.
    Que disent respectivement les logs d'export et d'import ?

  8. #8
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Concernant le 2e export, il faudra lister les tables à prendre en compte. Pour ça, on remplace le paramètre SCHEMAS par TABLES.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    expdp C/[pwd]@[sid] tables=t1,t2,t3 directory=maDir DumpFile=C.dmp logfile=CExp.log

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Par défaut
    Avec les commandes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    expdp C/[pwd]@[sid] schemas=C directory=maDir DumpFile=C.dmp logfile=CExp.log content=all
     
    impdp P/[pwd]@[sid] schemas=C directory=maDir DumpFile=C.dmp logfile=Cimp.log content=metadata_only
    J'obtiens les logs ci-joints

    EDIT:
    Merci pour la commande expdp avec l'argument table
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. oracle 10g express et forms application
    Par Idsaw dans le forum Forms
    Réponses: 3
    Dernier message: 30/03/2007, 09h49
  2. Connexion Oracle 10g Express Edition
    Par Virgile59 dans le forum Oracle
    Réponses: 1
    Dernier message: 03/01/2007, 16h55
  3. Limitations Oracle 10g Express
    Par albetal62 dans le forum Oracle
    Réponses: 7
    Dernier message: 06/06/2006, 13h48
  4. Oracle 10g (Express Edition) ...
    Par avaacn dans le forum Oracle
    Réponses: 9
    Dernier message: 04/04/2006, 17h09
  5. Réponses: 1
    Dernier message: 22/03/2006, 08h24

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