

# Conversión de una base de datos no CDB de RDS para Oracle en una CDB
<a name="oracle-cdb-converting"></a>

Puede cambiar la arquitectura de una base de datos Oracle de la arquitectura no CDB a la arquitectura multitenencia de Oracle, también conocida como *arquitectura CDB*, con el comando `modify-db-instance`. En la mayoría de los casos, esta técnica es preferible a crear un nuevo CDB e importar datos. La operación de conversión provoca un tiempo de inactividad.

Al actualizar la versión del motor de base de datos, no puede cambiar la arquitectura de la base de datos en la misma operación. Por lo tanto, para actualizar una base de datos de Oracle Database 19c que no sea CDB a una CDB de Oracle Database 21c, primero debe convertir la no CDB a una CDB en un paso; luego, deberá actualizar la CDB de 19c a una CDB de 21c en otro paso distinto.

La operación de conversión de no CDB tiene los siguientes requisitos:
+ Debe especificar `oracle-ee-cdb` o `oracle-se2-cdb` para el tipo de motor de base de datos. Estos son los únicos valores compatibles.
+ Su motor de base de datos debe utilizar Oracle Database 19c con una actualización de la versión (RU) de abril de 2021 o posterior.

La operación tiene las siguientes limitaciones:
+ No se puede convertir de una CDB a una no CDB. Solo se puede convertir de una no CDB a una CDB.
+ No se puede hacer la conversión de una base de datos no CDB a una configuración de varios inquilinos en una sola llamada a `modify-db-instance`. Al convertir una base de datos no CDB a una CDB, la CDB estará en la configuración de un solo inquilino. Para convertir la configuración de un solo inquilino en una configuración de varios inquilinos, ejecute `modify-db-instance` de nuevo. Para obtener más información, consulte [Convertir la configuración de un solo inquilino a una de varios inquilinos.](oracle-single-tenant-converting.md).
+ No puede convertir una base de datos principal o de réplica que tenga activado Oracle Data Guard. Para convertir una no CDB con réplicas de lectura, elimine primero todas las réplicas de lectura.
+ No puede actualizar la versión del motor de base de datos y convertir una no CDB en una CDB en la misma operación.

Antes de convertir una instancia que no sea CDB, tenga en cuenta lo siguiente:
+ Las consideraciones para los grupos de opciones y parámetros son las mismas que para actualizar el motor de base de datos. Para obtener más información, consulte [Consideraciones de las actualizaciones de base de datos de Oracle](USER_UpgradeDBInstance.Oracle.OGPG.md).
+ Puede convertir las instancias existentes que no son de CDB y que utilizan contraseñas principales administradas en instancias de un solo inquilino en una sola operación. Las instancias de un solo inquilino heredan las contraseñas administradas.
+ Si la instancia de base de datos tiene la opción `OEMAGENT` instalada, se recomienda eliminar esta opción antes de convertir la que no es CDB. Cuando la instancia que no es CDB se haya convertido a una CDB, vuelva a instalar la opción. Para obtener más información, consulte [Oracle Management Agent para Enterprise Manager Cloud Control](Oracle.Options.OEMAgent.md).
+ Durante el proceso de conversión, RDS restablece el tamaño del registro de recuperación de cambios en línea a los 128 M predeterminados.

## Consola
<a name="oracle-cdb-converting.console"></a>

**Para convertir una base de datos no CDB en una CDB**

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 esquina superior derecha de la consola de Amazon RDS, elija la Región de AWS donde reside su instancia de base de datos.

1. En el panel de navegación, elija **Bases de datos** y, a continuación, seleccione la instancia no CDB que desee convertir en CDB. 

1. Elija **Modificar**.

1. En **Configuración de la arquitectura**, elija **Arquitectura multitenencia de Oracle**. Tras la conversión, la CDB estará en la configuración de un solo inquilino.

1. (Opcional) En **Grupo de parámetros de base de datos**, elija un nuevo grupo de parámetros para la instancia de CDB. Se aplican las mismas consideraciones de grupo de parámetros al convertir una instancia de base de datos que al actualizar una instancia de base de datos. Para obtener más información, consulte [Consideraciones relativas al grupo de parámetros](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.PG).

1. (Opcional) En **Grupo de opciones**, elija un nuevo grupo de opciones para la instancia CDB. Se aplican las mismas consideraciones de grupo de parámetros de opciones al convertir una instancia de base de datos que al actualizar una instancia de base de datos. Para obtener más información, consulte [Consideraciones relativas al grupo de opciones](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG).

1. (Opcional) Para **Administración de credenciales**, elija **Administradas en AWS Secrets Manager** o **Autoadministradas**. Para obtener más información, consulte [Administración de la contraseña de usuario maestro de una instancia de base de datos con Secrets Manager](rds-secrets-manager.md#rds-secrets-manager-db-instance).

1. Cuando haya realizado todos los cambios que desee, elija **Continue** y compruebe el resumen de las modificaciones. 

1. (Opcional) Seleccione **Apply immediately (Aplicar inmediatamente)** para aplicar los cambios inmediatamente. Si se selecciona esta opción, puede producirse un tiempo de inactividad en algunos casos. Para obtener más información, consulte [Uso de la configuración de la programación de modificaciones](USER_ModifyInstance.ApplyImmediately.md).

1. En la página de confirmación, revise los cambios. Si son correctos, elija **Modificar la instancia de base de datos**.

   O bien, elija **Back** (Atrás) para editar los cambios o **Cancel** (Cancelar) para cancelarlos.

## AWS CLI
<a name="oracle-cdb-converting.cli"></a>

Para convertir la no CDB de la instancia de base de datos a una CDB en la configuración de un solo inquilino, establezca `--engine` en `oracle-ee-cdb` o `oracle-se2-cdb` en el comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) de la AWS CLI. Para obtener más información, consulte [Configuración de instancias de base de datos](USER_ModifyInstance.Settings.md).

El siguiente ejemplo convierte la instancia de base de datos denominada *my-non-cdb* y especifica un grupo de opciones y un grupo de parámetros personalizados. El comando también habilita la administración de contraseñas con Secrets Manager.

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

```
aws rds modify-db-instance \
    --db-instance-identifier my-non-cdb \
    --engine oracle-ee-cdb \
    --option-group-name custom-option-group \
    --db-parameter-group-name custom-parameter-group \
    --manage-master-user-password
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-non-cdb ^
    --engine oracle-ee-cdb ^
    --option-group-name custom-option-group ^
    --db-parameter-group-name custom-parameter-group ^
    --manage-master-user-password
```

## API de RDS
<a name="oracle-cdb-converting.api"></a>

Para convertir una no CDB en CDB, especifique `Engine` en la operación de la API de RDS [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html).