Uso de Oracle Repository Creation Utility en RDS para Oracle - Amazon Relational Database Service

Uso de Oracle Repository Creation Utility en RDS para Oracle

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

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:

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

Requisitos y limitaciones de la RCU

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.

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_APPEND)

  • Audit Services Viewer (IAU_VIEWER)

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

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

    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.

  • 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

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.

Ejecución de RCU a través de la línea de comando en un paso

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.

ejemplo

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 en la documentación de Oracle.

Ejecución de RCU a través de la línea de comando en varios pasos

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.

  2. Edite y ejecute manualmente el script generad script_systemLoad.sql.

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

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

ejemplo

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.

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 en la documentación de Oracle.

Ejecución de RCU en modo interactivo

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 en la documentación de Oracle.

ejemplo

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

Tenga en cuenta los siguientes problemas.

Oracle Managed Files (OMF)

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:

Privilegios de objeto

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

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