|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() |
Bonjour,
Je voudrais savoir s'il est possible de faire la chose suivante : - avoir une base en ligne sur laquelle des transactions sont faites tout au long de la journée (et la nuit, 7/7-24/24) - des purges sont faites régulièrement sur cette base et suppriment des éléments plus vieux qu'une certaine date (entre 5 jours et un an) - avoir une base d'archive dont le contenu est identique à la base en ligne mais sans les purges : les données supprimées dans la base en ligne ne le sont pas dans la base d'archive Autrement dit : synchroniser les insert/update mais pas les delete. Je ne sais pas s'il existe ce genre d'outil ou s'il faut carrément le faire à la main car j'imagine que l'existant se contente d'une synchro type online/backup, donc à l'identique. Il semble qu'il existe des outils répondant en partie à ce problème sur PostGreSQL et MySQL. La problématique est de ne pas impacter la base en ligne qui gère des transactions avec un impératif de temps de réponse par des requêtes de statistiques. C'est pourquoi ces stats seraient faites sur la base d'archive, qui d'ailleurs contiendrait des données plus vieille pour faire des stats plus complètes ou retrouver des choses qu'on n'a plus sur la base en ligne. Les stats peuvent être de la simple consultation ou de l'agrégat sur de longues périodes avec beaucoup de données. Elles sont accessibles à plusieurs clients simultanément (plusieurs dizaines ou centaines à terme). Voilà, je pense avoir été clair, sinon n'hésitez pas à poser vos questions. Et merci pour votre aide ! |
|
|
10
|
|
|
#2 |
|
Membre régulier
![]() Andrei LitvinovAdministrateur de base de données Inscription : avril 2012 Messages : 22 ![]() |
Bonjour,
vous pouvez utiliser 'Oracle streams' (http://docs.oracle.com/cd/E11882_01/...r.htm#CHDJACGF). Afin que conserver toutes les lignes dans la table de destination, créez et enregistrez une 'DML Handler' procédure pour 'DELETE' à cette table. Ne se flatter pas que vous pouvez configurer telle synchronisation une fois et l'oublier depuis. Les programmes de la synchronisation partielle sont fragiles souvent. Imagines qu'une contrainte soit ajoutée à la table source, et les lignes de la table source satisfassent à la contrainte, mais il y a des lignes vieux de la table de destination que ne satisfassent pas. Puisque la synchronisation exigera des efforts pour la maintenir, n'est-il opportun de déployer un entrepôt de données étoffé (avec modèle de données en étoile)? Vous pouvez avoir des requêtes historiques très rapides ainsi. |
|
|
10
|
|
|
#3 |
|
Membre à l'essai
![]() |
Bonjour,
Merci pour votre réponse, je vais lire cette doc dès que j'en aurai le temps Par contre, est-ce que ce système peut fonctionner entre Oracle et MySQL ? Je vais également me renseigner sur la conception d'un data warehouse, puisque c'est de ça que nous avons besoin. |
|
|
00
|
|
|
#4 | ||||||||||||||||||||||||||||||||||||
|
Membre régulier
![]() Andrei LitvinovAdministrateur de base de données Inscription : avril 2012 Messages : 22 ![]() |
Bonjour,
Un exemple de la configuration d'Oracle Streams avec 'downstream capture'. L'effort additionnel de la base source sera minimal. La base OR11203A est une base source, la base OR11203B est une base de destination. Toute les deux bases sont 'Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit, Linux'. Un schéma destiné pour réplication: Code :
de la base source à la base de destination: de la base de destination à la base source: Vérifions les paramètres de l'instance source: Code :
Code :
Changions des paramètres d'instances: La base source Code :
Code :
Code :
Code :
dans la base source: Code :
Code :
Code :
Code :
Code :
Code :
Code :
Code :
Code :
Code :
Code :
à travers "Oracle Database Gateway". |
||||||||||||||||||||||||||||||||||||
|
|
30
|
|
|
#5 |
|
Membre à l'essai
![]() |
Waouh ! Merci beaucoup pour ce post très détaillé ! Dès que j'aurai le temps, j'essaie de mettre ça en place sur des bases de test.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com