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 :

10g : pb import datapump et tablespaces


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Par défaut 10g : pb import datapump et tablespaces
    Bonjour.
    J'ai une base Oracle en version 10.2.0.1.0.
    je dois faire des transferts réguliers de données d'une machine à une autre (les 2 machines ont la même version d'Oracle).
    Dans ma base, j'ai des tablespaces "dynamiques", c'est-à-dire au fur et à mesure de l'alimentation de ma base, je créé des tablespaces spécifiques à certaines données (tout ça pour dire que je ne connais pas d'avance la liste de mes tablespaces).
    Mon problème est le suivant:
    Quand j'importe mes données sur ma 2ème machine (j'importe à chaque fois que le delta des nouvelles données, delta pouvant contenir plusieurs tablespaces), les tablespaces n'existent pas forcément sur ma machine cible. Du coup la commande d'import (avec le datapump) échoue dans le cas ou le tablespace n'existe pas.
    Existe-t-il un moyen de faire un import en créant les tablespaces, les tables et les lignes des tables?
    Et dans un 1er temps, comment fait-on pour importer des tables (avec les lignes) même dans un autre tablespace quand celui-ci n'existe pas sur la machine cible? Avec l'export classique, pas de soucis, mais avec le datapump je n'arrive pas à le faire.
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par Bonnie38 Voir le message
    Dans ma base, j'ai des tablespaces "dynamiques", c'est-à-dire au fur et à mesure de l'alimentation de ma base, je créé des tablespaces spécifiques à certaines données
    Quelle drole d'idée... on peut savoir pourquoi tu fais ça ?

    Sinon, bah avant de lancer l'import tu compares DBA_DATA_FILES des 2 bases pour voir si tu as un nouveau tablespace à créer

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Par défaut
    Merci pour la rapidité.

    Pour les tablespaces "dynamiques", j'ai repris un projet déjà fait comme ça.
    En gros, sur la machine source, il y a une base dite "en ligne" recevant pleins de données, qui alimente une base dite "d'archivage", découpée en archives de x jours. Et toutes les tables de détails appartenant à une archive sont dans un tablespace dont le nom comporte le numéro de l'archive. Comme ça quand on veut sauvegarder une archive (ou la transférer sur l'autre machine) on sauvegarde toutes les tables du tablespace ts_arch-<num_archive>.

    Sinon pas possible de faire comme tu dis. La 2ème machine n'a aucun moyen de voir la 1ère. Et la 1ère je crois qu'elle peut juste transférer des fichiers à la 2ème (enfin c'est ce qu'on m'a dit car les réseaux et moi ça fait 4!!).

    Il devrait quand même y avoir la possibilité de créer les tables dans le tablespace par défaut quand le tablespace d'origine n'existe pas, comme c'est le cas pour l'import standard. Mais avec le datapump, je n'y arrive pas.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bah tu peux améliorer le truc en utilisant les tables partitionnées déjà

    Et la 1ère je crois qu'elle peut juste transférer des fichiers à la 2ème
    bah qu'elle envoie le script de création des tablespaces

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Par défaut
    Le code en amont est déjà fait et tourne depuis un moment. Donc je ne peux pas changer. C'est seulement la 2ème machine qui est nouvelle.
    Donc problème non résolu.
    Je fais des tests avec le paramètre REMAP_TABLESPACE. Quand je connais le nom du tablespace d'origine, ça marche. Je fais:
    impdp .... remap_tablespace=tbs1:tbs2
    Sauf que là je ne connais pas d'avance le nom de tbs1.
    Peut-on mettre un caractère spécifique (style % ou *) pour dire que tous les tablespaces seront changés en tbs2? Pour l'instant je trouve rien.

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bien sûr que non, tu dois donner les noms en dur... mais l'idée du script envoyé par la machine ça ne te plait pas ?

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

Discussions similaires

  1. Import datapump 10g entre schémas différents
    Par grome dans le forum Administration
    Réponses: 4
    Dernier message: 30/05/2008, 12h07
  2. [10.1.0.2.0] Problème avec importation datapump
    Par CyBeRoN dans le forum Administration
    Réponses: 7
    Dernier message: 13/02/2008, 11h11
  3. Export 10g pour import 9i
    Par flyjack dans le forum Oracle
    Réponses: 6
    Dernier message: 14/12/2007, 11h32
  4. Console 10g export-import de table
    Par bernabe dans le forum Oracle
    Réponses: 1
    Dernier message: 04/12/2006, 17h54
  5. [10g] Outil import/export DB/CSV, XML => BPEL ?
    Par lex0072 dans le forum Oracle
    Réponses: 2
    Dernier message: 28/09/2005, 10h38

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