IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Mise à jour entre plusieurs bases


Sujet :

Oracle

  1. #1
    jc2
    jc2 est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 27
    Points : 33
    Points
    33
    Par défaut Mise à jour entre plusieurs bases
    Bonjour,

    j'aimerais avoir un avis sur la solution que je propose au problème suivant :

    j'ai une base maitre et 8 bases esclaves.

    Chaque fois qu'une insertion est faite dans une table particulière Te d'un esclave, il faut aussitot récupérer une des informations insérées et la mettre dans une table Tm de la base maitre.

    Par ailleurs, chaque fois qu'une ligne est modifiée dans une table Te, il faut également récupérer l'événement pour mettre à jour la table Tm.

    Les bases esclave ont toutes la même structure.

    La solution que je propose est de placer un trigger sur les tables Te de chaque base esclave. Je crée une table Tt tampon dans chaque base esclave. Chaque fois qu'une insertion est faite dans la table Te, le trigger insère les données dans la table tampon.

    Chaque fois qu'une mise à jour est faite sur une table Te, je mets à jour la table tampon Tt avec un autre trigger.

    Je crée un dblink dans chaque base esclave vers la base maitre.


    Ensuite, je place un trigger dans la table tampon qui va insérer les données dans la table Tm distante quand une insertion est faite. Je place également un trigger sur cette table pour intercepter les mises à jour et mettre à jour les données dans la table Tm.

    Est-ce que cette solution est correcte ?

    Y a-t-il possibilité de continuer à faire des mises à jour des table esclave Te et des tables tampon Tt si la base maitre n'est pas ouverte : en clair, le trigger (AFTER INSERT ou AFTER UPDATE sur les tables tampon Tt plante mais les tables Tt sont toujours modifiées ?

    merci de votre aide.

  2. #2
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    As tu regardé un peu du coté des MATERIALIZED VIEWS qui offrent en standard un méchanisme assez proche de ce que tu decris

  3. #3
    jc2
    jc2 est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 27
    Points : 33
    Points
    33
    Par défaut
    merci Wurlitzer

    ça me parait plus simple que les triggers. Je vais tenter la mise en place en fin de semaine.

Discussions similaires

  1. Mise à jour de plusieurs bases de données
    Par InfOCynO dans le forum Développement
    Réponses: 10
    Dernier message: 23/10/2012, 10h54
  2. Script générique de mise à jour de plusieurs bases de données
    Par yakitori dans le forum Administration
    Réponses: 2
    Dernier message: 20/06/2011, 14h03
  3. Mise à jour entre plusieurs fichiers
    Par danydanydan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/11/2009, 16h41
  4. mise a jour entre 2 bases
    Par kimo0147 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2006, 16h52
  5. mise à jour entre 2 bases
    Par kimo0147 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/09/2006, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo