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 02/11/2007, 15h13   #1
Membre régulier
 
Inscription : juin 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 89
Points : 71
Points : 71
Par défaut 10gR2: DataPump et les sequences

Bonjour,

Voici mon pb: je veux importer les données d'un schéma dans une base dans laquelle ce schéma existe déjà. La clause TABLE_EXISTS_ACTION=replace est très utile pour les table, cependant les sequences ne sont pas remplacées et l'import génère des erreurs. Ce qui entraîne que les séquences ne sont plus synchro avec les valeurs dans les clefs primaires => violation de contrainte à l'exploitation.

Après avoir re-parcouru le book "Utilities" de la documentation en ligne de 10gR2, je n'ai pas trouvé de paramétrage qui me permette de contourner ce pb.

L'export:

Code :
expdp sgt/****@**** schemas=sgt directory=dp_dir dumpfile=sgt.dmp
L'import:

Code :
impdp sgt/***** schemas=sgt directory=data_pump_dir dumpfile=sgt.dmp table_exists_action=replace
L'erreur type:
Code :
1
2
3
4
...
ORA-31684: Le type d'objet SEQUENCE:"SGT"."SQ_AUDIT" existe déjà
...
Tâche "SGT"."SYS_IMPORT_SCHEMA_01" exécutée avec 17 erreur(s) à 14:27:05
En dehors de faire un drop user cascade avant l'import, qqun a-t-il une solution à ce pb???

D'avance merci!!
bleporini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2007, 15h25   #2
Membre confirmé
 
Inscription : juillet 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 357
Points : 226
Points : 226
Tu peux essayer de suprimer juste les sequences et voir si ca passe.

Sinon tu n a qu a recree les sequences avec une valeur de depart adequate
ZashOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2007, 15h29   #3
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Et si tu fais un drop des séquences avant l'import ?
Après import et donc la recréation des séquences il te reste à mettre en cohérence les séquences avec les données...

J'ai fait ça hier et le principale problème est de connaitre les règles qui lient une séquence à tels champs...

Si tu as besoin, j'ai fait une procédure qui fait ça avec le postulat qui pose que le nom de la séquence est le même que le champ d'une table et qui met la séquence à jour en conséquence.

D'ailleurs ne serait-ce pas un script qui pourrait aller dans une FAQ ? J'imagine que je ne suis pas le premier à me confronter à ce problème....
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2007, 15h30   #4
Membre régulier
 
Inscription : juin 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 89
Points : 71
Points : 71
Citation:
Tu peux essayer de suprimer juste les sequences et voir si ca passe.
Oui j'y ai également pensé, mais comme pour bien faire les choses il faut repérer toutes les sequences avant de les effacer, autant détruire l'utilisateur.

J'aurais voulu savoir s'il y avait une possibilité plus élégante comme un paramétrage de datapump
bleporini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2010, 15h29   #5
Membre à l'essai
 
Administrateur de base de données
Inscription : mai 2003
Messages : 93
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

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

Informations forums :
Inscription : mai 2003
Messages : 93
Points : 24
Points : 24
Supprimer les séquences avant l'import fonctionne mais ce n'est pas une très bonne solution ...

D'autres suggestions ? J'ai le même problème
milka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2010, 16h06   #6
Membre régulier
 
Inscription : juin 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 89
Points : 71
Points : 71
Depuis la création de ce post, je n'ai pas d'autre information à ajouter... La procédure que j'utilise depuis est destruction du schéma -> impdp (je me rappelle plus si je recrée manuellement le schéma avant )

Les possibilités de data pump me paraissent d'ailleurs parfaitement incomplètes vis à vis de ce genre de détails... quid de 11G?
bleporini 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 04h39.


 
 
 
 
Partenaires

Hébergement Web