

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécution d’une bascule d’Oracle Data Guard
<a name="oracle-replication-switchover"></a>

Une *bascule* est une inversion de rôle entre une base de données principale et une base de données secondaire. Lors d’une bascule, la base de données principale d’origine passe à un rôle secondaire, tandis que la base de données secondaire d’origine passe au rôle principal.

Dans un environnement Oracle Data Guard, une base de données principale prend en charge une ou plusieurs bases de données secondaire. Vous pouvez effectuer une transition de rôle gérée, basée sur la bascule, d’une base de données principale vers une base de données secondaire. Une *bascule* est une inversion de rôle entre une base de données principale et une base de données secondaire. Lors d’une bascule, la base de données principale d’origine passe à un rôle secondaire, tandis que la base de données secondaire d’origine passe au rôle principal.

**Topics**
+ [Présentation de la bascule d’Oracle Data Guard](#oracle-replication-switchover.overview)
+ [Exigences pour la bascule d’Oracle Data Guard](oracle-switchover.preparing.md)
+ [Lancement de la bascule d’Oracle Data Guard](oracle-switchover.initiating.md)
+ [Surveillance du basculement d'Oracle Data Guard](oracle-switchover.monitoring.md)

## Présentation de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview"></a>

Amazon RDS prend en charge une transition de rôle entièrement gérée et basée sur la bascule pour les réplicas Oracle Database. Vous pouvez uniquement initier une bascule vers une base de données secondaire qui est montée ou ouverte en lecture seule. 

Les répliques peuvent résider dans des zones de disponibilité distinctes Régions AWS ou différentes (AZs) d'une même région. Tous Régions AWS sont pris en charge. 

![\[Basculer une instance secondaire pour en faire une instance de base de données principale\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/read-replica-switchover.png)


Une bascule est différente d’une promotion de réplica en lecture. Lors d’une bascule, les instances de base de données source et de réplica changent de rôle. Dans le cadre d’une promotion, un réplica en lecture devient une instance de base de données source, mais l’instance de base de données source ne devient pas un réplica. Pour plus d’informations, consultez [Promotion d'un réplica en lecture en instance de bases de données autonome](USER_ReadRepl.Promote.md).

**Topics**
+ [Avantages de la bascule d’Oracle Data Guard](#oracle-replication-switchover.overview.benefits)
+ [Versions de Oracle Database prises en charge](#oracle-replication-switchover.overview.engine-support)
+ [Coût de la bascule d’Oracle Data Guard](#oracle-replication-switchover.overview.cost)
+ [Comment fonctionne la bascule d’Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works)

### Avantages de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.benefits"></a>

Tout comme pour les réplicas en lecture RDS for Oracle, une bascule gérée s’appuie sur Oracle Data Guard. L'opération est conçue pour qu'il n'y ait aucune perte de données. Amazon RDS automatise les aspects suivants de la bascule :
+ Inverse les rôles de votre base de données principale et de la base de données secondaire spécifiée, en plaçant la nouvelle base de données secondaire dans le même état (montée ou en lecture seule) que la base de données secondaire d'origine
+ Garantit la cohérence des données
+ Maintient votre configuration de réplication après la transition
+ Prend en charge les inversions répétées, ce qui permet à votre nouvelle base de données secondaire de reprendre son rôle principal initial

### Versions de Oracle Database prises en charge
<a name="oracle-replication-switchover.overview.engine-support"></a>

La bascule d’Oracle Data Guard est prise en charge pour Oracle Database 19c et versions ultérieures.

### Coût de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.cost"></a>

La fonction de bascule d’Oracle Data Guard n’entraîne pas de coûts supplémentaires. Oracle Database Enterprise Edition inclut la prise en charge de bases de données de secours en mode monté. Pour ouvrir des bases de données de secours en mode lecture seule, vous devez disposer de l'option Oracle Active Data Guard.

### Comment fonctionne la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works"></a>

La bascule d’Oracle Data Guard est une opération entièrement gérée. Vous initiez la bascule pour une base de données secondaire en exécutant la commande CLI `switchover-read-replica`. Ensuite, Amazon RDS modifie les rôles principal et secondaire dans votre configuration de réplication.

La *base de données secondaire d’origine* et la *base de données principale d’origine* sont les rôles qui existent avant la bascule. La *nouvelle base de données secondaire* et la *nouvelle base de données principale* sont les rôles qui existent après la bascule. Un *réplica de secours* est une base de données de réplica qui sert de base de données secondaire dans l'environnement Oracle Data Guard mais qui ne change pas de rôle.

**Topics**
+ [Étapes de la bascule d’Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works.during-switchover)
+ [Après la bascule d’Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works.after-switchover)

#### Étapes de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.during-switchover"></a>

Pour effectuer la bascule, Amazon RDS doit procéder comme suit :

1. Bloquer les nouvelles transactions sur la base de données principale d'origine. Pendant la bascule, Amazon RDS interrompt la réplication pour toutes les bases de données de votre configuration Oracle Data Guard. Pendant la bascule, la base de données principale d’origine ne peut pas traiter les requêtes d’écriture.

1. Envoyez les transactions non appliquées à la base de données secondaire d'origine, et appliquez-les.

1. Redémarrez la nouvelle base de données secondaire en mode lecture seule ou montée. Le mode dépend de l’état d’ouverture de la base de données secondaire d’origine avant la bascule.

1. Ouvrez la nouvelle base de données principale en read/write mode.

#### Après la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover"></a>

Amazon RDS bascule les rôles de la base de données principale et de la base de données secondaire. Il vous incombe de reconnecter votre application et d'effectuer toute autre configuration souhaitée.

**Topics**
+ [Critères de réussite](#oracle-replication-switchover.overview.how-it-works.after-switchover.success)
+ [Connexion à la nouvelle base de données principale](#oracle-replication-switchover.overview.how-it-works.after-switchover.connection)
+ [Configuration de la nouvelle base de données principale](#oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration)

##### Critères de réussite
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success"></a>

La bascule d’Oracle Data Guard est réussie lorsque la base de données secondaire d’origine :
+ Effectue la transition vers son rôle de nouvelle base de données principale
+ Termine sa reconfiguration

Pour limiter les temps d'arrêt, votre nouvelle base de données principale devient active dès que possible. Étant donné qu'Amazon RDS configure les réplicas de secours de manière asynchrone, ces réplicas peuvent devenir actifs après la base de données principale d'origine.

##### Connexion à la nouvelle base de données principale
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.connection"></a>

Amazon RDS ne propagera pas vos connexions actuelles à la nouvelle base de données principale après la bascule. Une fois la bascule d’Oracle Data Guard terminée, reconnectez votre application à la nouvelle base de données principale.

##### Configuration de la nouvelle base de données principale
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration"></a>

Pour effectuer une bascule vers la nouvelle base de données principale, Amazon RDS change le mode de la base de données secondaire d’origine en mode ouvert. Le changement de rôle est le seul changement apporté à la base de données. Amazon RDS ne configure pas des fonctionnalités telles que la réplication Multi-AZ.

Si vous effectuez une bascule vers un réplica inter-régions avec des options différentes, la nouvelle base de données principale conserve ses propres options. Amazon RDS ne migrera pas les options de la base de données principale d'origine. Si la base de données principale d'origine comportait des options telles que SSL, NNE, OEM et OEM\$1AGENT, Amazon RDS ne les propage pas vers la nouvelle base de données principale.

# Exigences pour la bascule d’Oracle Data Guard
<a name="oracle-switchover.preparing"></a>

Avant de lancer la bascule d’Oracle Data Guard, assurez-vous que votre environnement de réplication répond aux exigences suivantes :
+ La base de données secondaire d'origine est montée ou ouverte en lecture seule.
+ Les sauvegardes automatiques sont activées sur la base de données secondaire d'origine.
+ La base de données principale d’origine et la base de données secondaire d’origine sont dans l’état `available`.
+ La base de données principale d’origine et la base de données secondaire d’origine n’ont aucune action de maintenance en attente dans les états suivants : `required`, `next window` ou `in progress`. Les actions dans ces états bloquent la bascule. Pour savoir comment vérifier le statut des mises à jour de maintenance en attente, consultez [Affichage des mise à jour de maintenance en attente](USER_UpgradeDBInstance.Maintenance.md#USER_UpgradeDBInstance.Maintenance.Viewing).

  Les actions de maintenance en attente à l’état `available` ne bloquent pas la bascule. RDS for Oracle publie fréquemment des mises à jour du système d’exploitation (OS) dans l’état `available`. Ces mises à jour du système d’exploitation en attente ne bloqueront pas une bascule, sauf si vous les planifiez pour la fenêtre de maintenance suivante, ce qui les fait passer à l’état `next window`.
**Note**  
Si vous souhaitez différer une action de maintenance planifiée afin de pouvoir exécuter une bascule, choisissez **Actions**, puis **Différer la mise à niveau** dans la console RDS. Vous pouvez également empêcher le blocage d’une bascule en appliquant une action de maintenance en attente ou en déplaçant la fenêtre de maintenance vers un intervalle précédant votre bascule. Pour plus d’informations, consultez l’article re:Post [Comment supprimer les éléments RDS en attente de maintenance](https://repost.aws/questions/QUV3dBjmVVRnmVV1pAlzjx1w/how-to-remove-rds-pending-maintenance-item).
+ La base de données secondaire d'origine est en état de réplication.
+ Vous n’essayez pas de lancer une bascule lorsque la base de données principale ou la base de données secondaire est actuellement dans un cycle de vie de bascule. Si une base de données de réplica est en train de se reconfigurer après une bascule, Amazon RDS vous empêche de lancer une nouvelle bascule.
**Note**  
Un *réplica de secours* est un réplica dans la configuration Oracle Data Guard qui n’est pas la cible de la bascule. Les réplicas de secours peuvent avoir n’importe quel état pendant la bascule.
+ La configuration de la base de données secondaire d'origine est aussi proche que possible de celle de la base de données principale d'origine. Prenons un scénario dans lequel les bases de données principale et secondaire d'origine ont des options différentes. Une fois la bascule terminée, Amazon RDS ne reconfigure pas automatiquement la nouvelle base de données principale pour qu’elle dispose des mêmes options que la base de données principale d’origine.
+ Vous configurez le déploiement multi-AZ que vous souhaitez avant de lancer une bascule. Amazon RDS ne gère pas le déploiement multi-AZ dans le cadre de la bascule. Le déploiement multi-AZ reste tel quel.

  Supposons que db\$1maz soit la base de données principale dans un déploiement multi-AZ et que db\$1saz soit un réplica mono-AZ. Vous lancez une bascule de db\$1maz vers db\$1saz. Par la suite, db\$1maz est une base de données de réplica multi-AZ et db\$1saz est une base de données principale mono-AZ. La nouvelle base de données principale n'est désormais pas protégée par un déploiement multi-AZ.
+ En prévision d’une bascule entre régions, la base de données principale n’utilise pas le même groupe d’options qu’une instance de base de données en dehors de la configuration de réplication. Pour qu’une bascule entre régions réussisse, la base de données principale actuelle et ses réplicas en lecture doivent être les seules instances de base de données à utiliser le groupe d’options de la base de données principale actuelle. Dans le cas contraire, Amazon RDS empêche la bascule.

# Lancement de la bascule d’Oracle Data Guard
<a name="oracle-switchover.initiating"></a>

Vous pouvez faire basculer un réplica en lecture RDS for Oracle vers le rôle principal, et l'ancienne instance de base de données principale vers un rôle de réplica.

## Console
<a name="USER_ReadRepl.Promote.Console"></a>

**Pour basculer un réplica en lecture Oracle vers le rôle de base de données principale**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans la console Amazon RDS, choisissez **Bases de données**.

   Le volet **Bases de données** s'affiche. Chaque réplica en lecture affiche **Réplica** dans la colonne **Rôle**.

1. Sélectionnez la réplica en lecture que vous souhaitez faire basculer vers le rôle principal.

1. Pour **Actions**, sélectionnez **Switch over replica** (Basculer le réplica).

1. Sélectionnez **I acknowledge** (Je confirme). Sélectionnez ensuite **Switch over replica** (Basculer le réplica).

1. Sur la page **Bases de données**, surveillez la progression de la bascule.  
![\[Surveillez la progression de la bascule d’Oracle Data Guard.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-switchover-progress.png)

   Lorsque la bascule est terminée, le rôle de la cible de la bascule passe de **Réplica** à **Source**.  
![\[Les bases de données source et de réplica échangent leurs rôles.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-switchover-complete.png)

## AWS CLI
<a name="USER_ReadRepl.Promote.CLI"></a>

Pour faire basculer un réplica Oracle vers le rôle de base de données principale, utilisez la commande AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/switchover-read-replica.html](https://docs.aws.amazon.com/cli/latest/reference/rds/switchover-read-replica.html). Les exemples suivants font du réplica Oracle nommé *replica-to-be-made-primary* la nouvelle base de données principale.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds switchover-read-replica \
    --db-instance-identifier replica-to-be-made-primary
```
Pour Windows :  

```
aws rds switchover-read-replica ^
    --db-instance-identifier replica-to-be-made-primary
```

## API RDS
<a name="USER_ReadRepl.Promote.API"></a>

Pour faire passer un réplica Oracle au rôle de base de données principale, appelez l'opération d'API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html) avec le paramètre `DBInstanceIdentifier` requis. Ce paramètre spécifie le nom du réplica Oracle qui doit assumer le rôle de base de données principale.

# Surveillance du basculement d'Oracle Data Guard
<a name="oracle-switchover.monitoring"></a>

Pour vérifier l'état de vos instances, utilisez la commande AWS CLI `describe-db-instances`. La commande suivante vérifie le statut de l'instance de base de données *orcl2*. Cette base de données était une base de données secondaire avant le basculement, mais elle devient la nouvelle base de données principale après le basculement.

```
aws rds describe-db-instances \
    --db-instance-identifier orcl2
```

Pour confirmer que le basculement s'est bien déroulé, interrogez `V$DATABASE.OPEN_MODE`. Vérifiez que la valeur de la nouvelle base de données principale est `READ WRITE`.

```
SELECT OPEN_MODE FROM V$DATABASE;
```

Pour rechercher les événements liés au basculement, utilisez la commande AWS CLI `describe-events`. L'exemple suivant recherche des événements sur l'instance *orcl2*.

```
aws rds describe-events \
    --source-identifier orcl2 \
    --source-type db-instance
```