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

Avvia l'istanza DB di Amazon RDS for Oracle (database di origine).
Usa AWS SCT con
aws_oracle_ext
i pacchetti diorafce
estensione per convertire il codice sorgente da Oracle a PostreSQL.La conversione produce file.sql migrati supportati da PostgreSQL.
Converti manualmente i codici di estensione Oracle non convertiti in codici
psql
PostgreSQL ().La conversione manuale produce file.sql convertiti supportati da PostgreSQL.
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
eorafce
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à | Descrizione | Competenze 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à | Descrizione | Competenze 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 | DBA |
Verifica che il database PostgreSQL sia disponibile. | Assicurati che il database PostgreSQL sia attivo e funzionante. | DBA |
Attività | Descrizione | Competenze 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 () | 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 | 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à | Descrizione | Competenze richieste |
---|---|---|
Convertire manualmente il codice. | Converti manualmente ogni riga di codice supportato dall'estensione in codice integrato | 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
Database
AWS SCT
Estensioni per AWS SCT
Informazioni aggiuntive
Per ulteriori informazioni, segui i comandi dettagliati, con sintassi ed esempi, per convertire manualmente il codice nel documento allegato.