Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2007, 12h41   #1
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 3
Points : 0
Points : 0
Par défaut Réplication de Base

Bonjour à tous,

Je suis débutant en administration Oracle (stagiaire) et je dois étudier les possiblités de réplication offertes par Oracle pour une société. La société pour laquelle je travaille utilise Oracle 8.1.7.4.1 et 9.2.07 sur des machines windows 2000 sp4 et windows 2003. Il m'a été demandé de réflechir quant à la mise en place d'un système de réplication sur un site distant (relié en FO avec un débit très important). L'objectif est de pouvoir switcher sur la base distante dans le cas où le site maitre venait à tomber. Les utilisateurs doivent
au mieux pouvoir effectuer des transactions au pire executer des requête (en lecture uniquement dc). Dans le cas où une transaction a été effectuée sur le site secondaire, celle-ci doit être répercutée sur la base maîtresse lorsque celle ci est à nouveau disponible.

J'ai passé pas mal de temps dans la doc Oracle et sur divers sites Web, et la réplication Maître à maître (multimaster) asynchrone me semble la plus adpatée. je viens cependant de découvrir le mode "standby" mais qui semble uniquement être accessible en lecture. J'ai écartée la solution qui consiste à utiliser une vue matérialisée (snapshot) puisque les données ainsi réucpérées ne sont pas accessible en écriture. Je précise également que l'objectif est de faire de la redondance en cas de soucis avec le site maître et non de faire de la repartition de charge (load balancing).

Que pensez-vous de la solution que j'ai retenue ? Vous semble-t-elle cohérente sachant que les ressources matériels et réseaux sont disponibles ? Au niveau de l'intégrité des données avez-vous des remarques à me faire ? Sinon avez-vous des conseils ou des retours d'expérience à me prodiguer ?

Niveau client je compte gérer ça en spécifiant 2 hotes pour chaque service (base) et en activant le mode failover. Le client va se connecter à la base maître lors de l'établissement d'une session, si la connexion échoue alors il cherchera à joindre le site secondaire.
lliam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 13h24   #2
Membre régulier
 
Inscription : octobre 2006
Messages : 73
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : octobre 2006
Messages : 73
Points : 85
Points : 85
Pourquoi pas des disques en miroir ? (soit une solution physique plutôt que logique)
Harry Potter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 13h42   #3
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Code :
Je précise également que l'objectif est de faire de la redondance en cas de soucis avec le site maître
Il faudrait définir plus précisément ce que cela signifie en détaillant ce qui doit se passer si le site maître devient indisponible, les pertes de données sont-elles acceptées ou non ? quels sont les délais d'indisponibilité ?

En général, les produits que propose Oracle sont plutôt Data Guard et/ou Real Application Cluster. Sans vouloir vous décourager, ce sont plutôt des projets qui nécessitent un niveau de spécialisation voire d'expertise important.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 14h10   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
la standby database est faite pour ça... par ailleurs, le sujet a déjà été traité, tu peut donc faire une recherche dans le forum
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 14h24   #5
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 3
Points : 0
Points : 0
Citation:
Envoyé par pifor
Code :
Je précise également que l'objectif est de faire de la redondance en cas de soucis avec le site maître
Il faudrait définir plus précisément ce que cela signifie en détaillant ce qui doit se passer si le site maître devient indisponible, les pertes de données sont-elles acceptées ou non ? quels sont les délais d'indisponibilité ?

En général, les produits que propose Oracle sont plutôt Data Guard et/ou Real Application Cluster. Sans vouloir vous décourager, ce sont plutôt des projets qui nécessitent un niveau de spécialisation voire d'expertise important.

Concernant la perte de données elle doit être minimal (...), je sais que c'est très vague mais je dois encore étudier l'utilisation précise des bases, pour pouvoir jauger le taux de perte qui peut-être toléré.
L'idée majeure étant que si le site maître devient inaccessible les utilisateurs lancent une nouvelle session (en relancant leur application métier) qui se connectera au site secondaire (sous réserve d'avoir configurer le tnsname du client Oracle comme il se doit). Si le site maître redevient accessible, il se synchronisera avec le site secondaire. Les utilisateurs continueront donc à travailler sur le site secondaire jusqu'à ce qu'il relance une nouvelle session. Le site secondaire doit donc être capable de propager les transactions vers le site maître (réplication bidirectionnelle/symétrique)

En ce qui concerne le clustering je ne sais pas si cela répond exactement à mon type de besoin, je vois le cluster comme une répartition de charge, dans mon cas je cherche plutot à développer une solution de failover. le clustering me fait un peu peur, et ne semble pas très "sexy" dans mon cas. Mais peut-être que je fais fausse route et que c'est la seule solution réalisable.

J'ai aussi regardé du côté de TAF (Transparent Application Failover) où l'application est capable de switcher directmeent vers la base secondaire en utilisant la session active (sans passer par la création destruction/création). mais il semble que ce ménacanisme doit être implémenté au niveau de l'application côté client (je vérifierai encore).

En ce qui concerne la complexité du projet, j'en ai pleinement conscience, mais il s'agit là d'une étude théorique, qui sera suivi d'un maquettage, mais je n'ai pas l'obligation d'apporter une solution finale parfaite (étant stagiaire...). De plus j'aimerais vous préciser que ce stage représente mon stage de fin d'étude (bac+5) et que malheureusement, a moins de suivre des formations spécifiques, je n'aurais plus de cours de base de données (et ceux que j'ai suivis étaient assez "soft"). Et puis J'ai beaucoup de temps et de motivation pour espérer arriver à une solution plus ou moins fonctionnelle

merci pour vos réponses !
lliam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 14h32   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par lliam
En ce qui concerne le clustering je ne sais pas si cela répond exactement à mon type de besoin, je vois le cluster comme une répartition de charge, dans mon cas je cherche plutot à développer une solution de failover. le clustering me fait un peu peur, et ne semble pas très "sexy" dans mon cas. Mais peut-être que je fais fausse route et que c'est la seule solution réalisable.
En général toute la charge va sur le noeud survivant si tous les autres tombent

Citation:
Envoyé par lliam
De plus j'aimerais vous préciser que ce stage représente mon stage de fin d'étude (bac+5) et que malheureusement, a moins de suivre des formations spécifiques, je n'aurais plus de cours de base de données (et ceux que j'ai suivis étaient assez "soft").
je te déconseille de livrer la solution en production tant que tu es en stage : c'est risqué et rémunérer largement ce type d'opération en principe... par contre, c'est pas forcément complexe
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 14h51   #7
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 3
Points : 0
Points : 0
Citation:
Envoyé par Fred_D
En général toute la charge va sur le noeud survivant si tous les autres tombent



je te déconseille de livrer la solution en production tant que tu es en stage : c'est risqué et rémunérer largement ce type d'opération en principe... par contre, c'est pas forcément complexe
Ok voilà un message rassurant et pertinent
Un bon stage peut être synonyme d'embauche... Ou pas !

Pour le cluster oui je suis d'accord il est certe capable de répondre à mon besoin, mais je pensais qu'il existe des mécanismes spécifiques au failover.

pour Dataguard j'ai vérifié et il utilise les bases Standby (si je ne me trompe pas), mais sur le site d'orcale il semble que ces bases standby ne soit pas accessible en écriture sur Oracle 8i. Mais si ce mécanisme est celui dont j'ai besoin on peut aisément projeter un passage de la version 8i à la version 9i.

J'avoue que pour le moment je suis un peu perdu, je viens d'une formation axée réseau/telecom et je découvre le monde de l'administraytion de base de données (mise à part une dizaine de tp Oracle, mais la pratique en entreprise est parfois bien loin des labos de TP). Mes collègues ont tendance a trouver le monde Oracle "barbant" (passez moi l'expression) mais moi je trouve ça très intéressant. la difficulté réside dans le fait que le monde Oracle (documentation) est très touffue et pas tjrs très digeste. J'ai aussi du mal à passer des notions théoriques (réplication multimaster asynchrone symétrique) à la pratique. Dans quelle catégorie placer le système des Standby tables ?

la semaine prochaine je devrais avoir quelques machines à ma disposition qui me permettront de passer à la pratique, et de mieux cerner le fonctionnement de ces technologies. J'ai l'intention de monter une petite plateforme de test avec 2 serveurs windows/Oracle relié via un pc sous OpenBSD (ORACLE MASTER - OpenBSD - ORACLE SECONDAIRE). La machine sous OpenBSD me permettra de mettre des limitation de débits (via pf) et de récupérer des stats précises sur le besoin en bande passante nécessaire au processus de réplication (bien sûr variable suivant la technologie utilisée).

N'hesitez pas à me prodiguer vos conseils/remarques je suis tjrs preneur !
lliam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 15h37   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
j'avais zappé la version... là tu vas probablement devoir te tourner vers une solution externe. Je connais shareplex de quest software qui pourrait t'aider.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h47.


 
 
 
 
Partenaires

Hébergement Web