Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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/02/2007, 10h06   #1
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Par défaut dataguard [oracle 9i]

Bonjour à tous,

Je vous solicite à nouveau pour essayer de trouver une solution.
Mon problème est simple :
J'ai donc 2 bases qui sont couplés avec dataguard, le problème est que régulierement je dois importer des fichiers très volumineux dans ma base maitre.

Je vous explique le principe :
- les fichiers sont importer dans une table temporaire,
- les enregistrements selectionnés sont importer dans une autre table,
- une fois le traitement terminé la table temporaire est vidé.

Ce traitement est effectuer autant de fois que j'ai de fichiers.
Auparavant mon traitement faisait un truncate de ma table temporaire, mais dataguard perdait le fils, j'ai donc créer une procedure pour deleter les données de ma table temporaire avec des commit régulier pour permettre de garder les 2 bases synchro.

La galère est que cela prend un temps fou
et en plus ça genere des tas de logs

Est ce que quelqu'un à une autre idée ?

Est ce qu'il est possible de spécifier à dataguard de ne pas prendre en compte cette table temporaire ?
Si non, est ce que si je droppe ma table et la recrée à chaque fois dataguard pourra suivre ?

Merci d'avance
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 11h26   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 397
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 397
Points : 3 298
Points : 3 298
Bonjour

Autant que je sache, TRUNCATE est supporté par un système dataguard, au même titre que les autres instructions DDL.
Pour confirmer cette "croyance", je viens de fouiner pas mal sur metalink, et je ne trouve référence d'aucun problème ou restriction de ce type.
TRUNCATE est donc censé fonctionner.

Si vous êtes en dataguard physique, vous ne pouvez pas exclure une table de la réplication.

En revanche, vous devriez pouvoir charger votre table temporaire en mode NOLOGGING, à condition que vous ne fassiez ensuite que des sélection sur cette table temporaire. (Dans le cas contraire, vous allez avoir des erreurs à foison dans la base secondaire).
Ce n'est cependant pas une pratique recommandée.
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 11h55   #3
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Merci Pomalaix,

Citation:
Autant que je sache, TRUNCATE est supporté par un système dataguard, au même titre que les autres instructions DDL.
Ben, en fait pour nous ça passe pas. Je suis pas dba, alors je ne peux pas en dire plus.

Citation:
Si vous êtes en dataguard physique, vous ne pouvez pas exclure une table de la réplication.
En fait nous sommes en dataguard logique. Est ce possible dans ce cas là ?

Est ce que vous croyez qu'en droppant la table et en la recréant à chaque fois, ça pourrait marcher ?
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h12   #4
Rédacteur
 
Inscription : décembre 2002
Messages : 2 397
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 397
Points : 3 298
Points : 3 298
Citation:
Envoyé par kalyparker
En fait nous sommes en dataguard logique. Est ce possible dans ce cas là ?
Vous devriez chercher dans la direction de DBMS_LOGSTDBY.SKIP.

Je ne l'ai pas pratiquée, mais à la lecture de la doc j'ai l'impression que cette procédure se limite à ne pas appliquer sur la base de secours les opérations que l'on a choisi d'exclure, mais n'empêche pas la génération et le transfert des archivelogs correspondant.
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h26   #5
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Pomalaix,

Je vais chercher dans ce sens la.

Je met le sujet à résolu même si il n'y est pas encore

Lorsque j'aurai trouvé un moyen de faire ça, je viendrais en faire profiter la communauté.

@+

Encore merci Pomalaix
kalyparker 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 01h44.


 
 
 
 
Partenaires

Hébergement Web