Base de données II Module 3b



Documents pareils
Configuration de SQL server 2005 pour la réplication

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Module BDR Master d Informatique (SAR)

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Notes de cours : bases de données distribuées et repliquées

Réplication des données

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Chapitre 10. Architectures des systèmes de gestion de bases de données

Bases de Données Réparties

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Gestion des utilisateurs et de leurs droits

La réplication sous SQL Server 2005

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Tableau Online Sécurité dans le cloud

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

et Groupe Eyrolles, 2006, ISBN :

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

//////////////////////////////////////////////////////////////////// Administration bases de données

Bases de Données Avancées

ORACLE DIAGNOSTIC PACK 11G

Aide en ligne du portail

LANDPARK ACTIVE DIRECTORY OPEN/LDAP

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Introduction : présentation de la Business Intelligence

SAP BusinessObjects Web Intelligence (WebI) BI 4

Chapitre 1 : Introduction aux bases de données

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Administration des bases de données. Jean-Yves Antoine

Préparer la synchronisation d'annuaires

Bases de données et sites WEB

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Enterprise Intégration

Windows Internet Name Service (WINS)

Clients et agents Symantec NetBackup 7

WEA Un Gérant d'objets Persistants pour des environnements distribués

Le Langage SQL version Oracle

Les Utilisateurs dans SharePoint

Synchronisation Mysql (Replication)

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

et Groupe Eyrolles, 2006, ISBN :

Utiliser Access ou Excel pour gérer vos données

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

420-PK6-SL Banques de données Avancées. UTILISATEURS (suite)

Intégrité des données

LISTES DE DISTRIBUTION GÉRÉ PAR SYMPA DOCUMENT EXPLICATIF DE ÉCOLE POLYTECHNIQUE

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Haute disponibilité avec Microsoft SQL Server

Cours Bases de données 2ème année IUT

OASIS Date de publication

Du 10 Fév. au 14 Mars 2014

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

1. Comment accéder à mon panneau de configuration VPS?

Guide de configuration de SQL Server pour BusinessObjects Planning

Sophos Mobile Control Guide d'administration. Version du produit : 4

Manuel d utilisation NETexcom

Cyberclasse L'interface web pas à pas

ORACLE TUNING PACK 11G

Guide de l'utilisateur pour l'assistant d importation de SAP BusinessObjects Enterprise

Compétences Business Objects

Netissime. [Sous-titre du document] Charles

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

MYXTRACTION La Business Intelligence en temps réel

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Découverte de Moodle

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team

Guide d'installation. Release Management pour Visual Studio 2013

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Sql Server 2005 Reporting Services

SQL Server 2012 Administrez une base de données : Exercices et corrigés

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Le rôle Serveur NPS et Protection d accès réseau

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Accès Gratuit - Conditions Générales d'utilisation

Didacticiel de mise à jour Web

Partie II Cours 3 (suite) : Sécurité de bases de données

Guide de déploiement

Use It Messaging Server V8 Bases

TeamViewer 9 Manuel Management Console

Déploiement, administration et configuration

TP Administration Oracle

Description de SQL SERVER. historique

TP Bases de données réparties

Nouveau Web Client marquant, Cumulus Video Cloud, optimisations de la base de données, et plus..

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Windows Server Chapitre 4 : Active Directory Gestion des utilisateurs, des ordinateurs et des groupes

Pour valider les pré-requis nécessaires, avant d'aborder le TP, répondez aux questions ciaprès

Transcription:

Base de données II Module 3b Bases de données répliquées Environnement Oracle et SQL Server Eddy.Meylan@hegne.ch E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 1

Plan du module Présentation d environnements de réplication de différents constructeurs Approche Oracle Approche SQL Server Résolutions de conflits de copies divergentes Approche Oracle E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 2

Réplication dans Oracle L environnement de réplication Oracle permet la réplication des objets suivants: Tables Indexes Vues Packages et corps de Package Procédures et Fonctions Types définis par l'utilisateur et corps de types Déclencheurs Synonymes E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 3

Types de réplication Oracle offre 3 types de réplication. Réplication multi-maîtres Multimaster Replication Réplication par cliché Materialized View Replication Réplication hybride Combinaison des deux autres types E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 4

Réplication multi-maîtres Permet à plusieurs sites de gérer des groupes d'objets répliqués dans plusieurs bases de données en communiquant ensemble et en agissant d'égal à égal Elle est également appelée réplication "peer-to-peer " Chaque site peut mettre à jour les données sur n'importe quel autre site participant à la réplication.» La réplication multimaîtres nécessite la version Oracle Enterprise Edition Oracle Standard Edition" ne supporte que la configuration d'un seul site maître. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 5

Schéma de principe de la réplication multi-maîtres E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 6

Caractéristiques de la réplication multi-maîtres On opte pour ce mode de réplication dans les cas suivants: Les données sont mises à jour dans des intervalles courts. Il n'est pas acceptable d'avoir des copies de données qui ne sont pas mises à jour dans un délai assez court. Les mises à jour se font depuis plusieurs sites. Le volume de données est grand. Les réplicats sont complets et non partiels. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 7

Réplication par cliché Un cliché (également appelé snapshot) est une copie totale ou partielle de données à un moment donné. Appelée aussi Materialized View Replication Le cliché peut être rafraîchi manuellement à la demande ou automatiquement en utilisant un programmateur.» La réplication par cliché nécessite l'une des versions Oracle Enterprise Edition Oracle Standard Edition Oracle Personal Edition E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 8

Schéma de principe de la réplication par cliché E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 9

Caractéristiques de la réplication par cliché On opte pour ce type de réplication dans les cas suivants: Les données sont principalement statiques et ne changent pas souvent. Il est acceptable d'avoir des copies de données qui ne sont pas à jour. La réplication concerne des petits volumes de données. Les sites sont souvent déconnectés. Stockage des agrégats dans des entrepôts de données. Les données sont mises à jour dans des intervalles plus longs. Les réplicats peuvent être partiels. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 10

Clichés modifiables Il est possible de créer des updatable Materialized view qui vont permettre aux utilisateurs d'insérer, de mettre à jour et de supprimer des tuples de la table de base sur le master site au travers du réplicat. Il faut ajouter la clause FOR UPDATE lors de la création pour qu'elle devienne une relation modifiable. Utilise un journal pour les mise à jour du cliché modifiable E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 11

Rafraîchissement de cliché modifiable Execute fast refresh Cliché modifiable Active la queue de transaction différée pour mettre a jour le site maître Utilise le log pour identifier les m.a.j de la table maitre Propage les m.a,j identifiées Fin du refresh fast E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 12

Rafraîchissement des updatable materialized view Les updatable Materialized view permettent d'interroger et de mettre à jour les données locales. Elles permettent d'augmenter la sécurité des données en ne répliquant qu'un sous-ensemble des données de la table de base. Elles nécessitent un environnement de réplication complet pour être rafraîchies!!! E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 13

Réplication hybride La réplication hybride est un environnement dans lequel cohabitent les deux formes de réplications précédentes: cliché et multi-maîtres. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 14

Environnement répliqué Pour mettre en place un environnement répliqué, il faut construire divers objets dans les bases de données. On parlera tout d abord de site maître pour la base de données principale, alors que la base de données servant de réplication s appelle un site cliché. L environnement répliqué supporte tous les types de réplication Symétrique / Asymétrique Synchrone / Asynchrone E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 15

Mécanisme de réplication synchrone E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 16

Mécanisme de réplication asynchrone E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 17

Préparation de la réplication La préparation consiste à configurer correctement l'ensemble des étapes nécessaires, des objets répliqués et des processus de propagation et de purge des transactions Administrateurs de réplication BD1 Propagation des transactions Groupe de réplication Database link BD2 BD2 Purge des transactions Groupe de réplication Purge des transactions Propagation des transactions Database link BD1 E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 18

L'administrateur de réplication L'administrateur de réplication est un utilisateur créé sur chaque base de données participant à la réplication. Il a pour rôle la gestion de l'environnement de réplication. Il doit disposer des privilèges nécessaires pour gérer la réplication. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 19

Exemple de création d un administrateur Connexion en tant que DBA system par exemple CREATE USER USER repadmin IDENTIFIED BY BY repadmin; BEGIN BEGIN DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA( username => => 'REPADMIN'); END; END; / GRANT GRANT COMMENT ANY ANY TABLE TABLE TO TO repadmin; GRANT GRANT LOCK LOCK ANY ANY TABLE TABLE TO TO repadmin; GRANT GRANT SELECT ANY ANY DICTIONARY TO TO repadmin; GRANT GRANT EXECUTE ANY ANY PROCEDURE TO TO repadmin; E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 20

Propagateur et receveur Le propagateur est l'utilisateur responsable de la propagation des transactions déférées d'un site maître vers un autre site maître. Cette tâche peut être confiée à l'administrateur de la réplication "repadmin". Le receveur est l'utilisateur qui reçoit les transactions déférées envoyées par les propagateurs des autres sites. Cette tâche peut être confiée à l'administrateur de la réplication "repadmin". E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 21

Exemple -- -- Propagateur BEGIN BEGIN DBMS_DEFER_SYS.REGISTER_PROPAGATOR( username => => 'REPADMIN'); END; END; / --Receveur BEGIN BEGIN DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP ( username => => 'REPADMIN', privilege_type => => RECEIVER', list_of_gnames => => NULL); END; END; / E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 22

Les liens de bases de données (database link) Un lien de base de données est une adresse (pointeur) qui définie un chemin unidirectionnel d'une base de données vers une autre Les liens de bases de données constituent le concept central dans un environnement de bases de données distribuées ou répliquées. Les liens de bases de données peuvent être privés ou publics. Les liens privés ne peuvent être utilisés que par l'utilisateur qui les a créés. Les liens publics sont accessibles à tous les utilisateurs de la base de données. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 23

Purge des transactions accomplies Afin de maintenir la taille de la queue des transactions déférées et accomplies dans des proportions contrôlables, la programmation d'une purge automatique s'avère nécessaire. Connect repadmin/repadmin@bd1; BEGIN BEGIN DBMS_DEFER_SYS.SCHEDULE_PURGE( next_date => => SYSDATE, interval => => '/*1 '/*1 min min */ */ sysdate + 1/(60*24)', delay_seconds => => 0, 0, rollback_segment => => ''); ''); END; END; / E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 24

Propagation des transactions Il s'agit de définir la fréquence de propagation des transactions d'un site vers l'autre. Connect repadim/repadmin@bd1; BEGIN BEGIN DBMS_DEFER_SYS.SCHEDULE_PUSH( destination => => 'BD2', interval => => '/*1 '/*1 min*/ min*/ sysdate + 1/(60*24)', next_date => => SYSDATE, stop_on_error => => FALSE, delay_seconds => => 0, 0, parallelism => => 0); 0); END; END; / E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 25

Notion de site maître Un site maître qui représente la base de donnée principale. Oracle utilise la terminologie MASTER SITE Tous les sites maître communiquent directement avec les autres afin de propager les données et les mises à jour. Dispose d objets pour contrôler la propagation E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 26

Notion de site cliché Un site cliché qui va contenir des copies complètes ou partielles des objets du site maître. Oracle utilise la terminologie SNAPSHOT SITE Le site cliché supporte généralement des copies en lectures seules Le site cliché peut contenir des copies qu'il est possible de mettre à jour (UPDATABLE SNAPSHOT) pour autant qu'elles appartiennent à un groupe de clichés SNAPSHOT GROUP E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 27

Site de définition principal Il s'agit d'un site choisi parmi les sites participant à la réplication pour effectuer des tâches d'administration de la réplication. Même si dans un environnement multi-maîtres appelé également "Peer-to-Peer", il n'existe aucune hiérarchie entre les sites et aucune importance d'un site par rapport à l'autre, il existe néanmoins la notion de "site de définition principal". Par défaut, le site de définition principal est le site depuis lequel le groupe de réplication a été créé. On peut, toutefois, déclarer un site comme étant site de définition principal à tout moment. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 28

Groupes de réplications Dans un environnement répliqué, Oracle gère les objets de réplication avec des groupes de réplication Un groupe de réplication est une collection d objet de réplication qui ont un lien logique entre eux Les objets d un groupe de réplication sont administrés ensemble. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 29

Groupe et schéma Un groupe ne correspond pas forcément à un schéma. Un groupe peut contenir des objets provenant de plusieurs schémas et les objets d un schéma peuvent appartenir à plusieurs groupes de réplication. La seule restriction réside dans le fait qu'un objet ne peut appartenir qu'à un et un seul groupe de réplication. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 30

Groupes maîtres Les groupes de réplication maîtres sont appelés MASTER GROUP Les objets d'un groupe peuvent provenir de plusieurs bases de données. La seule restriction est qu'un objet répliqué ne peut appartenir qu'à un seul groupe. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 31

Groupes clichés Sur un site cliché, les groupes peuvent contenir une copie partielle ou complète des objets du group maître cible. Tandis que la réplication sur un site maître doit contenir une copie exacte des objets de la base de données. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 32

Liens entres groupes maîtres et clichés E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 33

Groupe de rafraîchissement Afin de pouvoir effectuer des rafraîchissements, il est indispensable de créer des refresh group sur un master site ou un snapshot site. Lorsque des mises à jour auront été effectuées, il suffira d'attendre le rafraîchissement automatique ou alors d'exécuter une procédure qui effectuera un rafraîchissement manuel de tous les objets du groupe. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 34

Groupe de rafraîchissement E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 35

Ajout d'un site à la réplication Cette action permet d'ajouter des sites à l'environnement de réplication en précisant le nom du site et le groupe de réplication. Elle doit être lancée depuis le site de définition principal. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 36

Objets de réplication Tout objet devant participer à la réplication doit être ajouté au groupe de réplication. Tout objet ajouté au groupe de réplication nécessite la génération du support de réplication. Le support de réplication est l'ensemble des triggers et des pacakages générés par Oracle pour assurer la réplication de l'objet spécifié. Si une table contient des clés étrangères, Oracle recommande de les indexer et de répliquer ces index. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 37

Création du MASTER SITE Créer l administrateur de réplication Utilisateur et enregistrement de administrateur Création du propagateur Le propagateur est responsable de propager les transactions différées aux autres sites. Création de la purge de programmateur Purge complètement les transactions différées des sites maîtres et des sites clichés, afin de garder une taille normale de la file d attente. Création des groupes et placement des objets à répliquer E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 38

Création du SNAPSHOT SITE Créer l administrateur de réplication Enregistrement du propagateur Enregistrement du receveur Création de la purge du programmateur Création du «valideur» de transaction différées Création des snapshot groupes E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 39

Plan du module Présentation d environnements de réplication de différents constructeurs Approche Oracle Approche SQL Server Résolutions de conflits de copies divergentes Approche Oracle E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 40

Réplication dans SQL Server SQL serveur permet de répliquer : Tables Index Vues Procédures et fonctions Les triggers E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 41

Concept global de réplication SQL Server E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 42

L'éditeur (Publisher) L'éditeur est un serveur qui détient les données répliquées et les met à disposition de la réplication vers d'autres serveurs. L'éditeur peut contenir une ou plusieurs publications. L'éditeur détecte les changements des données dans une réplication transactionnelle. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 43

Le distributeur (Distributor) Le distributeur est un serveur qui héberge la base de données de distribution et stocke l'historique des données. Le distributeur peut être un serveur séparé de l'éditeur, on parle alors de "distributeur distant". Si l'éditeur et le distributeur seraient sur le même serveur, on parle de "distributeur local". Le rôle du distributeur varie selon le type de réplication E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 44

Le rôle du distributeur Réplication par cliché Stock temporairement les transactions Héberge la plupart des agents de réplication Stocke les méta-données Stock l'historique des données. Réplication transactionnelle Héberge la plupart des agents de réplication. Stock les méta-données Stock l'historique des données. Réplication par fusion Stock les méta-données Stock l'historique des synchronisations. Héberge l'agent des clichés Héberge l'agent de la fusion pour les abonnement de type "push". E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 45

Abonné (Subscriber) L'abonné est un serveur qui reçoit les données répliquées. L'abonné s'abonne aux publications et non individuellement aux articles qui forment la publication. Selon le type de réplication, l'abonné peut également propager les modifications des données vers l'éditeur ou les republier vers d'autres abonnés. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 46

Publication La publication est une collection d'articles d'une base de données. Les publications sont crées chez l'éditeur. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 47

Article Un article est tout objet de la base de données apte à être répliqué. Il peut s'agir d'une table entière ou uniquement de certaines colonnes (filtre vertical) ou de certaines lignes (filtre horizontal). Un article peut être également une procédure stockée, une vue, une fonction ou une vue indexée. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 48

Abonnement Un abonnement est une demande d'une copie de donnée ou de réplication des objets de bases de données. Un abonnement définit quelle va être la publication contenant les données, où et quand. La synchronisation ou la distribution des données peut être demandée soit par l'éditeur (Abonnement "Push") ou par l'abonné (abonnement "Pull"). E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 49

Abonnement "Push" Un abonnement "Push" est créé et administré chez l'éditeur. Les données sont propagées depuis l'éditeur vers les abonnés sans que ces derniers en fassent la demande. Il permet de simplifier et de centraliser l'administration car il n'y a pas besoin d'administrer individuellement chaque abonnement. L'agent de distribution et l'agent de fusion s'exécutent sur le distributeur lorsqu'un abonnement "Push" est synchronisé. Ce type d'abonnement est conseillé tant que les performances ne sont pas atteintes. En effet un grand nombre d'abonnement gérés à un même endroit (distributeur) peut faire baisser fortement les performances. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 50

Abonnement "Pull" Un abonnement "Pull" est créé et administré chez l'abonné. L'abonné demande les données et les mises à jour survenues chez l'éditeur. Ce type d'abonnement permet aux utilisateurs de l'abonné de se déconnecter, d'être mobiles et de décider librement quand leurs données doivent être synchronisés. L'administration est décentralisée et a lieu chez l'abonné. L'agent de distribution et l'agent de fusion s'exécutent chez l'abonné lorsqu'un abonnement "Pull" est synchronisé. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 51

Abonnement anonyme Il s'agit d un cas particulier de l'abonnement "Pull" où les données concernant l'abonné et l'abonnement ne sont pas stockées chez l'éditeur ou le distributeur. Il est utilisé principalement pour le grand nombre d'abonnements faits depuis Internet et pour lesquels il n'a pas été jugé utile de garder des informations chez l'éditeur ou le distributeur. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 52

Réplication par cliché (Snapshot) Un cliché est une photo instantanée d'un ensemble de données à un moment donné. Les données ne sont pas rafraîchies de façon partielle. A chaque synchronisation, c'est le cliché entier donc l'ensemble des données qui sont rafraîchies. Les données étant rafraîchies en totalité, la synchronisation peut prendre un certain temps. Les synchronisations dans ce type de réplication ne sont souvent pas très fréquentes et sont généralement lancées à la demande. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 53

Réplication par cliché (Snapshot) Ce type de réplication est utile dans les cas suivants: Les données sont principalement statiques et ne changent pas souvent. Il est acceptable d'avoir des copies de données qui ne sont pas à jour. La réplication concerne des petits volumes de données. Les sites sont souvent déconnectés.» La réplication par cliché nécessite les versions de SQL Server 2000 "Personal Edition" ou "Enterprise Edition". E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 54

Réplication par cliché (Snapshot) E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 55

Réplication transactionnelle La réplication transactionnelle permet de rafraîchir les données de façon partielle. Le concept est basé sur la propagation d'un cliché initial, sur la capture des transactions survenue par la suite chez l'éditeur et sur leur propagation vers les abonnés. SQL Server stocke les transactions touchant les objets répliqués et propagent les modifications des données vers les abonnés en respectant si possible les transactions. La propagation se fait de manière continue (en temps réel) ou en utilisant un programmateur (en différé). E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 56

Réplication transactionnelle On opte pour ce type de réplication dans les cas suivants: La propagation des données vers les abonnés se fait à un rythme avoisinant le temps réel. Les propriétés ACID des transactions doivent être respectées. A noter que les transactions ne peuvent être gardés que si la réplication est synchrone.» La réplication transactionnelle nécessite la version SQL Server 2000 "Enterprise Edition". E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 57

Réplication transactionnelle E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 58

Réplication par fusion La réplication par fusion permet à plusieurs sites d'être autonomes, connectés ou déconnectés de l'éditeur et de fusionner par la suite les modifications de leurs données vers un résultat uniforme. Le concept est basé sur la propagation d'un cliché initial et sur le suivi des modifications des données publiées chez l'éditeur et chez les abonnés. Les données sont synchronisés entre les serveurs à la demande ou sur la base d'un programmateur. Etant donné que les mises à jour des mêmes données sont possibles sur plus d'un serveur, des conflits de convergence des données peuvent surgir. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 59

Réplication par fusion On opte pour ce type de réplication dans les cas suivants: Plusieurs abonnés ont besoin de mettre à jour les données à des temps différents et de propager leurs modifications vers l'éditeur ou vers d'autres abonnés. Les abonnés ont besoin de recevoir les données, de les modifier en étant déconnectés et de synchroniser plus tard les modifications avec l'éditeur ou avec d'autres abonnés. L'autonomie du site est un facteur déterminant E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 60

Réplication par fusion E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 61

Préparation de la réplication Editeur et distributeur local Administrateurs de réplication ServeurBD1 Agent de fusion Publication dans BD1 Articles Agent SQL Server Agent de distribution Synchronisation: Download Synchronisation: Upload ServeurBD2 Agent SQL Server Abonnement dans BD2 E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 62

L'administrateur de réplication Bien que la gestion des tâches de réplication puisse être confiée à l'utilisateur le plus privilégié dans SQL Server 2000 "sa", il convient de créer un utilisateur et de lui donner les droits nécessaires. Il est en effet préférable de clarifier la gestion des bases de données et de ne pas tout administrer depuis un seul login. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 63

Liens entre serveurs Dès le moment où un serveur SQL server 2000 est ajouté à un groupe de serveurs administré depuis une même console, les liens entre serveurs deviennent implicites. Toutefois, vu que cette reconnaissance implicite n'est valable que pour les serveurs de bases de données SQL server, il convient de déclarer explicitement un lien entre les serveurs à chaque fois que 2 serveurs hétérogènes doivent communiquer. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 64

Liens entre serveurs E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 65

Filtrage avant publication Filtrage des colonnes SQL Server permet de filtrer les colonnes d'une table participant à la publication. L'utilisateur peut ainsi filtrer verticalement et faire des projections pour ne publier qu'une partie des colonnes de la table. Filtrage des lignes Ce filtre permet de faire des sélections de lignes et de ne publier qu'une partie des enregistrements d'une table. Si le filtre utilisé dépend d'une autre table publiée, SQL Server permet de créer une jointure entre les deux tables. Filtrage mixte des lignes et des colonnes: SQL Server permet de publier uniquement une sélection de lignes de certaines colonnes. Il s'agit donc d'un filtre qui regroupe les deux cités auparavant. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 66

Filtrage des colonnes E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 67

Filtrage des lignes E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 68

Filtrage mixte des lignes et des colonnes E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 69

Plan du module Présentation d environnements de réplication de différents constructeurs Approche Oracle Approche SQL Server Résolutions de conflits de copies divergentes Approche Oracle E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 70

Gestion des conflits dans Oracle L'environnement de réplication symétrique asynchrone est très propice à la génération des conflits. Le fait d'autoriser les mises à jour concurrentes des mêmes données sur plusieurs sites et les propager d'un site à l'autre, conduit inévitablement au risque de non-convergence des données entre les sites participant à la réplication. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 71

Exemple: modification d'une adresse e-mail les données sont dans un état convergent. T BD1 BD2 08h00 a@client.com a@client.com 08h30 b@client.com 09h00 c@client.com 09h30 Propagation b@client.com 10h00 c@client.com Propagation Résultat: le client a comme adresse email c@client.com dans BD1 et b@client.com dans BD2. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 72

Nombre de participants Les exemples illustrent un cas simple de conflits dans un environnement à 2 sites seulement. Si on avait un grand nombre de sites maîtres participant à ce type de réplication, la fréquence d'apparition des conflits de cette sorte risque d'augmenter fortement. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 73

Concept de résolution des conflits Si un conflit est détecté et si aucune méthode n'a été définie pour le résoudre, Oracle retourne une erreur. Si une seule méthode a été définie pour le résoudre, le conflit est considéré résolu si la méthode retourne 'Vrai'. Si elle retourne 'Faux', Oracle traite le conflit comme étant non résolu et une erreur est déclenchée. Si plusieurs méthodes ont été définies pour le résoudre, Oracle exécute les méthodes dans l'ordre défini par le paramètre 'Sequence' défini lors de la création de la méthode. Aussitôt une méthode retourne 'Vrai', le conflit est réputé résolu et le processus terminé. Si toutes les méthodes ont été exécutées et si elles ont toutes retourné 'Faux', le conflit est considéré comme non résolu et Oracle déclenche une erreur. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 74

Détection des conflits de mise à jour (Update): Détection des conflits par comparaison de la valeur d'origine du site source et la valeur actuelle du site de destination. Lors de la propagation, le site source détecte un conflit si la valeur originale du site de destination est différente de la valeur actuelle du site source. L'erreur signalée sur le schéma est l'exception 'ORA- 01403: Aucune donnée trouvée' retournée par Oracle. E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 75

Exemple de détection des conflits de mise à jour T BD1 BD2 09h30 Tentative de propagation de b@client.com Erreur! Valeur d'origine dans BD2 Nouvelle valeur dans BD2 Valeur actuelle dans BD1 Valeur d'origine dans Nouvelle valeur dans Valeur actuelle dans a@client.com c@client.com b@client.com BD2 BD2 BD1 10h00 Erreur! Tentative de propagation de c@client.com Valeur d'origine dans BD1 BD2 Nouvelle valeur dans BD1 BD2 Valeur actuelle dans BD2 BD1 Valeur d'origine dans Nouvelle valeur dans Valeur actuelle dans a@client.com b@client.com c@client.com BD2 BD2 BD1 E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 76