Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Migración de Oracle E-Business Suite a Amazon RDS Custom
Creado por Simon Cunningham (AWS), Jaydeep Nandy (AWS), Nitin Saxena (AWS) y Vishnu Vinnakota (AWS)
Resumen
Oracle E-Business Suite es una solución de planificación de recursos empresariales (ERP) que automatiza procesos de toda la empresa, como finanzas, recursos humanos, cadena de suministro y fabricación. Ofrece una arquitectura de tres niveles: cliente, aplicación y base de datos. Anteriormente, tenía que ejecutar la base de datos de Oracle E-Business Suite en una instancia autogestionada de Amazon Elastic Compute Cloud EC2 (Amazon), pero ahora puede beneficiarse de Amazon Relational Database Service (Amazon RDS) Custom.
Amazon RDS Custom para Oracle es un servicio de base de datos administrado para aplicaciones heredadas, personalizadas y empaquetadas que requieren acceso al sistema operativo y al entorno de base de datos subyacentes. Amazon RDS Custom automatiza las tareas y operaciones de administración de bases de datos y le permite, como administrador de bases de datos, acceder y personalizar el entorno de base de datos y el sistema operativo. Cuando migra su base de datos de Oracle a Amazon RDS Custom, Amazon Web Services (AWS) se encarga de las tareas más pesadas, como aquellas de copia de seguridad, y garantiza una alta disponibilidad para que usted pueda centrarse en mantener la aplicación y la funcionalidad de Oracle E-Business Suite. Para conocer los factores clave a tener en cuenta durante la planificación de una migración, consulte Estrategias de migración de bases de datos de Oracle en Recomendaciones de AWS.
Este patrón se centra en los pasos para migrar una base de datos Oracle independiente de Amazon EC2 a Amazon RDS Custom mediante una copia de seguridad de Oracle Recovery Manager (RMAN) y un sistema de archivos compartido de Amazon Elastic File System (Amazon EFS) entre la instancia EC2 y Amazon RDS Custom. Este patrón emplea una copia de seguridad completa en RMAN (denominada, en ocasiones, copia de seguridad de nivel 0). Por motivos de simplicidad, usa una copia de seguridad en frío en la que la aplicación se cierra y la base de datos se monta y no se abre. (También puede usar la duplicación de Oracle Data Guard o RMAN para realizar copias de seguridad. Sin embargo, este patrón no aborda dichas opciones).
Para obtener más información sobre cómo diseñar la arquitectura de Oracle E-Business Suite en AWS para conseguir una alta disponibilidad y recuperación de desastres, consulte el patrón Set up an HA/DR architecture for Oracle E-Business Suite on Amazon RDS Custom with an active standby database.
Este patrón proporciona enlaces a las notas de soporte de Oracle. Necesitará una cuenta de Oracle Support para acceder a estos documentos.
Requisitos previos y limitaciones
Requisitos previos
Base de datos de origen Oracle versión 12.1.0.2 o 19c (mínimo 19.3) que se ejecute en Amazon EC2 con Oracle Linux 7 o Red Hat Enterprise Linux (RHEL) versión 7.x. Este patrón presupone que el nombre de la base de datos de origen es VIS
, y que el nombre de la base de datos de contenedor adicional de Oracle 19c es VISCDB
, pero puede usar otros nombres.
También puede utilizar este patrón con las bases de datos de origen de Oracle locales, siempre que disponga de la conectividad de red adecuada entre la red local y Amazon Virtual Private Cloud (Amazon VPC).
Una aplicación de Oracle E-Business Suite, versión 12.2.x (instancia visual). Este procedimiento se ha probado en la versión 12.2.11.
Un único nivel de aplicación de Oracle E-Business Suite. Sin embargo, puede adaptar este patrón para que funcione con varios niveles de aplicación.
Para Oracle 12.1.0.2, Amazon RDS Custom se ha configurado con, al menos, 16 GB de espacio de intercambio. De lo contrario, la CD de ejemplo de 12c muestra una advertencia. (Oracle 19c no requiere la CD de ejemplo, como se menciona más adelante en este documento).
Antes de empezar la migración, realice los siguientes pasos:
En la consola de Amazon RDS, cree una instancia de base de datos Amazon RDS Custom para Oracle con el nombre de base de datos VIS
(o el nombre de su base de datos de origen). Para obtener más instrucciones, consulte Trabajo con Amazon RDS Custom en la documentación de AWS, y la publicación del blog Amazon RDS Custom for Oracle – New Control Capabilities in Database Environment. Este paso garantiza que la base de datos tenga el mismo nombre que la base de datos de origen. (Si se deja en blanco, el nombre de la EC2 instancia y la base de datos se establecerán en.) ORCL
Asegúrese de crear su versión de motor personalizada (CEV) con, como mínimo, los parches que se han aplicado al origen. Para obtener más información, consulte Preparación para crear una CEV en la documentación de Amazon RDS.
Nota para Oracle 19c: Actualmente es posible personalizar el nombre de la base de datos de contenedor de Amazon RDS en Oracle 19c. El valor predeterminado es RDSCDB
. Asegúrese de crear la instancia de Oracle personalizada de RDS con el mismo ID de sistema (SID) que la EC2 instancia de origen. Por ejemplo, este patrón presupone que la SID de Oracle 19c es VISCDB
en la instancia de origen. Por lo tanto, la SID de Oracle 19c de destino en Amazon RDS Custom también debería ser VISCDB
.
Configure la instancia de base de datos personalizada de Amazon RDS con suficiente almacenamiento, vCPU y memoria para que coincida con la base de datos de origen de EC2 Amazon. Para ello, puedes hacer coincidir los tipos de EC2 instancias de Amazon en función de la vCPU y la memoria.
Cree un sistema de archivos Amazon EFS y móntelo en las instancias Amazon EC2 y Amazon RDS Custom. Para obtener más instrucciones, consulte la publicación del blog Integrate Amazon RDS Custom for Oracle with Amazon EFS. Este patrón supone que ha montado el volumen de Amazon EFS /RMAN
en las instancias de base de datos personalizadas de Amazon RDS de origen EC2 y de destino, y que la conectividad de red es posible entre el origen y el destino. También puedes usar el mismo método usando Amazon FSx o cualquier unidad compartida.
Supuestos
Este patrón presupone que la aplicación y la base de datos usan nombres de host lógicos, lo que reduce el número de pasos de migración. Puede ajustar estos pasos para usar nombres de host físicos, pero los nombres de host lógicos reducen la complejidad del proceso de migración. Para obtener más información acerca de las ventajas de usar nombres de host lógicos, consulte las siguientes notas de soporte:
Para 12c, nota de soporte de Oracle 2246690.1
Para 19c, nota de soporte de Oracle 2617788.1
Este patrón no cubre el escenario de actualización de Oracle 12c a 19c y se centra en la migración de la misma versión de la base de datos de Oracle que se ejecuta en Amazon a EC2 Amazon RDS Custom for Oracle.
Amazon RDS Custom para Oracle admite la personalización de Oracle Home. (Oracle Home almacena los archivos binarios de Oracle). Puede cambiar la ruta predeterminada /rdsdbbin/oracle
por una ruta especificada por usted, como /d01/oracle/VIS/19c
. Para mayor simplicidad, en las instrucciones de este patrón se asume la ruta predeterminada /rdsdbbin/oracle
.
Limitaciones
Este patrón no es compatible con las siguientes características y configuraciones:
Cómo establecer el parámetro ARCHIVE_LAG_TARGET
de la base de datos en un valor fuera del rango de 60 a 7200
Cómo inhabilitar el modo de registro de la instancia de base de datos (NOARCHIVELOG
)
Desactivar el atributo de la instancia EBS-optimized
EC2
Modificación de los volúmenes originales de Amazon Elastic Block Store (Amazon EBS) adjuntos a la instancia EC2
Cómo añadir nuevos volúmenes de EBS o cambiar el tipo de volumen de gp2
a gp3
Soporte para TNS ifile
Cómo cambiar la ubicación y el nombre de control_file
(debe ser /rdsdbdata/db/VISCDB_A/controlfile/control-01.ctl
, dónde VISCDB
es el nombre del CDB)
Para obtener información adicional sobre estas y otras configuraciones no compatibles, consulte Corrección de configuraciones no compatibles en la documentación de Amazon RDS.
Versiones de producto
Para ver las versiones de Oracle Database y clases de instancia compatibles con Amazon RDS Custom, consulte Requisitos y limitaciones de Amazon RDS Custom para Oracle.
Arquitectura
El siguiente diagrama de arquitectura representa un sistema Oracle E-Business Suite ejecutado en una única zona de disponibilidad en AWS. Se accede al nivel de aplicación a través de un Application Load Balancer, tanto la aplicación como las bases de datos se encuentran en subredes privadas, y el nivel de EC2 base de datos Amazon RDS Custom y Amazon utiliza un sistema de archivos compartidos Amazon EFS para almacenar y acceder a los archivos de respaldo de RMAN.
Servicios de AWS
Amazon RDS Custom para Oracle es un servicio de base de datos administrado para aplicaciones heredadas, personalizadas y empaquetadas que requieren acceso al sistema operativo y al entorno de base de datos subyacentes. Amazon RDS Custom automatiza las tareas y operaciones de administración de bases de datos y le permite, como administrador de bases de datos, acceder y personalizar el entorno de base de datos y el sistema operativo.
Amazon Elastic File System (Amazon EFS) es un sistema de archivos elástico, sencillo y sin servidor que permite añadir y eliminar archivos sin necesidad de administración ni aprovisionamiento. Este patrón emplea un sistema de archivos compartidos de Amazon EFS para almacenar y acceder a los archivos de copia de seguridad de RMAN.
AWS Secrets Manager es un servicio administrado por AWS que le permite rotar, administrar y recuperar credenciales de bases de datos, claves de API y otra información secreta con facilidad. Amazon RDS Custom almacena el par de claves y las credenciales del usuario de la base de datos en Secrets Manager al crear la base de datos. En este patrón se recuperan las contraseñas de usuario de la base de datos de Secrets Manager para crear los usuarios RDSADMIN
y ADMIN
y cambiar las contraseñas de sys y sistema.
Otras herramientas
Prácticas recomendadas
Use nombres de host lógicos. Esto reduce considerablemente la cantidad de scripts a ejecutar tras la clonación. Para obtener más información, consulte el documento de soporte de Oracle 2246690.1.
Amazon RDS Custom usa Oracle Automatic Memory Management (AMM) de forma predeterminada. Si desea usar el kernel hugemem, puede configurar Amazon RDS Custom para que emplee gestión automática de memoria compartida (ASMM) en su lugar.
Mantenga el parámetro memory_max_target
habilitado de forma predeterminada. El marco usa este parámetro en segundo plano para crear réplicas de lectura.
Habilite la base de datos de Oracle Flashback. Esta característica resulta útil en escenarios de pruebas de conmutación por error (no de transición) para restablecer el modo de espera.
En los parámetros de inicialización de la base de datos, personalice el PFILE estándar proporcionado por la instancia de base de datos de Amazon RDS Custom para Oracle E-Business Suite en lugar de usar el SPFILE de la base de datos de Oracle de origen. El motivo de esto es que los espacios en blanco y los comentarios causan problemas al crear réplicas de lectura en Amazon RDS Custom. Para obtener más información acerca del parámetro de inicialización de la base de datos, consulte documento de soporte de Oracle 396009.1.
En la siguiente sección Épica, proporcionamos instrucciones independientes para las versiones 12.1.0.2 y 19c de Oracle.
Epics
Tarea | Descripción | Habilidades requeridas |
---|
Cierre la aplicación. | Para cerrar la aplicación de origen, ejecute estos comandos: $ su - applmgr
$ cd $INST_TOP/admin/scripts
$ ./adstpall.sh
| Administrador de base de datos |
Cree el archivo .zip. | Cree el archivo appsutil.zip en el nivel de aplicación de origen. Usará este archivo más adelante para configurar el nodo de base de datos de Amazon RDS Custom. $ perl $AD_TOP/bin/admkappsutil.pl
| Administrador de base de datos |
Copie el archivo .zip en Amazon EFS. | Copie appsutil.zip desde $INST_TOP/admin/out a su volumen compartido de Amazon EFS (/RMAN/appsutil ). Puede transferir el archivo manualmente mediante una copia segura (SCP) u otro mecanismo de transferencia. | Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Clonar previamente el nivel de base de datos en Amazon EC2. | Inicie sesión como usuario de Oracle y ejecute: $ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ perl adpreclone.pl dbTier
Compruebe el archivo de registro generado para confirmar que la operación se ha realizado correctamente. | Administrador de base de datos |
Copie el archivo appsutil.zip en el sistema de archivos de Amazon EFS. | Cree una copia de seguridad en formato tar y copie $ORACLE_HOME/appsutil en el sistema de archivos de Amazon EFS compartido (por ejemplo, /RMAN/appsutil ): $ cd $ORACLE_HOME
$ tar cvf sourceappsutil.tar appsutil
$ cp sourceappsutil.tar /RMAN/appsutil
| Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Cree un script de copia de seguridad. | Realice una copia de seguridad completa RMAN de la base de datos de origen en el sistema de archivos Amazon EFS compartido. Para mayor simplicidad, este patrón realiza una copia de seguridad RMAN en frío. Sin embargo, puede modificar estos pasos para realizar una copia de seguridad de RMAN activa con Oracle Data Guard a fin de reducir el tiempo de inactividad. 1. Inicie la EC2 base de datos de Amazon de origen en modo de montaje: $ sqlplus / as sysdba
$ SQL> shutdown immediate
$ SQL> startup mount
2. Cree un script de copia de seguridad RMAN (use uno de los siguientes ejemplos, según su versión de Oracle, o ejecute uno de sus scripts RMAN existentes) para hacer una copia de seguridad de la base de datos en el sistema de archivos Amazon EFS que ha montado (en este ejemplo, /RMAN ). Para Oracle 12.1.0.2: $ vi FullRMANColdBackup.sh
#!/bin/bash
. /home/oracle/.bash_profile
export ORACLE_SID=VIS
export ORACLE_HOME=/d01/oracle/VIS/12.1.0
export DATE=$(date +%y-%m-%d_%H%M%S)
rman target / log=/RMAN/VISDB_${DATE}.log << EOF
run
{
allocate channel ch1 device type disk format '/RMAN/visdb_full_bkp_%u';
allocate channel ch2 device type disk format '/RMAN/visdb_full_bkp_%u';
crosscheck backup;
delete noprompt obsolete;
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
backup archivelog all;
release channel ch1;
release channel ch2;
}
EOF
Para Oracle 19c: $ vi FullRMANColdBackup.sh
#!/bin/bash
. /home/oracle/.bash_profile
export ORACLE_SID=VISCDB
export ORACLE_HOME=/d01/oracle/VIS/19c
export DATE=$(date +%y-%m-%d_%H%M%S)
rman target / log=/RMAN/VISDB_${DATE}.log << EOF
run
{
allocate channel ch1 device type disk format '/RMAN/visdb_full_bkp_%u';
allocate channel ch2 device type disk format '/RMAN/visdb_full_bkp_%u';
crosscheck backup;
delete noprompt obsolete;
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
backup archivelog all;
backup current controlfile format '/RMAN/cntrl.bak';
release channel ch1;
release channel ch2;
}
EOF
| Administrador de base de datos |
Ejecute el script de copia de seguridad. | Cambie los permisos, inicie sesión como usuario de Oracle y ejecute el script: $ chmod 755 FullRMANColdBackup.sh
$ ./FullRMANColdBackup.sh
| Administrador de base de datos |
Compruebe que no haya errores y anote el nombre del archivo de copia de seguridad. | Compruebe si hay errores en el archivo de registro RMAN. Si todo está correcto, enumere la copia de seguridad del archivo de control. Anote el nombre del archivo de salida. Para Oracle 12.1.0.2: RMAN> connect target /
RMAN> list backup of controlfile;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
9 Full 1.11M DISK 00:00:04 23-APR-22
BP Key: 9 Status: AVAILABLE Compressed: YES Tag: TAG20220423T121011
Piece Name: /RMAN/visdb_full_bkp_100rlsbt
Control File Included: Ckp SCN: 12204595396727 Ckp time: 23-APR-22
Usará el archivo de copia de seguridad /RMAN/visdb_full_bkp_100rlsbt más adelante, cuando restaure la base de datos en Amazon RDS Custom. Para Oracle 19c: RMAN> connect target /
RMAN> list backup of controlfile;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
38 Full 17.92M DISK 00:00:01 25-NOV-22
BP Key: 38 Status: AVAILABLE Compressed: NO Tag: TAG20221125T095014
Piece Name: /RMAN/cntrl.bak
Control File Included: Ckp SCN: 12204620188873 Ckp time: 23-NOV-22
Usará el archivo de copia de seguridad /RMAN/cntrl.bak más adelante, cuando restaure la base de datos en Amazon RDS Custom. | Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Cambie el archivo de hosts y defina el nombre del host. | Los comandos de esta sección deben ejecutarse como usuario root. 1. Edite el archivo /etc/hosts en la instancia de base de datos de Amazon RDS Custom. Una forma sencilla de hacerlo es copiar las entradas de la base de datos y del host de la aplicación del archivo de hosts de la EC2 base de datos de Amazon de origen. <IP-address> OEBS-app01.localdomain OEBS-app01 OEBS-app01log.localdomain OEBS-app01log
<IP-address> OEBS-db01.localdomain OEBS-db01 OEBS-db01log.localdomain OEBS-db01log
<IP-address> es la dirección IP del nodo de la base de datos, que debe sustituir por la dirección IP de Amazon RDS Custom. Los nombres de host lógicos se adjuntan a *log .
2. Cambie el nombre de host de la base de datos ejecutando el comando hostnamectl : $ sudo hostnamectl set-hostname --static persistent-hostname
Por ejemplo: $ sudo hostnamectl set-hostname --static OEBS-db01log
Para obtener información adicional, consulte el artículo del Centro de conocimiento sobre asignación de nombres de host estáticos. 3. Reinicie una instancia de base de datos de Amazon RDS Custom. No se preocupe por cerrar la base de datos, ya que la eliminará en un paso posterior. $ reboot
4. Cuando la instancia de base de datos de Amazon RDS Custom vuelva a funcionar, inicie sesión y compruebe que el nombre de host ha cambiado: $ hostname
oebs-db01
| Administrador de base de datos |
Instale el software Oracle E-Business Suite. | Instale la Oracle E-Business Suite recomendada RPMs en la ubicación principal de Oracle en la instancia de base de datos personalizada de Amazon RDS. Para obtener más información, consulte la nota de soporte de Oracle #1330701.1. Lo siguiente es una lista parcial de los resultados. La lista de RPM cambia en cada versión, así que asegúrese de que estén instaladas todas las necesarias RPMs . Como usuario raíz, ejecute: $ sudo yum -y update
$ sudo yum install -y elfutils-libelf-devel*
$ sudo yum install -y libXp-1.0.2-2.1*.i686
$ sudo yum install -y libXp-1.0.2-2.1*
$ sudo yum install -y compat-libstdc++-*
Compruebe que todos los parches necesarios estén instalados antes de continuar con el siguiente paso. | Administrador de base de datos |
Instale el servidor VNC. | Puede omitir este paso para Oracle 19c porque el CD de ejemplos ya no es necesario; consulte la nota 2782085.1 de Oracle Support. Para Oracle 12.1.0.2: Instale el servidor VNC y sus paquetes de escritorio dependientes. Este paso es necesario para instalar la CD de ejemplos de 12c en el siguiente paso. 1. Como usuario raíz, ejecute: $ sudo yum install -y tigervnc-server
$ sudo yum install -y *kde*
$ sudo yum install -y *xorg*
2. Inicie el servidor VNC para el usuario rdsdb y establezca la contraseña de VNC: $ su - rdsdb
$ vncserver :1
$ vncpassword
| Administrador de base de datos |
Instale la CD de ejemplos de 12c. | Puede omitir este paso para Oracle 19c porque el CD de ejemplos ya no es necesario; consulte la nota 2782085.1 de Oracle Support. Para Oracle 12.1.0.2: 1. Descargue los archivos de instalación desde/. https://edelivery.oracle.com Para Oracle E-Business Suite 12.2.11 – Oracle Database 12c versión 1 (12.1.0.2), busque Examples for Linux x86-64 V100102-01.zip. 2. Cree un directorio para almacenar la CD de ejemplos: $ mkdir /RMAN/12cexamples
3. Copie el archivo .zip de la CD de ejemplos a este directorio mediante el mecanismo de transferencia que prefiera (por ejemplo, SCP): V100102-01.zip
4. Cambie la propiedad a rdsdb : $ chown -R rdsdb:rdsdb /RMAN/12cexamples
5. Como usuario rdsdb , descomprima el archivo: $ unzip V10010201.zip
6. Conéctese desde un cliente que tenga acceso al cliente de VNC y a Amazon RDS Custom. Asegúrese de tener abiertos los puertos de firewall y contar con la conectividad de red necesaria para permitir el acceso de VNC. Por ejemplo, un servidor VNC que se esté ejecutando display :1 necesitará abrir el puerto 5901 en el grupo de seguridad asociado al host Amazon RDS Custom. EC2 7. Acceda al directorio en el que ha copiado la CD de ejemplos: $ cd /RMAN/12cexamples/examples
8. Ejecute el instalador. Asegúrese de comprobar la ubicación del archivo oraInst.loc . ./runInstaller -invPtrLoc /rdsdbbin/oracle.12.1.custom.r1.EE.1/oraInst.loc
9. Use los siguientes parámetros durante la instalación de la CD de ejemplos: Skip Software Update Downloads
Select Oracle Home 12.1.0.2
(Oracle Base = /rdsdbbin)
(Software Location = /rdsdbbin/oracle/12.1.custom.r1.EE.1)
10. El programa de instalación incluye cinco pasos con instrucciones. Siga los pasos hasta completar la instalación. | Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Pause el modo de automatización. | Debe pausar el modo de automatización en su instancia de base de datos de Amazon RDS Custom antes de continuar con los siguientes pasos. Así evitará que la automatización interfiera con la actividad de RMAN. Pause la automatización ejecutando el siguiente comando en la Interfaz de la línea de comandos de AWS (AWS CLI). (Asegúrese de haber configurado la AWS CLI antes). aws rds modify-db-instance \
--db-instance-identifier VIS \
--automation-mode all-paused \
--resume-full-automation-mode-minute 360 \
--region eu-west-1
Cuando especifique la duración de la pausa, asegúrese de dejar tiempo suficiente para la restauración de RMAN. Este tiempo dependerá del tamaño de la base de datos de origen, por lo que deberá modificar el valor 360 en consecuencia. | Administrador de base de datos |
Elimine la base de datos inicial. | Elimine la base de datos Amazon RDS Custom existente. Como usuario raíz de Oracle, ejecute los siguientes comandos. (El usuario por defecto es rdsdb , a menos que lo haya personalizado). $ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup nomount restrict;
SQL> alter database mount;
SQL> drop database;
SQL> exit
| Administrador de base de datos |
Cree directorios para almacenar los archivos de la base de datos. | Para Oracle 12.1.0.2: Cree directorios para la base de datos, el archivo de control, los archivos de datos y el registro en línea. Use el directorio principal del parámetro control_files en el comando anterior (en este caso, VIS_A ). Como usuario particular de Oracle (valor predeterminado, rdsdb ), ejecute los siguientes comandos. $ mkdir -p /rdsdbdata/db/VIS_A/controlfile
$ mkdir -p /rdsdbdata/db/VIS_A/datafile
$ mkdir -p /rdsdbdata/db/VIS_A/onlinelog
Para Oracle 19c: Cree directorios para la base de datos, el archivo de control, los archivos de datos y el registro en línea. Use el directorio principal del parámetro control_files en el comando anterior (en este caso, VISCDB_A ). Como usuario particular de Oracle (valor predeterminado, rdsdb ), ejecute los siguientes comandos. $ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/controlfile
$ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/datafile
$ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/onlinelog
$ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/onlinelog/arch
$ mkdir /rdsdbdata/db/pdb/VISCDB_A
| Administrador de base de datos |
Cree y modifique el archivo de parámetros de Oracle E-Business Suite. | En este paso, no copiará el archivo de parámetros del servidor (SPFILE) de la base de datos de origen. En su lugar, usará el archivo de parámetros estándar (PFILE) creado con la instancia de base de datos de Amazon RDS Custom y añadirá los parámetros que necesite para Oracle E-Business Suite. Al eliminar la base de datos, la automatización de Amazon RDS crea una copia de seguridad del archivo init.ora , que se asocia a la base de datos de Amazon RDS Custom. Este archivo se llama oracle_pfile y se encuentra en /rdsdbdata/config . Para Oracle 12.1.0.2: 1. Copie /rdsdbdata/config/oracle_pfile en $ORACLE_HOME . $ cp /rdsdbdata/config/oracle_pfile $ORACLE_HOME/dbs/initVIS.ora
2. Edite el archivo initVIS.ora en la instancia de base de datos de Amazon RDS Custom. Valide todos los parámetros de origen y añada los parámetros que necesite. Para obtener más información, consulte la nota de soporte de Oracle 396009.1. Asegúrese de que no haya comentarios en los parámetros que añada. Los comentarios provocarán problemas con la automatización, como la creación de réplicas de lectura y la emisión de point-in-time recuperaciones ()PITRs. 3. Añada al archivo initVIS.ora parámetros similares a los siguientes, en función de sus necesidades: *.workarea_size_policy='AUTO'
*.plsql_code_type='INTERPRETED'
*.cursor_sharing='EXACT'
*._b_tree_bitmap_plans=FALSE
*.session_cached_cursors=500
*.optimizer_adaptive_features=false
*.optimizer_secure_view_merging=false
*.SQL92_SECURITY=TRUE
*.temp_undo_enabled=true
_system_trig_enabled = TRUE
nls_language = american
nls_territory = america
nls_numeric_characters = ".,"
nls_comp = binary
nls_sort = binary
nls_date_format = DD-MON-RR
nls_length_semantics = BYTE
aq_tm_processes = 1
_sort_elimination_cost_ratio =5
_like_with_bind_as_equality = TRUE
_fast_full_scan_enabled = FALSE
_b_tree_bitmap_plans = FALSE
optimizer_secure_view_merging = FALSE
_optimizer_autostats_job = FALSE
parallel_max_servers = 8
parallel_min_servers = 0
parallel_degree_policy = MANUAL
sec_case_sensitive_logon = FALSE
compatible = 12.1.0
o7_dictionary_accessibility = FALSE
utl_file_dir =/tmp
4. Modifique lo siguiente. Los valores dependerán de su sistema de origen. Revíselos en función de su configuración actual. *.open_cursors=500
*.undo_tablespace='APPS_UNDOTS1
5. Elimine la referencia SPFILE. *.spfile='/rdsdbbin/oracle/dbs/spfileVIS.ora'
Notas: No modifique los valores proporcionados por el PFILE de Amazon RDS Custom para control_files y db_unique_name . Amazon RDS espera estos valores. Si los modifica, surgirán problemas en caso de que trate de crear una réplica de lectura en el futuro. Amazon RDS Custom utiliza Oracle Automatic Memory Management (AMM) de forma predeterminada. Si desea usar el hugemem, puede configurar Amazon RDS Custom para que emplee gestión automática de memoria compartida (ASMM) en su lugar. Mantenga el parámetro memory_max_target habilitado de forma predeterminada. El marco Amazon RDS utiliza este parámetro en segundo plano para crear réplicas de lectura.
6. Confirme que no hay problemas con el archivo initVIS.ora ejecutando el comando startup nomount : SQL> startup nomount pfile=/rdsdbbin/oracle/dbs/initVIS.ora;
SQL> create spfile='/rdsdbdata/admin/VIS/pfile/spfileVIS.ora' from pfile;
SQL> exit
7. Cree un enlace simbólico para SPFILE. $ ln -s /rdsdbdata/admin/VIS/pfile/spfileVIS.ora $ORACLE_HOME/dbs/
Para Oracle 19c: 1. Copie /rdsdbdata/config/oracle_pfile en $ORACLE_HOME . $ cp /rdsdbdata/config/oracle_pfile $ORACLE_HOME/dbs/initVISCDB.ora
2. Edite el archivo initVISCDB.ora en la instancia de base de datos de Amazon RDS Custom. Valide todos los parámetros de origen y añada los parámetros que necesite. Para obtener más información, consulte la nota de soporte de Oracle 396009.1. Asegúrese de que no haya comentarios en los parámetros que añada. Si hay comentarios, se producirán problemas con la automatización, como la creación de réplicas de lectura y la emisión de point-in-time recuperaciones ()PITRs. 3. Añada al archivo initVISCDB.ora parámetros similares a los siguientes, en función de sus necesidades. *.instance_name=VISCDB
*.sec_case_sensitive_logon= FALSE
*.result_cache_max_size = 600M
*.optimizer_adaptive_plans =TRUE
*.optimizer_adaptive_statistics = FALSE
*.pga_aggregate_limit = 0
*.temp_undo_enabled = FALSE
*._pdb_name_case_sensitive = TRUE
*.event='10946 trace name context forever, level 8454144'
*.workarea_size_policy='AUTO'
*.plsql_code_type='INTERPRETED'
*.cursor_sharing='EXACT'
*._b_tree_bitmap_plans=FALSE
*.session_cached_cursors=500
*.optimizer_secure_view_merging=false
*.SQL92_SECURITY=TRUE
_system_trig_enabled = TRUE
nls_language = american
nls_territory = america
nls_numeric_characters = ".,"
nls_comp = binary
nls_sort = binary
nls_date_format = DD-MON-RR
nls_length_semantics = BYTE
aq_tm_processes = 1
_sort_elimination_cost_ratio =5
_like_with_bind_as_equality = TRUE
_fast_full_scan_enabled = FALSE
_b_tree_bitmap_plans = FALSE
optimizer_secure_view_merging = FALSE
_optimizer_autostats_job = FALSE
parallel_max_servers = 8
parallel_min_servers = 0
parallel_degree_policy = MANUAL
4. Modifique lo siguiente. Los valores dependerán de su sistema de origen. Revíselos en función de su configuración actual. *.open_cursors=500
*.undo_tablespace='UNDOTBS1'
5. Elimine la referencia SPFILE: *.spfile='/rdsdbbin/oracle/dbs/spfileVISCDB.ora'
Notas: No modifique los valores proporcionados por el PFILE de Amazon RDS Custom para control_files y db_unique_name . Amazon RDS espera estos valores. Si los modifica, surgirán problemas en caso de que trate de crear una réplica de lectura en el futuro. Amazon RDS Custom utiliza Oracle Automatic Memory Management (AMM) de forma predeterminada. Si desea usar el hugemem, puede configurar Amazon RDS Custom para que emplee gestión automática de memoria compartida (ASMM) en su lugar. Mantenga el parámetro memory_max_target habilitado de forma predeterminada. El marco Amazon RDS utiliza este parámetro en segundo plano para crear réplicas de lectura.
6. Confirme que no hay problemas con el archivo initVISCDB.ora ejecutando el comando startup nomount : SQL> startup nomount pfile=/rdsdbbin/oracle/dbs/initVISCDB.ora;
SQL> create spfile='/rdsdbdata/admin/VISCDB/pfile/spfileVISCDB.ora' from pfile;
SQL> exit
7. Cree un enlace simbólico para SPFILE. $ ln -s /rdsdbdata/admin/VISCDB/pfile/spfileVISCDB.ora $ORACLE_HOME/dbs/
| Administrador de base de datos |
Restaure la base de datos Amazon RDS Custom a partir de la copia de seguridad. | Para Oracle 12.1.0.2: 1. Restaure el archivo de control usando el archivo de copia de seguridad de origen que capturó anteriormente: RMAN> connect target /
RMAN> RESTORE CONTROLFILE FROM '/RMAN/visdb_full_bkp_100rlsbt';
Starting restore at 10-APR-22
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=201 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/rdsdbdata/db/VIS_A/controlfile/control-01.ctl
Finished restore at 10-APR-22
2. Catalogue las piezas de copia de seguridad para emitir un RMAN restore : RMAN> alter database mount;
RMAN> catalog start with '/RMAN/visdb';
3. Cree un script para restaurar la base de datos: $ vi restore.sh
rman target / log=/home/rdsdb/rman.log << EOF
run
{
set newname for database to '/rdsdbdata/db/VIS_A/datafile/%b';
restore database;
switch datafile all;
switch tempfile all;
}
EOF
4. Restaure el origen en la base de datos Amazon RDS Custom de destino. Deberá cambiar los permisos del script para permitir su ejecución y, a continuación, ejecutar el script restore.sh para restaurar la base de datos. $ chmod 755 restore.sh
$ nohup ./restore.sh &
Para Oracle 19c: 1. Restaure el archivo de control usando el archivo de copia de seguridad de origen que capturó anteriormente: RMAN> connect target /
RMAN> RESTORE CONTROLFILE FROM '/RMAN/cntrl.bak';
Starting restore at 07-JUN-23
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=201 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/rdsdbdata/db/cdb/VISCDB_A/controlfile/control-01.ctl
Finished restore at 07-JUN-23
2. Catalogue las piezas de copia de seguridad para emitir un RMAN restore : RMAN> alter database mount;
RMAN> catalog start with '/RMAN/visdb';
Si tiene problemas con el comando start with , puede añadir las piezas de copia de seguridad de forma individual; por ejemplo: RMAN> catalog backuppiece '/RMAN/visdb_full_bkp_1d1e507m';
y, a continuación, ejecutar de nuevo el comando para cada pieza de copia de seguridad. 3. Cree un script para restaurar la base de datos. Modifique el nombre de la base de datos conectable en función de sus requisitos. Asigne los canales paralelos en función del número de v CPUs disponibles para acelerar el proceso de restauración. $ vi restore.sh
rman target / log=/home/rdsdb/rmancdb.log << EOF
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
.... .... ....
allocate channel c<N> type disk;
set newname for database to '/rdsdbdata/db/cdb/VISCDB_A/datafile/%b';
set newname for database root to '/rdsdbdata/db/cdb/VISCDB_A/datafile/%f_%b';
set newname for database "PDB$SEED" to '/rdsdbdata/db/cdb/pdbseed/%f_%b';
set newname for pluggable database VIS to '/rdsdbdata/db/pdb/VISCDB_A/%f_%b';
restore database;
switch datafile all;
switch tempfile all;
release channel c1;
release channel c2;
release channel c3;
.... .... ....
release channel c<N>;
}
EOF
4. Restaure el origen en la base de datos Amazon RDS Custom de destino. Deberá cambiar los permisos del script para permitir su ejecución y, a continuación, ejecutar el script restore.sh para restaurar la base de datos. $ chmod 755 restore.sh
$ nohup ./restore.sh &
| Administrador de base de datos |
Compruebe los archivos de registro en busca de posibles problemas. | Para Oracle 12.1.0.2: 1. Revise el archivo rman.log para comprobar que no hay problemas: $ cat /home/rdsdb/rman.log
2. Confirme la ruta de los archivos de registro registrados en el archivo de control: SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/d01/oracle/VIS/data/log1.dbf
/d01/oracle/VIS/data/log2.dbf
/d01/oracle/VIS/data/log3.dbf
3. Cambie el nombre de los archivos de registro para que coincidan con la ruta del archivo de destino. Sustituya la ruta de modo que coincida con el resultado del paso anterior: SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/data/log1.dbf' TO '/rdsdbdata/db/VIS_A/onlinelog/log1.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/data/log2.dbf' TO '/rdsdbdata/db/VIS_A/onlinelog/log2.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/data/log3.dbf' TO '/rdsdbdata/db/VIS_A/onlinelog/log3.dbf';
Para Oracle 19c: 1. Revise el archivo rmancdb.log para comprobar que no hay problemas: $ cat /home/rdsdb/rmancdb.log
2. Confirme la ruta de los archivos de registro registrados en el archivo de control: SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/d01/oracle/VIS/oradata/VISCDB/redo03.log
/d01/oracle/VIS/oradata/VISCDB/redo02.log
/d01/oracle/VIS/oradata/VISCDB/redo01.log
3. Cambie el nombre de los archivos de registro para que coincidan con la ruta del archivo de destino. Sustituya la ruta de modo que coincida con el resultado del paso anterior: SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/oradata/VISCDB/redo01.log' TO '/rdsdbdata/db/cdb/VISCDB_A/onlinelog/log1.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/oradata/VISCDB/redo02.log' TO '/rdsdbdata/db/cdb/VISCDB_A/onlinelog/log2.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/oradata/VISCDB/redo03.log' TO '/rdsdbdata/db/cdb/VISCDB_A/onlinelog/log3.dbf';
4. Confirme la ruta, el estado de los archivos de registro y el número de grupo registrado en el archivo de control: SQL> column REDOLOG_FILE_NAME format a50
SQL> SELECT a.GROUP#, a.status, b.MEMBER AS REDOLOG_FILE_NAME,
(a.BYTES/1024/1024) AS SIZE_MB
FROM v$log a
JOIN v$logfile b ON a.Group#=b.Group#
ORDER BY a.GROUP#;
GROUP# STATUS REDOLOG_FILE_NAME SIZE_MB
1 CURRENT /rdsdbdata/db/cdb/VISCDB_A/onlinelog/log1.dbf 512
2 INACTIVE /rdsdbdata/db/cdb/VISCDB_A/onlinelog/log2.dbf 512
3 INACTIVE /rdsdbdata/db/cdb/VISCDB_A/onlinelog/log3.dbf 512
| Administrador de base de datos |
Confirme que puede abrir la base de datos de Amazon RDS Custom y crear archivos de registro OMF. | Amazon RDS Custom para Oracle simplifica las operaciones mediante Oracle Managed Files (OMF). Puede convertir las réplicas de lectura en instancias independientes, pero primero deberá crear los archivos de registro mediante OMF. Este paso garantiza que se use la ruta correcta al promover la instancia. Para obtener más información sobre cómo promover réplicas de lectura, consulte la documentación de Amazon RDS. Si no se usan los archivos OMF, es posible que se produzcan problemas al intentar promover las réplicas de lectura. 1. Abra la base de datos con resetlogs : SQL> alter database open resetlogs;
Si recibe el error ORA-00392: se está borrando el registro xx del subproceso 1, no se permite la operación, siga los pasos de la sección de solución de problemas del ORA-00392. 2. Confirme que la base de datos está abierta: SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
3. Cree los archivos de registro OMF. Cambie los números de grupo, el número y el tamaño de los grupos según sus necesidades usando el resultado de la anterior consulta del archivo de registro. El siguiente ejemplo comienza en el grupo 4 y agrega tres grupos para mayor simplicidad. SQL> alter database add logfile group 4 size 512M;
Database altered.
SQL> alter database add logfile group 5 size 512M;
Database altered.
SQL> alter database add logfile group 6 size 512M;
Database altered.
4. Elimine los archivos anteriores que no sean OMF. Puede personalizar este ejemplo en función de sus necesidades y del resultado de la consulta de los pasos anteriores: SQL> alter database drop logfile group 1;
System altered.
SQL> alter database drop logfile group 2;
System altered.
SQL> alter database drop logfile group 3;
System altered.
5. Confirme que puede ver los archivos OMF creados. (La ruta del directorio varía para las versiones 12.1.0.2 y 19c de Oracle, pero el concepto es el mismo). SQL> select member from v$logfile;
MEMBER
-----------------------------------------------------
/rdsdbdata/db/cdb/VISCDB_A/onlinelog/o1_mf_4_ksrbslny_.log
/rdsdbdata/db/cdb/VISCDB_A/onlinelog/o1_mf_5_ksrchw0k_.log
/rdsdbdata/db/cdb/VISCDB_A/onlinelog/o1_mf_6_ksrcnl9v_.log
6. Reinicie la base de datos y confirme que la instancia está ejecutando SPFILE: SQL> shutdown immediate
SQL> startup
SQL> show parameter spfile
En el caso de Oracle 12.1.0.2, esta consulta devuelve: spfile /rdsdbbin/oracle/dbs/spfileVIS.ora
En Oracle 19c, la consulta devuelve: spfile /rdsdbbin/oracle/dbs/spfileVISCDB.ora
7. Solo en Oracle 19c, compruebe el estado de la base de datos del contenedor y ábralo si es necesario: SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------- ----------
2 PDB$SEED READ ONLY NO
3 VIS MOUNTED NO
SQL> alter session set container=VIS;
Session altered.
SQL> alter database open;
Database altered.
SQL> alter database save state;
Database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- -----
3 VIS READ WRITE NO
SQL> exit
8. Elimine el archivo init.ora de $ORACLE_HOME/dbs , ya que no está usando el PFILE: $ cd $ORACLE_HOME/dbs
En Oracle 12.1.0.2, ejecute el comando: $ pwd
/rdsdbbin/oracle/dbs
$ rm initVIS.ora
En Oracle 19c, ejecute el comando: $ pwd
/rdsdbbin/oracle/dbs
$ rm initVISCDB.ora
| Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Recupere contraseñas de Secrets Manager. | Puede llevar a cabo estos pasos en la consola o mediante la CLI de AWS. Los siguientes pasos proporcionan las instrucciones para hacerlo en la consola. 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/. 2. En el panel de navegación, seleccione Bases de datos y, a continuación, seleccione la base de datos Amazon RDS. 3. Seleccione Configuración y anote el ID de recurso de la instancia (tendrá el formato: db-WZ4WLCK6AOQ6TJGZKMGRCDCI3Y ). 4. Abra la consola de AWS Secrets Manager en https://console.aws.amazon.com/secretsmanager/. 5. Seleccione el secreto que tenga el mismo nombre que do-not-delete-custom-<resource_id> . resource-id es la ID de instancia que anotó en el paso 3. 6. Seleccionar Retrieve secret value (Recuperar valor secreto). | Administrador de base de datos |
Cree el usuario RDSADMIN. | RDSADMIN es un usuario de base de datos de supervisión y orquestación en la instancia de base de datos de Amazon RDS Custom. Ya que la base de datos inicial se ha eliminado y la base de datos de destino se ha restaurado desde el origen mediante RMAN, deberá volver a crear este usuario tras la operación de restauración para asegurarse de que la supervisión de Amazon RDS Custom funciona según lo previsto. También deberá crear un perfil y un espacio de tabla independientes para el usuario RDSADMIN . Las instrucciones son ligeramente diferentes para Oracle 12.1.0.2 y 19c.
Para Oracle 12.1.0.2: 1. En la pregunta de SQL, escriba los comandos siguientes: SQL> set echo on feedback on serverout on
SQL> @?/rdbms/admin/utlpwdmg.sql
SQL> ALTER PROFILE DEFAULT
LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL;
2. Cree el perfil RDSADMIN : SQL> create profile RDSADMIN
LIMIT
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 86400/86400
PASSWORD_GRACE_TIME 604800/86400;
3. Configure los perfiles de usuario SYS , SYSTEM y DBSNMP como RDSADMIN : SQL> set echo on feedback on serverout on
SQL> alter user SYS profile RDSADMIN;
SQL> alter user SYSTEM profile RDSADMIN;
SQL> alter user DBSNMP profile RDSADMIN;
4. Cree el espacio de tabla RDSADMIN : SQL> create bigfile tablespace rdsadmin datafile size 7M
autoextend on next 1m
Logging online permanent blocksize 8192 extent management local autoallocate default nocompress segment space management auto;
5. Cree el usuario RDSADMIN . Sustituya la contraseña RDSADMIN por la contraseña que obtuvo anteriormente de Secrets Manager: SQL> create user rdsadmin identified by xxxxxxxxxx
Default tablespace rdsadmin
Temporary tablespace temp
profile rdsadmin ;
6. Otorgue privilegios a RDSADMIN : SQL> grant select on sys.v_$instance to rdsadmin;
SQL> grant select on sys.v_$archived_log to rdsadmin;
SQL> grant select on sys.v_$database to rdsadmin;
SQL> grant select on sys.v_$database_incarnation to rdsadmin;
SQL> grant select on dba_users to rdsadmin;
SQL> grant alter system to rdsadmin;
SQL> grant alter database to rdsadmin;
SQL> grant connect to rdsadmin with admin option;
SQL> grant resource to rdsadmin with admin option;
SQL> alter user rdsadmin account unlock identified by xxxxxxxxxxx;
SQL> @?/rdbms/admin/userlock.sql
SQL> @?/rdbms/admin/utlrp.sql
Para Oracle 19c: 1. En la pregunta de SQL, escriba los comandos siguientes: SQL> set echo on feedback on serverout on
SQL> @?/rdbms/admin/utlpwdmg.sql
SQL> alter profile default
LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL;
2. Cree el perfil RDSADMIN . RDSADMIN tiene el prefijo de C## en Oracle 19c. Esto se debe a que el parámetro de la base de datos common_user_prefix está establecido en. C## RDSADMIN no tiene prefijo en Oracle 12.1.0.2.
SQL> create profile C##RDSADMIN
LIMIT
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 86400/86400
PASSWORD_GRACE_TIME 604800/86400;
3. Configure los perfiles de usuario SYS , SYSTEM y DBSNMP como RDSADMIN : SQL> alter user SYS profile C##RDSADMIN;
SQL> alter user SYSTEM profile C##RDSADMIN;
SQL> alter user DBSNMP profile C##RDSADMIN;
4. Cree el espacio de tabla RDSADMIN : SQL> create bigfile tablespace rdsadmin datafile size 7M
autoextend on next 1m
Logging online permanent blocksize 8192 extent management local autoallocate default nocompress segment space management auto;
5. Cree el usuario RDSADMIN . Sustituya la contraseña RDSADMIN por la contraseña que obtuvo anteriormente de Secrets Manager. SQL> create user C##rdsadmin identified by xxxxxxxxxx
profile C##rdsadmin container=all;
6. Otorgue privilegios a RDSADMIN : SQL> grant select on sys.v_$instance to c##rdsadmin;
SQL> grant select on sys.v_$archived_log to c##rdsadmin;
SQL> grant select on sys.v_$database to c##rdsadmin;
SQL> grant select on sys.v_$database_incarnation to c##rdsadmin;
SQL> grant select on dba_users to c##rdsadmin;
SQL> grant alter system to C##rdsadmin;
SQL> grant alter database to C##rdsadmin;
SQL> grant connect to C##rdsadmin with admin option;
SQL> grant resource to C##rdsadmin with admin option;
SQL> alter user C##rdsadmin account unlock identified by xxxxxxxxxxx;
SQL> @?/rdbms/admin/userlock.sql
SQL> @?/rdbms/admin/utlrp.sql
| Administrador de base de datos |
Cree el usuario maestro. | Ya que la base de datos inicial se ha eliminado y la base de datos de destino se ha restaurado desde el origen mediante RMAN, deberá volver a crear el usuario principal. En este ejemplo, el usuario principal es admin . Para Oracle 12.1.0.2: SQL> create user admin identified by <password>;
SQL> grant dba to admin
Para Oracle 19c: SQL> alter session set container=VIS;
Session altered.
SQL> create user admin identified by <password>;
User created.
SQL> grant dba to admin;
Grant succeeded.
| Administrador de base de datos |
Cambie las contraseñas de los superusuarios. | 1. Cambie las contraseñas del sistema usando la contraseña que obtuvo de Secrets Manager. Para Oracle 12.1.0.2: SQL> alter user sys identified by xxxxxxxxxxx;
SQL> alter user system identified by xxxxxxxxxx;
Para Oracle 19c: SQL> alter user sys identified by xxxxxxxxxxx container=all;
SQL> alter user system identified by xxxxxxxxxx container=all;
Cambie la contraseña EBS_SYSTEM .
Para Oracle 12.1.0.2: SQL> alter user ebs_system identified by xxxxxxxxxx;
Para Oracle 19c: En esta versión, también debe conectarse a la base de datos del contenedor para actualizar allí la contraseña de EBS_SYSTEM . SQL> alter session set container=vis;
SQL> alter user ebs_system identified by xxxxxxxxxx;
SQL> exit;
Si no cambia estas contraseñas, Amazon RDS Custom mostrará el mensaje de error: El usuario o las credenciales del usuario que supervisa la base de datos han cambiado. | Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Cree los directorios necesarios para Oracle E-Business Suite. | 1. En la base de datos de Oracle de Amazon RDS Custom, ejecute el siguiente script como usuario principal de Oracle para crear el directorio 9idata en $ORACLE_HOME/nls/data/9idata . Estos directorios son necesarios para Oracle E-Business Suite. perl $ORACLE_HOME/nls/data/old/cr9idata.pl
Ignore el mensaje ORA_NLS10 , ya que creará el entorno adaptado al contexto en pasos posteriores. 2. Copie el archivo appsutil.tar , que creó anteriormente desde el sistema de archivos compartido de Amazon EFS, y descomprímalo en el directorio principal de Oracle en Amazon RDS Custom. Cree el directorio de appsutil en el directorio $ORACLE_HOME . $ cd /RMAN/appsutil
$ cp sourceappsutil.tar $ORACLE_HOME
$ cd $ORACLE_HOME
$ tar xvf sourceappsutil.tar appsutil
3. Copie el archivo appsutil.zip que guardó anteriormente en el sistema de archivos compartidos de Amazon EFS. Este es el archivo que creó en el nivel de la aplicación. Como usuario rdsdb en la instancia de base de datos de Amazon RDS Custom: $ cp /RMAN/appsutil/appsutil.zip $ORACLE_HOME
$ cd $ORACLE_HOME
4. Descomprima el archivo appsutil.zip para crear el directorio appsutil y los subdirectorios en el directorio principal de Oracle: $ unzip -o appsutil.zip
La opción -o implica que algunos de los archivos se sobreescribirán. | |
Configure los archivos tsanames.ora y sqlnet.ora. | Debe configurar el archivo tnsnames.ora para poder conectarse a la base de datos con la herramienta Autoconfig. En el siguiente ejemplo, puede ver que el archivo tnsnames.ora tiene un enlace simbólico, pero está vacío de forma predeterminada. $ cd $ORACLE_HOME/network/admin
$ ls -ltr
-rw-r--r-- 1 rdsdb database 373 Oct 31 2013 shrept.lst
lrwxrwxrwx 1 rdsdb database 30 Feb 9 17:17 listener.ora -> /rdsdbdata/config/listener.ora
lrwxrwxrwx 1 rdsdb database 28 Feb 9 17:17 sqlnet.ora -> /rdsdbdata/config/sqlnet.ora
lrwxrwxrwx 1 rdsdb database 30 Feb 9 17:17 tnsnames.ora -> /rdsdbdata/config/tnsnames.ora
1. Cree la entrada tnsnames.ora . Debido a la forma en que la automatización de Amazon RDS analiza los archivos, deberá asegurarse de que la entrada no contenga espacios en blanco, comentarios ni líneas adicionales. De lo contrario, es posible que tenga problemas al utilizar algunos de ellos, APIs como -replica. create-db-instance-read Utilice lo siguiente como ejemplo. 2. Sustituya el puerto, el host y la SID según sus necesidades: $ vi tnsnames.ora
VIS=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(PORT=1521)(HOST=xx.xx.xx.xx)))(CONNECT_DATA=(SID=VIS)(SERVER=DEDICATED)))
No debería haber líneas adicionales en el archivo. Si no elimina las líneas, pueden surgir problemas al crear una réplica de lectura en el futuro. Es posible que no se pueda crear una réplica de lectura y aparezca el siguiente mensaje de error: La actividad arrojó una excepción HostManagerException: No se pudo llamar correctamente a RestrictReplication en ningún host. 3. Confirme que se puede acceder a la base de datos: $ tnsping vis
OK (0 msec)
4. Solo en Oracle 19c, actualice el archivo sqlnet.ora . De lo contrario, recibirá el error ORA-01017: invalid username/password; logon denied cuando trate de conectarse a la base de datos. Edite sqlnet.ora en $ORACLE_HOME/network/admin para que coincida con lo siguiente: NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
SQLNET.EXPIRE_TIME= 10
SQLNET.INBOUND_CONNECT_TIMEOUT =60
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
HTTPS_SSL_VERSION=undetermined
5. Prueba de conectividad: $ sqlplus apps/****@vis
| Administrador de base de datos |
Configuración de la base de datos. | Ahora que ha probado la conectividad con la base de datos, puede configurar la base de datos con la utilidad appsutil para crear un entorno adaptado al contexto. Para Oracle 12.1.0.2: 1. Ejecute los siguientes comandos : $ cd $ORACLE_HOME/appsutil/bin
$ perl adbldxml.pl appsuser=apps
Enter Hostname of Database server: oebs-db01
Enter Port of Database server: 1521
Enter SID of Database server: VIS
Enter Database Service Name: VIS
Enter the value for Display Variable: :1
The context file has been created at:
/rdsdbbin/oracle/appsutil/VIS_oebs-db01.xml
2. Cree oraInst.loc desde el usuario raíz: $ vi /etc/oraInst.loc
inventory_loc=/rdsdbbin/oracle.12.1.custom.r1.EE.1/oraInventory
inst_group=database
3. Clone el archivo de contexto para establecer el nombre de host lógico con el archivo de contexto que ha creado en el paso anterior. Como usuario rdsdb , ejecute: $ cd $ORACLE_HOME/appsutil/clone/bin
$ perl adclonectx.pl \
contextfile=[ORACLE_HOME]/appsutil/[current context file] \
template=[ORACLE_HOME]/appsutil/template/adxdbctx.tmp
oebs-db01log es el nombre de host lógico. Por ejemplo:
$ perl adclonectx.pl \
contextfile=/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/VIS_oebs-db01.xml \
template=/rdsdbbin/oracle/appsutil/template/adxdbctx.tmp
Target System Hostname (virtual or normal) [oebs-db01] : oebs-db01log
Target System Base Directory : /rdsdbbin/oracle
Target Instance is RAC (y/n) [n] : n
Target System Database SID : VIS
Oracle OS User [rdsdb] :
Oracle OS Group [rdsdb] : database
Role separation is supported y/n [n] ? : n
Target System utl_file_dir Directory List : /tmp
Number of DATA_TOP's on the Target System [1] :
Target System DATA_TOP Directory 1 [/rdsdbbin/oracle/data] : /rdsdbdata/db/VIS_A/datafile/
Target System RDBMS ORACLE_HOME Directory [/rdsdbbin/oracle/12.1.0] : /rdsdbbin/oracle
Do you want to preserve the Display [:1] (y/n) : y
Do you want the target system to have the same port values as the source system (y/n) [y] ? : y
The new database context file has been created :
/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/clone/bin/VIS_oebs-db01log.xml
contextfile=/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/clone/bin/VIS_oebs-db01log.xml
Para Oracle 19c: 1. Ejecute los siguientes comandos : $ cd $ORACLE_HOME/appsutil/bin
$ perl adbldxml.pl appsuser=apps
Enter Hostname of Database server: oebs-db01
Enter Port of Database server: 1521
Enter SID of Database server: VIS
Enter the database listener name:L_VISCDB_001
Enter the value for Display Variable: :1
The context file has been created at:
/rdsdbbin/oracle/appsutil/VIS_oebs-db01.xml
2. Cree oraInst.loc desde el usuario raíz: $ vi /etc/oraInst.loc
inventory_loc=/rdsdbbin/oracle/oraInventory
inst_group=database
3. Clone el archivo de contexto para establecer el nombre de host lógico con el archivo de contexto que ha creado en el paso anterior. Como usuario rdsdb , ejecute: $ cd $ORACLE_HOME/appsutil/clone/bin
$ perl adclonectx.pl \
contextfile=[ORACLE_HOME]/appsutil/[current context file] \
template=[ORACLE_HOME]/appsutil/template/adxdbctx.tmp
oebs-db01log es el nombre de host lógico. Por ejemplo:
$ perl adclonectx.pl \
contextfile=/rdsdbbin/oracle/appsutil/VIS_oebs-db01.xml \
template=/rdsdbbin/oracle/appsutil/template/adxdbctx.tmp
Target System Hostname (virtual or normal) [oebs-db01] : oebs-db01log
Target System Base Directory : /rdsdbbin/oracle
Target Instance is RAC (y/n) [n] : n
Target System CDB Name : VISCDB
Target System PDB Name : VIS
Oracle OS User [oracle] : rdsdb
Oracle OS Group [dba] : database
Role separation is supported y/n [n] ? : n
Number of DATA_TOP's on the Target System [2] :
Target System DATA_TOP Directory 1 [/d01/oracle/VISCDB] : /rdsdbdata/db/pdb/VISCDB_A
Target System DATA_TOP Directory 2 [/d01/oracle/data] : /rdsdbdata/db/pdb/VISCDB_A/datafile
Specify value for OSBACKUPDBA group [database] :
Specify value for OSDGDBA group [database] :
Specify value for OSKMDBA group [database] :
Specify value for OSRACDBA group [database] :
Target System RDBMS ORACLE_HOME Directory [/d01/oracle/19.0.0] : /rdsdbbin/oracle
Do you want to preserve the Display [:1] (y/n) : y
Do you want the target system to have the same port values as the source system (y/n) [y] ? : y
Validating if the source port numbers are available on the target system..
Complete port information available at /rdsdbbin/oracle/appsutil/clone/bin/out/VIS_oebs-db01log/portpool.lst
New context path and file name [VIS_oebs-db01log.xml] : /rdsdbbin/oracle/appsutil/VIS_oebs-db01log.xml
Do you want to overwrite it (y/n) [n] ? : y
Replacing /rdsdbbin/oracle/appsutil/VIS_oebs-db01log.xml file.
The new database context file has been created :
contextfile=/rdsdbbin/oracle/appsutil/VIS_oebs-db01log.xml
Check Clone Context logfile /rdsdbbin/oracle/appsutil/clone/bin/CloneContext_0609141428.log for details.
| Administrador de base de datos |
Instale ETCC y ejecute Autoconfig. | 1. Instale Oracle E-Business Suite Technology Codelevel Checker (ETCC). Descargue el parche 17537119 de My Oracle Support y siga las instrucciones que se indican en README.txt . Cree un directorio llamado etcc en el directorio $ORACLE_HOME , descomprima el parche para crear un script llamado checkMTpatch.sh y, a continuación, ejecute el script para comprobar las versiones del parche. 2. Ejecute la utilidad Autoconfig y pase el nuevo archivo de contexto del nombre de host lógico. Para Oracle 12.1.0.2: cd $ORACLE_HOME/appsutil/bin
$ ./adconfig.sh contextfile=/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/clone/bin/VIS_oebs-db01log.xml
Para Oracle 19c: Autoconfig espera que el nombre del oyente sea CDBNAME . Por lo tanto, el archivo de configuración del oyente original de la copia de seguridad usará L_<CDBNAME>_001 temporalmente. $ lsnrctl stop L_VISCDB_001
$ cp -rp /rdsdbdata/config/listener.ora /rdsdbdata/config/listener.ora_orig
$ vi /rdsdbdata/config/listener.ora
:%s/L_VISCDB_001/VISCDB/g
$ lsnrctl start VISCDB
$ cd /rdsdbbin/oracle/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=/rdsdbbin/oracle.19.custom.r1.EE-CDB.1
Oracle Home being passed: /rdsdbbin/oracle
$ echo $ORACLE_HOME
/rdsdbbin/oracle.19.custom.r1.EE-CDB.1
$ export ORACLE_SID=VISCDB
$ cd $ORACLE_HOME/appsutil/bin
$ perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl -dboraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -cdbsid=VISCDB -pdbsid=VIS -appsuser=apps -dbport=1521 -servicetype=onpremise
Enter the APPS Password: <apps password>
Enter the CDB SYSTEM Password:<password from secrets manager>
Si los directorios de la base de datos han cambiado, siga las instrucciones de la nota 2525754.1 de Oracle Support Note. | Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Configure las entradas de TNS para Amazon RDS Custom y Oracle E-Business Suite. | Autoconfig genera los ifiles de TNS en las ubicaciones predeterminadas. En Oracle 12.1.0.2 (sin CDB) y en Oracle19c PDB, la ubicación predeterminada es $ORACLE_HOME/network/admin/$<CONTEXT_NAME> . El CDB de Oracle 19c usa el valor predeterminado $ORACLE_HOME/network/admin/ , tal como define $TNS_ADMIN en los archivos de entorno que se generan al ejecutar Autoconfig en los pasos anteriores. En Oracle 12.1.0.2 y 19c CDB no los usará, ya que los archivos tnsnames.ora y listener.ora generados por Autoconfig no cumplen con los requisitos de Amazon RDS, como no incluir espacios en blanco ni comentarios. En su lugar, usará los archivos genéricos proporcionados con la base de datos de Amazon RDS Custom para garantizar el cumplimiento de las expectativas del sistema y reducir el margen de error. Por ejemplo, Amazon RDS Custom espera el siguiente formato de nomenclatura: L_<INSTANCE_NAME>_001
En el caso de Oracle 12.1.0.2, sería: L_VIS_001
En el caso de Oracle 19c, sería: L_VISCDB_001
Este es un ejemplo del archivo listener.ora que va a utilizar. Se ha generado al crear la base de datos de Amazon RDS Custom. Aún no ha realizado ningún cambio en este archivo, y lo dejará como predeterminado. Para Oracle 12.1.0.2: $ cd $ORACLE_HOME/network/admin
$ cat listener.ora
ADR_BASE_L_VIS_001=/rdsdbdata/log/
SID_LIST_L_VIS_001=(SID_LIST = (SID_DESC = (SID_NAME = VIS)(GLOBAL_DBNAME = VIS) (ORACLE_HOME = /rdsdbbin/oracle)))
L_VIS_001=(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = xx.xx.xx.xx))) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = 127.0.0.1))))
SUBSCRIBE_FOR_NODE_DOWN_EVENT_L_VIS_001=OFF
En Oracle 19c: restaure el archivo listener.ora original con el nombre de oyente L_<INSTANCE_NAME>_001 . $ cd $ORACLE_HOME/network/admin
$ cp -rp /rdsdbdata/config/listener.ora /rdsdbdata/config/listener.ora_autoconfig
$ cp -rp /rdsdbdata/config/listener.ora_orig /rdsdbdata/config/listener.ora
$ cat listener.ora
SUBSCRIBE_FOR_NODE_DOWN_EVENT_L_VISCDB_001=OFF
ADR_BASE_L_VISCDB_001=/rdsdbdata/log/
USE_SID_AS_SERVICE_L_VISCDB_001=ON
L_VISCDB_001=(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = xx.xx.xx.xx))) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = 127.0.0.1))))
SID_LIST_L_VISCDB_001=(SID_LIST = (SID_DESC = (SID_NAME = VISCDB)(GLOBAL_DBNAME = VISCDB) (ORACLE_HOME = /rdsdbbin/oracle)))
Inicie el oyente L_<INSTANCE_NAME>_001 para las operaciones estándar de Amazon RDS: $ lsnrctl stop
$ lsnrctl start L_VISCDB_001
Para Oracle 12.1.0.2: Edite el archivo de entorno de Oracle E-Business Suite para cambiar la ruta $TNS_ADMIN y usar los ifiles TNS genéricos de Amazon RDS Custom. El archivo de entorno se ha creado al ejecutar Autoconfig anteriormente. Edite la variable TNS_ADMIN eliminando el sufijo <CONTEXT_NAME> . Debe editar el archivo de entorno únicamente en Oracle 12.1.0.2, ya que el directorio principal predeterminado de 19c es$ORACLE_HOME/network/admin , que es el mismo que el predeterminado de Amazon RDS Custom. Por ejemplo, en Oracle 12.1.0.2, edite el archivo: $ vi $ORACLE_HOME/VIS_oebs-db01log.env
Cambie la ruta de: TNS_ADMIN=”/rdsdbbin/oracle/network/admin/VIS_oebs-db01log”
export TNS_ADMIN
a: TNS_ADMIN=”/rdsdbbin/oracle/network/admin”
export TNS_ADMIN
Cada vez que ejecute Autoconfig, debe repetir este paso para asegurarse de que se utilizan los archivos TNS correctos (solo 12.1.0.2). Para Oracle 19c: 1. Cambie el valor de la variable de contexto del nivel de la base de datos s_cdb_tnsadmin a <ORACLE_HOME>/network/admin en lugar de <ORACLE_HOME>/network/admin/<CONTEXT_NAME> . No actualice la variable de contexto. s_db_tnsadmin Guárdelo como <ORACLE_HOME>/network/admin/<CONTEXT_NAME> . $ . $ORACLE_HOME/VIS_oebs-db01log.env
$ vi $CONTEXT_FILE
2. Guarde los cambios realizados en el valor de s_cdb_tnsadmin . Los valores de s_db_tnsadmin y s_cdb_tnsadmin deberían ser similares a los siguientes, con el nombre de PDB VIS y el nombre lógico del nodo de la base de datos oebs-db01log . $ grep -i tns_admin $CONTEXT_FILE
<TNS_ADMIN oa_var="s_db_tnsadmin">/rdsdbbin/oracle/network/admin/VIS_oebs-db01log</TNS_ADMIN>
<CDB_TNS_ADMIN oa_var="s_cdb_tnsadmin">/rdsdbbin/oracle/network/admin</CDB_TNS_ADMIN>
3. Ejecute Autoconfig en el nivel de base de datos: $ . $ORACLE_HOME/VISCDB_oebs-db01log.env
$ export ORACLE_PDB_SID=VIS
$ sqlplus "/ as sysdba" @$ORACLE_HOME/appsutil/admin/adgrants.sql APPS
$ sqlplus "/ as sysdba" @$ORACLE_HOME/rdbms/admin/utlrp.sql
$ . $ORACLE_HOME/VIS_oebs-db01log.env
$ echo $ORACLE_SID
VIS
$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ ./adautocfg.sh
| Administrador de base de datos |
Configure el entorno para el usuario rdsdb. | Omita este paso en el caso de Oracle 19c. Para Oracle 12.1.0.2: Ahora que ha completado las entradas de Autoconfig y TNS, debe cargar el archivo de entorno configurándolo en el perfil del usuario rdsdb . Actualice .bash_profile para llamar al archivo de base de datos .env de Oracle E-Business Suite. Debe actualizar el perfil para asegurarse de que el entorno esté cargado. El archivo de entorno se ha creado al ejecutar Autoconfig anteriormente. Al ejecutar Autoconfig, se crea el siguiente archivo de entorno de ejemplo: . /rdsdbbin/oracle/VIS_oebs-db01log.env
Como usuario rdsdb : cd $HOME
vi .bash_profile
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${ORACLE_HOME}/ctx/lib
export SHLIB_PATH=${ORACLE_HOME}/lib
export PATH=$PATH:${ORACLE_HOME}/bin
alias sql=’rlwrap -c sqlplus / as sysdba’
. ${ORACLE_HOME}/VIS_oebs-db01log.env
En el caso de Oracle 19c, no es necesario cargar el entorno CDB. .bash_profile Esto se debe a que el valor predeterminado ORACLE_HOME es la ruta predeterminada $ORACLE_HOME/network/admin , igual al directorio raíz predeterminado del usuario rdsdb (principal de Oracle). | Administrador de base de datos |
Configure la aplicación y la base de datos para Amazon RDS Custom. | Complete los dos primeros pasos en Oracle 12.1.0.2 y 19c. Los siguientes pasos difieren según la versión. 1. En el nivel de aplicación, edite /etc/hosts y cambie la dirección IP de la base de datos por la dirección IP de Amazon RDS Custom: xx.xx.xx.xx OEBS-db01.localdomain OEBS-db01 OEBS-db01log.localdomain OEBS-db01log
Al usar nombres de host lógicos, puede reemplazar el nodo de la base de datos con total fluidez. 2. En la instancia de base de datos personalizada de Amazon RDS, añada o modifique el grupo de seguridad asignado a la instancia de origen para que refleje la EC2 instancia de base de datos personalizada de Amazon RDS, a fin de garantizar que la aplicación pueda acceder al nodo. Para Oracle 12.1.0.2: 3. Ejecute Autoconfig. Como propietario de la aplicación (por ejemplo, applmgr ), ejecute: $ cd $INST_TOP/admin/scripts
$ ./adautocfg.sh
AutoConfig completed successfully.
4. Compruebe las entradas de fnd_nodes : SQL> select node_name from apps.fnd_nodes
NODE_NAME
--------------------------------------------------------------------------------
AUTHENTICATION
OEBS-APP01LOG
OEBS-DB01LOG
5. Confirme que puede iniciar sesión e iniciar la aplicación: $ ./adstrtal.sh
Para Oracle 19c: Compruebe si la PDB está abierta y ábrala si es necesario:
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 VIS MOUNTED
SQL> alter session set container=vis;
SQL> alter database open;
SQL> alter database save state;
2. Prueba de conectividad como apps : SQL> sqlplus apps/****@vis
3. Ejecute Autoconfig en el nivel de base de datos: $ . $ORACLE_HOME/VIS_oebs-db01log.env
$ echo $ORACLE_SID
VIS
$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ ./adautocfg.sh
4. Ejecute Autoconfig en el nivel de aplicación como propietario de la aplicación (por ejemplo, applmgr ): $ cd $INST_TOP/admin/scripts
$ ./adautocfg.sh
AutoConfig completed successfully.
5. Compruebe las entradas de fnd_nodes : SQL> select node_name from apps.fnd_nodes
NODE_NAME
--------------------------------------------------------------------------------
AUTHENTICATION
OEBS-APP01LOG
OEBS-DB01LOG
6. Iniciar la aplicación: $ ./adstrtal.sh
| Administrador de base de datos |
Tarea | Descripción | Habilidades requeridas |
---|
Reanude la automatización para confirmar que funciona. | Reanude la automatización ejecutando el siguiente comando en la CLI de AWS: aws rds modify-db-instance \
--db-instance-identifier vis \
--automation-mode full \
Amazon RDS Custom administra ahora la base de datos. Por ejemplo, si el oyente o la base de datos dejan de funcionar, el agente de Amazon RDS Custom los reiniciará. Para ello, ejecute los siguientes comandos. Ejemplo de detención de oyente: -bash-4.2$ lsnrctl stop vis
Ejemplo de cierre de base de datos: SQL> shutdown immediate;
| Administrador de base de datos |
Valide el esquema, las conexiones y las tareas de mantenimiento. | Para finalizar la migración debe realizar, como mínimo, las siguientes tareas. Ejecute FS_CLONE para sincronizar el sistema de archivos de parches. Recopile las estadísticas del esquema. Asegúrese de que las interfaces y los sistemas externos se puedan conectar a la nueva base de datos de Amazon RDS Custom. Configure las copias de seguridad y la programación de mantenimiento. Compruebe que los parches en línea de AD (ADOP) funcionan según lo previsto ordenando una transición para cambiar los sistemas de archivos.
| Administrador de base de datos |
Solución de problemas
Problema | Solución |
---|
Aparece un error ORA-01624 al intentar eliminar los archivos de registro. | Si aparece un error ORA-01624 al intentar eliminar los archivos de registro, siga los siguientes pasos. Ejecute el siguiente comando y espere hasta que el estado de los archivos de registro que desea eliminar sea INACTIVE . Para obtener más información acerca de los códigos de estado en V$log , consulte la documentación de Oracle. A continuación, se muestra un ejemplo de comando y su resultado: SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 ACTIVE
2 CURRENT
3 UNUSED
4 UNUSED
5 UNUSED
6 UNUSED
6 rows selected.
En este ejemplo, el archivo de registro 1 es ACTIVE , por lo que debe forzar el cambio de un archivo de registro tres veces para asegurarse de que el primer archivo de registro nuevo que agregó anteriormente tenga el estado CURRENT : SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
Espere a que todos los archivos de registro que desea eliminar tengan el estado INACTIVE , como en el ejemplo siguiente, y ejecute el comando DROP LOGFILE . SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 INACTIVE
3 INACTIVE
4 CURRENT
5 UNUSED
6 UNUSED
6 rows selected.
|
Aparece un error ORA-00392 al abrir la base de datos con resetlogs . | Si recibe el error ORA-00392: log xx of thread 1 is being cleared, operation not allowed, ejecute el siguiente comando (sustituya xx por el número de archivo de registro) y ejecute de nuevo el comando abierto resetlogs : SQL> alter database clear logfile group xx;
SQL> alter database open resetlogs;
|
Tiene problemas para conectarse a la aplicación mediante Sysadmin o el usuario de la aplicación. | Para confirmar el problema, ejecute la siguiente consulta SQL: SQL> select dbms_java.get_jdk_version() from dual;
select dbms_java.get_jdk_version() from dual
ERROR at line 1:
ORA-29548: Java system class reported: release of Java system classes in the
database (19.0.0.0.220719 1.8) does not match that of the oracle executable (19.0.0.0.0 1.8)
Causa principal: la base de datos de origen se aplicó con múltiples parches, pero el DB_HOME de Amazon RDS Custom es una instalación nueva, o bien el CEV no incluyó todos los parches porque no usó los parches de RSU necesarios, como OJVM, al crear el CEV. Para validar este aspecto, compruebe si aparecen los detalles del parche de origen en $ORACLE_HOME/sqlpath , $ORACLE_HOME/.patch_storage y opatch – lsinventory . Referencia: datapatch -verbose Fails with Error :" Patch xxxxxx: Archived Patch Directory Is Empty" (Doc ID 2235541.1) Solución: copie los archivos relacionados con el parche que faltan en la fuente ($ORACLE_HOME/sqlpatch/ ) a Amazon RDS Custom ($ORACLE_HOME/sqlpatch/ ) y, a continuación, vuelva a ejecutar ./datapatch -verbose . Por ejemplo: -bash-4.2$ cp -rp 18793246 20204035 20887355 22098146 22731026 $ORACLE_HOME/sqlpatch/
Como solución alternativa, puede ejecutar el siguiente comando en CDB y PDB: @?/javavm/install/update_javavm_db.sql
A continuación, ejecute el siguiente comando en PDB: sql> alter session set container=vis;
@?/javavm/install/update_javavm_db.sql
Ejecute de nuevo la prueba: SQL> select dbms_java.get_jdk_version() from dual;
|
Recursos relacionados
Información adicional
Operaciones de mantenimiento
Parchear la base de datos de Oracle E-Business Suite con nuevos parches
Como el volumen bin (/rdsdbbin
) es una out-of-place actualización, el contenido del volumen bin se elimina durante la actualización de CEV. Por lo tanto, debe crear una copia del directorio appsutil
antes de realizar cualquier actualización mediante CEV.
En la instancia de Amazon RDS Custom de origen, antes de actualizar el CEV, realice una copia de seguridad de $ORACLE_HOME/appsutil
.
En este ejemplo se utiliza un volumen NFS. Sin embargo, puede usar una copia de Amazon Simple Storage Service (Amazon S3) en su lugar.
1. Cree un directorio para almacenar appsutil en la instancia de Amazon RDS Custom de origen:
$ mkdir /RMAN/appsutil.preupgrade
2. Cree un tar y copie en el volumen de Amazon EFS:
$ tar cvf /RMAN/appsutil.preupgrade appsutil
3. Compruebe que el archivo tar existe:
$ bash-4.2$ ls -l /RMAN/appsutil.preupgrade
-rw-rw-r-- 1 rdsdb rdsdb 622981120 Feb 8 20:16 appsutil.tar
4. Actualice al CEV más reciente (ya se ha creado el CEV como requisito previo) siguiendo las instrucciones indicadas en la sección Actualizar una instancia de base de datos de RDS Custom de la documentación de Amazon RDS.
También puede aplicar los parches directamente mediante OPATCH. Consulte la sección Requisitos y consideraciones de actualizaciones de RDS Custom para Oracle de la documentación de Amazon RDS.
La dirección IP de la máquina host no cambia durante el proceso de aplicación de parches en el CEV. Este proceso realiza una out-of-place actualización y, durante el inicio, se adjunta un nuevo volumen bin a la misma instancia.