

# Adición de opciones a instancias de base de datos de Oracle
<a name="Appendix.Oracle.Options"></a>

En Amazon RDS, una  opción es una característica adicional. A continuación, puede encontrar una descripción de las opciones que puede agregar a Amazon RDS que ejecutan el motor de base de datos de Oracle.

**Topics**
+ [

# Información general sobre las opciones de Oracle DB
](Appendix.Oracle.Options.overview.md)
+ [

# Integración de Amazon S3
](oracle-s3-integration.md)
+ [

# Oracle Application Express
](Appendix.Oracle.Options.APEX.md)
+ [

# Integración de Amazon EFS
](oracle-efs-integration.md)
+ [

# Máquina virtual Oracle Java
](oracle-options-java.md)
+ [

# Oracle Enterprise Manager
](Oracle.Options.OEM.md)
+ [

# Oracle Label Security
](Oracle.Options.OLS.md)
+ [

# Oracle Locator
](Oracle.Options.Locator.md)
+ [

# Oracle Native Network Encryption
](Appendix.Oracle.Options.NetworkEncryption.md)
+ [

# Oracle OLAP
](Oracle.Options.OLAP.md)
+ [

# Capa de conexión segura de Oracle
](Appendix.Oracle.Options.SSL.md)
+ [

# Oracle Spatial
](Oracle.Options.Spatial.md)
+ [

# Oracle SQLT
](Oracle.Options.SQLT.md)
+ [

# Oracle Statspack
](Appendix.Oracle.Options.Statspack.md)
+ [

# Zona horaria Oracle
](Appendix.Oracle.Options.Timezone.md)
+ [

# Actualización automática del archivo de zona horaria de Oracle
](Appendix.Oracle.Options.Timezone-file-autoupgrade.md)
+ [

# Cifrado de datos transparente de Oracle
](Appendix.Oracle.Options.AdvSecurity.md)
+ [

# Oracle UTL\$1MAIL
](Oracle.Options.UTLMAIL.md)
+ [

# Oracle XML DB
](Appendix.Oracle.Options.XMLDB.md)

# Información general sobre las opciones de Oracle DB
<a name="Appendix.Oracle.Options.overview"></a>

Para habilitar opciones para su base de datos Oracle, puede añadirlas a un grupo de opciones y, a continuación, asociar el grupo de opciones a la instancia de base de datos. Para obtener más información, consulte [Trabajo con grupos de opciones](USER_WorkingWithOptionGroups.md).

**Topics**
+ [

## Resumen de las opciones de Oracle Database
](#Appendix.Oracle.Options.summary)
+ [

## Opciones admitidas para diferentes ediciones
](#Appendix.Oracle.Options.editions)
+ [

## Requisitos de memoria para opciones específicas
](#Appendix.Oracle.Options.memory)

## Resumen de las opciones de Oracle Database
<a name="Appendix.Oracle.Options.summary"></a>

Puede agregar las siguientes opciones para instancias de base de datos de Oracle.


****  

| Opción | ID de la opción | 
| --- | --- | 
|  [Integración de Amazon S3](oracle-s3-integration.md)  |  `S3_INTEGRATION`  | 
|  [Oracle Application Express](Appendix.Oracle.Options.APEX.md)  |  `APEX` `APEX-DEV`  | 
|  [Oracle Enterprise Manager](Oracle.Options.OEM.md)  |  `OEM` `OEM_AGENT`  | 
|  [Máquina virtual Oracle Java](oracle-options-java.md)  |  `JVM`  | 
|  [Oracle Label Security](Oracle.Options.OLS.md)  |  `OLS`  | 
|  [Oracle Locator](Oracle.Options.Locator.md)  |  `LOCATOR`  | 
|  [Oracle Native Network Encryption](Appendix.Oracle.Options.NetworkEncryption.md)  |  `NATIVE_NETWORK_ENCRYPTION`  | 
|  [Oracle OLAP](Oracle.Options.OLAP.md)  |  `OLAP`  | 
|  [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md)  |  `SSL`  | 
|  [Oracle Spatial](Oracle.Options.Spatial.md)  |  `SPATIAL`  | 
|  [Oracle SQLT](Oracle.Options.SQLT.md)  |  `SQLT`  | 
|  [Oracle Statspack](Appendix.Oracle.Options.Statspack.md)  |  `STATSPACK`  | 
|  [Zona horaria Oracle](Appendix.Oracle.Options.Timezone.md)  |  `Timezone`  | 
|  [Actualización automática del archivo de zona horaria de Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md)  |  `TIMEZONE_FILE_AUTOUPGRADE`  | 
|  [Cifrado de datos transparente de Oracle](Appendix.Oracle.Options.AdvSecurity.md)  |  `TDE`  | 
|  [Oracle UTL\$1MAIL](Oracle.Options.UTLMAIL.md)  |  `UTL_MAIL`  | 
|  [Oracle XML DB](Appendix.Oracle.Options.XMLDB.md)  |  `XMLDB`  | 

## Opciones admitidas para diferentes ediciones
<a name="Appendix.Oracle.Options.editions"></a>

RDS para Oracle le impide agregar opciones a una edición si no se admiten. Para averiguar qué opciones de RDS se admiten en diferentes ediciones de Oracle Database, utilice el comando`aws rds describe-option-group-options`. En el siguiente ejemplo se enumeran las opciones admitidas para Oracle Database 19c Enterprise Edition.

```
aws rds describe-option-group-options \
    --engine-name oracle-ee \
    --major-engine-version 19
```

Para obtener más información, consulte [describe-option-group-options](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-option-group-options.html) en la *Referencia de los comandos de la CLI de AWS*.

## Requisitos de memoria para opciones específicas
<a name="Appendix.Oracle.Options.memory"></a>

Algunas opciones necesitan memoria adicional para ejecutarse en la instancia de base de datos. Por ejemplo, Oracle Enterprise Manager Database Control utiliza unos 300 MB de RAM. Si activa esta opción para una instancia de base de datos pequeña, puede encontrar problemas de desempeño debido a restricciones de memoria. Puede ajustar los parámetros de Oracle de manera que la base de datos requiera menos RAM. También puede escalar a una instancia de base de datos mayor tamaño. 

# Integración de Amazon S3
<a name="oracle-s3-integration"></a>

Puede transferir archivos entre una instancia de RDS para Oracle BD y un bucket de Amazon S3. Puede usar la integración de Amazon S3 con características de Oracle Batabase como Oracle Data Pump. Por ejemplo, puede descargar archivos de Data Pump desde Amazon S3 en su instancia de base de datos de RDS para Oracle. Para obtener más información, consulte [Importación de datos a Oracle en Amazon RDS](Oracle.Procedural.Importing.md).

**nota**  
Su instancia de base de datos y el bucket de Amazon S3 deben estar en la misma Región de AWS.

**Topics**
+ [

# Configuración de permisos IAM para la integración de RDS para Oracle con Amazon S3
](oracle-s3-integration.preparing.md)
+ [

# Adición de la opción de integración con Amazon S3
](oracle-s3-integration.preparing.option-group.md)
+ [

# Transferencia de archivos entre Amazon RDS para Oracle y un bucket de Amazon S3
](oracle-s3-integration.using.md)
+ [

## Solución de problemas de la integración de Amazon S3
](#oracle-s3-integration.troubleshooting)
+ [

# Eliminación de la opción de integración con Amazon S3
](oracle-s3-integration.removing.md)

# Configuración de permisos IAM para la integración de RDS para Oracle con Amazon S3
<a name="oracle-s3-integration.preparing"></a>

Para que RDS para Oracle se integre con Amazon S3, su instancia de base de datos debe tener acceso a un bucket Amazon S3. La Amazon VPC utilizada por la instancia de base de datos no necesita ofrecer acceso a los puntos de enlace de Amazon S3.

RDS para Oracle admite la transferencia de archivos entre una instancia de base de datos en una cuenta y un bucket de Amazon S3 en una cuenta diferente. En los casos en que se requieren pasos adicionales, se indican en las siguientes secciones.

**Topics**
+ [

## Paso 1: Crear una política de IAM para su rol de Amazon RDS
](#oracle-s3-integration.preparing.policy)
+ [

## Paso 2: (Opcional) Crear una política de IAM para su bucket de Amazon S3
](#oracle-s3-integration.preparing.policy-bucket)
+ [

## Paso 3: Crear un rol de IAM para la instancia de base de datos y asociar la política
](#oracle-s3-integration.preparing.role)
+ [

## Paso 4: Asocie su rol de IAM a su instancia de base de datos de RDS para Oracle
](#oracle-s3-integration.preparing.instance)

## Paso 1: Crear una política de IAM para su rol de Amazon RDS
<a name="oracle-s3-integration.preparing.policy"></a>

En este paso, cree una política AWS Identity and Access Management (IAM) con los permisos necesarios para transferir archivos entre el bucket de Amazon S3 a la instancia de base de datos de RDS. En este paso, también se asume que ya ha creado un bucket de S3.

Antes de crear la política, anote la siguiente información:
+ El nombre de recurso de Amazon (ARN) del bucket
+ El ARN para su clave de AWS KMS, si el bucket utiliza el cifrado SSE-KMS o SSE-S3
**nota**  
Una instancia de base de datos de RDS para Oracle no puede acceder a los buckets de Amazon S3 cifrados con SSE-C.

Para obtener más información, consulta [Protección de los datos con el cifrado de servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) en la *Guía del usuario de Amazon Simple Storage Service*.

### Consola
<a name="oracle-s3-integration.preparing.policy.console"></a>

**Para crear una política de IAM que permita a Amazon RDS acceder a un bucket de Amazon S3**

1. Abra la [Management Console de IAM](https://console.aws.amazon.com/iam/home?#home).

1. En **Access management (Administración de acceso)**, seleccione **Policies (Políticas)**.

1. Seleccione **Crear política**.

1. En la pestaña **Visual editor (Editor visual)**, seleccione **Choose a service (Elegir un servicio)** y, a continuación, **S3**.

1. En **Actions (Acciones)**, seleccione **Expand all (Expandir todo)**y, a continuación, elija los permisos de bucket y los permisos de objeto necesarios para transferir archivos de un bucket Amazon S3 a Amazon RDS. Por ejemplo, haga lo siguiente:
   + Expanda **List (Lista)**y, a continuación, seleccione **ListBucket**.
   + Expanda **Read (Lectura)**y, a continuación, seleccione **GetObject**.
   + Expanda **Escritura** y, a continuación, seleccione **PutObject**, **DeleteObject**, **AbortMultipartUpload** y **ListMultipartUploadParts**. Los permisos de carga multiparte son necesarios al cargar archivos grandes (100 MB o más) en Amazon S3.
   + Expanda **Permissions management (Administración de permisos)**y, a continuación, seleccione **PutObjectAcl**. Este permiso es necesario si planea cargar archivos en un bucket propiedad de otra cuenta y esta cuenta necesita un control total del contenido del bucket.

   Los *permisos de objeto* son permisos para operaciones de objeto en Amazon S3. Debe concederlos para los objetos de un bucket, y no para el bucket en sí. Para más información, consulte [Permisos para operaciones con objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-objects).

1. Elija **Recursos** y, a continuación, haga lo siguiente:

   1. Elija **Específico**.

   1. En el **bucket**, seleccione **Agregar ARN**. Introduzca el ARN de su bucket. El nombre del bucket se rellena automáticamente. A continuación, elija **Add (Añadir)**.

   1. Si se muestra el recurso del **objeto**, elija **Agregar ARN** para añadir recursos manualmente o elija **Cualquiera**.
**nota**  
Puede establecer en **Amazon Resource Name (ARN) (Nombre de recurso de Amazon [ARN])** un valor de ARN más específico y que así Amazon RDS solo tenga acceso a archivos o carpetas determinados de un bucket de Amazon S3. Para obtener más información acerca del modo de definir una política de acceso en Amazon S3, consulte [Administración de permisos de acceso para los recursos de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html).

1. (Opcional) Elija **Add additional permissions (Agregar permisos adicionales)** para agregar recursos a la política. Por ejemplo, haga lo siguiente:

   1. Si el bucket está cifrado con una clave KMS personalizada, seleccione **KMS** para el servicio. 

   1. En **Acciones manuales**, seleccione lo siguiente:
      + **Encrypt**
      + **Volver a cifrar desde** y **Volver a cifrar a**
      + **Decrypt**
      + **DescribeKey**
      + **GenerateDataKey**

   1. En **Recursos**, elija **Específico**.

   1. En la **clave**, seleccione **Agregar ARN**. Introduzca el ARN de su clave personalizada como recurso y luego elija **Añadir**.

      Para obtener más información, consulte [Protección de datos con el cifrado en el servidor mediante claves de KMS almacenadas en AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) en la *guía del usuario de Amazon Simple Storage Service*.

   1. Si desea que Amazon RDS acceda a otros buckets, agregue los ARN de estos buckets. Opcionalmente, también puede conceder acceso a todos los buckets y objetos de Amazon S3.

1. Elija **Next: Tags (Siguiente: Etiquetas)** y, a continuación, **Next: Review (Siguiente: Revisar)**.

1. En **Name (Nombre)**, escriba un nombre para la política de IAM, por ejemplo, `rds-s3-integration-policy`. Utilizará este nombre al crear un rol de IAM y asociarlo a la instancia de base de datos. También puede añadir una descripción opcional en **Description (Descripción)**.

1. Elija **Create Policy (Crear política)**.

### AWS CLI
<a name="oracle-s3-integration.preparing.policy.CLI"></a>

Cree una política de AWS Identity and Access Management (IAM) que conceda a Amazon RDS acceso a un bucket de Amazon S3. Después de crear la política, apunte el ARN de esta. Necesita el ARN para un paso posterior.

Incluya las acciones adecuadas en la política en función del tipo de acceso necesario:
+ `GetObject`: se requiere para transferir archivos desde un bucket de Amazon S3 a Amazon RDS.
+ `ListBucket`: se requiere para transferir archivos desde un bucket de Amazon S3 a Amazon RDS.
+ `PutObject`: se requiere para transferir archivos desde Amazon RDS a un bucket de Amazon S3.
+ `AbortMultipartUpload`: se requiere para cargas multiparte cuando se transfieren archivos grandes (100 MB o más) desde Amazon RDS a un bucket de Amazon S3.
+ `ListMultipartUploadParts`: se requiere para cargas multiparte cuando se transfieren archivos grandes (100 MB o más) desde Amazon RDS a un bucket de Amazon S3.

El siguiente comando de la AWS CLI crea una política de IAM denominada `rds-s3-integration-policy` con estas opciones. Otorga acceso a un bucket denominado `amzn-s3-demo-bucket`.

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

```
aws iam create-policy \
   --policy-name rds-s3-integration-policy \
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       }
     ]
   }'
```
En el ejemplo siguiente se incluyen permisos para claves KMS personalizadas.  

```
aws iam create-policy \
   --policy-name rds-s3-integration-policy \
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "kms:Decrypt",
           "kms:Encrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey",
           "kms:DescribeKey",
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:kms:::your-kms-arn"
         ]
       }
     ]
   }'
```
Para Windows:  

```
aws iam create-policy ^
   --policy-name rds-s3-integration-policy ^
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       }
     ]
   }'
```
En el ejemplo siguiente se incluyen permisos para claves KMS personalizadas.  

```
aws iam create-policy ^
   --policy-name rds-s3-integration-policy ^
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "kms:Decrypt",
           "kms:Encrypt",
           "kms:ReEncrypt",
           "kms:GenerateDataKey",
           "kms:DescribeKey",
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:kms:::your-kms-arn"
         ]
       }
     ]
   }'
```

## Paso 2: (Opcional) Crear una política de IAM para su bucket de Amazon S3
<a name="oracle-s3-integration.preparing.policy-bucket"></a>

Este paso solo es necesario en las siguientes condiciones:
+ Tiene previsto cargar archivos en un bucket de Amazon S3 desde una cuenta (cuenta A) y acceder a ellos desde otra cuenta (cuenta B).
+ La cuenta A es la propietaria del bucket.
+ La cuenta B necesita un control total de los objetos cargados en el bucket.

Si las condiciones anteriores no le atañen, vaya a [Paso 3: Crear un rol de IAM para la instancia de base de datos y asociar la política](#oracle-s3-integration.preparing.role).

Para crear la política del bucket, asegúrese de que dispone de lo siguiente:
+ El ID de cuenta de la cuenta A
+ El nombre de usuario de la cuenta A
+ El valor ARN para el bucket de Amazon S3 en la cuenta B

### Consola
<a name="oracle-s3-integration.preparing.policy-bucket.console"></a>

**Para crear o editar una política de bucket**

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

1. En la lista **Buckets (Buckets)**, elija el nombre del bucket para el que desea crear una política de bucket o cuya política de bucket quiera editar.

1. Elija **Permisos**.

1. En **Bucket Policy** (Política de bucket), elija **Edit** (Editar). Se abre la página Edit bucket policy (Editar política de bucket).

1. En la página **Editar política de bucket**, examine **Ejemplos de políticas** en la *Guía del usuario de Amazon S3*. Elija **Generador de políticas** para generar una política automáticamente o edite el JSON en la sección **Política**. 

   Si elige **Policy generator** (Generador de políticas), se abre el generador de políticas de AWS en una ventana nueva:

   1. En la página **Generador de políticas de AWS**, en **Seleccionar tipo de política**, elija **Política de bucket de S3**.

   1. Agregue una instrucción ingresando la información en los campos proporcionados y, a continuación, elija **Add Statement** (Agregar declaración). Repita el procedimiento para tantas instrucciones como desee agregar. Para obtener más información acerca de estos campos, consulte la [Referencia de los elementos de las políticas de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*. 
**nota**  
Para mayor comodidad, la página **Edit bucket policy** (Editar política de bucket) muestra el **Bucket ARN** (nombre de recurso de Amazon [ARN]) del bucket actual encima del campo de texto **Policy** (Política). Puede copiar este ARN para utilizarlo en las instrucciones de la página **Generador de políticas de AWS**. 

   1. Una vez que haya terminado de agregar instrucciones, elija **Generar política**.

   1. Copie el texto de la política generada, elija **Cerrar** y vuelva a la página **Editar política de bucket** en la consola de Amazon S3.

1. En el cuadro **Policy** (Política), edite la política existente o pegue la política de bucket desde el generador de políticas. Asegúrese de resolver advertencias de seguridad, errores, advertencias generales y sugerencias antes de guardar la política.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ExamplePermissions",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::123456789012:user/account-A-user"
         },
         "Action": [
           "s3:PutObject",
           "s3:PutObjectAcl"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket",
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
         ]
       }
     ]
   }
   ```

------

1. Elija **Save changes (Guardar cambios)**, que lo redirecciona a la página Bucket Permissions (Permisos de bucket).

## Paso 3: Crear un rol de IAM para la instancia de base de datos y asociar la política
<a name="oracle-s3-integration.preparing.role"></a>

En este paso se supone que se ha creado la política de IAM en [Paso 1: Crear una política de IAM para su rol de Amazon RDS](#oracle-s3-integration.preparing.policy). En este paso, creará un rol para la instancia de base de datos de RDS para Oracle y, a continuación, asociará la política al rol.

### Consola
<a name="oracle-s3-integration.preparing.role.console"></a>

**Para crear un rol de IAM que permita el acceso de Amazon RDS a un bucket de Amazon S3**

1. Abra la [Management Console de IAM](https://console.aws.amazon.com/iam/home?#home).

1. Seleccione **Roles** en el panel de navegación.

1. Elija **Creación de rol**.

1. Elija **Servicio de AWS**.

1. En **Casos de uso de otros servicios de:AWS**, elija **RDS** y, a continuación, **RDS: Añadir rol a la base de datos**. A continuación, elija **Siguiente**.

1. En **Buscar**, en **Políticas de permisos**, escriba el nombre de la política de IAM que ha creado en [Paso 1: Crear una política de IAM para su rol de Amazon RDS](#oracle-s3-integration.preparing.policy) y elija la política cuando aparezca en la lista. A continuación, elija **Siguiente**.

1. En **Nombre del rol**, escriba un nombre para el rol de IAM, por ejemplo, `rds-s3-integration-role`. También puede añadir una descripción opcional en **Description (Descripción)**.

1. Elija **Creación de rol**.

### AWS CLI
<a name="integration.preparing.role.CLI"></a>

**Para crear un rol de IAM y asociarle su política**

1. Cree un rol de IAM que Amazon RDS pueda asumir en su nombre para acceder a sus buckets de Amazon S3.

   Se recomienda usar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las relaciones de confianza basadas en recursos para limitar los permisos del servicio a un recurso específico. Esta es la forma más eficaz de protegerse contra el [problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

   Puede utilizar claves de contexto de condición globales y hacer que el valor de `aws:SourceArn` contenga el ID de cuenta. En estos casos, el valor de `aws:SourceAccount` y la cuenta del valor de `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utilizan en la misma instrucción.
   + Use `aws:SourceArn` si quiere acceso entre servicios para un único recurso.
   + Use `aws:SourceAccount` si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

   En la relación de confianza, asegúrese de usar la clave de contexto de la condición global `aws:SourceArn` con el nombre de recurso de Amazon (ARN) completo de los recursos que acceden al rol.

   El siguiente comando AWS CLI crea el rol nombrado `rds-s3-integration-role` para este propósito.  
**Example**  

   Para Linux, macOS o Unix:

   ```
   aws iam create-role \
      --role-name rds-s3-integration-role \
      --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "my_account_ID",
                    "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
                }
            }
          }
        ]
      }'
   ```

   Para Windows:

   ```
   aws iam create-role ^
      --role-name rds-s3-integration-role ^
      --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "my_account_ID",
                    "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
                }
            }
          }
        ]
      }'
   ```

   Para obtener más información, consulte [Creación de un rol para delegar permisos a un usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) en la *Guía del usuario de IAM*.

1. Después de crear el rol, anote el ARN del rol. Necesita el ARN para un paso posterior.

1. Asocie la política que ha creado al rol que ha creado.

   El siguiente comando de la AWS CLI asocia la política al rol denominado `rds-s3-integration-role`.  
**Example**  

   Para Linux, macOS o Unix:

   ```
   aws iam attach-role-policy \
      --policy-arn your-policy-arn \
      --role-name rds-s3-integration-role
   ```

   Para Windows:

   ```
   aws iam attach-role-policy ^
      --policy-arn your-policy-arn ^
      --role-name rds-s3-integration-role
   ```

   Sustituya `your-policy-arn` por el ARN de la política anotado en el paso anterior.

## Paso 4: Asocie su rol de IAM a su instancia de base de datos de RDS para Oracle
<a name="oracle-s3-integration.preparing.instance"></a>

El último paso para configurar los permisos para la integración de Amazon S3 es asociar el rol de IAM con la instancia de base de datos. Tenga en cuenta los siguientes requisitos:
+ Debe tener acceso a un rol de IAM con la política de permisos de Amazon S3 requerida adjunta. 
+ Solo puede asociar un rol de IAM a su instancia de base de datos de RDS para Oracle cada vez.
+ Su instancia de base de datos debe tener el estado **Disponible**.

### Consola
<a name="oracle-s3-integration.preparing.instance.console"></a>

**Para asociar su rol de IAM a su instancia de base de datos de RDS para Oracle**

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. Elija **Bases de datos** en el panel de navegación.

1. Seleccione el nombre de la instancia de base de datos de RDS para Oracle para ver sus detalles.

1. En la pestaña **Connectivity & Security** (Conectividad y seguridad), desplácese hacia abajo hasta la sección **Manage IAM roles** (Administrar roles de IAM) de la parte inferior de la página.

1. En **Añadir roles de IAM a esta instancia**, elija el rol que creó en [Paso 3: Crear un rol de IAM para la instancia de base de datos y asociar la política](#oracle-s3-integration.preparing.role).

1. En **Feature (Característica)**, elija **S3\$1INTEGRATION**.  
![\[Añadir rol S3_INTEGRATION\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/ora-s3-integration-role.png)

1. Seleccione **Add role (Añadir rol)**.

### AWS CLI
<a name="oracle-s3-integration.preparing.instance.CLI"></a>

El siguiente comando de la AWS CLI añade el rol a una instancia de base de datos de Oracle denominada `mydbinstance`.

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

```
aws rds add-role-to-db-instance \
   --db-instance-identifier mydbinstance \
   --feature-name S3_INTEGRATION \
   --role-arn your-role-arn
```
Para Windows:  

```
aws rds add-role-to-db-instance ^
   --db-instance-identifier mydbinstance ^
   --feature-name S3_INTEGRATION ^
   --role-arn your-role-arn
```

Sustituya `your-role-arn` por el ARN del rol anotado en el paso anterior. `S3_INTEGRATION` debe especificarse para la opción `--feature-name`.

# Adición de la opción de integración con Amazon S3
<a name="oracle-s3-integration.preparing.option-group"></a>

Para integrar Amazon RDS para Oracle con Amazon S3, su instancia de base de datos debe estar asociada a un grupo de opciones que incluya la opción `S3_INTEGRATION`.

## Consola
<a name="oracle-s3-integration.preparing.option-group.console"></a>

**Para configurar un grupo de opciones para la integración con Simple Storage Service (Amazon S3)**

1. Cree un nuevo grupo de opciones o identifique uno ya existente al que pueda añadir la opción `S3_INTEGRATION`.

   Para obtener información acerca de cómo crear un grupo de opciones, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Añada la opción `S3_INTEGRATION` al grupo de opciones.

   Para obtener información acerca de cómo añadir una opción a un grupo de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Cree una nueva instancia de base de datos de RDS para Oracle y asocie el grupo de opciones a ella, o bien modifique una instancia de base de datos de RDS para Oracle para asociarla al grupo de opciones.

   Para obtener información acerca de la creación de una instancia de base de datos, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).

   Para obtener más información acerca de la modificación de una instancia de base de datos , consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="oracle-s3-integration.preparing.option-group.cli"></a>

**Para configurar un grupo de opciones para la integración con Simple Storage Service (Amazon S3)**

1. Cree un nuevo grupo de opciones o identifique uno ya existente al que pueda añadir la opción `S3_INTEGRATION`.

   Para obtener información acerca de cómo crear un grupo de opciones, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Añada la opción `S3_INTEGRATION` al grupo de opciones.

   Por ejemplo, el siguiente comando de la AWS CLI añade la opción `S3_INTEGRATION` a un grupo de opciones denominado **myoptiongroup**.  
**Example**  

   Para Linux, macOS o:Unix

   ```
   aws rds add-option-to-option-group \
      --option-group-name myoptiongroup \
      --options OptionName=S3_INTEGRATION,OptionVersion=1.0
   ```

   En:Windows

   ```
   aws rds add-option-to-option-group ^
      --option-group-name myoptiongroup ^
      --options OptionName=S3_INTEGRATION,OptionVersion=1.0
   ```

1. Cree una nueva instancia de base de datos de RDS para Oracle y asocie el grupo de opciones a ella, o bien modifique una instancia de base de datos de RDS para Oracle para asociarla al grupo de opciones.

   Para obtener información acerca de la creación de una instancia de base de datos, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).

   Para obtener información acerca de cómo modificar una instancia de base de datos de RDS para Oracle, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

# Transferencia de archivos entre Amazon RDS para Oracle y un bucket de Amazon S3
<a name="oracle-s3-integration.using"></a>

Para transferir archivos entre una instancia de base de datos de RDS para Oracle y un bucket Amazon S3, puede utilizar el paquete `rdsadmin_s3_tasks` de Amazon RDS. Puede comprimir archivos con GZIP al cargarlos y descomprimirlos durante la descarga.

**Topics**
+ [

## Requisitos y limitaciones de la transferencia de archivos
](#oracle-s3-integration.using.reqs)
+ [

## Carga de archivos desde la instancia de base de datos de RDS para Oracle en un bucket de Amazon S3
](#oracle-s3-integration.using.upload)
+ [

## Descarga de archivos desde un bucket de Amazon S3 en una instancia de base de datos de Oracle
](#oracle-s3-integration.using.download)
+ [

## Monitoreo del estado de una transferencia de archivos
](#oracle-s3-integration.using.task-status)

## Requisitos y limitaciones de la transferencia de archivos
<a name="oracle-s3-integration.using.reqs"></a>

Antes de transferir archivos entre una instancia de base de datos y un bucket de Amazon S3, tenga en cuenta lo siguiente:
+ El paquete `rdsadmin_s3_tasks` transfiere los archivos que se encuentran en un único directorio. No puede incluir subdirectorios en una transferencia.
+ El tamaño máximo de objeto en un bucket de Amazon S3 es de 5 TB. 
+ Las tareas creadas por `rdsadmin_s3_tasks` se ejecutan de forma asíncrona.
+ Puede cargar archivos desde el directorio de Data Pump, como `DATA_PUMP_DIR`, o desde cualquier directorio creado por el usuario. No puede cargar archivos desde un directorio que utilizan los procesos en segundo plano de Oracle, como los directorios `adump`, `bdump` o `trace`.
+ El límite de descargas es de 2000 archivos por llamada a procedimiento para `download_from_s3`. Si necesita descargar más de 2000 archivos de Amazon S3, divida la descarga en acciones independientes, con un máximo de 2000 archivos por llamada al procedimiento. 
+ Si existe un archivo en la carpeta de descargas e intenta descargar un archivo con el mismo nombre, `download_from_s3` omite la descarga. Para quitar un archivo del directorio de descarga, utilice el procedimiento PL/SQL [UTL\$1FILE.FREMOVE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_FILE.html#GUID-09B09C2A-2C21-4F70-BF04-D0EEA7B59CAF).

## Carga de archivos desde la instancia de base de datos de RDS para Oracle en un bucket de Amazon S3
<a name="oracle-s3-integration.using.upload"></a>

Para cargar archivos desde una instancia de base de datos en un bucket de Amazon S3, use el procedimiento `rdsadmin.rdsadmin_s3_tasks.upload_to_s3`. Por ejemplo, puede cargar archivos de copia de seguridad de Oracle Recovery Manager (RMAN) o archivos de Oracle Data Pump. Para obtener información acerca del uso de objetos, consulte [Guía del usuario de Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html). Para obtener más información acerca de cómo realizar copias de seguridad de RMAN, consulte [Realización de tareas RMAN comunes para instancias de base de datos de Oracle](Appendix.Oracle.CommonDBATasks.RMAN.md).

El procedimiento `rdsadmin.rdsadmin_s3_tasks.upload_to_s3` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_bucket_name`  |  VARCHAR2  |  –  |  obligatorio  |  Nombre del bucket de Amazon S3 en el que cargar archivos.   | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  obligatorio  |  Nombre del objeto de directorio de Oracle desde el que cargar archivos. El directorio puede ser cualquier objeto de directorio creado por el usuario o el directorio Data Pump, como `DATA_PUMP_DIR`. No puede cargar archivos desde un directorio que utilizan los procesos en segundo plano, como `adump`, `bdump` y `trace`.  Solo puede cargar archivos desde el directorio especificado. No puede cargar archivos en subdirectorios en el directorio especificado.   | 
|  `p_s3_prefix`  |  VARCHAR2  |  –  |  obligatorio  |  Prefijo del nombre de archivo de Amazon S3 en el que se cargan los archivos. Un prefijo vacío carga todos los archivos en el nivel superior en el bucket de Amazon S3 especificado y no añade un prefijo a los nombres de archivo.  Por ejemplo, si el prefijo es `folder_1/oradb`, los archivos se cargan en `folder_1`. En este caso, el prefijo `oradb` se añade a cada archivo.   | 
|  `p_prefix`  |  VARCHAR2  |  –  |  obligatorio  |  Prefijo del nombre de archivo con el que deben coincidir los nombres de archivo para cargarse. Un prefijo vacío carga todos los archivos en el directorio especificado.   | 
|  `p_compression_level`  |  NUMBER  |  `0`   |  opcional  |  El nivel de compresión GZIP. Los valores válidos van de `0` a:`9` [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/oracle-s3-integration.using.html)  | 
|  `p_bucket_owner_full_control`  |  VARCHAR2  |  –  |  opcional  |  Configuración de control de acceso para el bucket. Los únicos valores válidos son null o `FULL_CONTROL`. Esta configuración solo es obligatoria si carga archivos de una cuenta (cuenta A) en un bucket propiedad de otra cuenta (cuenta B) y la cuenta B necesita el control total de los archivos.  | 

El valor devuelto para el procedimiento `rdsadmin.rdsadmin_s3_tasks.upload_to_s3` es un ID de tarea.

En el siguiente ejemplo, se cargan todos los archivos del directorio `DATA_PUMP_DIR` en el bucket de Amazon S3 denominado *amzn-s3-demo-bucket*. Los archivos no están comprimidos.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket',
      p_prefix         =>  '', 
      p_s3_prefix      =>  '', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

En el siguiente ejemplo se cargan todos los archivos con el prefijo `db` del directorio `DATA_PUMP_DIR` en el bucket de Amazon S3 denominado `amzn-s3-demo-bucket`. Amazon RDS aplica el nivel más alto de compresión GZIP a los archivos.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name       =>  'amzn-s3-demo-bucket', 
      p_prefix            =>  'db', 
      p_s3_prefix         =>  '', 
      p_directory_name    =>  'DATA_PUMP_DIR',
      p_compression_level =>  9) 
   AS TASK_ID FROM DUAL;
```

En el siguiente ejemplo se cargan todos los archivos del directorio `DATA_PUMP_DIR` en el bucket de Amazon S3 denominado `amzn-s3-demo-bucket`. Los archivos se cargan en una carpeta `dbfiles`. En este ejemplo, el nivel de compresión GZIP es *1*, que es el nivel de compresión más rápido.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name       =>  'amzn-s3-demo-bucket', 
      p_prefix            =>  '', 
      p_s3_prefix         =>  'dbfiles/', 
      p_directory_name    =>  'DATA_PUMP_DIR',
      p_compression_level =>  1) 
   AS TASK_ID FROM DUAL;
```

En el siguiente ejemplo se cargan todos los archivos del directorio `DATA_PUMP_DIR` en el bucket de Amazon S3 denominado `amzn-s3-demo-bucket`. Los archivos se cargan en una carpeta `dbfiles` y `ora` se añade al principio de cada nombre de archivo. No se aplica compresión.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket', 
      p_prefix         =>  '', 
      p_s3_prefix      =>  'dbfiles/ora', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

En el ejemplo siguiente se supone que el comando se ejecuta en la cuenta A, pero la cuenta B requiere un control total del contenido del bucket. El comando `rdsadmin_s3_tasks.upload_to_s3` transfiere todos los archivos del directorio `DATA_PUMP_DIR` al bucket denominado `s3bucketOwnedByAccountB`. El control de acceso está configurado en `FULL_CONTROL` para que la cuenta B pueda acceder a los archivos del bucket. El nivel de compresión GZIP es *6*, que equilibra la velocidad y el tamaño del archivo.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name               =>  's3bucketOwnedByAccountB', 
      p_prefix                    =>  '', 
      p_s3_prefix                 =>  '', 
      p_directory_name            =>  'DATA_PUMP_DIR',
      p_bucket_owner_full_control =>  'FULL_CONTROL',
      p_compression_level         =>  6) 
   AS TASK_ID FROM DUAL;
```

En cada ejemplo, la instrucción `SELECT` devuelve el identificador de la tarea en un tipo de datos `VARCHAR2`.

Para ver el resultado, visualice el archivo de salida de la tarea.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Reemplace *`task-id`* con el ID de tarea devuelto por el procedimiento.

**nota**  
Las tareas se ejecutan de forma asíncrona.

## Descarga de archivos desde un bucket de Amazon S3 en una instancia de base de datos de Oracle
<a name="oracle-s3-integration.using.download"></a>

Para descargar archivos desde un bucket de Amazon S3 en una instancia de RDS para Oracle, use el procedimiento de Amazon RDS `rdsadmin.rdsadmin_s3_tasks.download_from_s3`. 

El procedimiento `download_from_s3` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_bucket_name`  |  VARCHAR2  |  –  |  Obligatorio  |  Nombre del bucket de Amazon S3 desde el que descargar archivos.   | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  Obligatorio  |  Nombre del directorio de Oracle en el que descargar archivos. El directorio puede ser cualquier objeto de directorio creado por el usuario o el directorio Data Pump, como `DATA_PUMP_DIR`.   | 
|  `p_error_on_zero_downloads`  |  VARCHAR2  | FALSO |  Opcional  |  Indicador que determina si la tarea genera un error cuando ningún objeto del bucket de Amazon S3 coincide con el prefijo. Si este parámetro no está establecido o se establece en FALSE (predeterminado), la tarea imprime un mensaje en el que se indica que no se ha encontrado ningún objeto, pero no genera ninguna excepción ni se produce un error. Si este parámetro es TRUE, la tarea genera una excepción y se produce un error.  Algunos ejemplos de especificaciones de prefijos que no superan las pruebas de coincidencia son los espacios en los prefijos, como en `' import/test9.log'`, y los desajustes de mayúsculas y minúsculas, como en `test9.log` y `test9.LOG`.  | 
|  `p_s3_prefix`  |  VARCHAR2  |  –  |  Obligatorio  |  Prefijo del nombre de archivo con el que deben coincidir los nombres de archivo para descargarse. Un prefijo vacío descarga todos los archivos de nivel superior en el bucket de Amazon S3 especificado pero no los archivos en las carpetas en el bucket.  El procedimiento descarga objetos de Amazon S3 solo desde la primera carpeta de nivel que coincide con el prefijo. Las estructuras de directorios anidados que coinciden con el prefijo especificado no se descargan. Por ejemplo, supongamos que un bucket de Amazon S3 tiene la estructura de carpetas `folder_1/folder_2/folder_3`. Especifique el prefijo `'folder_1/folder_2/'`. En este caso, solo se descargan los archivos de `folder_2`, no los archivos de `folder_1` ni de `folder_3`. Si, de lo contrario, especifico el prefijo `'folder_1/folder_2'`, se descargan todos los archivos en `folder_1` que coincidan con el prefijo `'folder_2'` y no se descarga ningún archivo en `folder_2`.  | 
|  `p_decompression_format`  |  VARCHAR2  |  –  |  Opcional  |  El formato de compresión. Los valores válidos son `NONE` sin descompresión y `GZIP` para descompresión.  | 

El valor devuelto para el procedimiento `rdsadmin.rdsadmin_s3_tasks.download_from_s3` es un ID de tarea.

En el siguiente ejemplo se descargan todos los archivos del bucket de Amazon S3 denominado `amzn-s3-demo-bucket` en el directorio `DATA_PUMP_DIR`. Los archivos no están comprimidos, por lo que no se aplica descompresión.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket',
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

En el siguiente ejemplo se descargan todos los archivos con el prefijo `db` del bucket de Amazon S3 denominado `amzn-s3-demo-bucket` en el directorio `DATA_PUMP_DIR`. Los archivos están comprimidos con GZIP, por lo que se aplica descompresión. El parámetro `p_error_on_zero_downloads` activa la comprobación de errores de prefijos, de modo que si el prefijo no coincide con ningún archivo del bucket, la tarea generará una excepción y fallará.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name               =>  'amzn-s3-demo-bucket', 
      p_s3_prefix                 =>  'db', 
      p_directory_name            =>  'DATA_PUMP_DIR',
      p_decompression_format      =>  'GZIP',
      p_error_on_zero_downloads   =>  'TRUE') 
   AS TASK_ID FROM DUAL;
```

En el siguiente ejemplo se descargan todos los archivos de la carpeta `myfolder/` del bucket de Amazon S3 denominado `amzn-s3-demo-bucket` en el directorio `DATA_PUMP_DIR`. Use el parámetro `p_s3_prefix` para especificar la carpeta de Amazon S3. Los archivos cargados se comprimen con GZIP, pero no se descomprimen durante la descarga. 

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name          =>  'amzn-s3-demo-bucket', 
      p_s3_prefix            =>  'myfolder/', 
      p_directory_name       =>  'DATA_PUMP_DIR',
      p_decompression_format =>  'NONE')
   AS TASK_ID FROM DUAL;
```

El siguiente ejemplo descarga el archivo `mydumpfile.dmp` en el bucket de Simple Storage Service (Amazon S3) con el nombre `amzn-s3-demo-bucket` del directorio `DATA_PUMP_DIR`. No se aplica descompresión.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket', 
      p_s3_prefix      =>  'mydumpfile.dmp', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

En cada ejemplo, la instrucción `SELECT` devuelve el identificador de la tarea en un tipo de datos `VARCHAR2`.

Para ver el resultado, visualice el archivo de salida de la tarea.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Reemplace *`task-id`* con el ID de tarea devuelto por el procedimiento.

**nota**  
Las tareas se ejecutan de forma asíncrona.  
Puede utilizar el procedimiento `UTL_FILE.FREMOVE` de Oracle para eliminar archivos de un directorio. Para más información, consulte [FREMOVE Procedure](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924) en la documentación de Oracle.

## Monitoreo del estado de una transferencia de archivos
<a name="oracle-s3-integration.using.task-status"></a>

Las tareas de transferencia de archivos publican eventos de Amazon RDS al comenzar y al completarse. El mensaje de evento contiene el identificador de la tarea para la transferencia del archivo. Para obtener información acerca de cómo ver los eventos, consulte [Consulta de eventos de Amazon RDS](USER_ListEvents.md).

Puede ver el estado de una tarea continua en un archivo bdump. Los archivos bdump están ubicados en el directorio `/rdsdbdata/log/trace`. El nombre del archivo bdump está en el siguiente formato.

```
dbtask-task-id.log
```

Reemplace `task-id` por el ID de la tarea que desea monitorizar.

**nota**  
Las tareas se ejecutan de forma asíncrona.

Puede utilizar el procedimiento almacenado `rdsadmin.rds_file_util.read_text_file` para ver el contenido de los archivos bdump. Por ejemplo, la siguiente consulta devuelve el contenido del archivo bdump `dbtask-1234567890123-1234.log`.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1234567890123-1234.log'));
```

A continuación, se muestra un ejemplo de archivo de registro de una transferencia fallida.

```
TASK_ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1234567890123-1234


TEXT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2023-04-17 18:21:33.993 UTC [INFO ] File #1: Uploading the file /rdsdbdata/datapump/A123B4CDEF567890G1234567890H1234/sample.dmp to Amazon S3 with bucket name amzn-s3-demo-bucket and key sample.dmp.
2023-04-17 18:21:34.188 UTC [ERROR] RDS doesn't have permission to write to Amazon S3 bucket name amzn-s3-demo-bucket and key sample.dmp.
2023-04-17 18:21:34.189 UTC [INFO ] The task failed.
```

## Solución de problemas de la integración de Amazon S3
<a name="oracle-s3-integration.troubleshooting"></a>

Para obtener consejos sobre la solución de problemas, consulte el artículo de AWS re:post [¿Cómo puedo solucionar los problemas al integrar Amazon RDS para Oracle con Amazon S3?](https://repost.aws/en/knowledge-center/rds-oracle-s3-integration)

# Eliminación de la opción de integración con Amazon S3
<a name="oracle-s3-integration.removing"></a>

Puede eliminar la opción de integración con Amazon S3 de una instancia de base de datos. 

Para eliminar la opción de integración con Amazon S3 de una instancia de base de datos, realice una de las siguientes acciones: 
+ Para eliminar la opción de integración con Amazon S3 de varias instancias de base de datos, elimine la opción `S3_INTEGRATION` del grupo de opciones al que pertenecen las instancias de base de datos. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).

   
+ Para eliminar la opción de integración con Amazon S3 de una sola instancia, modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción `S3_INTEGRATION`. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

# Oracle Application Express
<a name="Appendix.Oracle.Options.APEX"></a>

Amazon RDS es compatible con Oracle Application Express (APEX) mediante el uso de las opciones `APEX` y `APEX-DEV`. Oracle APEX puede implementarse como un entorno de tiempo de ejecución o como un entorno de desarrollo completo para aplicaciones basadas en web. Con Oracle APEX, puede crear aplicaciones de principio a fin en el navegador web. Para obtener más información, consulte [Oracle Application Express](https://apex.oracle.com/) en la documentación de Oracle.

**Topics**
+ [

## Componentes de Oracle APEX
](#Appendix.Oracle.Options.APEX.components)
+ [

# Requisitos y limitaciones
](Appendix.Oracle.Options.APEX.Requirements.md)
+ [

# Configuración de Oracle APEX y Oracle Rest Data Services (ORDS)
](Appendix.Oracle.Options.APEX.settingUp.md)
+ [

# Configuración de Oracle Rest Data Services (ORDS)
](Appendix.Oracle.Options.APEX.ORDSConf.md)
+ [

# Actualización y eliminación de Oracle APEX
](Appendix.Oracle.Options.APEX.UpgradeandRemove.md)

## Componentes de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.components"></a>

Oracle APEX consta de los siguientes componentes principales:
+ Un *repositorio* que almacena los metadatos para las aplicaciones y los componentes de Oracle APEX. El repositorio se compone de tablas, índices y otros objetos que están instalados en la instancia de base de datos de Amazon RDS.
+ Un *agente de escucha* que administra las comunicaciones HTTP con los clientes de Oracle APEX. El oyente está en un host independiente como, por ejemplo, una instancia de Amazon EC2, un servidor en las instalaciones de su empresa o un equipo de escritorio. El agente de escucha acepta las conexiones entrantes de los navegadores web, las reenvía a la instancia de base de datos de Amazon RDS para su procesamiento y, después, envía los resultados del repositorio de vuelta a los navegadores. 

  RDS para Oracle admite los siguientes tipos de oyente:
  + Para Oracle APEX versión 5.0 y posteriores, utilice Oracle REST Data Services (ORDS), versión 19.1 y posteriores. Le recomendamos utilizar la última versión compatible de Oracle APEX y ORDS. Esta documentación describe versiones anteriores solo para compatibilidad con versiones anteriores.
  + Para la versión 4.1.1 de Oracle APEX, puede utilizar Oracle APEX Listener versión 1.1.4.
  + Puede utilizar Oracle HTTP Server y agentes de escucha `mod_plsql`.
**nota**  
Amazon RDS no es compatible con el servidor HTTP de base de datos XML de Oracle con la puerta de enlace PL/SQL integrada como oyente para Oracle APEX. En general, Oracle recomienda evitar el uso de la gateway PL/SQL integrada para las aplicaciones que se ejecutan en Internet.

  Para obtener más información sobre estos tipos de agentes de escucha, consulte [Elección de un agente de escucha web](https://docs.oracle.com/database/apex-5.1/HTMIG/choosing-web-listener.htm#HTMIG29321) en la documentación de Oracle.

Cuando se agregan las opciones de `APEX` y `APEX-DEV` a la instancia de base de datos de RDS para Oracle, Amazon RDS instala solo el repositorio de Oracle APEX. Instale su oyente en un host independiente.

# Requisitos y limitaciones
<a name="Appendix.Oracle.Options.APEX.Requirements"></a>

En el siguiente tema se muestran los requisitos y las limitaciones para Oracle APEX y ORDS.

## Requisitos de versiones de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.versions"></a>

La opción de `APEX` utiliza el almacenamiento en la clase de instancia de base de datos para la instancia de base de datos. Estas son las versiones admitidas y los requisitos de almacenamiento aproximados para Oracle APEX.


****  

| Versión de Oracle APEX | Requisitos de almacenamiento | Versiones de Oracle Database compatibles | Notas | 
| --- | --- | --- | --- | 
|  Oracle APEX versión 24.2.v1  |  114 MiB  |  Todos  |  Esta versión incluye el parche 37885097: PSE BUNDLE FOR APEX 24,2 (PSES ON TOP OF 24,2.0), PATCH\$1VERSION 4.  | 
|  Oracle APEX versión 24.1.v1  |  112 MiB  |  Todos  |  Esta versión incluye el parche 36695709: PSE BUNDLE FOR APEX 24.1 (PSES ON TOP OF 24.1.0), PATCH\$1VERSION 3. Si necesita instalar exactamente la misma versión de imágenes APEX en la instancia EC2, descargue la revisión 37544819: 24.1.3 PAQUETE PSE PARA APEX 24.1 (PSES SOBRE 24.1.0).  | 
|  Oracle APEX versión 23.2.v1  |  110 MiB  |  Todos  |  Esta versión incluye el parche 35895964: PSE BUNDLE FOR APEX 23.2 (PSES ON TOP OF 23.2.0), PATCH\$1VERSION 6. Si necesita instalar exactamente la misma versión de imágenes APEX en la instancia EC2, descargue la revisión 37593125: 23.2.6 PAQUETE PSE PARA APEX 23.2 (PSES SOBRE 23.2.0).  | 
|  Oracle APEX versión 23.1.v1  |  106 MiB  |  Todos  |  Esta versión incluye el parche 35283657: PSE BUNDLE FOR APEX 23.1 (PSES ON TOP OF 23.1.0), PATCH\$1VERSION 2.  | 
|  Oracle APEX, versión 22.2.v1  |  106 MiB  |  Todos  |  Esta versión incluye el parche 34628174: PSE BUNDLE FOR APEX 22,2 (PSES ON TOP OF 22,2.0), PATCH\$1VERSION 4.  | 
|  Oracle APEX, versión 22.1.v1  |  124 MiB  |  Todos  |  Esta versión incluye el parche 34020981: PSE BUNDLE FOR APEX 22.1 (PSES ON TOP OF 22.1.0), PATCH\$1VERSION 6.  | 
|  Oracle APEX, versión 21.2.v1  |  125 MiB  |  Todos  |  Esta versión incluye el parche 33420059: PSE BUNDLE FOR APEX 21,2 (PSES ON TOP OF 21,2.0), PATCH\$1VERSION 8.  | 
|  Oracle APEX, versión 21.1.v1  |  125 MiB  |  Todos  |  Esta versión incluye la revisión 32598392: PSE BUNDLE FOR APEX 21.1, PATCH\$1VERSION 3.  | 
|  Oracle APEX versión 20.2.v1  |  148 MiB  |  Todas excepto Oracle Database 21c  |  Esta versión incluye la revisión 32006852: PSE BUNDLE FOR APEX 20.2, PATCH\$1VERSION 2020.11.12. Puede consultar el número de parche y la fecha ejecutando la siguiente consulta: <pre>SELECT PATCH_VERSION, PATCH_NUMBER <br />FROM   APEX_PATCHES;</pre>  | 
|  Oracle APEX versión 20.1.v1  |  173 MiB  |  Todas excepto Oracle Database 21c  |  Esta versión incluye la revisión 30990551: PSE BUNDLE FOR APEX 20.1, PATCH\$1VERSION 2020.07.15.  | 
|  Oracle APEX versión 19.2.v1  |  149 MiB  |  Todas excepto Oracle Database 21c  |  | 
|  Oracle APEX, versión 19.1.v1  |  148 MiB  |  Todas excepto Oracle Database 21c  |  | 

Para ver los archivos .zip de Oracle APEX descargables, consulte los [archivos de versiones anteriores de Oracle APEX](https://www.oracle.com/tools/downloads/apex-all-archives-downloads.html) en el sitio web de Oracle.

## Requisitos previos para Oracle APEX y ORDS
<a name="Appendix.Oracle.Options.APEX.PreReqs"></a>

Tenga en cuenta los siguientes requisitos previos para Oracle APEX y ORDS:
+ El sistema debe utilizar el entorno de ejecución de Java (JRE).
+ Una instalación de cliente de Oracle debe incluir lo siguiente:
  + SQL\$1Plus o SQL Developer para tareas de administración
  + Oracle Net Services para configurar conexiones a su instancia de base de datos de RDS para Oracle

## Limitaciones de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.limitations"></a>

No puede modificar la cuenta de usuario `APEX_version`, que administra Amazon RDS. Por lo tanto, no puede aplicar perfiles de bases de datos ni imponer reglas de contraseñas a este usuario. Oracle y AWS predefinen la configuración de perfiles y contraseñas para `APEX_version`, que se ha diseñado para cumplir con los requisitos de seguridad de Amazon RDS.

# Configuración de Oracle APEX y Oracle Rest Data Services (ORDS)
<a name="Appendix.Oracle.Options.APEX.settingUp"></a>

En el siguiente tema se muestran los pasos necesarios para configurar Oracle APEX y ORDS

**Topics**
+ [

## Cómo añadir las opciones de APEX y APEX-DEV a una instancia de base de datos
](#Appendix.Oracle.Options.APEX.Add)
+ [

## Desbloqueo de la cuenta de usuario pública en una instancia de base de datos
](#Appendix.Oracle.Options.APEX.PublicUser)
+ [

## Configuración de los servicios RESTful para Oracle APEX
](#Appendix.Oracle.Options.APEX.ConfigureRESTful)
+ [

## Preparativos para la instalación de ORDS en un host independiente
](#Appendix.Oracle.Options.APEX.ORDS.ords-setup)
+ [

## Configuración del agente de escucha de Oracle APEX
](#Appendix.Oracle.Options.APEX.Listener)

## Cómo añadir las opciones de APEX y APEX-DEV a una instancia de base de datos
<a name="Appendix.Oracle.Options.APEX.Add"></a>

Para añadir las opciones `APEX` y `APEX-DEV` a la instancia de base de datos de RDS para Oracle, haga lo siguiente: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Agregue las opciones `APEX` y `APEX-DEV` al grupo de opciones.

1. Asocie el grupo de opciones con la instancia de base de datos.

Cuando se agregan las opciones `APEX` y `APEX-DEV`, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. 

**nota**  
`APEX_MAIL` está disponible cuando la opción `APEX` está instalada. El privilegio de ejecución del paquete `APEX_MAIL` se concede a `PUBLIC`por lo que no necesita la cuenta administrativa de APEX para usarlo.

**Agregación de las opciones de APEX y APEX-DEV a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine**, elija la edición de Oracle que desea utilizar. Las opciones de `APEX` y `APEX-DEV` se admiten en todas las ediciones. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada las opciones al grupo de opciones. Si desea implementar únicamente el entorno de tiempo de ejecución de Oracle APEX, añada solo la opción `APEX`. Si desea implementar el entorno de desarrollo completo, añada las opciones `APEX` y `APEX-DEV`.

   Para **Versión**, elija la versión de Oracle APEX que desea utilizar.
**importante**  
Si agrega las opciones de `APEX` y `APEX-DEV` a un grupo de opciones existente que ya se ha adjuntado a una o varias instancias de base de datos, se producirá una breve interrupción. Durante esa interrupción, se reinician automáticamente todas las instancias de base de datos. 

   Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Cuando se agregan las opciones de `APEX` o `APEX-DEV` a una instancia de base de datos existente, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Desbloqueo de la cuenta de usuario pública en una instancia de base de datos
<a name="Appendix.Oracle.Options.APEX.PublicUser"></a>

Después de instalar las opciones de `APEX` o `APEX-DEV` para la instancia de base de datos, asegúrese de hacer lo siguiente:

1. Cambie la contraseña de la cuenta `APEX_PUBLIC_USER`.

1. Desbloquee la cuenta.

Para ello, puede usar la utilidad de línea de comandos Oracle SQL\$1Plus. Conéctese a la instancia de base de datos como usuario maestro y ejecute los siguientes comandos. Reemplace `new_password` por una contraseña de su elección. 

```
1. ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password;
2. ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
```

## Configuración de los servicios RESTful para Oracle APEX
<a name="Appendix.Oracle.Options.APEX.ConfigureRESTful"></a>

Para configurar los servicios RESTful en Oracle APEX (no es necesario para Oracle APEX 4.1.1.V1), utilice SQL\$1Plus para conectarse a la instancia de base de datos como usuario maestro. Una vez realizado ese paso, ejecute el procedimiento almacenado `rdsadmin.rdsadmin_run_apex_rest_config`. Cuando ejecute el procedimiento almacenado, proporcione contraseñas para los siguientes usuarios:
+ `APEX_LISTENER`
+ `APEX_REST_PUBLIC_USER`

El procedimiento almacenado ejecuta el script `apex_rest_config.sql`, que crea cuentas de base de datos nuevas para estos usuarios.

**nota**  
La configuración no es necesaria para Oracle APEX versión 4.1.1.v1. No es necesario ejecutar el procedimiento almacenado únicamente para esta versión de Oracle APEX.

El comando siguiente ejecuta el procedimiento almacenado.

```
1. EXEC rdsadmin.rdsadmin_run_apex_rest_config('apex_listener_password', 'apex_rest_public_user_password');
```

## Preparativos para la instalación de ORDS en un host independiente
<a name="Appendix.Oracle.Options.APEX.ORDS.ords-setup"></a>

Instale ORDS en un host independiente, como una instancia de Amazon EC2, un servidor en las instalaciones de su empresa o un equipo de escritorio. En los ejemplos de esta sección, se supone que el host ejecuta Linux y tiene el nombre `myapexhost.example.com`.

Antes de poder instalar ORDS, tiene que crear un usuario de SO sin privilegios y, a continuación, descargar y descomprimir el archivo de instalación de Oracle APEX.

**Para prepararse para la instalación de ORDS**

1. Inicie sesión en `myapexhost.example.com` como `root`. 

1. Cree un usuario de SO sin privilegios que sea el propietario de la instalación del agente de escucha. El siguiente comando crea un nuevo usuario llamado *apexuser*. 

   ```
   useradd -d /home/apexuser apexuser
   ```

   El siguiente comando asigna una contraseña al nuevo usuario. 

   ```
   passwd apexuser;
   ```

1. Inicie sesión en `myapexhost.example.com` como `apexuser` y descargue los archivos de instalación de Oracle APEX desde Oracle en su directorio `/home/apexuser`: 
   + [http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Archivos de liberación previos de Oracle Application Express](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. Descomprima el archivo en el directorio `/home/apexuser`.

   ```
   unzip apex_version.zip
   ```

   Tras descomprimir el archivo, hay un directorio `apex` en el directorio `/home/apexuser`.

1. Mientras siga con la sesión iniciada en `myapexhost.example.com` como `apexuser`, descargue el archivo de Oracle REST Data Services de Oracle a su directorio:`/home/apexuser` [http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html).

## Configuración del agente de escucha de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener"></a>

**nota**  
Oracle APEX Listener está obsoleto. 

Amazon RDS para Oracle sigue siendo compatible con Oracle APEX versión 4.1.1 y Oracle APEX Listener versión 1.1.4. Se recomienda utilizar las últimas versiones compatibles de Oracle APEX y ORDS.

Instale Oracle APEX Listener en un host independiente, como, por ejemplo, una instancia Amazon EC2, un servidor en las instalaciones en su empresa o un equipo de sobremesa. Suponemos que el nombre del host es `myapexhost.example.com` y que el host ejecuta Linux.

### Preparación para instalar el agente de escucha de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener.preparing"></a>

Antes de instalar Oracle APEX Listener, debe crear un usuario de SO sin privilegios y, a continuación, descargar y descomprimir el archivo de instalación de Oracle APEX.

**Para prepararse para la instalación del agente de escucha de Oracle APEX**

1. Inicie sesión en `myapexhost.example.com` como `root`. 

1. Cree un usuario de SO sin privilegios que sea el propietario de la instalación del agente de escucha. El siguiente comando crea un nuevo usuario llamado *apexuser*. 

   ```
   useradd -d /home/apexuser apexuser
   ```

   El siguiente comando asigna una contraseña al nuevo usuario. 

   ```
   passwd apexuser;
   ```

1. Inicie sesión en `myapexhost.example.com` como `apexuser` y descargue los archivos de instalación de Oracle APEX desde Oracle en su directorio `/home/apexuser`: 
   + [http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Archivos de liberación previos de Oracle Application Express](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. Descomprima el archivo en el directorio `/home/apexuser`.

   ```
   unzip apex_<version>.zip                
   ```

   Tras descomprimir el archivo, hay un directorio `apex` en el directorio `/home/apexuser`.

1. Mientras sigue con la sesión iniciada en `myapexhost.example.com` como `apexuser`, descargue el archivo de Oracle APEX Listener desde Oracle a su directorio `/home/apexuser`.

#### Instalación y configuración del agente de escucha de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener.installing"></a>

Antes de poder utilizar Oracle APEX, debe descargar el archivo `apex.war`, usar Java para instalar Oracle APEX Listener y, a continuación, iniciar el oyente.

**Para instalar y configurar el agente de escucha de Oracle APEX**

1. Cree un nuevo directorio basado en Oracle APEX Listener y abra el archivo del agente de escucha.

   Ejecute el siguiente código:

   ```
   mkdir /home/apexuser/apexlistener
   cd /home/apexuser/apexlistener 
   unzip ../apex_listener.version.zip
   ```

1. Ejecute el siguiente código.

   ```
   java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
   ```

1. Introduzca la siguiente información que el programa le solicita: 
   + Nombre de usuario del administrador del agente de escucha de APEX. El valor predeterminado es *adminlistener*. 
   + Contraseña del administrador del agente de escucha de APEX. 
   + Nombre de usuario del gestor del agente de escucha de APEX. El valor predeterminado es *managerlistener*. 
   + Contraseña del administrador del agente de escucha de APEX. 

   El programa imprime una dirección URL que se necesita para completar la configuración, tal y como se indica a continuación.

   ```
   INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure
   Database is not yet configured
   ```

1. Deje Oracle APEX Listener en ejecución para que pueda utilizar Oracle Application Express. Cuando haya completado este procedimiento de configuración, podrá ejecutar el agente de escucha en segundo plano. 

1. Desde el navegador web, vaya a la dirección URL proporcionada por el programa del oyente de Oracle APEX. Aparece la ventana de administración de Oracle Application Express Listener. Introduzca la información siguiente: 
   + **Username (Nombre de usuario** – `APEX_PUBLIC_USER`
   + **Password (Contraseña)**: la contraseña de *APEX\$1PUBLIC\$1USER*. Esta contraseña es la que especificó antes cuando configuró el repositorio de Oracle APEX. Para obtener más información, consulte [Desbloqueo de la cuenta de usuario pública en una instancia de base de datos](#Appendix.Oracle.Options.APEX.PublicUser). 
   + **Connection Type (Tipo de conexión)**: Basic (Básica) 
   + **Hostname (Nombre de host)**: el punto de enlace de su instancia de base de datos de Amazon RDS, como `mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com`. 
   + **Port (Puerto** – 1521
   + **SID**: el nombre de la base de datos de la instancia de base de datos de Amazon RDS, como `mydb`. 

1. Seleccione **Apply**. Aparece la ventana de administración de Oracle APEX. 

1. Establezca una contraseña para el usuario `admin` de Oracle APEX. Para ello, use SQL\$1Plus para conectarse a la instancia de base de datos como usuario principal y, a continuación, ejecute los siguientes comandos.

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Sustituya `master` por el nombre de usuario maestro. Cuando el script de `apxchpwd.sql` se lo solicite, introduzca una nueva contraseña de `admin`. 

1. Vuelva a la ventana de administración de Oracle APEX en el navegador y elija **Administración**. A continuación, elija **Application Express Internal Administration**. Cuando se le soliciten las credenciales, introduzca la siguiente información: 
   + **User name (Nombre de usuario** – `admin` 
   + **Password (Contraseña)**: la contraseña que se estableció con el script `apxchpwd.sql` 

   Elija **Login** y a continuación defina una nueva contraseña para el usuario `admin`. 

El agente de escucha ya está listo para utilizarse.

# Configuración de Oracle Rest Data Services (ORDS)
<a name="Appendix.Oracle.Options.APEX.ORDSConf"></a>

En el siguiente tema se enumeran las opciones de configuración de ORDS 21 y 22:

**Topics**
+ [

## Instalación y configuración de ORDS 21 y versiones anteriores
](#Appendix.Oracle.Options.APEX.ORDS)
+ [

## Instalación y configuración de ORDS 22 y versiones posteriores
](#Appendix.Oracle.Options.APEX.ORDS22)

## Instalación y configuración de ORDS 21 y versiones anteriores
<a name="Appendix.Oracle.Options.APEX.ORDS"></a>

Ahora está listo para instalar y configurar Oracle Rest Data Services (ORDS) para su uso con Oracle APEX. Para Oracle APEX versión 5.0 y posteriores, utilice las versiones 19.1 a 21 de ORDS. Para obtener información sobre cómo instalar ORDS 22 y versiones posteriores, consulte [Instalación y configuración de ORDS 22 y versiones posteriores](#Appendix.Oracle.Options.APEX.ORDS22).

Instale el agente de escucha en un host independiente como, por ejemplo, una instancia Amazon EC2, un servidor en las instalaciones de su empresa o un equipo de escritorio. Para los ejemplos de esta sección, suponemos que el nombre de su host es `myapexhost.example.com` y que su host está ejecutando Linux.

**Instalación y configuración de ORDS 21 y versiones anteriores para usarse con Oracle APEX**

1. Consulte [Oracle REST data services](https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads-212.html) y examine el archivo Readme. Asegúrese de que tiene instalada la versión de Java necesaria.

1. Cree un nuevo directorio para su instalación de ORDS.

   ```
   mkdir /home/apexuser/ORDS
   cd /home/apexuser/ORDS
   ```

1. Descargue el archivo `ords.version.number.zip` en [Oracle REST data services](https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads-212.html) (Servicios de datos REST de Oracle).

1. Descomprima el archivo en el directorio `/home/apexuser/ORDS`.

1. Si va a instalar ORDS en una base de datos multiusuario, agregue la siguiente línea al archivo:`/home/apexuser/ORDS/params/ords_params.properties`

   ```
   pdb.disable.lockdown=false
   ```

1. Conceda al usuario principal los privilegios necesarios para instalar ORDS.

   Una vez instaladas las opciones para Oracle APEX, conceda al usuario principal los privilegios necesarios para instalar el esquema de ORDS. Para ello, conéctese a la base de datos y ejecute los siguientes comandos. Sustituya `MASTER_USER` por el nombre del usuario principal en mayúsculas.
**importante**  
Al ingresar el nombre de usuario, utilice mayúsculas, a menos que haya creado el usuario con un identificador que distingue entre mayúsculas y minúsculas. Por ejemplo, si ejecuta `CREATE USER myuser` o `CREATE USER MYUSER`, el diccionario de datos almacena `MYUSER`. Sin embargo, si utiliza comillas dobles en `CREATE USER "MyUser"`, el diccionario de datos almacena `MyUser`. Para obtener más información, consulte [Concesión de privilegios SELECT o EXECUTE para objetos SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md).

   ```
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true);
   ```
**nota**  
Estos comandos se aplican a las versiones 19.1 y posteriores de ORDS.

1. Instale el esquema de ORDS mediante el archivo ords.war descargado.

   ```
   java -jar ords.war install advanced
   ```

   El programa le pedirá la siguiente información. Los valores predeterminados aparecen entre corchetes. Para obtener más información, consulte [Introduction to Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/20.2/aelig/installing-REST-data-services.html#GUID-6F7B4E61-B730-4E73-80B8-F53299123730) en la documentación de Oracle.
   + Escriba la ubicación para almacenar los datos de configuración:

     Ingrese */home/apexuser/ORDS*. Esta es la ubicación de los archivos de configuración ORDS.
   + Especifique el tipo de conexión de base de datos que se va a utilizar. Escriba un número: [1] Basic [2] TNS [3] URL personalizada [1]:

     Elija el tipo de conexión deseado.
   + Escriba el nombre del servidor de la base de datos [localhost]: *punto\$1de\$1enlace\$1de\$1instancia\$1de\$1base\$1de\$1datos*

     Elija el valor predeterminado o introduzca el valor correcto.
   + Escriba el puerto del agente de escucha de la base de datos [1521]: *puerto\$1de\$1instancia\$1de\$1base\$1de\$1datos*

     Elija el valor predeterminado o introduzca el valor correcto.
   + Escriba 1 para especificar el nombre del servicio de base de datos o elija 2 para especificar el SID de la base de datos [1]:

     Elija `2` para especificar el SID de la base de datos. 
   + SID de la base de datos [xe]

     Elija el valor predeterminado o introduzca el valor correcto.
   + Escriba 1 si desea verificar/instalar el esquema de Oracle REST Data Services o escriba 2 para omitir este paso [1]:

     Elija `1`. Este paso crea el usuario del proxy de Oracle REST Data Services denominado ORDS\$1PUBLIC\$1USER.
   + Escriba la contraseña de la base de datos para ORDS\$1PUBLIC\$1USER:

     Escriba la contraseña y, a continuación, confírmela.
   + Es necesario iniciar sesión con privilegios de administrador para verificar el esquema de Oracle REST Data Services.

     Introduzca el nombre del usuario administrador: *master\$1user*

     Introduzca la contraseña de la base de datos para *master\$1user*: *master\$1user\$1password*

     Confirme la contraseña: *master\$1user\$1password*
**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.
   + Introduzca el espacio de tabla predeterminado de ORDS\$1METADATA [SYSAUX].

     Introduzca el espacio de tabla temporal de ORDS\$1METADATA [TEMP].

     Introduzca el espacio de tabla predeterminado de ORDS\$1PUBLIC\$1USER [USERS].

     Introduzca el espacio de tabla temporal de ORDS\$1PUBLIC\$1USER [TEMP].
   + Introduzca 1 si desea utilizar la gateway PL/SQL o 2 para omitir este paso. Si utiliza Oracle Application Express o migra desde mod\$1plsql, debe introducir 1 [1].

     Elija el valor predeterminado.
   + Escriba el nombre de usuario de la base de datos de la gateway PL/SQL [APEX\$1PUBLIC\$1USER]

     Elija el valor predeterminado.
   + Escriba la contraseña de la base de datos para APEX\$1PUBLIC\$1USER:

     Escriba la contraseña y, a continuación, confírmela.
   + Escriba 1 para especificar contraseñas para los usuarios de la base de datos de los servicios RESTful de Application Express (APEX\$1LISTENER, APEX\$1REST\$1PUBLIC\$1USER) o escriba 2 para omitir este paso [1]:

     Elija `2` para APEX 4.1.1.V1; elija `1` para todas las demás versiones de APEX.
   + [No es necesario para APEX 4.1.1.v1] Contraseña de la base de datos para APEX\$1LISTENER

     Escriba la contraseña (si es necesario) y, a continuación, confírmela.
   + [No es necesario para APEX 4.1.1.v1] Contraseña de la base de datos para APEX\$1REST\$1PUBLIC\$1USER

     Escriba la contraseña (si es necesario) y, a continuación, confírmela.
   + Escriba un número para seleccionar una característica para habilitar:

     Escriba `1` para habilitar todas las características: SQL Developer Web, SQL habilitado para REST y API de base de datos.
   + Escriba 1 si desea comenzar en modo autónomo o 2 para salir [1]:

     Escriba `1`.
   + Escriba la ubicación de recursos estáticos de APEX:

     Si descomprimió los archivos de instalación de APEX en `/home/apexuser`, escriba `/home/apexuser/apex/images`. De lo contrario, escriba `unzip_path/apex/images`, donde *unzip\$1path* es el directorio donde descomprimió el archivo.
   + Escriba 1 si usa HTTP o escriba 2 si usa HTTPS [1]:

     Si escribe `1`, especifique el puerto HTTP. Si escribe `2`, especifique el puerto HTTPS y el nombre del host de SSL. La opción HTTPS le pide que especifique cómo proporcionará el certificado:
     + Escriba `1` para usar el certificado autofirmado.
     + Escriba `2` para proporcionar su propio certificado. Si escribe `2`, especifique la ruta de acceso del certificado SSL y la ruta de acceso de la clave privada del certificado SSL.

1. Establezca una contraseña para el usuario `admin` de APEX. Para ello, use SQL\$1Plus para conectarse a la instancia de base de datos como usuario principal y, a continuación, ejecute los siguientes comandos.

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Sustituya `master` por el nombre de usuario maestro. Cuando el script de `apxchpwd.sql` se lo solicite, introduzca una nueva contraseña de `admin`. 

1. Inicie el agente de escucha ORDS. Ejecute el siguiente código.

   ```
   java -jar ords.war
   ```

   La primera vez que inicie ORDS, se le pedirá que proporcione la ubicación de los recursos estáticos de APEX. Esta carpeta de imágenes se encuentra en el directorio `/apex/images` en el directorio de instalación de APEX. 

1. Vuelva a la ventana de administración de Oracle APEX en el navegador y elija **Administración**. A continuación, elija **Application Express Internal Administration**. Cuando se le soliciten las credenciales, introduzca la siguiente información: 
   + **User name (Nombre de usuario** – `admin` 
   + **Password (Contraseña)**: la contraseña que se estableció con el script `apxchpwd.sql` 

   Elija **Login** y a continuación defina una nueva contraseña para el usuario `admin`. 

El agente de escucha ya está listo para utilizarse.

## Instalación y configuración de ORDS 22 y versiones posteriores
<a name="Appendix.Oracle.Options.APEX.ORDS22"></a>

Ahora está listo para instalar y configurar Oracle Rest Data Services (ORDS) para su uso con Oracle APEX. Para los ejemplos de esta sección, suponemos que el nombre del host independiente es `myapexhost.example.com` y que está ejecutando Linux. Las instrucciones de ORDS 22 difieren de las instrucciones de las versiones anteriores.

**Instalación y configuración de ORDS 22 y versiones posteriores para usarse con Oracle APEX**

1. Visite [Oracle REST data services](http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html) y examine el archivo Readme de la versión de ORDS que tiene pensado descargar. Asegúrese de que tiene instalada la versión de Java necesaria.

1. Cree un nuevo directorio para su instalación de ORDS.

   ```
   mkdir /home/apexuser/ORDS
   cd /home/apexuser/ORDS
   ```

1. Descargue el archivo `ords.version.number.zip` o `ords-latest.zip` de [Oracle REST data services](http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html).

1. Descomprima el archivo en el directorio `/home/apexuser/ORDS`.

1. Conceda al usuario principal los privilegios necesarios para instalar ORDS.

   Una vez instalada la opción `APEX`, conceda al usuario principal los privilegios necesarios para instalar el esquema de ORDS. Puede hacerlo conectándose a la base de datos y ejecutando los siguientes comandos. Sustituya `MASTER_USER` por el nombre del usuario principal en mayúsculas.
**importante**  
Al ingresar el nombre de usuario, utilice mayúsculas, a menos que haya creado el usuario con un identificador que distingue entre mayúsculas y minúsculas. Por ejemplo, si ejecuta `CREATE USER myuser` o `CREATE USER MYUSER`, el diccionario de datos almacena `MYUSER`. Sin embargo, si utiliza comillas dobles en `CREATE USER "MyUser"`, el diccionario de datos almacena `MyUser`. Para obtener más información, consulte [Concesión de privilegios SELECT o EXECUTE para objetos SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md).

   ```
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true);
   
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOB', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_ASSERT', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_OUTPUT', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SCHEDULER', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('HTP', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('OWA', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPG_DOCLOAD', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_METADATA', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SQL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('UTL_SMTP', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_NETWORK_ACL_ADMIN', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('SESSION_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_USERS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACL_PRIVILEGES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACLS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'MASTER_USER', 'SELECT', true);
   ```
**nota**  
Los comandos anteriores se aplican a las versiones 22 y posteriores de ORDS.

1. Instale el esquema de ORDS mediante el script `ords` descargado. Especifique los directorios que deben contener los archivos de configuración y los archivos de registro. Oracle Corporation recomienda no colocar estos directorios dentro del directorio que contiene el software del producto ORDS.

   ```
   mkdir -p /home/apexuser/ords_config /home/apexuser/ords_logs
   
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config \
     install --interactive --log-folder /home/apexuser/ords_logs
   ```

   Para las instancias de base de datos que ejecutan la arquitectura de base de datos de contenedores (CDB), utilice ORDS 23.3 o versiones posteriores y pase el argumento `--pdb-skip-disable-lockdown` al instalar ORDS.

   ```
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config \
     install --interactive --log-folder /home/apexuser/ords_logs --pdb-skip-disable-lockdown
   ```

   El programa le pedirá la siguiente información. Los valores predeterminados aparecen entre corchetes. Para obtener más información, consulte [Introduction to Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/20.2/aelig/installing-REST-data-services.html#GUID-6F7B4E61-B730-4E73-80B8-F53299123730) en la documentación de Oracle.
   + `Choose the type of installation:`

     Elija **2** para instalar los esquemas de ORDS en la base de datos y crear un grupo de conexiones de base de datos en los archivos de configuración de ORDS locales.
   + `Specify the database connection type to use. Enter number for [1] Basic [2] TNS [3] Custom URL:`

     Elija el tipo de conexión deseado. En este ejemplo se supone que elige **1**.
   + `Enter the name of the database server [localhost]:` ***DB\$1instance\$1endpoint***

     Elija el valor predeterminado o introduzca el valor correcto.
   + `Enter the database listener port [1521]:` ***DB\$1instance\$1port***

     Elija el valor predeterminado **1521** o introduzca el valor correcto.
   + `Enter the database service name [orcl]:`

     Introduzca el nombre de base de datos que utiliza la instancia de base de datos de RDS para Oracle.
   + `Provide database user name with administrator privileges`

      Introduzca el nombre de usuario maestro para la instancia de base de datos de RDS para Oracle.
   + `Enter the database password for [username]:`

     Introduzca la contraseña de usuario maestro para la instancia de base de datos de RDS para Oracle.
   + `Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]:`
   + `Enter the temporary tablespace for ORDS_METADATA [TEMP]. Enter the default tablespace for ORDS_PUBLIC_USER [USERS]. Enter the temporary tablespace for ORDS_PUBLIC_USER [TEMP].`
   + `Enter a number to select additional feature(s) to enable [1]:`
   + `Enter a number to configure and start ORDS in standalone mode [1]: `

      Elija **2** para omitir inmediatamente el inicio de ORDS en modo independiente.
   + `Enter a number to select the protocol [1] HTTP`
   + `Enter the HTTP port [8080]:`
   + `Enter the APEX static resources location:`

     Ingrese la ruta a los archivos de instalación de Oracle APEX (`/home/apexuser/apex/images`).

1. Establezca una contraseña para el usuario `admin` de Oracle APEX. Para ello, use SQL\$1Plus para conectarse a la instancia de base de datos como usuario principal y, a continuación, ejecute los siguientes comandos.

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Sustituya `master` por el nombre de usuario maestro. Cuando el script de `apxchpwd.sql` se lo solicite, introduzca una nueva contraseña de `admin`. 

1. Ejecute ORDS en modo independiente mediante el script `ords` con el comando `serve`. Para las implementaciones de producción, plantéese la posibilidad de utilizar servidores de aplicaciones Java EE admitidos, como Apache Tomcat u Oracle WebLogic Server. Para obtener información, consulte [Deploying and Monitoring Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/23.1/ordig/deploying-and-monitoring-oracle-rest-data-services.html#GUID-6791F5DF-AC67-4885-BFFA-B80964C17EC9) en la documentación de Oracle Database.

   ```
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config serve \
     --port 8193 \
     --apex-images /home/apexuser/apex/images
   ```

   Si ORDS se está ejecutando pero no puede acceder a la instalación de Oracle APEX, es posible que aparezca el siguiente error, sobre todo en las instancias que no son CDB. 

   ```
   The procedure named apex_admin could not be accessed, it may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access.
   ```

   Para corregir este error, cambie la función de validación de solicitudes utilizada por ORDS ejecutando el script `ords` con el comando `config`. De forma predeterminada, ORDS usa el procedimiento `ords_util.authorize_plsql_gateway`, que solo se admite en las instancias de CDB. En el caso de las instancias que no son de CDB, puede cambiar este procedimiento por el paquete `wwv_flow_epg_include_modules.authorize`. Consulte la documentación de Oracle Database y Oracle Support para conocer las mejores prácticas a la hora de configurar la función de validación de solicitudes adecuada para su caso de uso.

1. Vuelva a la ventana de administración de Oracle APEX en el navegador y elija **Administración**. A continuación, elija **Application Express Internal Administration**. Cuando se le soliciten las credenciales, introduzca la siguiente información: 
   + **User name (Nombre de usuario** – `admin` 
   + **Password (Contraseña)**: la contraseña que se estableció con el script `apxchpwd.sql` 

   Elija **Login** y a continuación defina una nueva contraseña para el usuario `admin`. 

El agente de escucha ya está listo para utilizarse.

# Actualización y eliminación de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.UpgradeandRemove"></a>

Para actualizar o eliminar Oracle APEX, siga las instrucciones de este tema:

**Topics**
+ [

## Actualización de la versión de Oracle APEX
](#Appendix.Oracle.Options.APEX.Upgrade)
+ [

## Eliminación de las opciones de APEX y APEX-DEV
](#Appendix.Oracle.Options.APEX.Remove)

## Actualización de la versión de Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Upgrade"></a>

**importante**  
Realice una copia de seguridad de la instancia de base de datos antes de actualizar Oracle APEX. Para obtener más información, consulte [Creación de una instantánea de base de datos para una instancia de base de datos single-AZ para Amazon RDS](USER_CreateSnapshot.md) y [Prueba de una actualización de base de datos de Oracle](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md). 

Para actualizar Oracle APEX con la instancia de base de datos, realice lo siguiente: 
+ Cree un nuevo grupo de opciones para la versión actualizada de la instancia de base de datos. 
+ Agregue las versiones actualizadas de `APEX` y `APEX-DEV` al nuevo grupo de opciones. Asegúrese de incluir todas las opciones que utiliza la 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). 
+ Al actualizar la instancia de base de datos, especifique el nuevo grupo de opciones para la instancia de base de datos actualizada. 

Después de actualizar la versión de Oracle APEX, el esquema de Oracle APEX de la versión anterior puede seguir en la base de datos. Si ya no lo necesita, puede eliminar el antiguo esquema de Oracle APEX de la base de datos después de actualizar la versión. 

Si actualiza la versión de Oracle APEX, pero los servicios RESTful no se habían configurado en la versión anterior de Oracle APEX, le recomendamos que configure los servicios RESTful. Para obtener más información, consulte [Configuración de los servicios RESTful para Oracle APEX](Appendix.Oracle.Options.APEX.settingUp.md#Appendix.Oracle.Options.APEX.ConfigureRESTful).

En algunos casos, cuando piensa realizar una actualización a la versión principal de la instancia de base de datos, puede que detecte que está usando una versión de OracleAPEX que no es compatible con la versión de base de datos de destino. En esos casos, puede actualizar la versión de Oracle APEX antes de actualizar la instancia de base de datos. Si actualiza Oracle APEX primero, puede reducirse el tiempo necesario para actualizar la instancia de base de datos. 

**nota**  
Tras actualizar Oracle APEX, instale y configure un oyente para usarlo con la versión actualizada. Para obtener instrucciones, consulte [Configuración del agente de escucha de Oracle APEX](Appendix.Oracle.Options.APEX.settingUp.md#Appendix.Oracle.Options.APEX.Listener).

## Eliminación de las opciones de APEX y APEX-DEV
<a name="Appendix.Oracle.Options.APEX.Remove"></a>

Puede eliminar las opciones de `APEX` y `APEX-DEV` de una instancia de base de datos. Para eliminar estas opciones de la instancia de base de datos, realice una de las siguientes operaciones: 
+ Para eliminar las opciones de `APEX` y `APEX-DEV` de varias instancias de bases de datos, elimine las opciones del grupo de opciones al que pertenecen. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Cuando elimine las opciones de un grupo de opciones que esté asociado a varias instancias de base de datos, se producirá una breve interrupción mientras se reinician las instancias de base de datos. 

  Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Para eliminar las opciones de `APEX` y `APEX-DEV` de una sola instancia de base de datos, modifique la instancia de base de datos y especifique otro grupo de opciones diferente que no incluya estas opciones. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Cuando se eliminan las opciones, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. 

  Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

Al eliminar las opciones de `APEX` y `APEX-DEV` de una instancia de base de datos, el esquema de APEX se elimina de la base de datos. 

# Integración de Amazon EFS
<a name="oracle-efs-integration"></a>

Amazon Elastic File System (Amazon EFS) proporciona un almacenamiento de archivos totalmente elástico y sin servidor para que pueda compartir datos de archivos sin aprovisionar ni administrar la capacidad de almacenamiento ni el rendimiento. Con Amazon EFS, puede crear un sistema de archivos y, a continuación, montarlo en su VPC mediante el protocolo de las versiones 4.0 y 4.1 (NFSv4) de NFS. A continuación, puede utilizar el sistema de archivos EFS como cualquier otro sistema de archivos compatible con POSIX. Para obtener información general, consulte la sección sobre [¿qué es Amazon Elastic File System?](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) y la publicación del blog de AWS sobre [integrar Amazon RDS para Oracle con Amazon EFS](https://aws.amazon.com//blogs/database/integrate-amazon-rds-for-oracle-with-amazon-efs/).

**Topics**
+ [

## Descripción general de la integración de Amazon EFS
](#oracle-efs-integration.overview)
+ [

# Configuración de permisos de red para la integración de RDS para Oracle con Amazon EFS
](oracle-efs-integration.network.md)
+ [

# Configuración de permisos de IAM para la integración de RDS para Oracle con Amazon EFS
](oracle-efs-integration.iam.md)
+ [

# Adición de la opción EFS\$1INTEGRATION
](oracle-efs-integration.adding.md)
+ [

# Configuración de permisos del sistema de archivos Amazon EFS
](oracle-efs-integration.file-system.md)
+ [

# Transferencia de archivos entre RDS para Oracle y un sistema de archivos Amazon EFS
](oracle-efs-integration.transferring.md)
+ [

# Eliminación de la opción EFS\$1INTEGRATION
](oracle-efs-integration.removing.md)
+ [

# Solución de problemas de la integración de Amazon EFS
](oracle-efs-integration.troubleshooting.md)

## Descripción general de la integración de Amazon EFS
<a name="oracle-efs-integration.overview"></a>

Amazon EFS le permite transferir archivos entre su instancia de base de datos de RDS para Oracle y un archivo de sistemas EFS. Por ejemplo, puede usar EFS para admitir los siguientes casos de uso:
+ Compartir un sistema de archivos entre aplicaciones y varios servidores de bases de datos.
+ Crear un directorio compartido para los archivos relacionados con la migración, incluidos los archivos de datos transportables del espacio de tablas. Para obtener más información, consulte [Migración mediante espacios de tabla transportables de Oracle](oracle-migrating-tts.md).
+ Almacenar y compartir archivos de registro redo archivados sin asignar espacio de almacenamiento adicional en el servidor.
+ Utilice las utilidades de Oracle Database, por ejemplo, `UTL_FILE`, para leer y escribir archivos.

### Ventajas de la integración con Amazon EFS
<a name="oracle-efs-integration.overview.advantages"></a>

Al elegir un sistema de archivos EFS en lugar de soluciones de transferencia de datos alternativas, obtiene las siguientes ventajas:
+ Puede transferir archivos de Oracle Data Pump entre Amazon EFS y su instancia de base de datos de RDS para Oracle. No necesita copiar estos archivos localmente porque Data Pump los importa directamente desde el sistema de archivos EFS. Para obtener más información, consulte [Importación de datos a Oracle en Amazon RDS](Oracle.Procedural.Importing.md).
+ La migración de datos es más rápida que usar un enlace a una base de datos.
+ Evita asignar espacio de almacenamiento en su instancia de base de datos de RDS para Oracle para retener los archivos.
+ Un sistema de archivos EFS puede escalar automáticamente el almacenamiento sin necesidad de aprovisionarlo.
+ La integración de Amazon EFS no tiene tarifas ni costos de configuración mínimos. Solo paga por lo que utiliza.
+ La integración de Amazon EFS admite dos formas de cifrado: cifrado de datos en tránsito y cifrado en reposo. El cifrado de datos en tránsito se habilita de forma predeterminada mediante TLS versión 1.2. Puede habilitar el cifrado de datos en reposo al crear un sistema de archivos de Amazon EFS. Para obtener más información, consulte [Encrypting data at rest](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html) (Cifrado de datos en reposo) en la *Guía del usuario de Amazon Elastic File System*.

### Requisitos para la integración de Amazon EFS
<a name="oracle-efs-integration.overview.requirements"></a>

Asegúrese de cumplir los siguientes requisitos:
+ La base de datos debe ejecutar la versión 19.0.0.0.ru-2022-07.rur-2022-07.r1 o una versión posterior.
+ La instancia de base de datos y el sistema de archivos EFS deben estar en la misma Región de AWS, la misma VPC y la misma Cuenta de AWS. RDS para Oracle no admite el acceso entre cuentas y entre regiones para EFS.
+ En la VPC deben estar habilitadas las opciones **Resolución de DNS** y **Nombres de host de DNS**. Para obtener más información, consulte [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) (Atributos de DNS en su VPC) en la *Guía del usuario de Amazon Virtual Private Cloud*.
+ Si utiliza un nombre de DNS en el comando `mount`, asegúrese de que la VPC esté configurada para utilizar el servidor DNS proporcionado por Amazon. No se admiten servidores DNS personalizados.
+ Debe utilizar soluciones que no son de RDS para hacer copias de seguridad del sistema de archivos EFS. RDS para Oracle no admite copias de seguridad automatizadas ni instantáneas manuales de bases de datos de un sistema de archivos EFS. Para obtener más información, consulte [Backing up your Amazon EFS file systems](https://docs.aws.amazon.com/efs/latest/ug/efs-backup-solutions.html) (Copias de seguridad de los sistemas de archivos Amazon EFS).

# Configuración de permisos de red para la integración de RDS para Oracle con Amazon EFS
<a name="oracle-efs-integration.network"></a>

Para que RDS para Oracle se integre con Amazon EFS, asegúrese de que la instancia de base de datos tenga acceso de red a un sistema de archivos EFS. Para obtener más información, consulte [Control del acceso a la red a los sistemas de archivos Amazon EFS para clientes NFS](https://docs.aws.amazon.com/efs/latest/ug/NFS-access-control-efs.html) en la *Guía del usuario de Amazon Elastic File System*.

**Topics**
+ [

## Control del acceso a la red con grupos de seguridad
](#oracle-efs-integration.network.inst-access)
+ [

## Control del acceso a la red con políticas de sistema de archivos
](#oracle-efs-integration.network.file-system-policy)

## Control del acceso a la red con grupos de seguridad
<a name="oracle-efs-integration.network.inst-access"></a>

Para controlar el acceso a la instancia de base de datos de los sistemas de archivos EFS puede usar mecanismos de seguridad de la capa de red, como los grupos de seguridad de VPC. Para permitir el acceso a un sistema de archivos EFS para la instancia de base de datos, asegúrese de que el sistema de archivos EFS cumpla los siguientes requisitos:
+ Debe existir un destino de montaje EFS en cada zona de disponibilidad que utilice una instancia de base de datos de RDS para Oracle.

  Un *destino de montaje de EFS* proporciona una dirección IP para un punto de conexión de NFSv4 en el que puede montar un sistema de archivos de EFS. Debe montar el sistema de archivos con su nombre de DNS, que se resolverá en la dirección IP del destino de montaje de EFS en la misma zona de disponibilidad que su instancia EC2. 

  Puede configurar instancias de base de datos en diferentes AZ para que utilicen el mismo sistema de archivos EFS. Para multi-AZ, necesita un punto de montaje para cada AZ de su implementación. Puede que tenga que trasladar una instancia de base de datos a una AZ diferente. Por estos motivos, recomendamos que cree un punto de montaje EFS en cada AZ de su VPC. De forma predeterminada, al crear un nuevo sistema de archivos EFS mediante la consola, RDS crea destinos de montaje para todas las AZ.
+ Se debe adjuntar un grupo de seguridad al destino de montaje.
+ El grupo de seguridad tiene una regla de entrada que permite la subred de red o el grupo de seguridad de la instancia de base de datos de RDS para Oracle en TCP/2049 (tipo NFS).

Para obtener más información, consulte [Creación de sistemas de archivos de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html#configure-efs-network-access) y [Creación y administración de objetivos de montaje y grupos de seguridad](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) en la *Guía del usuario de Amazon Elastic File System*.

## Control del acceso a la red con políticas de sistema de archivos
<a name="oracle-efs-integration.network.file-system-policy"></a>

La integración de Amazon EFS con RDS para Oracle funciona con la política del sistema de archivos EFS predeterminada (vacía). La política predeterminada no usa IAM para autenticarse. En su lugar, otorga acceso total a cualquier cliente anónimo que pueda conectarse al sistema de archivos mediante un destino de montaje. La política predeterminada se aplica siempre que no se aplique una política de sistema de archivos configurada por el usuario, incluso al crear el sistema de archivos. Para obtener más información, consulte [Política del sistema de archivos EFS por defecto](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy) en la *Guía del usuario de Amazon Elastic File System*.

Para reforzar el acceso a su sistema de archivos EFS para todos los clientes, incluido RDS para Oracle, puede configurar los permisos de IAM. En este enfoque, debe crear una política de sistema de archivos. Para obtener más información, consulte [Creación de políticas de sistemas de archivos](https://docs.aws.amazon.com/efs/latest/ug/create-file-system-policy.html) en la *Guía del usuario de Amazon Elastic File System*.

# Configuración de permisos de IAM para la integración de RDS para Oracle con Amazon EFS
<a name="oracle-efs-integration.iam"></a>

De forma predeterminada, la característica de integración de Amazon EFS no utiliza un rol de IAM: la configuración de la opción `USE_IAM_ROLE` es `FALSE`. Para integrar RDS para Oracle con Amazon EFS y un rol de IAM, su instancia de base de datos debe tener permisos de IAM para acceder a un sistema de archivos de Amazon EFS.

**Topics**
+ [

## Paso 1: crear un rol de IAM para la instancia de base de datos y asociarle la política
](#oracle-efs-integration.iam.role)
+ [

## Paso 2: crear una política de sistema de archivos para su sistema de archivos Amazon EFS
](#oracle-efs-integration.iam.policy)
+ [

## Paso 3: asociar el rol de IAM a la instancia de base de datos de RDS para Oracle
](#oracle-efs-integration.iam.instance)

## Paso 1: crear un rol de IAM para la instancia de base de datos y asociarle la política
<a name="oracle-efs-integration.iam.role"></a>

En este paso, creará un rol para su instancia de base de datos de RDS para Oracle para permitir que Amazon RDS acceda a su sistema de archivos EFS.

### Consola
<a name="oracle-efs-integration.iam.role.console"></a>

**Para crear un rol de IAM que permita a Amazon RDS acceder a un sistema de archivos EFS**

1. Abra la [Management Console de IAM](https://console.aws.amazon.com/iam/home?#home).

1. Seleccione **Roles** en el panel de navegación.

1. Elija **Create role (Crear rol)**.

1. Para obtener **el servicio de AWS**, elija **RDS**.

1. En **Select your use case (Seleccionar su caso de uso)**, elija **RDS: Add Role to Database (RDS: Añadir rol a base de datos)**.

1. Elija **Siguiente**.

1. No añada ninguna política de permisos. Elija **Siguiente**.

1. En **Role name (Nombre de rol)**, escriba un nombre para el rol de IAM, por ejemplo, `rds-efs-integration-role`. También puede añadir una descripción opcional en **Description (Descripción)**.

1. Elija **Creación de rol**.

### AWS CLI
<a name="integration.preparing.role.CLI"></a>

Para limitar los permisos del servicio a un recurso específico, le recomendamos que utilice las claves de contexto de condición globales [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las relaciones de confianza basadas en recursos. Esta es la forma más eficaz de protegerse contra el [problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

Puede utilizar claves de contexto de condición globales y hacer que el valor de `aws:SourceArn` contenga el ID de cuenta. En estos casos, el valor de `aws:SourceAccount` y la cuenta del valor de `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utilizan en la misma instrucción.
+ Use `aws:SourceArn` si quiere acceso entre servicios para un único recurso.
+ Use `aws:SourceAccount` si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

En la relación de confianza, asegúrese de usar la clave de contexto de la condición global `aws:SourceArn` con el nombre de recurso de Amazon (ARN) completo de los recursos que acceden al rol.

El siguiente comando AWS CLI crea el rol nombrado `rds-efs-integration-role` para este propósito.

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

```
aws iam create-role \
   --role-name rds-efs-integration-role \
   --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
            "Service": "rds.amazonaws.com"
          },
         "Action": "sts:AssumeRole",
         "Condition": {
             "StringEquals": {
                 "aws:SourceAccount": my_account_ID,
                 "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
             }
         }
       }
     ]
   }'
```
Para Windows:  

```
aws iam create-role ^
   --role-name rds-efs-integration-role ^
   --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
            "Service": "rds.amazonaws.com"
          },
         "Action": "sts:AssumeRole",
         "Condition": {
             "StringEquals": {
                 "aws:SourceAccount": my_account_ID,
                 "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
             }
         }
       }
     ]
   }'
```

Para obtener más información, vea [Crear un rol para delegar permisos a un usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) en *Guía del usuario de IAM. *

## Paso 2: crear una política de sistema de archivos para su sistema de archivos Amazon EFS
<a name="oracle-efs-integration.iam.policy"></a>

En este paso, creará una política de sistema de archivos para su sistema de archivos EFS.

**Para crear o editar una política del sistema de archivos EFS**

1. Abra la [consola de administración de EFS](https://console.aws.amazon.com/efs/home?#home).

1. Elija **File Systems (Sistemas de archivos)**.

1. En la página **File systems** (Sistemas de archivos) elija el sistema de archivos que quiere editar o para el que desea crear una política de sistema de archivos. Aparece la página de detalles de ese sistema de archivos.

1. Seleccione la pestaña **File system policy** (Política del sistema de archivos).

   Si la política está vacía, significa que se está utilizando la política del sistema de archivos EFS predeterminada. Para obtener más información, consulte [Política del sistema de archivos EFS por defecto](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy ) en la *Guía del usuario de Amazon Elastic File System*.

1. Elija **Edit (Edición de)**. Aparece la página **File system policy (Política del sistema de archivos)**.

1. En **Policy editor** (Editor de políticas), introduzca una política como la siguiente y, a continuación, seleccione **Save** (Guardar).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "ExamplePolicy01",
       "Statement": [
           {
               "Sid": "ExampleStatement01",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/rds-efs-integration-role"
               },
               "Action": [
                   "elasticfilesystem:ClientMount",
                   "elasticfilesystem:ClientWrite",
                   "elasticfilesystem:ClientRootAccess"
               ],
               "Resource": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-1234567890abcdef0"
           }
       ]
   }
   ```

------

## Paso 3: asociar el rol de IAM a la instancia de base de datos de RDS para Oracle
<a name="oracle-efs-integration.iam.instance"></a>

En este paso, asociará el rol de IAM a su instancia de base de datos. Tenga en cuenta los siguientes requisitos:
+ Debe tener acceso a un rol de IAM con la política de permisos de Amazon EFS requerida adjunta. 
+ Solo puede asociar un rol de IAM a su instancia de base de datos de RDS para Oracle cada vez.
+ El estado de la instancia debe ser **Available** (Disponible).

Para obtener más información, consulte [Identity and access management for Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/auth-and-access-control.html) (Administración de identidades y accesos para Amazon EFS) en la *Guía del usuario de Amazon Elastic File System*.

### Consola
<a name="oracle-efs-integration.iam.instance.console"></a>

**Para asociar su rol de IAM a su instancia de base de datos de RDS para Oracle**

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. Seleccione **Bases de datos**.

1. Si la instancia de base de datos no está disponible, elija **Actions (Acciones)** y, a continuación, **Start (Inicio)**. Cuando el estado de la instancia muestre **Started (Iniciada)**, vaya al paso siguiente.

1. Seleccione el nombre de la instancia de base de datos Oracle para mostrar sus detalles.

1. En la pestaña **Connectivity & Security** (Conectividad y seguridad), desplácese hacia abajo hasta la sección **Manage IAM roles** (Administrar roles de IAM) de la parte inferior de la página.

1. Elija el rol que se va a añadir en la sección **Add IAM roles to this instance** (Agregar roles de IAM a esta instancia).

1. En **Feature** (Característica), elija **EFS\$1INTEGRATION**.

1. Seleccione **Add role (Añadir rol)**.

### AWS CLI
<a name="oracle-efs-integration.iam.instance.CLI"></a>

El siguiente comando de la AWS CLI añade el rol a una instancia de base de datos de Oracle denominada `mydbinstance`.

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

```
aws rds add-role-to-db-instance \
   --db-instance-identifier mydbinstance \
   --feature-name EFS_INTEGRATION \
   --role-arn your-role-arn
```
Para Windows:  

```
aws rds add-role-to-db-instance ^
   --db-instance-identifier mydbinstance ^
   --feature-name EFS_INTEGRATION ^
   --role-arn your-role-arn
```

Sustituya `your-role-arn` por el ARN del rol anotado en el paso anterior. `EFS_INTEGRATION` debe especificarse para la opción `--feature-name`.

# Adición de la opción EFS\$1INTEGRATION
<a name="oracle-efs-integration.adding"></a>

Para integrar Amazon RDS para Oracle con Amazon EFS, su instancia de base de datos debe estar asociada a un grupo de opciones que incluya la opción `EFS_INTEGRATION`. 

Varias instancias de base de datos de Oracle que pertenecen al mismo grupo de opciones comparten el mismo sistema de archivos EFS. Las distintas instancias de base de datos pueden acceder a los mismos datos, pero el acceso se puede dividir mediante diferentes directorios de Oracle. Para obtener más información, consulte [Transferencia de archivos entre RDS para Oracle y un sistema de archivos Amazon EFS](oracle-efs-integration.transferring.md).

## Consola
<a name="oracle-efs-integration.adding.console"></a>

**Para configurar un grupo de opciones para la integración con Amazon EFS**

1. Cree un nuevo grupo de opciones o identifique uno ya existente al que pueda añadir la opción `EFS_INTEGRATION`.

   Para obtener información acerca de cómo crear un grupo de opciones, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Agregue la opción `EFS_INTEGRATION` al grupo de opciones. Debe especificar el ID del sistema de archivos `EFS_ID` y configurar el indicador `USE_IAM_ROLE`.

   Para obtener más información, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Asocie el grupo de opciones a su instancia de base de datos de cualquiera de las siguientes maneras:
   + Cree una nueva instancia de base de datos de Oracle y asóciele el grupo de opciones. Para obtener información acerca de la creación de una instancia de base de datos, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).
   + Modifique la instancia de base de datos de Oracle para asociarle el grupo de opciones. Para obtener información acerca de cómo modificar una instancia de base de datos de Oracle, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="oracle-efs-integration.adding.cli"></a>

**Para configurar un grupo de opciones para la integración EFS**

1. Cree un nuevo grupo de opciones o identifique uno ya existente al que pueda añadir la opción `EFS_INTEGRATION`.

   Para obtener información acerca de cómo crear un grupo de opciones, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Añada la opción `EFS_INTEGRATION` al grupo de opciones.

   Por ejemplo, el siguiente comando de la AWS CLI añade la opción `EFS_INTEGRATION` a un grupo de opciones denominado **myoptiongroup**.  
**Example**  

   Para Linux, macOS o:Unix

   ```
   aws rds add-option-to-option-group \
      --option-group-name myoptiongroup \
      --options "OptionName=EFS_INTEGRATION,OptionSettings=\ 
      [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"
   ```

   En:Windows

   ```
   aws rds add-option-to-option-group ^
      --option-group-name myoptiongroup ^
      --options "OptionName=EFS_INTEGRATION,OptionSettings=^
      [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"
   ```

1. Asocie el grupo de opciones a su instancia de base de datos de cualquiera de las siguientes maneras:
   + Cree una nueva instancia de base de datos de Oracle y asóciele el grupo de opciones. Para obtener información acerca de la creación de una instancia de base de datos, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).
   + Modifique la instancia de base de datos de Oracle para asociarle el grupo de opciones. Para obtener información acerca de cómo modificar una instancia de base de datos de Oracle, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

# Configuración de permisos del sistema de archivos Amazon EFS
<a name="oracle-efs-integration.file-system"></a>

De forma predeterminada, solo el usuario raíz (UID `0`) dispone de permisos de lectura, escritura y ejecución para un sistema de archivos EFS creado recientemente. Para que otros usuarios modifiquen el sistema de archivos, el usuario raíz debe concederles acceso de forma explícita. El usuario de la instancia de base de datos de RDS para Oracle tiene la categoría `others`. Para obtener más información, consulte [Trabajar con usuarios, grupos y permisos en el nivel del sistema de archivos de red (NFS)](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html) en la *Guía del usuario de Amazon Elastic File System*.

Para permitir que su instancia de base de datos de RDS para Oracle pueda leer y escribir archivos en un sistema de archivos EFS, haga lo siguiente:
+ Monte un sistema de archivos EFS localmente en su instancia de Amazon EC2 en las instalaciones.
+ Configure permisos detallados.

Por ejemplo, para conceder a `other` usuarios permisos para escribir en la raíz del sistema de archivos EFS, ejecute `chmod 777` en este directorio. Para obtener más información, consulte [Ejemplos de casos de uso y permisos del sistema de archivos de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html#accessing-fs-nfs-permissions-ex-scenarios) en la *Guía del usuario de Amazon Elastic File System*. 

# Transferencia de archivos entre RDS para Oracle y un sistema de archivos Amazon EFS
<a name="oracle-efs-integration.transferring"></a>

Para transferir archivos entre una instancia de RDS para Oracle y un sistema de archivos Amazon EFS, cree al menos un directorio de Oracle y configure los permisos del sistema de archivos EFS para controlar el acceso a la instancia de base de datos.

**Topics**
+ [

## Creación de un directorio de Oracle
](#oracle-efs-integration.transferring.od)
+ [

## Transferencia de datos hacia y desde un sistema de archivos EFS: ejemplos
](#oracle-efs-integration.transferring.upload)

## Creación de un directorio de Oracle
<a name="oracle-efs-integration.transferring.od"></a>

Utilice el procedimiento `rdsadmin.rdsadmin_util.create_directory_efs` para crear un directorio de Oracle. El procedimiento tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  Sí  |  Nombre del directorio de Oracle.   | 
|  `p_path_on_efs`  |  VARCHAR2  |  –  |  Sí  |  Ruta al sistema de archivos EFS. El prefijo del nombre de la ruta usa el patrón `/rdsefs-fsid/`, donde *fsid* es un marcador de posición para el ID del sistema de archivos EFS. Por ejemplo, si su sistema de archivos EFS se denomina `fs-1234567890abcdef0` y usted crea un subdirectorio en ese sistema de archivos denominado `mydir`, puede especificar el siguiente valor: <pre>/rdsefs-fs-1234567890abcdef0/mydir</pre>  | 

Suponga que crea un subdirectorio denominado `/datapump1` en el sistema de archivos EFS `fs-1234567890abcdef0`. El siguiente ejemplo crea un directorio de Oracle `DATA_PUMP_DIR_EFS` que apunta al directorio `/datapump1` del sistema de archivos EFS. El valor de la ruta del sistema de archivos para el parámetro `p_path_on_efs` lleva el prefijo de cadena`/rdsefs-`.

```
BEGIN
  rdsadmin.rdsadmin_util.create_directory_efs(
    p_directory_name => 'DATA_PUMP_DIR_EFS', 
    p_path_on_efs    => '/rdsefs-fs-1234567890abcdef0/datapump1');
END;
/
```

## Transferencia de datos hacia y desde un sistema de archivos EFS: ejemplos
<a name="oracle-efs-integration.transferring.upload"></a>

El siguiente ejemplo utiliza Oracle Data Pump para exportar la tabla denominada `MY_TABLE` a un archivo `datapump.dmp`. Este archivo reside en un sistema de archivos EFS.

```
DECLARE
  v_hdnl NUMBER;
BEGIN
  v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'EXPORT', job_mode => 'TABLE', job_name=>null);
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump.dmp',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_dump_file);
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump-exp.log',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_log_file);
  DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')');
  DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

El siguiente ejemplo utiliza Oracle Data Pump para importar la tabla denominada `MY_TABLE` desde el archivo `datapump.dmp`. Este archivo reside en un sistema de archivos EFS.

```
DECLARE
  v_hdnl NUMBER;
BEGIN
  v_hdnl := DBMS_DATAPUMP.OPEN(
    operation => 'IMPORT',
    job_mode  => 'TABLE',
    job_name  => null);
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump.dmp',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_dump_file );
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump-imp.log',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_log_file);
  DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')');
  DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

Para obtener más información, consulte [Importación de datos a Oracle en Amazon RDS](Oracle.Procedural.Importing.md).

# Eliminación de la opción EFS\$1INTEGRATION
<a name="oracle-efs-integration.removing"></a>

Los pasos para eliminar la opción `EFS_INTEGRATION` dependen de si se va a eliminar la opción de varias instancias de base de datos o de una sola instancia.


| Número de instancias de base de datos | Acción | Información relacionada | 
| --- | --- | --- | 
| Múltiple | Elimine la opción EFS\$1INTEGRATION del grupo de opciones al que pertenecen las instancias de base de datos. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. | [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption) | 
| Única | Modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción EFS\$1INTEGRATION. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. | [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md) | 

Tras eliminar la opción `EFS_INTEGRATION`, también puede eliminar el sistema de archivos EFS que estaba conectado a las instancias de base de datos.

# Solución de problemas de la integración de Amazon EFS
<a name="oracle-efs-integration.troubleshooting"></a>

Su instancia de base de datos de RDS para Oracle supervisa la conectividad a un sistema de archivos Amazon EFS. Cuando la supervisión detecta un problema, puede intentar corregirlo y publicar un evento en la consola de RDS. Para obtener más información consulte [Consulta de eventos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ListEvents.html).

Utilice la información de esta sección como ayuda para diagnosticar y solucionar problemas comunes cuando trabaje con la integración de Amazon EFS.


| Notificación | Descripción | Action | 
| --- | --- | --- | 
|  `The EFS for RDS Oracle instance instance_name isn't available on the primary host. NFS port 2049 of your EFS isn't reachable.`  |  La instancia de base de datos no se puede comunicar con el sistema de archivos EFS.  |  Asegúrese de lo siguiente: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `The EFS isn't reachable.`  |  Se ha producido un error al instalar la opción `EFS_INTEGRATION`.  |  Asegúrese de lo siguiente: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `The associated role with your DB instance wasn't found.`  |  Se ha producido un error al instalar la opción `EFS_INTEGRATION`.  |  Asegúrese de haber asociado su rol de IAM a su instancia de base de datos de RDS para Oracle.  | 
|  `The associated role with your DB instance wasn't found.`  |  Se ha producido un error al instalar la opción `EFS_INTEGRATION`. RDS para Oracle se restauró a partir de una instantánea de base de datos con la opción `USE_IAM_ROLE` configurada en `TRUE`.  |  Asegúrese de haber asociado su rol de IAM a su instancia de base de datos de RDS para Oracle.  | 
|  `The associated role with your DB instance wasn't found.`  |  Se ha producido un error al instalar la opción `EFS_INTEGRATION`. RDS para Oracle se creó a partir de una plantilla de CloudFormation integral con la opción `USE_IAM_ROLE` configurada en `TRUE`.  |  Como solución alternativa, realice los siguientes pasos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `PLS-00302: component 'CREATE_DIRECTORY_EFS' must be declared`  |  Este error puede producirse cuando utilice una versión de RDS para Oracle que no admite Amazon EFS.  |  Asegúrese de utilizar la instancia de base de datos de RDS para Oracle versión 19.0.0.0.ru-2022-07.rur-2022-07.r1 o posterior.  | 
|  `Read access of your EFS is denied. Check your file system policy.`  |  La instancia de base de datos no puede leer el sistema de archivos EFS.  |  Asegúrese de que su sistema de archivos EFS permita el acceso de lectura a través del rol de IAM o en el nivel del sistema de archivos EFS.   | 
|  N/A  |  La instancia de base de datos no puede escribir el sistema de archivos EFS.  |  Siga estos pasos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 

# Máquina virtual Oracle Java
<a name="oracle-options-java"></a>

Amazon RDS admite Oracle Java Virtual Machine (JVM) mediante el uso de la opción `JVM`. Mediante Oracle Java se suministran un esquema SQL y funciones que facilitan el uso de las características de Oracle Java en una base de datos Oracle. Para obtener más información, consulte [ Introduction to Java in Oracle Database](https://docs.oracle.com/database/121/JJDEV/chone.htm) en la documentación de Oracle. Puede utilizar Oracle JVM con todas las versiones de Oracle Database 21c (21.0.0) y Oracle Database 19c (19.0.0).

## Consideraciones para Oracle JVM
<a name="oracle-options-java.considerations"></a>

La implementación de Java en Amazon RDS dispone de un conjunto limitado de permisos. Se concede al usuario maestro el rol `RDS_JAVA_ADMIN`, que proporciona un subconjunto de privilegios gracias al rol `JAVA_ADMIN`. Para enumerar los privilegios concedidos al rol `RDS_JAVA_ADMIN`, ejecute la siguiente consulta en su instancia de base de datos:

```
SELECT * FROM dba_java_policy 
   WHERE grantee IN ('RDS_JAVA_ADMIN', 'PUBLIC') 
   AND enabled = 'ENABLED' 
   ORDER BY type_name, name, grantee;
```

## Requisitos previos para Oracle JVM
<a name="oracle-options-java.prerequisites"></a>

A continuación se indican los requisitos previos para utilizar Oracle Java:
+ Su instancia de base de datos debe ser de una clase suficientemente grande. Oracle Java no es compatible con la clase de instancia de base de datos db.t3.small. Para obtener más información, consulte [Clases de instancia de base de datos de ](Concepts.DBInstanceClass.md).
+ Su instancia de base de datos debe tener **Auto Minor Version Upgrade** habilitada. Esta opción permite que la instancia de base de datos reciba automáticamente las actualizaciones de la versión secundaria del motor de base de datos cuando estén disponibles. Amazon RDS utiliza esta opción para actualizar su instancia de base de datos a la PSU (Patch Set Update) de Oracle más reciente o actualización de la versión (RU). Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Prácticas recomendadas para Oracle JVM
<a name="oracle-options-java.best-practices"></a>

A continuación, se indican las prácticas recomendadas para utilizar Oracle Java: 
+ Para que la seguridad sea máxima, use la opción `JVM` con Capa de conexión segura (SSL). Para obtener más información, consulte [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md). 
+ Configure su instancia de base de datos para restringir el acceso a la red. Para obtener más información, consulte [Escenarios de acceso a una instancia de base de datos en una VPC](USER_VPC.Scenarios.md) y [Uso de una instancia de base de datos en una VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 
+ Actualice la configuración de los puntos de enlace HTTPS para admitir TLSv1.2 si cumple las siguientes condiciones:
  + Utilice la máquina virtual de Oracle Java (JVM) para conectar un punto de enlace HTTPS a través de los protocolos TLSv1 o TLSv1.1.
  + El punto de enlace no admite el protocolo TLSv1.2.
  + No ha aplicado la actualización de la versión de abril de 2021 a Oracle Database.

  Al actualizar la configuración del punto de enlace, se asegura de que la conectividad de la JVM con el punto de enlace HTTPS siga en funcionamiento. Para obtener más información sobre los cambios de TLS en Oracle JRE y JDK, consulte [Plan de desarrollo criptográfico de Oracle JRE y JDK](https://java.com/en/jre-jdk-cryptoroadmap.html).

## Adición de la opción Oracle JVM
<a name="oracle-options-java.add"></a>

A continuación se muestra el proceso general para añadir la opción `JVM` a una instancia de base de datos: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

Se produce una breve interrupción mientras se añade la opción `JVM`. Después de añadir la opción , no es necesario reiniciar la instancia de base de datos. En cuanto esté activo el grupo de opciones, Oracle Java estará disponible. 

**nota**  
Durante esta interrupción, las funciones de verificación de contraseña se deshabilitan brevemente. También puede esperar ver eventos relacionados con las funciones de verificación de contraseña durante la interrupción. Las funciones de verificación de contraseña se vuelven a habilitar antes de que la instancia de base de datos de Oracle esté disponible.

**Para añadir la opción JVM a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 
   + Para **Engine (Motor)**, elija el motor de base de datos utilizado por la instancia de base de datos (**oracle-ee**, **oracle-se**, **oracle-se1** o bien **oracle-se2**). 
   + En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada la opción **JVM** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, aplique el grupo de opciones al lanzar la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

1. Concesión de permisos necesarios a los usuarios.

   El usuario maestro de Amazon RDS tiene los permisos para usar la opción `JVM` de forma predeterminada. Si otros usuarios necesitan estos permisos, conéctese a la instancia de base de datos como usuario maestro en un cliente SQL y conceda los permisos a los usuarios.

   En el siguiente ejemplo se conceden permisos para usar la opción `JVM` al usuario `test_proc`.

   ```
   create user test_proc identified by password;
   CALL dbms_java.grant_permission('TEST_PROC', 'oracle.aurora.security.JServerPermission', 'LoadClassInPackage.*', '');
   ```
**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

   Una vez que se conceden los permisos al usuario, la siguiente consulta debería devolver el resultado.

   ```
   select * from dba_java_policy where grantee='TEST_PROC';
   ```
**nota**  
El nombre de usuario de Oracle distingue entre mayúsculas y minúsculas; normalmente todos los caracteres están en mayúsculas.

## Eliminación de la opción Oracle JVM
<a name="oracle-options-java.remove"></a>

Puede quitar la opción `JVM` de una instancia de base de datos. Se produce una breve interrupción mientras se quita la opción. Después de quitar la opción `JVM`, no es necesario reiniciar la instancia de base de datos. 

**aviso**  
 La eliminación de la opción `JVM` puede dar lugar a la pérdida de datos si la instancia de base de datos usa los tipos de datos habilitados como parte de la opción. Realice copias de seguridad de los datos antes de continuar. Para obtener más información, consulte [Copia de seguridad, restauración y exportación de datos](CHAP_CommonTasks.BackupRestore.md). 

Para quitar la opción `JVM` de una instancia de base de datos, realice una de las siguientes operaciones: 
+ Quite la opción `JVM` del grupo de opciones al que pertenece. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción `JVM`. Este cambio afecta a una única instancia de base de datos. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Enterprise Manager
<a name="Oracle.Options.OEM"></a>

Amazon RDS es compatible con Oracle Enterprise Manager (OEM). OEM es la línea de productos de Oracle para la administración integrada de tecnología de la información empresarial. 

Amazon RDS solo admite OEM en Oracle Database 19c (CDB o no CDB). En la tabla siguiente se describen las opciones de OEM admitidas.


****  

| Opción | ID de la opción | Versiones OEM compatibles | 
| --- | --- | --- | 
|  [OEM Database Express](Appendix.Oracle.Options.OEM_DBControl.md)  |  `OEM`  |  OEM Database Express 19c  | 
|  [OEM Management Agent](Oracle.Options.OEMAgent.md)  |  `OEM_AGENT`  |  OEM Cloud Control for 13c  | 

**nota**  
Puede utilizar OEM Database u OEM Management Agent, pero no ambos.

# Oracle Enterprise Manager Database Express
<a name="Appendix.Oracle.Options.OEM_DBControl"></a>

Amazon RDS es compatible con Oracle Enterprise Manager Database Express (EM Express) mediante la opción OEM. Amazon RDS admite EM Express para Oracle Database 19c tanto con la arquitectura de CDB como con una arquitectura que no sea de CDB.

EM Express es una herramienta web de administración de bases de datos que está incluida en su base de datos y que solo está disponible cuando está abierta. Es compatible con las funciones clave de administración del rendimiento y de administración básica de bases de datos. Para obtener más información, consulte [Introduction to Oracle Enterprise Manager Database Express](https://docs.oracle.com/en/database/oracle/oracle-database/19/admqs/getting-started-with-database-administration.html#GUID-BA75AD46-D22E-4914-A31E-C395CD6A2BBA) en la documentación de Oracle Database.

**nota**  
No se admite EM Express para la clase de instancia de base de datos db.t3.small. Para obtener más información sobre las clases de instancias de bases de datos, consulte [Clases de instancias de base de datos de RDS para Oracle](Oracle.Concepts.InstanceClasses.md).

## Configuración de la opción OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.Options"></a>

Amazon RDS admite los siguientes valores para las opciones de OEM. 


****  

| Ajuste de la opción | Valores válidos | Descripción | 
| --- | --- | --- | 
| **Puerto** | Un valor entero |  El puerto en la instancia de base de datos de RDS para Oracle que escucha para EM Express. El valor predeterminado es 5500.  | 
| **Grupos de seguridad de** | — |  Un grupo de seguridad que tiene acceso a **Port**.   | 

## Paso 1: añadir la opción OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.Add"></a>

El proceso general para añadir la opción OEM a una instancia de base de datos es el siguiente: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones con la instancia de base de datos.

Cuando se agrega la opción OEM, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. 

**Para añadir la opción OEM a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine**, elija la edición de Oracle que corresponda a la instancia de base de datos. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada la opción OEM al grupo de opciones y ajuste la configuración de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). Para obtener más información acerca de cada opción, consulte [Configuración de la opción OEM](#Appendix.Oracle.Options.OEM_DBControl.Options). 
**nota**  
Si agrega la opción OEM a un grupo de opciones existente que ya se ha adjuntado a una o varias instancias de base de datos, se producirá una breve interrupción mientras reinician todas las instancias de base de datos. 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente:
   + Si se trata de una instancia de base de datos nueva, aplique el grupo de opciones al lanzar la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Cuando se agrega la opción OEM, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

**nota**  
También puede utilizar la AWS CLI para agregar la opción OEM. Para ver ejemplos, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

## Paso 2 (solo CDB): desbloquear la cuenta de usuario de DBSNMP
<a name="Appendix.Oracle.Options.OEM_DBControl.DBSNMP"></a>

Si su instancia de base de datos utiliza la arquitectura de CDB, debe iniciar sesión en EM Express como `DBSNMP`. En una CDB, `DBSNMP` es un usuario común. De forma predeterminada, esta cuenta está bloqueada. Si la instancia de base de datos no utiliza la arquitectura de CDB, omita este paso.

**Desbloqueo de la cuenta de usuario de DBSNMP en una instancia de CDB**

1. En SQL\$1Plus u otra aplicación de Oracle SQL, inicie sesión como usuario maestro en su instancia de base de datos.

1. Ejecute el siguiente procedimiento almacenado para desbloquear la cuenta de `DBSNMP`:

   ```
   1. EXEC rdsadmin.rdsadmin_util.reset_oem_agent_password('new_password');
   ```

   Si recibe un error que indica que el procedimiento no existe, reinicie la instancia de CDB para instalarla automáticamente. Para obtener más información, consulte [Reinicio de una instancia de base de datos ](USER_RebootInstance.md).

## Paso 3: acceder a EM Express a través del navegador
<a name="Appendix.Oracle.Options.OEM_DBControl.Using"></a>

Cuando se accede a EM Express desde un navegador web, aparece una ventana de inicio de sesión que solicita un nombre de usuario y una contraseña.

**Acceso a EM Express a través del navegador**

1. Identifique el punto de conexión y el puerto de EM Express de su instancia de base de datos de Amazon RDS. Para obtener información acerca de cómo encontrar el punto de enlace de su instancia de base de datos de Amazon RDS, consulte [Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle](USER_Endpoint.md).

1. Introduzca una URL en la barra de localización del navegador con el siguiente formato. 

   ```
   https://endpoint.rds.amazonaws.com:port/em
   ```

   Por ejemplo, si el punto de conexión de la instancia de base de datos de Amazon RDS es `mydb.a1bcde234fgh.us-east-1.rds.amazonaws.com` y el puerto de EM Express es `1158`, use la siguiente URL para acceder a EM Express.

   ```
   1. https://mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com:1158/em
   ```

1. Cuando se le pida la información de inicio de sesión, lleve a cabo alguna de las siguientes acciones, dependiendo de la arquitectura de la base de datos:  
**La base de datos no es de CDB.**  
Escriba el nombre de usuario maestro y la contraseña maestra para la instancia de base de datos.  
**La base de datos es de CDB.**  
Introduzca `DBSNMP` como usuario y la contraseña de `DBSNMP`. Deje vacío el campo `Container`.

## Modificación de la configuración de OEM Database
<a name="Appendix.Oracle.Options.OEM_DBControl.ModifySettings"></a>

Después de activar OEM Database, puede modificar la configuración de grupos de seguridad de la opción. 

No se puede modificar el número de puerto de OEM después de asociar el grupo de opciones una instancia de base de datos. Para cambiar el número de puerto de OEM de una instancia de base de datos, haga lo siguiente: 

1. Cree un nuevo grupo de opciones.

1. Añada la opción OEM con el nuevo número de puerto al grupo de opciones. 

1. Elimine el grupo de opciones existente de la instancia de base de datos.

1. Añada el grupo de opciones nuevo a la instancia de base de datos.

Para obtener más información acerca de cómo modificar la configuración de las opciones, consulte [Modificación de una configuración de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption). Para obtener más información acerca de cada opción, consulte [Configuración de la opción OEM](#Appendix.Oracle.Options.OEM_DBControl.Options). 

## Ejecución de tareas OEM Database Express
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks"></a>

Puede utilizar los procedimientos de Amazon RDS para ejecutar determinadas tareas de OEM Database Express. Al ejecutar estos procedimientos, puede hacer las tareas que se enumeran a continuación.

**nota**  
Las tareas de OEM Database Express se ejecutan de forma asíncrona.

**Topics**
+ [

### Cambio del front-end del sitio web para OEM Database Express a Adobe Flash
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash)
+ [

### Cambio del front-end del sitio web para OEM Database Express a Oracle JET
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET)

### Cambio del front-end del sitio web para OEM Database Express a Adobe Flash
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash"></a>

**nota**  
Esta tarea solo está disponible para Oracle Database 19c no CDB.

A partir de Oracle Database 19c, Oracle ha dado de baja la antigua interfaz de usuario de OEM Database Express, que se basaba en Adobe Flash. En su lugar, OEM Database Express utiliza ahora una interfaz creada con Oracle JET. Si tiene dificultades con la nueva interfaz, puede volver a la interfaz basada en Flash obsoleta. Las dificultades que puede tener con la nueva interfaz incluyen quedarse atascado en una pantalla `Loading` después de iniciar sesión en OEM Database Express. También puede perder ciertas características que estaban presentes en la versión basada en Flash de OEM Database Express.

Para cambiar el front-end del sitio web de OEM Database Express a Adobe Flash, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash`. Este procedimiento es equivalente al comando `execemx emx` de SQL.

Las prácticas recomendadas de seguridad desalientan el uso de Adobe Flash. Aunque puede volver a OEM Database Express basado en Flash, se recomienda el uso de los sitios web de OEM Database Express basados en JET si es posible. Si vuelve a utilizar Adobe Flash y desea volver a Oracle JET, utilice el procedimiento `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Después de una actualización de la base de datos Oracle, una versión más reciente de Oracle JET podría resolver problemas relacionados con JET en OEM Database Express. Para obtener más información sobre cómo cambiar a Oracle JET, consulte [Cambio del front-end del sitio web para OEM Database Express a Oracle JET](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET).

**nota**  
La ejecución de esta tarea desde la instancia de base de datos de origen para una réplica de lectura también hace que la réplica de lectura cambie sus front-ends del sitio web de OEM Database Express a Adobe Flash.

La siguiente invocación del procedimiento crea una tarea para cambiar el sitio web de OEM Database Express a Adobe Flash y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash() as TASK_ID from DUAL;
```

Para ver el resultado, visualice el archivo de salida de la tarea.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Reemplace *`task-id`* con el ID de tarea devuelto por el procedimiento. Si necesita más información sobre el procedimiento `rdsadmin.rds_file_util.read_text_file` de Amazon RDS, consulte [Lectura de archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) 

También puede ver el contenido del archivo de salida de la tarea en la Consola de administración de AWS buscando las entradas de registro en las sección **Logs & events (Registros y eventos)** de la `task-id`.

### Cambio del front-end del sitio web para OEM Database Express a Oracle JET
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET"></a>

**nota**  
Esta tarea solo está disponible para Oracle Database 19c no CDB.

Para cambiar el front-end del sitio web de OEM Database Express a Oracle JET, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Este procedimiento es equivalente al comando `execemx omx` de SQL.

De forma predeterminada, los sitios web de OEM Database Express para instancias de base de datos Oracle que ejecutan 19c o versiones posteriores utilizan Oracle JET. Si ha utilizado el procedimiento `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash` para cambiar el front-end del sitio web de OEM Database Express a Adobe Flash, puede cambiar de nuevo a Oracle JET. Para hacer esto, utilice el procedimiento `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Para obtener más información sobre cómo cambiar a Adobe Flash, consulte [Cambio del front-end del sitio web para OEM Database Express a Adobe Flash](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash).

**nota**  
La ejecución de esta tarea desde la instancia de base de datos de origen para una réplica de lectura también hace que la réplica de lectura cambie sus front-ends del sitio web de OEM Database Express a Oracle JET.

La siguiente invocación del procedimiento crea una tarea para cambiar el sitio web de OEM Database Express a Oracle JET y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet() as TASK_ID from DUAL;
```

Para ver el resultado, visualice el archivo de salida de la tarea.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Reemplace *`task-id`* con el ID de tarea devuelto por el procedimiento. Si necesita más información sobre el procedimiento `rdsadmin.rds_file_util.read_text_file` de Amazon RDS, consulte [Lectura de archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) 

También puede ver el contenido del archivo de salida de la tarea en la Consola de administración de AWS buscando las entradas de registro en las sección **Logs & events (Registros y eventos)** de la `task-id`.

## Eliminación de la opción OEM Database
<a name="Appendix.Oracle.Options.OEM_DBControl.Remove"></a>

Puede eliminar la opción OEM de una instancia de base de datos. Cuando se elimina las opción OEM, se produce una breve interrupción mientras la instancia se reinicia automáticamente. Por lo tanto, después de eliminar la opción OEM, no es necesario reiniciar la instancia de base de datos.

Para eliminar la opción OEM de una instancia de base de datos, realice una de las siguientes operaciones:
+ Elimine la opción OEM del grupo de opciones al que pertenece. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción OEM. Este cambio afecta a una única instancia de base de datos. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Management Agent para Enterprise Manager Cloud Control
<a name="Oracle.Options.OEMAgent"></a>

Oracle Enterprise Manager (OEM) Management Agent es un componente de software que monitoriza destinos que se ejecutan en hosts y comunica esa información al nivel intermedio de Oracle Management Service (OMS). Amazon RDS es compatible con Management Agent mediante el uso de la opción `OEM_AGENT`. 

Para obtener más información, consulte [Overview of Oracle Enterprise Manager Cloud Control 12c](http://docs.oracle.com/cd/E24628_01/doc.121/e25353/overview.htm) y [Overview of Oracle Enterprise Manager Cloud Control 13c](http://docs.oracle.com/cd/E63000_01/EMCON/overview.htm#EMCON109) en la documentación de Oracle.

**Topics**
+ [

## Requisitos de Management Agent
](#Oracle.Options.OEMAgent.PreReqs)
+ [

## Requisitos previos de comunicación del host de OMS
](#Oracle.Options.OEMAgent.PreReqs.host)
+ [

## Limitaciones de Management Agent
](#Oracle.Options.OEMAgent.limitations)
+ [

## Configuración de opción de Management Agent
](#Oracle.Options.OEMAgent.Options)
+ [

## Habilitación de la opción del agente de gestión a la instancia de base de datos
](#Oracle.Options.OEMAgent.Enable)
+ [

## Eliminar la opción de Management Agent
](#Oracle.Options.OEMAgent.Remove)
+ [

## Realización de tareas de base de datos con Management Agent
](#Oracle.Options.OEMAgent.DBTasks)

## Requisitos de Management Agent
<a name="Oracle.Options.OEMAgent.PreReqs"></a>

A continuación, se indican los requisitos generales para utilizar Management Agent: 
+ Su instancia de base de datos debe ejecutar Oracle Database 19c (19.0.0.0). Puede utilizar la arquitectura de CDB o no CDB.
+ Debe utilizar un Oracle Management Service (OMS) configurado para conectarse a su instancia de base de datos. Tenga en cuenta los siguientes requisitos de OMS:
  + Las versiones 13.5.0.0.v2 y 13.5.0.0.v3 del agente de gestión requieren la versión 13.5.0.23 o 24.1 de OMS.
  + La versión 13.5.0.0.v1 del agente de gestión requiere la versión 13.5.0.0 o 24.1 de OMS.
  + Las versiones 13.4.0.9.v1 y 13.4.0.9.v2 del agente de gestiones requieren la versión 13.4.0.9 o posterior de OMS y el parche 32198287.
+ En la mayoría de los casos, debe configurar la VPC para permitir conexiones desde OMS a su instancia de base de datos. Si no está familiarizado con Amazon Virtual Private Cloud (Amazon VPC), le recomendamos que antes de seguir realice los pasos que aparecen en [Tutorial: Creación de una VPC para utilizarla con una instancia de base de datos (solo IPv4)](CHAP_Tutorials.WebServerDB.CreateVPC.md). 
+ Puede utilizar Management Agent con Oracle Enterprise Manager Cloud Control para 12c y 13c. Asegúrese de que dispone de suficiente espacio de almacenamiento para su versión de OEM:
  + Al menos 8,5 GiB para OEM 13c versión 5
  + Al menos 8,5 GiB para OEM 13c versión 4
  + Al menos 8,5 GiB para OEM 13c versión 3
  + Al menos 5,5 GiB para OEM 13c versión 2
  + Al menos 4,5 GiB para OEM 13c versión 1
  + Al menos 2,5 GiB para OEM 12c
+ Si utiliza las versiones `OEM_AGENT 13.2.0.0.v3` y `13.3.0.0.v2` de Management Agent y desea utilizar la conectividad de TCPS, siga las instrucciones de [Configuración de certificados de entidades de certificación externas para la comunicación con las bases de datos de destino](https://docs.oracle.com/cd/E73210_01/EMSEC/GUID-8337AD48-1A32-4CD5-84F3-256FAE93D043.htm#EMSEC15996) que figura en la documentación de Oracle. Además, actualice el JDK en su OMS siguiendo las instrucciones en el documento de Oracle con el Doc ID 2241358.1 de Oracle. Este paso garantiza que OMS sea compatible con todos los conjuntos de cifrado compatibles con la base de datos.
**nota**  
La conectividad TCPS entre Management Agent y la instancia de base de datos solo es compatible para las versiones `OEM_AGENT 13.2.0.0.v3`, `13.3.0.0.v2`, `13.4.0.9.v1` y posteriores de Management Agent.

## Requisitos previos de comunicación del host de OMS
<a name="Oracle.Options.OEMAgent.PreReqs.host"></a>

Asegúrese de que su host de OMS y su instancia de base de datos de Amazon RDS puedan comunicarse. Haga lo siguiente: 
+ Para conectarse desde Management Agent al host de OMS cuando este se encuentre detrás de un firewall, agregue las direcciones IP de las instancias de base de datos al firewall. Asegúrese de que el firewall del OMS permita el siguiente tráfico de red:  
Desde el host de OMS a la instancia de base de datos  
Configure una regla de firewall unidireccional que permita el tráfico del host de OMS al puerto del oyente de base de datos (valor predeterminado 1521) y el puerto de OEM Agent (valor predeterminado 3872).  
Desde la instancia de base de datos al host de OMS  
Configure una regla de firewall unidireccional que permita el tráfico desde la instancia de base de datos al puerto HTTP de OMS (el valor predeterminado es 4903).
+ Para conectarse desde OMS a Management Agent, si OMS tiene un nombre de host que se pueda resolver públicamente, debe agregar la dirección de OMS a un grupo de seguridad. El grupo de seguridad debe tener reglas de entrada que permitan el acceso al puerto del agente de escucha de base de datos y al puerto de Management Agent. Para ver un ejemplo de cómo crear una regla de seguridad y agregar reglas de entrada, consulte [Tutorial: Creación de una VPC para utilizarla con una instancia de base de datos (solo IPv4)](CHAP_Tutorials.WebServerDB.CreateVPC.md). 
+ Para conectarse desde OMS a Management Agent, si OMS no tiene un nombre de host que se pueda resolver públicamente, utilice uno de los siguientes: 
  + Si OMS se hospeda en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) en una VPC privada, puede configurar la interconexión de VPC para conectarse desde OMS a Management Agent. Para obtener más información, consulte [Acceso a una instancia de base de datos en una VPC desde una instancia EC2 de otra VPC](USER_VPC.Scenarios.md#USER_VPC.Scenario3). 
  + Si OMS se hospeda localmente, puede configurar una conexión de VPN para permitir el acceso desde OMS a Management Agent. Para obtener más información, consulte [Acceso a una instancia de base de datos en una VPC desde una aplicación cliente a través de internet](USER_VPC.Scenarios.md#USER_VPC.Scenario4) o [Conexiones de VPN](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html). 
+ Para conectar la versión 13.5.0.0 (v1-v3) del agente de gestión de OEM a un host de OMS 24.1, configure `MINIMUM_TLS_VERSION` para usar el protocolo de TLS 1.2 `TLSv1.2` en las opciones de configuración.

## Limitaciones de Management Agent
<a name="Oracle.Options.OEMAgent.limitations"></a>

A continuación se indican algunas limitaciones al utilizar Management Agent: 
+ No puede proporcionar imágenes personalizadas de Oracle Management Agent.
+ No se admiten las tareas administrativas, como la ejecución de tareas y la aplicación de parches a la base de datos, que requieren credenciales de host. 
+ No se garantiza que las métricas de host y la lista de procesos reflejen el estado real del sistema. Por lo tanto, no debe utilizar OEM para monitorear el sistema de archivos raíz o el sistema de archivos de punto de montaje. Para obtener más información acerca de cómo monitorear el sistema operativo, consulte [Supervisión de las métricas del sistema operativo con Supervisión mejorada](USER_Monitoring.OS.md).
+ La detección automática es incompatible. Los destinos de base de datos deben agregarse manualmente. 
+ La disponibilidad del módulo OMS depende de la edición de su base de datos. Por ejemplo, el módulo de ajuste y diagnóstico de desempeño de la base de datos solo está disponible para Oracle Database Enterprise Edition. 
+ Management Agent consume memoria adicional y recursos informáticos. Si tiene problemas de rendimiento después de habilitar la opción `OEM_AGENT`, recomendamos que realice una ampliación a una clase de instancia de base de datos más grande. Para obtener más información, consulte [Clases de instancia de base de datos de ](Concepts.DBInstanceClass.md) y [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 
+ El usuario que ejecuta `OEM_AGENT` en el host de Amazon RDS no tiene acceso de sistema operativo al registro de alertas. Por lo tanto, no puede recopilar métricas para `DB Alert Log` y `DB Alert Log Error Status` en OEM.

## Configuración de opción de Management Agent
<a name="Oracle.Options.OEMAgent.Options"></a>

Amazon RDS admite la siguiente configuración para la opción de Management Agent.


| Ajuste de la opción | Obligatorio | Valores válidos | Descripción | 
| --- | --- | --- | --- | 
|  **Version** (`AGENT_VERSION`)  |  Sí  |  `13.5.0.0.v3` `13.5.0.0.v2` `13.5.0.0.v1` `13.4.0.9.v2` `13.4.0.9.v1` `13.3.0.0.v2` `13.3.0.0.v1` `13.2.0.0.v3` `13.2.0.0.v2` `13.2.0.0.v1` `13.1.0.0.v1`  |  La versión del software Management Agent. La versión mínima compatible es `13.1.0.0.v1`. El nombre de la opción de la AWS CLI es `OptionVersion`.  En las regiones AWS GovCloud (US), las versiones 13.1 no están disponibles.   | 
|  **Port** (`AGENT_PORT`)  |  Sí  |  Un valor entero  |  El puerto en la instancia de base de datos que escucha el host de OMS. El valor predeterminado es 3872. El host de OMS debe pertenecer a un grupo de seguridad que tenga acceso a este puerto.  El nombre de la opción de la AWS CLI es `Port`.  | 
|  **Grupos de seguridad de**  |  Sí  |  Grupos de seguridad existentes  |  Un grupo de seguridad que tiene acceso a **Port**. El host de OMS debe pertenecer a este grupo de seguridad.  El nombre de la opción de la AWS CLI es `VpcSecurityGroupMemberships` o `DBSecurityGroupMemberships`.  | 
|  **OMS\$1HOST**  |  Sí  |  Un valor de cadena, por ejemplo *my.example.oms*   |  El nombre de host accesible públicamente o la dirección IP de OMS.  El nombre de la opción de la AWS CLI es `OMS_HOST`.  | 
|  **OMS\$1PORT**  |  Sí  |  Un valor entero  |  El puerto de carga HTTPS en el host de OMS que escucha el Management Agent.  Para determinar el puerto de carga HTTPS, conéctese al host de OMS y ejecute el siguiente comando (que requiere la contraseña de `SYSMAN`): emctl status oms -details  El nombre de la opción de la AWS CLI es `OMS_PORT`.  | 
|  **AGENT\$1REGISTRATION\$1PASSWORD**  |  Sí  |  Un valor de cadena  |  La contraseña que Management Agent utiliza para autenticarse en OMS. Recomendamos que cree una contraseña persistente en OMS antes de habilitar la opción `OEM_AGENT`. Con una contraseña persistente puede compartir un grupo de opción de Management Agent individual entre múltiples bases de datos de Amazon RDS.  El nombre de la opción de la AWS CLI es `AGENT_REGISTRATION_PASSWORD`.  | 
|  **ALLOW\$1TLS\$1ONLY**  |  No  |  `true`, `false` (predeterminado)  |  Un valor que configura el agente de OEM para que solo admita el protocolo `TLSv1` mientras el agente escucha como un servidor. Este ajuste ya no es compatible. Las versiones 13.1.0.0.v1 y superiores de Management Agent admiten seguridad de la capa de transporte (TLS) de forma predeterminada.   | 
|  **MINIMUM\$1TLS\$1VERSION**  |  No  |  `TLSv1` (predeterminado), `TLSv1.2`  |  Un valor que especifica la versión mínima de TLS admitida por el agente de OEM mientras el agente escucha como un servidor. Las versiones que ya no son compatibles del agente solo admiten la configuración `TLSv1`. Para conectar la versión 13.5.0.0 (v1-v3) a un host de OMS 24.1, configúrelo en `TLSv1.2`.  | 
|  **TLS\$1CIPHER\$1SUITE**  |  No  |  Consulte [Configuración de opción de Management Agent](#Oracle.Options.OEMAgent.Options).  |  Un valor que especifica el conjunto de cifrado TLS utilizado por el agente de OEM mientras el agente escucha como un servidor.   | 

La siguiente tabla muestra los conjuntos de cifrado TLS que admite la opción Management Agent.


| Conjunto de cifrado | Versión del agente admitida | Conforme con FedRAMP | 
| --- | --- | --- | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Todos | No | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 | 13.1.0.0.v1 y versiones posteriores | No | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 13.2.0.0.v3 y versiones posteriores | No | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA256 | 13.2.0.0.v3 y versiones posteriores | No | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 13.2.0.0.v3 y versiones posteriores | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 13.2.0.0.v3 y versiones posteriores | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 | 13.2.0.0.v3 y versiones posteriores | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 | 13.2.0.0.v3 y versiones posteriores | Sí | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 13.4.0.9.v1 y versiones posteriores | Sí | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 | 13.4.0.9.v1 y versiones posteriores | Sí | 

### Compatibilidad de certificados con conjuntos de cifrado
<a name="Oracle.Options.OEMAgent.CertificateCompatibility"></a>

RDS para Oracle admite certificados RSA y de algoritmo de firma digital de curva elíptica (ECDSA). Al configurar la opción de OEM Agent para la instancia de base de datos, debe asegurarse de que los conjuntos de cifrado que especifique en la configuración de la opción `TLS_CIPHER_SUITE` sean compatibles con el tipo de certificado utilizado por la instancia de base de datos.

En la siguiente tabla, se muestra la compatibilidad entre los tipos de certificados y los conjuntos de cifrado:


| Tipo de certificado | Conjuntos de cifrado compatibles | Conjuntos de cifrado incompatibles | 
| --- | --- | --- | 
| Certificados RSA (rds-ca-2019, rds-ca-rsa2048-g1, rds-ca-rsa4096-g1) |  TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384  |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384  | 
| Certificados de ECDSA (rds-ca-ecc384-g1) |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384  |  TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384  | 

Al especificar un conjunto de cifrado en la configuración de la opción `TLS_CIPHER_SUITE`, asegúrese de que sea compatible con el tipo de certificado utilizado por la instancia de base de datos. Si intenta asociar un grupo de opciones a una opción de OEM Agent que contenga un conjunto de cifrado incompatible con el tipo de certificado de una instancia de base de datos, la operación producirá un error y aparecerá un mensaje de error que indica la incompatibilidad.

## Habilitación de la opción del agente de gestión a la instancia de base de datos
<a name="Oracle.Options.OEMAgent.Enable"></a>

Para habilitar la opción del agente de gestión, utilice los pasos siguientes:

**Topics**
+ [

### Paso 1: agregar la opción de agente de gestión a la instancia de base de datos
](#Oracle.Options.OEMAgent.Add)
+ [

### Paso 2: desbloquear la cuenta de usuario de DBSNMP
](#Oracle.Options.OEMAgent.DBSNMP)
+ [

### Paso 3: añadir los destinos a la consola de Management Agent
](#Oracle.Options.OEMAgent.Using)

### Paso 1: agregar la opción de agente de gestión a la instancia de base de datos
<a name="Oracle.Options.OEMAgent.Add"></a>

Para añadir la opción Management Agent a una instancia de base de datos, haga lo siguiente:

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

Si se produce algún error, consulte los documentos de [My Oracle Support](https://support.oracle.com/) para obtener información sobre cómo solucionar determinados problemas.

Después de agregar la opción de Management Agent, no es necesario reiniciar la instancia de base de datos. En cuanto esté activo el grupo de opciones, OEM Agent también lo estará. 

Si el host OMS usa un certificado de terceros que no es de confianza, Amazon RDS devolverá el error siguiente.

```
You successfully installed the OEM_AGENT option. Your OMS host is using an untrusted third party certificate. 
Configure your OMS host with the trusted certificates from your third party.
```

Si se devuelve este error, la opción de Management Agent no se habilitará hasta que se haya solucionado el problema. Para obtener información acerca de cómo corregir el problema, consulte el documento de soporte de My Oracle [2202569.1](https://support.oracle.com/epmos/faces/DocContentDisplay?id=2202569.1).

#### Consola
<a name="Oracle.Options.OEMAgent.Add.Console"></a>

**Adición de la opción Management Agent a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine**, elija la edición de Oracle que corresponda a la instancia de base de datos. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Agregue la opción **OEM\$1AGENT** al grupo de opciones y establezca la configuración de opción. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). Para obtener más información acerca de cada opción, consulte [Configuración de opción de Management Agent](#Oracle.Options.OEMAgent.Options). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

#### AWS CLI
<a name="Oracle.Options.OEMAgent.Add.CLI"></a>

En el ejemplo siguiente se usa el comando de la AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) para añadir la opción `OEM_AGENT` a un grupo de opciones llamado `myoptiongroup`. 

Para Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] \
    --apply-immediately
```

Para Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] ^
    --apply-immediately
```

### Paso 2: desbloquear la cuenta de usuario de DBSNMP
<a name="Oracle.Options.OEMAgent.DBSNMP"></a>

Management Agent utiliza la cuenta de usuario de `DBSNMP` para conectarse a la base de datos y notificar los problemas a Oracle Enterprise Manager. En una CDB, `DBSNMP` es un usuario común. Esta cuenta de usuario es necesaria tanto para Management Agent como para OEM Database Express. De forma predeterminada, esta cuenta está bloqueada. El procedimiento para desbloquear esta cuenta varía en función de si la base de datos utiliza una arquitectura de CDB o no de CDB.

**Para desbloquear la cuenta de usuario de DBSNMP**

1. En SQL\$1Plus u otra aplicación de Oracle SQL, inicie sesión como usuario maestro en su instancia de base de datos.

1. Lleve a cabo una de las siguientes acciones, dependiendo de la arquitectura de base de datos:  
**La base de datos no es de CDB.**  
Ejecute la siguiente instrucción de SQL:  

   ```
   1. ALTER USER dbsnmp IDENTIFIED BY new_password ACCOUNT UNLOCK;
   ```  
**La base de datos es de CDB.**  
Ejecute el siguiente procedimiento almacenado para desbloquear la cuenta de `DBSNMP`:  

   ```
   1. EXEC rdsadmin.rdsadmin_util.reset_oem_agent_password('new_password');
   ```
Si recibe un error que indica que el procedimiento no existe, reinicie la instancia de CDB para instalarla automáticamente. Para obtener más información, consulte [Reinicio de una instancia de base de datos ](USER_RebootInstance.md).

### Paso 3: añadir los destinos a la consola de Management Agent
<a name="Oracle.Options.OEMAgent.Using"></a>

Para añadir una instancia de base de datos como destino, debe conocer el punto de conexión y el puerto. Para obtener información acerca de cómo encontrar el punto de enlace de su instancia de base de datos de Amazon RDS, consulte [Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle](USER_Endpoint.md). Si su base de datos utiliza la arquitectura de CDB, añada el contenedor `CDB$ROOT` por separado como destino.

**Adición de destinos a la consola de Management Agent**

1. En consola de OMS, elija **Setup**, **Add Target** y, a continuación, **Add Targets Manually**. 

1. Elija **Add Targets Declaratively by Specifying Target Monitoring Properties**.

1. En **Target Type**, elija **Target Type**.

1. En **Monitoring Agent (Monitorización del agente)**, elija el agente con el mismo identificador que su identificador de instancia de base de datos de RDS. 

1. Elija **Add Manually**.

1. Introduzca el punto de conexión de la instancia de base de datos de Amazon RDS o selecciónelo en la lista de nombres de host. Asegúrese de que el nombre de host especificado coincide con el punto de enlace de la instancia de base de datos de Amazon RDS.

1. Especifique las siguientes propiedades para la base de datos:
   + En **Target name (Nombre de destino)**, escriba un nombre. 
   + En **Database system name (Nombre de sistema de base de datos)**, escriba un nombre.
   + En **Monitor username (Nombre de usuario de monitor)**, escriba **dbsnmp**. 
   + En **Monitor password**, escriba la contraseña de [Paso 2: desbloquear la cuenta de usuario de DBSNMP](#Oracle.Options.OEMAgent.DBSNMP). 
   + En **Role (Rol)**, escriba **normal**. 
   + En **Oracle home path (Ruta de inicio de Oracle)**, escriba **/oracle**. 
   + En **Listener Machine name**, el identificador del agente ya aparece. 
   + En **Port (Puerto)**, escriba el puerto de base de datos. El puerto predeterminado de RDS es 1521. 
   + En **Database name (Nombre de base de datos)**, escriba el nombre de la base de datos. Si la base de datos es de CDB, este nombre es `RDSCDB`. 

1. Elija **Test Connection**. 

1. Elija **Next (Siguiente)**. La base de datos de destino aparece en su lista de recursos monitorizados. 

## Eliminar la opción de Management Agent
<a name="Oracle.Options.OEMAgent.Remove"></a>

Puede eliminar OEM Agent de una instancia de base de datos. Después de eliminar OEM Agent, no es necesario reiniciar la instancia de base de datos. 

Para eliminar OEM Agent de una instancia de base de datos, realice una de las siguientes operaciones: 
+ Elimine la opción de OEM Agent del grupo de opciones al que pertenece. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción de OEM Agent. Este cambio afecta a una única instancia de base de datos. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Realización de tareas de base de datos con Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks"></a>

Puede utilizar procedimientos de Amazon RDS para ejecutar determinados comandos de EMCTL en Management Agent. Al ejecutar estos procedimientos, puede hacer las tareas que se enumeran a continuación.

**nota**  
Las tareas se ejecutan de forma asíncrona.

**Topics**
+ [

### Protección del agente de gestión
](#Oracle.Options.OEMAgent.DBTasks.SecureAgent)
+ [

### Obtención del estado del agente de administración
](#Oracle.Options.OEMAgent.DBTasks.GetAgentStatus)
+ [

### Reinicio del Management Agent
](#Oracle.Options.OEMAgent.DBTasks.RestartAgent)
+ [

### Descripción de los objetivos monitoreados por el Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ListTargets)
+ [

### Descripción de los subprocesos de recopilación monitoreados por Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ListCollectionThreads)
+ [

### Borrado del estado de Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ClearState)
+ [

### Hacer que Management Agent cargue su OMS
](#Oracle.Options.OEMAgent.DBTasks.ForceUploadOMS)
+ [

### Hacer ping al OMS
](#Oracle.Options.OEMAgent.DBTasks.PingOMS)
+ [

### Visualización del estado de una tarea en curso
](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus)

### Protección del agente de gestión
<a name="Oracle.Options.OEMAgent.DBTasks.SecureAgent"></a>

Para proteger el agente de gestión, ejecute el procedimiento `rdsadmin.rdsadmin_oem_agent_tasks.secure_oem_agent` de Amazon RDS. Este procedimiento es equivalente a ejecutar el comando `emctl secure agent`.

El siguiente procedimiento crea una tarea para proteger el agente de gestión y devuelve el ID de la tarea:

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.secure_oem_agent as TASK_ID from DUAL;
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Obtención del estado del agente de administración
<a name="Oracle.Options.OEMAgent.DBTasks.GetAgentStatus"></a>

Para obtener el estado del agente de administración, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent`. Este procedimiento es equivalente al comando `emctl status agent`.

El siguiente procedimiento crea una tarea para obtener el estado del agente de gestión y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent() as TASK_ID from DUAL;
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Reinicio del Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.RestartAgent"></a>

Para reiniciar el Management Agent, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent`. Este procedimiento es equivalente a ejecutar los comandos `emctl stop agent` y `emctl start agent`.

El siguiente procedimiento crea una tarea para reiniciar Management Agent y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent as TASK_ID from DUAL;    
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Descripción de los objetivos monitoreados por el Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ListTargets"></a>

Para enumerar los objetivos monitorizados por el Management Agent, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.list_targets_oem_agent`. Este procedimiento es equivalente a ejecutar el comando `emctl config agent listtargets`.

El siguiente procedimiento crea una tarea para mostrar los destinos monitoreados por Management Agent y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.list_targets_oem_agent as TASK_ID from DUAL;
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Descripción de los subprocesos de recopilación monitoreados por Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ListCollectionThreads"></a>

Para mostrar todos los subprocesos de recopilación en ejecución, listos y programados monitoreados por Management Agent, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.list_clxn_threads_oem_agent`. Este procedimiento es equivalente al comando `emctl status agent scheduler`.

El siguiente procedimiento crea una tarea para enumerar los subprocesos de recopilación y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.list_clxn_threads_oem_agent() as TASK_ID from DUAL;          
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Borrado del estado de Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ClearState"></a>

Para borrar el estado de Management Agent, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.clearstate_oem_agent`. Este procedimiento es equivalente a ejecutar el comando `emctl clearstate agent`.

El siguiente procedimiento crea una tarea que borra el estado de Management Agent y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.clearstate_oem_agent() as TASK_ID from DUAL;
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Hacer que Management Agent cargue su OMS
<a name="Oracle.Options.OEMAgent.DBTasks.ForceUploadOMS"></a>

Para que Management Agent cargue el Oracle Management Server (OMS) asociado al mismo, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent`. Este procedimiento es equivalente a ejecutar el comando `emclt upload agent`.

El procedimiento siguiente crea una tarea que hace que Management Agent cargue su OMS asociado y devuelva el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent() as TASK_ID from DUAL;
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Hacer ping al OMS
<a name="Oracle.Options.OEMAgent.DBTasks.PingOMS"></a>

Para hacer ping al OMS del Management Agent, ejecute el procedimiento de Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.ping_oms_oem_agent`. Este procedimiento es equivalente a ejecutar el comando `emctl pingOMS`.

El siguiente procedimiento crea una tarea que realiza ping al OMS de Management Agent y devuelve el ID de la tarea.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.ping_oms_oem_agent() as TASK_ID from DUAL;
```

Para mostrar el archivo de salida de la tarea y ver el resultado, consulte [Visualización del estado de una tarea en curso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Visualización del estado de una tarea en curso
<a name="Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus"></a>

Puede ver el estado de una tarea continua en un archivo bdump. Los archivos bdump están ubicados en el directorio `/rdsdbdata/log/trace`. El nombre del archivo bdump está en el siguiente formato.

```
dbtask-task-id.log 
```

Si desea monitorizar una tarea, reemplace `task-id` por el ID de la tarea que desea monitorizar.

Para ver el contenido de los archivos bdump, ejecute el procedimiento de Amazon RDS `rdsadmin.rds_file_util.read_text_file`. Por ejemplo, la siguiente consulta devuelve el contenido del archivo bdump `dbtask-1546988886389-2444.log`. 

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1546988886389-2444.log'));
```

Si necesita más información sobre el procedimiento `rdsadmin.rds_file_util.read_text_file` de Amazon RDS, consulte [Lectura de archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

# Oracle Label Security
<a name="Oracle.Options.OLS"></a>

Amazon RDS es compatible con Oracle Label Security para Enterprise Edition de Oracle Database con la opción OLS.

La mayoría de los sistemas de seguridad de bases de datos controlan el acceso en el nivel de objeto. Oracle Label Security proporciona un control de acceso muy preciso a cada una de las filas de las tablas. Por ejemplo, puede utilizar Label Security para imponer el cumplimiento de las normativas mediante un modelo de administración basado en políticas. Puede utilizar las políticas de Label Security para controlar el acceso a la información confidencial y restringirlo únicamente a los usuarios con el nivel adecuado. Para obtener más información, consulte [Introduction to Oracle Label Security](https://docs.oracle.com/database/121/OLSAG/intro.htm#OLSAG001) en la documentación de Oracle.

**Topics**
+ [

## Requisitos de Oracle Label Security
](#Oracle.Options.OLS.PreReqs)
+ [

## Factores importantes al utilizar Oracle Label Security
](#Oracle.Options.OLS.Using)
+ [

## Adición de la opción Oracle Label Security
](#Oracle.Options.OLS.Add)
+ [

## Solución de problemas
](#Oracle.Options.OLS.Troubleshooting)

## Requisitos de Oracle Label Security
<a name="Oracle.Options.OLS.PreReqs"></a>

Familiarícese con los siguientes requisitos para Oracle Label Security: 
+ La instancia de base de datos debe utilizar el modelo Bring Your Own License (BYOL, "Traiga su propia licencia"). Para obtener más información, consulte [Opciones de licencias de RDS para Oracle](Oracle.Concepts.Licensing.md). 
+ Debe tener una licencia válida de Oracle Enterprise Edition con Software Update License and Support. 
+ La licencia de Oracle debe incluir la opción Label Security.

## Factores importantes al utilizar Oracle Label Security
<a name="Oracle.Options.OLS.Using"></a>

Para utilizar Oracle Label Security, debe crear políticas que controlen el acceso a determinadas filas de las tablas. Para obtener más información, consulte [Creating an Oracle Label Security Policy](https://docs.oracle.com/database/121/OLSAG/getstrtd.htm#OLSAG3096) en la documentación de Oracle. 

Considere lo siguiente:
+ Oracle Label Security es una opción permanente y persistente. Puesto que la opción es permanente no se puede quitar de un grupo de opciones. Si agrega Oracle Label Security a un grupo de opciones y lo asocia a su instancia de base de datos, más adelante podrá asociar un grupo de opciones diferente a su instancia de base de datos, pero este grupo también deberá contener la opción Oracle Label Security.
+ Cuando se utiliza Label Security, todas las acciones se realizan con el rol `LBAC_DBA`. Al usuario maestro de la instancia de base de datos se le concede el rol `LBAC_DBA`. Es posible conceder el rol `LBAC_DBA` a otros usuarios para que puedan administrar las políticas de Label Security.
+ Asegúrese de conceder acceso al paquete `OLS_ENFORCEMENT` a cualquier usuario nuevo que requiera acceso a Oracle Label Security. Para conceder acceso al paquete `OLS_ENFORCEMENT`, conéctese a la instancia de base de datos como usuario maestro y ejecute la siguiente instrucción SQL:

  ```
  GRANT ALL ON LBACSYS.OLS_ENFORCEMENT TO username;
  ```
+ Puede configurar Label Security a través de Oracle Enterprise Manager (OEM) Cloud Control. Amazon RDS es compatible con OEM Cloud Control mediante la opción Management Agent. Para obtener más información, consulte [Oracle Management Agent para Enterprise Manager Cloud Control](Oracle.Options.OEMAgent.md). 

## Adición de la opción Oracle Label Security
<a name="Oracle.Options.OLS.Add"></a>

El proceso general para añadir la opción Oracle Label Security a una instancia de base de datos es el siguiente: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.
**importante**  
Oracle Label Security es una opción permanente y persistente.

1. Asocie el grupo de opciones a la instancia de base de datos.

Después de añadir la opción Label Security, esta se activará en cuanto se active el grupo de opciones. 

**Para agregar la opción Label Security a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine**, elija **oracle-ee**. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada la opción **OLS** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 
**importante**  
Si añade Label Security a un grupo de opciones existente que ya está asociado a una o varias instancias de bases de datos, se reinician todas las instancias de bases de datos. 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 

      
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Cuando se añade la opción Label Security a una instancia de base de datos existente, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

## Solución de problemas
<a name="Oracle.Options.OLS.Troubleshooting"></a>

A continuación se muestran los problemas que pueden presentarse al utilizar Oracle Label Security. 


****  

| Problema | Sugerencias para la solución de problemas | 
| --- | --- | 
|  Al intentar crear una política, ve un mensaje de error similar al siguiente: `insufficient authorization for the SYSDBA package`.   |  Un problema conocido de la característica Oracle Label Security impide que los usuarios cuyos nombres tienen 16 o 24 caracteres ejecuten comandos de Label Security. Puede crear otro usuario con un número de caracteres distinto, conceder el rol LBAC\$1DBA a dicho usuario, iniciar sesión con las credenciales de ese usuario y ejecutar los comandos de OLS con ellas. Para obtener más información, póngase en contacto con el servicio de soporte de Oracle.   | 

# Oracle Locator
<a name="Oracle.Options.Locator"></a>

Amazon RDS admite Oracle Locator a través del uso de la opción `LOCATOR`. Oracle Locator proporciona capacidades que suelen ser necesarias para admitir aplicaciones basadas en servicio de Internet e inalámbricas y soluciones de Sistemas de información geográfica (SIG) basadas en el partner. Oracle Locator es una subred limitada de Oracle Spatial. Para obtener más información, consulte [Oracle Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#SPATL340) en la documentación de Oracle. 

**importante**  
Si usa Oracle Locator, Amazon RDS actualiza automáticamente su instancia de base de datos a la versión más reciente de Oracle PSU si hay vulnerabilidades de seguridad con una puntuación del Common Vulnerability Scoring System (CVSS) superior a 9 u otras vulnerabilidades de seguridad anunciadas. 

## Versiones de bases de datos compatibles con Oracle Locator
<a name="Oracle.Options.Locator.Releases"></a>

RDS para Oracle es compatible con Oracle Locator para Oracle Database 19c. Oracle Locator no es compatible con Oracle Database 21c, pero su funcionalidad está disponible en la opción Oracle Spatial. Antes, la opción Spatial requería licencias adicionales. Oracle Locator representaba un subconjunto de funciones de Oracle Spatial y no requería licencias adicionales. En 2019 Oracle anunció que todas las características de Oracle Spatial se incluían en las licencias Enterprise Edition y Standard Edition 2 sin costo adicional. En consecuencia, la opción Oracle Spatial ya no requiere licencias adicionales. Para obtener más información, consulte el tema sobre [Machine Learning, Spacial y Graph, sin licencia necesaria](https://blogs.oracle.com/database/post/machine-learning-spatial-and-graph-no-license-required) en el blog de Oracle Database Insider.

## Requisitos previos para Oracle Locator
<a name="Oracle.Options.Locator.PreReqs"></a>

A continuación, se indican los requisitos previos para utilizar Oracle Locator: 
+ Su instancia de base de datos debe ser de clase suficiente. No se admite Oracle Locator para las clases de instancia de base de datos db.t3.small. Para obtener más información, consulte [Clases de instancias de base de datos de RDS para Oracle](Oracle.Concepts.InstanceClasses.md). 
+ Su instancia de base de datos debe tener **Auto Minor Version Upgrade** habilitada. Esta opción permite que la instancia de base de datos reciba actualizaciones de la versión secundaria del motor de base de datos automáticamente cuando estén disponibles y es necesaria para cualquier opción que instale la máquina virtual Java (JVM) de Oracle Amazon RDS utiliza esta opción para actualizar su instancia de base de datos a la PSU (Patch Set Update) de Oracle más reciente o actualización de la versión (RU). Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Prácticas recomendadas para Oracle Locator
<a name="Oracle.Options.Locator.BestPractces"></a>

A continuación, se indican las prácticas recomendadas para utilizar Oracle Locator: 
+ Para que la seguridad sea máxima, use la opción `LOCATOR` con Capa de conexión segura (SSL). Para obtener más información, consulte [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md). 
+ Configure su instancia de base de datos para restringir el acceso a la misma. Para obtener más información, consulte [Escenarios de acceso a una instancia de base de datos en una VPC](USER_VPC.Scenarios.md) y [Uso de una instancia de base de datos en una VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Adición de la opción Oracle Locator
<a name="Oracle.Options.Locator.Add"></a>

A continuación se muestra el proceso general para añadir la opción `LOCATOR` a una instancia de base de datos: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

Si la máquina virtual Java (JVM) de Oracle *no* está instalada en la instancia de base de datos, se produce una breve interrupción mientras se agrega la opción `LOCATOR`. No hay interrupción si la máquina virtual Java (JVM) de Oracle ya está instalada en la instancia de base de datos. Después de añadir la opción , no es necesario reiniciar la instancia de base de datos. En cuanto esté activo el grupo de opciones, Oracle Locator estará disponible. 

**nota**  
Durante esta interrupción, las funciones de verificación de contraseña se deshabilitan brevemente. También puede esperar ver eventos relacionados con las funciones de verificación de contraseña durante la interrupción. Las funciones de verificación de contraseña se vuelven a habilitar antes de que la instancia de base de datos de Oracle esté disponible.

**Para añadir la opción `LOCATOR` a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine**, elija la edición de Oracle que corresponda a la instancia de base de datos. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada la opción **LOCATOR** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Uso de Oracle Locator
<a name="Oracle.Options.Locator.Using"></a>

Una vez que habilite la opción Oracle Locator, podrá empezar a usarla. Solo debe usar características de Oracle Locator. No use ninguna característica de Oracle Spatial a menos que tenga una licencia para Oracle Spatial. 

Para obtener una lista de características compatibles con Oracle Locator, consulte [Features Included with Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#GUID-EC6DEA23-8FD7-4109-A0C1-93C0CE3D6FF2__CFACCEEG) en la documentación de Oracle. 

Para obtener una lista de características no compatibles con Oracle Locator, consulte [Features Not Included with Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#GUID-EC6DEA23-8FD7-4109-A0C1-93C0CE3D6FF2__CFABACEA) en la documentación de Oracle. 

## Eliminación de la opción Oracle Locator
<a name="Oracle.Options.Locator.Remove"></a>

Después de eliminar todos los objetos que utilizan los tipos de datos proporcionados por la opción `LOCATOR`, puede quitar la opción de una instancia de base de datos. Si la máquina virtual Java (JVM) de Oracle *no* está instalada en la instancia de base de datos, se produce una breve interrupción mientras se elimina la opción `LOCATOR`. No hay interrupción si la máquina virtual Java (JVM) de Oracle ya está instalada en la instancia de base de datos. Después de quitar la opción `LOCATOR`, no es necesario reiniciar la instancia de base de datos. 

**Para eliminar la opción `LOCATOR`**

1. Haga una copia de seguridad de sus datos.
**aviso**  
Si la instancia utiliza tipos de datos habilitados como parte de la opción y si elimina la opción `LOCATOR`, puede perder datos. Para obtener más información, consulte [Copia de seguridad, restauración y exportación de datos](CHAP_CommonTasks.BackupRestore.md).

1. Compruebe si los objetos existentes hacen referencia a los tipos de datos o a las características de la opción `LOCATOR`. 

   Si existen opciones `LOCATOR`, la instancia puede quedarse atascada al aplicar el nuevo grupo de opciones que no tiene la opción `LOCATOR`. Puede identificar los objetos mediante las siguientes consultas:

   ```
   SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME, BYTES/1024/1024 mbytes
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE '%TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
          (SELECT DISTINCT OWNER, TABLE_NAME 
           FROM   DBA_TAB_COLUMNS
           WHERE  DATA_TYPE='SDO_GEOMETRY'
           AND    OWNER <> 'MDSYS')
   ORDER BY 1,2,3,4;
   
   SELECT OWNER, TABLE_NAME, COLUMN_NAME
   FROM   DBA_TAB_COLUMNS 
   WHERE  DATA_TYPE = 'SDO_GEOMETRY' 
   AND    OWNER <> 'MDSYS' 
   ORDER BY 1,2,3;
   ```

1. Suelte los objetos que hagan referencia a los tipos de datos o a las características de la opción `LOCATOR`.

1. Aplique alguna de las siguientes acciones:
   + Quite la opción `LOCATOR` del grupo de opciones al que pertenece. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción `LOCATOR`. Este cambio afecta a una única instancia de base de datos. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Native Network Encryption
<a name="Appendix.Oracle.Options.NetworkEncryption"></a>

Amazon RDS es compatible con el cifrado de red nativo (NNE, Native Network Encryption) de Oracle. Con la opción `NATIVE_NETWORK_ENCRYPTION`, puede cifrar datos durante su tránsito hacia y desde una instancia de base de datos. Amazon RDS es compatible con NNE para todas las ediciones de Oracle Database.

Esta guía no tiene el propósito de ofrecerle una descripción detallada del cifrado de red nativo de Oracle, pero sí que debe comprender los puntos fuertes y los puntos débiles de cada algoritmo y cada clave antes de decidirse por una solución para su implementación. Para obtener información acerca de los algoritmos y las claves disponibles a través del cifrado de red nativo de Oracle, consulte [Configuring Network Data Encryption](http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/prod/security/network_encrypt/ntwrkencrypt.htm) en la documentación de Oracle. Para obtener más información sobre la seguridad de AWS, consulte el [centro de seguridad de AWS](https://aws.amazon.com/security).

**nota**  
Es posible utilizar Native Network Encryption o Secure Sockets Layer, pero no ambas opciones. Para obtener más información, consulte [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md). 

**Topics**
+ [

# Configuración de la opción NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Options.md)
+ [

# Adición de la opción NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Add.md)
+ [

# Establecimiento de valores de NNE en sqlnet.ora
](Oracle.Options.NNE.Using.md)
+ [

# Modificación de la configuración de la opción NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.ModifySettings.md)
+ [

# Eliminación de la opción NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Remove.md)

# Configuración de la opción NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Options"></a>

Puede especificar requisitos de cifrado tanto en el servidor como en el cliente. La instancia de base de datos puede actuar como cliente cuando, por ejemplo, utiliza un vínculo de base de datos para conectarse a otra base de datos. Es posible que desee evitar forzar el cifrado en el lado del servidor. Por ejemplo, es posible que no desee forzar todas las comunicaciones del cliente para que utilicen el cifrado porque el servidor lo requiera. En este caso, puede forzar el cifrado en el lado del cliente mediante las opciones de `SQLNET.*CLIENT`.

Amazon RDS admite las siguientes configuraciones para la opción `NATIVE_NETWORK_ENCRYPTION`.

**nota**  
Cuando utilice comas para separar valores para una configuración de opción, no coloque un espacio después de la coma.


****  

| Ajuste de la opción | Valores válidos | Valores predeterminados | Descripción | 
| --- | --- | --- | --- | 
|  `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS`  |  `TRUE`, `FALSE`  |  `TRUE`  |  El comportamiento del servidor cuando un cliente que utiliza un cifrado que no está protegido intenta conectarse a la base de datos. Si es `TRUE`, los clientes pueden conectarse incluso si no cuentan con revisiones de PSU de julio de 2021.  Si el ajuste es `FALSE`, los clientes pueden conectarse a la base de datos solo cuando cuenten con las revisiones de PSU de julio de 2021. Antes de configurar `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS` a `FALSE`, asegúrese de que se cumplan las siguientes condiciones: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html)  | 
|  `SQLNET.ALLOW_WEAK_CRYPTO`  |  `TRUE`, `FALSE`  |  `TRUE`  |  El comportamiento del servidor cuando un cliente que utiliza un cifrado que no está protegido intenta conectarse a la base de datos. Los siguientes cifrados no se consideran seguros: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) Si la configuración es `TRUE`, los clientes pueden conectarse cuando utilizan los cifrados anteriores que no estén protegidos. Si la configuración es `FALSE`, la base de datos evita que los clientes se conecten cuando utilizan los cifrados anteriores que no estén protegidos. Antes de configurar `SQLNET.ALLOW_WEAK_CRYPTO` a `FALSE`, asegúrese de que se cumplan las siguientes condiciones: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html)  | 
|  `SQLNET.CRYPTO_CHECKSUM_CLIENT`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportamiento de integridad de datos cuando una instancia de base de datos se conecta al cliente o cuando un servidor actúa como un cliente. Cuando una instancia de base de datos utiliza un enlace de base de datos, esta actúa como cliente. `Requested` indica que el cliente no requiere que la instancia de base de datos haga la suma de comprobación.  | 
|  `SQLNET.CRYPTO_CHECKSUM_SERVER`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportamiento de integridad de datos cuando un cliente o un servidor que actúa como cliente se conecta a la instancia de base de datos. Cuando una instancia de base de datos utiliza un enlace de base de datos, esta actúa como cliente. `Requested` indica que la instancia de base de datos no requiere que el cliente haga la suma de comprobación.  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  `SHA256`, `SHA384`, `SHA512`  |  Una lista de algoritmos de suma de comprobación. Puede especificar un valor o una lista de valores separada por comas. Si utiliza una coma, no inserte un espacio después de la coma; de lo contrario, recibirá un error `InvalidParameterValue`. Este parámetro y `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER ` deben tener un cifrado común.  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  Una lista de algoritmos de suma de comprobación. Puede especificar un valor o una lista de valores separada por comas. Si utiliza una coma, no inserte un espacio después de la coma; de lo contrario, recibirá un error `InvalidParameterValue`. Este parámetro y `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT` deben tener un cifrado común.  | 
|  `SQLNET.ENCRYPTION_CLIENT`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportamiento de cifrado del cliente cuando un cliente o un servidor que actúa como cliente se conecta a la instancia de base de datos. Cuando una instancia de base de datos utiliza un enlace de base de datos, esta actúa como cliente. `Requested` indica que el cliente no requiere que el tráfico del servidor esté cifrado.  | 
|  `SQLNET.ENCRYPTION_SERVER`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportamiento de cifrado del servidor cuando un cliente o un servidor que actúa como cliente se conecta a la instancia de base de datos. Cuando una instancia de base de datos utiliza un enlace de base de datos, esta actúa como cliente. `Requested` indica que la instancia de base de datos no requiere que el tráfico del cliente esté cifrado.  | 
|  `SQLNET.ENCRYPTION_TYPES_CLIENT`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  Lista de algoritmos de cifrado utilizados por el cliente. El cliente utiliza cada algoritmo, por orden, para intentar descifrar la entrada del servidor hasta que un algoritmo tenga éxito o hasta que se llegue al final de la lista.  Amazon RDS utiliza la siguiente lista predeterminada de Oracle. RDS comienza con `RC4_256` y continúa con la lista por orden. Es posible cambiar el orden o limitar los algoritmos que aceptará la instancia de base de datos.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) Puede especificar un valor o una lista de valores separada por comas. Si utiliza una coma, no inserte un espacio después de la coma; de lo contrario, recibirá un error `InvalidParameterValue`. Este parámetro y `SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER` deben tener un cifrado común.  | 
|  `SQLNET.ENCRYPTION_TYPES_SERVER`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  Lista de algoritmos de cifrado utilizados por la instancia de base de datos. La instancia de base de datos utiliza cada algoritmo, por orden, para intentar descifrar la entrada del cliente hasta que un algoritmo tenga éxito o hasta que se llegue al final de la lista.  Amazon RDS utiliza la siguiente lista predeterminada de Oracle. Es posible cambiar el orden o limitar los algoritmos que aceptará el cliente.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) Puede especificar un valor o una lista de valores separada por comas. Si utiliza una coma, no inserte un espacio después de la coma; de lo contrario, recibirá un error `InvalidParameterValue`. Este parámetro y `SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER` deben tener un cifrado común.  | 

# Adición de la opción NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Add"></a>

El proceso general para agregar la opción `NATIVE_NETWORK_ENCRYPTION` a una instancia de base de datos es el siguiente: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

En cuanto esté activo el grupo de opciones, NNE también estará activo. 

**Adición de la opción NATIVE\$1NETWORK\$1ENCRYPTION a una instancia de base de datos mediante la Consola de administración de AWS**

1. En **Engine**, elija la edición de Oracle que desea utilizar. NNE se admite en todas las ediciones. 

1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Agregue la opción **NATIVE\$1NETWORK\$1ENCRYPTION** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).
**nota**  
Después de agregar la opción **NATIVE\$1NETWORK\$1ENCRYPTION**, no es necesario reiniciar las instancias de base de datos. En cuanto esté activo el grupo de opciones, NNE también lo estará. 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Después de agregar la opción **NATIVE\$1NETWORK\$1ENCRYPTION**, no es necesario reiniciar la instancia de base de datos. En cuanto esté activo el grupo de opciones, NNE también lo estará. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Establecimiento de valores de NNE en sqlnet.ora
<a name="Oracle.Options.NNE.Using"></a>

Con el cifrado de red nativo de Oracle, también puede especificar el cifrado de red en lado del cliente y el lado del servidor. El cliente es el ordenador que se utiliza para conectarse a la instancia de base de datos. Puede especificar la siguiente configuración del cliente en el archivo sqlnet.ora: 
+ `SQLNET.ALLOW_WEAK_CRYPTO`
+ `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS`
+ `SQLNET.CRYPTO_CHECKSUM_CLIENT`
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`
+ `SQLNET.ENCRYPTION_CLIENT`
+ `SQLNET.ENCRYPTION_TYPES_CLIENT`

Para obtener más información, consulte [Configuring Network Data Encryption and Integrity for Oracle Servers and Clients](http://docs.oracle.com/cd/E11882_01/network.112/e40393/asoconfg.htm) en la documentación de Oracle.

A veces, la instancia de base de datos rechaza una solicitud de conexión de una aplicación. Por ejemplo, puede producirse un rechazo cuando los algoritmos de cifrado en el cliente y en el servidor no coinciden. Para probar el cifrado de red nativo de Oracle, agregue las siguientes líneas al archivo sqlnet.ora en el cliente: 

```
DIAG_ADR_ENABLED=off
TRACE_DIRECTORY_CLIENT=/tmp
TRACE_FILE_CLIENT=nettrace
TRACE_LEVEL_CLIENT=16
```

Cuando se intenta establecer la conexión, estas líneas generan un archivo de seguimiento en el cliente denominado `/tmp/nettrace*`. El archivo de seguimiento contiene información sobre la conexión. Para obtener más información sobre problemas relacionados con la conexión cuando utiliza el cifrado de red nativo de Oracle, consulte[Acerca de la negociación del cifrado y la integridad](http://docs.oracle.com/cd/E11882_01/network.112/e40393/asoconfg.htm#autoId12) en la documentación de la base de datos de Oracle.

# Modificación de la configuración de la opción NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.ModifySettings"></a>

Después de habilitar la opción `NATIVE_NETWORK_ENCRYPTION`, puede modificar su configuración. Actualmente, solo puede modificar la configuración de las opciones de `NATIVE_NETWORK_ENCRYPTION` con la AWS CLI o la API de RDS. No puede utilizar la consola. En el siguiente ejemplo, se modifican dos ajustes de la opción.

```
aws rds add-option-to-option-group \
    --option-group-name my-option-group \
    --options "OptionName=NATIVE_NETWORK_ENCRYPTION,OptionSettings=[{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256},{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256}]" \
    --apply-immediately
```

Para obtener más información acerca de cómo modificar la configuración de las opciones con la CLI, consulte [AWS CLI](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption.CLI). Para obtener más información acerca de cada opción, consulte [Configuración de la opción NATIVE\$1NETWORK\$1ENCRYPTION](Oracle.Options.NNE.Options.md).

**Topics**
+ [

## Modificación de los valores CRYPTO\$1CHECKSUM\$1\$1
](#Oracle.Options.NNE.ModifySettings.checksum)
+ [

## Modificación de la configuración ALLOW\$1WEAK\$1CRYPTO\$1
](#Oracle.Options.NNE.ModifySettings.encryption)

## Modificación de los valores CRYPTO\$1CHECKSUM\$1\$1
<a name="Oracle.Options.NNE.ModifySettings.checksum"></a>

Si modifica la configuración de la opción de **NATIVE\$1NETWORK\$1ENCRYPTION**, asegúrese de que la siguiente configuración de la opción tenga al menos un cifrado común:
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`

En el siguiente ejemplo, se muestra un escenario en el que se modifica `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`. La configuración es válida porque tanto `CRYPTO_CHECKSUM_TYPES_CLIENT` y `CRYPTO_CHECKSUM_TYPES_SERVER` usan `SHA256`.


| Ajuste de la opción | Valores antes de la modificación | Valores tras la modificación | 
| --- | --- | --- | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`  |  Sin cambios  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  | SHA1,MD5,SHA256 | 

Por otro ejemplo, suponga que desea modificar `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER` de su configuración predeterminada a `SHA1,MD5`. En este caso, asegúrese de establecer uno de estos valores para `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`: `SHA1` o `MD5`. Estos algoritmos no se incluyen en los valores predeterminados para `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`.

## Modificación de la configuración ALLOW\$1WEAK\$1CRYPTO\$1
<a name="Oracle.Options.NNE.ModifySettings.encryption"></a>

Para configurar las opciones `SQLNET.ALLOW_WEAK_CRYPTO*` del valor predeterminado a `FALSE`, asegúrese de que se cumplan las siguientes condiciones:
+ `SQLNET.ENCRYPTION_TYPES_SERVER` y `SQLNET.ENCRYPTION_TYPES_CLIENT` deben tener un método de cifrado seguro coincidente. Un método se considera seguro si no es `DES`, `3DES`, o bien `RC4` (todas las longitudes de clave).
+ `SQLNET.CHECKSUM_TYPES_SERVER` y `SQLNET.CHECKSUM_TYPES_CLIENT` deben tener un método de suma de comprobación seguro coincidente. Un método se considera seguro si no es `MD5`.
+ El cliente cuenta con la revisión de PSU de julio de 2021. Si el cliente no cuenta con la revisión, el cliente pierde la conexión y recibe el erorr `ORA-12269`.

El siguiente ejemplo muestra configuraciones NNE de muestra. Supongamos que desea configurar `SQLNET.ENCRYPTION_TYPES_SERVER` y `SQLNET.ENCRYPTION_TYPES_CLIENT` a FALSE, bloqueando así las conexiones no seguras. La configuración de la opción de suma de comprobación cumple los requisitos previos porque ambos tienen `SHA256`. Sin embargo, `SQLNET.ENCRYPTION_TYPES_CLIENT` y `SQLNET.ENCRYPTION_TYPES_SERVER` usan los métodos de cifrado no seguro `DES`, `3DES`, y `RC4`. Por lo tanto, para establecer las opciones `SQLNET.ALLOW_WEAK_CRYPTO*` en `FALSE`, primero establezca `SQLNET.ENCRYPTION_TYPES_SERVER` y `SQLNET.ENCRYPTION_TYPES_CLIENT` en un método de cifrado seguro como `AES256`.


| Ajuste de la opción | Valores | 
| --- | --- | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  | SHA1,MD5,SHA256 | 
|  `SQLNET.ENCRYPTION_TYPES_CLIENT`  |  `RC4_256`, `3DES168`, `DES40`  | 
|  `SQLNET.ENCRYPTION_TYPES_SERVER`  |  `RC4_256`, `3DES168`, `DES40`  | 

# Eliminación de la opción NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Remove"></a>

Puede eliminar NNE de una instancia de base de datos. 

Para quitar la opción `NATIVE_NETWORK_ENCRYPTION` de una instancia de base de datos, realice una de las siguientes operaciones: 
+ Para eliminar la opción de varias instancias de bases de datos, elimine la opción `NATIVE_NETWORK_ENCRYPTION` del grupo de opciones al que pertenecen. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Después de eliminar la opción `NATIVE_NETWORK_ENCRYPTION`, no es necesario reiniciar las instancias de base de datos. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Para eliminar la opción de una sola instancia de base de datos, modifique la instancia y especifique otro grupo de opciones que no incluya la opción `NATIVE_NETWORK_ENCRYPTION`. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Después de quitar la opción `NATIVE_NETWORK_ENCRYPTION`, no es necesario reiniciar la instancia de base de datos. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle OLAP
<a name="Oracle.Options.OLAP"></a>

Amazon RDS admite Oracle OLAP mediante el uso de la opción `OLAP`. Esta opción proporciona procesamiento analítico en línea (OLAP) para las instancias de base de datos de Oracle. Puede utilizar Oracle OLAP para analizar grandes cantidades de datos mediante la creación de cubos y objetos dimensionales de acuerdo con el estándar OLAP. Para obtener más información, consulte [la documentación de Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/olaug/index.html). 

**importante**  
Si usa Oracle OLAP, Amazon RDS actualiza automáticamente la instancia de base de datos a la versión más reciente de Oracle PSU si hay vulnerabilidades de seguridad con una puntuación CVSS (Common Vulnerability Scoring System) superior a 9 u otras vulnerabilidades de seguridad anunciadas. 

Amazon RDS admite Oracle OLAP en Enterprise Edition de Oracle Database 19c y versiones posteriores.

## Requisitos previos para Oracle OLAP
<a name="Oracle.Options.OLAP.PreReqs"></a>

A continuación se indican los requisitos previos para utilizar Oracle OLAP: 
+ Debe tener una licencia de Oracle OLAP. Para obtener más información, consulte la [información sobre licencias](https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/Licensing-Information.html#GUID-B6113390-9586-46D7-9008-DCC9EDA45AB4) en la documentación de Oracle. 
+ Su instancia de base de datos debe ser de una clase de instancia suficiente. Oracle OLAP no es compatible con la clase de instancia de base de datos db.t3.small. Para obtener más información, consulte [Clases de instancias de base de datos de RDS para Oracle](Oracle.Concepts.InstanceClasses.md). 
+ Su instancia de base de datos debe tener **Auto Minor Version Upgrade** habilitada. Esta opción permite que la instancia de base de datos reciba actualizaciones de la versión secundaria del motor de base de datos automáticamente cuando estén disponibles y es necesaria para cualquier opción que instale la máquina virtual Java (JVM) de Oracle Amazon RDS utiliza esta opción para actualizar su instancia de base de datos a la PSU (Patch Set Update) de Oracle más reciente o actualización de la versión (RU). Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 
+ La instancia de base de datos no debe tener un usuario llamado `OLAPSYS`. Si lo hace, se produce un error en la instalación de la opción OLAP.

## Prácticas recomendadas para Oracle OLAP
<a name="Oracle.Options.OLAP.BestPractces"></a>

A continuación, se indican las prácticas recomendadas para utilizar Oracle OLAP: 
+ Para que la seguridad sea máxima, use la opción `OLAP` con Capa de conexión segura (SSL). Para obtener más información, consulte [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md). 
+ Configure su instancia de base de datos para restringir el acceso a la misma. Para obtener más información, consulte [Escenarios de acceso a una instancia de base de datos en una VPC](USER_VPC.Scenarios.md) y [Uso de una instancia de base de datos en una VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Adición de la opción Oracle OLAP
<a name="Oracle.Options.OLAP.Add"></a>

A continuación se muestra el proceso general para añadir la opción `OLAP` a una instancia de base de datos: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

Si la máquina virtual Java (JVM) de Oracle *no* está instalada en la instancia de base de datos, se produce una breve interrupción mientras se agrega la opción `OLAP`. No hay interrupción si la máquina virtual Java (JVM) de Oracle ya está instalada en la instancia de base de datos. Después de añadir la opción , no es necesario reiniciar la instancia de base de datos. En cuanto esté activo el grupo de opciones, Oracle OLAP estará disponible. 

**Para agregar la opción OLAP a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 
   + En **Engine (Motor)**, elija la edición de Oracle que corresponda a la instancia de base de datos. 
   + En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Agregue la opción **OLAP** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, aplique el grupo de opciones al lanzar la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Uso de Oracle OLAP
<a name="Oracle.Options.OLAP.Using"></a>

Una vez que habilite la opción Oracle OLAP, podrá empezar a usarla. Para obtener una lista de características compatibles con Oracle OLAP, consulte [la documentación de Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/olaug/overview.html#GUID-E2056FE4-C623-4D29-B7D8-C4762F941966). 

## Eliminación de la opción Oracle OLAP
<a name="Oracle.Options.OLAP.Remove"></a>

Después de eliminar todos los objetos que utilizan los tipos de datos proporcionados por la opción `OLAP`, puede quitar la opción de una instancia de base de datos. Si la máquina virtual Java (JVM) de Oracle *no* está instalada en la instancia de base de datos, se produce una breve interrupción mientras se elimina la opción `OLAP`. No hay interrupción si la máquina virtual Java (JVM) de Oracle ya está instalada en la instancia de base de datos. Después de quitar la opción `OLAP`, no es necesario reiniciar la instancia de base de datos.

**Para eliminar la opción `OLAP`**

1. Haga una copia de seguridad de sus datos.
**aviso**  
Si la instancia utiliza tipos de datos habilitados como parte de la opción y si elimina la opción `OLAP`, puede perder datos. Para obtener más información, consulte [Copia de seguridad, restauración y exportación de datos](CHAP_CommonTasks.BackupRestore.md).

1. Compruebe si los objetos existentes hacen referencia a los tipos de datos o a las características de la opción `OLAP`. 

1. Suelte los objetos que hagan referencia a los tipos de datos o a las características de la opción `OLAP`.

1. Aplique alguna de las siguientes acciones:
   + Quite la opción `OLAP` del grupo de opciones al que pertenece. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción `OLAP`. Este cambio afecta a una única instancia de base de datos. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Capa de conexión segura de Oracle
<a name="Appendix.Oracle.Options.SSL"></a>

A fin de habilitar el cifrado SSL para una instancia de base de datos de RDS para Oracle, añada la opción Oracle SSL al grupo de opciones asociado a la instancia de base de datos. Amazon RDS utiliza un segundo puerto, según lo requiera Oracle, para las conexiones SSL. Este enfoque permite que se produzca la comunicación cifrada de SSL y de texto sin cifrar al mismo tiempo entre una instancia de base de datos y SQL\$1Plus. Por ejemplo, es posible utilizar el puerto con la comunicación de texto sin cifrar para ponerse en contacto con otros recursos dentro de una VPC mientras se utiliza el puerto con comunicación cifrada SSL para ponerse en contacto con recursos situados fuera de la VPC.

**nota**  
Se puede utilizar SSL o Native Network Encryption (NNE) en la misma instancia de base de datos de RDS para Oracle, pero no ambos. Si se utiliza el cifrado SSL, se debe desactivar cualquier otro cifrado de conexión. Para obtener más información, consulte [Oracle Native Network Encryption](Appendix.Oracle.Options.NetworkEncryption.md).

SSL/TLS y NNE ya no forman parte de Oracle Advanced Security. En RDS para Oracle, el cifrado SSL puede utilizarse con las ediciones con licencia de las siguientes versiones:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**Topics**
+ [

## Versiones de TLS para la opción Oracle SSL
](#Appendix.Oracle.Options.SSL.TLS)
+ [

## Conjuntos de cifrado para la opción Oracle SSL
](#Appendix.Oracle.Options.SSL.CipherSuites)
+ [

## Compatibilidad FIPS
](#Appendix.Oracle.Options.SSL.FIPS)
+ [

## Compatibilidad de certificados con conjuntos de cifrado
](#Appendix.Oracle.Options.SSL.CertificateCompatibility)
+ [

# Adición de la opción SSL
](Appendix.Oracle.Options.SSL.OptionGroup.md)
+ [

# Configuración de SQL\$1Plus para utilizar SSL con una instancia de base de datos de RDS para Oracle
](Appendix.Oracle.Options.SSL.ClientConfiguration.md)
+ [

# Conexión a una instancia de base de datos de RDS para Oracle mediante SSL
](Appendix.Oracle.Options.SSL.Connecting.md)
+ [

# Configuración de una conexión SSL a través de JDBC
](Appendix.Oracle.Options.SSL.JDBC.md)
+ [

# Obligatoriedad de la coincidencia del DN con una conexión SSL
](Appendix.Oracle.Options.SSL.DNMatch.md)
+ [

# Solución de problemas de las conexiones SSL
](Appendix.Oracle.Options.SSL.troubleshooting.md)

## Versiones de TLS para la opción Oracle SSL
<a name="Appendix.Oracle.Options.SSL.TLS"></a>

Amazon RDS para Oracle supports Transport Layer Security (TLS) versiones 1.0 y 1.2. Cuando añada una nueva opción Oracle SSL, establezca `SQLNET.SSL_VERSION` explícitamente en un valor válido. Los siguientes valores están permitidos para esta continuación de opciones:
+ `"1.0"`: los clientes pueden conectarse a la instancia de base de datos utilizando TLS versión 1.0 solo. Para las opciones de Oracle SSL existentes, `SQLNET.SSL_VERSION` se establece en `"1.0"` automáticamente. Puede cambiar la configuración si es necesario.
+ `"1.2"`: los clientes pueden conectarse a la instancia de base de datos utilizando TLS 1.2 solo.
+ `"1.2 or 1.0"`: los clientes pueden conectarse a la instancia de base de datos utilizando TLS 1.2 o 1.0.

## Conjuntos de cifrado para la opción Oracle SSL
<a name="Appendix.Oracle.Options.SSL.CipherSuites"></a>

Amazon RDS para Oracle es compatible con múltiples conjuntos de cifrado SSL. De manera predeterminada, la opción Oracle SSL está configurada para utilizar el conjunto de cifrado `SSL_RSA_WITH_AES_256_CBC_SHA`. Para especificar un conjunto de cifrado diferente para utilizarlo en las conexiones SSL, utilice la configuración de opciones `SQLNET.CIPHER_SUITE`.

Puede especificar varios valores para `SQLNET.CIPHER_SUITE`. Esta técnica resulta útil si tiene enlaces de bases de datos entre sus instancias de base de datos y decide actualizar los conjuntos de cifrado.

En la siguiente tabla se resume la compatibilidad de SSL para RDS para Oracle en todas las ediciones de Oracle Database 19c y 21c.


| Conjunto de cifrado (SQLNET.CIPHER\$1SUITE) | Compatibilidad de la versión de TLS (SQLNET.SSL\$1VERSION) | Compatibilidad FIPS | Conforme con FedRAMP | 
| --- | --- | --- | --- | 
| SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA (predeterminado) | 1.0 y 1.2 | Sí | No | 
| SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA256 | 1.2 | Sí | No | 
| SSL\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 1.2 | Sí | No | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 1.2 | Sí | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 | 1.2 | Sí | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 | 1.2 | Sí | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 | 1.2 | Sí | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 1.2 | Sí | Sí | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 1.2 | Sí | Sí | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 1.2 | Sí | Sí | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 | 1.2 | Sí | Sí | 

## Compatibilidad FIPS
<a name="Appendix.Oracle.Options.SSL.FIPS"></a>

RDS para Oracle le permite usar el estándar federal de procesamiento de la información (FIPS) para 140-2. FIPS 140-2 es un estándar del gobierno estadounidense que define los requisitos de seguridad de los módulos criptográficos. Para activar el estándar FIPS, establezca el valor `FIPS.SSLFIPS_140` en `TRUE` para la opción SSL de Oracle. Cuando FIPS 140-2 se configura para SSL, las bibliotecas criptográficas cifran los datos entre el cliente y la instancia de base de datos de RDS para Oracle.

Los clientes deben usar el conjunto de cifrado compatible con FIPS. Al establecer una conexión, el cliente y la instancia de base de datos de RDS para Oracle negocian qué conjunto de cifrado utilizar al transmitir mensajes entre ellos. La tabla en [Conjuntos de cifrado para la opción Oracle SSL](#Appendix.Oracle.Options.SSL.CipherSuites) muestra los conjuntos de cifrado SSL compatibles con FIPS para cada versión de TLS. Para obtener más información, consulte [Oracle Database FIPS 140-2 Settings](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/dbseg/oracle-database-fips-140-settings.html#GUID-DDBEB3F9-B216-44BB-8C18-43B5E468CBBB) en la documentación de Oracle.

## Compatibilidad de certificados con conjuntos de cifrado
<a name="Appendix.Oracle.Options.SSL.CertificateCompatibility"></a>

RDS para Oracle admite certificados RSA y de algoritmo de firma digital de curva elíptica (ECDSA). Al configurar SSL para la instancia de base de datos, debe asegurarse de que los conjuntos de cifrado que especifique en la configuración de la opción `SQLNET.CIPHER_SUITE` sean compatibles con el tipo de certificado utilizado por la instancia de base de datos.

En la siguiente tabla, se muestra la compatibilidad entre los tipos de certificados y los conjuntos de cifrado:


| Tipo de certificado | Conjuntos de cifrado compatibles | Conjuntos de cifrado incompatibles | 
| --- | --- | --- | 
| Certificados RSA (rds-ca-2019, rds-ca-rsa2048-g1, rds-ca-rsa4096-g1) |  SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA256 SSL\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA  |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384  | 
| Certificados de ECDSA (rds-ca-ecc384-g1) |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384  |  SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA256 SSL\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA  | 

Al especificar varios conjuntos de cifrado en la configuración de la opción `SQLNET.CIPHER_SUITE`, asegúrese de incluir al menos un conjunto de cifrado que sea compatible con el tipo de certificado utilizado por la instancia de base de datos. Si utiliza un grupo de opciones con varias instancias de base de datos que tienen distintos tipos de certificados, incluya al menos un conjunto de cifrado para cada tipo de certificado.

Si intenta asociar un grupo de opciones a una opción de SSL que contenga solo conjuntos de cifrado incompatibles con el tipo de certificado de una instancia de base de datos, la operación producirá un error y aparecerá un mensaje de error que indica la incompatibilidad.

# Adición de la opción SSL
<a name="Appendix.Oracle.Options.SSL.OptionGroup"></a>

Para usar SSL, su instancia de base de datos de RDS para Oracle debe estar asociada a un grupo de opciones que incluya la opción `SSL`.

## Consola
<a name="Appendix.Oracle.Options.SSL.OptionGroup.Console"></a>

**Para agregar la opción SSL a un grupo de opciones, realice el siguiente procedimiento:**

1. Cree un nuevo grupo de opciones o identifique uno ya existente al que pueda añadir la opción `SSL`.

   Para obtener información acerca de cómo crear un grupo de opciones, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Agregue la opción `SSL` al grupo de opciones.

   Si solo desea utilizar conjuntos de cifrado verificados por FIPS para las conexiones SSL, establezca la opción `FIPS.SSLFIPS_140` en `TRUE`. Para obtener información sobre el estándar FIPS, consulte [Compatibilidad FIPS](Appendix.Oracle.Options.SSL.md#Appendix.Oracle.Options.SSL.FIPS).

   Para obtener información acerca de cómo añadir una opción a un grupo de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Cree una nueva instancia de base de datos de RDS para Oracle y asocie el grupo de opciones a ella, o bien modifique una instancia de base de datos de RDS para Oracle para asociarla al grupo de opciones.

   Para obtener información acerca de la creación de una instancia de base de datos, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).

   Para obtener información acerca de la modificación de una instancia de base de datos, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="Appendix.Oracle.Options.SSL.OptionGroup.CLI"></a>

**Para agregar la opción SSL a un grupo de opciones, realice el siguiente procedimiento:**

1. Cree un nuevo grupo de opciones o identifique uno ya existente al que pueda añadir la opción `SSL`.

   Para obtener información acerca de cómo crear un grupo de opciones, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Añada la opción `SSL` al grupo de opciones.

   Especifique las siguientes opciones de configuración:
   + `Port`: el número de puerto SSL.
   + `VpcSecurityGroupMemberships`: el grupo de seguridad de VPC para el que se ha habilitado la opción.
   + `SQLNET.SSL_VERSION`: la versión TLS que el cliente puede utilizar para conectarse a la instancia de base de datos.

   Por ejemplo, el siguiente comando de la AWS CLI añade la opción `SSL` a un grupo de opciones denominado `ora-option-group`.  
**Example**  

   Para Linux, macOS o:Unix

   ```
   aws rds add-option-to-option-group --option-group-name ora-option-group \
     --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'
   ```

   En:Windows

   ```
   aws rds add-option-to-option-group --option-group-name ora-option-group ^
     --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'
   ```

1. Cree una nueva instancia de base de datos de RDS para Oracle y asocie el grupo de opciones a ella, o bien modifique una instancia de base de datos de RDS para Oracle para asociarla al grupo de opciones.

   Para obtener información acerca de la creación de una instancia de base de datos, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).

   Para obtener información acerca de la modificación de una instancia de base de datos, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

# Configuración de SQL\$1Plus para utilizar SSL con una instancia de base de datos de RDS para Oracle
<a name="Appendix.Oracle.Options.SSL.ClientConfiguration"></a>

Para poder conectarse a una instancia de base de datos de RDS para Oracle que utilice la opción Oracle SSL, deberá configurar SQL\$1Plus antes de conectarse.

**nota**  
Para permitir el acceso a la instancia de base de los clientes adecuados, asegúrese de que configuren los grupos de seguridad correctamente. Para obtener más información, consulte [Control de acceso con grupos de seguridad](Overview.RDSSecurityGroups.md). Estas instrucciones también son para SQL\$1Plus y otros clientes que usan directamente un sistema interno de Oracle. Para las conexiones JDBC, consulte [Configuración de una conexión SSL a través de JDBC](Appendix.Oracle.Options.SSL.JDBC.md).

**Para configurar SQL\$1Plus para que use SSL para conectarse a una instancia de base de datos de RDS para Oracle**

1. Establezca la variable de entorno `ORACLE_HOME` en la ubicación del directorio principal de Oracle.

   La ruta al directorio principal de Oracle depende de cada instalación. En el ejemplo siguiente, se establece la variable de entorno `ORACLE_HOME`.

   ```
   prompt>export ORACLE_HOME=/home/user/app/user/product/19.0.0/dbhome_1
   ```

   Para obtener más información sobre cómo establecer variables de entorno de Oracle, consulte [SQL\$1Plus Environment Variables](http://docs.oracle.com/database/121/SQPUG/ch_two.htm#SQPUG331) en la documentación de Oracle y vea además la guía de instalación de Oracle correspondiente a su sistema operativo.

1. Agregue `$ORACLE_HOME/lib` a la variable de entorno `LD_LIBRARY_PATH`.

   En el ejemplo siguiente, se establece la variable de entorno LD\$1LIBRARY\$1PATH.

   ```
   prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 
   ```

1. Cree un directorio para el wallet de Oracle en `$ORACLE_HOME/ssl_wallet`.

   En el ejemplo siguiente, se crea el directorio del wallet de Oracle.

   ```
   prompt>mkdir $ORACLE_HOME/ssl_wallet
   ```

1. Descargue el archivo de paquete de certificados .pem que funciona con todas las Regiones de AWS y coloque el archivo en el directorio ssl\$1wallet. Para obtener más información, consulte [Uso de SSL/TLS para cifrar una conexión a una instancia o un clúster de base de datos](UsingWithRDS.SSL.md).

1. En el directorio `$ORACLE_HOME/network/admin`, modifique o cree el archivo `tnsnames.ora` e incluya la siguiente entrada.

   ```
   net_service_name = 
     (DESCRIPTION = 
       (ADDRESS_LIST = 
         (ADDRESS = 
           (PROTOCOL = TCPS) 
           (HOST = endpoint) 
           (PORT = ssl_port_number)
         )
       )
       (CONNECT_DATA = 
         (SID = database_name)
       )
       (SECURITY = 
         (SSL_SERVER_CERT_DN = "C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=endpoint")
       )
     )
   ```

1. En el mismo directorio, modifique o cree el archivo sqlnet.ora e incluya los siguientes parámetros.
**nota**  
Para comunicarse con entidades a través de una conexión segura TLS, Oracle requiere un wallet con los certificados necesarios para la autenticación. Puede usar la utilidad ORAPKI de Oracle para crear y mantener los wallets de Oracle, tal y como se muestra en el paso 7. Para obtener más información, consulte [Setting Up Oracle Wallet Using ORAPKI (Configuración de wallet de Oracle mediante ORAPKI)](https://docs.oracle.com/cd/E92519_02/pt856pbr3/eng/pt/tsvt/task_SettingUpOracleWalletUsingORAPKI.html) en la documentación de Oracle.

   ```
   WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_HOME/ssl_wallet))) 
   SSL_CLIENT_AUTHENTICATION = FALSE 
   SSL_VERSION = 1.0 
   SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA) 
   SSL_SERVER_DN_MATCH = ON
   ```
**nota**  
Puede establecer `SSL_VERSION` en un valor superior si su instancia de base de datos es compatible.

1. Ejecute el siguiente comando para crear el wallet de Oracle.

   ```
   prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only
   ```

1. Extraiga cada certificado del archivo de paquete .pem en un archivo .pem independiente mediante una utilidad del sistema operativo.

1. Agregue cada certificado a su wallet mediante comandos `orapki` independientes y sustituya `certificate-pem-file` por el nombre absoluto del archivo .pem.

   ```
   prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert
         certificate-pem-file -auto_login_only
   ```

   Para obtener más información, consulte [Rotar certificados SSL/TLS](UsingWithRDS.SSL-certificate-rotation.md).

# Conexión a una instancia de base de datos de RDS para Oracle mediante SSL
<a name="Appendix.Oracle.Options.SSL.Connecting"></a>

Después de configurar SQL\$1Plus para utilizar SSL tal como se ha descrito anteriormente, puede conectarse a la instancia de base de datos de RDS para Oracle con la opción SSL. Opcionalmente, puede primero exportar el valor `TNS_ADMIN` que apunta al directorio que contiene los archivos tnsnames.ora y sqlnet.ora. Si realiza este procedimiento, se asegurará de que SQL\$1Plus puede detectar estos archivos sistemáticamente. En el siguiente ejemplo se exporta el valor `TNS_ADMIN`.

```
export TNS_ADMIN = ${ORACLE_HOME}/network/admin          
```

Conéctese a la instancia de base de datos. Por ejemplo, puede conectarse utilizando SQL\$1Plus y un *<net\$1service\$1name>* en un archivo tnsnames.ora.

```
sqlplus mydbuser@net_service_name          
```

También puede conectar a la instancia de base de datos mediante SQL\$1Plus sin utilizar un archivo tnsnames.ora utilizando el siguiente comando.

```
sqlplus 'mydbuser@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = endpoint) (PORT = ssl_port_number))(CONNECT_DATA = (SID = database_name)))'          
```

También puede conectarse a la instancia de base de datos de RDS para Oracle sin utilizar SSL. Por ejemplo, el siguiente comando se conecta a la instancia de base de datos a través del puerto de texto sin cifrar que no utiliza el cifrado SSL.

```
sqlplus 'mydbuser@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = endpoint) (PORT = port_number))(CONNECT_DATA = (SID = database_name)))'          
```

Si desea cerrar el acceso al puerto TCP (Protocolo de control de transmisión), cree un grupo de seguridad sin entradas de dirección IP y añádalo a la instancia. Esta adición cierra las conexiones a través del puerto TCP, pero permite las conexiones a través del puerto SSL que se realizan desde las direcciones IP incluidas en el rango permitido por el grupo de seguridad de la opción SSL.

# Configuración de una conexión SSL a través de JDBC
<a name="Appendix.Oracle.Options.SSL.JDBC"></a>

Para utilizar una conexión SSL a través de JDBC, debe crear un almacén de claves, confiar en el certificado de CA raíz de Amazon RDS y utilizar el siguiente fragmento de código especificado.

Para crear el almacén de claves con formato JKS, puede utilizar el siguiente comando. Para obtener más información acerca de la creación del almacén de claves, consulte [Creating a keystore](https://docs.oracle.com/cd/E35822_01/server.740/es_admin/src/tadm_ssl_jetty_keystore.html) en la documentación de Oracle. Para obtener información de referencia, consulte [keytool](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html) en la *Referencia de herramientas de la plataforma Java, edición estándar*.

```
keytool -genkey -alias client -validity 365 -keyalg RSA -keystore clientkeystore         
```

Siga estos pasos para confiar en el certificado de CA raíz de Amazon RDS.

**Para confiar en el certificado de CA raíz de Amazon RDS**

1. Descargue el archivo de paquete de certificados .pem que funciona con todas las Regiones de AWS y coloque el archivo en el directorio ssl\$1wallet.

   Para obtener más información acerca de cómo descargar certificados, consulte [Uso de SSL/TLS para cifrar una conexión a una instancia o un clúster de base de datos](UsingWithRDS.SSL.md).

1. Extraiga cada certificado del archivo .pem en un archivo independiente mediante una utilidad del sistema operativo.

1. Convierta cada certificado al formato .der mediante un comando `openssl` independiente y sustituya *certificate-pem-file* por el nombre del archivo .pem del certificado (sin la extensión .pem).

   ```
   openssl x509 -outform der -in certificate-pem-file.pem -out certificate-pem-file.der                
   ```

1. Importe cada certificado al almacén de claves utilizando el siguiente comando.

   ```
   keytool -import -alias rds-root -keystore clientkeystore.jks -file certificate-pem-file.der                
   ```

   Para obtener más información, consulte [Rotar certificados SSL/TLS](UsingWithRDS.SSL-certificate-rotation.md).

1. Confirme que el almacén de claves se haya creado correctamente.

   ```
   keytool -list -v -keystore clientkeystore.jks                                            
   ```

   Especifique la contraseña del almacén de claves cuando se le solicite.

El siguiente ejemplo de código muestra cómo configurar la conexión SSL mediante JDBC.

```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class OracleSslConnectionTest {
    private static final String DB_SERVER_NAME = "dns-name-provided-by-amazon-rds";
    private static final Integer SSL_PORT = "ssl-option-port-configured-in-option-group";
    private static final String DB_SID = "oracle-sid";
    private static final String DB_USER = "user-name";
    private static final String DB_PASSWORD = "password";
    // This key store has only the prod root ca.
    private static final String KEY_STORE_FILE_PATH = "file-path-to-keystore";
    private static final String KEY_STORE_PASS = "keystore-password";
 
    public static void main(String[] args) throws SQLException {
        final Properties properties = new Properties();
        final String connectionString = String.format(
                "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))",
                DB_SERVER_NAME, SSL_PORT, DB_SID);
        properties.put("user", DB_USER);
        properties.put("password", DB_PASSWORD);
        properties.put("oracle.jdbc.J2EE13Compliant", "true");
        properties.put("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH);
        properties.put("javax.net.ssl.trustStoreType", "JKS");
        properties.put("javax.net.ssl.trustStorePassword", KEY_STORE_PASS);
        final Connection connection = DriverManager.getConnection(connectionString, properties);
        // If no exception, that means handshake has passed, and an SSL connection can be opened
    }
}
```

**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

# Obligatoriedad de la coincidencia del DN con una conexión SSL
<a name="Appendix.Oracle.Options.SSL.DNMatch"></a>

Puede utilizar el parámetro de Oracle `SSL_SERVER_DN_MATCH` para hacer que sea obligatorio que el nombre distinguido (DN) del servidor de bases de datos coincida con su nombre de servicio. Si la verificación de coincidencia es obligatoria, SSL se asegura de que el certificado sea el del servidor. Si la verificación de coincidencia no es obligatoria, SSL realiza la comprobación, pero permite la conexión, independientemente de que haya o no una coincidencia. Si no se hace obligatoria la coincidencia, el servidor podría falsificar su identidad.

Para hacer obligatoria la coincidencia del DN, añada la propiedad de coincidencia del DN y utilice la cadena de conexión especificada a continuación.

Añada la propiedad a la conexión del cliente para hacer obligatoria la coincidencia del DN.

```
properties.put("oracle.net.ssl_server_dn_match", "TRUE");            
```

Utilice la siguiente cadena de conexión para hacer obligatoria la coincidencia del DN al utilizar SSL.

```
final String connectionString = String.format(
    "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))" +
    "(CONNECT_DATA=(SID=%s))" +
    "(SECURITY = (SSL_SERVER_CERT_DN = 
\"C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=%s\")))",
    DB_SERVER_NAME, SSL_PORT, DB_SID, DB_SERVER_NAME);
```

# Solución de problemas de las conexiones SSL
<a name="Appendix.Oracle.Options.SSL.troubleshooting"></a>

Puede consultar la base de datos y recibir el error `ORA-28860`.

```
ORA-28860: Fatal SSL error
28860. 00000 - "Fatal SSL error"
*Cause: An error occurred during the SSL connection to the peer. It is likely that this side sent data which the peer rejected.
*Action: Enable tracing to determine the exact cause of this error.
```

Este error se produce cuando el cliente intenta conectarse mediante una versión de TLS que el servidor no admite. Para evitar este error, edite sqlnet.ora y establezca `SSL_VERSION` en la versión de TLS correcta. Para obtener más información, consulte el [documento de soporte de Oracle 2748438.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=2748438.1) en My Oracle Support.

# Oracle Spatial
<a name="Oracle.Options.Spatial"></a>

Amazon RDS admite Oracle Spatial mediante el uso de la opción `SPATIAL`. Oracle Spatial proporciona un esquema y funciones SQL que facilitan el almacenamiento, la recuperación, la actualización y la consulta de colecciones de datos espaciales en una base de datos de Oracle. Para obtener más información, consulte [Spatial Concepts](http://docs.oracle.com/database/121/SPATL/spatial-concepts.htm#SPATL010) en la documentación de Oracle. Amazon RDS admite Oracle Spatial en todas las ediciones de todas las versiones compatibles.

## Funcionamiento de las agrupaciones de revisiones espaciales (SPB)
<a name="Oracle.Options.Spatial.SPBs"></a>

Cada trimestre, RDS para Oracle lanza nuevas versiones de motor secundarias para cada motor principal compatible. Una versión de motor de actualización de revisión (RU) incorpora correcciones de errores de Oracle al incluir las revisiones de RU para el trimestre especificado. Una versión de motor de agrupación de revisiones espaciales (SPB) contiene revisiones de RU más revisiones específicas de Oracle Spatial. Por ejemplo, 19.0.0.0.ru-2025-01.spb-1.r1 es una versión de motor secundaria que contiene las revisiones RU en la versión de motor 19.0.0.0.ru-2025-01.rur-2025-01.r1 más revisiones espaciales. Las SPB solo son compatibles con Oracle Database 19c.

Las SPB funcionan de la misma manera que las RU, aunque se llaman de manera diferente. Una RU utiliza el formato de nomenclatura 19.0.0.0.ru-2025-01.rur-2025-01.r1. Un nombre de SPB incluye el texto “spb”, como en 19.0.0.0.ru-2025-01.spb-1.r1. Por lo general, una SPB se publica entre dos y tres semanas después de la RU trimestral correspondiente. Por ejemplo, 19.0.0.0.ru-2025-01.spb-1.r1 se publica después de 19.0.0.0.ru-2025-01.rur-2025-01.r1.

RDS para Oracle tiene rutas separadas para actualizaciones automáticas de versiones secundarias de las RU y SPB. Si la instancia de base de datos utiliza una RU, RDS la actualiza automáticamente a una RU. Si la instancia de base de datos utiliza una SPB, RDS la actualiza a una SPB.

Para obtener más información acerca de las RU y SPB, consulte [Actualizaciones de la versión secundaria de Oracle](USER_UpgradeDBInstance.Oracle.Minor.md). Para obtener una lista de las RU y SPB compatibles con Oracle Database 19c, consulte [Amazon RDS para Oracle Database 19c (19.0.0.0)](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html) en *Notas de la versión de Amazon RDS para Oracle*.

## Requisitos previos de Oracle Spatial
<a name="Oracle.Options.Spatial.PreReqs"></a>

A continuación, se indican los requisitos previos para utilizar Oracle Spatial: 
+ Asegúrese de que su instancia de base de datos sea de una clase de instancia suficiente. Oracle Spatial no es compatible con las clases de instancia de base de datos db.t3.small. Para obtener más información, consulte [Clases de instancias de base de datos de RDS para Oracle](Oracle.Concepts.InstanceClasses.md). 
+ Asegúrese de que su instancia de base de datos tiene habilitada la **Actualización automática de la versión menor**. Esta opción permite que la instancia de base de datos reciba actualizaciones de la versión secundaria del motor de base de datos automáticamente cuando estén disponibles y es necesaria para cualquier opción que instale la máquina virtual Java (JVM) de Oracle Amazon RDS utiliza esta opción para actualizar su instancia de base de datos a la PSU (Patch Set Update) de Oracle más reciente o actualización de la versión (RU). Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Prácticas recomendadas de Oracle Spatial
<a name="Oracle.Options.Spatial.BestPractces"></a>

A continuación, se indican las prácticas recomendadas para utilizar Oracle Spatial: 
+ Para que la seguridad sea máxima, use la opción `SPATIAL` con Capa de conexión segura (SSL). Para obtener más información, consulte [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md). 
+ Configure su instancia de base de datos para restringir el acceso a la misma. Para obtener más información, consulte [Escenarios de acceso a una instancia de base de datos en una VPC](USER_VPC.Scenarios.md) y [Uso de una instancia de base de datos en una VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Adición de la opción Oracle Spatial
<a name="Oracle.Options.Spatial.Add"></a>

A continuación se muestra el proceso general para añadir la opción `SPATIAL` a una instancia de base de datos: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

Si la máquina virtual Java (JVM) de Oracle *no* está instalada en la instancia de base de datos, se produce una breve interrupción mientras se agrega la opción `SPATIAL`. No hay interrupción si la máquina virtual Java (JVM) de Oracle ya está instalada en la instancia de base de datos. Después de añadir la opción , no es necesario reiniciar la instancia de base de datos. En cuanto esté activo el grupo de opciones, Oracle Spatial estará disponible. 

**nota**  
Durante esta interrupción, las funciones de verificación de contraseña se deshabilitan brevemente. También puede esperar ver eventos relacionados con las funciones de verificación de contraseña durante la interrupción. Las funciones de verificación de contraseña se vuelven a habilitar antes de que la instancia de base de datos de Oracle esté disponible.

**Para añadir la opción `SPATIAL` a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine (Motor)**, elija la edición de Oracle que corresponda a la instancia de base de datos. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada la opción **SPATIAL** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Eliminación de la opción Oracle Spatial
<a name="Oracle.Options.Spatial.Remove"></a>

Después de eliminar todos los objetos que utilizan los tipos de datos proporcionados por la opción `SPATIAL`, puede eliminar la opción de una instancia de base de datos. Si la máquina virtual Java (JVM) de Oracle *no* está instalada en la instancia de base de datos, se produce una breve interrupción mientras se elimina la opción `SPATIAL`. No hay interrupción si la máquina virtual Java (JVM) de Oracle ya está instalada en la instancia de base de datos. Después de quitar la opción `SPATIAL`, no es necesario reiniciar la instancia de base de datos.

**Para eliminar la opción `SPATIAL`**

1. Haga una copia de seguridad de sus datos.
**aviso**  
Si la instancia utiliza tipos de datos habilitados como parte de la opción y si elimina la opción `SPATIAL`, puede perder datos. Para obtener más información, consulte [Copia de seguridad, restauración y exportación de datos](CHAP_CommonTasks.BackupRestore.md).

1. Compruebe si los objetos existentes hacen referencia a los tipos de datos o a las características de la opción `SPATIAL`. 

   Si existen opciones `SPATIAL`, la instancia puede quedarse atascada al aplicar el nuevo grupo de opciones que no tiene la opción `SPATIAL`. Puede identificar los objetos mediante las siguientes consultas:

   ```
   SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME, BYTES/1024/1024 mbytes
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE '%TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
          (SELECT DISTINCT OWNER, TABLE_NAME 
           FROM   DBA_TAB_COLUMNS
           WHERE  DATA_TYPE='SDO_GEOMETRY'
           AND    OWNER <> 'MDSYS')
   ORDER BY 1,2,3,4;
   
   SELECT OWNER, TABLE_NAME, COLUMN_NAME
   FROM   DBA_TAB_COLUMNS 
   WHERE  DATA_TYPE = 'SDO_GEOMETRY' 
   AND    OWNER <> 'MDSYS' 
   ORDER BY 1,2,3;
   ```

1. Suelte los objetos que hagan referencia a los tipos de datos o a las características de la opción `SPATIAL`.

1. Aplique alguna de las siguientes acciones:
   + Quite la opción `SPATIAL` del grupo de opciones al que pertenece. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modifique la instancia de base de datos y especifique otro grupo de opciones que no incluya la opción `SPATIAL`. Este cambio afecta a una única instancia de base de datos. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle SQLT
<a name="Oracle.Options.SQLT"></a>

Amazon RDS admite Oracle SQLTXPLAIN (SQLT) mediante el uso de la opción SQLT. Puede utilizar SQLT con cualquier edición de Oracle Database 19c y versiones posteriores.

El enunciado `EXPLAIN PLAN` de Oracle puede determinar el plan de ejecución de una instrucción SQL. Puede verificar si el optimizador de Oracle elige un plan de ejecución determinado, como una combinación de bucles anidados. También le ayuda a comprender las decisiones del optimizador, p. ej. por qué elige una combinación de bucles anidados sobre una combinación hash. Así pues, `EXPLAIN PLAN` le ayuda a comprender el desempeño de la instrucción.

SQLT es una utilidad de Oracle que produce un informe. En el informe se incluyen estadísticas de objetos, metadatos de objetos, parámetros de inicialización relacionados con el optimizador y otra información que puede usar un administrador de base de datos para ajustar una instrucción SQL y obtener un desempeño óptimo. SQLT produce un informe HTML con hipervínculos a todas las secciones del informe.

A diferencia de los informes de Automatic Workload Repository o Statspack, SQLT funciona en instrucciones SQL individuales. SQLT es un conjunto de archivos SQL, PL/SQL y SQL\$1Plus que recopilan, almacenan y muestran datos de desempeño. 

A continuación se encuentran las versiones compatibles de Oracle para cada versión de SQLT.


****  

| Versión de SQLT | Oracle Database 21c | Oracle Database 19c | 
| --- | --- | --- | 
|  2018-07-25.v1  |  Soportado  |  Soportado  | 
|  2018-03-31.v1  |  No admitido  |  No admitido  | 
|  2016-04-29.v1  |  No admitido  |  No admitido  | 

Para descargar SQLT y acceder a sus instrucciones de uso, haga lo siguiente:
+ Inicie sesión en su cuenta de My Oracle Support y abra los siguientes documentos:
+ Para descargar SQLT: [documento 215187.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=215187.1)
+ Para obtener instrucciones de uso de SQLT: [documento 1614107.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1614107.1)
+ Para consultar las preguntas frecuentes acerca de SQLT: [documento 1454160.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1454160.1)
+ Para obtener información acerca de la lectura de la salida SQLT: [documento 1456176.1](https://support.oracle.com/epmos/main/downloadattachmentprocessor?parent=DOCUMENT&sourceId=1456176.1&attachid=1456176.1:58&clickstream=yes)
+ Para interpretar el informe principal: [documento 1922234.1](https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=215187.1&id=1922234.1)

Amazon RDS no admite los siguientes métodos SQLT: 
+ `XPLORE` 
+ `XHUME` 

## Requisitos previos para SQLT
<a name="Oracle.Options.SQLT.PreReqs"></a>

A continuación se indican los requisitos previos para utilizar SQLT:
+ Debe quitar los usuarios y funciones requeridos por SQLT, si existen.

  La opción SQLT crea los siguientes usuarios y funciones en una instancia de base de datos: 
  + `SQLTXPLAIN` usuario
  + `SQLTXADMIN` usuario
  + `SQLT_USER_ROLE` rol

  Si su instancia de base de datos tiene cualquiera de estos usuarios o funciones, inicie sesión en la instancia de base de datos mediante un cliente SQL y suéltelos mediante las siguientes instrucciones:

  ```
  DROP USER SQLTXPLAIN CASCADE;
  DROP USER SQLTXADMIN CASCADE;   
  DROP ROLE SQLT_USER_ROLE CASCADE;
  ```
+ Debe quitar los espacios de tablas requeridos por SQLT, si existen.

  La opción SQLT crea los siguientes espacios de tablas en una instancia de base de datos: 
  + `RDS_SQLT_TS`
  + `RDS_TEMP_SQLT_TS`

  Si su instancia de base de datos tiene estos espacios de tablas, inicie sesión en la instancia de base de datos mediante un cliente SQL y suéltelos.

## Configuración de la opción SQLT
<a name="Oracle.Options.SQLT.Options"></a>

 SQLT puede trabajar con características con licencia proporcionadas por los paquetes Oracle Tuning Pack y Oracle Diagnostics Pack. El paquete Oracle Tuning Pack incluye SQL Tuning Advisor, mientras que Oracle Diagnostics Pack incluye Automatic Workload Repository. La configuración de SQLT habilita o deshabilita el acceso a estas características desde SQLT. 

Amazon RDS admite los siguientes valores para las opciones de SQLT. 


****  

| Ajuste de la opción | Valores válidos | Valor predeterminado | Descripción | 
| --- | --- | --- | --- | 
|  `LICENSE_PACK`  |  `T`, `D`, `N`  |  `N`   |  Los paquetes Oracle Management Pack a los que desea obtener acceso con SQLT. Escriba uno de los siguientes valores: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Oracle.Options.SQLT.html)  Amazon RDS no proporciona licencias para estos paquetes Oracle Management Pack. Si indica que desea usar un paquete que no se incluye en su instancia de base de datos, puede usar SQLT con la instancia de base de datos. Sin embargo, SQLT no puede obtener acceso al paquete y en el informe de SQLT no se incluyen los datos del mismo. Por ejemplo, si especifica `T`, pero la instancia de base de datos no incluye el paquete Oracle Tuning Pack, SQLT trabaja en la instancia de base de datos, pero el informe que genera no contiene datos relacionados con el paquete Oracle Tuning Pack.   | 
|  `VERSION`  |  `2016-04-29.v1` `2018-03-31.v1` `2018-07-25.v1`  |  `2016-04-29.v1`   |  La versión de SQLT que desea instalar.  Para la base de datos Oracle 19c y 21c, la única versión compatible es `2018-07-25.v1`. Esta versión es la predeterminada para estas versiones.   | 

## Adición de la opción SQLT
<a name="Oracle.Options.SQLT.Add"></a>

A continuación se muestra el proceso general para añadir la opción SQLT a una instancia de base de datos: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción SQLT al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

Después de añadir la opción SQLT, esta se activará en cuanto se active el grupo de opciones. 

**Para añadir la opción SQLT a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine**, elija la edición de Oracle que desea utilizar. La opción SQLT se admite en todas las ediciones. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada la opción **SQLT** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 

      
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

1. (Opcional) Verifique la instalación de SQLT en cada instancia de base de datos con la opción SQLT. 

   1. Use un cliente SQL para conectarse a la instancia de base de datos como usuario maestro.

      Para obtener información acerca de la conexión a su base de datos Oracle mediante un cliente SQL, consulte [Conexión a una instancia de base de datos de Oracle](USER_ConnectToOracleInstance.md).

   1. Ejecute la siguiente consulta:

      ```
      SELECT sqltxplain.sqlt$a.get_param('tool_version') sqlt_version FROM DUAL;                        
      ```

      La consulta devuelve la versión actual de la opción SQLT en Amazon RDS. `12.1.160429` es un ejemplo de una versión de SQLT que está disponible en Amazon RDS.

1. Cambie las contraseñas de los usuarios que crea la opción SQLT.

   1. Use un cliente SQL para conectarse a la instancia de base de datos como usuario maestro.

   1. Ejecute la siguiente instrucción SQL para cambiar la contraseña del usuario `SQLTXADMIN`:

      ```
      ALTER USER SQLTXADMIN IDENTIFIED BY new_password ACCOUNT UNLOCK;                         
      ```
**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

   1. Ejecute la siguiente instrucción SQL para cambiar la contraseña del usuario `SQLTXPLAIN`:

      ```
      ALTER USER SQLTXPLAIN IDENTIFIED BY new_password ACCOUNT UNLOCK;                         
      ```
**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

**nota**  
La actualización de SQLT requiere la desinstalación de una versión anterior de SQLT para, a continuación, instalar la versión nueva. Así pues, todos los metadatos SQLT se pueden perder al actualizar SQLT. Una actualización de versión principal de una base de datos también desinstala y vuelve a instalar SQLT. Un ejemplo de una actualización de versión principal es una actualización de Oracle Database 19c a Oracle Database 21c.

## Uso de SQLT
<a name="Oracle.Options.SQLT.Using"></a>

SQLT funciona con la utilidad Oracle SQL\$1Plus. 

**Para usar SQLT**

1.  Descargue el archivo .zip SQLT en el [documento 215187.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=215187.1) del sitio de My Oracle Support. 
**nota**  
No se puede descargar SQLT 12.1.160429 del sitio de My Oracle Support. Oracle ha retirado esta versión antigua.

1.  Descomprima el archivo .zip SQLT. 

1.  En un símbolo del sistema, cambie al directorio `sqlt/run` de su sistema de archivos. 

1.  En el símbolo del sistema, abra SQL\$1Plus y conéctese a la instancia de base de datos como usuario maestro. 

   Para obtener más información acerca de la conexión a una instancia de base de datos mediante SQL\$1Plus, consulte [Conexión a una instancia de base de datos de Oracle](USER_ConnectToOracleInstance.md).

1.  Obtenga el ID de SQL de una instrucción SQL: 

   ```
   SELECT SQL_ID FROM V$SQL WHERE SQL_TEXT='sql_statement';                               
   ```

   Su resultado es similar al siguiente: 

   ```
   SQL_ID
   -------------
   chvsmttqjzjkn
   ```

1. Analice una instrucción SQL con SQLT: 

   ```
   START sqltxtract.sql sql_id sqltxplain_user_password                    
   ```

   Por ejemplo, para el ID de SQL `chvsmttqjzjkn`, escriba lo siguiente:

   ```
   START sqltxtract.sql chvsmttqjzjkn sqltxplain_user_password                    
   ```

   SQLT genera el informe HTML y recursos relacionados como un archivo .zip del directorio de ejecución del comando SQLT.

1.  (Opcional) Para permitir a los usuarios de la aplicación diagnosticar instrucciones SQL con SQLT, conceda `SQLT_USER_ROLE` a cada usuario de la aplicación con la siguiente instrucción: 

   ```
   GRANT SQLT_USER_ROLE TO application_user_name;                
   ```
**nota**  
Oracle no recomienda ejecutar SQLT con el usuario `SYS` o con usuarios que tienen la función `DBA`. Es una práctica recomendada ejecutar SQLT Diagnostics mediante la cuenta del usuario de la aplicación, concediendo `SQLT_USER_ROLE` a este.

## Actualización de la opción de SQLT
<a name="Oracle.Options.SQLT.Upgrading"></a>

Con Amazon RDS for Oracle, puede actualizar la opción de SQLT de su versión existente a una versión superior. Para actualizar la opción de SQLT, complete los pasos 1–3 de [Uso de SQLT](#Oracle.Options.SQLT.Using) para obtener la nueva versión de SQLT. Además, si concedió privilegios para la versión anterior de SQLT en el paso 7 de esa sección, vuelva a conceder los privilegios para la nueva versión de SQLT. 

La actualización de la opción de SQLT da lugar a la pérdida de los metadatos de la versión más antigua de SQLT. El esquema y los objetos relacionados con la versión más antigua de SQLT se borran y se instala la versión más reciente de SQLT. Para obtener más información acerca de los cambios en la última versión de SQLT, consulte el [documento 1614201.1](https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=215187.1&id=1614201.1) en el sitio de My Oracle Support.

**nota**  
No se admiten las versiones de nivel inferior.

## Modificación de la configuración de SQLT
<a name="Oracle.Options.SQLT.ModifySettings"></a>

Después de habilitar SQLT, puede modificar la configuración de `LICENSE_PACK` y `VERSION` de la opción.

Para obtener más información acerca de cómo modificar la configuración de las opciones, consulte [Modificación de una configuración de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption). Para obtener más información acerca de cada opción, consulte [Configuración de la opción SQLT](#Oracle.Options.SQLT.Options). 

## Eliminación de la opción de SQLT
<a name="Oracle.Options.SQLT.Remove"></a>

Puede eliminar SQLT de una instancia de base de datos. 

Para quitar SQLT de una instancia de base de datos, realice una de las siguientes operaciones: 
+ Para quitar SQLT de varias instancias de base de datos, quite la opción SQLT del grupo de opciones al que pertenecen las instancias de base de datos. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 

   
+ Para quitar SQLT de una única instancia de base de datos, modifique la instancia y especifique un grupo de opciones distinto que no incluya la opción SQLT. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack"></a>

La opción Oracle Statspack instala y activa la característica de estadísticas de desempeño Oracle Statspack. Oracle Statspack es un conjunto de scripts SQL, PL/SQL y SQL\$1Plus que recopilan, almacenan y muestran datos de desempeño. Para obtener información acerca del uso de Oracle Statspack, consulte [Oracle Statspack](http://docs.oracle.com/cd/E13160_01/wli/docs10gr3/dbtuning/statsApdx.html) en la documentación de Oracle.

**nota**  
Oracle ha dejado de dar soporte para Oracle Statspack y lo ha reemplazado por una característica más avanzada: Automatic Workload Repository (AWR). AWR solo está disponible para los clientes de Oracle Enterprise Edition que han adquirido el paquete de diagnósticos. Puede utilizar Oracle Statspack con cualquier motor de base de datos de Oracle en Amazon RDS. No puede ejecutar Oracle Statspack en réplicas de lectura de Amazon RDS. 

## Configuración de Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack.setting-up"></a>

Para ejecutar scripts Statspack, debe agregar la opción Statspack.

**Para configurar Oracle Statspack**

1. En un cliente SQL, inicie sesión en Oracle DB con una cuenta administrativa.

1. Realice una de las siguientes acciones, dependiendo de si Statspack está instalado:
   + Si Statspack está instalado y la cuenta `PERFSTAT` está asociada con Statspack, vaya al Paso 4.
   + Si Statspack no está instalado y la cuenta `PERFSTAT` existe, elimínela de la siguiente manera:

     ```
     DROP USER PERFSTAT CASCADE;
     ```

     De lo contrario, al intentar agregar la opción Statspack se genera un error y `RDS-Event-0058`.

1. Agregue la opción Statspack a un grupo de opciones. Consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

   Amazon RDS instala de forma automática los scripts de Statspack en la instancia de base de datos y luego configura la cuenta `PERFSTAT`.

1. Restablezca la contraseña usando la siguiente instrucción SQL, reemplazando *pwd* por su nueva contraseña:

   ```
   ALTER USER PERFSTAT IDENTIFIED BY pwd ACCOUNT UNLOCK;
   ```

   Puede iniciar sesión con la cuenta de usuario `PERFSTAT` y ejecutar los scripts de Statspack.

1. Otorgue el privilegio `CREATE JOB` a la cuenta `PERFSTAT` mediante la siguiente instrucción:

   ```
   GRANT CREATE JOB TO PERFSTAT;
   ```

1. Asegúrese de que los eventos de espera inactiva de la tabla `PERFSTAT.STATS$IDLE_EVENT` se rellenan.

   Debido al error de Oracle 28523746, es posible que los eventos de espera inactiva en `PERFSTAT.STATS$IDLE_EVENT` no se rellenen. Para asegurarse de que todos los eventos inactivos están disponibles, ejecute la siguiente instrucción:

   ```
   INSERT INTO PERFSTAT.STATS$IDLE_EVENT (EVENT)
   SELECT NAME FROM V$EVENT_NAME WHERE WAIT_CLASS='Idle'
   MINUS
   SELECT EVENT FROM PERFSTAT.STATS$IDLE_EVENT;
   COMMIT;
   ```

## Generación de informes de Statspack
<a name="Appendix.Oracle.Options.Statspack.generating-reports"></a>

Un informe Statspack compara dos instantáneas.

**Para generar informes de Statspack**

1. En un cliente SQL, inicie sesión en Oracle DB con la cuenta de `PERFSTAT`.

1. Cree una instantánea utilizando cualquiera de las siguientes técnicas:
   + Cree manualmente una instantánea de Statspack.
   + Cree un trabajo que tome una instantánea de Statspack después de un intervalo de tiempo determinado. Por ejemplo, el trabajo siguiente crea una instantánea de Statspack cada hora:

     ```
     VARIABLE jn NUMBER;
     exec dbms_job.submit(:jn, 'statspack.snap;',SYSDATE,'TRUNC(SYSDATE+1/24,''HH24'')');
     COMMIT;
     ```

1. Vea las instantáneas mediante la siguiente consulta:

   ```
   SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
   ```

1. Ejecute el procedimiento de Amazon RDS `rdsadmin.rds_run_spreport`, reemplazando *begin\$1snap* y *end\$1snap* por los ID de instantánea:

   ```
   exec rdsadmin.rds_run_spreport(begin_snap,end_snap);
   ```

   Por ejemplo, el siguiente comando crea un informe basado en el intervalo entre las instantáneas 1 y 2 de Statspack:

   ```
   exec rdsadmin.rds_run_spreport(1,2);
   ```

   El nombre de archivo del informe de Statspack incluye el número de las dos instantáneas. Por ejemplo, un archivo de informe creado con las instantáneas 1 y 2 de Statspack se llamaría `ORCL_spreport_1_2.lst`.

1. Monitorice la salida en busca de errores.

   Oracle Statspack realiza comprobaciones antes de ejecutar el informe. Por lo tanto, también puede ver mensajes de error en la salida del comando. Por ejemplo, puede intentar generar un informe basado en un rango no válido, donde el valor de instantánea de Statspack inicial es mayor que el valor final. En este caso, la salida muestra el mensaje de error, pero el motor de base de datos no genera un archivo de error.

   ```
   exec rdsadmin.rds_run_spreport(2,1);
   *
   ERROR at line 1:
   ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot.
   ```

   Si utiliza un número no válido de instantánea de Statspack, la salida muestra un error. Por ejemplo, si intenta generar un informe para las instantáneas 1 y 50, pero la instantánea 50 no existe, el resultado muestra un error.

   ```
   exec rdsadmin.rds_run_spreport(1,50);
   *
   ERROR at line 1:
   ORA-20000: Could not find both snapshot IDs
   ```

1. (Opcional) 

   Para recuperar el informe, llame a los procedimientos del archivo de seguimiento, como se explica en [Uso de los archivos de seguimiento de Oracle](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles). 

   También puede descargar el informe de Statspack desde la consola de RDS. Vaya a la sección **Registro** de los detalles de la instancia de base de datos y elija **Descargar**: El siguiente ejemplo muestra `trace/ORCL_spreport_1_2.lst`  
![\[Muestra una lista de los archivos de registro de Oracle en la consola de RDS. El siguiente archivo de seguimiento está marcado con un círculo: trace/ORCL_spreport_1_2.lst.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/statspack1.png)

   Si hay un error al generar un informe, el motor de base de datos utiliza las mismas convenciones de nomenclatura que para un informe, pero con una extensión `.err`. Por ejemplo, si se produce un error al crear un informe con las instantáneas 1 y 7 de Statspack, el archivo de informe se denominaría `ORCL_spreport_1_7.err`. Puede descargar el informe de errores mediante las mismas técnicas que para un informe de instantáneas estándar.

## Eliminación de instantáneas de Statspack
<a name="Appendix.Oracle.Options.Statspack.removing-files"></a>

Para eliminar una variedad de instantáneas de Oracle Statspack, utilice el siguiente comando:

```
exec statspack.purge(begin snap, end snap); 
```

# Zona horaria Oracle
<a name="Appendix.Oracle.Options.Timezone"></a>

Puede usar la opción de zona horaria para cambiar la zona horaria del sistema empleada por la instancia de base de datos Oracle. Por ejemplo, puede cambiar la zona horaria de una instancia de base de datos para que sea compatible con un entorno on-premises o con una aplicación heredada. Esta opción cambia la zona horaria al nivel del host. El cambio de la zona horaria afecta a todas las columnas y valores de fecha, como `SYSDATE` y `SYSTIMESTAMP`.

La opción de zona horaria es distinta del comando `rdsadmin_util.alter_db_time_zone`. El comando `alter_db_time_zone` solo cambia la zona horaria para determinados tipos de datos. La opción de zona horaria afecta a todas las columnas y valores de fecha. Para obtener más información acerca de `alter_db_time_zone`, consulte [Configuración de la zona horaria de la base de datos](Appendix.Oracle.CommonDBATasks.TimeZoneSupport.md). Para obtener información acerca de las consideraciones de actualización, consulte [Consideraciones sobre la zona horaria](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.DST).

## Restricciones para configurar la zona horaria
<a name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

La opción de zona horaria es permanente y persistente. Por lo tanto, no puede hacer lo siguiente:
+ Elimine la opción de un grupo de opciones después de agregar la opción de zona horaria.
+ eliminar el grupo de opciones de una instancia de base de datos después de agregarlo
+ cambiar el ajuste de zona horaria en la opción por una zona horaria distinta

## Recomendaciones para configurar la zona horaria
<a name="Appendix.Oracle.Options.Timezone.PreReqs"></a>

Antes de añadir la opción de zona horaria a una base de datos de producción, le recomendamos que haga lo siguiente:
+ Cree una instantánea de su instancia de base de datos. Si configura por accidente la zona horaria de forma incorrecta, debe devolver la instancia de base de datos a su configuración de zona horaria anterior. Para obtener más información, consulte [Creación de una instantánea de base de datos para una instancia de base de datos single-AZ para Amazon RDS](USER_CreateSnapshot.md).
+ Añada la opción de zona horaria a una instancia de base de datos de prueba. Al añadir la opción de zona horaria, puede haber problemas en las tablas que utilizan la fecha del sistema para sumar fechas u horas. Le recomendamos que analice sus datos y aplicaciones en la instancia de prueba. De esta forma, puede evaluar el impacto que puede tener cambiar la zona horaria en la instancia de producción.

Si su instancia de base de datos usa el grupo de opciones predeterminado, siga estos pasos:

1. Cree una instantánea de su instancia de base de datos.

1. Añada la opción de zona horaria a una instancia de base de datos.

Si su instancia de base de datos usa un grupo de opciones no predeterminado, siga estos pasos:

1. Cree una instantánea de su instancia de base de datos.

1. Cree un nuevo grupo de opciones.

1. Añada la opción de zona horaria junto con todas las demás opciones que estén asociadas actualmente al grupo de opciones existente.

   Esto evita que se desinstalen las opciones existentes y, al mismo tiempo, se habilita la opción de zona horaria.

1. Añada el grupo de opciones a la instancia de base de datos.

## Configuración de la opción de zona horaria
<a name="Appendix.Oracle.Options.Timezone.Options"></a>

Amazon RDS admite los siguientes valores para las opciones de zona horaria. 


****  

| Ajuste de la opción | Valores válidos | Descripción | 
| --- | --- | --- | 
| `TIME_ZONE` |  Una de las zonas horarias disponibles. Puede consultar la lista completa e [Zonas horarias disponibles](#Appendix.Oracle.Options.Timezone.Zones).   |  Nueva zona horaria para la instancia de base de datos.   | 

## Adición de la opción de zona horaria
<a name="Appendix.Oracle.Options.Timezone.Add"></a>

Siga los pasos indicados a continuación para agregar la opción de zona horaria a su instancia de base de datos:

1. (Recomendado) Cree una instantánea de su instancia de base de datos.

1. Realice una de las siguientes tareas siguientes:
   + Cree un nuevo grupo de opciones desde cero. Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).
   + Copie un grupo de opciones existente con la AWS CLI o la API. Para obtener más información, consulte [Copia de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).
   + Reutilice un grupo de opciones existente que no sea predeterminado. Se recomienda utilizar un grupo de opciones que no esté asociado actualmente a ninguna instancia de base de datos o instantánea.

1. Agregue la nueva opción al grupo de opciones del paso anterior.

1. Si el grupo de opciones que está actualmente asociado a la instancia de base de datos tiene opciones habilitadas, agregue estas opciones al nuevo grupo de opciones. Esta estrategia evita que se desinstalen las opciones existentes y, al mismo tiempo, se habilita la nueva opción.

1. Añada el nuevo grupo de opciones a la instancia de base de datos.

Cuando se añade la opción de zona horaria, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. 

### Consola
<a name="Appendix.Oracle.Options.Timezone.Console"></a>

**Adición de la opción de zona horaria a un grupo de opciones y asociarla a una instancia de base de datos**

1. En la consola de RDS, elija **Grupos de opciones**.

1. Elija el nombre del grupo de opciones al que desea agregar la opción.

1. Elija **Agregar opción**.

1. En **Nombre de la opción**, elija **Zona horaria** y, a continuación, configure los ajustes de la opción. 

1. Asocie el grupo de opciones a una instancia de base de datos nueva o ya existente: 
   + Si se trata de una instancia de base de datos nueva, aplique el grupo de opciones al lanzar la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Cuando se agrega la nueva opción a una instancia de base de datos existente, se produce una breve interrupción mientras la instancia de base de datos se reinicia automáticamente. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

### AWS CLI
<a name="Appendix.Oracle.Options.Timezone.CLI"></a>

En el ejemplo siguiente, se usa el comando [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) de la AWS CLI para añadir la opción `Timezone` y la opción de configuración `TIME_ZONE` a un grupo de opciones denominado `myoptiongroup`. La zona horaria establecida es `Africa/Cairo`. 

Para Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=Africa/Cairo}]" \
    --apply-immediately
```

Para Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=Africa/Cairo}]" ^
    --apply-immediately
```

## Modificación de la configuración de la zona horaria
<a name="Appendix.Oracle.Options.Timezone.ModifySettings"></a>

La opción de zona horaria es permanente y persistente. Una vez agregada a un grupo de opciones, no es posible retirarla de nuevo. Una vez agregado el grupo de opciones a una instancia de base de datos, no es posible retirarlo de nuevo. El valor de zona horaria de la opción no puede cambiarse por una zona horaria distinta. Si establece una zona horaria incorrecta, restaure una instantánea de la instancia de base de datos obtenida antes de añadir la opción de zona horaria. 

## Eliminación de la opción de zona horaria
<a name="Appendix.Oracle.Options.Timezone.Remove"></a>

La opción de zona horaria es permanente y persistente. Una vez agregada a un grupo de opciones, no es posible retirarla de nuevo. Una vez agregado el grupo de opciones a una instancia de base de datos, no es posible retirarlo de nuevo. Para eliminar la opción de zona horaria, restaure una instantánea de la instancia de base de datos obtenida antes de añadir la opción de zona horaria. 

## Zonas horarias disponibles
<a name="Appendix.Oracle.Options.Timezone.Zones"></a>

Los siguientes son los valores que pueden elegirse para la opción de zona horaria. 


****  

| Zona | Time zone (Zona horarioa) | 
| --- | --- | 
|  África  |  África/Casablanca, África/El Cairo, África/Harare, África/Lagos, África/Luanda, África/Monrovia, África/Nairobi, África/Trípoli, África/Windhoek   | 
|  América  |  América/Araguaína, América/Argentina/Buenos\$1Aires, América/Asunción, América/Bogotá, América/Caracas, América/Chicago, América/Chihuahua, América/Cuiaba, América/Denver, América/Detroit, América/Fortaleza, América/Godthab, América/Guatemala, América/Halifax, América/Lima, América/Los\$1Ángeles, América/Manaos, América/Matamoros, América/Ciudad\$1de\$1México, América/Monterrey, América/Montevideo, América/Nueva\$1York, América/Phoenix, América/Santiago, América/São\$1Paulo, América/Tijuana, América/Toronto   | 
|  Asia  |  Asia/Amán, Asia/Asjabad, Asia/Bagdad, Asia/Bakú, Asia/Bangkok, Asia/Beirut, Asia/Calcuta, Asia/Daca, Asia/Damasco, Asia/Ereván, Asia/Hong\$1Kong, Asia/Irkutsk, Asia/Jerusalén, Asia/Kabul, Asia/Karachi, Asia/Katmandú, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Magadán, Asia/Manila, Asia/Mascate, Asia/Novosibirsk, Asia/Rangún, Asia/Riad, Asia/Seúl, Asia/Shanghái, Asia/Singapur, Asia/Taipéi, Asia/Teherán, Asia/Tokio, Asia/Ulán\$1Bator, Asia/Vladivostok, Asia/Yakarta, Asia/Yakutsk   | 
|  Atlántico  |  Atlántico/Azores, Atlántico/Cabo\$1Verde   | 
|  Australia  |  Australia/Adelaida, Australia/Brisbane, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/Lord\$1Howe, Australia/Perth, Australia/Sídney   | 
|  Brasil  |  Brasil/DeNoronha, Brasil/Este   | 
|  Canadá  |  Canadá/Terranova, Canadá/Saskatchewan   | 
|  etc  |  Etc/GMT-3  | 
|  Europa  |  Europa/Ámsterdam, Europa/Atenas, Europa/Berlín, Europa/Dublín, Europa/Helsinki, Europa/Kaliningrado, Europa/Londres, Europa/Madrid, Europa/Moscú, Europa/París, Europa/Praga, Europa/Roma, Europa/Sarajevo   | 
|  Pacífico  |  Pacífico/Apia, Pacífico/Auckland, Pacífico/Chatham, Pacífico/Fiyi, Pacífico/Guam, Pacífico/Honolulu, Pacífico/Kiritimati, Pacífico/Marquesas, Pacífico/Samoa, Pacífico/Tongatapu, Pacífico/Wake   | 
|  EE. UU.  |  EE. UU./Alaska, EE. UU./Central, EE. UU./Indiana-Este, EE. UU./Este, EE. UU./Pacífico   | 
|  UTC  |  UTC  | 

# Actualización automática del archivo de zona horaria de Oracle
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade"></a>

Con la opción `TIMEZONE_FILE_AUTOUPGRADE`, puede actualizar el archivo de zona horaria actual a la versión más reciente de su instancia de base de datos de RDS for Oracle.

**Topics**
+ [

# Información general sobre los archivos de zona horaria de Oracle
](Appendix.Oracle.Options.Timezone-file-autoupgrade.tz-overview.md)
+ [

# Estrategias para actualizar el archivo de zona horaria
](Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.md)
+ [

# Tiempo de inactividad durante la actualización del archivo de zona horaria
](Appendix.Oracle.Options.Timezone-file-autoupgrade.considerations.md)
+ [

# Preparación para actualizar el archivo de zona horaria
](Appendix.Oracle.Options.Timezone-file-autoupgrade.preparing.md)
+ [

# Adición de la opción de actualización automática del archivo de zona horaria
](Appendix.Oracle.Options.Timezone-file-autoupgrade.adding.md)
+ [

# Verificación de los datos después de la actualización del archivo de zona horaria
](Appendix.Oracle.Options.Timezone-file-autoupgrade.checking.md)

# Información general sobre los archivos de zona horaria de Oracle
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.tz-overview"></a>

Un *archivo de zona horaria* de Oracle Database almacena la siguiente información:
+ Desfase con respecto a la hora universal coordinada (UTC)
+ Horas de transición para el horario de verano (DST)
+ Abreviaturas de hora estándar y DST

Oracle Database proporciona varias versiones de los archivos de zonas horarias. Cuando se crea una base de datos Oracle en un entorno local, se elige la versión del archivo de zona horaria. Para obtener más información, consulte [Choosing a Time Zone File](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/datetime-data-types-and-time-zone-support.html#GUID-805AB986-DE12-4FEA-AF56-5AABCD2132DF) (Selección de un archivo de zona horaria) en la *Oracle Database Globalization Support Guide* (Guía de soporte de globalización de Oracle Database).

Si las reglas cambian en lo referente al DST, Oracle publica nuevos archivos de zona horaria. Oracle publica estos nuevos archivos de zona horaria con independencia del calendario de actualizaciones de versiones (RU) y revisiones de actualizaciones de versiones (RUR). Los archivos de zona horaria residen en el host de la base de datos en el directorio `$ORACLE_HOME/oracore/zoneinfo/`. Los nombres de archivo de zona horaria utilizan el formato DSTv *version*, como en DSTv35.

## Cómo afecta el archivo de zona horaria a la transferencia de datos
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.data-transfer"></a>

En Oracle Database, el tipo de datos `TIMESTAMP WITH TIME ZONE` almacena datos de marca temporal y zona horaria. Datos con el tipo de datos `TIMESTAMP WITH TIME ZONE` utiliza las reglas de la versión del archivo de zona horaria asociada. Por lo tanto, cuando se actualiza el archivo de zona horaria, eso afecta a los datos `TIMESTAMP WITH TIME ZONE` existentes.

Se pueden producir problemas al transferir datos entre bases de datos que utilizan diferentes versiones del archivo de zona horaria. Por ejemplo, si importa datos de una base de datos de origen con una versión de archivo de zona horaria más alta que la base de datos de destino, la base de datos devuelve el error `ORA-39405`. Anteriormente, tenía que evitar el error utilizando cualquiera de las siguientes técnicas:
+ Crear una instancia de RDS para Oracle DB con el archivo de zona horaria deseado, exportar datos de la base de datos de origen y, a continuación, importarlos a la nueva base de datos.
+ Usar AWS DMS o replicación lógica para migrar los datos.

## Actualizaciones automáticas mediante la opción TIMEZONE\$1FILE\$1AUTOUPGRADE
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.option-overview"></a>

Cuando el grupo de opciones adjunto a su instancia de base de datos de RDS para Oracle incluye la opción `TIMEZONE_FILE_AUTOUPGRADE`, RDS actualiza los archivos de zona horaria de manera automática. Al garantizar que las bases de datos de Oracle utilicen la misma versión del archivo de zona horaria, evita tener que recurrir a técnicas manuales que consumen mucho tiempo para mover datos entre diferentes entornos. Tanto las bases de datos de contenedores (CDB) como las que no lo son admiten la opción `TIMEZONE_FILE_AUTOUPGRADE`.

Al añadir la opción `TIMEZONE_FILE_AUTOUPGRADE` al grupo de opciones, puede elegir si desea añadir la opción inmediatamente o durante el período de mantenimiento. Una vez que la instancia de base de datos aplique la nueva opción, RDS comprueba si puede instalar un archivo de *versión* DSTv más reciente. La *versión* de DStv de destino depende de lo siguiente:
+ La versión secundaria del motor que su instancia de base de datos está ejecutando actualmente
+ La versión secundaria del motor a la que desea actualizar la instancia de base de datos

Por ejemplo, la versión actual del archivo de zona horaria podría ser DSTv33. Cuando RDS aplique la actualización al grupo de opciones, podría determinar que DSTv34 ya está disponible en su sistema de archivos de la instancia de base de datos. RDS actualizará entonces su archivo de zona horaria a DSTv34 de manera automática.

Para buscar las versiones de DST disponibles en las actualizaciones de las versiones de RDS compatibles, consulte las revisiones en [Release notes for Amazon Relational Database Service (Amazon RDS) for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html) (Notas de versión de Amazon Relational Database Service [Amazon RDS] para Oracle). Por ejemplo, la [versión 19.0.0.0.ru-2022-10.rur-2022-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2022-10.rur-2022-10.r1) incluye la revisión 34533061: RDBMS - DSTV39 UPDATE - TZDATA2022C.

# Estrategias para actualizar el archivo de zona horaria
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies"></a>

La actualización del motor de base de datos y la adición de la opción `TIMEZONE_FILE_AUTOUPGRADE` a un grupo de opciones son operaciones independientes. Al agregar la opción `TIMEZONE_FILE_AUTOUPGRADE`, se inicia la actualización del archivo de zona horaria si hay uno más actual disponible. Ejecute los siguientes comandos (solo se muestran las opciones relevantes) inmediatamente o en el siguiente período de mantenimiento:
+ Actualice el motor de base de datos únicamente mediante el siguiente comando de la CLI de RDS:

  ```
  modify-db-instance --engine-version name ...
  ```
+ Para ello, agregue la opción `TIMEZONE_FILE_AUTOUPGRADE` únicamente mediante el siguiente comando de la CLI: 

  ```
  add-option-to-option-group --option-group-name name --options OptionName=TIMEZONE_FILE_AUTOUPGRADE ...
  ```
+ Actualice el motor de base de datos y agregue un nuevo grupo de opciones a la instancia mediante el siguiente comando de la CLI:

  ```
  modify-db-instance --engine-version name --option-group-name name ...
  ```

La estrategia de actualización depende de si desea actualizar la base de datos y el archivo de zona horaria de manera conjunta o realizar solo una de estas operaciones. Tenga en cuenta que si actualiza el grupo de opciones y, a continuación, el motor de base de datos en operaciones de API independientes, es posible que se esté realizando una actualización del archivo de zona horaria cuando actualice el motor de base de datos.

Los ejemplos de esta sección suponen lo siguiente:
+ Aún no ha agregado `TIMEZONE_FILE_AUTOUPGRADE` al grupo de opciones asociado actualmente a su instancia de base de datos.
+ Su instancia de base de datos utiliza la versión de base de datos 19.0.0.0.ru-2019-07.rur-2019-07.r1 y el archivo de zona horaria DSTv33.
+ Su sistema de archivos de instancia de base de datos incluye el archivo DSTv34. 
+ La actualización de la versión 19.0.0.0.ru-2022-10.rur-2022-10.r1 incluye DSTv35. 

Para actualizar el archivo de zona horaria, utilice las siguientes estrategias.

**Topics**
+ [

## Actualice el archivo de zona horaria sin actualizar el motor
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade)
+ [

## Actualice el archivo de zona horaria y la versión del motor de base de datos
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade)
+ [

## Actualice la versión del motor de base de datos sin actualizar el archivo de zona horaria.
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only)

## Actualice el archivo de zona horaria sin actualizar el motor
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade"></a>

En este escenario, la base de datos utiliza DSTv33, pero el sistema de archivos de instancias de base de datos dispone de DSTv34. Desea actualizar el archivo de zona horaria que utiliza la instancia de base de datos de DSTv33 a DSTv34, pero no desea actualizar el motor a una versión nueva secundaria, que incluye DSTv35. 

En un comando `add-option-to-option-group`, agregue `TIMEZONE_FILE_AUTOUPGRADE` al grupo de opciones que utiliza su instancia de base de datos. Especifique si desea añadir la opción inmediatamente o aplazarlo hasta el período de mantenimiento. Tras aplicar la opción `TIMEZONE_FILE_AUTOUPGRADE`, RDS hace lo siguiente:

1. Comprueba si hay una nueva versión de DST.

1. Determina que el DSTv34 está disponible en el sistema de archivos.

1. Actualiza el archivo de zona horaria inmediatamente.

## Actualice el archivo de zona horaria y la versión del motor de base de datos
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade"></a>

En este escenario, la base de datos utiliza DSTv33, pero el sistema de archivos de instancias de base de datos dispone de DSTv34. Desea actualizar su motor de base de datos a la versión secundaria 19.0.0.0.ru-2022-10.rur-2022-10.r1, que incluye DSTv35, y actualizar su archivo de zona horaria a DSTv35 durante la actualización del motor. Por lo tanto, su objetivo es omitir DSTv34 y actualizar sus archivos de zona horaria directamente a DSTv35. 

Para actualizar el motor y el archivo de zona horaria al mismo tiempo, ejecute `modify-db-instance` con las opciones `--option-group-name` y `--engine-version`. Puede ejecutar el comando inmediatamente o aplazarlo hasta el período de mantenimiento. `In --option-group-name`, especifique un grupo de opciones que incluya la opción `TIMEZONE_FILE_AUTOUPGRADE`. Por ejemplo:

```
aws rds modify-db-instance 
    --db-instance-identifier my-instance \
    --engine-version new-version \
    ----option-group-name og-with-timezone-file-autoupgrade \    
    --apply-immediately
```

RDS comienza a actualizar su motor a 19.0.0.0.ru-2022-10.rur-2022-10.r1. Una vez aplicada la opción `TIMEZONE_FILE_AUTOUPGRADE`, RDS comprueba si hay una nueva versión de DST, ve que DSTv35 está disponible en 19.0.0.0.ru-2022-10.rur-2022-10.r1 e inicia inmediatamente la actualización a DSTv35.

Para actualizar el motor inmediatamente y, a continuación, actualizar el archivo de zona horaria, lleve a cabo las siguientes operaciones en esta secuencia:

1. Actualice el motor de base de datos únicamente mediante el siguiente comando de la CLI:

   ```
   aws rds modify-db-instance \
       --db-instance-identifier my-instance \
       --engine-version new-version \
       --apply-immediately
   ```

1. Agregue la opción `TIMEZONE_FILE_AUTOUPGRADE` al grupo de opciones adjunto a su instancia mediante el siguiente comando de la CLI: 

   ```
   aws rds add-option-to-option-group \
       --option-group-name og-in-use-by-your-instance \
       --options OptionName=TIMEZONE_FILE_AUTOUPGRADE \
       --apply-immediately
   ```

## Actualice la versión del motor de base de datos sin actualizar el archivo de zona horaria.
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only"></a>

En este escenario, la base de datos utiliza DSTv33, pero el sistema de archivos de instancias de base de datos dispone de DSTv34. Desea actualizar su motor de base de datos a la versión 19.0.0.0.ru-2022-10.rur-2022-10.r1, que incluye DSTv35, pero retener el archivo de zona horaria DSTv33. Puede elegir esta estrategia por las razones siguientes:
+ Sus datos no utilizan el tipo de datos `TIMESTAMP WITH TIME ZONE`.
+ Sus datos utilizan el tipo de datos `TIMESTAMP WITH TIME ZONE`, pero los datos no se ven afectados por los cambios de zona horaria.
+ Desea posponer la actualización del archivo de zona horaria porque no puede tolerar el tiempo de inactividad adicional.

La estrategia depende de cuál de las siguientes posibilidades se dé:
+ Su instancia de base de datos no está asociada a un grupo de opciones que incluya `TIMEZONE_FILE_AUTOUPGRADE`. En su comando `modify-db-instance`, no especifique un nuevo grupo de opciones para que RDS no actualice el archivo de zona horaria.
+ Su instancia de base de datos está asociada actualmente a un grupo de opciones que incluye `TIMEZONE_FILE_AUTOUPGRADE`. Dentro de un único comando `modify-db-instance`, asocie su instancia de base de datos a un grupo de opciones que no incluya `TIMEZONE_FILE_AUTOUPGRADE` y, a continuación, actualice su motor de base de datos a 19.0.0.0.ru-2022-10.rur-2022-10.r1.

# Tiempo de inactividad durante la actualización del archivo de zona horaria
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.considerations"></a>

Cuando RDS actualiza el archivo de zona horaria, los datos que utiliza `TIMESTAMP WITH TIME ZONE` podrían cambiar. En este caso, su principal preocupación es el tiempo de inactividad.

**aviso**  
Si añade la opción `TIMEZONE_FILE_AUTOUPGRADE`, la actualización del motor podría haber prolongado el tiempo de inactividad. La actualización de datos de zona horaria para una base de datos grande puede tardar horas o incluso días.

La duración de la actualización del archivo de zona horaria depende de factores como los siguientes:
+ La cantidad de datos de `TIMESTAMP WITH TIME ZONE` de la base de datos
+ La configuración de la instancia de la base de datos
+ La clase de instancia de base de datos
+ La configuración de almacenamiento
+ La configuración de las bases de datos
+ La configuración de parámetros de base de datos

Se puede producir un tiempo de inactividad adicional cuando hace lo siguiente:
+ Añada la opción al grupo de opciones si la instancia de base de datos utiliza un archivo de zona horaria obsoleto
+ Actualice el motor de base de datos Oracle cuando la nueva versión del motor contiene una nueva versión del archivo de zona horaria

**nota**  
Durante la actualización del archivo de zona horaria, RDS para Oracle llama a `PURGE DBA_RECYCLEBIN`.

# Preparación para actualizar el archivo de zona horaria
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.preparing"></a>

Una actualización de archivos de zona horaria tiene dos fases separadas: preparación y actualización. Si bien no es necesario, recomendamos encarecidamente que realice el paso de preparación. En este paso, descubrirá qué datos se verán afectados al ejecutar el procedimiento PL/SQL `DBMS_DST.FIND_AFFECTED_TABLES`. Para obtener más información sobre la ventana de preparación, consulte [Actualización del archivo de zona horaria y la marca de hora con datos de zona horaria](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/datetime-data-types-and-time-zone-support.html#GUID-B0ACDB2E-4B49-4EB4-B4CC-9260DAE1567A) en la Documentación de la base de datos de Oracle.

**Para preparar la actualización del archivo de zona horaria**

1. Conecte el cliente SQL a la base de datos de Oracle utilizando el cliente SQL.

1. Determine la versión actual del archivo de zona horaria utilizada.

   ```
   SELECT * FROM V$TIMEZONE_FILE;
   ```

1. Determine la última versión del archivo de zona horaria disponible en su instancia de base de datos.

   ```
   SELECT DBMS_DST.GET_LATEST_TIMEZONE_VERSION FROM DUAL;
   ```

1. Determine el tamaño total de las tablas que tienen columnas de tipo `TIMESTAMP WITH LOCAL TIME ZONE` o `TIMESTAMP WITH TIME ZONE`.

   ```
   SELECT SUM(BYTES)/1024/1024/1024 "Total_size_w_TSTZ_columns_GB"
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE 'TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
            (SELECT OWNER, TABLE_NAME
             FROM   DBA_TAB_COLUMNS
             WHERE  DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE');
   ```

1. Determine los nombres y tamaños de los segmentos que tienen columnas de tipo `TIMESTAMP WITH LOCAL TIME ZONE` o `TIMESTAMP WITH TIME ZONE`.

   ```
   SELECT OWNER, SEGMENT_NAME, SUM(BYTES)/1024/1024/1024 "SEGMENT_SIZE_W_TSTZ_COLUMNS_GB"
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE 'TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
            (SELECT OWNER, TABLE_NAME
             FROM   DBA_TAB_COLUMNS
             WHERE  DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE')
   GROUP BY OWNER, SEGMENT_NAME;
   ```

1. Ejecute el paso de preparación. 
   + El procedimiento `DBMS_DST.CREATE_AFFECTED_TABLE` crea una tabla para almacenar cualquier dato afectado. Se pasa el nombre de esta tabla al procedimiento `DBMS_DST.FIND_AFFECTED_TABLES`. Para obtener más información, consulte el [Procedimiento CREATE\$1AFFECTED\$1TABLE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-C53BAABA-914A-404C-9CD5-823257BE0B00) en la Documentación de la base de datos de Oracle.
   + Este procedimiento `CREATE_ERROR_TABLE` crea una tabla para registrar errores. Para obtener más información, consulte el [Procedimiento CREATE\$1ERROR\$1TABLE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-6A7EA024-B02D-4486-B1D6-EF6ABF5DE507) en la Documentación de la base de datos de Oracle.

   En el siguiente ejemplo se crean los datos afectados y las tablas de errores, y se buscan todas las tablas afectadas.

   ```
   EXEC DBMS_DST.CREATE_ERROR_TABLE('my_error_table')
   EXEC DBMS_DST.CREATE_AFFECTED_TABLE('my_affected_table')
   
   EXEC DBMS_DST.BEGIN_PREPARE(new_version);
   EXEC DBMS_DST.FIND_AFFECTED_TABLES('my_affected_table', TRUE, 'my_error_table');
   EXEC DBMS_DST.END_PREPARE;
   
   SELECT * FROM my_affected_table;
   SELECT * FROM my_error_table;
   ```

1. Consulte las tablas afectadas y de error.

   ```
   SELECT * FROM my_affected_table;
   SELECT * FROM my_error_table;
   ```

# Adición de la opción de actualización automática del archivo de zona horaria
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.adding"></a>

Al añadir la opción a un grupo de opciones, este se encuentra en uno de los siguientes estados:
+ Actualmente hay un grupo de opciones asociado al menos a una instancia de base de datos. Al añadir la opción, todas las instancias de base de datos que utilizan este grupo de opciones se reinician automáticamente. Esto provoca una breve interrupción.
+ No hay ningún grupo de opciones asociado a ninguna instancia de base de datos. Tiene previsto añadir la opción y, a continuación, asociar el grupo de opciones existente a las instancias de base de datos existentes o a una instancia de base de datos nueva.
+ Crea un nuevo grupo de opciones y luego añade la opción. Tiene previsto asociar el nuevo grupo de opciones a instancias de base de datos ya existentes o a una nueva.

## Consola
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.console"></a>

**Para agregar la opción de actualización del archivo de zona horaria a una instancia de base de datos**

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 **Option groups** (Grupos de opciones).

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine** (Motor), elija la edición de Oracle Database que corresponda a la instancia de base de datos. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Elija el grupo de opciones que desea modificar y, a continuación, elija **Add option (Agregar opción)**.

1. En la ventana **Add option** (Añadir opción), haga lo siguiente: 

   1. Elija **TIMEZONE\$1FILE\$1AUTOUPGRADE**.

   1. Para habilitar la opción en todas las instancias de base de datos asociadas en cuanto la agregue, en **Apply Immediately**, elija **Yes**. Si elige **No** (valor predeterminado), la opción se habilita para cada instancia de base de datos asociada durante su siguiente período de mantenimiento.

1. Cuando los ajustes sean los deseados, elija **Add Option (Agregar opción)**.

## AWS CLI
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.CLI"></a>

En el ejemplo siguiente se usa el comando de la AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) para añadir la opción `TIMEZONE_FILE_AUTOUPGRADE` a un grupo de opciones llamado `myoptiongroup`.

Para Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=TIMEZONE_FILE_AUTOUPGRADE" \
    --apply-immediately
```

Para Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=TIMEZONE_FILE_AUTOUPGRADE" ^
    --apply-immediately
```

# Verificación de los datos después de la actualización del archivo de zona horaria
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.checking"></a>

Le recomendamos que verifique los datos después de actualizar el archivo de zona horaria. Durante el paso de preparación, RDS para Oracle crea automáticamente las siguientes tablas:
+ `rdsadmin.rds_dst_affected_tables`: enumera las tablas que contienen datos afectados por la actualización
+ `rdsadmin.rds_dst_error_table`: muestra los errores generados durante la actualización

Estas tablas son independientes de las tablas que se crean en la ventana de preparación. Para ver los resultados de la actualización, consulte las tablas de la siguiente manera.

```
SELECT * FROM rdsadmin.rds_dst_affected_tables;
SELECT * FROM rdsadmin.rds_dst_error_table;
```

Para obtener más información sobre el esquema de los datos afectados y las tablas de errores, consulte el [Procedimiento FIND\$1AFFECTED\$1TABLES](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-1F977505-671C-4D5B-8570-86956F136199) en la documentación de Oracle.

# Cifrado de datos transparente de Oracle
<a name="Appendix.Oracle.Options.AdvSecurity"></a>

Amazon RDS es compatible con el cifrado de datos transparente (TDE) de Oracle, una característica de la opción Oracle Advanced Security disponible en Oracle Enterprise Edition. Esta característica cifra automáticamente los datos antes de que se escriban en el sistema de almacenamiento y los descifra automáticamente cuando se leen. Esta opción solo se admite el modelo “traiga su propia licencia” (BYOL).

El TDE es útil en situaciones en las que es necesario cifrar información confidencial por si un tercero obtiene los archivos de datos y las copias de seguridad. El TDE también es útil cuando se necesita cumplir con las normas relacionadas con la seguridad. 

Esta guía no tiene el propósito de ofrecerle una descripción detallada del TDE en Oracle Database. Para obtener información, consulte los siguientes recursos de Oracle Database:
+ [Introducción al cifrado de datos transparente](https://docs.oracle.com/en/database/oracle/oracle-database/19/asoag/introduction-to-transparent-data-encryption.html#GUID-62AA9447-FDCD-4A4C-B563-32DE04D55952) en la documentación de Oracle Database
+ [Oracle advanced security](https://www.oracle.com/security/database-security/) en la documentación de Oracle Database
+ [Oracle advanced security Transparent Data Encryption best practices](https://www.oracle.com/br/a/tech/docs/technical-resources/twp-transparent-data-encryption-bestpractices.pdf), que es un documento técnico de Oracle

Para obtener más información acerca del uso del TDE con RDS para Oracle, consulte los siguientes blogs:
+ [Opciones de cifrado de bases de datos Oracle en Amazon RDS](https://aws.amazon.com/blogs/apn/oracle-database-encryption-options-on-amazon-rds/)
+ [Migre una instancia de base de datos de Amazon RDS para Oracle multicuenta con TDE y reduzca el tiempo de inactividad mediante AWS DMS](https://aws.amazon.com/blogs/database/migrate-a-cross-account-tde-enabled-amazon-rds-for-oracle-db-instance-with-reduced-downtime-using-aws-dms/)

## Modos de cifrado de TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Modes"></a>

El cifrado de datos transparente de Oracle admite dos modos de cifrado: el cifrado de espacios de tabla de TDE y el cifrado de columnas de TDE. El cifrado de espacios de tabla de TDE se utiliza para cifrar tablas de aplicaciones completas. El cifrado de columnas de TDE se utiliza para cifrar elementos de datos individuales que contienen información confidencial. También es posible aplicar una solución de cifrado híbrida que utilice tanto el cifrado de espacios de tabla como el cifrado de columnas de TDE. 

**nota**  
Amazon RDS administra la clave maestra de TDE y de Oracle Wallet para la instancia de base de datos. No es necesario configurar la clave de cifrado con el comando `ALTER SYSTEM set encryption key`. 

Una vez activada la opción `TDE`, puede comprobar el estado del wallet de Oracle mediante el siguiente comando: 

```
SELECT * FROM v$encryption_wallet;
```

Para crear un espacio de tabla cifrado, utilice el siguiente comando:

```
CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE (ENCRYPT);
```

Para especificar el algoritmo de cifrado, utilice el comando siguiente:

```
CREATE TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);
```

Las instrucciones anteriores para cifrar un espacio de tablas son las mismas que se utilizarían en una base de datos de Oracle en las instalaciones.

## Restricciones para la opción TDE
<a name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

La opción TDE es persistente y permanente. Después de asociar su instancia de base de datos con un grupo de opciones que tiene la opción TDE habilitada, no puede realizar las siguientes acciones:
+ Deshabilitar la opción `TDE` en el grupo de opciones actualmente asociado.
+ Asociar la instancia de base de datos a un grupo de opciones diferente que no incluya la opción `TDE`.
+ Compartir una instantánea de base de datos que utilice la opción `TDE`. Para obtener más información sobre el uso compartido de instantáneas de base de datos, consulte [Uso compartido de una instantánea manual de base de datos de Amazon RDS](USER_ShareSnapshot.md).

Para obtener más información sobre las opciones persistentes y permanentes, consulte [Opciones permanentes y persistentes](USER_WorkingWithOptionGroups.md#Overview.OptionGroups.Permanent).

## Determinación de si su instancia de base de datos utiliza TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Querying"></a>

Puede que quiera determinar si la instancia de base de datos está asociada a un grupo de opciones que tenga la opción `TDE` habilitada. Para ver el grupo de opciones al que está asociada una instancia de base de datos, utilice la consola de RDS, el comando [describe-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) de la AWS CLI o la operación [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) de la API.

## Adición de la opción TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Add"></a>

Para agregar la opción `TDE` a su instancia de base de datos, siga los pasos que se describen a continuación:

1. (Recomendado) Cree una instantánea de su instancia de base de datos.

1. Realice una de las siguientes tareas siguientes:
   + Cree un nuevo grupo de opciones desde cero. Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).
   + Copie un grupo de opciones existente con la AWS CLI o la API. Para obtener más información, consulte [Copia de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).
   + Reutilice un grupo de opciones existente que no sea predeterminado. Se recomienda utilizar un grupo de opciones que no esté asociado actualmente a ninguna instancia de base de datos o instantánea.

1. Agregue la nueva opción al grupo de opciones del paso anterior.

1. Si el grupo de opciones que está actualmente asociado a la instancia de base de datos tiene opciones habilitadas, agregue estas opciones al nuevo grupo de opciones. Esta estrategia evita que se desinstalen las opciones existentes y, al mismo tiempo, se habilita la nueva opción.

1. Añada el nuevo grupo de opciones a la instancia de base de datos.

### Consola
<a name="Appendix.Oracle.Options.TDE.Console"></a>

**Añadido de la opción TDE a un grupo de opciones y asociarla a su instancia de base de datos**

1. En la consola de RDS, elija **Grupos de opciones**.

1. Elija el nombre del grupo de opciones al que desea agregar la opción.

1. Elija **Agregar opción**.

1. En **Nombre de la opción**, elija **TDE** y, a continuación, configure los ajustes de la opción. 

1. Elija **Agregar opción**.
**importante**  
Si agrega la opción **TDE** a un grupo de opciones existente que ya se ha adjuntado a una o varias instancias de base de datos, se producirá una breve interrupción mientras se reinician todas las instancias de base de datos. 

   Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Asocie el grupo de opciones a una instancia de base de datos nueva o ya existente: 
   + Si se trata de una instancia de base de datos nueva, aplique el grupo de opciones al lanzar la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. La instancia de base de datos no se reinicia como parte de esta operación. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

### AWS CLI
<a name="Appendix.Oracle.Options.TDE.CLI"></a>

En el ejemplo siguiente, se usa el comando de la AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) para añadir la opción `TDE` a un grupo de opciones llamado `myoptiongroup`. Para obtener más información, consulte [Introducción: Flink 1.13.2 ](https://docs.aws.amazon.com/managed-flink/latest/java/earlier.html#getting-started-1-13).

Para Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=TDE" \
    --apply-immediately
```

Para Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=TDE" ^
    --apply-immediately
```

## Copia de los datos a una instancia de base de datos que no incluye la opción TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Remove"></a>

No puede eliminar la opción de TDE de una instancia de base de datos ni asociarla a un grupo de opciones que no incluya la opción de TDE. Para migrar los datos a una instancia que no incluya la opción de TDE, haga lo siguiente: 

1.  Descifre los datos en la instancia de base de datos. 

1.  Copie los datos en una nueva instancia de base de datos que no esté asociada a un grupo de opciones con la opción `TDE` habilitada. 

1.  Elimine la instancia de base de datos original.

Puede usar para la instancia nueva el mismo nombre que la instancia de base de datos anterior.

## Consideraciones al usar TDE con Oracle Data Pump
<a name="Appendix.Oracle.Options.AdvSecurity.Pump"></a>

Puede utilizar Oracle Data Pump para importar o exportar archivos de volcado cifrados. Amazon RDS admite el modo de cifrado de contraseñas `(ENCRYPTION_MODE=PASSWORD)` para Oracle Data Pump. Amazon RDS no admite el modo de cifrado transparente `(ENCRYPTION_MODE=TRANSPARENT)` para Oracle Data Pump. Para obtener más información, consulte [Importación mediante Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md). 

# Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL"></a>

Amazon RDS es compatible con Oracle UTL\$1MAIL mediante el uso de la opción UTL\$1MAIL y de servidores SMTP. Puede enviar un email directamente desde su base de datos mediante el paquete UTL\$1MAIL. Amazon RDS admite UTL\$1MAIL para las siguientes versiones de Oracle: 
+ Oracle Database 21c (21.0.0.0), todas las versiones
+ Oracle Database 19c (19.0.0.0), todas las versiones

A continuación se indican algunas limitaciones que afectan al uso de UTL\$1MAIL: 
+ UTL\$1MAIL no es compatible con Transport Layer Security (TLS) y, por lo tanto, los mensajes de correo electrónico se cifran. 

  Para conectarse de forma segura a recursos SSL/TLS remotos creando y cargando wallets de Oracle personalizados, siga las instrucciones que se proporcionan en [Configuración del acceso UTL\$1HTTP mediante certificados y un wallet de Oracle.](Oracle.Concepts.ONA.md).

  Los certificados específicos que se requieren para el wallet varían en función del servicio. Para los servicios de AWS, estos se puedan encontrar normalmente en el [repositorio de Amazon Trust Services](https://www.amazontrust.com/repository/).
+ UTL\$1MAIL no admite la autenticación con servidores SMTP. 
+ Solo se puede enviar un único archivo adjunto en un correo electrónico. 
+ No se pueden enviar archivos adjuntos de más de 32 K. 
+ Solo se pueden utilizar las codificaciones de caracteres ASCII y Extended Binary Coded Decimal Interchange Code (EBCDIC). 
+ El puerto SMTP (25) se limita en base a las políticas del propietario de la interfaz de red elástica. 

Cuando se activa UTL\$1MAIL, solo se le concede el privilegio execute al usuario maestro de la instancia de base de datos. Si es necesario, el usuario maestro puede conceder el privilegio execute a otros usuarios para que puedan utilizar UTL\$1MAIL. 

**importante**  
Recomendamos que active la característica de auditoría integrada de Oracle para realizar un seguimiento del uso de los procedimientos de UTL\$1MAIL. 

## Requisitos previos para Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL.PreReqs"></a>

A continuación se indican los requisitos previos para utilizar Oracle UTL\$1MAIL:
+ Uno o varios servidores SMTP, con sus correspondientes direcciones IP o nombres de servidores de nombres de dominio (DNS) públicos o privados. Para obtener más información acerca de los nombres de DNS privados resueltos a través de un servidor DNS personalizado, consulte [Configuración de un servidor DNS personalizado](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS). 

## Adición de la opción Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL.Add"></a>

El proceso general para añadir la opción Oracle UTL\$1MAIL a una instancia de base de datos es el siguiente: 

1. Cree un grupo de opciones nuevo o copie o modifique un grupo de opciones existente.

1. Añada la opción al grupo de opciones.

1. Asocie el grupo de opciones a la instancia de base de datos.

Después de añadir la opción UTL\$1MAIL, esta se activará en cuanto se active el grupo de opciones. 

**Para añadir la opción UTL\$1MAIL a una instancia de base de datos**

1. Determine el grupo de opciones que desea utilizar. Puede crear un grupo de opciones o utilizar uno existente. Si desea utilizar un grupo de opciones existente, vaya al siguiente paso. De lo contrario, cree un grupo de opciones de base de datos personalizado con las siguientes opciones: 

   1. En **Engine**, elija la edición de Oracle que desea utilizar. 

   1. En **Major engine version (Versión principal del motor)**, elija la versión de su instancia de base de datos. 

   Para obtener más información, consulte [Creación de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Añada la opción **UTL\$1MAIL** al grupo de opciones. Para obtener más información acerca de la adición de opciones, consulte [Agregar una opción a un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Aplique el grupo de opciones a una instancia de base de datos nueva o existente: 
   + Si se trata de una instancia de base de datos nueva, el grupo de opciones se aplica cuando se lanza la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 
   + Para una instancia de base de datos existente, el grupo de opciones se aplica modificando la instancia y asociando el grupo de opciones nuevo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Uso de Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL.Using"></a>

Después de activar la opción UTL\$1MAIL, debe configurar el servidor SMTP para poder empezar a utilizarlo. 

Puede configurar el servidor SMTP estableciendo el parámetro SMTP\$1OUT\$1SERVER como una dirección IP o como un nombre de DNS público válido. Para el parámetro SMTP\$1OUT\$1SERVER, puede especificar una lista separada por comas con las direcciones de varios servidores. Si el primer servidor no está disponible, UTL\$1MAIL intenta usar el servidor siguiente, y así sucesivamente. 

Puede configurar el servidor SMTP predeterminado SMTP\$1OUT\$1SERVER para una instancia de base de datos mediante un [grupo de parámetros de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html). Puede establecer el parámetro SMTP\$1OUT\$1SERVER para una sesión ejecutando el siguiente código en la base de datos mediante la instancia de base de datos. 

```
1. ALTER SESSION SET smtp_out_server = mailserver.domain.com:25;
```

Después de activar la opción UTL\$1MAIL y configurar SMTP\$1OUT\$1SERVER, puede enviar un correo electrónico utilizando el procedimiento `SEND`. Para obtener más información, consulte [UTL\$1MAIL](http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_mail.htm#BABFJJBD) en la documentación de Oracle. 

## Eliminación de la opción Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL.Remove"></a>

Puede eliminar Oracle UTL\$1MAIL de una instancia de base de datos. 

Para eliminar UTL\$1MAIL de una instancia de base de datos, realice una de las siguientes operaciones: 
+ Para eliminar UTL\$1MAIL de varias instancias de bases de datos, elimine la opción UTL\$1MAIL del grupo de opciones al que pertenecen. Este cambio afecta a todas las instancias de base de datos que utilizan el grupo de opciones. Para obtener más información, consulte [Quitar una opción de un grupo de opciones](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Para eliminar UTL\$1MAIL de una única instancia de base de datos, modifique la instancia y especifique un grupo de opciones distinto que no incluya la opción UTL\$1MAIL. Puede especificar el grupo de opciones predeterminado (vacío) u otro grupo de opciones personalizado. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

## Solución de problemas
<a name="Oracle.Options.UTLMAIL.Troubleshooting"></a>

A continuación se indican los problemas que se puede encontrar al utilizar UTL\$1MAIL con Amazon RDS. 
+ Limitación controlada. El puerto SMTP (25) se limita en base a las políticas del propietario de la interfaz de red elástica. Si puede enviar correo electrónico correctamente utilizando UTL\$1MAIL y se muestra el error `ORA-29278: SMTP transient error: 421 Service not available`, es posible que esté aplicándose una limitación controlada. Si experimenta una limitación controlada en la entrega de correo electrónico, recomendamos implementar un algoritmo de retardo. Para obtener más información sobre los algoritmos de retroceso, consulte [Reintentos de error y retroceso exponencial en AWS](https://docs.aws.amazon.com/general/latest/gr/api-retries.html) y la publicación sobre [cómo manejar un error "throttling Maximum sending rate exceeded" (velocidad de envío de limitación controlada excedida)](https://aws.amazon.com/blogs/ses/how-to-handle-a-throttling-maximum-sending-rate-exceeded-error/). 

  Puede solicitar que se elimine dicho límite. Para obtener más información, consulte [¿Cómo quito el límite en el puerto 25 de mi instancia EC2?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/)

# Oracle XML DB
<a name="Appendix.Oracle.Options.XMLDB"></a>

Oracle XML DB añade soporte XML nativo a una instancia de base de datos. Con XML DB, puede almacenar y recuperar XML estructurado o no estructurado y datos relacionales. El protocolo de servidores de XML DB no se admite en RDS para Oracle.

XML DB está preinstalado en Oracle Database 12c y versiones posteriores. Por lo tanto, no es necesario utilizar un grupo de opciones para instalar explícitamente XML DB como característica adicional. 

Para obtener información sobre cómo configurar y utilizar XML DB, consulte [Oracle XML DB Developer's Guide](https://docs.oracle.com/en/database/oracle/oracle-database/19/adxdb/) en la documentación de Oracle Database.