

# Realización de una conmutación de Oracle Data Guard
<a name="oracle-replication-switchover"></a>

Una *conmutación* es una inversión de roles entre una base de datos principal y una base de datos en espera. Durante una conmutación, la base de datos principal original pasa a un rol en espera, mientras que la base de datos en espera original pasa al rol primerio.

En un entorno de Oracle Data Guard, una base de datos principal admite una o más bases de datos en espera. Puede realizar una transición de roles administrada y basada en conmutaciones de una base de datos principal a una base de datos en espera. Una *conmutación* es una inversión de roles entre una base de datos principal y una base de datos en espera. Durante una conmutación, la base de datos principal original pasa a un rol en espera, mientras que la base de datos en espera original pasa al rol primerio.

**Topics**
+ [Información general sobre conmutaciones de Oracle Data Guard](#oracle-replication-switchover.overview)
+ [Requisitos para la transición de Oracle Data Guard](oracle-switchover.preparing.md)
+ [Inicio de la conmutación de Oracle Data Guard](oracle-switchover.initiating.md)
+ [Monitorización de la conmutación de Oracle Data Guard](oracle-switchover.monitoring.md)

## Información general sobre conmutaciones de Oracle Data Guard
<a name="oracle-replication-switchover.overview"></a>

Amazon RDS admite una transición de roles totalmente administrada y basada en conmutaciones para las réplicas de Oracle Database. Solo puede iniciar una conmutación a una base de datos secundaria que esté montada o abierta en modo de solo lectura. 

Las réplicas pueden residir en Regiones de AWS distintas o en diferentes zonas de disponibilidad (AZ) de una sola región. Se admiten todas las Regiones de AWS. 

![\[Transición de una instancia en espera para convertirla en la instancia de base de datos principal\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/read-replica-switchover.png)


Una transición difiere de una promoción de réplicas de lectura. En una transición, las instancias de base de datos de origen y réplica cambian de rol. En una promoción, una réplica de lectura se convierte en una instancia de base de datos de origen, pero la instancia de base de datos de origen no se convierte en una réplica. Para obtener más información, consulte [Promoción de una réplica de lectura para convertirla en una instancia de base de datos independiente](USER_ReadRepl.Promote.md).

**Topics**
+ [Beneficios de las conmutaciones de Oracle Data Guard](#oracle-replication-switchover.overview.benefits)
+ [Versiones de Oracle Database compatibles](#oracle-replication-switchover.overview.engine-support)
+ [Coste de las conmutaciones de Oracle Data Guard](#oracle-replication-switchover.overview.cost)
+ [Cómo funcionan las conmutaciones de Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works)

### Beneficios de las conmutaciones de Oracle Data Guard
<a name="oracle-replication-switchover.overview.benefits"></a>

Al igual que para las réplicas de lectura de RDS para Oracle, una conmutación administrada se basa en Oracle Data Guard. La operación está diseñada para tener cero pérdida de datos. Amazon RDS automatiza los siguientes aspectos de la conmutación:
+ Invierte los roles de la base de datos principal y la base de datos en espera especificada, poniendo la nueva base de datos en espera en el mismo estado (montada o de solo lectura) que la base de datos en espera original
+ Garantiza la coherencia de datos
+ Mantiene la configuración de replicación después de la transición
+ Admite reversiones repetidas, lo que permite que la nueva base de datos en espera vuelva a su rol principal original

### Versiones de Oracle Database compatibles
<a name="oracle-replication-switchover.overview.engine-support"></a>

La transición de Oracle Data Guard se admite en Oracle Database 19c y en versiones posteriores.

### Coste de las conmutaciones de Oracle Data Guard
<a name="oracle-replication-switchover.overview.cost"></a>

La característica de la conmutación de Oracle Data Guard no implica costes adicionales. Oracle Database Enterprise Edition es compatible con bases de datos en espera en modo montado. Para abrir bases de datos en espera en modo de solo lectura, necesita la opción Oracle Active Data Guard.

### Cómo funcionan las conmutaciones de Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works"></a>

La conmutación de Oracle Data Guard es una operación totalmente administrada. Para iniciar la conmutación de una base de datos en espera, ejecute el comando de la CLI `switchover-read-replica`. A continuación, Amazon RDS modifica los roles principal y en espera en la configuración de replicación.

El *modo de espera original* y *principal original* son los roles que existen antes de la conmutación. El *modo de espera original* y *principal nuevo* son los roles que existen después de la conmutación. Una *réplica de espectador* es una base de datos de réplica que funciona como base de datos en espera en el entorno de Oracle Data Guard, pero no cambia de rol.

**Topics**
+ [Fases de las conmutaciones de Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works.during-switchover)
+ [Después de la conmutación de Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works.after-switchover)

#### Fases de las conmutaciones de Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.during-switchover"></a>

Para realizar la conmutación, Amazon RDS debe seguir estos pasos:

1. Bloquee nuevas transacciones en la base de datos principal original. Durante la conmutación, Amazon RDS interrumpe la replicación de todas las bases de datos de la configuración de Oracle Data Guard. Durante la conmutación, la base de datos principal original no puede procesar solicitudes de escritura.

1. Envíe las transacciones no aplicadas a la base de datos en espera original y aplíquelas.

1. Reinicie la nueva base de datos en espera en modo de solo lectura o montado. El modo depende del estado abierto de la base de datos en espera original antes de la conmutación.

1. Abra la nueva base de datos principal en el modo lectura/escritura.

#### Después de la conmutación de Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover"></a>

Amazon RDS cambia los roles de la base de datos principal y en espera. Usted es responsable de volver a conectar la aplicación y de realizar cualquier otra configuración que desee.

**Topics**
+ [Criterios correctos](#oracle-replication-switchover.overview.how-it-works.after-switchover.success)
+ [Conexión a la nueva base de datos principal](#oracle-replication-switchover.overview.how-it-works.after-switchover.connection)
+ [Configuración de la nueva base de datos principal](#oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration)

##### Criterios correctos
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success"></a>

La conmutación de Oracle Data Guard se realiza correctamente cuando la base de datos en espera original hace lo siguiente:
+ Transiciones a su rol como nueva base de datos principal
+ Completa su reconfiguración

Para limitar el tiempo de inactividad, la nueva base de datos principal se activa lo antes posible. Dado que Amazon RDS configura las réplicas de espectadores de forma asíncrona, estas réplicas pueden activarse después de la base de datos principal original.

##### Conexión a la nueva base de datos principal
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.connection"></a>

Amazon RDS no propagará las conexiones de base de datos actuales a la nueva base de datos principal tras el cambio. Una vez completada la conmutación de Oracle Data Guard, vuelva a conectar la aplicación a la nueva base de datos principal.

##### Configuración de la nueva base de datos principal
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration"></a>

Para realizar una conmutación a la nueva base de datos principal, Amazon RDS cambia el modo de la base de datos en espera original a abierta. El cambio de rol es el único cambio en la base de datos. Amazon RDS no configura características como la replicación Multi-AZ.

Si realiza una conmutación a una réplica entre regiones con diferentes opciones, la nueva base de datos principal conserva sus propias opciones. Amazon RDS no migra las opciones de la base de datos principal original. Si la base de datos principal original tenía opciones como SSL, NNE, OEM y OEM\$1AGENT, Amazon RDS no las propaga a la nueva base de datos principal.

# Requisitos para la transición de Oracle Data Guard
<a name="oracle-switchover.preparing"></a>

Antes de iniciar la conmutación de Oracle Data Guard, asegúrese de que el entorno de replicación cumple los siguientes requisitos:
+ La base de datos en espera original está montada o abierta en modo de solo lectura.
+ Las copias de seguridad automáticas están activadas en la base de datos en espera original
+ La base de datos principal original y la base de datos en espera original están en estado `available`.
+ La base de datos principal original y la base de datos en espera original no tienen acciones de mantenimiento pendientes en alguno de los estados siguientes: `required`, `next window` o `in progress`. Las acciones en estos estados bloquean la transición. Para obtener información sobre cómo comprobar el estado de las actualizaciones de mantenimiento pendientes, consulte [Visualización de actualizaciones de mantenimiento pendientes](USER_UpgradeDBInstance.Maintenance.md#USER_UpgradeDBInstance.Maintenance.Viewing).

  Las acciones de mantenimiento pendientes en el estado `available` no bloquean la transición. RDS para Oracle publica con frecuencia actualizaciones del sistema operativo (SO) en el estado `available`. Estas actualizaciones pendientes del sistema operativo no bloquearán la transición a menos que las programe para el siguiente periodo de mantenimiento, que las colocará en el estado `next window`.
**nota**  
Si desea aplazar una acción de mantenimiento programada para poder ejecutar una transición, elija **Acciones** y, a continuación, **Aplazar la actualización** en la consola de RDS. También puede evitar que se bloquee una transición aplicando una acción de mantenimiento pendiente o desplazando el periodo de mantenimiento a un intervalo anterior a la transición. Para obtener más información, consulte el artículo de re:Post [Cómo eliminar los elementos de mantenimiento pendientes de RDS](https://repost.aws/questions/QUV3dBjmVVRnmVV1pAlzjx1w/how-to-remove-rds-pending-maintenance-item).
+ La base de datos en espera original está en estado de replicación.
+ No está intentando iniciar una conmutación cuando la base de datos principal o la base de datos en espera se encuentran actualmente en un ciclo de vida de conmutación. Si una base de datos de réplicas se está reconfigurando después de una conmutación, Amazon RDS le impide iniciar otra conmutación.
**nota**  
Una *réplica de espectador* es una réplica en la configuración de Oracle Data Guard que no es el destino de la conmutación. Las réplicas de espectador pueden estar en cualquier estado durante la conmutación.
+ La base de datos en espera original tiene una configuración que es lo más parecida a la base de datos principal original. Supongamos un escenario en el que las bases de datos principal y en espera originales tienen diferentes opciones. Una vez completada la conmutación, Amazon RDS no vuelve a configurar automáticamente la nueva base de datos principal para que tenga las mismas opciones que la base de datos principal original.
+ Configure la implementación multi-AZ que desee antes de iniciar la conmutación. Amazon RDS no administra Multi-AZ como parte de la conmutación. La implementación multi-AZ permanecerá inalterada.

  Supongamos que db\$1maz es la base de datos principal en una implementación multi-AZ y que db\$1saz es una réplica single-AZ. Usted inicia una conmutación de de db\$1maz a db\$1saz. Posteriormente, db\$1maz es una base de datos de réplica multi-AZ y db\$1saz es una base de datos principal single-AZ. La nueva base de datos principal ahora no está protegida por una implementación multi-AZ.
+ Como preparación para una conmutación entre regiones, la base de datos principal no usa el mismo grupo de opciones que una instancia de base de datos fuera de la configuración de replicación. Para que la conmutación entre regiones se realice correctamente, la base de datos principal actual y sus réplicas de lectura deben ser las únicas instancias de base de datos que utilicen el grupo de opciones de la base de datos principal actual. De lo contrario, Amazon RDS impedirá la conmutación.

# Inicio de la conmutación de Oracle Data Guard
<a name="oracle-switchover.initiating"></a>

Puede cambiar una réplica de lectura de RDS para Oracle al rol principal y la anterior instancia de base de datos principal a un rol de réplica.

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

**Para cambiar una réplica de lectura de Oracle al rol de la base de datos principal**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En la consola de Amazon RDS, seleccione **Databases (Bases de datos)**.

   Aparece el panel **Databases (Bases de datos)**. Cada réplica de lectura muestra **Replica (Réplica)** en la columna **Role (Rol)**.

1. Elija la réplica de lectura que desea cambiar al rol principal.

1. En **Actions** (Acciones), elija **Switch over replica** (Réplica de conmutación).

1. Elija **I acknowledge** (Confirmo). A continuación, elija **Switch over replica** (Réplica de conmutación).

1. En la página **Databases** (Bases de datos), supervise el progreso de la conmutación.  
![\[Supervise el progreso de la conmutación de Oracle Data Guard.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-switchover-progress.png)

   Cuando se complete la conmutación, el rol del objetivo de la conmutación cambiará de **Replica** (Réplica) a **Primary** (Principal).  
![\[Las bases de datos de origen y de réplica cambian de rol.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-switchover-complete.png)

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

Para cambiar una réplica de Oracle al rol de la base de datos principal, utilice el comando [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) de la AWS CLI. Los siguientes ejemplos hacen que la réplica de Oracle se llame *replica-to-be-made-primary* en la nueva base de datos principal.

**Example**  
Para Linux, macOS o:Unix  

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

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

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

Para cambiar una réplica de Oracle al rol de base de datos principal, llame a la operación [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html) de la API de Amazon RDS con el parámetro requerido `DBInstanceIdentifier`. Este parámetro especifica el nombre de la réplica de Oracle que desea que asuma el rol de base de datos principal.

# Monitorización de la conmutación de Oracle Data Guard
<a name="oracle-switchover.monitoring"></a>

Para comprobar el estado de las instancias, utilice el comando `describe-db-instances` de AWS CLI. El siguiente comando comprueba el estado de la instancia de base de datos *orcl2*. Esta base de datos era una base de datos en espera antes de la conmutación, pero es la nueva base de datos principaldespués de la conmutación.

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

Para confirmar que la conmutación se ha completado correctamente, consulte `V$DATABASE.OPEN_MODE`. Compruebe que el valor de la nueva base de datos principal sea `READ WRITE`.

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

Para buscar eventos relacionados con la conmutación, utilice el comando `describe-events` de AWS CLI. El siguiente ejemplo busca eventos en la instancia *orcl2*.

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