

# Configuración de una CDB de RDS para Oracle
<a name="oracle-cdb.configuring"></a>

Configurar una CDB es similar a configurar una no CDB. 

**Topics**
+ [Creación de una instancia de CDB de RDS para Oracle](#Oracle.Concepts.single-tenant.creation)
+ [Conexión a una PDB en la CDB de RDS para Oracle](#Oracle.Concepts.connecting.pdb)

## Creación de una instancia de CDB de RDS para Oracle
<a name="Oracle.Concepts.single-tenant.creation"></a>

En RDS para Oracle, crear una instancia de CDB es casi igual a crear una instancia que no sea de CDB. La diferencia es que debe elegir la arquitectura multitenencia de Oracle al crear la instancia de base de datos, además de elegir una configuración de arquitectura (un inquilino o varios inquilinos). Si crea etiquetas al crear una CDB en la configuración de varios inquilinos, RDS las propaga a la base de datos de inquilinos inicial. Para crear una CDB, utilice la Consola de administración de AWS, la AWS CLI o la API de RDS.

### Consola
<a name="Oracle.Concepts.single-tenant.creation.console"></a>

**Para crear una instancia de 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 en la que desea crear la instancia de CDB.

1. En el panel de navegación, elija **Databases** (Bases de datos).

1. Elija **Create database (Crear base de datos)**.

1. En **Choose a database creation method (Elegir un método de creación de base de datos)**, elija **Standard Create (Creación estándar)**.

1. En **Engine options (Opciones del motor)**, elija **Oracle**. 

1. En **Tipo de administración de base de datos**, elija **Amazon RDS Custom**.

1. En **Configuración de la arquitectura**, elija **Arquitectura multitenencia de Oracle**. 

1. En **Configuración de la arquitectura**, lleve a cabo una de las siguientes acciones:
   + Elija **Configuración de varios inquilinos** y vaya al siguiente paso.
   + Elija **Configuración de un solo inquilino** y vaya al paso 11.

1. (Configuración de varios inquilinos) En **Configuración de la base de datos de inquilinos**, haga los siguientes cambios:
   + En **Nombre de la base de datos de inquilinos**, escriba el nombre de la PDB inicial. El nombre de la PDB debe ser diferente del nombre de la CDB, que por defecto es `RDSCDB`.
   + En **Nombre de usuario principal de la base de datos de inquilinos**, escriba el nombre del usuario principal de la PDB. No puede usar el nombre de usuario principal de la base de datos de inquilinos para iniciar sesión en la propia CDB.
   + Para **Administración de credenciales**, elija cualquiera de las siguientes opciones de administración de credenciales:
     + **Administrado en AWS Secrets Manager**

       La contraseña administrada es para la base de datos de inquilinos inicial y no para la instancia. En **Seleccionar la clave de cifrado**, elija una clave de KMS que cree Secrets Manager o una clave que haya creado usted. 
**nota**  
Recomendamos AWS Secrets Manager como la técnica más segura para administrar las credenciales. Se aplican cargos adicionales. Para obtener más información, consulte [Administración de contraseñas con Amazon RDS y AWS Secrets Manager](rds-secrets-manager.md).
     + **Autoadministrado**

       Para especificar una contraseña, desactive la casilla de verificación **Generar una contraseña de forma automática** si está seleccionada. Ingrese la misma contraseña en **Contraseña principal** y elija **Confirmar contraseña principal**.
   + En **Conjunto de caracteres de base de datos de inquilinos**, seleccione un conjunto de caracteres para la PDB. Puede elegir un conjunto de caracteres de base de datos de inquilinos distinto del de la CDB.

     El conjunto de caracteres predeterminado de la PDB es **AL32UTF8**. Si elige un conjunto de caracteres PDB no predeterminado, es posible que la creación de la CDB sea más lenta. 
**nota**  
No puede especificar varias bases de datos de inquilinos en la operación de creación. La CDB tiene una PDB cuando se crea. Puede agregar PDB a una CDB existente en una operación independiente.

1. (Configuración de un solo inquilino) Elija la configuración que desee en función de las opciones que figuran en [Configuración de instancias de base de datos](USER_CreateDBInstance.Settings.md):

   1. En la sección **Settings (Configuración)**, abra **Credential Settings (Configuración de credenciales)**. A continuación, proceda del modo siguiente:

     1. En **Nombre de usuario maestro**, introduzca el nombre de un usuario local de su PDB. No puede usar el nombre de usuario maestro para iniciar sesión en la raíz de la CDB.

     1. Para **Administración de credenciales**, elija cualquiera de las siguientes opciones de administración de credenciales:
        + **Administrado en AWS Secrets Manager**

          En **Seleccionar la clave de cifrado**, elija una clave de KMS que cree Secrets Manager o una clave que haya creado usted. 
**nota**  
Recomendamos AWS Secrets Manager como la técnica más segura para administrar las credenciales. Se aplican cargos adicionales. Para obtener más información, consulte [Administración de contraseñas con Amazon RDS y AWS Secrets Manager](rds-secrets-manager.md).
        + **Autoadministrado**

          Para especificar una contraseña, desactive la casilla de verificación **Generar una contraseña de forma automática** si está seleccionada. Ingrese la misma contraseña en **Contraseña principal** y elija **Confirmar contraseña principal**.

1. En el resto de secciones, especifique los ajustes de configuración de la instancia de base de datos. Para obtener información acerca de cada configuración, consulte [Configuración de instancias de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html).

1. Elija **Creación de base de datos**.

### AWS CLI
<a name="Oracle.Concepts.single-tenant.creation.cli"></a>

Para crear una CDB en la configuración multitenencia, use el comando [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) con los siguientes parámetros:
+ `--db-instance-identifier`
+ `--db-instance-class`
+ `--engine { oracle-ee-cdb | oracle-se2-cdb }`
+ `--master-username`
+ `--master-user-password` o `--manage-master-user-password`
+ `--multi-tenant` (para la configuración de un solo inquilino, no especifique `multi-tenant` o especifique `--no-multi-tenant`)
+ `--allocated-storage`
+ `--backup-retention-period`

Para obtener más información acerca de cada configuración, consulte [Configuración de instancias de base de datos](USER_CreateDBInstance.Settings.md).

En el siguiente ejemplo, se crea una instancia de base de datos de RDS para Oracle denominada *my-cdb-inst* en la configuración de varios inquilinos. Si especifica `--no-multi-tenant` o no especifica `--multi-tenant`, la configuración de CDB predeterminada será de un solo inquilino. El motor es `oracle-ee-cdb`: un comando que especifica los fallos de `oracle-ee` y `--multi-tenant` con un error. La base de datos de inquilinos inicial se denomina *mypdb*.

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

```
 1. aws rds create-db-instance \
 2.     --engine oracle-ee-cdb \
 3.     --db-instance-identifier my-cdb-inst \
 4.     --multi-tenant \
 5.     --db-name mypdb \
 6.     --allocated-storage 250 \
 7.     --db-instance-class db.t3.large \
 8.     --master-username pdb_admin \
 9.     --manage-master-user-password \
10.     --backup-retention-period 3
```
Para Windows:  

```
 1. aws rds create-db-instance ^
 2.     --engine oracle-ee-cdb ^
 3.     --db-instance-identifier my-cdb-inst ^
 4.     --multi-tenant ^
 5.     --db-name mypdb ^
 6.     --allocated-storage 250 ^
 7.     --db-instance-class db.t3.large ^
 8.     --master-username pdb_admin ^
 9.     --manage-master-user-password \ ^
10.     --backup-retention-period 3
```
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.
El resultado de este comando debería ser similar al siguiente. El nombre de la base de datos, el conjunto de caracteres, el conjunto de caracteres nacional, el usuario principal y el secreto del usuario principal no están incluidos en la salida. Puede ver esta información mediante el comando `describe-tenant-databases` de la CLI.  

```
 1. {
 2.     "DBInstance": {
 3.         "DBInstanceIdentifier": "my-cdb-inst",
 4.         "DBInstanceClass": "db.t3.large",
 5.         "MultiTenant": true,
 6.         "Engine": "oracle-ee-cdb",
 7.         "DBResourceId": "db-ABCDEFGJIJKLMNOPQRSTUVWXYZ",
 8.         "DBInstanceStatus": "creating",
 9.         "AllocatedStorage": 250,
10.         "PreferredBackupWindow": "04:59-05:29",
11.         "BackupRetentionPeriod": 3,
12.         "DBSecurityGroups": [],
13.         "VpcSecurityGroups": [
14.             {
15.                 "VpcSecurityGroupId": "sg-0a1bcd2e",
16.                 "Status": "active"
17.             }
18.         ],
19.         "DBParameterGroups": [
20.             {
21.                 "DBParameterGroupName": "default.oracle-ee-cdb-19",
22.                 "ParameterApplyStatus": "in-sync"
23.             }
24.         ],
25.         "DBSubnetGroup": {
26.             "DBSubnetGroupName": "default",
27.             "DBSubnetGroupDescription": "default",
28.             "VpcId": "vpc-1234567a",
29.             "SubnetGroupStatus": "Complete",
30.             ...
```

### API de RDS
<a name="Oracle.Concepts.single-tenant.creation.api"></a>

Para crear una instancia de base de datos con la API de Amazon RDS, llame a la operación [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).

Para obtener más información acerca de cada configuración, consulte [Configuración de instancias de base de datos](USER_CreateDBInstance.Settings.md). 

## Conexión a una PDB en la CDB de RDS para Oracle
<a name="Oracle.Concepts.connecting.pdb"></a>

Puede usar una utilidad como SQL\$1Plus para conectarse a una PDB. Para descargar Oracle Instant Client, que incluye una versión independiente de SQL\$1Plus, consulte [Oracle Instant Client Downloads](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Para conectarse a SQL\$1Plus en la PDB, necesitará la siguiente información:
+ Nombre de PDB
+ Nombre de usuario y contraseña de la base de datos
+ Punto de conexión para la instancia de base de datos
+ Número de puerto

Para obtener información sobre cómo buscar la información anterior, consulte [Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle](USER_Endpoint.md).

**Example Para conectarse a la PDB mediante SQL\$1Plus**  
En los siguientes ejemplos, sustituya *master\$1user\$1name* por el usuario maestro. Además, sustituya el punto de conexión de su instancia de base de datos y, a continuación, incluya el número de puerto y el SID de Oracle. El valor SID es el nombre de la PDB que ha especificado al crear la instancia de base de datos y no el identificador de la instancia de base de datos.  
Para Linux, macOS o Unix:  

```
1. sqlplus 'master_user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint)(PORT=port))(CONNECT_DATA=(SID=pdb_name)))'
```
Para Windows:  

```
1. sqlplus master_user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint)(PORT=port))(CONNECT_DATA=(SID=pdb_name)))
```
Debería ver un resultado similar a este.  

```
SQL*Plus: Release 19.0.0.0.0 Production on Mon Aug 21 09:42:20 2021
```
Tras introducir la contraseña para el usuario, aparece la pregunta de SQL.  

```
SQL>
```

**nota**  
La cadena de conexión de formato más corto (Easy connect o EZCONNECT), como `sqlplus username/password@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/database-identifier`, puede encontrar un límite de máximo caracteres y no debería usarse para conexiones. 