Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Migrazione delle funzioni native di Oracle su PostgreSQL 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à.

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

Migrazione delle funzioni native di Oracle su PostgreSQL utilizzando le estensioni

Creato da Pinesh Singal (AWS)

Riepilogo

Questo modello di migrazione fornisce step-by-step indicazioni per la migrazione di un'istanza di database Amazon Relational Database Service (Amazon RDS) per Oracle verso un database Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL Edition modificando le estensioni and nel codice integrato nativo di PostgreSQL (). aws_oracle_ext orafce 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 (AWS SCT) con le orafce estensioni aws_oracle_ext e per convertire uno schema di database Amazon RDS for Oracle in uno schema di database compatibile con Amazon RDS for PostgreSQL o Aurora PostgreSQL. Quindi il codice viene modificato manualmente in codice integrato nativo supportato da PostgreSQL. psql Questo perché le chiamate di estensione influiscono sull'elaborazione del codice sul server di database PostgreSQL e non tutto il codice di estensione è completamente conforme o compatibile con il codice PostgreSQL.

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

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo 

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

  • Oracle

Limitazioni

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

Uno svantaggio dell'utilizzo delle estensioni AWS SCT è la lentezza delle prestazioni nell'esecuzione e nel recupero dei risultati. Il suo costo può essere compreso dal semplice piano EXPLAIN di PostgreSQL (piano di esecuzione di una dichiarazione) sulla migrazione delle funzioni Oracle alla SYSDATE funzione NOW() PostgreSQL tra tutti e tre i codici aws_oracle_ext (orafce, psql e predefinito), 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: database compatibile con Amazon RDS for PostgreSQL o Aurora PostgreSQL 9.4 e versioni successive (per 9.x), 10.x, 11.x, 12.x, 13.x e 14.x (e versioni successive)

  • AWS SCT: versione più recente (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 la versione 12.1.0.2.v18

Stack tecnologico Target

  • Un'istanza di database compatibile con Amazon RDS for PostgreSQL o Aurora PostgreSQL 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 PostgreSQL di destinazione. L'architettura include AWS Cloud, un cloud privato virtuale (VPC), zone di disponibilità, una sottorete privata, un database Amazon RDS per Oracle, AWS SCT, Amazon RDS per PostgreSQL o Aurora PostgreSQL, estensioni per Oracle (and) e file SQL (Structured Query Language). aws_oracle_ext orafce

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

  2. Usa AWS SCT con aws_oracle_ext i pacchetti di orafce estensione per convertire il codice sorgente da Oracle a PostreSQL.

  3. La conversione produce file.sql migrati supportati da PostgreSQL.

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

  5. La conversione manuale produce file.sql convertiti supportati da PostgreSQL.

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

Strumenti

Strumenti

Servizi AWS

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

    AWS SCT fornisce un'interfaccia utente basata su progetti per convertire automaticamente lo schema del database di origine in un formato compatibile con l'istanza Amazon RDS di destinazione. 

    Puoi utilizzare AWS SCT per eseguire la migrazione da un database di origine Oracle a uno qualsiasi degli obiettivi elencati in precedenza. Utilizzando AWS SCT, puoi esportare le definizioni degli oggetti del database di origine come schema, viste, stored procedure e funzioni. 

    Puoi usare AWS SCT per convertire i dati da Oracle ad Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL Compatible Edition. 

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

  • Il pacchetto di estensione AWS SCT è 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 estensione AWS SCT, devi convertire lo schema del database.

    Quando converti lo schema del database o del data warehouse, AWS SCT aggiunge uno schema aggiuntivo al database di destinazione. Questo schema implementa le funzioni di sistema SQL del database di origine richieste durante la scrittura dello schema convertito nel database di destinazione. Lo schema aggiuntivo viene chiamato schema del pacchetto di estensione.

    Lo schema del pacchetto di estensione per i database OLTP è 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 utilizzarlo. Il orafce modulo è utile per la migrazione da Oracle a PostgreSQL perché ha molte funzioni Oracle implementate in PostgreSQL.

Codice

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

Epiche

AttivitàDescrizioneCompetenze richieste

Creare l'istanza del database Oracle.

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

Informazioni generali su AWS, DBA

Configura i gruppi di sicurezza.

Configura i gruppi di sicurezza in entrata e in uscita.

Informazioni generali su AWS

Crea il database.

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

Informazioni generali su AWS, DBA

Crea gli oggetti.

Crea oggetti e inserisci dati nello schema.

DBA

Configurazione del database di origine Amazon RDS for Oracle

AttivitàDescrizioneCompetenze richieste

Creare l'istanza del database Oracle.

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

Informazioni generali su AWS, DBA

Configura i gruppi di sicurezza.

Configura i gruppi di sicurezza in entrata e in uscita.

Informazioni generali su AWS

Crea il database.

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

Informazioni generali su AWS, DBA

Crea gli oggetti.

Crea oggetti e inserisci dati nello schema.

DBA
AttivitàDescrizioneCompetenze richieste

Crea l'istanza del database PostgreSQL.

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

Informazioni generali su AWS, DBA

Configura i gruppi di sicurezza.

Configura i gruppi di sicurezza in entrata e in uscita.

Informazioni generali su AWS

Crea il database.

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

Informazioni generali su AWS, DBA

Convalida le estensioni.

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

DBA

Verifica che il database PostgreSQL sia disponibile.

Assicurati che il database PostgreSQL sia attivo e funzionante.

DBA

Configurazione del database di destinazione Amazon RDS for PostgreSQL

AttivitàDescrizioneCompetenze richieste

Crea l'istanza del database PostgreSQL.

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

Informazioni generali su AWS, DBA

Configura i gruppi di sicurezza.

Configura i gruppi di sicurezza in entrata e in uscita.

Informazioni generali su AWS

Crea il database.

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

Informazioni generali su AWS, DBA

Convalida le estensioni.

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

DBA

Verifica che il database PostgreSQL sia disponibile.

Assicurati che il database PostgreSQL sia attivo e funzionante.

DBA
AttivitàDescrizioneCompetenze richieste

Installa AWS SCT.

Installa la versione più recente di AWS SCT.

DBA

Configura AWS SCT.

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

DBA

Abilita il pacchetto di estensione o il modello di estensione AWS SCT.

In AWS SCT Project Settings, abilita l'implementazione di funzioni integrate con aws_oracle_ext ed orafce estensioni per lo schema del database Oracle.

DBA

Convertire lo schema.

In AWS SCT, scegli Converti schema per convertire lo schema da Oracle a PostgreSQL e generare i file.sql.

DBA

Migra lo schema Oracle in PostgreSQL utilizzando AWS SCT e le estensioni

AttivitàDescrizioneCompetenze richieste

Installa AWS SCT.

Installa la versione più recente di AWS SCT.

DBA

Configura AWS SCT.

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

DBA

Abilita il pacchetto di estensione o il modello di estensione AWS SCT.

In AWS SCT Project Settings, abilita l'implementazione di funzioni integrate con aws_oracle_ext ed orafce estensioni per lo schema del database Oracle.

DBA

Convertire lo schema.

In AWS SCT, scegli Converti schema per convertire lo schema da Oracle a PostgreSQL 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 PostgreSQL.

DBA

Crea oggetti nel database PostgreSQL.

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

DBA

Converti il codice di estensione AWS SCT in codice psql

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

DBA

Crea oggetti nel database PostgreSQL.

Per creare oggetti nel database PostgreSQL, esegui i file.sql generati da 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

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.