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 08/07/2007, 15h12   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 21
Points : 11
Points : 11
Par défaut IMP - Import de partitions mises-à-jours

Hello,
Peut-être qqun pourra m'aider à trouver une astuce pour écraser une partition existante dans la base source avec la fonction Oracle IMP. Je n'ai pas trouvé le paramètre...Pour le moment, il fait du APPEND...
Attention, je ne peux pas faire de truncate table avant ...

Explications: chaque mois j'importe (avec IMP) 4 partitions des 4 mois précédents. Je ne veux pas faire de l'APPEND mais du "Replace"... car les 4 partitions sous mises-à-jours chaque mois...

Qqun pourrait-il m'aider à trouver une solution? (paramètre de la fonction IMP? Ou singleton?...)
JahPil78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2007, 16h22   #2
Membre régulier
 
Avatar de jacquesh
 
Développeur informatique
Inscription : février 2005
Messages : 269
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 269
Points : 82
Points : 82
peut tu préciser ta version d'oracle ?? 8i, 9i, 10g, ...??
__________________
Citation:
En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche.
jacquesh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2007, 16h29   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 21
Points : 11
Points : 11
Par défaut IMP - Mises-à-jour de partitions

Il s'agit de la 10g ... Par contre, j'utilise IMP et non IMPDP ...
JahPil78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2007, 16h30   #4
Membre régulier
 
Avatar de jacquesh
 
Développeur informatique
Inscription : février 2005
Messages : 269
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 269
Points : 82
Points : 82
ce ne serai pas cette option (en gras) ??

Code :
imp system/manager file=expdat.dmp destroy=y full=y ignore=y log=expdat.log
__________________
Citation:
En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche.
jacquesh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2007, 16h40   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 21
Points : 11
Points : 11
Par défaut IMP - Mises-à-jour de partitions

ça paraît en effet pas mal ... sauf qu'en faisant un destroy=y, je vais perdre les anciennes partitions dans ma table cible.

Explications: chaque mois, je load les 4 mois (4 partitions) précédentes...
si en juillet, je load mars, avril, mai, juin
et qu'en aout je load avril, mai, juin, juillet avec un destroy=y, je vais perdre la partition de mars...

là est mon problème...
JahPil78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2007, 17h05   #6
Membre régulier
 
Avatar de jacquesh
 
Développeur informatique
Inscription : février 2005
Messages : 269
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 269
Points : 82
Points : 82
et si tu fait l'import en te basant sur une requete SELECT (VUE, Vue materialisé) qui contient les N mois (calculé en PL/SQL) ?

sinon ... je ne suis pas expert Oracle mais une patition par mois me parrait bizard comme structure... (à moins d'avoir plusieurs millions de row par mois ??)
__________________
Citation:
En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche.
jacquesh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 00h05   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 21
Points : 11
Points : 11
Par défaut IMP - Mises-à-jour de partitions

En effet, 4 millions de lignes par mois .. ce qui amène à une partition mensuelle ...
Oui, passer par une table de staging est la solution la plus simple mais coûteuse (load, storage, ...)

Une idée serait de placer un trigger sur l'insert qui ferait du update sur l'existant... ce qui concerverait les anciennes partitions et mettrait à jour les partitions qui se chevauchent ...

Question: est-ce qu'un trigger sur une table cible se déclanche lors de la fonction IMP ?
JahPil78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 09h44   #8
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
1) destroy :
destroy n'a rien à voir avec l'effacement d'une table/partition. Destroy concerne les commandes CREATE TABLESPACE uniquement.

2) truncate :
truncate partition me parait la bonne approche
Code :
1
2
 
ALTER TABLE t TRUNCATE partition p1;
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 10h16   #9
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 21
Points : 11
Points : 11
Oui, juste, j'avais bien pensé au truncate partition p1.
Sauf que je ne connais pas, avant l'imp, le nom de la partition à truncater...

Ce qui signifie que je devrais faire chaque mois mon IMP de 4 partitions (en APPEND pour les mois existants en base) puis je lance une routine après l'IMP qui fait un truncate des "vieilles" partitions qui étaient à double?

C'est ça ton idée pour mon problème (qui est aussi un problème de process, j'en conviens )?
JahPil78 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 20h19.


 
 
 
 
Partenaires

Hébergement Web