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 :

Extraire données d'un dump [10gR2]


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2008
    Messages : 240
    Par défaut Extraire données d'un dump
    Bonjour à tous,

    J'ai un gros dump (32go) issu d'une base Oracle 10gR2 et je souhaite extraire les données d'une seule table de ce dump. Est-ce qu'il existe une solution autre que remonter le dump entier dans une base de test ?

    Merci d'avance.

  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
    Oui, c'est possible, avec impdp tu devras utiliser le paramètre TABLES (avec un S, même si tu importes une seule table).
    Un exemple ici : https://docs.oracle.com/database/121...6.htm#SUTIL955

    Est-ce que la table à importer existe déjà dans la base d'import? Si oui, est-ce que la strcuture de la table est identique entre la base d'export et d'import? Si oui, tu peux ajouter
    CONTENT=DATA_ONLY pour n'importer que les données et pas, en plus, les métadatas de ta table.

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2008
    Messages : 240
    Par défaut
    Nikel !

    La table est existante, dans le doute je ne la remonte pas directement dans la prod mais sur une copie pour tester et valider que le dump est valide.

    Avant de lancer l'import est-ce que je dois vider la table ou bien imp va s'en charger ou alors mettre à jour par rapport au dump ?

    Cela marche même si le dump a été créé à l'ancienne avec exp et non expdb ?

  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
    "Avant de lancer l'import est-ce que je dois vider la table ou bien imp va s'en charger ou alors mettre à jour par rapport au dump ?"
    Il faut préciser le besoin : qu'est-ce que tu veux faire? Est-ce que le contenu du dump doit remplacer les données de la table ou bien ajouter seulement les données non présentes dans la table d'import?
    En résumé, tu veux un remplacement des données ou un ajout?

    Perso, je viderai le contenu de la table pour avoir un import qui me donne une table identique à ce qui existe dans la base d'export.

    "Cela marche même si le dump a été créé à l'ancienne avec exp et non expdb ?"
    Non, exp et imp sont l'ancien utilitaire d'export/import d'Oracle, remplacés en 2004 (Oracle V10) par datapump, à savoir expdp et impdp.
    Donc tu dois impérativement utiliser imp pour l'import, pas impdp.
    Un exemple ici pour importer une seule table : https://docs.oracle.com/database/121....htm#SUTIL1755

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2008
    Messages : 240
    Par défaut
    Il faut préciser le besoin : qu'est-ce que tu veux faire? Est-ce que le contenu du dump doit remplacer les données de la table ou bien ajouter seulement les données non présentes dans la table d'import?
    En résumé, tu veux un remplacement des données ou un ajout?
    C'est une table qui ne bouge pas ou alors très très peu et surtout c'est uniquement un seul champ que j'ai besoin de restaurer. Donc on est partie pour restaurer la table du dump dans un shema dédié à un utilisateur, de faire un select [les champs nécessaires] pour exporter ça dans un csv et ensuite d'importer tout ça dans la table de prod (en ayant fait un export de cette table avant ). La table n'est pas énorme, elle fait ~13000 enreg.

    Non, exp et imp sont l'ancien utilitaire d'export/import d'Oracle, remplacés en 2004 (Oracle V10) par datapump, à savoir expdp et impdp.
    C'est ce qu'il me semblait aussi.

    Merci pour toutes tes infos.

  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
    Euh, attends, qu'est-ce que c'est que cette histoire de SELECT et de fichier .csv?
    Si tu veut faire un import avec la commande imp, il faut avoir un fichier issu d'un export avec la commande exp.

    Maintenant, si tu a un fichier .csv dont tu veux importer le contenu dans une table, ce n'est ni imp ni impdp qu'il faut utiliser mais l'outil SQL Loader.

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

Discussions similaires

  1. extraire donné fichier txt afficher dans xml
    Par jasminrose dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/04/2007, 12h14
  2. Extraire données d'une table par date
    Par Hombe dans le forum Langage SQL
    Réponses: 7
    Dernier message: 08/11/2006, 23h03
  3. Extraire données par date du jour
    Par Hombe dans le forum Oracle
    Réponses: 6
    Dernier message: 08/11/2006, 11h14
  4. Extraire données d'un webservice , xml , php ..
    Par Lettue dans le forum Langage
    Réponses: 1
    Dernier message: 14/09/2006, 19h24
  5. Extraire données fichier txt
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2005, 17h12

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