Migre una PeopleSoft base de datos Oracle a AWS mediante AWS DMS - Recomendaciones de AWS

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.

Migre una PeopleSoft base de datos Oracle a AWS mediante AWS DMS

Creado por sampath kathirvel () AWS

Entorno: producción

Fuente: Oracle PeopleSoft

Objetivo: Amazon RDS para Oracle

Tipo R: redefinir la plataforma

Carga de trabajo: Oracle

Tecnologías: Migración; bases de datos

AWSservicios: AWS DMS Amazon RDS

Resumen

Oracle PeopleSoft es una solución de planificación de recursos empresariales (ERP) para procesos de toda la empresa. PeopleSoft tiene una arquitectura de tres niveles: cliente, aplicación y base de datos. PeopleSoft se puede ejecutar en Amazon Relational Database Service (RDSAmazon).

Si migra su base de datos Oracle a AmazonRDS, Amazon Web Services (AWS) puede encargarse de las tareas de backup y de la alta disponibilidad, lo que le permite concentrarse en el mantenimiento de PeopleSoft la aplicación y su funcionalidad. Para obtener una lista completa de los factores clave que se deben tener en cuenta durante el proceso de migración, consulte las estrategias de migración de bases de datos de Oracle en AWS Prescriptive Guidance.

Este patrón proporciona una solución para migrar sus bases de datos Oracle locales a Amazon RDS for Oracle mediante Oracle Data Pump with AWSDatabase Migration Service (AWSDMS) y su función de captura de datos de cambios (CDC).

Al migrar ERP aplicaciones críticas como Oracle PeopleSoft, es fundamental minimizar el tiempo de inactividad. AWSDMSminimiza el tiempo de inactividad al admitir la replicación continua y a plena carga, desde la base de datos de origen a la base de datos de destino. AWSDMStambién proporciona supervisión y registro de la migración en tiempo real, lo que puede ayudarle a identificar y resolver cualquier problema que pueda provocar un tiempo de inactividad.

Al replicar los cambios con AWSDMS, debe especificar una hora o un número de cambio del sistema (SCN) como punto de partida AWS DMS para leer los cambios de los registros de la base de datos. Es fundamental mantener estos registros accesibles en el servidor durante un período de tiempo determinado para garantizar que AWS DMS se pueda acceder a estos cambios.

Requisitos previos y limitaciones

Requisitos previos 

  • Aprovisionó la base de datos de Amazon RDS for Oracle en su entorno de AWS nube como base de datos de destino.

  • Una PeopleSoft base de datos de Oracle que se ejecuta en las instalaciones o en Amazon Elastic Compute Cloud (AmazonEC2) en la AWS nube.

    Nota: Este patrón está diseñado para migrar de una instancia local a otraAWS, pero se probó con Oracle Database en una EC2 instancia de Amazon. Para migrar desde una ubicación en las instalaciones, necesitará configurar la conectividad de red adecuada.

  • Detalles del esquema. Al migrar una PeopleSoft aplicación de Oracle a Amazon RDS for Oracle, es necesario identificar qué esquema de base de datos de Oracle (por ejemploSYSADM) se va a migrar. Antes de iniciar el proceso de migración, recopile los siguientes detalles sobre el esquema:

    • Tamaño

    • La cantidad de objetos por tipo de objeto

    • La cantidad de objetos no válidos.

    Esta información ayudará en el proceso de migración.

Limitaciones

  • Este escenario se ha probado únicamente con la PeopleSoft DEMO base de datos. No se ha probado con un conjunto de datos grande.

Arquitectura

El siguiente diagrama muestra una instancia que ejecuta una base de datos de Oracle como base de datos de origen y una base de datos de Amazon RDS for Oracle como base de datos de destino. Los datos se exportan e importan de la base de datos Oracle de origen a la base de datos Amazon RDS for Oracle de destino mediante Oracle Data Pump y se replican para CDC los cambios mediante AWSDMS.

Proceso de cinco pasos desde la instancia de base de datos local hasta Amazon. RDS
  1. El paso inicial consiste en extraer los datos de la base de datos de origen mediante Oracle Data Pump y, a continuación, enviarlos a la base de datos de destino de Amazon RDS for Oracle.

  2. Los datos se envían desde la base de datos de origen a un punto final de origen en AWSDMS.

  3. Desde el punto final de origen, los datos se envían a la instancia de AWS DMS replicación, donde se realiza la tarea de replicación.

  4. Una vez completada la tarea de replicación, los datos se envían al punto final de destino AWSDMS.

  5. Desde el punto final de destino, los datos se envían a la instancia de base de datos de Amazon RDS for Oracle.

Herramientas

AWSservicios

Otros servicios

  • Oracle Data Pump le ayuda a trasladar datos y metadatos de una base de datos a otra a altas velocidades.

Prácticas recomendadas

¿Migrando LOBs

Si la base de datos de origen contiene objetos binarios de gran tamaño (LOBs) que deben migrarse a la base de datos de destino, AWS DMS ofrece las siguientes opciones:

  • LOBModo completo: AWS DMS migra todos los datos LOBs de la base de datos de origen a la de destino, independientemente de su tamaño. Aunque la migración es más lenta, la ventaja es que los datos no se truncan. Para mejorar el rendimiento, puede crear una tarea independiente en la nueva instancia de replicación para migrar las tablas que tengan LOBs más de unos pocos megabytes.

  • LOBModo limitado: se especifica el tamaño máximo de los datos de la LOB columna, lo que permite AWS DMS preasignar los recursos y aplicarlos de forma masiva. LOBs Si el tamaño de las LOB columnas supera el tamaño especificado en la tarea, se AWS DMS truncan los datos y se envían advertencias al AWS DMS archivo de registro. Puede mejorar el rendimiento mediante el LOB modo limitado si el tamaño de LOB los datos se encuentra dentro del tamaño limitadoLOB.

  • LOBModo en línea: puede migrar LOBs sin truncar los datos ni ralentizar el rendimiento de la tarea al replicar tanto los datos pequeños como los grandes. LOBs En primer lugar, especifique un valor para el InlineLobMaxSize parámetro, que solo estará disponible cuando el LOB modo Completo esté establecido en true. La AWS DMS tarea transfiere lo pequeño LOBs en línea, lo que resulta más eficiente. A continuación, AWS DMS migra el tamaño grande LOBs realizando una búsqueda en la tabla de origen. Sin embargo, el LOB modo en línea solo funciona durante la fase de carga completa.

Generación de valores de secuencia

Tenga en cuenta que durante el proceso de captura de datos de cambio AWSDMS, los números de secuencia incrementales no se replican desde la base de datos de origen. Para evitar discrepancias en los valores de secuencia, debe generar el valor de secuencia más reciente desde el origen para todas las secuencias y aplicarlo a la base de datos de Amazon RDS for Oracle de destino.

Administración de credenciales

Para ayudar a proteger sus AWS recursos, le recomendamos que siga las prácticas recomendadas para AWS Identity and Access Management (IAM).

Epics

TareaDescripciónHabilidades requeridas

Descargue la plantilla de .

Descargue la AWS CloudFormation plantilla DMS_instance.yaml para aprovisionar la instancia de AWS DMS replicación y sus puntos de enlace de origen y destino.

Administrador de la nube, DBA

Inicie la creación de la pila.

  1. En la consola AWS de administración, elija CloudFormation.

  2. Seleccione Crear pila.

  3. En Specify template (Especificar plantilla), elija Upload a template file (Cargar un archivo de plantilla).

  4. Seleccione Elegir archivo.

  5. Seleccione el archivo DMS_instance.yaml.

  6. Elija Next (Siguiente).

Administrador de la nube, DBA

Especifique los parámetros.

  1. En Nombre de la pila, introduzca el nombre de la pila.

  2. En Parámetros de AWS DMS instancia, introduzca los siguientes parámetros:

    • DMSInstanceType— Elija la instancia requerida para la instancia de AWS DMS replicación, en función de las necesidades de su empresa.

    • DMSStorageSize— Introduzca el tamaño de almacenamiento de la AWS DMS instancia, en función del tamaño de la migración.

  3. En Configuración de la base de datos de Oracle de origen, introduzca los siguientes parámetros:

    • SourceOracleEndpointID: el nombre del servidor de base de datos Oracle de origen

    • SourceOracleDatabaseName— El nombre del servicio de base de datos de origen o el ID de sesión (SID), según proceda

    • SourceOracleUserName— El nombre de usuario de la base de datos de origen (el predeterminado es sistema)

    • SourceOracleDBPassword— La contraseña del nombre de usuario de la base de datos fuente

    • SourceOracleDBPort— El puerto de la base de datos de origen

  4. En Destino RDS para la configuración de la base de datos Oracle, introduzca los siguientes parámetros:

    • T argetRDSOracle EndpointID: el punto final de la base de datos de destino RDS

    • T argetRDSOracleDatabaseName: el nombre de la base de datos de destino RDS

    • T argetRSOracle UserName: el nombre de RDS usuario de destino

    • T argetRDSOracle DBPassword — La RDS contraseña de destino

    • TargetOracleDBPort— El puerto de la RDS base de datos de destino

  5. En VPCConfiguración de subredes y grupos de seguridad, introduzca los siguientes parámetros:

    • VPCID— El VPC para la instancia de replicación

    • VPCSecurityGroupId— El grupo VPC de seguridad de la instancia de replicación

    • DMSSubnet1— La subred de la zona de disponibilidad 1

    • DMSSubnet2— La subred de la zona de disponibilidad 2

  6. Elija Next (Siguiente).

Administrador de la nube, DBA

Cree la pila.

  1. En la página Configurar opciones de pila, para Etiquetas, introduzca cualquier valor opcional.

  2. Elija Next (Siguiente).

  3. En la página Revisar, verifique los detalles y, a continuación, seleccione Enviar.

El aprovisionamiento debería completarse en un plazo aproximado de 5 a 10 minutos. Se completa cuando la página AWS CloudFormation Stacks muestra CREATE_ COMPLETE.

Administrador de la nube, DBA

Configure los puntos de conexión.

  1. En la consola AWS de administración, elija Database Migration Services.

  2. En Administración de recursos, elija Instancias de replicación.

  3. En Administración de recursos, elija Puntos de conexión.

Administrador de la nube, DBA

Probar la conectividad.

Cuando los puntos de conexión de origen y destino muestren el estado Activo, pruebe la conectividad. Seleccione Ejecutar prueba en cada punto de conexión (origen y destino) para asegurarse de que el estado sea correcto.

Administrador de la nube, DBA
TareaDescripciónHabilidades requeridas

Genere elSCN.

Cuando la base de datos de origen esté activa y la aplicación la utilice, inicie la exportación de datos con Oracle Data Pump. Primero debe generar un número de cambio del sistema (SCN) a partir de la base de datos de origen para mantener la coherencia de los datos durante la exportación con Oracle Data Pump y como punto de partida para la captura de datos de cambios en ella AWSDMS.

Para generar la corriente a SCN partir de la base de datos de origen, introduzca la siguiente SQL declaración.

SQL> select name from v$database; SQL> select name from v$database; NAME --------- PSFTDMO SQL> SELECT current_scn FROM v$database; CURRENT_SCN ----------- 23792008

Guarde lo generado SCN para usarlo al exportar los datos y para crear la tarea de AWS DMS replicación.

DBA

Cree el archivo de parámetros.

Para crear un archivo de parámetros para exportar el esquema, puede usar el siguiente código.

$ cat exp_datapmp.par userid=system/******* directory=DATA_PUMP_DIR logfile=export_dms_sample_user.log dumpfile=export_dms_sample_data_%U.dmp schemas=SYSADM flashback_scn=23792008

Nota: También puede definir su propio DATA_PUMP_DIR mediante los siguientes comandos, en función de sus necesidades.

SQL> CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/opt/oracle/product/19c/dbhome_1/dmsdump/'; Directory created. SQL> GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO system; Grant succeeded. SQL> SQL> SELECT owner, directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR'; OWNER DIRECTORY_NAME DIRECTORY_PATH ------------------------------------------------------------------------------------------------------------------ SYS DATA_PUMP_DIR /opt/oracle/product/19c/dbhome_1/dmsdump/
DBA

Exporte el esquema.

Realice la exportación con la utilidad expdp.

$ expdp parfile=exp_datapmp.par ....................... Transferring the dump file with DBMS_FILE_TRANSFER to Target: . . exported "SYSADM"."PS_XML_TEMPLT_LNG" 6.320 KB 0 rows . . exported "SYSADM"."PS_XML_TEMPLT_LNK" 6.328 KB 0 rows . . exported "SYSADM"."PS_XML_XLATDEF_LNG" 6.320 KB 0 rows . . exported "SYSADM"."PS_XML_XLATITM_LNG" 7.171 KB 0 rows . . exported "SYSADM"."PS_XPQRYRUNCNTL" 7.601 KB 0 rows . . exported "SYSADM"."PS_XPQRYRUNPARM" 7.210 KB 0 rows . . exported "SYSADM"."PS_YE_AMOUNTS" 9.351 KB 0 rows . . exported "SYSADM"."PS_YE_DATA" 16.58 KB 0 rows . . exported "SYSADM"."PS_YE_EE" 6.75 KB 0 rows . . exported "SYSADM"."PS_YE_W2CP_AMOUNTS" 9.414 KB 0 rows . . exported "SYSADM"."PS_YE_W2CP_DATA" 20.94 KB 0 rows . . exported "SYSADM"."PS_YE_W2C_AMOUNTS" 10.27 KB 0 rows . . exported "SYSADM"."PS_YE_W2C_DATA" 20.95 KB 0 rows . . exported "SYSADM"."PS_ZBD_JOBCODE_TBL" 14.60 KB 0 rows . . exported "SYSADM"."PTGRANTTBL" 5.468 KB 0 rows Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded ** Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is: /opt/oracle/product/19c/dbhome_1/dmsdump/export_dms_sample_data_01.dmp Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Dec 19 20:13:57 2022 elapsed 0 00:38:22
DBA
TareaDescripciónHabilidades requeridas

Transfiera el archivo de volcado a la instancia de destino.

Para transferir sus archivos medianteDBMS_FILE_TRANSFER, debe crear un enlace de base de datos desde la base de datos de origen a la instancia de Amazon RDS for Oracle. Una vez establecido el enlace, puede utilizar la utilidad para transferir los archivos de Data Pump directamente a la RDS instancia.

Como alternativa, puede transferir los archivos de Data Pump a Amazon Simple Storage Service (Amazon S3) y, a continuación, importarlos a la instancia de RDS Amazon for Oracle. Para más información sobre esta opción, consulte la sección Información adicional.

Para crear un enlace de base de datos ORARDSDB que se conecte al usuario RDS maestro de Amazon en la instancia de base de datos de destino, ejecute los siguientes comandos en la base de datos de origen.

$sqlplus / as sysdba $ SQL> create database link orardsdb connect to admin identified by "*****" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testpsft.*******.us-west-2.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))'; Database link created.
DBA

Pruebe el enlace de la base de datos.

Pruebe el enlace de la base de datos para asegurarse de que puede conectarse mediante sqlplus a la base de datos de destino de Amazon RDS for Oracle.

SQL> SQL> select name from v$database@orardsdb; NAME --------- ORCL SQL>
DBA

Transfiera el archivo de volcado a la base de datos de destino.

Para copiar el archivo de volcado a la base de datos de Amazon RDS for Oracle, puede usar el DATA_PUMP_DIR directorio predeterminado o puede crear su propio directorio con el siguiente código.

exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => ‘TARGET_PUMP_DIR’);

El siguiente script copia un archivo de volcado denominado export_dms_sample_data_01.dmp de la instancia de origen a una base de datos de Amazon RDS for Oracle de destino mediante el enlace de base de datos denominadoorardsdb.

$ sqlplus / as sysdba SQL> BEGIN DBMS_FILE_TRANSFER.PUT_FILE( source_directory_object => 'DATA_PUMP_DIR', source_file_name => 'export_dms_sample_data_01.dmp', destination_directory_object => 'TARGET_PUMP_DIR’', destination_file_name => 'export_dms_sample_data_01.dmp', destination_database => 'orardsdb' ); END; / PL/SQL procedure successfully completed.
DBA

Incluya el archivo de volcado en la base de datos de destino.

Una vez completado el SQL procedimiento PL/, puede incluir el archivo de volcado de datos en la base de datos de Amazon RDS for Oracle mediante el siguiente código.

SQL> select * from table (rdsadmin.rds_file_util.listdir(p_directory => ‘TARGET_PUMP_DIR’));
DBA

Inicie la importación en la base de datos de destino.

Antes de iniciar el proceso de importación, configure las funciones, los esquemas y los espacios de tabla en la base de datos de Amazon RDS for Oracle de destino mediante el archivo de volcado de datos.

Para realizar la importación, acceda a la base de datos de destino con la cuenta de usuario RDS maestra de Amazon y utilice el nombre de la cadena de conexión del tnsnames.ora archivo, que incluye la base de datos de Amazon RDS for Oracletns-entry. Si es necesario, puede incluir una opción de reasignación para importar el archivo de volcado de datos a un espacio de tabla diferente o con un nombre de esquema diferente.

Para iniciar la importación, utilice el siguiente código.

impdp admin@orardsdb directory=TARGET_PUMP_DIR logfile=import.log dumpfile=export_dms_sample_data_01.dmp

Para garantizar una importación correcta, compruebe la ausencia de errores en el archivo de registro de importación y revise detalles como el número de objetos, el número de filas y los objetos no válidos. Si hay algún objeto no válido, repita la compilación. Compare también los objetos de la base de datos de origen y destino para confirmar que coinciden.

DBA
TareaDescripciónHabilidades requeridas

Crear una tarea de replicación.

Cree la tarea de AWS DMS replicación mediante los siguientes pasos:

  1. En la AWS DMS consola, en Conversión y migración, elija Tarea de migración de bases de datos.

  2. En Configuración de tareas, en Identificador de tareas, introduzca su identificador de tarea.

  3. En Instancia de replicación, elija la instancia de DMS replicación que creó.

  4. En Punto de conexión de base de datos de origen, seleccione el punto de conexión de origen.

  5. Para el punto final de la base de datos de Target, elija su base de datos de Amazon RDS for Oracle de destino.

  6. En Tipo de migración, seleccione Replicar solo cambios de datos. Si recibe un mensaje en el que se indica que es necesario activar el registro adicional, siga las instrucciones de la sección Información adicional.

  7. En Configuración de tarea, seleccione Especificar número de secuencia de registro.

  8. En el campo Número de cambio de sistema, introduzca la base de datos Oracle SCN que generó a partir de la base de datos Oracle de origen.

  9. Seleccione Activar validación.

  10. Seleccione Activar CloudWatch registros.

    Al activar esta función, puede validar los datos y los registros de Amazon para revisar CloudWatch los registros de las instancias de AWS DMS replicación.

  11. En Reglas de selección, complete lo siguiente:

    • Para Esquema, elija Introducir un esquema.

    • Para el nombre del esquema, introduzca SYSADM.

    • En Nombre de la tabla, introduzca %.

    • En Acción, elija Incluir.

  12. En Reglas de transformación, complete lo siguiente:

    • En Destino, elija Tabla.

    • Para Nombre de esquema, elija Introducir un esquema.

    • Para el nombre del esquema, introduzcaSYSADM.

    • En Acción, seleccione Cambiar nombre a.

  13. Seleccione Crear tarea.

Tras crear la tarea, CDC migra la instancia de base de datos de Amazon RDS for Oracle desde la SCN que proporcionó en el modo de CDC inicio. También puede verificarlo revisando los CloudWatch registros.

Administrador de la nube, DBA
TareaDescripciónHabilidades requeridas

Valide la transferencia de datos.

Una vez AWS DMS iniciada la tarea, puede consultar la pestaña de estadísticas de la tabla en la página Tareas para ver los cambios realizados en los datos.

Puede supervisar el estado de la replicación en curso desde la consola, en la página Tareas de migración de bases de datos.

Para obtener más información, consulte la validación de AWS DMS datos.

Administrador de la nube, DBA
TareaDescripciónHabilidades requeridas

Detención de la replicación.

Interrumpa el procedimiento de replicación y detenga los servicios de la aplicación de origen.

Administrador de la nube, DBA

Inicie el nivel PeopleSoft medio.

Inicie la aplicación de nivel PeopleSoft medio de destino y AWS diríjala a la base de datos Amazon RDS for Oracle migrada recientemente.

Al acceder a la aplicación, debe observar que todas las conexiones de la aplicación ahora están establecidas con la base de datos Amazon RDS for Oracle.

DBA, PeopleSoft administrador

Desactive la base de datos de origen.

Tras haber confirmado que no hay más conexiones a la base de datos de origen, puede desactivarla.

DBA

Recursos relacionados

Información adicional

Cómo transferir archivos con Amazon S3

Para transferir los archivos a Amazon S3, puede utilizar la consola AWS CLI o Amazon S3. Tras transferir los archivos a Amazon S3, puede utilizar la instancia de Amazon RDS for Oracle para importar los archivos de Data Pump desde Amazon S3.

Si prefiere transferir el archivo de volcado usando la integración de Amazon S3 como método alternativo, siga estos pasos:

  1. Cree un bucket de S3.

  2. Exporte los datos de la base de datos de origen utilizando Oracle Data Pump.

  3. Suba los archivos de Data Pump al bucket de S3.

  4. Descargue los archivos de Data Pump del bucket S3 a la base de datos de Amazon RDS for Oracle de destino.

  5. Realice la importación con los archivos de Data Pump.

Nota: Para transferir archivos de datos de gran tamaño entre S3 e RDS instancias, se recomienda utilizar la función Amazon S3 Transfer Acceleration.

Active el registro adicional

Si recibe un mensaje de advertencia solicitando habilitar el registro adicional en la base de datos de origen para la replicación continua, siga estos pasos.

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;