Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 11/10/2011, 13h32   #1
Membre à l'essai
 
Inscription : avril 2003
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2003
Messages : 92
Points : 24
Points : 24
Par défaut impdp et query, que fait-il

bonjour

je dois importer uniquement certaine données d'une table existante et uniquement les données.
donc si je fais :
Code :
impdp User/password directory=my_directory dumpfile=my_full_backup.dmp  QUERY=MY_TABLE:\"where code=1 and recid in \(2,5,8\) \"
Que va faire le impdp ?
va t il uniquement importer ces données ?

Ou bien il va aussi importer les index, contraints ...Etc (ceux ci existent deja ?)

dans la doc Oracle il précise :
Citation:
Example

The following is an example of using the QUERY parameter. You can create the expfull.dmp dump file used in this example by running the example provided for the Export FULL parameter. See FULL.

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp
QUERY=departments:'"WHERE department_id < 120"' NOLOGFILE=Y


Only data in expfull.dmp that meets the criteria specified in the QUERY parameter is imported.
Mais il ne parle pas des autres objets, d'ou ma question


Merci pour vos précisions
elkamaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 17h09   #2
Membre éprouvé
 
Femme
Administrateur de base de données
Inscription : novembre 2007
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : novembre 2007
Messages : 341
Points : 478
Points : 478
je dirais que comme le dump est au niveau database, il va importer toutes les tables mais qu'il va bien appliquer le filtre sur my_table
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/10/2011, 18h19   #3
Membre du Club
 
Homme Arnaud
Inscription : octobre 2002
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 32
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2002
Messages : 56
Points : 66
Points : 66
Bonsoir, je n'ai pas les moyens de tester pour l'instant, mais je pense qu'en ne mettant que la clause QUERY, impdp va importer toutes les tables, et appliquer le filtre uniquement lors de l'import de MY_TABLE, comme l'a précisé Heaven93. (je cherche a vérifier ça, mais je pense que c'est plus logique sinon cela serait vraiment lourd d'importer plusieurs tables avec un filtre juste sur une seule mais je peux me tromper)

Qioi qu'il en soit, pour être sûr de n'importer que MY_TABLE (si c'est le résultat voulu), la clause TABLES reste efficace:

Code :
impdp User/password directory=my_directory dumpfile=my_full_backup.dmp  QUERY=MY_TABLE:\"where code=1 and recid in \(2,5,8\) \" tables=MY_TABLE CONTENT=DATA_ONLY
La clause content permet de spécifier que seules les données nous intéressent.

Edit: La clause CONTENT=DATA_ONLY indique qu'on cherche à n'importer que des données. Il n'y aura aucune création d'objet, et la table doit exister.
__________________
Tuning and optimization are not a fix to a bad design. A good design is a fix to a bad design.
Dajon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 18h31   #4
Membre éprouvé
 
Femme
Administrateur de base de données
Inscription : novembre 2007
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : novembre 2007
Messages : 341
Points : 478
Points : 478
au même chapitre de la doc mais en 11g, avec le même exemple il est précisé :
Citation:
All tables in expfull.dmp are imported, but for the departments table, only data that meets the criteria specified in the QUERY parameter is imported.
oui, je suis d'accord avec les options que tu indiques
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 12h01   #5
Membre à l'essai
 
Inscription : avril 2003
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2003
Messages : 92
Points : 24
Points : 24
bonjour et merci pour vos réponse qui m'ont aidé

en fait j'ai eu plusieurs option
- le query tout seul : importe tout (tables, index ....) en appliquant seulement la cause query sur la table cité.
- le query avec le parametre CONTENT=DATA_ONLY, je sais pas trop ce qu'il fait car il plantait dans mes tests

la bonne commande qui me convenait était donc :
Code :
impdp user/**** SCHEMAS=user1 DIRECTORY=DUMP_DIR DUMPFILE=expdp_DB.dmp CONTENT=data_only include=table:"IN ('PRODUIT')" QUERY=PRODUIT:"where produit_num between 321684 and 350000"

avec ca, seulement les données de la selection ont été importées.

Merci à tous
elkamaro 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 04h23.


 
 
 
 
Partenaires

Hébergement Web