Esegui la migrazione di un PeopleSoft database Oracle su AWS utilizzando AWS DMS - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui la migrazione di un PeopleSoft database Oracle su AWS utilizzando AWS DMS

Creato da sampath kathirvel (AWS)

Ambiente: produzione

Fonte: Oracle PeopleSoft

Target: Amazon RDS per Oracle

Tipo R: Replatform

Carico di lavoro: Oracle

Tecnologie: migrazione; database

Servizi AWS: AWS DMS; Amazon RDS

Riepilogo

Oracle PeopleSoft è una soluzione ERP (Enterprise Resource Planning) per processi a livello aziendale. PeopleSoft ha un'architettura a tre livelli: client, applicazione e database. PeopleSoft può essere eseguito su Amazon Relational Database Service (Amazon RDS).

Se migri il tuo database Oracle su Amazon RDS, Amazon Web Services (AWS) può occuparsi delle attività di backup e dell'elevata disponibilità, lasciandoti libero di concentrarti sulla manutenzione PeopleSoft dell'applicazione e delle sue funzionalità. Per un elenco completo dei fattori chiave da considerare durante il processo di migrazione, consulta le strategie di migrazione del database Oracle in AWS Prescriptive Guidance.

Questo modello fornisce una soluzione per la migrazione dei database Oracle locali su Amazon RDS for Oracle utilizzando Oracle Data Pump con AWS Database Migration Service (AWS DMS) e la sua funzionalità di acquisizione dei dati di modifica (CDC).

Durante la migrazione di applicazioni ERP critiche come PeopleSoft Oracle, è fondamentale ridurre al minimo i tempi di inattività. AWS DMS riduce al minimo i tempi di inattività supportando sia la replica a pieno carico che quella continua dal database di origine al database di destinazione. AWS DMS fornisce anche il monitoraggio e la registrazione in tempo reale della migrazione, che possono aiutarti a identificare e risolvere eventuali problemi che potrebbero causare tempi di inattività.

Quando si replicano le modifiche con AWS DMS, è necessario specificare un orario o un numero di modifica del sistema (SCN) come punto di partenza per consentire ad AWS DMS di leggere le modifiche dai log del database. È fondamentale mantenere questi log accessibili sul server per un determinato periodo di tempo per garantire che AWS DMS abbia accesso a queste modifiche.

Prerequisiti e limitazioni

Prerequisiti

  • Hai effettuato il provisioning del database Amazon RDS for Oracle nel tuo ambiente cloud AWS come database di destinazione.

  • Un PeopleSoft database Oracle in esecuzione in locale o su Amazon Elastic Compute Cloud (Amazon EC2) nel cloud AWS.

    Nota: questo modello è progettato per la migrazione da locale ad AWS, ma è stato testato utilizzando Oracle Database su un'istanza Amazon EC2. Per la migrazione dall'ambiente locale, è necessario configurare la connettività di rete appropriata.

  • Dettagli dello schema. Quando si esegue la migrazione di un' PeopleSoft applicazione Oracle ad Amazon RDS for Oracle, è necessario identificare lo schema del database Oracle (ad esempioSYSADM) da migrare. Prima di iniziare il processo di migrazione, raccogli i seguenti dettagli sullo schema:

    • Size

    • Il numero di oggetti per tipo di oggetto

    • Il numero di oggetti non validi.

    Queste informazioni saranno utili nel processo di migrazione.

Limitazioni

  • Questo scenario è stato testato solo con il database PeopleSoft DEMO. Non è stato testato con un set di dati di grandi dimensioni.

Architettura

Il diagramma seguente mostra un'istanza che esegue un database Oracle come database di origine e un database Amazon RDS for Oracle come database di destinazione. I dati vengono esportati e importati dal database Oracle di origine al database Amazon RDS for Oracle di destinazione utilizzando Oracle Data Pump e replicati per le modifiche CDC utilizzando AWS DMS.

Processo in cinque fasi dall'istanza DB locale ad Amazon RDS.
  1. La fase iniziale prevede l'estrazione dei dati dal database di origine utilizzando Oracle Data Pump, seguita dall'invio alla destinazione del database Amazon RDS for Oracle.

  2. I dati vengono inviati dal database di origine a un endpoint di origine in AWS DMS.

  3. Dall'endpoint di origine, i dati vengono inviati all'istanza di replica AWS DMS, dove viene eseguita l'attività di replica.

  4. Una volta completata l'attività di replica, i dati vengono inviati all'endpoint di destinazione in AWS DMS.

  5. Dall'endpoint di destinazione, i dati vengono inviati all'istanza del database Amazon RDS for Oracle.

Strumenti

Servizi AWS

Altri servizi

  • Oracle Data Pump ti aiuta a spostare dati e metadati da un database all'altro a velocità elevate.

Best practice

Migrazione dei LOB

Se il database di origine contiene oggetti binari (LOB) di grandi dimensioni che devono essere migrati nel database di destinazione, AWS DMS offre le seguenti opzioni:

  • Modalità LOB completa: AWS DMS migra tutti i LOB dal database di origine al database di destinazione indipendentemente dalle loro dimensioni. Sebbene la migrazione sia più lenta, il vantaggio è che i dati non vengono troncati. Per prestazioni migliori, è possibile creare un'attività separata sulla nuova istanza di replica per migrare le tabelle con LOB di dimensioni superiori a pochi megabyte.

  • Modalità LOB limitata: specifica la dimensione massima dei dati delle colonne LOB, che consente ad AWS DMS di preallocare le risorse e applicare i LOB in blocco. Se la dimensione delle colonne LOB supera la dimensione specificata nell'attività, AWS DMS tronca i dati e invia avvisi al file di registro di AWS DMS. È possibile migliorare le prestazioni utilizzando la modalità LOB limitata se la dimensione dei dati LOB rientra nella dimensione LOB limitata.

  • Modalità LOB in linea: è possibile migrare i LOB senza troncare i dati o rallentare le prestazioni dell'attività replicando LOB di piccole e grandi dimensioni. Innanzitutto, specificate un valore per il InlineLobMaxSize parametro, che è disponibile solo quando la modalità Full LOB è impostata su true. Il task AWS DMS trasferisce i piccoli LOB in linea, il che è più efficiente. Quindi, AWS DMS migra i LOB di grandi dimensioni eseguendo una ricerca dalla tabella di origine. Tuttavia, la modalità LOB in linea funziona solo durante la fase di pieno carico.

Generazione di valori di sequenza

Tieni presente che durante il processo di acquisizione dei dati di modifica con AWS DMS, i numeri di sequenza incrementali non vengono replicati dal database di origine. Per evitare discrepanze nei valori di sequenza, devi generare il valore di sequenza più recente dall'origine per tutte le sequenze e applicarlo al database Amazon RDS for Oracle di destinazione.

Gestione delle credenziali

Per proteggere le tue risorse AWS, ti consigliamo di seguire le best practice per AWS Identity and Access Management (IAM).

Epiche

AttivitàDescrizioneCompetenze richieste

Eseguire il download del modello .

Scarica il CloudFormation modello AWS DMS_Instance.yaml per effettuare il provisioning dell'istanza di replica AWS DMS e dei relativi endpoint di origine e destinazione.

Amministratore del cloud, DBA

Inizia la creazione dello stack.

  1. Nella Console di gestione AWS, scegli CloudFormation.

  2. Seleziona Crea stack.

  3. In Specify template (Specifica il modello), scegliere Upload a template file (Carica un file modello).

  4. Scegli Scegli il file.

  5. Scegli il DMS_instance.yaml file.

  6. Seleziona Successivo.

Amministratore cloud, DBA

Specificare i parametri.

  1. Per il nome dello stack, inserisci il nome dello stack.

  2. In Parametri dell'istanza AWS DMS, inserisci i seguenti parametri:

    • DMS InstanceType: scegli l'istanza richiesta per l'istanza di replica AWS DMS, in base alle tue esigenze aziendali.

    • DMS StorageSize: inserisci la dimensione dello storage per l'istanza AWS DMS, in base alla dimensione della migrazione.

  3. In Source Oracle Database Configuration, inserisci i seguenti parametri:

    • SourceOracleEndpointID: il nome del server del database Oracle di origine

    • SourceOracleDatabaseName— Il nome del servizio di database di origine o l'ID di sessione (SID), a seconda dei casi

    • SourceOracleUserName— Il nome utente del database di origine (l'impostazione predefinita è system)

    • SourceOracledbPassword — La password del nome utente del database di origine

    • SourceOracledbPort — La porta del database di origine

  4. In Target RDS for Oracle Database Configuration, inserisci i seguenti parametri:

    • OracleEndpointID targetRDS: l'endpoint del database RDS di destinazione

    • targetRDS: il nome del database RDS di OracleDatabaseName destinazione

    • targetRS: il nome utente RDS di OracleUserName destinazione

    • targetRDSOracleDBPassword: la password RDS di destinazione

    • TargetOracledbPort: la porta del database RDS di destinazione

  5. In Configurazione VPC, sottorete e gruppo di sicurezza, inserisci i seguenti parametri:

    • VPCID: il VPC per l'istanza di replica

    • VPC SecurityGroupId: il gruppo di sicurezza VPC per l'istanza di replica

    • DMSSubnet1: la sottorete per la zona di disponibilità 1

    • DMSSubnet2: la sottorete per la zona di disponibilità 2

  6. Seleziona Successivo.

Amministratore cloud, DBA

Creare lo stack.

  1. Nella pagina Configura le opzioni dello stack, per Tag, inserisci eventuali valori opzionali.

  2. Seleziona Successivo.

  3. Nella pagina Revisione, verifica i dettagli, quindi scegli Invia.

Il provisioning dovrebbe essere completato in circa 5-10 minuti. È completo quando la pagina AWS CloudFormation Stacks mostra CREATE_COMPLETE.

Amministratore del cloud, DBA

Configura gli endpoint.

  1. Dalla Console di gestione AWS, scegli Database Migration Services.

  2. In Gestione delle risorse, scegli Istanze di replica.

  3. In Gestione delle risorse, scegli Endpoint.

Amministratore cloud, DBA

Prova la connettività.

Dopo che gli endpoint di origine e di destinazione hanno mostrato lo stato Attivo, verifica la connettività. Scegli Esegui test per ogni endpoint (origine e destinazione) per assicurarti che lo stato risulti positivo.

Amministratore cloud, DBA
AttivitàDescrizioneCompetenze richieste

Genera l'SCN.

Quando il database di origine è attivo e utilizzato dall'applicazione, avvia l'esportazione dei dati con Oracle Data Pump. È innanzitutto necessario generare un numero di modifica del sistema (SCN) dal database di origine sia per la coerenza dei dati durante l'esportazione con Oracle Data Pump sia come punto di partenza per l'acquisizione dei dati di modifica in AWS DMS.

Per generare l'SCN corrente dal database di origine, inserisci la seguente istruzione SQL.

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

Salva l'SCN generato da utilizzare quando esporti i dati e per creare l'attività di replica AWS DMS.

DBA

Crea il file dei parametri.

Per creare un file di parametri per l'esportazione dello schema, è possibile utilizzare il codice seguente.

$ 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: potete anche definirne uno personalizzato DATA_PUMP_DIR utilizzando i seguenti comandi, in base alle vostre esigenze.

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

Esporta lo schema.

Per eseguire l'esportazione, utilizzare l'expdputilità.

$ 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
AttivitàDescrizioneCompetenze richieste

Trasferisci il file di dump nell'istanza di destinazione.

Per trasferire i file utilizzandoDBMS_FILE_TRANSFER, devi creare un collegamento al database dal database di origine all'istanza Amazon RDS for Oracle. Dopo aver stabilito il collegamento, puoi utilizzare l'utilità per trasferire i file Data Pump direttamente all'istanza RDS.

In alternativa, puoi trasferire i file Data Pump su Amazon Simple Storage Service (Amazon S3) e quindi importarli nell'istanza Amazon RDS for Oracle. Per ulteriori informazioni su questa opzione, consulta la sezione Informazioni aggiuntive.

Per creare un link al database ORARDSDB che si connette all'utente master di Amazon RDS nell'istanza DB di destinazione, esegui i seguenti comandi sul database di origine.

$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

Prova il link al database.

Verifica il collegamento al database per assicurarti di poterti connettere utilizzando sqlplus al database di destinazione Amazon RDS for Oracle.

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

Trasferisci il file di dump nel database di destinazione.

Per copiare il file di dump sul database Amazon RDS for Oracle, puoi utilizzare la directory DATA_PUMP_DIR predefinita o creare la tua directory utilizzando il codice seguente.

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

Lo script seguente copia un file di dump denominato export_dms_sample_data_01.dmp dall'istanza di origine in un database Amazon RDS for Oracle di destinazione utilizzando il collegamento al database denominato. orardsdb

$ 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

Elenca il file di dump nel database di destinazione.

Una volta completata la procedura PL/SQL, puoi elencare il file di dump dei dati nel database Amazon RDS for Oracle utilizzando il codice seguente.

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

Avvia l'importazione sul database di destinazione.

Prima di iniziare il processo di importazione, configura ruoli, schemi e tablespace sul database Amazon RDS for Oracle di destinazione utilizzando il file di dump dei dati.

Per eseguire l'importazione, accedi al database di destinazione con l'account utente principale di Amazon RDS e usa il nome della stringa di connessione nel tnsnames.ora file, che include Amazon RDS for Oracle Database. tns-entry Se necessario, puoi includere un'opzione di rimappatura per importare il file di dump dei dati in una tablespace diversa o con un nome di schema diverso.

Per avviare l'importazione, utilizzate il codice seguente.

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

Per garantire una corretta importazione, controllate il file di log di importazione per eventuali errori ed esaminate i dettagli come il conteggio degli oggetti, il conteggio delle righe e gli oggetti non validi. Se sono presenti oggetti non validi, ricompilali. Inoltre, confrontate gli oggetti del database di origine e di destinazione per confermare che corrispondano.

DBA
AttivitàDescrizioneCompetenze richieste

Creare l'attività di replica.

Crea l'attività di replica di AWS DMS utilizzando i seguenti passaggi:

  1. Nella console AWS DMS, in Conversione e migrazione, scegli Database migration task.

  2. In Configurazione dell'attività, per Task identifier, inserisci il tuo identificatore di task.

  3. Per Istanza di replica, scegli l'istanza di replica DMS che hai creato.

  4. Per l'endpoint del database di origine, scegli l'endpoint di origine.

  5. Per l'endpoint del database Target, scegli il tuo database Amazon RDS for Oracle di destinazione.

  6. Per il tipo di migrazione, scegli Replica solo le modifiche ai dati. Se ricevi un messaggio che indica che è necessario attivare la registrazione supplementare, segui le istruzioni nella sezione Informazioni aggiuntive.

  7. In Impostazioni attività, seleziona Specificare il numero di sequenza di registro.

  8. Per il numero di modifica del sistema, inserisci l'SCN del database Oracle generato dal database Oracle di origine.

  9. Scegli Abilita convalida.

  10. Scegli Abilita CloudWatch registri.

    Attivando questa funzionalità, puoi convalidare i dati e i log di Amazon per esaminare CloudWatch i log delle istanze di replica AWS DMS.

  11. In Regole di selezione, completa quanto segue:

    • Per Schema, scegli Inserisci uno schema.

    • Per il nome dello schema, inserisci SYSADM.

    • Per Nome tabella, immettere%.

    • Per Azione, scegli Includi.

  12. In Regole di trasformazione, completa quanto segue:

    • Per Target, scegli Tabella.

    • Per Nome dello schema, scegli Inserisci uno schema.

    • Per Nome schema, inserisci SYSADM.

    • Per Azione, scegli Rinomina in.

  13. Scegli Create task (Crea attività).

Dopo aver creato l'attività, migra il CDC all'istanza del database Amazon RDS for Oracle dall'SCN fornito in modalità di avvio CDC. Puoi anche verificare esaminando i log. CloudWatch

Amministratore cloud, DBA
AttivitàDescrizioneCompetenze richieste

Convalida il trasferimento dei dati.

Dopo l'avvio del task AWS DMS, puoi controllare la scheda Table statistics nella pagina Tasks per vedere le modifiche apportate ai dati.

Puoi monitorare lo stato della replica in corso nella console nella pagina Attività di migrazione del database.

Per ulteriori informazioni, consulta la convalida dei dati di AWS DMS.

Amministratore del cloud, DBA
AttivitàDescrizioneCompetenze richieste

Interrompi la replica.

Interrompere la procedura di replica e interrompere i servizi applicativi di origine.

Amministratore cloud, DBA

Avvia il livello PeopleSoft intermedio.

Avvia l'applicazione di livello PeopleSoft intermedio di destinazione in AWS e indirizzala al database Amazon RDS for Oracle recentemente migrato.

Quando accedi all'applicazione, dovresti notare che tutte le connessioni alle app sono ora stabilite con il database Amazon RDS for Oracle.

DBA, amministratore PeopleSoft

Disattiva il database di origine.

Dopo aver verificato che non vi sono più connessioni al database di origine, è possibile disattivarlo.

DBA

Risorse correlate

Informazioni aggiuntive

Trasferimento di file tramite Amazon S3

Per trasferire i file su Amazon S3, puoi utilizzare l'AWS CLI o la console Amazon S3. Dopo aver trasferito i file su Amazon S3, puoi utilizzare l'istanza Amazon RDS for Oracle per importare i file Data Pump da Amazon S3.

Se scegli di trasferire il file di dump utilizzando l'integrazione con Amazon S3 come metodo alternativo, procedi nel seguente modo:

  1. Crea un bucket S3.

  2. Esporta i dati dal database di origine utilizzando Oracle Data Pump.

  3. Carica i file Data Pump nel bucket S3.

  4. Scarica i file Data Pump dal bucket S3 al database Amazon RDS for Oracle di destinazione.

  5. Esegui l'importazione utilizzando i file Data Pump.

Nota: per trasferire file di dati di grandi dimensioni tra istanze S3 e RDS, si consiglia di utilizzare la funzionalità Amazon S3 Transfer Acceleration.

Attiva la registrazione supplementare

Se si riceve un messaggio di avviso per abilitare la registrazione supplementare nel database di origine per la replica continua, utilizzare la procedura seguente.

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;