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

MS SQL Server Discussion :

Créer une base de données répartie sur deux serveurs SQL Server et Oracle


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Créer une base de données répartie sur deux serveurs SQL Server et Oracle
    Bonsoir à tous

    Alors voilà, j'ai deux machines Windows XP que j'ai nommées Site-1 et Site-2 (nom de l'ordinateur)
    Ces deux machines sont connectées via un câble RJ45 (LAN de deux machines)
    Sur la première machine, j'ai installé Oracle 11g R2 alors que sur la deuxième j'ai installé MS SQL Server 2012

    Mon but est de créer une base de données simple répartie entre les deux serveurs (donc entre les deux SGBD) et de pouvoir solliciter des données se trouvant sur une machine depuis l'autre à travers des requêtes SQL ...

    J'ai pas mal cherché sur Internet mais je n'ai trouvé que des pages en anglais ou des procédures mal expliquées ou difficiles à mettre en pratique !

    Merci d'avance pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    C'est pour un test ?
    J'ai du mal à comprendre l'avantage de cette solution.
    Parce qu'au niveau intégrité / backup, ça va pas être facile à gérer !

    Pour faire communiquer les 2, tu peux utiliser les Linked servers sur SQL Server. Il y a l'équivalent pour Oracle, ce sont les dblinks.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Oui c'est effectivement pour un test

    En fait, je ne cherche pas à adopter cette démarche, je crois même qu'elle est désavantageuse. Je veux juste la tester et découvrir comment elle peut être utilisée en pratique.

    Pour les Linked servers sur SQL Server et les dblinks sur Oracle, je crois qu'ils servent à interroger une bd depuis un autre sgbd, alors que moi je cherche à ce que les deux bases de données ne forment plus qu'une

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Simo-03 Voir le message
    je cherche à ce que les deux bases de données ne forment plus qu'une
    Comment voulez-vous que deux moteurs différents fassent cela?
    Et combien même il existerait des bidouilles bancales pour y arriver, à quoi ça servirait ? Imaginez l'intégrité...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Tu peux mettre en place une réplication entre SQL Server et Oracle. SQL Server sera en lecture/ecriture et Oracle seulement en lecture.
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  6. #6
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2013
    Messages : 74
    Points : 160
    Points
    160
    Par défaut
    Bonjour,
    S'il s'agit de dupliquer les données sur chacune des bases, un mécanisme de réplication tel que le propose Grégory est à mettre en place.

    Si par contre il s'agit bien de répartir les données entre les deux bases, c'est une logique complètement différente.
    On part sur de la base de donnée fédérée.
    Tout cela reste très théorique, mais pour mettre en place une fédération, il faut que chacune des bases puisse servir de point d'entrée pour consulter/modifier les données.

    Un petit exemple simpliste et très incomplet pour comprendre l'idée:
    L'objet fédéré sera la vue V_FEDEREE, disponible de chaque côté
    Chaque base disposera d'une table propre TAB_ORACLE côté Oracle et TAB_SQLSERVER côté SQL Server. Via le mécanisme de Lien de base de données depuis Oracle (probablement avec le composant Transparent Gateway) et Serveurs Liés côté SQL Server, cette vue permettra d'interroger les données à la fois locales et distantes:


    Code Oracle : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CONNECT USER_ORACLE/PASSWD;
    CREATE DATABASE LINK DBLINK_SQLSERVER CONNECT TO <entrée TNS correspondant à l instance SQL Server>...
    CREATE TABLE TAB_ORACLE(col1 int, col2 varchar2(100);
    CREATE VIEW V_FEDEREE AS 
     SELECT col1, col2 from TAB_ORACLE
     UNION ALL
     SELECT col1, col2 from TAB_SQLSERVER@DBLINK_SQLSERVER;


    Code SQL Server : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    EXEC sp_addlinkedserver 'LINKSRV_ORACLE','Oracle','MSDAORA','<entree TNS correspondant à l instance Oracle>'
    CREATE TABLE TAB_SQLSERVER(col1 int, col2 varchar(100);
    CREATE VIEW V_FEDEREE AS 
     SELECT col1, col2 from LINKSRV_ORACLE.USER_ORACLE.TAB_ORACLE
     UNION ALL
     SELECT col1, col2 from TAB_SQLSERVER;


    Bien entendu, tout ce qui est cohérence transactionnelle entre les deux bases et modification des données doit être gérée et sera relativement complexe...

Discussions similaires

  1. [XL-2010] Rechercher dans une base de données excel sur un serveur
    Par alive85 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/12/2014, 09h02
  2. Réponses: 1
    Dernier message: 27/03/2014, 14h04
  3. Importer une base de données locale sur mon serveur distant
    Par carber dans le forum Administration
    Réponses: 0
    Dernier message: 25/02/2014, 10h17
  4. Réponses: 20
    Dernier message: 29/08/2013, 18h38
  5. Créer une base de données répartie
    Par sihamnet dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 06/05/2013, 11h26

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