

# Uso de software de terceros con la instancia de base de datos de RDS for Oracle
<a name="Oracle.Resources"></a>

Puede alojar una instancia de base de datos de RDS para Oracle que sea compatible con herramientas y software de terceros.

**Topics**
+ [Uso de Oracle GoldenGate con Amazon RDS para Oracle‎‎‏‏‎](Appendix.OracleGoldenGate.md)
+ [Uso de Oracle Repository Creation Utility en RDS para Oracle](Oracle.Resources.RCU.md)
+ [Configuración de Oracle Connection Manager en una instancia de Amazon EC2](oracle-cman.md)
+ [Instalación de una base de datos de Siebel en Oracle en Amazon RDS](Oracle.Resources.Siebel.md)

# Uso de Oracle GoldenGate con Amazon RDS para Oracle‎‎‏‏‎
<a name="Appendix.OracleGoldenGate"></a>

Oracle GoldenGate recopila, replica y administra datos transaccionales entre bases de datos. Se trata de un paquete de software de replicación y de captura de datos de cambios (CDC, por sus siglas en inglés) basada en registros que se utiliza con bases de datos para sistemas de procesamiento de transacciones online (OLTP, por sus siglas en inglés). Oracle GoldenGate crea archivos de seguimiento que contienen los datos cambiados más recientes de la base de datos de origen. A continuación, envía estos archivos al servidor, donde un proceso convierte el archivo de seguimiento en SQL estándar para aplicarlo a la base de datos de destino.

Oracle GoldenGate con RDS para Oracle admite las siguientes características:
+ Reproducción de bases de datos activa a activa
+ Recuperación de desastres
+ Protección de los datos
+ Replicación dentro y fuera de la región
+ Migración y actualizaciones sin tiempo de inactividad
+ Replicación de datos entre una instancia de base de datos de RDS para Oracle y una base de datos que no es de Oracle
**nota**  
Para obtener una lista de baSes de datos compatibles, consulte [Oracle Fusion Middleware Supported System Configurations](https://www.oracle.com/middleware/technologies/fusion-certification.html) (Configuraciones de sistemas compatibles con Oracle Fusion Middleware) en la documentación de Oracle.

Puede usar Oracle GoldenGate con RDS para Oracle para actualizar a las principales versiones de base de datos de Oracle. Por ejemplo, puede usar Oracle GoldenGate para actualizar una base de datos Oracle Database 11g en las instalaciones a Oracle Database 19c en una instancia de base de datos de Amazon RDS.

**Topics**
+ [Versiones y opciones de licencia compatibles con Oracle GoldenGate](#Appendix.OracleGoldenGate.licensing)
+ [Requisitos y limitaciones de Oracle GoldenGate](#Appendix.OracleGoldenGate.requirements)
+ [Arquitectura de Oracle GoldenGate](Appendix.OracleGoldenGate.Overview.md)
+ [Configuración de Oracle GoldenGate](Appendix.OracleGoldenGate.setting-up.md)
+ [Uso de las utilidades EXTRACT y REPLICAT de Oracle GoldenGate](Appendix.OracleGoldenGate.ExtractReplicat.md)
+ [Supervisión de Oracle GoldenGate](Appendix.OracleGoldenGate.Monitoring.md)
+ [Solución de problemas de Oracle GoldenGate](Appendix.OracleGoldenGate.Troubleshooting.md)

## Versiones y opciones de licencia compatibles con Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.licensing"></a>

Puede utilizar Standard Edition 2 (SE2) o Enterprise Edition (EE) de RDS para Oracle con Oracle GoldenGate versión 12c y posteriores. Puede utilizar las siguientes características de Oracle GoldenGate:
+ Se admite la captura remota (extracción) de Oracle GoldenGate.
+ Las instancias de base de datos de RDS para Oracle que utilizan la arquitectura de base de datos tradicional que no es de CDB admiten la captura (extracción). La captura de PDB remota de Oracle GoldenGate es compatible con las CDB que ejecuten Oracle Database 21c u Oracle Database 19c versión 19.0.0.0.ru-2024-04.rur-2024-04.r1 o superior.
+ La entrega remota (replicación) de Oracle GoldenGate es compatible con instancias de bases de datos de RDS para Oracle que utilizan arquitecturas de CDB o que no son de CDB. La entrega remota admite las funciones Replicación integrada, Replicación paralela, Replicación coordenada y Replicación clásica.
+ RDS para Oracle es compatible con las arquitecturas clásica y de microservicios de Oracle GoldenGate.
+ Se admite la replicación de valores de Oracle GoldenGate DDL y Sequence cuando se utiliza el modo de captura integrado.

El usuario es responsable de administrar las licencias de GoldenGate (BYOL) para usarlas con Amazon RDS en todas las Regiones de AWS. Para obtener más información, consulte [Opciones de licencias de RDS para Oracle](Oracle.Concepts.Licensing.md).

## Requisitos y limitaciones de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.requirements"></a>

Cuando trabaje con Oracle GoldenGate y RDS para Oracle, tenga en cuenta los siguientes requisitos y limitaciones: 
+ Es responsable de configurar y administrar Oracle GoldenGate para usarlo con RDS para Oracle. 
+ Es responsable de configurar una versión de Oracle GoldenGate que esté certificada con las bases de datos de origen y destino. Para obtener más información, consulte [Oracle Fusion Middleware Supported System Configurations](https://www.oracle.com/middleware/technologies/fusion-certification.html) (Configuraciones de sistemas compatibles con Oracle Fusion Middleware) en la documentación de Oracle.
+ Puede utilizar Oracle GoldenGate en muchos entornos diferentes de AWS para muchos casos de uso diferentes. Si tiene algún problema relacionado con el soporte de Oracle GoldenGate, póngase en contacto con los servicios de soporte de Oracle.
+ Puede utilizar Oracle GoldenGate en RDS para Oracle para instancias de base de datos de Oracle que utilicen el cifrado de datos transparente (TDE, por sus siglas en inglés) de Oracle. Para mantener la integridad de los datos replicados, configure el cifrado en el centro de Oracle GoldenGate con volúmenes cifrados de Amazon EBS o el cifrado de archivos de trazado. Configure también el cifrado de los datos enviados entre el centro de Oracle GoldenGate y las instancias de base de datos de origen y destino. Las instancias de base de datos de RDS for Oracle admiten el cifrado con [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md) o [Oracle Native Network Encryption](Appendix.Oracle.Options.NetworkEncryption.md).

# Arquitectura de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Overview"></a>

La arquitectura de Oracle GoldenGate para su uso con Amazon RDS consta de los siguientes módulos desacoplados:

Base de datos de origen  
La base de datos de origen puede ser una base de datos de Oracle en las instalaciones, una base de datos de Oracle en una instancia de Amazon EC2 o una base de datos de Oracle en una instancia de base de datos de Amazon RDS.

Hub de Oracle GoldenGate  
Un hub de Oracle GoldenGate mueve la información de las transacciones desde la base de datos de origen a la base de datos de destino. El hub puede ser cualquiera de los siguientes:  
+ Una instancia de Amazon EC2 con la base de datos de Oracle y con Oracle GoldenGate instalado
+ Una instalación de Oracle en las instalaciones
Puede tener más de un hub de Amazon EC2. Le recomendamos que use dos hubs si utiliza Oracle GoldenGate para la replicación entre regiones.

Bases de datos de destino  
La base de datos de destino puede residir en una instancia de base de datos de Amazon RDS, en una instancia Amazon EC2 o en una ubicación en las instalaciones.

Las siguientes secciones describen escenarios comunes de Oracle GoldenGate en Amazon RDS.

**Topics**
+ [Base de datos de origen en las instalaciones y hub de Oracle GoldenGate](#Appendix.OracleGoldenGate.on-prem-source-gg-hub)
+ [Base de datos de origen en las instalaciones y hub de Amazon EC2](#Appendix.OracleGoldenGate.on-prem-source-ec2-hub)
+ [Base de datos de origen de Amazon RDS y hub de Amazon EC2](#Appendix.OracleGoldenGate.rds-source-ec2-hub)
+ [Base de datos de origen de Amazon EC2 y hub de Amazon EC2](#Appendix.OracleGoldenGate.ec2-source-ec2-hub)
+ [Hubs de Amazon EC2 en diferentes regiones de AWS](#Appendix.OracleGoldenGate.cross-region-hubs)

## Base de datos de origen en las instalaciones y hub de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.on-prem-source-gg-hub"></a>

En este escenario, una base de datos de origen Oracle en las instalaciones y un hub de Oracle GoldenGate en las instalaciones proporcionan datos a una instancia de base de datos de Amazon RDS de destino. 

![\[Configuración de Oracle GoldenGate 0 con Amazon RDS\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-gg0.png)


## Base de datos de origen en las instalaciones y hub de Amazon EC2
<a name="Appendix.OracleGoldenGate.on-prem-source-ec2-hub"></a>

En este escenario, una base de datos Oracle local actúa como base de datos de origen. Está conectada a un hub de instancias de Amazon EC2. Este hub proporciona datos a una instancia de base de datos RDS for Oracle de destino.

![\[Configuración de Oracle GoldenGate 1 con Amazon RDS\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-gg1.png)


## Base de datos de origen de Amazon RDS y hub de Amazon EC2
<a name="Appendix.OracleGoldenGate.rds-source-ec2-hub"></a>

En este escenario, una instancia de base de datos RDS for Oracle actúa como base de datos de origen. Está conectada a un hub de instancia de Amazon EC2. Este hub proporciona datos a una instancia de base de datos RDS for Oracle de destino.

![\[Configuración de Oracle GoldenGate 2 con Amazon RDS\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-gg2.png)


## Base de datos de origen de Amazon EC2 y hub de Amazon EC2
<a name="Appendix.OracleGoldenGate.ec2-source-ec2-hub"></a>

En este escenario, una base de datos Oracle en una instancia de Amazon EC2 actúa como base de datos de origen. Está conectada a un hub de instancia de Amazon EC2. Este hub proporciona datos a una instancia de base de datos RDS for Oracle de destino.

![\[Configuración de Oracle GoldenGate 3 con Amazon RDS\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-gg3.png)


## Hubs de Amazon EC2 en diferentes regiones de AWS
<a name="Appendix.OracleGoldenGate.cross-region-hubs"></a>

En este escenario, una base de datos Oracle en una instancia de base de datos de Amazon RDS está conectada a un hub de instancias de Amazon EC2 en la misma región de AWS. El hub está conectado a un hub de instancias de Amazon EC2 en una región de AWS diferente. Este segundo hub proporciona datos a la instancia de base de datos de RDS for Oracle de destino en la misma región de AWS que el segundo hub de instancias de Amazon EC2.

![\[Configuración de Oracle GoldenGate 4 con Amazon RDS\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-gg4.png)


**nota**  
Cualquier problema que afecte a la ejecución de Oracle GoldenGate en un entorno en las instalaciones también afecta a la ejecución de Oracle GoldenGate en AWS. Le recomendamos que supervise el hub de Oracle GoldenGate para asegurarse de que `EXTRACT` y `REPLICAT` se reanudan si se produce una conmutación por error. Dado que el hub de Oracle GoldenGate se ejecuta en una instancia de Amazon EC2, Amazon RDS no administra el hub de Oracle GoldenGate y no puede garantizar que se esté ejecutando.

# Configuración de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.setting-up"></a>

Para configurar Oracle GoldenGate mediante Amazon RDS, tiene que configurar el hub en la instancia de Amazon EC2 y, a continuación, configurar las bases de datos de origen y de destino. Las siguientes secciones muestran un ejemplo de cómo configurar Oracle GoldenGate para usarlo con Amazon RDS para Oracle.

**Topics**
+ [Configuración de un hub de Oracle GoldenGate en Amazon EC2](#Appendix.OracleGoldenGate.Hub)
+ [Configuración de una base de datos de origen para usarla con Oracle GoldenGate en Amazon RDS](#Appendix.OracleGoldenGate.Source)
+ [Configuración de una base de datos de destino para Oracle GoldenGate en Amazon RDS](#Appendix.OracleGoldenGate.Target)

## Configuración de un hub de Oracle GoldenGate en Amazon EC2
<a name="Appendix.OracleGoldenGate.Hub"></a>

Para crear un hub de Oracle GoldenGate en una instancia de Amazon EC2, cree en primer lugar una instancia de Amazon EC2 con una instalación completa de cliente de Oracle DBMS. La instancia de Amazon EC2 también debe tener instalado el software GoldenGate de Oracle. Las versiones del software de Oracle GoldenGate dependen de las versiones de la base de datos de origen y destino. Para obtener más información acerca de la instalación de Oracle GoldenGate, consulte la [documentación de Oracle GolgenGate](https://docs.oracle.com/en/middleware/goldengate/core/index.html).

La instancia de Amazon EC2 que actúa de hub de Oracle GoldenGate almacena y procesa la información de las transacciones de la base de datos de origen a los archivos de trazado. Para admitir este proceso, asegúrese de que cumpla los siguientes requisitos:
+ Haber asignado suficiente espacio de almacenamiento para los archivos de seguimiento.
+ La instancia de Amazon EC2 tiene suficiente potencia de procesamiento para administrar la cantidad de datos.
+ La instancia EC2 tiene suficiente memoria para almacenar la información de transacción antes de que se escriba en el archivo de seguimiento.

**Para configurar un hub de arquitectura clásica de Oracle GoldenGate en una instancia Amazon EC2**

1. Cree los subdirectorios en el directorio de Oracle GoldenGate.

   En el shell de la línea de comandos de Amazon EC2, lance `ggsci`, el intérprete del comando de Oracle GoldenGate. El comando `CREATE SUBDIRS` crea subdirectorios bajo el directorio `/gg` para los archivos de parámetros, informes y puntos de comprobación.

   ```
   prompt$ cd /gg
   prompt$ ./ggsci
   
   GGSCI> CREATE SUBDIRS
   ```

1. Configure el archivo `mgr.prm`.

   El siguiente ejemplo añade líneas al archivo `$GGHOME/dirprm/mgr.prm`.

   ```
   PORT 8199
   PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5
   ```

1. Inicie el administrador.

   En el siguiente ejemplo se lanza `ggsci` y se ejecuta el comando `start mgr`.

   ```
   GGSCI> start mgr
   ```

El hub de Oracle GoldenGate ya se puede utilizar.

## Configuración de una base de datos de origen para usarla con Oracle GoldenGate en Amazon RDS
<a name="Appendix.OracleGoldenGate.Source"></a>

Complete las siguientes tareas para configurar una base de datos de origen con el fin de utilizarla con Oracle GoldenGate.

**Topics**
+ [Paso 1: activar el registro suplementario en la base de datos de origen](#Appendix.OracleGoldenGate.Source.Logging)
+ [Paso 2: establecer el parámetro de inicialización ENABLE\$1GOLDENGATE\$1REPLICATION en verdadero](#Appendix.OracleGoldenGate.Source.enable-gg-rep)
+ [Paso 3: establecer el período de retención del registro en la base de datos de origen](#Appendix.OracleGoldenGate.Source.Retention)
+ [Paso 4: crear una cuenta de usuario de Oracle GoldenGate en la base de datos de origen](#Appendix.OracleGoldenGate.Source.Account)
+ [Paso 5: conceder privilegios al usuario en la base de datos de origen](#Appendix.OracleGoldenGate.Source.Privileges)
+ [Paso 6: agregar un alias de TNS para la base de datos de origen](#Appendix.OracleGoldenGate.Source.TNS)

### Paso 1: activar el registro suplementario en la base de datos de origen
<a name="Appendix.OracleGoldenGate.Source.Logging"></a>

Para activar el registro suplementario mínimo en el nivel de la base de datos, ejecute el siguiente procedimiento PL/SQL: 

```
EXEC rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD')
```

### Paso 2: establecer el parámetro de inicialización ENABLE\$1GOLDENGATE\$1REPLICATION en verdadero
<a name="Appendix.OracleGoldenGate.Source.enable-gg-rep"></a>

Al establecer el parámetro de inicialización `ENABLE_GOLDENGATE_REPLICATION` en `true`, permite que los servicios de bases de datos admitan la replicación lógica. Si la base de datos de origen está en una instancia de base de datos de Amazon RDS, asegúrese de asignar un grupo de parámetros a dicha instancia de base de datos con el parámetro de inicialización `ENABLE_GOLDENGATE_REPLICATION` establecido en `true`. Para obtener más información acerca del parámetro de inicialización `ENABLE_GOLDENGATE_REPLICATION`, consulte la [documentación de la base de datos de Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ENABLE_GOLDENGATE_REPLICATION.html).

### Paso 3: establecer el período de retención del registro en la base de datos de origen
<a name="Appendix.OracleGoldenGate.Source.Retention"></a>

Asegúrese de configurar la base de datos de origen para retener los registros redo archivados. Tenga en cuenta estas directrices:
+ Especifique la duración de la retención de registros en horas. El valor mínimo es una hora.
+ Establezca la duración de manera que supere cualquier posible periodo de inactividad de la instancia de base de datos de origen, cualquier posible periodo de comunicación y cualquier posible periodo de problemas de red para dicha instancia de origen. Dicha duración permite a Oracle GoldenGate recuperar registros de la instancia de origen según sea necesario.
+ Asegúrese de que dispone de suficiente almacenamiento en la instancia para los archivos.

Por ejemplo, establezca el período de retención para los registros REDO archivados en 24 horas.

```
EXEC rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24)
```

Si no tiene la retención de registros habilitada, o bien si el valor de retención es demasiado pequeño, recibirá un mensaje de error similar al siguiente.

```
2022-03-06 06:17:27  ERROR   OGG-00446  error 2 (No such file or directory) 
opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 
Not able to establish initial position for begin time 2022-03-06 06:16:55.
```

Dado que la instancia de base de datos conserva los registros redo archivados, asegúrese de tener suficiente espacio para los archivos. Para ver cuánto espacio ha utilizado en las últimas *num\$1hours* horas, utilice la siguiente consulta, sustituyendo *num\$1hours* por el número de horas.

```
SELECT SUM(BLOCKS * BLOCK_SIZE) BYTES FROM V$ARCHIVED_LOG 
   WHERE NEXT_TIME>=SYSDATE-num_hours/24 AND DEST_ID=1;
```

### Paso 4: crear una cuenta de usuario de Oracle GoldenGate en la base de datos de origen
<a name="Appendix.OracleGoldenGate.Source.Account"></a>

Oracle GoldenGate se ejecuta como usuario de base de datos y requiere los privilegios de base de datos apropiados para obtener acceso a los registros redo y redo archivados para la base de datos de origen. Para proporcionarlos, cree una cuenta de usuario en la base de datos de origen. Para obtener más información sobre los permisos para una cuenta de usuario de Oracle GoldenGate, consulte la [documentación de Oracle](https://docs.oracle.com/en/middleware/goldengate/core/19.1/oracle-db/establishing-oracle-goldengate-credentials.html#GUID-79122058-27B0-4FB6-B3DC-B7D1B67EB053).

Las siguientes instrucciones crean una cuenta de usuario llamada `oggadm1`. 

```
CREATE TABLESPACE administrator;
CREATE USER oggadm1  IDENTIFIED BY "password"
   DEFAULT TABLESPACE ADMINISTRATOR TEMPORARY TABLESPACE TEMP;
ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
```

**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

### Paso 5: conceder privilegios al usuario en la base de datos de origen
<a name="Appendix.OracleGoldenGate.Source.Privileges"></a>

En esta tarea, concederá los privilegios de cuenta necesarios a los usuarios de la base de datos de la base de datos de origen.

**Para conceder privilegios a la cuenta en la base de datos de origen**

1. Conceda los privilegios necesarios a la cuenta de usuario de Oracle GoldenGate mediante el comando SQL `grant` y el procedimiento `grant_sys_object` de `rdsadmin.rdsadmin_util`. Las siguientes instrucciones conceden privilegios a un usuario llamado `oggadm1`.

   ```
   GRANT CREATE SESSION, ALTER SESSION TO oggadm1;
   GRANT RESOURCE TO oggadm1;
   GRANT SELECT ANY DICTIONARY TO oggadm1;
   GRANT FLASHBACK ANY TABLE TO oggadm1;
   GRANT SELECT ANY TABLE TO oggadm1;
   GRANT SELECT_CATALOG_ROLE TO rds_master_user_name WITH ADMIN OPTION;
   EXEC rdsadmin.rdsadmin_util.grant_sys_object ('DBA_CLUSTERS', 'OGGADM1');
   GRANT EXECUTE ON DBMS_FLASHBACK TO oggadm1;
   GRANT SELECT ON SYS.V_$DATABASE TO oggadm1;
   GRANT ALTER ANY TABLE TO oggadm1;
   ```

1. Otorgue los privilegios necesarios para que una cuenta de usuario sea administrador de Oracle GoldenGate. Ejecute el siguiente programa PL/SQL.

   ```
   EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
       grantee                 => 'OGGADM1',
       privilege_type          => 'capture',
       grant_select_privileges => true, 
       do_grants               => TRUE);
   ```

   Para revocar privilegios, utilice el procedimiento `revoke_admin_privilege` en el mismo paquete.

### Paso 6: agregar un alias de TNS para la base de datos de origen
<a name="Appendix.OracleGoldenGate.Source.TNS"></a>

Agregue la siguiente entrada a `$ORACLE_HOME/network/admin/tnsnames.ora` en el directorio raíz de Oracle que utilizará el proceso `EXTRACT`. Para obtener más información sobre el archivo `tnsnames.ora`, consulte la [documentación de Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-7F967CE5-5498-427C-9390-4A5C6767ADAA).

```
OGGSOURCE=
   (DESCRIPTION= 
        (ENABLE=BROKEN)
        (ADDRESS_LIST= 
            (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-source.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200)))
        (CONNECT_DATA=(SERVICE_NAME=ORCL))
    )
```

## Configuración de una base de datos de destino para Oracle GoldenGate en Amazon RDS
<a name="Appendix.OracleGoldenGate.Target"></a>

En esta tarea, debe configurar una instancia de base de datos de destino para usarla con Oracle GoldenGate.

**Topics**
+ [Paso 2: establecer el parámetro de inicialización ENABLE\$1GOLDENGATE\$1REPLICATION en verdadero](#Appendix.OracleGoldenGate.Target.enable-gg-rep)
+ [Paso 2: crear una cuenta de usuario de Oracle GoldenGate en la base de datos de destino](#Appendix.OracleGoldenGate.Target.User)
+ [Paso 3: otorgar privilegios de cuenta en la base de datos de destino](#Appendix.OracleGoldenGate.Target.Privileges)
+ [Paso 4: agregar un alias de TNS para la base de datos de destino](#Appendix.OracleGoldenGate.Target.TNS)

### Paso 2: establecer el parámetro de inicialización ENABLE\$1GOLDENGATE\$1REPLICATION en verdadero
<a name="Appendix.OracleGoldenGate.Target.enable-gg-rep"></a>

Al establecer el parámetro de inicialización `ENABLE_GOLDENGATE_REPLICATION` en `true`, permite que los servicios de bases de datos admitan la replicación lógica. Si la base de datos de origen está en una instancia de base de datos de Amazon RDS, asegúrese de asignar un grupo de parámetros a dicha instancia de base de datos con el parámetro de inicialización `ENABLE_GOLDENGATE_REPLICATION` establecido en `true`. Para obtener más información acerca del parámetro de inicialización `ENABLE_GOLDENGATE_REPLICATION`, consulte la [documentación de la base de datos de Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ENABLE_GOLDENGATE_REPLICATION.html).

### Paso 2: crear una cuenta de usuario de Oracle GoldenGate en la base de datos de destino
<a name="Appendix.OracleGoldenGate.Target.User"></a>

Oracle GoldenGate se ejecuta como usuario de base de datos y requiere los privilegios de base de datos apropiados. Para asegurarse de que los tiene, cree una cuenta de usuario en la base de datos de destino.

La siguiente instrucción crea una cuenta de usuario llamada `oggadm1`.

```
CREATE TABLESPSACE administrator;
CREATE USER oggadm1  IDENTIFIED BY "password" 
   DEFAULT TABLESPACE administrator 
   TEMPORARY TABLESPACE temp;
ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
```

**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

### Paso 3: otorgar privilegios de cuenta en la base de datos de destino
<a name="Appendix.OracleGoldenGate.Target.Privileges"></a>

En esta tarea, concederá los privilegios de cuenta necesarios a los usuarios de la base de datos en la base de datos de destino.

**Para otorgar privilegios de cuenta en la base de datos de destino**

1. Otorgue los privilegios necesarios a la cuenta de usuario de Oracle GoldenGate en la base de datos de destino. En el siguiente ejemplo, otorgará privilegios a `oggadm1`.

   ```
   GRANT CREATE SESSION        TO oggadm1;
   GRANT ALTER SESSION         TO oggadm1;
   GRANT CREATE CLUSTER        TO oggadm1;
   GRANT CREATE INDEXTYPE      TO oggadm1;
   GRANT CREATE OPERATOR       TO oggadm1;
   GRANT CREATE PROCEDURE      TO oggadm1;
   GRANT CREATE SEQUENCE       TO oggadm1;
   GRANT CREATE TABLE          TO oggadm1;
   GRANT CREATE TRIGGER        TO oggadm1;
   GRANT CREATE TYPE           TO oggadm1;
   GRANT SELECT ANY DICTIONARY TO oggadm1;
   GRANT CREATE ANY TABLE      TO oggadm1;
   GRANT ALTER ANY TABLE       TO oggadm1;
   GRANT LOCK ANY TABLE        TO oggadm1;
   GRANT SELECT ANY TABLE      TO oggadm1;
   GRANT INSERT ANY TABLE      TO oggadm1;
   GRANT UPDATE ANY TABLE      TO oggadm1;
   GRANT DELETE ANY TABLE      TO oggadm1;
   ```

1. Otorgue los privilegios necesarios para que una cuenta de usuario sea administrador de Oracle GoldenGate. Ejecute el siguiente programa PL/SQL.

   ```
   EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
       grantee                 => 'OGGADM1',
       privilege_type          => 'apply',
       grant_select_privileges => true, 
       do_grants               => TRUE);
   ```

   Para revocar privilegios, utilice el procedimiento `revoke_admin_privilege` en el mismo paquete.

### Paso 4: agregar un alias de TNS para la base de datos de destino
<a name="Appendix.OracleGoldenGate.Target.TNS"></a>

Agregue la siguiente entrada a `$ORACLE_HOME/network/admin/tnsnames.ora` en el directorio raíz de Oracle que utilizará el proceso `REPLICAT`. Para las bases de datos Oracle Multitenant, asegúrese de que el alias TNS apunte hacia el nombre del servicio de la PDB. Para obtener más información sobre el archivo `tnsnames.ora`, consulte la [documentación de Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-7F967CE5-5498-427C-9390-4A5C6767ADAA).

```
OGGTARGET=
    (DESCRIPTION= 
        (ENABLE=BROKEN)
        (ADDRESS_LIST= 
            (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-target.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200)))
        (CONNECT_DATA=(SERVICE_NAME=ORCL))
    )
```

# Uso de las utilidades EXTRACT y REPLICAT de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.ExtractReplicat"></a>

Las utilidades de Oracle GoldenGate `EXTRACT` y `REPLICAT` trabajan juntas para mantener las bases de datos de origen y de destino sincronizadas mediante la replicación incremental de transacciones utilizando archivos de seguimiento. Todos los cambios que se producen en la base de datos de origen son detectados automáticamente por `EXTRACT` y, a continuación, se formatean y transfieren a los archivos de seguimiento en el hub de instancias de EC2 o en Oracle GoldenGate en las instalaciones. Una vez finalizada la carga inicial, se leen los datos de estos archivos y se replican en la base de datos de destino mediante la utilidad `REPLICAT`.

## Ejecución de la utilidad EXTRACT de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Extract"></a>

La utilidad `EXTRACT` recupera, convierte y devuelve datos de la base de datos de origen a los archivos de seguimiento. El procedimiento básico es el siguiente:

1. `EXTRACT` pone en cola detalles de la transacción en la memoria o en el almacenamiento del disco temporal.

1. La base de datos de origen confirma la transacción.

1. `EXTRACT` escribe los detalles de la transacción en un archivo de seguimiento.

1. El archivo de seguimiento dirige estos detalles hacia el hub de instancias de EC2 o en las instalaciones de Oracle GoldenGate y, a continuación, hacia la base de datos de destino.

Los siguientes pasos inician la utilidad `EXTRACT`, capturan los datos de `EXAMPLE.TABLE` en la base de datos `OGGSOURCE` de origen y crean los archivos de seguimiento. 

**Para ejecutar la utilidad EXTRACT**

1. Configure el archivo de parámetros `EXTRACT` en el hub de Oracle GoldenGate (instancia en las instalaciones o de Amazon EC2). El siguiente listado muestra un archivo de parámetros `EXTRACT` de ejemplo denominado `$GGHOME/dirprm/eabc.prm`.

   ```
   EXTRACT EABC
    
   USERID oggadm1@OGGSOURCE, PASSWORD "my-password"
   EXTTRAIL /path/to/goldengate/dirdat/ab 
    
   IGNOREREPLICATES
   GETAPPLOPS
   TRANLOGOPTIONS EXCLUDEUSER OGGADM1
   	 
   TABLE EXAMPLE.TABLE;
   ```

1. En el hub de Oracle GoldenGate, inicie sesión en la base de datos de origen y lance la interfaz de la línea de comandos de Oracle GoldenGate `ggsci`. En el siguiente ejemplo, se muestra el formato para iniciar sesión.

   ```
   dblogin oggadm1@OGGSOURCE
   ```

1. Agregue datos transaccionales para activar el registro complementario para la tabla de base de datos.

   ```
   add trandata EXAMPLE.TABLE
   ```

1. Con la línea de comandos `ggsci`, habilite la utilidad `EXTRACT` mediante los siguientes comandos.

   ```
   add extract EABC tranlog, INTEGRATED tranlog, begin now
   add exttrail /path/to/goldengate/dirdat/ab 
      extract EABC, 
      MEGABYTES 100
   ```

1. Registre la utilidad `EXTRACT` con la base de datos de manera que no se eliminen los archivos de registro. Esta tarea le permite recuperar, si fuera necesario, transacciones antiguas sin confirmar. Para registrar la utilidad `EXTRACT` en la base de datos, utilice el siguiente comando.

   ```
   register EXTRACT EABC, DATABASE
   ```

1. Inicie la utilidad `EXTRACT` con el siguiente comando.

   ```
   start EABC
   ```

## Ejecución de la utilidad REPLICAT de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Replicat"></a>

La utilidad `REPLICAT` "inserta" información sobre transacciones de los archivos de seguimiento en la base de datos de destino.

Los siguientes pasos habilitan e inician la utilidad `REPLICAT` para que pueda replicar los datos capturados en la tabla `EXAMPLE.TABLE` de la base de datos de destino `OGGTARGET`.

**Para ejecutar la utilidad REPLICATE**

1. Configure el archivo de parámetros `REPLICAT` en el hub de Oracle GoldenGate (instancia local o de EC2). El siguiente listado muestra un archivo de parámetros `REPLICAT` de ejemplo denominado `$GGHOME/dirprm/rabc.prm`.

   ```
   REPLICAT RABC
    
   USERID oggadm1@OGGTARGET, password "my-password"
    
   ASSUMETARGETDEFS
   MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE;
   ```
**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

1. Inicie sesión en la base de datos de destino y lance la interfaz de la línea de comandos de Oracle GoldenGate (`ggsci`). En el siguiente ejemplo, se muestra el formato para iniciar sesión.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. Con la línea de comandos `ggsci`, agregue una tabla de punto de comprobación. El usuario indicado debe ser la cuenta de usuario de Oracle GoldenGate, no el propietario del esquema de la tabla de destino. En el siguiente ejemplo, se crea una tabla de punto de comprobación llamada `gg_checkpoint`.

   ```
   add checkpointtable oggadm1.oggchkpt
   ```

1. Para habilitar la utilidad `REPLICAT`, utilice el siguiente comando.

   ```
   add replicat RABC EXTTRAIL /path/to/goldengate/dirdat/ab CHECKPOINTTABLE oggadm1.oggchkpt 
   ```

1. Inicie la utilidad `REPLICAT` con el siguiente comando.

   ```
   start RABC
   ```

# Supervisión de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Monitoring"></a>

Cuando utilice Oracle GoldenGate para la replicación, asegúrese de que el proceso de Oracle GoldenGate esté activo y en ejecución y que las bases de datos de origen y destino estén sincronizadas. Puede utilizar las siguientes herramientas de supervisión:
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) es un servicio de supervisión que se utiliza en este patrón para supervisar los registros de errores de GoldenGate.
+ [Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) es un servicio de notificación de mensajes que se utiliza en este patrón para enviar notificaciones por correo electrónico.

Para obtener instrucciones detalladas, consulte [Monitor Oracle GoldenGate logs by using Amazon CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html) (Supervisión de los registros de Oracle GoldenGate mediante Amazon CloudWatch).

# Solución de problemas de Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Troubleshooting"></a>

Esta sección explica los problemas más habituales al usar Oracle GoldenGate con Amazon RDS para Oracle.

**Topics**
+ [Error al abrir un registro redo en línea](#Appendix.OracleGoldenGate.Troubleshooting.Logs)
+ [Oracle GoldenGate parece estar configurado correctamente, pero la replicación no está funcionando](#Appendix.OracleGoldenGate.Troubleshooting.Replication)
+ [La REPLICAT integrada es lenta debido a la consulta en SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"](#Appendix.OracleGoldenGate.IR)

## Error al abrir un registro redo en línea
<a name="Appendix.OracleGoldenGate.Troubleshooting.Logs"></a>

Asegúrese de configurar las bases de datos para que retengan los registros redo archivados. Tenga en cuenta estas directrices:
+ Especifique la duración de la retención de registros en horas. El valor mínimo es una hora.
+ Establezca la duración de manera que supere cualquier posible periodo de inactividad de la instancia de base de datos de origen, cualquier posible periodo de comunicación y cualquier posible periodo de problemas de red para la instancia de base de datos de origen. Dicha duración permite a Oracle GoldenGate recuperar registros de la instancia de base de datos de origen según sea necesario.
+ Asegúrese de que dispone de suficiente almacenamiento en la instancia para los archivos.

Si no tiene la retención de registros habilitada, o bien si el valor de retención es demasiado pequeño, recibirá un mensaje de error similar al siguiente.

```
2022-03-06 06:17:27  ERROR   OGG-00446  error 2 (No such file or directory) 
opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 
Not able to establish initial position for begin time 2022-03-06 06:16:55.
```

## Oracle GoldenGate parece estar configurado correctamente, pero la replicación no está funcionando
<a name="Appendix.OracleGoldenGate.Troubleshooting.Replication"></a>

Para tablas preexistentes, debe especificar el SCN desde el que trabaja Oracle GoldenGate.

**Para solucionar este problema**

1. Inicie sesión en la base de datos de origen y lance la interfaz de la línea de comandos de Oracle GoldenGate (`ggsci`). En el siguiente ejemplo, se muestra el formato para iniciar sesión.

   ```
   dblogin userid oggadm1@OGGSOURCE
   ```

1. Con la línea de comandos `ggsci`, configure el SCN de inicio para el proceso `EXTRACT`. En el siguiente ejemplo, se establece el SCN en 223274 para `EXTRACT`.

   ```
   ALTER EXTRACT EABC SCN 223274
   start EABC
   ```

1. Inicie sesión en la base de datos de destino. En el siguiente ejemplo, se muestra el formato para iniciar sesión.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. Con la línea de comandos `ggsci`, configure el SCN de inicio para el proceso `REPLICAT`. En el siguiente ejemplo, se establece el SCN en 223274 para `REPLICAT`.

   ```
   start RABC atcsn 223274
   ```

## La REPLICAT integrada es lenta debido a la consulta en SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"
<a name="Appendix.OracleGoldenGate.IR"></a>

Con la detección y resolución de conflictos (CDR) de Oracle GoldenGate se ofrecen rutinas básicas de resolución de conflictos. Por ejemplo, con la CDR se puede resolver un conflicto distintivo de una instrucción `INSERT`.

Cuando la CDR resuelve una colisión, puede insertar registros en la tabla de excepciones `_DBA_APPLY_CDR_INFO` temporalmente. La `REPLICAT` integrada elimina estos registros después. En un escenario raro, la `REPLICAT` integrada puede procesar un gran número de colisiones, pero una `REPLICAT` integrada nueva no la reemplaza. En lugar de eliminarse, las filas que ya están en `_DBA_APPLY_CDR_INFO` quedan huérfanas. Los procesos `REPLICAT` integrados nuevos se ralentizan, pues están consultando filas huérfanas en `_DBA_APPLY_CDR_INFO`.

Para eliminar todas las filas de `_DBA_APPLY_CDR_INFO`, utilice el procedimiento `rdsadmin.rdsadmin_util.truncate_apply$_cdr_info` de Amazon RDS. Este procedimiento se publica como parte de la versión y actualización de parche de octubre de 2020. El procedimiento está disponible en las siguientes versiones de base de datos:
+ [ Versión 21.0.0.0.ru-2022-01.rur-2022-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-21-0.html#oracle-version-RU-RUR.21.0.0.0.ru-2022-01.rur-2022-01.r1) y posteriores
+ [ Versión 19.0.0.0.ru-2020-10.rur-2020-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2020-10.rur-2020-10.r1) y posteriores

En el ejemplo siguiente se trunca la tabla `_DBA_APPLY_CDR_INFO`.

```
SET SERVEROUTPUT ON SIZE 2000
EXEC rdsadmin.rdsadmin_util.truncate_apply$_cdr_info;
```

# Uso de Oracle Repository Creation Utility en RDS para Oracle
<a name="Oracle.Resources.RCU"></a>

Puede usar Amazon RDS para alojar una instancia de base de datos RDS for Oracle que contenga los esquemas para admitir los componentes de Oracle Fusion Middleware. Antes de poder utilizar los componentes de Fusion Middleware, cree y rellene los esquemas para ellos en su base de datos. Los esquemas se crean y se rellenan con Oracle Repository Creation Utility (RCU).

## Versiones y opciones de licencia compatibles con la RCU
<a name="Oracle.Resources.RCU.Versions"></a>

Amazon RDS solo es compatible con Oracle Repository Creation Utility (RCU) versión 12c. Puede usar RCU en las siguientes configuraciones: 
+ RCU 12c con Oracle Database 21c
+ RCU 12c con Oracle Database 19c

Para poder usar RCU, asegúrese de que hace lo siguiente:
+ Obtenga una licencia de Oracle Fusion Middleware.
+ Siga las directrices sobre licencias de Oracle para la base de datos de Oracle que aloja el repositorio. Para obtener más información, consulte el [Manual del usuario de información de licencias de Oracle Fusion Middleware ](https://docs.oracle.com/en/middleware/fusion-middleware/fmwlc/) en la documentación de Oracle.

Fusion MiddleWare admite los repositorios de Oracle Database Enterprise Edition y Standard Edition 2. Oracle recomienda usar Enterprise Edition para las instalaciones de producción que requieren particiones y las instalaciones en las que es necesario reconstruir índices online.

Antes de crear su instancia de base de datos de RDS for Oracle, confirme la versión de Oracle Database que necesita para usar los componentes que desea implementar. Para encontrar los requisitos de los componentes y versiones de Fusion Middleware que desea desplegar, utilice la matriz de certificación. Para obtener más información, consulte [Oracle Fusion Middleware Supported System Configurations](http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html) (Configuraciones de sistemas compatibles con Oracle Fusion Middleware) en la documentación de Oracle. 

Amazon RDS admite actualizaciones de las versiones de Oracle Database cuando sean necesarias. Para obtener más información, consulte [Actualización de una versión del motor de una instancia de base de datos ](USER_UpgradeDBInstance.Upgrading.md). 

## Requisitos y limitaciones de la RCU
<a name="Oracle.Resources.RCU.BeforeYouBegin"></a>

Para usar la RCU, necesita una Amazon VPC. Su instancia de base de datos de Amazon RDS debe estar disponible únicamente para los componentes de Fusion Middleware y no para la Internet pública. Por lo tanto, aloje la instancia de base de datos de Amazon RDS en una subred privada, que proporciona mayor seguridad. También necesita una instancia de base de datos de RDS for Oracle. Para obtener más información, consulte [Creación y conexión a una instancia de base de datos de Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md).

Puede almacenar los esquemas de cualquier componente de Fusion Middleware en su instancia de base de datos de Amazon RDS. Se verificó que los siguientes esquemas se instalan correctamente: 
+ Analytics (ACTIVITIES)
+ Audit Services (IAU)
+ Audit Services Append (IAU\$1APPEND)
+ Audit Services Viewer (IAU\$1VIEWER)
+ Discussions (DISCUSSIONS)
+ Metadata Services (MDS)
+ Oracle Business Intelligence (BIPLATFORM)
+ Oracle Platform Security Services (OPSS)
+ Portal and Services (WEBCENTER)
+ Portlet Producers (PORTLET)
+ Service Table (STB)
+ SOA Infrastructure (SOAINFRA)
+ User Messaging Service (UCSUMS)
+ WebLogic Services (WLS)

## Pautas para el uso de la RCU
<a name="Oracle.Resources.RCU.Recommendations"></a>

A continuación se detallan algunas recomendaciones para trabajar con una instancia de base de datos en esta situación: 
+ Es recomendable usar Multi-AZ para las cargas de trabajo de producción. Para obtener más información acerca del uso de varias zonas de disponibilidad, consulte [Regiones, zonas de disponibilidad y Local Zones](Concepts.RegionsAndAvailabilityZones.md). 
+ Para mayor seguridad, Oracle recomienda usar Cifrado de datos transparente (TDE) para cifrar los datos en reposo. Si tiene una licencia de Enterprise Edition que incluye Advanced Security Option, puede habilitar el cifrado en reposo usando la opción TDE. Para obtener más información, consulte [Cifrado de datos transparente de Oracle](Appendix.Oracle.Options.AdvSecurity.md). 

  Amazon RDS también proporciona una opción de cifrado en reposo para todas las ediciones de la base de datos. Para obtener más información, consulte [Cifrado de recursos de Amazon RDS](Overview.Encryption.md). 
+ Configure sus grupos de seguridad de VPC para permitir la comunicación entre los servidores de su aplicación y su instancia de base de datos de Amazon RDS. Los servidores de aplicación que alojan los componentes de Fusion Middleware pueden estar en Amazon EC2 o instalados localmente. 

## Ejecución de la RCU
<a name="Oracle.Resources.RCU.Installing"></a>

Para crear y rellenar los esquemas que admiten los componentes de Fusion Middleware, use la utilidad de creación de repositorios de Oracle (RCU). Puede ejecutar la RCU de distintas formas.

**Topics**
+ [Ejecución de RCU a través de la línea de comando en un paso](#Oracle.Resources.RCU.SilentSingle)
+ [Ejecución de RCU a través de la línea de comando en varios pasos](#Oracle.Resources.RCU.SilentMulti)
+ [Ejecución de RCU en modo interactivo](#Oracle.Resources.RCU.Interactive)

### Ejecución de RCU a través de la línea de comando en un paso
<a name="Oracle.Resources.RCU.SilentSingle"></a>

Si no necesita editar ninguno de sus esquemas antes de rellenarlos, puede ejecutar RCU en un solo paso. De lo contrario, consulte la siguiente sección para ejecutar RCU en varios pasos. 

Puede ejecutar RCU en modo silencioso usando el parámetro de línea de comando `-silent`. Cuando se ejecuta la RCU en modo silencioso, se puede evitar introducir contraseñas en la línea de comandos mediante la creación de un archivo de texto que contiene las contraseñas. Cree un archivo de texto con la contraseña de `dbUser` en la primera línea y la contraseña de cada componente en las líneas siguientes. Debe especificar el nombre del archivo de contraseñas como último parámetro del comando de RCU. 

**Example**  
En el siguiente ejemplo se crean y se rellenan esquemas para el componente SOA Infrastructure (y sus dependencias) en un solo paso.   
Para Linux, macOS o Unix:  

```
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-silent \
-createRepository \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal \
-honorOMF \
-schemaPrefix ${SCHEMA_PREFIX} \
-component MDS \
-component STB \
-component OPSS \
-component IAU \
-component IAU_APPEND \
-component IAU_VIEWER \
-component UCSUMS \
-component WLS \
-component SOAINFRA \
-f < /tmp/passwordfile.txt
```

Para obtener más información, consulte [ Running Repository Creation Utility from the Command Line](https://docs.oracle.com/middleware/1221/core/RCUUG/GUID-0D3A2959-7CC8-4001-997E-718ADF04C5F2.htm#RCUUG248) en la documentación de Oracle. 

### Ejecución de RCU a través de la línea de comando en varios pasos
<a name="Oracle.Resources.RCU.SilentMulti"></a>

Para editar de forma manual los scripts de sus esquemas, ejecute la RCU en varios pasos: 

1. Ejecute RCU en el modo **Prepare Scripts for System Load** usando el parámetro de línea de comando `-generateScript` para crear los scripts de sus esquemas. 

1. Edite y ejecute manualmente el script generad `script_systemLoad.sql`. 

1. Ejecute RCU de nuevo en el modo **Perform Product Load** usando el parámetro de línea de comando `-dataLoad` para rellenar los esquemas. 

1. Ejecute el script de limpieza creado `script_postDataLoad.sql`.

Para ejecutar la RCU en modo silencioso, especifique el parámetro de línea de comandos `-silent`. Cuando se ejecuta la RCU en modo silencioso, se puede evitar escribir contraseñas en la línea de comandos mediante la creación de un archivo de texto que contiene las contraseñas. Cree un archivo de texto con la contraseña de `dbUser` en la primera línea y la contraseña de cada componente en las líneas siguientes. Especifique el nombre del archivo de contraseñas como último parámetro del comando de la RCU. 

**Example**  
El siguiente ejemplo crea scripts de esquema para el componente SOA Infrastructure y sus dependencias.   
Para Linux, macOS o Unix:  

```
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-silent \
-generateScript \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal \
-honorOMF \
[-encryptTablespace true] \
-schemaPrefix ${SCHEMA_PREFIX} \
-component MDS \
-component STB \
-component OPSS \
-component IAU \
-component IAU_APPEND \
-component IAU_VIEWER \
-component UCSUMS \
-component WLS \
-component SOAINFRA \
-scriptLocation /tmp/rcuscripts \
-f < /tmp/passwordfile.txt
```
Ahora puede editar el script generado, conectarse a su instancia de base de datos de Oracle y ejecutar el script. El script generado se llama `script_systemLoad.sql`. Para obtener información acerca de la conexión a su instancia de base de datos de Oracle, consulte [Paso 3: conectar el cliente de SQL a una instancia de base de datos de Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md#CHAP_GettingStarted.Connecting.Oracle).   
En el siguiente ejemplo se rellenan los esquemas para el componente SOA Infrastructure (y sus dependencias).   
Para Linux, macOS o Unix:  

```
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-silent \
-dataLoad \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal \
-honorOMF \
-schemaPrefix ${SCHEMA_PREFIX} \
-component MDS \
-component STB \
-component OPSS \
-component IAU \
-component IAU_APPEND \
-component IAU_VIEWER \
-component UCSUMS \
-component WLS \
-component SOAINFRA \
-f < /tmp/passwordfile.txt
```
Para terminar, conéctese a su instancia de base de datos de Oracle y ejecute el script de limpieza. El script se llama `script_postDataLoad.sql`. 

Para obtener más información, consulte [ Running Repository Creation Utility from the Command Line](https://docs.oracle.com/middleware/1221/core/RCUUG/GUID-0D3A2959-7CC8-4001-997E-718ADF04C5F2.htm#RCUUG248) en la documentación de Oracle. 

### Ejecución de RCU en modo interactivo
<a name="Oracle.Resources.RCU.Interactive"></a>

Para usar la interfaz gráfica de usuario de la RCU, ejecute la RCU en modo interactivo. Incluya el parámetro `-interactive` y omita el parámetro `-silent`. Para obtener más información, consulte [Understanding Repository Creation Utility Screens](https://docs.oracle.com/middleware/1213/core/RCUUG/rcu_screens.htm#RCUUG143) en la documentación de Oracle. 

**Example**  
En el siguiente ejemplo, RCU se inicia en modo interactivo y la información de la conexión se rellena automáticamente.   
Para Linux, macOS o Unix:  

```
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-interactive \
-createRepository \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal
```

## Solución de problemas de la RCU
<a name="Oracle.Resources.RCU.KnownIssues"></a>

Tenga en cuenta los siguientes problemas.

**Topics**
+ [Oracle Managed Files (OMF)](#Oracle.Resources.RCU.KnownIssues.OMF)
+ [Privilegios de objeto](#Oracle.Resources.RCU.KnownIssues.object-privs)
+ [Enterprise Scheduler Service](#Oracle.Resources.RCU.KnownIssues.Scheduler)

### Oracle Managed Files (OMF)
<a name="Oracle.Resources.RCU.KnownIssues.OMF"></a>

Amazon RDS usa archivos de datos de OMF para simplificar la administración del almacenamiento. Puede personalizar los atributos del espacio de tabla, como la administración del tamaño y la extensión. Sin embargo, si se especifica un nombre de archivo de datos cuando se ejecuta RCU, el código del espacio de tabla falla con `ORA-20900`. Puede utilizar RCU con OMF de las siguientes formas: 
+ En RCU 12.2.1.0 y versiones posteriores, use el parámetro de línea de comando `-honorOMF`. 
+ En RCU 12.1.0.3 y versiones posteriores, use varios pasos y edite el script generado. Para obtener más información, consulte [Ejecución de RCU a través de la línea de comando en varios pasos](#Oracle.Resources.RCU.SilentMulti). 

### Privilegios de objeto
<a name="Oracle.Resources.RCU.KnownIssues.object-privs"></a>

Dado que Amazon RDS es un servicio administrado, no tiene acceso `SYSDBA` completo a la instancia de base de datos de RDS for Oracle. Sin embargo, RCU 12c admite usuarios con privilegios más bajos. En la mayoría de los casos, el privilegio de usuario maestro es suficiente para crear repositorios. 

La cuenta maestra puede conceder directamente los privilegios que ya se le han concedido a `WITH GRANT OPTION`. En algunos casos, RCU puede generar el error con `ORA-01031` cuando se intenta conceder a `SYS` privilegios de objeto. Puede volver a intentar ejecutar el procedimiento almacenado `rdsadmin_util.grant_sys_object`, como se muestra en el ejemplo siguiente:

```
BEGIN
  rdsadmin.rdsadmin_util.grant_sys_object('GV_$SESSION','MY_DBA','SELECT');
END;
/
```

Si intenta conceder privilegios `SYS` en el objeto `SCHEMA_VERSION_REGISTRY`, la operación podría fallar con `ORA-20199: Error in rdsadmin_util.grant_sys_object`. Puede calificar la tabla `SCHEMA_VERSION_REGISTRY$` y la vista `SCHEMA_VERSION_REGISTRY` con el nombre del propietario del esquema, que es `SYSTEM`, y volver a intentar la operación. O bien, puede crear un sinónimo. Inicie sesión como usuario maestro y ejecute las siguientes instrucciones:

```
CREATE OR REPLACE VIEW SYSTEM.SCHEMA_VERSION_REGISTRY 
  AS SELECT * FROM SYSTEM.SCHEMA_VERSION_REGISTRY$;
CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY FOR SYSTEM.SCHEMA_VERSION_REGISTRY;
CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY$ FOR SCHEMA_VERSION_REGISTRY;
```

### Enterprise Scheduler Service
<a name="Oracle.Resources.RCU.KnownIssues.Scheduler"></a>

Cuando se usa la RCU para eliminar un repositorio de Enterprise Scheduler Service, la RCU puede fallar con `Error: Component drop check failed`.

# Configuración de Oracle Connection Manager en una instancia de Amazon EC2
<a name="oracle-cman"></a>

Oracle Connection Manager (CMAN) es un servidor proxy que reenvía las peticiones de conexión a los servidores de bases de datos o a otros servidores proxy. Puede utilizar CMAN para configurar lo siguiente:

Control de acceso  
Puede crear reglas que filtren las solicitudes de los clientes especificadas por el usuario y acepten otras.

Multiplexación de sesiones  
Puede canalizar varias sesiones de cliente a través de una conexión de red a un destino de servidor compartido.

Normalmente, CMAN reside en un host separado del servidor de la base de datos y de los hosts de los clientes. Para más información, consulte [Configuring Oracle Connection Manager](https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/configuring-oracle-connection-manager.html#GUID-AF8A511E-9AE6-4F4D-8E58-F28BC53F64E4) (Configuración de Oracle Connection Manager) en la documentación de Oracle Database.

**Topics**
+ [Versiones y opciones de licencia compatibles con CMAN](#oracle-cman.Versions)
+ [Requisitos y limitaciones para CMAN](#oracle-cman.requirements)
+ [Configuración de CMAN](#oracle-cman.configuring-cman)

## Versiones y opciones de licencia compatibles con CMAN
<a name="oracle-cman.Versions"></a>

CMAN es compatible con la edición Enterprise de todas las versiones de Oracle Database que admite Amazon RDS. Para obtener más información, consulte [Versiones de RDS para Oracle](Oracle.Concepts.database-versions.md).

Puede instalar Oracle Connection Manager en un host distinto del host donde está instalada Oracle Database. No necesita una licencia independiente para el host que ejecuta CMAN.

## Requisitos y limitaciones para CMAN
<a name="oracle-cman.requirements"></a>

Para proporcionar una experiencia completamente administrada, Amazon RDS restringe el acceso al sistema operativo. No se pueden modificar los parámetros de la base de datos que requieren acceso al sistema operativo. Por lo tanto, Amazon RDS no es compatible con las características de CMAN que requieren que inicie sesión en el sistema operativo.

## Configuración de CMAN
<a name="oracle-cman.configuring-cman"></a>

Cuando se configura CMAN, se realiza la mayor parte del trabajo fuera de la base de datos de RDS for Oracle.

**Topics**
+ [Paso 1: configurar CMAN en una instancia de Amazon EC2 en la misma VPC que la instancia de RDS for Oracle](#oracle-cman.configuring-cman.vpc)
+ [Paso 2: configurar los parámetros de la base de datos para CMAN](#oracle-cman.configuring-cman.parameters)
+ [Paso 3: asociar la instancia de base de datos con el grupo de parámetros](#oracle-cman.configuring-cman.parameter-group)

### Paso 1: configurar CMAN en una instancia de Amazon EC2 en la misma VPC que la instancia de RDS for Oracle
<a name="oracle-cman.configuring-cman.vpc"></a>

Para saber cómo configurar CMAN, siga las instrucciones detalladas en la publicación del blog [Configuring and using Oracle Connection Manager on Amazon EC2 for Amazon RDS for Oracle](https://aws.amazon.com/blogs/database/configuring-and-using-oracle-connection-manager-on-amazon-ec2-for-amazon-rds-for-oracle/) (Configurar y utilizar Oracle Connection Manager en Amazon EC2 para Amazon RDS for Oracle).

### Paso 2: configurar los parámetros de la base de datos para CMAN
<a name="oracle-cman.configuring-cman.parameters"></a>

Para las funciones de CMAN, como el modo de director de tráfico y la multiplexación de sesiones, establezca el parámetro `REMOTE_LISTENER` en la dirección de la instancia de CMAN en un grupo de parámetros de base de datos. Veamos la siguiente situación:
+ La instancia CMAN reside en un host con la dirección IP `10.0.159.100` y utiliza el puerto `1521`.
+ Las bases de datos `orcla`, `orclb` y `orclc` residen en instancias de base de datos de RDS for Oracle separadas.

La siguiente tabla muestra cómo establecer el valor de `REMOTE_LISTENER`. El valor de `LOCAL_LISTENER` lo establece automáticamente Amazon RDS.


| Nombre de instancia de base de datos | IP de la instancia de la base de datos | Valor del oyente local (establecido automáticamente) | Valor de la escucha remota (establecida por el usuario) | 
| --- | --- | --- | --- | 
| orcla | 10.0.159.200 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.200)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 
| orclb | 10.0.159.300 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.300)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 
| orclc | 10.0.159.400 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.400)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 

### Paso 3: asociar la instancia de base de datos con el grupo de parámetros
<a name="oracle-cman.configuring-cman.parameter-group"></a>

Cree o modifique la instancia de base de datos para utilizar el grupo de parámetros que configuró en [Paso 2: configurar los parámetros de la base de datos para CMAN](#oracle-cman.configuring-cman.parameters). Para obtener más información, consulte [Asociación de un grupo de parámetros de base de datos con una instancia de base de datos en Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

# Instalación de una base de datos de Siebel en Oracle en Amazon RDS
<a name="Oracle.Resources.Siebel"></a>

Puede utilizar Amazon RDS para alojar una base de datos de Siebel en una instancia de base de datos de Oracle. La base de datos de Siebel forma parte de la arquitectura de aplicaciones Siebel Customer Relationship Management (CRM). Para ver una ilustración, consulte [ Generic Architecture of Siebel Business Application](https://docs.oracle.com/cd/E63029_01/books/PerformTun/performtun_archinfra.htm#i1043361). 

Utilice el siguiente tema para configurar una base de datos de Siebel en una instancia de base de datos de Oracle en Amazon RDS. También puede aprender cómo utilizar Amazon Web Services con los demás componentes que requiere la arquitectura de aplicaciones Siebel CRM. 

**nota**  
Para instalar una base de datos de Siebel en Oracle en Amazon RDS, debe utilizar la cuenta de usuario maestro. No necesita el privilegio `SYSDBA`, ya que el privilegio de usuario maestro es suficiente. Para obtener más información, consulte [Privilegios de la cuenta de usuario maestro](UsingWithRDS.MasterAccounts.md). 

## Licencias y versiones
<a name="Oracle.Resources.Siebel.Versions"></a>

Para instalar una base de datos de Siebel en Amazon RDS, debe utilizar su propia licencia de Oracle Database y su propia licencia de Siebel. Debe tener la licencia de Oracle Database adecuada (con Software Update License and Support) para la clase de instancia de base de datos y la edición de Oracle Database. Para obtener más información, consulte [Opciones de licencias de RDS para Oracle](Oracle.Concepts.Licensing.md). 

Oracle Database Enterprise Edition es la única edición certificada por Siebel para esta situación. Amazon RDS es compatible con las versiones 15.0 o 16.0 de Siebel CRM.

Amazon RDS admite actualizaciones de las versiones de los motores de bases de datos. Para obtener más información, consulte [Actualización de una versión del motor de una instancia de base de datos ](USER_UpgradeDBInstance.Upgrading.md). 

## Antes de empezar
<a name="Oracle.Resources.Siebel.BeforeYouBegin"></a>

Antes de comenzar, necesita una Amazon VPC. Como la instancia de base de datos de Amazon RDS únicamente debe estar disponible para Siebel Enterprise Server y no para la red pública de Internet, la instancia de base de datos de Amazon RDS se aloja en una subred privada, lo que proporciona mayor seguridad. Para obtener información acerca de cómo crear una Amazon VPC para usarla con Siebel CRM, consulte [Creación y conexión a una instancia de base de datos de Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md). 

Antes de comenzar, necesitará también una instancia de base de datos de Oracle. Para obtener información acerca de cómo crear una instancia de base de datos de Oracle para utilizarla con Siebel CRM, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md). 

## Instalación y configuración de una base de datos de Siebel
<a name="Oracle.Resources.Siebel.Database.Siebel"></a>

Una vez que haya creado la instancia de base de datos de Oracle, puede instalar la base de datos de Siebel. La base de datos se instala creando las cuentas del propietario y del administrador de tablas, instalando las funciones y los procedimientos almacenados, y ejecutando el asistente para la configuración de bases de datos de Siebel. Para obtener más información, consulte [ Installing the Siebel Database on the RDBMS](https://docs.oracle.com/cd/E63029_01/books/SiebInstWIN/SiebInstCOM_ConfigDB.html). 

Para ejecutar el asistente para la configuración de bases de datos de Siebel, debe utilizar la cuenta de usuario maestro. No necesita el privilegio `SYSDBA`, ya que el privilegio de usuario maestro es suficiente. Para obtener más información, consulte [Privilegios de la cuenta de usuario maestro](UsingWithRDS.MasterAccounts.md). 

## Uso de otras características de Amazon RDS con una base de datos de Siebel
<a name="Oracle.Resources.Siebel.Miscellaneous"></a>

Una vez que haya creado la instancia de base de datos de Oracle, puede utilizar características adicionales de Amazon RDS que le ayudarán a personalizar la base de datos de Siebel.

### Recopilación de estadísticas con la opción Oracle Statspack
<a name="Oracle.Resources.Siebel.Options"></a>

Puede añadir características a la instancia de base de datos utilizando opciones en los grupos de opciones de base de datos. Cuando creó la instancia de base de datos de Oracle, utilizó el grupo de opciones de base de datos predeterminado. Si desea añadir características a la base de datos, puede crear un grupo de opciones nuevo para la instancia de base de datos. 

Si desea recopilar estadísticas de desempeño de la base de datos de Siebel, puede añadir la característica Oracle Statspack. Para obtener más información, consulte [Oracle Statspack](Appendix.Oracle.Options.Statspack.md). 

Algunos cambios realizados en las opciones se aplican inmediatamente, mientras que otros se aplican durante el siguiente periodo de mantenimiento de la instancia de base de datos. Para obtener más información, consulte [Trabajo con grupos de opciones](USER_WorkingWithOptionGroups.md). Una vez que haya creado un grupo de opciones personalizado, modifique la instancia de base de datos para adjuntarlo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

### Ajuste del rendimiento mediante parámetros
<a name="Oracle.Resources.Siebel.Parameters"></a>

Puede administrar la configuración del motor de base de datos mediante el uso de los parámetros de un grupo de parámetros de base de datos. Cuando creó la instancia de base de datos de Oracle, utilizó el grupo de parámetros de base de datos predeterminado. Si desea personalizar la configuración de la base de datos, puede crear un grupo de parámetros nuevo para la instancia de base de datos. 

Al cambiar un parámetro, dependiendo del tipo de parámetro, los cambios se aplican inmediatamente o después de reiniciar manualmente la instancia de base de datos. Para obtener más información, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md). Una vez que haya creado un grupo de parámetros personalizado, modifique la instancia de base de datos para adjuntarlo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

Para optimizar la instancia de base de datos de Oracle para Siebel CRM, puede personalizar determinados parámetros. En la siguiente tabla se muestran algunos valores de parámetros recomendados. Si quiere obtener más información para ajustar el rendimiento de Siebel CRM, consulte la [guía de ajuste de rendimiento de Siebel CRM](https://docs.oracle.com/cd/E63029_01/books/PerformTun/toc.htm). 


****  

| Nombre del parámetro | Valor predeterminado | Valor aconsejado para optimizar el rendimiento de Siebel CRM | 
| --- | --- | --- | 
| \$1always\$1semi\$1join | `CHOOSE` | `OFF`  | 
| \$1b\$1tree\$1bitmap\$1plans | `TRUE` | `FALSE`  | 
| \$1like\$1with\$1bind\$1as\$1equality | `FALSE` | `TRUE`  | 
| \$1no\$1or\$1expansion | `FALSE` | `FALSE`  | 
| \$1optimizer\$1join\$1sel\$1sanity\$1check | `TRUE` | `TRUE`  | 
| \$1optimizer\$1max\$1permutations | 2000 | 100  | 
| \$1optimizer\$1sortmerge\$1join\$1enabled | `TRUE` | `FALSE`  | 
| \$1partition\$1view\$1enabled | `TRUE` | `FALSE`  | 
| open\$1cursors | `300` | Como mínimo **2000**.  | 

### Creación de instantáneas
<a name="Oracle.Resources.Siebel.Snapshots"></a>

Una vez que haya creado la base de datos de Siebel, puede copiarla utilizando las características de instantáneas de Amazon RDS. 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 [Restauración a una instancia de base de datos](USER_RestoreFromSnapshot.md). 

## Otros componentes compatibles de Siebel CRM
<a name="Oracle.Resources.Siebel.OtherComponents"></a>

Además de la base de datos de Siebel, también puede utilizar Amazon Web Services con los demás componentes de la arquitectura de aplicaciones Siebel CRM. Puede encontrar más información acerca de la compatibilidad de Amazon AWS con componentes adicionales de Siebel CRM en la siguiente tabla. 


****  

| Componente de Siebel CRM | Soporte de Amazon AWS | 
| --- | --- | 
| Siebel Enterprise(con uno o varios servidores Siebel) |  Puede alojar los servidores Siebel en instancias de Amazon Elastic Compute Cloud (Amazon EC2). Puede utilizar Amazon EC2 para lanzar tantos servidores virtuales como necesite. Utilizando Amazon EC2, puede escalar hacia arriba o hacia abajo fácilmente para afrontar los cambios que se produzcan en los requisitos. Para obtener más información, consulte [¿Qué es Amazon EC2?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)  Puede colocar los servidores en la misma VPC que la instancia de base de datos y utilizar el grupo de seguridad de VPC para obtener acceso a la base de datos. Para obtener más información, consulte [Uso de una instancia de base de datos en una VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md).   | 
| Servidores web(con Siebel Web Server Extensions) |  Puede instalar varios servidores web en varias instancias EC2. A continuación, puede utilizar Elastic Load Balancing para distribuir el tráfico entrante entre las instancias. Para obtener más información, consulte [¿Qué es Elastic Load Balancing?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elastic-load-balancing.html)   | 
| Siebel Gateway Name Server |  Puede alojar el servidor de nombres Siebel Gateway Name Server en una instancia EC2. A continuación, puede colocar el servidor en la misma VPC que la instancia de base de datos y utilizar el grupo de seguridad de VPC para obtener acceso a la base de datos. Para obtener más información, consulte [Uso de una instancia de base de datos en una VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md).   | 