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.
Partager