

# Criar um CEV
<a name="custom-cev.create"></a>

É possível criar uma CEV usando o Console de gerenciamento da AWS ou a AWS CLI. Especifique a arquitetura multilocatário ou não multilocatário. Para ter mais informações, consulte [Considerações sobre arquitetura multilocatário](custom-creating.md#custom-creating.overview).

Em geral, criar um CEV demora cerca de duas horas. Depois que a CEV é criada, você pode usá-la para criar ou atualizar uma instância de banco de dados do RDS Custom. Para ter mais informações, consulte [Criar uma instância de banco de dados do RDS Custom for Oracle](custom-creating.md#custom-creating.create) e [Fazer upgrade de uma instância de banco de dados para o RDS Custom for Oracle](custom-upgrading-modify.md).

**nota**  
Se sua instância de banco de dados atualmente usa o Oracle Linux 7.9, crie um novo CEV que use a AMI mais recente, que utiliza o Oracle Linux 8. Em seguida, modifique sua instância para usar o novo CEV.

Anote os seguintes requisitos e limitações para criação de uma CEV:
+ O bucket do Amazon S3 que contém os arquivos de instalação deve estar na mesma Região da AWS que a CEV. Caso contrário, o processo de criação falhará.
+ O nome da CEV deve estar no formato `major-engine-version.customized_string`, como em `19.cdb_cev1`. 
+ O nome da CEV deve conter de 1 a 50 caracteres alfanuméricos, sublinhados, traços ou pontos. 
+ O nome da CEV não pode conter pontos consecutivos, como em `19..cdb_cev1`.

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

**Para criar um CEV**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Custom engine versions** (Versões de mecanismos personalizadas).

   A página **Custom engine versions** (Versões de mecanismo personalizadas) mostra todas as CEVs existentes. Se você não tiver criado uma CEV, a página estará vazia.

1. Escolha **Create custom engine version** (Criar versão de mecanismo personalizada).

1. Em **Opções de mecanismo**, faça o seguinte:

   1. Para **Engine type** (Tipo de mecanismo), escolha **Oracle**.

   1. Em **Configurações de arquitetura**, selecione **Arquitetura multilocatário** para criar uma CEV multilocatária, que usa o mecanismo de banco de dados `custom-oracle-ee-cdb` ou `custom-oracle-se2-cdb`. Você pode criar um RDS Custom para Oracle CDB somente com uma CEV multilocatária. Se você não escolher essa opção, sua CEV não será de CDB, que usa o mecanismo `custom-oracle-ee` ou `custom-oracle-se2`.
**nota**  
A arquitetura escolhida será uma característica permanente da CEV. Você não pode modificar sua CEV para usar uma arquitetura diferente posteriormente.

   1. Escolha uma das seguintes opções:
      + **Crie um novo CEV** — Crie um CEV do zero. Nesse caso, você deve especificar um manifesto do JSON especificando os binários do banco de dados.
      + **Criar CEV a partir da fonte** — Em **Especificar o CEV que você deseja copiar**, escolha um CEV existente para usar como o CEV de origem. Nesse caso, você pode especificar uma nova Amazon Machine Image (AMI), mas não pode especificar diferentes binários de banco de dados.

   1. Em **Versão principal**, selecione a versão principal do mecanismo.

1. Em **Detalhes da versão**, conclua o seguinte:

   1. Insira um nome válido em **Nome da versão de mecanismo personalizada**. Por exemplo, é possível inserir o nome **19.cdb\$1cev1**.

   1. (Opcional) Insira uma descrição para sua CEV.

1. Em **Mídia de instalação**, faça o seguinte:

   1. (Opcional) Para **ID da AMI**, deixe o campo em branco para usar a AMI mais recente do serviço ou insira uma AMI que você usou anteriormente para criar uma CEV. Para obter IDs de AMI usando uma das seguintes técnicas:
      + No console, selecione **Versões personalizadas do mecanismo** no painel de navegação esquerdo e escolha o nome de uma CEV. O ID da AMI usado pela CEV é exibido na guia **Configuração**.
      + Na AWS CLI, use o comando `describe-db-engine-versions`. Pesquise a saída de `ImageID`.

   1. Para **S3 location of manifest files** (Localização dos arquivos de manifesto no S3), insira o local do bucket do Amazon S3 que você especificou em [Etapa 3: Fazer upload de seus arquivos de instalação no Amazon S3](custom-cev.preparing.md#custom-cev.preparing.s3). Por exemplo, digite **s3://my-custom-installation-files/123456789012/cev1/**.
**nota**  
A região da na qual você executa deve estar na mesma região da que o bucket.

   1. Em **Manifesto de CEV**, insira o manifesto JSON que você criou em [Criar o manifesto de CEV](custom-cev.preparing.md#custom-cev.preparing.manifest.creating).

1. Na seção **Chave do KMS**, selecione **Inserir um ARN de chave** para listar as chaves do AWS KMS disponíveis. Em seguida, selecione sua chave do KMS na lista. 

   Uma chave do AWS KMS é necessária para o RDS Custom. Para ter mais informações, consulte [Etapa 1: Criar ou reutilizar uma chave AWS KMS de criptografia simétrica](custom-setup-orcl.md#custom-setup-orcl.cmk).

1. (Opcional) Selecione **Adicionar nova tag** para criar um par de chave/valor para sua CEV.

1. Escolha **Create custom engine version** (Criar versão de mecanismo personalizada).

   Se o manifesto CEV tiver um formulário inválido, o console exibirá **Error validating the CEV manifest**. Corrija os problemas e tente novamente.

A página **Custom engine versions** (Versões de mecanismo personalizadas) é exibida. Sua CEV é mostrada com o status **Creating** (Criando). O processo para criar o CEV demora aproximadamente duas horas.

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

Para criar uma CEV utilizando a AWS CLI, execute o comando [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html).

São necessárias as seguintes opções:
+ `--engine`: especifique o tipo de mecanismo. Para um que seja de CDB, especifique `custom-oracle-ee-cdb` ou `custom-oracle-se2-cdb`. Para um que não seja de CDB, especifique `custom-oracle-ee` ou `custom-oracle-se2`. É possível criar CDBs somente com base em uma CEV criada com `custom-oracle-ee-cdb` ou `custom-oracle-se2-cdb`. É possível criar não CDBs somente com base em uma CEV criada com `custom-oracle-ee` ou `custom-oracle-se2`.
+ `--engine-version`— Especifique a versão do motor. O formato é a versão do *major-engine-version*.*customized\$1string*. O nome da CEV deve conter de 1 a 50 caracteres alfanuméricos, sublinhados, traços ou pontos. O nome da CEV não pode conter pontos consecutivos, como em `19..cdb_cev1`.
+ `--kms-key-id` – Especifique um AWS KMS key.
+ `--manifest` – Especifique `manifest_json_string` ou `--manifest file:file_name`. Caracteres de nova linha não são permitidos em `manifest_json_string`. Certifique-se de fazer o escape das aspas duplas (“) no código JSON, prefixando-as com uma barra invertida (\$1).

  O exemplo a seguir mostra o `manifest_json_string` para 19c de [Etapa 5: Preparar o manifesto CEV](custom-cev.preparing.md#custom-cev.preparing.manifest). O exemplo define novos valores para a base Oracle, o Oracle Home e o ID e o nome do usuário e do grupo do UNIX/Linux. Se você copiar essa string, remova todos os caracteres de nova linha antes de colá-la no 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`— Especifique o mesmo nome de bucket que você especificou em[Etapa 3: Fazer upload de seus arquivos de instalação no Amazon S3](custom-cev.preparing.md#custom-cev.preparing.s3). A Região da AWS na qual você executa o `create-custom-db-engine-version` deve ser a mesma de seu bucket do Amazon S3.

Também é possível especificar as seguintes opções:
+ `--description`— Especifique uma descrição do seu CEV.
+ `--database-installation-files-s3-prefix`— Especifique o nome da pasta que você especificou em[Etapa 3: Fazer upload de seus arquivos de instalação no Amazon S3](custom-cev.preparing.md#custom-cev.preparing.s3).
+ `--image-id`— Especifique uma ID de AMI que deseja reutilizar. Para encontrar IDs válidos, execute o comando `describe-db-engine-versions` e, depois, pesquise a saída de `ImageID`. Por padrão, o RDS Custom para Oracle usa a AMI mais recente disponível.

O exemplo a seguir cria uma CEV multilocatária chamada `19.cdb_cev1`. O exemplo reutiliza uma AMI existente em vez de usar a AMI mais recente disponível. Certifique-se de que o nome do seu CEV comece com o número da versão principal do mecanismo.

**Example**  
Para Linux, macOS ou 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**  
Obtenha detalhes sobre a sua CEV com o comando `describe-db-engine-versions`.  

```
1. aws rds describe-db-engine-versions \
2.     --engine custom-oracle-se2-cdb \
3.     --include-all
```
A saída de exemplo parcial a seguir mostra o mecanismo, os grupos de parâmetros, o manifesto e outras informações.  

```
 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. ...
```

## Falha ao criar um CEV
<a name="custom-cev.create.failure"></a>

Se o processo de criação do CEV falhar, o RDS Custom emitirá `RDS-EVENT-0198` com a mensagem `Creation failed for custom engine version major-engine-version.cev_name` e incluirá detalhes sobre a falha. Por exemplo, o evento imprime arquivos ausentes.

Não é possível modificar uma CEV com falha. Você pode apenas excluí-la e tentar novamente criar uma CEV depois de corrigir as causas da falha. Para obter informações sobre como solucionar os motivos da falha na criação da CEV, consulte [Solucionar problemas com a criação de uma versão de mecanismo personalizado para o RDS Custom for Oracle](custom-troubleshooting.md#custom-troubleshooting.cev).