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 11/02/2011, 09h24   #1
Invité de passage
 
Inscription : mai 2004
Messages : 6
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 6
Points : 0
Points : 0
Envoyer un message via AIM à rudboy Envoyer un message via Yahoo à rudboy
Par défaut Export bd 10gr2 - import vers bd 11gr2

Bonjour,

Je cherche la bonne méthode/une méthode pour exporter le contenu d'un utilisateur (paramètre owner de la commande exp) d'une base de données sous oracle 10gr2 vers une base de données oracle 11gr2.

Pour réaliser cette opération j'ai tout d'abord essayé d'utiliser le même client oracle 11gr2 pour faire l'export des données de la base 10gr2, puis l'import.

Mais ça ne fonctionne pas, dès les premières lignes d'export, oracle sort en erreur ORA-00904.

Voici la ligne d'export utilisée :
Code :
exp system/***** OWNER=USER_SGDT BUFFER=1000000 CONSISTENT=y STATISTICS=none FILE=/tmp/siroco/export_db/export_db_user_USER_SGDT_statistics_none_20110210.dmp LOG=/tmp/siroco/export_db/export_db_user_USER_SGDT_statistics_none_20110210.dmp.log
Voici les lignes de mon fichier de log :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Connected TO: Oracle DATABASE 10g Enterprise Edition Release 10.2.0.2.0 - Production
WITH the Partitioning, OLAP AND DATA Mining options
Export done IN WE8DEC character SET AND AL16UTF16 NCHAR character SET
 
About TO export specified users ...
. exporting pre-schema PROCEDURAL objects AND actions
. exporting FOREIGN FUNCTION library names FOR user USER_SGDT
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions FOR user USER_SGDT
About TO export USER_SGDT's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export USER_SGDT's TABLES via Conventional Path ...
EXP-00008: ORACLE error 904 encountered
ORA-00904: "POLTYP": invalid identifier
EXP-00000: Export terminated unsuccessfully
J'étais pourtant sûr que la meilleure méthode était d'utiliser le client 11gr2 pour faire toutes les opérations.

Un conseil, un tuto, un lien vers la doc oracle?
rudboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 09h51   #2
Membre chevronné
 
Avatar de Z3phur
 
Homme loic
Administrateur de base de données
Inscription : décembre 2007
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme loic
Âge : 37
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : décembre 2007
Messages : 673
Points : 773
Points : 773
Bonjour,

pourquoi tu n'utilises pas datapump.

Sinon, tu peux peut-être faire ce que l'on appelle les tablespaces transportables.
__________________
==========================================
La justice sans la force est impuissante, la force sans la justice est tyrannique...
Z3phur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 17h32   #3
Invité de passage
 
Inscription : mai 2004
Messages : 6
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 6
Points : 0
Points : 0
Envoyer un message via AIM à rudboy Envoyer un message via Yahoo à rudboy
J'avais lu (à tort ou a raison) que pour exporter des bases d'une version d'oracle à une autre, il ne fallait pas utiliser les commandes expdp et impdp.

En plus, je n'arrive pas à trouver la bonne syntaxe pour exporter un user (param owner) avec dp.



Citation:
Envoyé par Z3phur
tablespaces transportables.
Je ne sais pas ce que c'est.
rudboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 17h37   #4
Membre chevronné
 
Avatar de Z3phur
 
Homme loic
Administrateur de base de données
Inscription : décembre 2007
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme loic
Âge : 37
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : décembre 2007
Messages : 673
Points : 773
Points : 773
Bonjour,

regarde ce lien pour les tablespaces transportables :

http://blogs.oracle.com/AlejandroVar...ablespace.html

Citation:
En plus, je n'arrive pas à trouver la bonne syntaxe pour exporter un user (param owner) avec dp.
c'est le parametre schemas
__________________
==========================================
La justice sans la force est impuissante, la force sans la justice est tyrannique...
Z3phur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2011, 14h52   #5
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
il faut faire l'export avec le client 10g, pas le 11g
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2011, 21h46   #6
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
après une petite recherche sur metalink, l'erreur peut être due à l'application du patch 7568350... si c'est le cas, c'est embêtant parce qu'il y a un patch mais seulement pour la 10.2.0.3 (donc il faudrait upgrader pour appliquer le patch ou demander un backport de celui-ci via une SR)
voilà le lien au cas où vous seriez dans ce cas de figure :
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2011, 21h47   #7
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
https://support.oracle.com/CSP/ui/fl...cDsrc=KB%29%29
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 09h32   #8
Membre actif
 
Homme Cyrille
Administrateur de base de données
Inscription : avril 2005
Messages : 112
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 32
Localisation : France, Meurthe et Moselle (Lorraine)

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

Informations forums :
Inscription : avril 2005
Messages : 112
Points : 191
Points : 191
Citation:
Envoyé par rudboy Voir le message
J'avais lu (à tort ou a raison) que pour exporter des bases d'une version d'oracle à une autre, il ne fallait pas utiliser les commandes expdp et impdp.

En plus, je n'arrive pas à trouver la bonne syntaxe pour exporter un user (param owner) avec dp.

Ah bon? c'est plutôt le contraire je pense. Il vaut mieux utiliser expdp et impdp, c'est plus rapide et il y a plus de possibilité et un expdp 10g est tout a fait compatible 11g.

La marche à suivre avec le client 10g:
Code :
1
2
3
4
5
6
 
sql> CREATE directory expdp_dir AS '/u01/backup/exports';
 
sql>GRANT READ,WRITE ON directory expdp_dir TO system, user1, user2, user3;
 
sql>expdp hr/hr DIRECTORY=expdp_dir DUMPFILE=schema_exp.dmp SCHEMAS=hr,sh,oe
et ensuite faire l'import...
IndianaAngus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 10h48   #9
Invité de passage
 
Inscription : mai 2004
Messages : 6
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 6
Points : 0
Points : 0
Envoyer un message via AIM à rudboy Envoyer un message via Yahoo à rudboy
Désolé de faire le novice mais c'est vraiment le cas...

J'ai encore quelques questions :


Heaven93
Citation:
Envoyé par Heaven93 Voir le message
il faut faire l'export avec le client 10g, pas le 11g
Donc, je fais l'export avec le client 10g de ma base 10g, ensuite j'importe avec le client 11g dans ma base 11g, c'est bien ça? (En utilisant les commandes exp/imp)


IndianaAngus
Citation:
Envoyé par IndianaAngus Voir le message
Ah bon? c'est plutôt le contraire je pense. Il vaut mieux utiliser expdp et impdp, c'est plus rapide et il y a plus de possibilité et un expdp 10g est tout a fait compatible 11g.
Comme pour l'exp/imp de Heaven93, j'utilise la commande expdp 10g pour ma base 10g et la commande impdp 11g pour ma base 11g?

Par contre, je ne comprends pas vraiment la commande :
Code :
sql>expdp hr/hr DIRECTORY=expdp_dir DUMPFILE=schema_exp.dmp SCHEMAS=hr,sh,oe
hr/hr : C'est mon user USER_SGDT avec son MdP
SCHEMAS=hr,sh,oe : Qu'est-ce que c'est?

Qu'est ce qui permet dans cette commande de récupérer les mêmes informations que le paramètre "OWNER" de la commande exp?
C'est à dire l'intégralité du schéma de mon user?
rudboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 15h50   #10
Membre actif
 
Homme Cyrille
Administrateur de base de données
Inscription : avril 2005
Messages : 112
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 32
Localisation : France, Meurthe et Moselle (Lorraine)

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

Informations forums :
Inscription : avril 2005
Messages : 112
Points : 191
Points : 191
Citation:
Comme pour l'exp/imp de Heaven93, j'utilise la commande expdp 10g pour ma base 10g et la commande impdp 11g pour ma base 11g?

hr/hr : C'est mon user USER_SGDT avec son MdP
oui et oui

Citation:
SCHEMAS=hr,sh,oe : Qu'est-ce que c'est?

Qu'est ce qui permet dans cette commande de récupérer les mêmes informations que le paramètre "OWNER" de la commande exp?
C'est à dire l'intégralité du schéma de mon user?
ca veut dire que tu exporte les schémas spécifié (ici 3 schémas, hr, sh et oe ainsi que tous les objets qui leurs sont associés)
IndianaAngus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 10h36   #11
Invité de passage
 
Inscription : mai 2004
Messages : 6
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 6
Points : 0
Points : 0
Envoyer un message via AIM à rudboy Envoyer un message via Yahoo à rudboy
J'ai déjà prévenu, c'est pas ma spécialité, alors désolé d'insister et de ne pas percuter complètement.

Citation:
Envoyé par IndianaAngusca
veut dire que tu exporte les schémas spécifié (ici 3 schémas, hr, sh et oe ainsi que tous les objets qui leurs sont associés)
Avec la commande "exp", lorsque j'utilise le paramètre OWNER=USER_SGDT, je ne me préoccupe pas du "schéma".
Il m'exporte toutes les tables liées à cet utilisateur.

Du coup dans la commande impdp, je dois mettre SCHEMAS=USER_SGDT?
Ou bien je n'en est même pas besoin, car si je ne précise rien, il m'exporte tout le schéma de l'utilisateur utilisé dans la commande :
Code :
expdp USER_SGDT/<MdP> DIRECTORY=expdp_dir DUMPFILE=schema_exp.dmp
ou
Code :
expdp USER_SGDT/<MdP> DIRECTORY=expdp_dir DUMPFILE=schema_exp.dmp SCHEMAS=USER_SGDT
ou autre chose que je n'aurais pas compris?
rudboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 16h23   #12
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
bonjour,

déjà tu ne peux pas importer avec datapump (impdp) ce qui a été exporté avec l'export simple. export simple (exp)=>import imple (imp) VS expdp datapump => impdp datapump.
ensuite un schema, c'est un user avec ses objets. le paramètre owner de exp est équivalent à schemas de expdp, sauf qu'avec datapump, tu as la définition du user en prime dans ton dump.
avec datapump tu peux paramétrer beaucoup de choses (et donc te les compliquer à loisir ou te les simplifier), et en particulier, ton schema (ou user) n'a pas besoin d'être créé dans la base cible. avec l'import classique, il faut les pré-créer.
pourquoi ne pas se lancer, une fois pour toute, avec une méthode?
mais avec le client 10g pour exp.
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 11h30   #13
Candidat au titre de Membre du Club
 
Inscription : août 2009
Messages : 21
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : août 2009
Messages : 21
Points : 12
Points : 12
Par défaut Une importation avec DB Link te permet d' importer directement sans exporter

Bonjour, une importation avec DB Link te permet d' importer sans exporter. Pour cela

1. Tu dois créer un lien public
Code :
1
2
3
4
5
6
 
CREATE PUBLIC DATABASE LINK "TON_USER_LINK"  
CONNECT TO 
"TON_USER   IDENTIFIED BY MOt_DE_PASSE" 
USING 
'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=TON_HOST_SOURCE)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=LE_NOM_DE_SERVICE_DE_TON_HOST_SOURCE)))';
2.Ton nouveau user doit avoir les droits suivants:
Code :
1
2
3
4
GRANT READ, WRITE ON DIRECTORY imp_REPERTOIRE TO TON_USER_A_IMPORTER;		
grant connect, resource to TON_USER_A_IMPORTER;
grant create database link toTON_USER_A_IMPORTER;
GRANT imp_FULL_DATABASE,CONNECT,EXECUTE_CATALOG_ROLE to TON_USER_A_IMPORTER;
3.Pour importer directement sans exporter
Code :
1
2
3
4
impdpTON_USER_A_IMPORTER/MOt_DE_PASSE@SID
DIRECTORY=imp_REPERTOIRE 
NETWORK_LINK=TON_USER_LINK 
<Autres options>
arajda est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/02/2011, 11h45   #14
Membre actif
 
Homme Cyrille
Administrateur de base de données
Inscription : avril 2005
Messages : 112
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 32
Localisation : France, Meurthe et Moselle (Lorraine)

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

Informations forums :
Inscription : avril 2005
Messages : 112
Points : 191
Points : 191
Citation:
Envoyé par rudboy Voir le message

Code :
expdp USER_SGDT/<MdP> DIRECTORY=expdp_dir DUMPFILE=schema_exp.dmp SCHEMAS=USER_SGDT
Oui comme ca c'est bon.
IndianaAngus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 16h17   #15
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
c'est bien la peine de compliquer encore les choses? on s'éloigne du problème initial là?
il est fait cet essai?
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 19h33   #16
Invité de passage
 
Inscription : mai 2004
Messages : 6
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 6
Points : 0
Points : 0
Envoyer un message via AIM à rudboy Envoyer un message via Yahoo à rudboy
Merci à tous, je pense que j'y vois beaucoup plus clair.


Citation:
Envoyé par Heaven93
c'est bien la peine de compliquer encore les choses? on s'éloigne du problème initial là?
il est fait cet essai?
Oui et non, en utilisant exp/imp, je suis tombé sur un os non lié à ces problèmes : Le 'NLS_CHARACTERSET' n'est pas correct :

Base 11gr2 actuelle :
Base 11gr2 cible:
Du coup mon Exploitant Système (en charge de l'installation Oracle) est en cours de réinstallation complète.

Je dois donc attendre qu'il me redonne la main sur la base.


Je reviens vers vous dès que j'ai pu essayé ; j'utiliserais les commandes suivantes :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
1) EXPORT without statistics 
expdp system/***** directory=DATA_DMP_DIR dumpfile=export_user_USER_SGDT.dp.dmp schemas=USER_SGDT content=ALL exclude=STATISTICS LOGFILE=export_user_USER_SGDT.dp.dmp.log 
 
2) IMPORT without indexes and statistics 
impdp system/***** directory=DATA_DMP_DIR dumpfile=export_user_USER_SGDT.dp.dmp remap_schema=USER_SGDT:USER_SGDT content=ALL exclude=INDEX,STATISTICS table_exists_action=REPLACE LOGFILE=import_of_export_user_USER_SGDT.dp.dmp.log
 
3) Create indexes 
- create sql file 
impdp system/***** directory=DATA_DMP_DIR dumpfile=export_user_USER_SGDT.dp.dmp remap_schema=USER_SGDT:USER_SGDT sqlfile=indexese_USER_SGDT.sql 
 
- create indexes with the sql file 
sqlplus USER_SGDT @indexese_USER_SGDT.sql
rudboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h38.


 
 
 
 
Partenaires

Hébergement Web