

# Creación de una CEV
<a name="custom-cev.create"></a>

Puede crear un CEV mediante el Consola de administración de AWS o el AWS CLI. Especifique la arquitectura multitenencia o no multitenencia. Para obtener más información, consulte [Consideraciones sobre la arquitectura multitenencia](custom-creating.md#custom-creating.overview).

Normalmente, crear una CEV lleva aproximadamente dos horas. Una vez creada la CEV, puede utilizarla para usarla para crear o actualizar una instancia de base de datos de RDS Custom. Para obtener más información, consulte [Creación de una instancia de base de datos de RDS Custom for Oracle](custom-creating.md#custom-creating.create) y [Actualización de una instancia de base de datos de RDS Custom para Oracle](custom-upgrading-modify.md).

**nota**  
Si su instancia de base de datos utiliza actualmente Oracle Linux 7.9, cree un nuevo CEV que utilice la AMI más reciente, que utilice Oracle Linux 8. A continuación, modifique su instancia para usar el nuevo CEV.

Tome nota de los siguientes requisitos y limitaciones para crear una CEV:
+ El bucket de Amazon S3 que incluye los archivos de instalación debe estar en la misma Región de AWS que la CEV. De lo contrario, el proceso de creación producirá un error.
+ El nombre de la CEV debe estar en el formato `major-engine-version.customized_string`, como en `19.cdb_cev1`. 
+ El nombre de la CEV debe contener de 1 a 50 caracteres alfanuméricos, guiones bajos, guiones o puntos. 
+ El nombre de la CEV no puede contener puntos consecutivos, como en `19..cdb_cev1`.

## Consola
<a name="custom-cev.create.console"></a>

**Para crear una CEV**

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 el panel de navegación, elija **Custom engine versions** (Versiones de motor personalizadas).

   La página de **Custom engine versions** (Versiones de motor personalizadas) muestra todos las CEV que existen actualmente. Si no ha creado ninguna CEV, la página está vacía.

1. Elija **Crear versión de motor personalizada**.

1. En **Opciones del motor**, haga lo siguiente:

   1. En **Engine type** (Tipo de motor), elija **Oracle**.

   1. En **Configuración de la arquitectura**, elija **Arquitectura multitenencia** para crear una CEV multiinquilino de Oracle que utilice el motor de base de datos `custom-oracle-ee-cdb` o `custom-oracle-se2-cdb`. Puede crear una CDB de RDS Custom para Oracle únicamente con una CEV de varios inquilinos. Si no elige esta opción, su CEV no será una CDB que usa el motor `custom-oracle-ee` o `custom-oracle-se2`.
**nota**  
La arquitectura que elija será una característica permanente de su CEV. No puede modificar su CEV para usar una arquitectura diferente más adelante.

   1. Elija cualquiera de las siguientes opciones:
      + **Crear nueva CEV**: cree una CEV desde cero. En este caso, debe especificar un manifiesto de JSON que especifique los binarios de la base de datos.
      + **Crear CEV a partir de origen**: en **Especificar la CEV que se desea copiar**, seleccione una CEV existente para usarla como la CEV de origen. En este caso, puede especificar una nueva imagen de máquina de Amazon (AMI), pero no puede especificar binarios de base de datos diferentes.

   1. En **Versión del motor**, elija la versión principal del motor.

1. En **Detalles de la versión**, realice lo siguiente:

   1. Introduzca un nombre válido en **Nombre de la versión del motor personalizada**. Por ejemplo, puede ingresar el nombre **19.cdb\$1cev1**.

   1. (Opcional) Escriba una descripción para la CEV.

1. En **Instalación de medios**, haga lo siguiente:

   1. (Opcional) En **ID de AMI**, deje el campo en blanco para utilizar la AMI más reciente proporcionada por el servicio o introduzca una AMI que haya utilizado anteriormente para crear una CEV. Para obtener ID de AMI válidos, utilice cualquiera de las siguientes técnicas:
      + En la consola, seleccione **Versiones de motor personalizadas** en el panel de navegación izquierdo y elija el nombre de una CEV. El ID de AMI utilizado por la CEV aparece en la pestaña **Configuración**.
      + En la AWS CLI, utilice el comando `describe-db-engine-versions`. Busque en la salida de `ImageID`.

   1. Para **S3 location of manifest files** (Ubicación S3 de los archivos de manifiesto), ingrese la ubicación del bucket de Amazon S3 que especificó en [Paso 3: cargar los archivos de instalación en Amazon S3](custom-cev.preparing.md#custom-cev.preparing.s3). Por ejemplo, escriba **s3://my-custom-installation-files/123456789012/cev1/**.
**nota**  
La Región de AWS en la que crea la CEV debe ser la misma que la del bucket de S3.

   1. (Solo para Crear nueva CEV) En **Manifiesto de la CEV**, introduzca el manifiesto de JSON que ha creado en [Creación del manifiesto de CEV](custom-cev.preparing.md#custom-cev.preparing.manifest.creating).

1. En la sección **Clave de KMS**, seleccione **Escriba un ARN de clave** para ver las claves AWS KMS disponibles. A continuación, seleccione la clave de KMS de la lista. 

   Se requiere una clave AWS KMS para RDS Custom. Para obtener más información, consulte [Paso 1: crear o reutilizar una clave AWS KMS de cifrado simétrica](custom-setup-orcl.md#custom-setup-orcl.cmk).

1. (Opcional) Seleccione **Añadir una etiqueta nueva** para crear un par clave-valor para su CEV.

1. Elija **Crear versión de motor personalizada**.

   Si el manifiesto de JSON tiene un formulario no válido, la consola mostrará **Error al validar el manifiesto de la CEV**. Corrija los problemas e inténtelo de nuevo.

Aparece la página de **Custom engine versions** (Versiones de motor personalizadas). Su CEV se muestra con el estado **Create** (Crear). El proceso para crear la CEV toma aproximadamente dos horas.

## AWS CLI
<a name="custom-cev.create.CEV"></a>

Para crear una CEV mediante la AWS CLI, ejecute el comando [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html).

Se requieren las siguientes opciones:
+ `--engine`: especifique el tipo de motor. Para una CDB, especifique `custom-oracle-ee-cdb` o `custom-oracle-se2-cdb`. Para no CDB, especifique `custom-oracle-ee` o `custom-oracle-se2`. Solo puede crear CDB a partir de una CEV creada con `custom-oracle-ee-cdb` o `custom-oracle-se2-cdb`. Solo puede crear no CDB a partir de una CEV creada con `custom-oracle-ee` o `custom-oracle-se2`.
+ `--engine-version`: especifique la versión del motor. El formato es *major-engine-version*.*customized\$1string*. El nombre de la CEV debe contener de 1 a 50 caracteres alfanuméricos, guiones bajos, guiones o puntos. El nombre de la CEV no puede contener puntos consecutivos, como en `19..cdb_cev1`.
+ `--kms-key-id`: especifique un AWS KMS key.
+ `--manifest`: especifique `manifest_json_string` o `--manifest file:file_name`. No se permiten caracteres de nueva línea en `manifest_json_string`. Asegúrese de escapar de las comillas dobles (") en el código JSON prefijándolos con una barra invertida (\$1).

  En el siguiente ejemplo, se muestra `manifest_json_string` para 19c desde [Paso 5: preparar el manifiesto de la CEV](custom-cev.preparing.md#custom-cev.preparing.manifest). El ejemplo establece valores nuevos para la base de Oracle, la página de inicio de Oracle, y el ID y el nombre del usuario y el grupo de UNIX/Linux. Si copia esta cadena, elimine todos los caracteres de nueva línea antes de pegarla en el comando.

  `"{\"mediaImportTemplateVersion\": \"2020-08-14\",\"databaseInstallationFileNames\": [\"V982063-01.zip\"],\"opatchFileNames\": [\"p6880880_190000_Linux-x86-64.zip\"],\"psuRuPatchFileNames\": [\"p32126828_190000_Linux-x86-64.zip\"],\"otherPatchFileNames\": [\"p29213893_1910000DBRU_Generic.zip\",\"p29782284_1910000DBRU_Generic.zip\",\"p28730253_190000_Linux-x86-64.zip\",\"p29374604_1910000DBRU_Linux-x86-64.zip\",\"p28852325_190000_Linux-x86-64.zip\",\"p29997937_190000_Linux-x86-64.zip\",\"p31335037_190000_Linux-x86-64.zip\",\"p31335142_190000_Generic.zip\"]\"installationParameters\":{ \"unixGroupName\":\"dba\", \ \"unixUname\":\"oracle\", \ \"oracleHome\":\"/home/oracle/oracle.19.0.0.0.ru-2020-04.rur-2020-04.r1.EE.1\", \ \"oracleBase\":\"/home/oracle/\"}}"`
+ `--database-installation-files-s3-bucket-name`: ponga el mismo nombre de bucket que haya puesto en [Paso 3: cargar los archivos de instalación en Amazon S3](custom-cev.preparing.md#custom-cev.preparing.s3). La Región de AWS donde ejecute `create-custom-db-engine-version` debe estar en la misma región que el bucket de Amazon S3.

También puede especificar las siguientes opciones:
+ `--description`: ponga una descripción de la CEV.
+ `--database-installation-files-s3-prefix`: ponga el mismo nombre de carpeta que haya puesto en [Paso 3: cargar los archivos de instalación en Amazon S3](custom-cev.preparing.md#custom-cev.preparing.s3).
+ `--image-id`: especifique el ID de AMI que desea reutilizar. Para encontrar ID válidos, ejecute el comando `describe-db-engine-versions` y, a continuación, busque el resultado de `ImageID`. De forma predeterminada, RDS Custom para Oracle utiliza la AMI más reciente disponible.

El siguiente ejemplo crea una CEV multitenencia de Oracle denominada `19.cdb_cev1`. En el ejemplo, se reutiliza una AMI existente en lugar de utilizar la AMI más reciente disponible. Asegúrese de que el nombre de la CEV comience con el número de versión principal del motor.

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

```
1. aws rds create-custom-db-engine-version \
2.     --engine custom-oracle-se2-cdb \
3.     --engine-version 19.cdb_cev1 \
4.     --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files \
5.     --database-installation-files-s3-prefix 123456789012/cev1 \
6.     --kms-key-id my-kms-key \
7.     --description "test cev" \
8.     --manifest manifest_string \
9.     --image-id ami-012a345678901bcde
```
Para Windows:  

```
1. aws rds create-custom-db-engine-version ^
2.     --engine custom-oracle-se2-cdb ^
3.     --engine-version 19.cdb_cev1 ^
4.     --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files ^
5.     --database-installation-files-s3-prefix 123456789012/cev1 ^
6.     --kms-key-id my-kms-key ^
7.     --description "test cev" ^
8.     --manifest manifest_string ^
9.     --image-id ami-012a345678901bcde
```

**Example**  
Obtenga detalles acerca de su CEV mediante el comando `describe-db-engine-versions`.  

```
1. aws rds describe-db-engine-versions \
2.     --engine custom-oracle-se2-cdb \
3.     --include-all
```
El siguiente resultado de ejemplo parcial muestra el motor, los grupos de parámetros, el manifiesto y otra información.  

```
 1. {
 2.     "DBEngineVersions": [
 3.         {
 4.             "Engine": "custom-oracle-se2-cdb",
 5.             "EngineVersion": "19.cdb_cev1",
 6.             "DBParameterGroupFamily": "custom-oracle-se2-cdb-19",
 7.             "DBEngineDescription": "Containerized Database for Oracle Custom SE2",
 8.             "DBEngineVersionDescription": "test cev",
 9.             "Image": {
10.                 "ImageId": "ami-012a345678901bcde",
11.                 "Status": "active"
12.             },
13.             "ValidUpgradeTarget": [],
14.             "SupportsLogExportsToCloudwatchLogs": false,
15.             "SupportsReadReplica": true,
16.             "SupportedFeatureNames": [],
17.             "Status": "available",
18.             "SupportsParallelQuery": false,
19.             "SupportsGlobalDatabases": false,
20.             "MajorEngineVersion": "19",
21.             "DatabaseInstallationFilesS3BucketName": "us-east-1-123456789012-custom-installation-files",
22.             "DatabaseInstallationFilesS3Prefix": "123456789012/cev1",
23.             "DBEngineVersionArn": "arn:aws:rds:us-east-1:123456789012:cev:custom-oracle-se2-cdb/19.cdb_cev1/abcd12e3-4f5g-67h8-i9j0-k1234l56m789",
24.             "KMSKeyId": "arn:aws:kms:us-east-1:732027699161:key/1ab2345c-6d78-9ef0-1gh2-3456i7j89k01",
25.             "CreateTime": "2023-03-07T19:47:58.131000+00:00",
26.             "TagList": [],
27.             "SupportsBabelfish": false,
28. ...
```

## No se ha creado una CEV
<a name="custom-cev.create.failure"></a>

Si la creación de CEV falla, RDS Custom emite `RDS-EVENT-0198` con el mensaje `Creation failed for custom engine version major-engine-version.cev_name` e incluye detalles sobre el error. Por ejemplo, el evento imprime los archivos que faltan.

No puede modificar una CEV que haya fallado. Solo puede eliminarlo y, a continuación, volver a intentar crear una CEV después de corregir las causas del error. Para obtener información sobre la solución de problemas de los motivos del error de creación de CEV, consulte [Solución de problemas de creación de versiones de motores personalizados para RDS Custom for Oracle](custom-troubleshooting.md#custom-troubleshooting.cev).