Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Import/Export
Import/Export Forum d'entraide sur les outils d'import/export Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/10/2004, 14h39   #1
Membre éclairé
 
Inscription : juin 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 487
Points : 373
Points : 373
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?
aline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 14h46   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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 ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 14h47   #3
Rédacteur
 
Inscription : décembre 2002
Messages : 2 396
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 396
Points : 3 294
Points : 3 294
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...)
...
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 14h58   #4
Membre éclairé
 
Inscription : juin 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 487
Points : 373
Points : 373
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
aline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h03   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h19   #6
Membre éclairé
 
Inscription : juin 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 487
Points : 373
Points : 373
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....
aline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h24   #7
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
pourquoi donc la solution consistant à lister les tables à exporter/importer n'est pas satisfaisante ? :
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h34   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
je rappelle aussi l'existence de la commande COPY sous SQL*Plus qui pourrait bien être utile ici

Exemple :

Code :
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h39   #9
Membre régulier
 
Inscription : février 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 97
Points : 91
Points : 91
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é.
thomasjcj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h43   #10
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
oui, mais les données ????
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h47   #11
Membre éclairé
 
Inscription : juin 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 487
Points : 373
Points : 373
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!

aline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2004, 15h50   #12
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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....
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 11h43   #13
Membre éclairé
 
Inscription : juin 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 487
Points : 373
Points : 373
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?
aline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 12h02   #14
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
oui, un import FULL de ton DUMP qui ne contient que tes tables utiles
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 12h15   #15
CD
Membre habitué
 
Inscription : septembre 2004
Messages : 127
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 127
Points : 138
Points : 138
ou alors, un import avec la clause TABLE=(liste de tables à importer)
CD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 13h46   #16
Membre éclairé
 
Inscription : juin 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 487
Points : 373
Points : 373
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!
aline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 14h17   #17
CD
Membre habitué
 
Inscription : septembre 2004
Messages : 127
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 127
Points : 138
Points : 138
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"
CD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 14h33   #18
Membre régulier
 
Inscription : février 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 97
Points : 91
Points : 91
Sous 10g, les utilitaires imp et exp ont enormement evolue et permette une bien plus grande selectivité des objets.
Qu'on se le dise...
thomasjcj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 14h45   #19
Rédacteur
 
Inscription : décembre 2002
Messages : 2 396
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 396
Points : 3 294
Points : 3 294
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
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2004, 17h29   #20
Membre éclairé
 
Inscription : juin 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 487
Points : 373
Points : 373
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!
aline est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h12.


 
 
 
 
Partenaires

Hébergement Web