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 :

importer un shema moins une table


Sujet :

Import/Export Oracle

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut importer un shema moins une table
    Bonjour à tous,

    voila ma question du jour.
    Peux-t'on importer un shema d'un utilisateur (qui possede divers tables, packages etc) moins quelques tables?

    Quelqu'un dispose d'une idée brillantissime?

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    pourquoi ne pas la dropper après import ?
    ou encore, créer une table du nom de celle dont tu ne veux pas et ne pas bloquer l'import en cas d'erreurs ?
    ou encore exporter toutes les autres tables nommément ?

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    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 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Moins quelques tables qui existent déjà côté cible et qu'il ne faut pas modifier ?
    Ou qui n'existent pas côté cible, et dont on n'a pas besoin ?
    Parce que dans ce dernier cas, il suffit de transférer le schéma complet et de virer les tables inutiles après coup...

    Pour l'export, il est toujours loisible de spécifier la liste des tables à transférer dans le fichier de paramètres :
    ...
    TABLES=(table1, table2...)
    ...
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Il s'agit de tables qui existe déjà et auquel il ne faut pas toucher, donc c'est bien un import moins quelques tables

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    A part lister les tables je vois pas... sinon, un import FULL dans un autre shéma et déplacer les tables intéressantes dans le shéma souhaité pour finalement droper le shéma temporaire... mais là il faut de l'espace

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    et pour couronner le tout, les deux bases ne peuvent être arretées et les tables à ne pas importer ou exporter sont énormes. Donc la solution d'un shema buffer n'est pas acceptable.
    bon cela confirme mon idée qu'il n"y a pas de solution acceptable.
    Je pense qu'Il va faloir reformuler le probleme plus en amont....

  7. #7
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    pourquoi donc la solution consistant à lister les tables à exporter/importer n'est pas satisfaisante ? :

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    je rappelle aussi l'existence de la commande COPY sous SQL*Plus qui pourrait bien être utile ici

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY from user/passwf@base_src to from user/passwf@base_src CREATE matable (col1,col2,...,coln) USING select * from matable;
    Le top étant de générer les n COPY avec un SELECT qui va bien

  9. #9
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 110
    Points
    110
    Par défaut
    Si le probleme c'est de ne pas importer dans des tables deja existantes, il suffit de mettre l'option IGNORE=N. Les tables non presentes dans le schema seront importées, pour celles qui sont deja là, seul un message d'erreur sera generé.

  10. #10
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    oui, mais les données ????

  11. #11
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par thomasjcj
    Si le probleme c'est de ne pas importer dans des tables deja existantes, il suffit de mettre l'option IGNORE=N. Les tables non presentes dans le schema seront importées, pour celles qui sont deja là, seul un message d'erreur sera generé.
    alors on touche au but, c'est exactement ce que j'atendais!

    Je teste et vous tient au courant!


  12. #12
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Si dans la base dans laquelle tu importes, la table à laquelle tu ne dois pas toucher à les même colonnes que celle du dump, en important, certes, la table ne sera pas recréée, mais les données du dump seront intégrées dans la table....

  13. #13
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    bon dejà merci à tous, j'ai bien avancé dans mon problème. Maintenant je peux exporter mon schéma moins une table.
    Un tout petit peut plus complexe maintenant.
    Peux-t'on importer un schéma moins une table?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    oui, un import FULL de ton DUMP qui ne contient que tes tables utiles

  15. #15
    CD
    CD est déconnecté
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 127
    Points : 151
    Points
    151
    Par défaut
    ou alors, un import avec la clause TABLE=(liste de tables à importer)

  16. #16
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    evidement, mais il ne faut pas oublier que dans un export ou un import, il n'y a pas que des tables.
    Il y a aussi des roles, des autorisations dessus, des liens bd, des séquences, des snapshots, des contraintes d'integrité, des synonymes, des triggers des procédures et j'en oublie peut être.

    Donc, moi je cherche à exporter tout un svhéma (donc tout ce que je viens de citer) moins une table ou deux.

    Je ne suis pas sûre qu'un script dynamique puisse être utile ici car on peut peut être choisir ces tables mais c'est tout.
    Quand au reste....

    D'ou ma question!

  17. #17
    CD
    CD est déconnecté
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 127
    Points : 151
    Points
    151
    Par défaut
    Et en renommant ta table avant d'importer dans ta base cible, puis en faisant un drop de la table faussement importée et en renommant une nouvelle fois la sauvegarde ?

    Comme cela, tu fais un import du schema et tu conserves les données de ta table "protégée"

  18. #18
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 110
    Points
    110
    Par défaut
    Sous 10g, les utilitaires imp et exp ont enormement evolue et permette une bien plus grande selectivité des objets.
    Qu'on se le dise...

  19. #19
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    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 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par aline
    evidement, mais il ne faut pas oublier que dans un export ou un import, il n'y a pas que des tables.
    Il y a aussi des roles, des autorisations dessus, des liens bd, des séquences, des snapshots, des contraintes d'integrité, des synonymes, des triggers des procédures et j'en oublie peut être.

    Donc, moi je cherche à exporter tout un svhéma (donc tout ce que je viens de citer) moins une table ou deux.

    Je ne suis pas sûre qu'un script dynamique puisse être utile ici car on peut peut être choisir ces tables mais c'est tout.
    Quand au reste....

    D'ou ma question!
    Moi je m'y prendrais comme suit :
    - extraction du script de recréation de tous les objets (sauf les tables) via TOAD (menu DBA --> Generate schema script) ou autre outil possédant la même fonctionnalité
    - export en mode TABLE en spécifiant la liste des tables, sauf celle à rejeter. Noter qu'en 9i on peut utiliser des caractères génériques (%) dans le nom des tables
    - import desdites tables
    - exécution des scripts obtenus à la première étape
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  20. #20
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par Pomalaix
    Moi je m'y prendrais comme suit :
    - extraction du script de recréation de tous les objets (sauf les tables) via TOAD (menu DBA --> Generate schema script) ou autre outil possédant la même fonctionnalité
    - export en mode TABLE en spécifiant la liste des tables, sauf celle à rejeter. Noter qu'en 9i on peut utiliser des caractères génériques (%) dans le nom des tables
    - import desdites tables
    - exécution des scripts obtenus à la première étape
    oui en effet sauf que il y a un ordre de création des objets et les tables sont à peut près au milieu. Donc il faut segmenter.
    Je ne dispose pas de Toad (je ne l'ai d'ailleurs jamais utilisé!) mais j'ai déjà fait ce genre de chose avec le package dbms_metadata.
    J'esperai justement ne pas passer par la mais j'ai bien l'impression que je ne vais pas ycouper..

    merci quand même!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Oracle] Importer du xml dans une table
    Par lenoil dans le forum Oracle
    Réponses: 2
    Dernier message: 05/06/2006, 13h06
  2. Réponses: 1
    Dernier message: 10/05/2006, 15h01
  3. import de données d'une table à une autre
    Par Pau dans le forum Access
    Réponses: 3
    Dernier message: 05/04/2006, 14h07
  4. [JDBC] Exporter et importer les données d'une table...
    Par sp3cim3nmidoban dans le forum JDBC
    Réponses: 3
    Dernier message: 21/02/2006, 19h23
  5. Importer la structure d'une table
    Par barthelv dans le forum Outils
    Réponses: 3
    Dernier message: 05/10/2004, 11h37

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