Un Système de Gestion de Bases de Données Réparties est constitué d'un ensemble de processeurs autonomes «appelés sites » (stations de travail, micro-ordinateurs, …) reliés par un réseau de communication qui leur permet d'échanger des données. Un SGBDRé suppose que les données soient stockées sur au moins deux sites. Chaque site est doté de son propre SGBD.
Ce support de cours propose une vue d’ensemble sur les avantages et inconvénients de répartition de données. Aussi, il présente les différentes techniques de répartition
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Support de cours EJB :
- Architecture JEE
- Séparer le code métier et le code technique
- Inversion de contrôle
- EJB session
- EJB Entity
- Mise en oeuvre des projets EJB
- EJB et Web services
- JMS
- MDB
- Gestion de transactions avec EJB
- Application
Construire une application sur l'architecture modèle-vue-contrôleur en PHP à partir d'un exemple simple : une liste de choses à faire, avec deux pages types : liste et détails.
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
Un Système de Gestion de Bases de Données Réparties est constitué d'un ensemble de processeurs autonomes «appelés sites » (stations de travail, micro-ordinateurs, …) reliés par un réseau de communication qui leur permet d'échanger des données. Un SGBDRé suppose que les données soient stockées sur au moins deux sites. Chaque site est doté de son propre SGBD.
Ce support de cours propose une vue d’ensemble sur les avantages et inconvénients de répartition de données. Aussi, il présente les différentes techniques de répartition
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Support de cours EJB :
- Architecture JEE
- Séparer le code métier et le code technique
- Inversion de contrôle
- EJB session
- EJB Entity
- Mise en oeuvre des projets EJB
- EJB et Web services
- JMS
- MDB
- Gestion de transactions avec EJB
- Application
Construire une application sur l'architecture modèle-vue-contrôleur en PHP à partir d'un exemple simple : une liste de choses à faire, avec deux pages types : liste et détails.
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
L'environnement client/serveur désigne un mode de communication organisé par l'intermédiaire d'un réseau et d'un interface Web entre plusieurs ordinateurs.
Les machines clientes contactent un serveur qui leur fournit des services. Ces derniers sont exploités par des programmes, appelés programmes clients, s'exécutant sur les machines clientes.
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
C'est une presentation sur les ETL. On explique pourquoi il faut utiliser un ETL et non créer des routines à la main. On présente Talend Open Studio qui est un projet open source et quelques exemples
Ce support explique les concepts de base de Big Data Processing. Elle aborde les parties suivantes :
Série de vidéos : https://www.youtube.com/watch?v=1JAljjxpm-Q
- Introduction au Big Data
- Système de stockage en Big Data
- Batch Processing et Stream Processing en Big Data
- Aperçu bref de l’écosystème de Hadoop
- Aperçu de l’écosystème des outils du Bid Gata
- Big data stream processing avec Kafka écosystème
- Architecture de Kafka (Brokers, Zookeeper, Procuder, Consumer, Kafka Streams, Connecteurs)
- Comment démarrer un cluster de brokers KAFKA
- Création et configuration des Topics
- Création d’un Java Kafka consumer
- Création d’un Java Kafka Produder
- Kafka Producer et Kafka Consumer dans une application basée sur Spring
- Kafka Streams
- Intégration de Kafka dans Spring Cloud.
Mot clés : Big data, Big Data Processing, Stream Processing, Kafka, Kafka Streams, Java, Spring
Bon apprentissage
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Support Complet sur la technologie EJB 3.1. Ce cours Traite l'architecture JEE. Les différents types EJB (Session, Entity, MDB). Des exemple complets sont aussi présentés.
Présentation général des étapes du processus ETL (Extract,Transform, Load) d'un projet décisionnel.
ETL, acronyme de Extraction, Transformation, Loading, est un système de chargement de données depuis les différentes sources d'information de l'entreprise (hétérogènes) jusqu'à l'entrepôt de données (modèles multidimensionnels).
L'environnement client/serveur désigne un mode de communication organisé par l'intermédiaire d'un réseau et d'un interface Web entre plusieurs ordinateurs.
Les machines clientes contactent un serveur qui leur fournit des services. Ces derniers sont exploités par des programmes, appelés programmes clients, s'exécutant sur les machines clientes.
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
C'est une presentation sur les ETL. On explique pourquoi il faut utiliser un ETL et non créer des routines à la main. On présente Talend Open Studio qui est un projet open source et quelques exemples
Ce support explique les concepts de base de Big Data Processing. Elle aborde les parties suivantes :
Série de vidéos : https://www.youtube.com/watch?v=1JAljjxpm-Q
- Introduction au Big Data
- Système de stockage en Big Data
- Batch Processing et Stream Processing en Big Data
- Aperçu bref de l’écosystème de Hadoop
- Aperçu de l’écosystème des outils du Bid Gata
- Big data stream processing avec Kafka écosystème
- Architecture de Kafka (Brokers, Zookeeper, Procuder, Consumer, Kafka Streams, Connecteurs)
- Comment démarrer un cluster de brokers KAFKA
- Création et configuration des Topics
- Création d’un Java Kafka consumer
- Création d’un Java Kafka Produder
- Kafka Producer et Kafka Consumer dans une application basée sur Spring
- Kafka Streams
- Intégration de Kafka dans Spring Cloud.
Mot clés : Big data, Big Data Processing, Stream Processing, Kafka, Kafka Streams, Java, Spring
Bon apprentissage
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Support Complet sur la technologie EJB 3.1. Ce cours Traite l'architecture JEE. Les différents types EJB (Session, Entity, MDB). Des exemple complets sont aussi présentés.
Présentation général des étapes du processus ETL (Extract,Transform, Load) d'un projet décisionnel.
ETL, acronyme de Extraction, Transformation, Loading, est un système de chargement de données depuis les différentes sources d'information de l'entreprise (hétérogènes) jusqu'à l'entrepôt de données (modèles multidimensionnels).
Rappel des différents services de stockage NoSQL présents dans Microsoft Azure, puis approfondissement du service DocumentDB, ses fonctionnalités ainsi que les options d'administration.
Webinar Smile et Talend : Faites communiquer vos applications en temps réelSmile I.T is open
L'ESB est la clé pour interconnecter vos applications et leur permettre l’échange d’information en temps réel. Talend et Smile vous invitent à ce webinar afin de vous faire découvrir la solution Talend Platform for Data Services appliquée à deux des plus importantes entreprises de la grande distribution.
Au programme :
Un expert Talend vous présentera la seule plateforme unifiée open source associant des outils d'ETL et d'ESB
Smile vous fera découvrir deux cas d’utilisations réels :
- Un exemple concret d'implémentation de cette solution pour gérer les flux pour la synchronisation du référentiel produit / de l'ERP central groupe / des ERP magasins chez un leader de la distribution d'articles de jardinage.
- Talend au cœur du SI grâce à la mise en place d'une véritable architecture orientée service e-business chez un leader de la grande distribution.
Alphorm.com Formation MySQL Administration(1Z0-883)Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-mysql-1z0-883
MySQL est devenu le serveur de bases de données issu du monde libre le plus largement adopté par les entreprises.
A l'issue de cette formation, vous saurez installer et administrer MySQL au quotidien, d'une manière efficace et sécurisée.
Cette formation traite aussi des notions avancées de MySQL : réplication, sécurité, sauvegarde, performances et optimisation.
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-le-langage-pl-sql
Cette formation vous apprendra à comprendre et à maîtriser les différents concepts de développement du langage PL/SQL avec les bases de données Oracle.
Durant cette formation vous apprendrez les bases du langage PL/SQL, à utiliser d'une manière efficace les variables, à utiliser les curseurs et tous les éléments de traitement conditionnel.
Vous apprendrez également à développer et a utiliser les procédures stockées, les fonctions, les packages et les triggers.
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm
Vous trouverez la formation ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-postgresql-la-haute-disponibilite
Après la formation d'administration de PostgreSQL, voilà la formation qui traite La Haute Disponibilité sous PostgreSQL.
Noureddine DRISSI vous montre les différentes méthodes de la mise de la HD sous PostgreSQL : Le Warm Standby ou Log Shipping, Le Hot Standby, Streaming Replication, pgPool-II, La réplication avec Slony.
Pour suivre cette formation vous devez avoir des connaissances solides sur Linux (vous avez déjà la formation LPIC-1 et LPIC-2 sur alphorm) et aussi d'avoir suivi la formation PostgreSQL et la formation SQL.
Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)Alphorm
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-microsoft-sql-server-2016-ssis-implementer-une-solution-etl
Afin d'améliorer les capacités de BI, les entreprises doivent gérer de façon sécurisée la migration des données à travers de nombreuses plateformes. Dans cette formation SSIS, vous obtiendrez les compétences pour automatiser les tâches de migration complexes et contrôler la réussite ou l'échec des processus de migration.
SQL Server Integration Services (SSIS) est un puissant outil ETL utilisé dans le cadre de projets d'intégration ou de BI. Grâce à cette formation SSIS pratique, vous apprendrez à implémenter une solution ETL évoluée avec SSIS 2016. Vous découvrirez le traitement et l'alimentation des données, la sécurisation et l'optimisation des flux.
Cette formation SSIS vous apprendra à concevoir et à déployer une solution de Business Intelligence avec SQL Server 2016. A l'issue de cette formation SSIS, vous aurez acquis les connaissances et compétences nécessaires pour mettre en œuvre les méthodes de base de l’ETL, implémenter un flux de contrôles et de données dans Intégration Services, déboguer et implémenter la gestion d'erreurs dans Intégration Services, gérer et sécuriser des packages …
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-etl-talend-open-studio-1-2-les-fondamentaux
Talend Open Studio for Data Integration est un outil libre de type ETL qui permet de traiter les données volumineuses à partir de données en entrée appelées source vers des destinations SGBD ou fichiers (csv, txt, xml …) appelées cibles.
La formation a pour but de vous aider à prendre en main l’ETL Talend Open Studio for Data Integration d’une manière rapide afin que vous soyez autonome.
Vous allez apprendre à gérer les données de différentes sources (Base données, fichiers), les extraire, les manipuler, les transformer et les intégrer à des cibles.
La formation vous permettra de réaliser les tâches de conception, modélisation et de développement des jobs Talend.
Construire des bases de données qui montent en charge avec SQL Azure Database...Microsoft Technet France
Découvrez dans cette session comment utiliser au mieux les SQL Azure Database Federations pour une montée en charge linéaire de vos bases de données SQL Azure. Les Federations vont notamment vous permettre de repenser vos architectures applicatives afin de tirer pleinement parti des capacités d’élasticité quasi-illimitée offertes par l’offre Cloud de Microsoft, et tout ceci en vous garantissant le meilleur rapport qualité-prix possible.
Venez découvrir les méthodes, outils et best practices utilisés par les experts du Support Microsoft pour identifier et corrigier les problèmes de performances sur SQL Serveur ou tout simplement en optimiser les performances. Cette session présentée par nos spécialistes au Support SQL Serveur en France, sera pour vous une occasion unique de les rencontrer ! Avec environ 50% de contenu original pour cesTechdays, nous aborderons entre autre la gestion des index, du columns store ou encore de la compression, nous vous présenterons également les outils utilisés et la manière de les utiliser.
Similaire à Bases de données réparties par la pratique (20)
Il est intéressant de savoir comment manipuler les données et bases de données sous Odoo. Ainsi, il est possible utilisant Odoo ;
De créer une nouvelle base de données,
De sauvegarder les données d’une base de données, déjà utilisée pour gérer une organisation/entreprise,
De restaurer une base de données sauvegardée dans une autre application (interface) Odoo.
De supprimer une base de données,
De dupliquer une base de données.
Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...Abdelouahed Abdou
La gestion des ressources humaines (GRH), ou gestion du personnel, regroupe l'ensemble des pratiques mises en œuvre pour administrer, mobiliser et développer les ressources humaines dans une organisation.
Les ressources humaines peuvent être les collaborateurs attachés à l’organisation (ouvriers, employés, cadres) mais aussi les collaborateurs des sous-traitants.
Odoo propose un module (extensible) dédié à la GRH. Ce module permet entre autres de gérer les salariés et leurs contrats, la paie, les congés, les feuilles de présence, les notes de frais, les recrutements, ...
La première chose à faire est d’identifier la liste des collaborateurs (employés). Surtout, il ne faut pas confondre entre utilisateurs de l’application et employés (collaborateurs) ; un employé peut être un utilisateur mais un utilisateur ne peut pas être forcement un employé. Ainsi, «Employé» représente toutes les personnes physiques qui ont un contrat de travail avec l'entreprise. Cela comprend tous les types de contrats. Alors qu’un utilisateur (du système) est une personne physique qui a accès aux systèmes de l'entreprise.
Présente une description complète sur les curseurs avec exemples et exercices corrigés. Ainsi, vous allez trouver:
- Définition des curseurs
- Curseurs implicites
- Curseurs explicites
- Les curseurs paramétrables
- Accès concurrents (FOR UPDATE)
- Variables de types Curseurs: Curseurs non typés et typés
-
Ce cours est une introduction au traitements informatique des images. Le traitement d'images consiste à changer la nature d'une image, afin de:
1.Améliorer de l’information contenue pour aider à l'interprétation par l'homme,
2.La rendre plus adaptée pour une perception autonome de la machine.
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
Interaction avec la base de données
Extraction
Insertion
Modification
Suppression
Structures de contrôle
Structures conditionnelles :
IF
case
Structures répétitives:
LOOP
WHILE-LOOP
FOR-LOOP
Structures répétitives:
Boucles avec étiquettes
Contrôle séquentiel avec GOTO
Opérateurs de comparaison:
IS NULL
LIKE
BETWEEN
IN
PL/SQL (Procedural Language / SQL), l’extension procédurale proposée par Oracle pour SQL (L4G),
Il permet de combiner des requêtes SQL (SELECT, INSERT, UPDATE et DELETE) et des instructions procédurales (boucles, conditions...),
Créer des traitements complexes destinés à être stockés sur le serveur de base de données (objets serveur),
Comme on le sait, les structures de contrôle habituelles d’un langage (IF, WHILE…) ne font pas partie intégrante de la norme SQL. Oracle les prend en compte dans PL/SQL.
ASP.NET est un ensemble de technologies de programmation Web créé par Microsoft. Ce langage est utilisé pour créer des sites Webs dynamiques, des applications web ou des web services XML.
Le développement Web avec ASP.NET est plus facile: les applications Web sont développées comme des applications Windows en utilisant le modèle ASP.net ==> il s'agit d'une insertion du code (codebehind) C# ou VB.net dans des pages HTML (ajouter du JavaScript) est envoyé au client. On dit On dit que le C# et/ou VB.NET sont utilisés pour modifier le HTML
L'objectif de cette introduction est de :
- Comprendre le fonctionnement du Framework .Net
- Comprendre les principes de base de ASP.NET
- Faire la différence entre Page web Classiques et pages ASPX crées avec ASP.NET
Ajax (Asynchronous JavaScript and XML) est une technique permettant la communication asynchrone entre application et serveur. c'est une architecture qui permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies.
Ajax combine JavaScript, les CSS, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des Applications Internet Riches
Le DOM (Document Object Model) est un standard W3C qui permet à des script (ici JavaScript) d'accéder ou de mettre à jour le contenu visuel, la structure ou le style de documents XML et HTML.
Sainte Jeanne d'Arc, patronne de la France 1412-1431.pptxMartin M Flynn
sainte patronne de la France, honorée en tant que défenseure de la nation française pour son rôle dans le siège d'Orléans et son insistance sur le couronnement de Charles VII de France pendant la guerre de Cent Ans.
Formation M2i - Prise de parole face caméra : performer en distancielM2i Formation
Le travail en distanciel est de plus en plus incontournable et s'installe durablement dans la société, mais bien souvent, les collaborateurs d'une même entreprise n'ont pas toutes les aptitudes permettant d'être efficaces et impactants avec cette nouvelle façon de travailler : le télétravail !
Cette formation flash vous montrera qu'il est important de se professionnaliser et de faire du distanciel un agréable moment de travail.
Pour approfondir ces sujets et aller plus loin, vous pourrez vous inscrire à notre formation Prise de parole face caméra : performer en distanciel.
Formation offerte animée à distance par notre expert Camel Termellil
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24BenotGeorges3
Les informations et évènements agricoles en province du Luxembourg et en Wallonie susceptibles de vous intéresser et diffusés par le SPW Agriculture, Direction de la Recherche et du Développement, Service extérieur de Libramont.
https://agriculture.wallonie.be/home/recherche-developpement/acteurs-du-developpement-et-de-la-vulgarisation/les-services-exterieurs-de-la-direction-de-la-recherche-et-du-developpement/newsletters-des-services-exterieurs-de-la-vulgarisation/newsletters-du-se-de-libramont.html
Bonne lecture et bienvenue aux activités proposées.
#Agriculture #Wallonie #Newsletter #Recherche #Développement #Vulgarisation #Evènement #Information #Formation #Innovation #Législation #PAC #SPW #ServicepublicdeWallonie
Résultats enquête RH 2024 Fonction Publique.pdfGERESO
Nous avons le plaisir de vous présenter les résultats de la 1ère édition de l’enquête « Professionnels RH de la Fonction Publique, comment allez-vous ? »
Forts du succès de notre baromètre annuel « Professionnels RH, comment allez-vous ? », publié pour la 4e fois en début d’année, et qui concerne principalement les professionnels RH des entreprises privées (90% des répondants exercent dans le secteur privé) nous avons souhaité, à travers ce nouveau baromètre, nous intéresser spécifiquement au moral des professionnels RH de la fonction publique.
En effet, les enjeux, les missions, les conditions de travail
des professionnels RH dans les établissements publics sont souvent bien distincts de ceux de leurs homologues du secteur privé…
Et leur moral également ! Ces différences justifiaient donc une enquête spécifique !
Merci à vous ! Vous avez été 240 professionnels RH dans
des établissements publics à répondre à nos questions et à nous livrer des aspects très personnels de votre vie de professionnel(le) des
ressources humaines du secteur public.
Alors, avez-vous un bon ou un mauvais moral en ce printemps 2024 ? Découvrez dans ce document tous les résultats de cette étude !
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24BenotGeorges3
Les informations et évènements agricoles en province du Luxembourg et en Wallonie susceptibles de vous intéresser et diffusés par le SPW Agriculture, Direction de la Recherche et du Développement, Service extérieur de Libramont.
https://agriculture.wallonie.be/home/recherche-developpement/acteurs-du-developpement-et-de-la-vulgarisation/les-services-exterieurs-de-la-direction-de-la-recherche-et-du-developpement/newsletters-des-services-exterieurs-de-la-vulgarisation/newsletters-du-se-de-libramont.html
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Bases de données réparties par la pratique
1. BASES DE DONNÉES RÉPARTIES
(BDRÉ)
La pratique
Abdelouahed Sabri 2011/2012
abdelouahed.sabri@gmail.com
1
2. 2
Introduction
Dans un SGBDRé, on suppose que les données soient
stockées sur au moins deux sites.
Dans ce TP, nous allons utiliser au moins deux ordinateurs
(on peut utiliser un ordinateur et une machine virtuelle)
avec Oracle installé sur chacun
Les deux ordinateurs utilisés doivent être reliés grâce à un
réseau TCP/IP
Abdelouahed Sabri 2011/2012
3. 3
Introduction
Pour se connecter au SGBD Oracle, il faut fournir trois
paramètres :
Le nom d'utilisateur
Le mot de passe
L'alias : il renseigne sur plusieurs données à la fois :
• Le protocole réseau utilisé pour accéder à la machine cible,
• Le nom ou l'adresse de la machine cible sur laquelle se situe le
serveur,
• Le SID cible ou le nom global de la base,
• Le port d'écoute du serveur.
Abdelouahed Sabri 2011/2012
4. 4
Introduction
Le processus d'écoute Oracle (LISTNER):
Le processus d'écoute Oracle est un service permettant à des
clients d'utiliser le protocole TCP pour accéder une base de
données distante
Le fichier de configuration du LISTENR se trouve dans
$ORACLE_HOME/Network/Admin/ et se nomme « listener.ora ».
Dans ce fichier on peut configurer :
• le nom de la machine (HOST), le port (par défaut est 1521) et le nom
du service d’écoute (DEFAULT_SERVICE_LISTENER).
Utiliser Oracle Net Manager pour configurer le LISTENER
Abdelouahed Sabri 2011/2012
6. 6
Préparation des utilisateurs
Sur chaque site, créer un utilisateur avec les droits suffisants.
Sur la machine 1 (le site 1) : utilisateur : BDRE1. Mot de passe : 1111
CREATE USER BDRE1 IDENTIFIED BY "1111";
GRANT ALL PRIVILEGES TO BDRE1;
-- ou bien
GRANT connect, resource, create view, create database link, create snapshot TO BDRE1;
Sur la machine 2 (le site 2) : utilisateur : BDRE2. Mot de passe : 2222
CREATE USER BDRE2 IDENTIFIED BY "2222";
GRANT ALL PRIVILEGES TO BDRE2;
Abdelouahed Sabri 2011/2012
7. 7
Les liens de base de données entre les sites
Pour interroger une BD distante, il faut créer un lien de
base de données.
Un lien de base de données est un chemin unidirectionnel
d’un serveur à un autre.
Un client connecté à une BD A, peut utiliser un lien stocké dans la
BD A pour accéder à la BD distante B, mais les utilisateurs
connectés à B ne peuvent pas utiliser le même lien pour accéder
aux données sur A.
Dans chaque Site on doit créer un lien vers les autres sites.
Abdelouahed Sabri 2011/2012
8. 8
Les liens de base de données entre les sites
La syntaxe pour la création d’un lien est la suivante:
CREATE [SHARED|PUBLIC|PRIVATE] DATABASE LINK Nom_du_Lien
CONNECT TO { CURRENT_USER | User IDENTIFIED BY password} USING connect_string ;
La clause USING connect_string spécifie le nom de service d’une base
distante.
Les noms de service d’instances sont stockés dans le fichier de configuration
« tnsnames.ora » du serveur distant localisé dans le dossier:
«$ORACLE_HOME/Network/Admin/ »
Abdelouahed Sabri 2011/2012
9. 9
Les liens de base de données entre les sites
Sur le premier site:
CREATE PUBLIC DATABASE LINK site1TOsite2 CONNECT TO BDRE2 IDENTIFIED BY "2222"
USING '192.168.56.2:1521/XE';
Pour tester le bon fonctionnement du lien:
SELECT sysdate FROM dual@site1TOsite2;
Sur le deuxième site:
CREATE PUBLIC DATABASE LINK site2TOsite1 CONNECT TO BDRE1 IDENTIFIED BY "1111"
USING '192.168.56.1:1521/XE';
Pour tester le bon fonctionnement du lien:
SELECT sysdate FROM dual@site2TOsite1;
Abdelouahed Sabri 2011/2012
10. 10
Les liens de base de données entre les sites
Pour supprimer un lien:
DROP [SHARED|PUBLIC|PRIVATE] DATABASE LINK nom_du_lien;
Pour afficher les liens déjà crées:
SELECT * FROM dba_db_links;
NB: Lorsqu’un lien est référencé par une instruction SQL, Oracle
ouvre une session dans la base distante et y exécute
l’instruction
La session reste ouverte au cas où elle serait de nouveau nécessaire
Abdelouahed Sabri 2011/2012
11. 11
Transparence vis-à-vis de la localisation:
Synonymes
Pour référencer une base de données dans un système
distribué, on utilise le nom global ou le lien de base de
données.
SELECT sysdate FROM dual@site1TOsite2;
Mais afin de converger plus vers l'un des objectifs de la répartition
des bases de données qui est la transparence vis-à-vis de la
localisation, Oracle utilise des synonymes dont le rôle est de
masquer le nom du lien de base de données.
Syntaxe:
CREATE OR REPLACE [PUBLIC] SYNONYM nom_du_synonyme
FOR [schéma.]nom-objet[@Nom_du_Lien] ;
Abdelouahed Sabri 2011/2012
12. 12
Transparence vis-à-vis de la localisation:
Synonymes
Exemple:
Sur le premier site:
• On suppose qu’il existe une table nommée « perso » sur le site 2.
• Sur le site 1, on va créer un synonyme noté « perso » pour cette table
sur le site 1
CREATE OR REPLACE PUBLIC SYNONYM perso FOR
perso@site1TOsite2;
• Pour tester:
SELECT *FROM perso;
Abdelouahed Sabri 2011/2012
13. 13
Transparence vis-à-vis de la localisation:
Synonymes
Exemple (suite):
Sur le deuxième site:
• On suppose qu’il existe une table nommée « profession » sur le site 1.
• Sur le site 2, on va créer un synonyme noté « profession » pour cette table sur
le site 1
CREATE OR REPLACE
profession@site2TOsite1;
PUBLIC
SYNONYM
profession
FOR
• Pour tester:
SELECT *FROM profession ;
Pour supprimer un synonyme:
DROP SYNONYM nom_du_synonyme;
Abdelouahed Sabri 2011/2012
14. 14
Copier les données entre deux bases de données
La commande COPY de SQL*Plus permet de copier des données entre deux SGBD’s
La meilleure utilisation est d’exécuter cette commande sur la machine où réside la
base de données.
La syntaxe est la suivante :
COPY {FROM database | TO database | FROM database TO database}
{APPEND|CREATE|INSERT|REPLACE} destination_table [(column, column, column, ...)]
USING query
database a la syntaxe suivante: username[/password]@connect_identifier
APPEND : si la table n'existe pas (CREATE + INSERT) sinon (INSERT)
CREATE : si la table n'existe pas (CREATE + INSERT) sinon (erreur)
REPLACE : si la table n'existe pas (CREATE + INSERT) sinon (DROP + CREATE + INSERT)
INSERT : si la table n'existe pas (ERREUR) sinon (INSERT)
NB: La commande COPY n’exporte pas les contraintes (sauf NOT NULL)
Exemple:
COPY FROM BDRE1/1111@192.168.56.1/XE TO BDRE2/2222@192.168.56.2/XE REPLACE Agence
USING SELECT *FROM Agence;
Abdelouahed Sabri 2011/2012
15. 15
Transparence vis-à-vis de la fragmentation:
Vues
Un des principaux objectifs de bases de données réparties est
la transparence à la fragmentation.
Ainsi, même fragmentés, les enregistrements doivent apparaitre
comme sur un seul site.
Pour ceci, on utilise les vues : View
Les utilisateurs pourront consulter la base, ou modifier la base
(avec certaines restrictions) à travers la vue, c'est-à-dire
manipuler la table résultat du SELECT comme si c'était une
table réelle.
La syntaxe pour créer une vue est la suivante :
CREATE VIEW nom_vue [(nom_col1,...)]
AS SELECT ...
[WITH CHECK OPTION];
Abdelouahed Sabri 2011/2012
16. 16
Transparence vis-à-vis de la fragmentation:
Vues (suite)
Exemple :
Création d'une vue constituant une restriction de la table emp aux
employés du département 10.
CREATE VIEW emp10 AS SELECT * FROM emp WHERE n_dept = 10;
INSERT INTO emp10 VALUES (15, 'Mohamed‘, 25, 25);
Equivalent à : INSERT INTO emp VALUES (15, 'Mohamed‘, 25, 25);
Exemple :
CREATE VIEW emp10 AS SELECT * FROM emp WHERE n_dept = 10 WITH
CHECK OPTION ;
Les insertion et modification suivantes ne sont pas autorisées:
INSERT INTO emp10 VALUES (15, 'Mohamed‘, 45, 25);
UPDATE emp SET n_dept =25;
Abdelouahed Sabri 2011/2012
17. 17
Transparence vis-à-vis de la fragmentation:
Vues (suite)
Pour supprimer une vue
DROP VIEW nom_vue;
Pour renommer une vue :
RENAME ancien_nom TO nouveau_nom
Abdelouahed Sabri 2011/2012
18. 18
Transparence vis-à-vis de la fragmentation:
Vues (suite)
Certaines vues peuvent être l’objet de mise à jour par les
instructions INSERT, UPDATE, DELETE.
Les restrictions imposées par Oracle sur la requête de la vue afin que
celle-ci soit modifiable :
•
•
•
•
•
Pas d’opérateurs ensemblistes
Pas de fonction d’agrégation
Pas de clause group by ou order by
Pas de sous-requête
Pas de collection dans un select (objet-relationnel)
Dans le cas contraire, on fait appel aux déclencheurs INSTEAD OF.
Les triggers INSTEAD OF prennent la main et font les mises à jour
sur les fragments distants.
Abdelouahed Sabri 2011/2012
19. 19
Transparence vis-à-vis de la fragmentation:
Les triggers INSTEAD OF
La syntaxe est la suivante:
CREATE TRIGGER nom_du_declencheur
INSTEAD OF {INSERT | UPDATE | DELETE} ON nom_de_la_vue
FOR EACH ROW
BEGIN
…
END ;
Exemple
CREATE TRIGGER tr_emp10
INSTEAD OF INSERT ON emp10
FOR EACH ROW
BEGIN
INSERT INTO emp VALUES (:new.NO, :new.nom, :new.n_dept,:new.age);
END ;
Abdelouahed Sabri 2011/2012
20. 20
Duplication
La première option consiste à répliquer régulièrement les
données sur le serveur local.
Duplication synchrone: diffuser immédiatement les modifications
apportées aux données sources vers les copies
• Utilisation des TRIGGER ou TRIGGER INSTEAD OF
Duplication asynchrone: diffuser les modifications apportées aux
données sources vers les copies à des intervalles prédéfinis.
• utilisation de SNAPSHOT (clichés) ou Mateliarised view (vues
matérialisées)
Abdelouahed Sabri 2011/2012
21. 21
Duplication
Asynchrone
Snapshots:
Un snapshot est une copie conforme d'une table (ou
plusieurs) située sur une base de donnée du système
distribué
Il permet de diminuer les coûts réseau, en rendant local les
données situées à distance
• Afin d'assurer la cohérence de données, une mise à jour
régulière et automatique est effectuée à partir du site d'origine
ou MASTER
2 types: en lecture seule (read-only) ou mis à jour
(updateable)
Abdelouahed Sabri 2011/2012
22. 22
Duplication
Asynchrone (suite)
Les read-only Snapshots: non modifiables à partir du site
esclave.
Syntaxe:
CREATE SNAPSHOT nom_snapshot
[REFRESH
FAST | COMPLETE | FORCE]
START WITH
date_de_debut_de_synchronisation
NEXT
date_de_la_prochaine_synchronisation
AS
requéte_select;
FAST: Le mode rapide permet de faire un rafraîchissement en tenant compte seulement des
mises à jour effectuées sur le site Maître.
Un SNAPSHOT LOG doit être crée pour la table Maître afin de noter les différents changements
subvenus qui seront répercutés sur le snapshot:
CREATE SNAPSHOT LOG ON nom_de_la_table;
Abdelouahed Sabri 2011/2012
23. 23
Duplication
Asynchrone (suite)
Les read-only Snapshots: non modifiables à partir du site
esclave.
Syntaxe:
CREATE SNAPSHOT nom_snapshot
[REFRESH
FAST | COMPLETE | FORCE]
START WITH
date_de_debut_de_synchronisation
NEXT
date_de_la_prochaine_synchronisation
AS
requéte_select;
COMPLETE: à chaque rafraîchissement, toute la table est transférée.
Ce mode est obligatoire pour les snapshots complexes,
NB:
Un snapshot est dit simple si la requête SELECT ne contient pas d’opération
ensemblistes ni de clause ORDER BY
Un snapshot est dit complexe dans le cas contraire
Abdelouahed Sabri 2011/2012
24. 24
Duplication
Asynchrone (suite)
Les read-only Snapshots: non modifiables à partir du site
esclave.
Syntaxe:
CREATE SNAPSHOT nom_snapshot
[REFRESH
FAST | COMPLETE | FORCE]
START WITH
date_de_debut_de_synchronisation
NEXT
date_de_la_prochaine_synchronisation
AS
requéte_select;
FORCE: Un rafraîchissement rapide est d'abords tenté; s'il ne marche pas le rafraîchissement
complet est effectué.
Abdelouahed Sabri 2011/2012
25. 25
Duplication
Asynchrone (suite)
Les read-only Snapshots: non modifiables à partir du site
esclave.
Syntaxe:
CREATE SNAPSHOT nom_snapshot
[REFRESH
FAST | COMPLETE | FORCE]
START WITH
date_de_debut_de_synchronisation
NEXT
date_de_la_prochaine_synchronisation
AS
requéte_select;
Exemple:
CREATE SNAPSHOT emp_snap_fast
REFRESH FAST START WITH Sysdate NEXT Systdate + 1
AS SELECT * FROM emp@site1tosite2 WHERE n_dept = 10 ;
NB: les table emp doit avoir une clef primaire
Abdelouahed Sabri 2011/2012
26. 26
Duplication
Asynchrone (suite)
Les updateable Snapshots:
Les snapshots de mise à jour peuvent être directement modifiés.
Dans ce cas, les données mises à jour à leur niveau sont répliquées vers le site
Master lors du processus de rafraîchissement.
Syntaxe:
CREATE SNAPSHOT nom_snapshot
[REFRESH
FAST | COMPLETE | FORCE]
START WITH
date_de_debut_de_synchronisation
NEXT
date_de_la_prochaine_synchronisation
ENABLE QUERY REWRITE
AS
requéte_select;
Exemple:
CREATE materialized view emp_snap_fast
REFRESH COMPLETE START WITH Sysdate NEXT Sysdate + 1
Enable QUERY REWRITE
AS SELECT ID, NOM FROM emp@site1tosite2 WHERE n_dept = 10 ;
Abdelouahed Sabri 2011/2012
27. 27
Duplication
Asynchrone (suite)
Modifier une vue matérialisée
ALTER materialized view nom_snapshot
[REFRESH
FAST | COMPLETE | FORCE]
START WITH
date_de_debut_de_synchronisation
NEXT
date_de_la_prochaine_synchronisation;
Abdelouahed Sabri 2011/2012