Migrare le funzioni native di Oracle su SQL Postgre utilizzando le estensioni - 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à.

Migrare le funzioni native di Oracle su SQL Postgre utilizzando le estensioni

Creato da Pinesh Singal () AWS

Ambiente: PoC o pilota

Fonte: Database: Relazionale

Obiettivo: Amazon RDS Postgre SQL

Tipo R: Re-architect

Carico di lavoro: Oracle; open source

Tecnologie: migrazione; database

AWSservizi: AmazonEC2; Amazon RDS

Riepilogo

Questo modello di migrazione fornisce step-by-step indicazioni per la migrazione di un'istanza di database Amazon Relational Database Service (RDSAmazon) per Oracle verso un database Amazon for SQL Postgre o RDS Amazon SQL Aurora Postgre -Compatible Edition aws_oracle_ext orafce modificando le estensioni and nel codice integrato nativo di Postgre (). SQL psql Ciò consentirà di risparmiare tempo di elaborazione.

Il modello descrive una strategia di migrazione manuale offline senza tempi di inattività per un database di origine Oracle da più terabyte con un numero elevato di transazioni.

Il processo di migrazione utilizza AWS Schema Conversion Tool (AWSSCT) con le orafce estensioni aws_oracle_ext and per convertire uno schema di database Amazon RDS for Oracle in uno schema di database compatibile con Amazon RDS for Postgre o SQL Aurora SQL Postgre. Quindi il codice viene modificato manualmente in codice integrato nativo supportato da Postgre. SQL psql Questo perché le chiamate di estensione influiscono sull'elaborazione del codice sul server del SQL database Postgre e non tutto il codice di estensione è completamente conforme o compatibile con il codice Postgre. SQL

Questo modello si concentra principalmente sulla migrazione manuale dei SQL codici utilizzando AWS SCT e le estensioni e. aws_oracle_ext orafce Le estensioni già utilizzate vengono convertite in componenti incorporati nativi di Postgree SQL ()psql. Quindi rimuovete tutti i riferimenti alle estensioni e convertite i codici di conseguenza.

Prerequisiti e limitazioni

Prerequisiti

  • Un AWS account attivo 

  • Sistema operativo (Windows o Mac) o EC2 istanza Amazon (attiva e funzionante) 

  • Oracle

Limitazioni

Non tutte le funzioni Oracle che utilizzano le aws_oracle_ext nostre orafce estensioni possono essere convertite in funzioni SQL Postgre native. Potrebbe essere necessario rielaborarlo manualmente per compilarlo con le librerie Postgre. SQL

Uno svantaggio dell'utilizzo delle AWS SCT estensioni è la lentezza delle prestazioni nell'esecuzione e nel recupero dei risultati. Il suo costo può essere compreso dal semplice piano Postgre (SQLEXPLAINpiano di esecuzione di una dichiarazione) sulla migrazione delle SYSDATE funzioni Oracle alla funzione Postgre tra tutti e SQL NOW() tre i codici (aws_oracle_ext, e psql default)orafce, come spiegato nella sezione Controllo del confronto delle prestazioni del documento allegato.

Versioni del prodotto

  • Fonte: database Amazon RDS for Oracle 10.2 e versioni successive (per 10.x), 11g (11.2.0.3.v1 e versioni successive) e fino a 12.2, 18c e 19c (e versioni successive) per Enterprise Edition, Standard Edition, Standard Edition 1 e Standard Edition 2

  • Target: Amazon RDS for Postgre o SQL Aurora Postgre SQL - Database compatibile 9.4 e versioni successive (per 9.x), 10.x, 11.x, 12.x, 13.x e 14.x (e versioni successive)

  • AWSSCT: Ultima versione (questo modello è stato testato con 1.0.632)

  • Oracle: ultima versione (questo pattern è stato testato con 3.9.0)

Architettura

Stack di tecnologia di origine

  • Un'istanza di database Amazon RDS for Oracle con versione 12.1.0.2.v18

Stack tecnologico Target

  • Un'istanza di database compatibile con Amazon RDS for Postgre o SQL Aurora Postgre SQL con versione 11.5

Architettura di migrazione del database

Il diagramma seguente rappresenta l'architettura di migrazione del database tra i database Oracle di origine e SQL Postgre di destinazione. L'architettura include AWS Cloud, un cloud privato virtuale (VPC), zone di disponibilità, una sottorete privata, un database Amazon RDS for Oracle, un database SQL compatibile con Amazon RDS for Postgre o SQL Aurora Postgre, estensioni per Oracle (aws_oracle_extandorafce) e file Structured Query Language (). AWS SCT SQL

Il processo è spiegato nell'elenco seguente.
  1. Avvia l'istanza database Amazon RDS for Oracle (database di origine).

  2. AWSSCTUtilizzalo con aws_oracle_ext i pacchetti di orafce estensione per convertire il codice sorgente da Oracle a SQL Postre.

  3. La conversione produce file in formato.sql migrati SQL supportati da Postgres.

  4. Converti manualmente i codici di estensione Oracle non convertiti in codici Postgre (). SQL psql

  5. La conversione manuale produce file .sql convertiti supportati da Postgre. SQL

  6. Esegui questi file.sql sulla tua istanza Amazon RDS for Postgree SQL DB (database di destinazione).

Strumenti

Strumenti

AWSservizi

  • AWSSCT- AWS Schema Conversion Tool (AWSSCT) converte lo schema del database esistente da un motore di database a un altro. È possibile convertire lo schema relazionale di Online Transactional Processing (OLTP) o lo schema di data warehouse. Lo schema convertito è adatto per un'istanza Amazon RDS for My SQL DB, un cluster Amazon Aurora DB, un'istanza Amazon RDS for Postgre SQL DB o un cluster Amazon Redshift. Lo schema convertito può essere utilizzato anche con un database su un'EC2istanza Amazon o archiviato come dati in un bucket Amazon S3.

    AWSSCTfornisce un'interfaccia utente basata su progetti per convertire automaticamente lo schema del database di origine in un formato compatibile con l'RDSistanza Amazon di destinazione. 

    È possibile utilizzare AWS SCT per eseguire la migrazione da un database di origine Oracle a una qualsiasi delle destinazioni elencate in precedenza. Utilizzando AWSSCT, è possibile esportare le definizioni degli oggetti del database di origine come schema, viste, stored procedure e funzioni. 

    Puoi utilizzarli AWS SCT per convertire i dati da Oracle ad Amazon RDS for Postgre SQL o Amazon SQL Aurora Postgre -Compatible Edition. 

    In questo modello, viene utilizzato AWS SCT per convertire e migrare il codice Oracle in Postgre SQL utilizzando le estensioni aws_oracle_ext e orafce migrando manualmente i codici di estensione in codice integrato predefinito o nativo. psql

  • Il pacchetto di AWSSCTestensione è un modulo aggiuntivo che emula le funzioni presenti nel database di origine necessarie per la conversione degli oggetti nel database di destinazione. Prima di poter installare il pacchetto di AWS SCT estensione, è necessario convertire lo schema del database.

    Quando converti il database o lo schema del data warehouse, AWS SCT aggiunge uno schema aggiuntivo al database di destinazione. Questo schema implementa le funzioni di SQL sistema del database di origine necessarie per scrivere lo schema convertito nel database di destinazione. Lo schema aggiuntivo viene chiamato schema del pacchetto di estensione.

    Lo schema del pacchetto di estensione per OLTP i database è denominato in base al database di origine. Per i database Oracle, lo schema del pacchetto di estensione èAWS_ORACLE_EXT.

Altri strumenti

  • Oracle: Orafce è un modulo che implementa funzioni, tipi di dati e pacchetti compatibili con Oracle. È uno strumento open source con una licenza Berkeley Source Distribution (BSD) in modo che chiunque possa usarlo. Il orafce modulo è utile per la migrazione da Oracle a Postgre SQL perché ha molte funzioni Oracle implementate in Postgre. SQL

Codice

Per un elenco di tutto il codice comunemente usato e migrato da Oracle a Postgre per evitare l'uso del codice di AWS SCT estensione, consulta SQL il documento allegato.

Epiche

AttivitàDescrizioneCompetenze richieste

Creare l'istanza del database Oracle.

Crea un'istanza di database SQL compatibile con Amazon RDS for Oracle o Aurora Postgre dalla console Amazon. RDS

Generale, AWS DBA

Configura i gruppi di sicurezza.

Configura i gruppi di sicurezza in entrata e in uscita.

Generale AWS

Crea il database.

Crea il database Oracle con gli utenti e gli schemi necessari.

GeneraleAWS, DBA

Crea gli oggetti.

Crea oggetti e inserisci dati nello schema.

DBA
AttivitàDescrizioneCompetenze richieste

Crea l'istanza del SQL database Postgre.

Crea un'istanza di SQL database Amazon RDS for Postgre SQL o Amazon Aurora Postgre dalla console Amazon. RDS

Generale, AWS DBA

Configura i gruppi di sicurezza.

Configura i gruppi di sicurezza in entrata e in uscita.

Generale AWS

Crea il database.

Crea il SQL database Postgre con gli utenti e gli schemi necessari.

Generale, AWS DBA

Convalida le estensioni.

Assicurati che orafce siano installati aws_oracle_ext e configurati correttamente nel database SQL Postgre.

DBA

Verifica che il database Postgre SQL sia disponibile.

Assicurati che il SQL database Postgre sia attivo e funzionante.

DBA
AttivitàDescrizioneCompetenze richieste

Installa AWSSCT.

Installa la versione più recente di AWSSCT.

DBA

Configura AWSSCT.

Configura AWS SCT con i driver Java Database Connectivity (JDBC) per Oracle (ojdbc8.jar) e Postgre SQL (postgresql-42.2.5.jar).

DBA

Abilita il pacchetto di AWS SCT estensione o il modello.

In Impostazioni AWS SCT del progetto, abilita l'implementazione delle funzioni integrate con le orafce estensioni aws_oracle_ext e lo schema del database Oracle.

DBA

Convertire lo schema.

In AWSSCT, scegli Converti schema per convertire lo schema da Oracle a SQL Postgre e generare i file.sql.

DBA
AttivitàDescrizioneCompetenze richieste

Convertire manualmente il codice.

Converti manualmente ogni riga di codice supportato dall'estensione in codice integrato psql predefinito, come dettagliato nel documento allegato. Ad esempio, change AWS_ORACLE_EXT.SYSDATE() o ORACLE.SYSDATE() to. NOW()

DBA

Convalida il codice

(Facoltativo) Convalida ogni riga di codice eseguendola temporaneamente nel database SQL Postgre.

DBA

Crea oggetti nel database Postgre. SQL

Per creare oggetti nel SQL database Postgre, esegui i file.sql generati AWS SCT e modificati nei due passaggi precedenti.

DBA

Risorse correlate

Informazioni aggiuntive

Per ulteriori informazioni, segui i comandi dettagliati, con sintassi ed esempi, per convertire manualmente il codice nel documento allegato.

Allegati

Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip