Implémenter la réplication DBFS (Oracle Database File System)
Toute réplication vers la base de données de secours implique deux étapes dans ce modèle : du dossier d'origine de la base de données principale au montage DBFS intermédiaire, puis, sur le site secondaire, du montage DBFS au dossier de destination de la base de données de secours. Les copies intermédiaires sont effectuées à l'aide de rsync. Etant donné qu'il s'agit d'une copie rsync locale à faible latence, certains des problèmes qui surviennent lors d'une opération de copie rsync distante sont évités avec ce modèle.
Remarques :
Cette méthode n'est pas prise en charge avec Oracle Autonomous Database, ce qui n'autorise pas les connexions DBFS.réplique-niveau intermédiaire-dbfs-oracle.zip
Les avantages de l'implémentation de la réplique de niveau intermédiaire avec DBFS sont les suivants :
- Cette méthode tire parti de la robustesse de la réplique Oracle Data Guard.
- Le stockage de niveau intermédiaire réel peut rester monté dans les noeuds secondaires. Il n'y a pas d'étapes supplémentaires pour attacher ou monter le stockage dans le secondaire lors de chaque opération de permutation ou de basculement.
Voici quelques remarques concernant l'implémentation de la réplique de niveau intermédiaire avec DBFS :
- Cette méthode nécessite une instance Oracle Database avec Oracle Data Guard.
- Les hôtes de niveau intermédiaire (middle tier) ont besoin du client Oracle Database pour monter DBFS.
- L'utilisation de DBFS pour la réplication a des implications du point de vue de la configuration, du stockage de base de données et du cycle de vie. Elle nécessite une installation du client Oracle Database dans les hôtes de niveau intermédiaire (middle tier), une certaine maintenance de la base de données (pour nettoyer, compresser et réduire le stockage des tables) et une bonne compréhension du comportement des points de montage DBFS.
- Les répertoires DBFS peuvent être montés uniquement si la base de données est ouverte. Lorsque Oracle Data Guard n'est pas un Active Data Guard, la base de données de secours est à l'état de montage. Par conséquent, pour accéder au montage DBFS sur le site secondaire, vous devez convertir la base de données en base de données de secours instantanée. Lorsque Active Data Guard est utilisé, le système de fichiers peut être monté pour les lectures et il n'est pas nécessaire de passer à un instantané.
- Il n'est pas recommandé d'utiliser DBFS comme solution à usage général pour répliquer tous les artefacts (en particulier les fichiers d'exécution) vers la base de données de secours. L'utilisation de DBFS pour répliquer les fichiers binaires est excessive. Toutefois, cette approche permet de répliquer quelques artefacts, tels que la configuration, lorsque d'autres méthodes telles que la réplication de stockage ou
rsyncne répondent pas aux besoins du système. - Il incombe à l'utilisateur de créer les scripts personnalisés pour chaque environnement et de les exécuter périodiquement.
- Il incombe à l'utilisateur d'implémenter un moyen d'inverser la direction de la réplique.
Configuration de la réplication pour le système de fichiers de base de données
Cette implémentation utilise la technologie rsync et suit le modèle peer-to-peer. Dans ce modèle, la copie est effectuée directement entre les hôtes homologues de niveau intermédiaire. Chaque noeud dispose d'une connectivité SSH à son homologue et utilise les commandes rsync via SSH pour répliquer les artefacts de fichier de niveau intermédiaire principal.
Les éléments suivants sont requis pour implémenter une réplique de niveau intermédiaire avec DBFS :
- Installation d'un client Oracle Database sur les hôtes de niveau intermédiaire qui effectuent la copie, à la fois dans l'hôte principal et l'hôte secondaire.
- Système de fichiers DBFS créé dans la base de données.
- Montage DBFS dans les hôtes de niveau intermédiaire qui effectuent les copies, à la fois en primaire et secondaire. Cela monte le système de fichiers DBFS de la base de données. Ce système de fichiers peut être monté sur plusieurs hôtes, car DBFS est un système de fichiers partageable.
- Scripts qui copient les artefacts de fichier de niveau intermédiaire vers le montage DBFS sur le site principal.
- Scripts qui copient les artefacts de fichier de niveau intermédiaire du montage DBFS vers les dossiers du site secondaire. Selon l'implémentation, cette méthode peut nécessiter une connectivité SQL*net entre les hôtes de niveau intermédiaire et la base de données distante pour les opérations de base de données telles que les conversions de rôles.
- Façon de gérer les informations propres au site, en excluant ces informations de la copie ou en les mettant à jour avec les informations appropriées après la réplique.
- Planifiez l'exécution continue de ces scripts.
- Mécanisme permettant de changer la direction de la réplique après une permutation ou un basculement.
Remarques :
L'exemple suivant s'applique aux systèmes Oracle WebLogic. Vous pouvez l'utiliser comme référence pour copier d'autres dossiers du système de niveau intermédiaire via DBFS, mais cet exemple particulier utilise un script qui réplique le dossier de domaine de l'administrateur WebLogic vers le dossier secondaire via DBFS.Cet exemple montre comment répliquer le dossier de domaine de l'hôte d'administration WebLogic via DBFS. Le contenu situé en dehors du dossier de domaine, ainsi que le contenu sur d'autres hôtes, n'est pas inclus dans cet exemple. Le dossier de domaine ne réside pas directement sur DBFS ; le montage DBFS n'est qu'un dossier intermédiaire pour stocker une copie du dossier de domaine.
Cet exemple fournit un script pour effectuer ces actions, qui doivent être exécutées périodiquement sur les sites principal et de secours. Ce script copie le dossier de domaine d'administration WebLogic, en ignorant certains éléments tels que les fichiers tmp, .lck, .state et tnsnames.ora. La procédure se compose des éléments suivants :
- Lorsque le script s'exécute sur l'hôte d'administration WebLogic du site principal, il copie le dossier de domaine WebLogic dans le dossier DBFS.
- Les fichiers copiés dans DBFS, tels qu'ils sont stockés dans la base de données, sont automatiquement transférés vers la base de données de secours via Oracle Data Guard.
- Lorsque le script s'exécute sur l'hôte d'administration WebLogic du site secondaire :
- Le script convertit la base de données de secours en base de données de secours cliché.
- Il monte ensuite le système de fichiers DBFS à partir de la base de données de secours.
- Le dossier de domaine répliqué est désormais disponible dans ce dossier DBFS. Le script le copie du montage DBFS vers le dossier de domaine réel.
- Enfin, le script convertit à nouveau la base de données de secours en base de données de secours physique.
- En cas de changement de rôle, le script adapte automatiquement l'exécution au nouveau rôle. Il rassemble le rôle réel du site en vérifiant le rôle de base de données.
Ce script reproduit uniquement le dossier de domaine de l'hôte d'administration WebLogic. Le contenu sous le dossier DOMAIN_HOME/config est automatiquement copié vers tous les autres noeuds qui font partie du domaine WebLogic au démarrage des serveurs gérés. Les fichiers situés en dehors de ce dossier et les fichiers situés sur d'autres hôtes ne sont pas répliqués et doivent être synchronisés séparément.
Pour les opérations de déploiement d'application, utilisez l'option de déploiement Télécharger vos fichiers vers le serveur dans la console d'administration WebLogic. De cette façon, les fichiers déployés sont placés sous le répertoire de téléchargement du serveur d'administration ($DOMAIN_HOME/servers/admin_server_name/upload), et le script de réplique de configuration les synchronise sur le site de secours.
Cet exemple fournit un autre script pour installer le client de base de données et configurer un montage DBFS dans les hôtes de niveau intermédiaire. L'image est un exemple de système Oracle WebLogic Server for OCI avec réplication DBFS.
wls-dbfs-replication-oracle.zip
Pour utiliser la méthode DBFS afin de répliquer le domaine WebLogic, procédez comme suit :
Valider la réplication pour le système de fichiers de base de données
Lors d'une opération de permutation ou de basculement, les informations répliquées doivent être disponibles et utilisables sur le site de secours avant le démarrage des processus. Cela est également nécessaire lorsque vous validez le système secondaire (en ouvrant la base de données de secours en mode cliché).
Dans cette implémentation, le stockage est toujours disponible dans la base de données de secours. Vous n'avez pas besoin d'attacher ou de monter un volume. La seule action dont vous avez besoin est de vous assurer qu'il contient la dernière version du contenu.
Pour utiliser le contenu répliqué en standby, procédez comme suit :
Effectuer une réplication continue pour le système de fichiers de base de données
Exécutez régulièrement le script de réplication pour que le domaine secondaire reste synchronisé avec le domaine principal.
rsync à partir des hôtes de niveau intermédiaire :
- Utilisez le crontab de l'O/S ou un autre outil de planification pour planifier la réplication. Il doit permettre aux scripts de terminer la réplication. Sinon, les travaux suivants peuvent se chevaucher.
- Maintenez les processus de niveau intermédiaire arrêtés sur le site de secours. Si les serveurs sont actifs sur le site de secours alors que les modifications sont répliquées, les modifications prendront effet lors du prochain démarrage. Démarrez-les uniquement lors de la validation du site de secours ou lors de la procédure de permutation ou de basculement.
- Tenir à jour les informations propres à chaque site et les tenir à jour. Par exemple, ignorez l'élément
tnsnames.orade la copie afin que chaque système ait ses détails de connectivité. Si vous effectuez une modification danstnsnames.oradans le fichier principal (par exemple, l'ajout d'un nouvel alias), mettez à jour manuellement le fichiertnsnames.oradans le fichier secondaire en conséquence. - Après une permutation ou un basculement, inversez le sens de la réplique. Cela dépend de l'implémentation spécifique. Les scripts peuvent utiliser une vérification dynamique pour identifier le site actif ou vous pouvez effectuer une modification manuelle après une permutation ou un basculement (par exemple, la désactivation et l'activation des scripts appropriés). Dans l'exemple fourni, le script
config_replica.shadapte automatiquement l'exécution au rôle réel du site en vérifiant le rôle de base de données locale.

