Migrazione di Amazon Redshift ad Autonomous Database

SQL Developer Amazon Redshift Migration Assistant, disponibile con SQL Developer 18.3 e versioni successive, fornisce un framework per una facile migrazione degli ambienti Amazon Redshift su base per schema.

Questa sezione descrive i passaggi e il flusso di lavoro sia per una migrazione online di Amazon Redshift che per la generazione di script per una migrazione pianificata e manuale eseguita in un secondo momento.

Panoramica della migrazione Redshift di Autonomous Database

Utilizzando SQL Developer puoi eseguire la migrazione dei file di database da Amazon Redshift ad Autonomous Database.

  • Acquisizione: acquisisce gli schemi e le tabelle dei metadati dal database di origine e le aree di memorizzazione nel repository di migrazione.

  • Converti: i tipi di dati Redshift vengono mappati ai tipi di dati Oracle. I nomi degli oggetti Redshift vengono convertiti in nomi Oracle in base alla convenzione di denominazione Oracle. I valori predefiniti di colonna che utilizzano le funzioni Redshift vengono sostituiti dai relativi equivalenti Oracle.

  • Genera: generare schemi e DDL in base ai metadati convertiti.

  • Distribuisci: distribuisce gli schemi e le DDL generati.

  • Copia dati: scarica i dati dalle tabelle Redshift in Amazon Storage S3, quindi copia i dati da Amazon Storage alle tabelle di Autonomous Database (negli schemi) distribuite in precedenza.

Connettiti ad Amazon Redshift

SQL Developer consente di eseguire la migrazione di schemi e tabelle di database da Amazon Redshift ad Autonomous Database. Per estrarre metadati e dati da Amazon Redshift per una migrazione, è necessario connettersi ad Amazon Redshift con SQL Developer.

Scarica il driver JDBC Amazon Redshift e aggiungi il driver di terze parti

  1. Scarica un driver JDBC Amazon Redshift per accedere ad Amazon Redshift. Consultare la documentazione di Amazon Redshift per la posizione del driver JDBC più recente. Per ulteriori informazioni, vedere Configurare una connessione JDBC.

    Nota

    Utilizzare il driver JDBC compatibile con Amazon Redshift 4.2.
  2. Memorizzare il driver JDBC Amazon Redshift in una directory locale in cui SQL Developer può accedere al driver JDBC Amazon Redshift.

  3. Aggiungere il driver JDBC Amazon Redshift come terze parti a SQL Developer prima di effettuare una connessione. In SQL Developer, andare a Strumenti > Preferenze > Database > Driver JDBC di terze parti (per Mac, si tratta di Oracle SQL Developer > Database preferenze > Driver JDBC di terze parti).

  4. Fare clic su Aggiungi voce e selezionare il percorso del driver JDBC Amazon Redshift scaricato.


    Segue la descrizione di dwcs_aws_migration_jdbc_add1.png
    Descrizione dell'immagine dwcs_aws_migration_jdbc_add1.png
  5. Fare clic su OK per aggiungere il driver JDBC Amazon Redshift scaricato.


Segue la descrizione di dwcs_aws_migration_jdbc_add2.png
Descrizione dell'immagine dwcs_aws_migration_jdbc_add2.png

Aggiungi connessione al database Amazon Redshift

Connettiti al database Amazon Redshift.

  1. Nel pannello Connessioni, fare clic con il pulsante destro del mouse su Connessioni e selezionare Nuova connessione....

  2. Selezionare la scheda Amazon Redshift e immettere le informazioni di connessione per Amazon Redshift.

    Se si prevede di eseguire la migrazione di più schemi, si consiglia di connettersi con il nome utente principale al sistema Amazon Redshift.


    Segue la descrizione di adw_migrate_aws_connect1.png
    Descrizione dell'immagine adw_migrate_aws_connect1.png

Eseguire il test della connessione prima di salvarla.

Informazioni aggiuntive per l'autenticazione Amazon e il controllo degli accessi

Connettersi ad Autonomous Database

SQL Developer consente di creare una connessione ad Autonomous Database

Ottenere il file zip del wallet delle credenziali client. Per ulteriori informazioni, vedere Scarica credenziali client (wallet).
  1. Nel pannello Connessioni, fare clic con il pulsante destro del mouse su Connessioni e selezionare Nuova connessione....
  2. Selezionare la scheda Oracle e immettere le informazioni di connessione per Autonomous Database.
  3. Per la connessione di migrazione AWS Redshift, selezionare la connessione _low al database.

    Per ulteriori informazioni, vedere Nomi dei servizi di database per Autonomous Database.

  4. Aggiungere una connessione ad Autonomous Database.


    Segue la descrizione di adb_connect_sqldev_17.4.png
    Descrizione dell'immagine adb_connect_sqldev_17.4.png

    Per ulteriori informazioni, consulta la sezione Connetti Oracle SQL Developer con un wallet (mTLS).

    Eseguire il test della connessione prima di salvarla.

Avviare la Migrazione guidata cloud

Richiamare la Migrazione guidata cloud dal menu Strumenti di SQL Developer per avviare la migrazione di Amazon Redshift ad Autonomous Database.

La procedura guidata Migrazione cloud viene avviata quando si fa clic su Migrazioni cloud da Migrazione nel menu Strumenti. La procedura guidata Migrazioni cloud consente di eseguire la migrazione di schemi, oggetti (tabelle) e dati da un database Amazon Redshift ad Autonomous Database.

La Migrazione guidata cloud è un semplice set di passi. La Migrazione guidata cloud consente di effettuare le operazioni riportate di seguito.

  • Identificare gli schemi nel database Amazon Redshift di cui si desidera eseguire la migrazione.

  • Identificare l'Autonomous Database di destinazione.

  • Definire se si desidera eseguire la migrazione dei metadati (DDL), dei dati o di entrambi.

  • Scegliere di eseguire la migrazione del sistema online, generare script o entrambi.

Identificare il database Amazon Redshift

Identifica gli schemi nel database Amazon Redshift di cui eseguire la migrazione. Verrà eseguita la migrazione di tutti gli oggetti, principalmente le tabelle, nello schema. La migrazione ad Autonomous Database avviene per schema. Impossibile rinominare gli schemi come parte della migrazione.

  1. Nella Migrazione AWS Redshift, specificare la connessione.


    Segue la descrizione di adw_migrate_redshift_step1of3.png
    Descrizione dell'immagine adw_migrate_redshift_step1of3.png
  • Connessione: nome della connessione al database Redshift.

  • Schemi disponibili: Schemi disponibili per la connessione specifica.

  • Schemi selezionati: fare clic sull'icona Aggiungi per selezionare gli schemi di cui si desidera eseguire la migrazione da Schemi disponibili.

  • Includi dati: DDL e DATA eseguono la migrazione degli schemi e dei dati selezionati.

Quando esegui la migrazione dei dati, devi fornire la chiave di accesso AWS, la chiave di accesso segreta AWS e un URI del bucket S3 esistente in cui i dati Redshift verranno scaricati e posizionati nell'area intermedia. Le credenziali di sicurezza richiedono determinati privilegi per memorizzare i dati in S3. Si consiglia di creare nuove chiavi di accesso separate per la migrazione. La stessa chiave di accesso viene utilizzata in un secondo momento per caricare i dati nell'Autonomous Database utilizzando richieste REST sicure.

Formato URI bucket Amazon S3

Per i file di origine che risiedono in Amazon S3, vedere quanto segue per una descrizione del formato URI per l'accesso ai file: Accesso a un bucket. Ad esempio, quanto segue si riferisce alla cartella di file 'folder_name' nel bucket adwc nell'area us-west-2.

https://s3-us-west-2.amazonaws.com/adwc/folder_name

Esempio di configurazione del bucket S3 1

Se si fornisce il seguente URI bucket S3:

https://s3-us-west-2.amazonaws.com/my_bucket

La procedura guidata verifica l'intero percorso, incluso my_bucket. Si tenta di scrivere un file di test, se non è accessibile, viene visualizzato un prompt. Se my_bucket non esiste, viene segnalato un errore:

Validation Failed

Quindi la generazione del codice crea il seguente percorso per la funzione DBMS_CLOUD.COPY_DATA:

file_uri_list => "https://s3-us-west-2.amazonaws.com/my_bucket/oracle_schema_name/oracle_table_name/*.gz"

L'Assistente alla migrazione crea le seguenti cartelle: oracle_schema_name/oracle_table_name all'interno del bucket: my_bucket.

Esempio di bucket S3 2

Se si fornisce il seguente URI bucket S3:

https://s3-us-west-2.amazonaws.com/my_bucket/another_folder

La procedura guidata verifica l'intero percorso, incluso my_bucket. Si tenta di scrivere un file di test, se non è accessibile, viene visualizzato un prompt. Se my_bucket non esiste, viene segnalato un errore:

Validation Failed

In questo caso il another_folder non deve esistere. La migrazione crea il bucket another_folder all'interno di my_bucket.

Quindi la generazione del codice crea il seguente percorso per la funzione DBMS_CLOUD.COPY_DATA:

file_uri_list => ‘https://s3-us-west-2.amazonaws.com/my_bucket/another_folder/oracle_schema_name/oracle_table_name/*.gz

Passo 2 di 3: Autonomous Data Warehouse Cloud

Prima creare una connessione per l'Autonomous Database di destinazione. Vedere Connettersi ad Autonomous Database. L'utente per questa connessione deve disporre dei privilegi di amministrazione; la connessione viene utilizzata durante la migrazione per creare schemi e oggetti.

Nota

Utilizzare l'utente ADMIN o un utente con ruolo amministratore.

L'Assistente alla migrazione di Amazon Redshift ti consente di eseguire subito una migrazione online, di generare tutti gli script necessari per una migrazione o entrambi. Se si sceglie di memorizzare gli script in una directory locale, è necessario specificare la directory locale (la directory deve essere scrivibile dall'utente).

  • Connessione: nome della connessione Autonomous Data Warehouse Cloud. Creare una connessione per Autonomous Database, se necessario. L'utente deve disporre dei privilegi di amministrazione poiché questa connessione viene utilizzata durante la migrazione per creare schemi e oggetti. 

  • Password del repository di migrazione: password per il repository di migrazione installato in Autonomous Database nell'ambito della migrazione dello schema. Utilizzare la password precompilata o immettere una nuova password.

  • Rimuovi repository al completamento della migrazione: selezionare questa opzione per rimuovere il repository al termine della migrazione. Il repository non è necessario dopo la migrazione.

  • Esegui migrazione ora: selezionare questa opzione per eseguire immediatamente una migrazione in linea.

    Nota

    • Se l'opzione Includi dati dei passi 1 e Esegui migrazione ora è deselezionata, si opta per la generazione di tutti gli script SQL necessari per la migrazione manuale.

    • Se l'opzione Includi dati dal passo 1 è deselezionata e l'opzione Esegui migrazione ora è selezionata, tutti gli schemi selezionati e le relative tabelle verranno distribuiti in Autonomous Database, ma i dati non verranno caricati nelle tabelle.

    • Se si seleziona l'opzione Includi dati dal passo 1 e l'opzione Esegui migrazione ora, tutti gli schemi selezionati e le relative tabelle verranno distribuiti in Autonomous Database e i dati verranno caricati nelle tabelle.

  • Directory: specificare il director per memorizzare gli script generati necessari per la migrazione; in questo modo, gli script vengono salvati in una directory locale.

Impostazioni avanzate (facoltativo)

Le impostazioni predefinite dovrebbero funzionare a meno che non si desideri controllare le opzioni di formato durante lo scaricamento nello storage S3 o la copia dallo storage S3 ad Autonomous Database. Per ulteriori informazioni sulle opzioni di formato, vedere DBMS_CLOUD Package Format Options. Per utilizzare le opzioni avanzate, fare clic su Impostazioni avanzate.

Directory di output: immettere il percorso o fare clic su Seleziona directory per selezionare la directory o la cartella per la migrazione.

Numero massimo di thread: immettere il numero di thread paralleli da abilitare durante il caricamento dei dati nelle tabelle in Autonomous Database.

Usa scheduler: selezionare questa opzione per abilitare lo scheduler per la migrazione. Puoi pianificare i job per le operazioni di migrazione del caricamento dati dal bucket S3 AWS ad Autonomous Database. È possibile eseguire i job pianificati immediatamente o in una data e ora future. Per monitorare i job pianificati di caricamento dati, utilizzare il nodo Scheduler nel navigator Connessioni.

Scelta di esecuzione della migrazione:

  • Immediato esegue lo scheduler non appena viene attivata la migrazione Redshift.

  • Una volta esegue lo scheduler in una data futura. Specificare la data di inizio e il fuso orario. Per impostazione predefinita, la data di inizio visualizza la data e l'ora correnti del sistema locale. Per modificare la data di inizio, utilizzare l'icona del calendario per fare doppio clic e selezionare la data oppure utilizzare la casella di selezione per evidenziare la data, quindi fare clic sul campo per impostarla.

Opzioni di scaricamento turno di lavoro:Consenti sovrascrittura: se questa opzione è abilitata, il processo di scaricamento sovrascriverà i file esistenti, incluso il file manifesto (elenca i file di dati creati dal processo di scaricamento). Per impostazione predefinita, lo scaricamento non riesce se sono presenti file che possono essere sovrascritti.

Opzioni del formato ADWC: Limite di rifiuto: immettere il numero di righe da rifiutare durante il caricamento dei dati nelle tabelle in Autonomous Database. L'operazione di migrazione restituirà un errore dopo aver rifiutato il numero di righe specificato. L'impostazione predefinita è 0.

Rivedi e finisci la migrazione a Amazon Redshift

Il riepilogo mostra un riepilogo delle informazioni specificate.

Per modificare le informazioni, fare clic su Indietro se necessario.


Segue la descrizione di adw_migrate_aws_summary.png
Descrizione dell'immagine adw_migrate_aws_summary.png

Se è stata scelta una migrazione immediata, la finestra di dialogo della migrazione guidata rimane aperta fino al termine della migrazione. Se si selezionano gli script di generazione, il processo di migrazione genera gli script necessari nella directory locale specificata e non li esegue.

Per eseguire la migrazione, fare clic su Fine

Se il nome dello schema selezionato in AWS Redshift esiste già in Autonomous Database, il processo di migrazione esclude la distribuzione di questi schemi selezionati e visualizza una finestra di dialogo:


Segue la descrizione di adw_migrate_aws_schema_exists.png
Descrizione dell'immagine adw_migrate_aws_schema_exists.png

Riepilogo: elementi creati dall'assistente alla migrazione

  • Crea un nuovo utente di Autonomous Database utilizzando schema_name da Redshift.

  • Crea un nuovo bucket in S3 in base al nome dello schema.

  • Crea sottocartelle su S3 per ogni tabella.

Usa script di migrazione Redshift Amazon generati

Quando si sceglie di generare gli script di migrazione, viene creata una nuova sottodirectory nella directory locale specificata nella migrazione guidata. È possibile eseguire questi script in tempo reale o utilizzarli per l'elaborazione programmatica.

La directory contiene gli script indicati di seguito.

  • redshift_s3unload.sql

  • adwc_ddl.sql

  • adwc_dataload.sql

  • adwc_dataload_scheduler.sql

Questi script contengono tutti i comandi necessari per eseguire la migrazione del sistema Amazon Redshift ad Autonomous Database. È possibile eseguire questi script in tempo reale o utilizzarli per l'elaborazione programmatica.

Scarica i tuoi dati Amazon Redshift in S3

Il primo passo di una migrazione di successo è quello di scaricare i dati di Amazon Redshift in Amazon S3, che funge da area di staging. Lo script redshift_s3unload.sql dispone di tutti i comandi di scaricamento di Amazon Redshift per scaricare i dati utilizzando le credenziali di accesso e il bucket S3 specificati nel workflow della Migrazione guidata.

Connettiti al tuo ambiente Amazon Redshift per eseguire questo script.

Crea oggetti data warehouse

Per preparare Autonomous Database, creare uno schema di data warehouse vuoto prima di caricare i dati. L'Assistente alla migrazione Amazon Redshift ha convertito tutte le strutture di schema Amazon Redshift in strutture Oracle nello script adwc_ddl.sql.

Lo script deve essere eseguito mentre si è connessi ad Autonomous Database come utente con privilegi, ad esempio ADMIN.

Per impostazione predefinita, lo schema creato per la migrazione ha lo stesso nome dello schema in Amazon Redshift. È necessario modificare la password con la password valida per l'utente specificato nello script o dopo l'esecuzione dello script. Se si desidera modificare il nome dello schema, modificare il nome dello schema e tutti i riferimenti al nome.

Carica i tuoi dati Amazon Redshift in Oracle Autonomous Database

Lo script adwc_dataload.sql contiene tutti i comandi di caricamento necessari per caricare i dati Amazon Redshift scaricati direttamente da S3 nell'Autonomous Database.

Eseguire lo script mentre si è connessi ad Autonomous Database come utente con privilegi, ad esempio ADMIN.

Se si desidera modificare il nome dello schema di destinazione quando si creano gli oggetti del data warehouse, è necessario modificare di conseguenza i nomi dello schema di destinazione in questo script.

Utilizzo di JOB SCHEDULER

SQL Developer fornisce un'interfaccia grafica per l'utilizzo del package PL/SQL DBMS_SCHEDULER per l'utilizzo con gli oggetti Oracle Scheduler. Per utilizzare le funzioni di pianificazione di SQL Developer, fare riferimento all'argomento 'Programmazione dei job mediante SQL Developer' del manuale SQL Developer User Guide e al manuale Oracle Database Administrator's Guide per comprendere i concetti e i task essenziali per la pianificazione dei job.

Il nodo Scheduler per una connessione viene visualizzato nel Navigator delle connessioni e nel Navigator DBA. Utilizzare l'utente ADWC 'admin' per navigare tra gli oggetti Scheduler di proprietà dello stato di monitoraggio 'admin' dei processi di caricamento dati.

In Connessione ADWC 'admin' → Scheduler → Job, i job di caricamento dati da AWS Redshift ad ADWC vengono creati con il nome <schema_name>_<table_name>. 

Per visualizzare lo stato di completamento di ogni caricamento dati, espandere ogni job pianificato e controllare lo stato.

Inoltre, per informazioni più dettagliate sull'operazione di caricamento dati, vedere la tabella MD_REPORT nello schema SQLDEV_MIGREPOS che memorizza le informazioni sulle colonne delle tabelle: e

 OPERATION_ID, LOGFILE_TABLE, BADFILE_TABLE, SOURCE_SCHEMA_NAME, TARGET_SCHEMA_NAME, SOURCE_TABLE_NAME, 

and

 TARGET_TABLE_NAME, SOURCE_TABLE_ROWS, TARGET_TABLE_ROWS_LOADED, ERROR MESSAGE, 

and

STATUS (COMPLETED or FAILED)

File di log e report della migrazione Redshift

Dopo la migrazione di Redshift, troverai tre file:

  • MigrationResults.log: file di log della migrazione Redshift

  • readme.txt : file spiega come utilizzare gli script di migrazione generati di Amazon Redshift.

  • redshift_migration_reportxxx.txt: contiene informazioni sulla migrazione. Esempio:

    ______________________________________________________________
    OPERATION ID : 8566
    LOGFILE TABLE : COPY$8566_LOG
    BADFILE TABLE : COPY$8566_BAD
    SOURCE SCHEMA : sample
    TARGET SCHEMA : SAMPLE
    SOURCE TABLE : listing
    TARGET TABLE : LISTING
    SOURCE TABLE ROWS : 192497
    TABLE ROWS LOADED : 192497
    ERROR MESSAGE : null
    STATUS : COMPLETED
    START TIME : 2018-09-27 17:25:18.662075
    END TIME : 2018-09-27 17:25:25.012695
    ______________________________________________________________

Esegui task successivi alla Migrazione

Dopo aver eseguito correttamente la migrazione dell'ambiente Redshift, è necessario considerare i seguenti task successivi alla migrazione:

  • Elimina schema SQLDEV_MIGREPOS

  • Elimina il bucket Amazon S3 utilizzato per il posizionamento nell'area intermedia

  • Potenziare l'account Amazon utilizzato per accedere a S3

  • Eliminare la credenziale del database utilizzata per il caricamento dei dati da S3

  • Potenzia i tuoi account in Autonomous Database

  1. Elimina schema SQLDEV_MIGREPOS

    Nell'ambito della migrazione dello schema, Migration Assistant installa un repository di migrazione minimo nell'Autonomous Database di destinazione. Dopo la migrazione questo account non è più necessario e può essere eliminato o bloccato in alternativa.

  2. Elimina il bucket Amazon S3 utilizzato per l'area intermedia

    A meno che non si desideri utilizzare i dati Redshift scaricati, altrimenti è possibile eliminare il bucket contenente i dati scaricati.

  3. Potenziare l'account Amazon utilizzato per accedere a S3

    È necessario disattivare la chiave di accesso di sicurezza utilizzata per l'accesso S3 a meno che non sia necessaria per altri scopi.

  4. Eliminare la credenziale del database utilizzata per il caricamento dei dati da S3

    Le credenziali di sicurezza Amazon per accedere a S3 vengono memorizzate cifrate come credenziale di database REDSHIFT_DWCS_CREDS in Autonomous Database nello schema dell'utente con privilegi utilizzato per la migrazione. Oracle consiglia di eliminare questa credenziale dopo la migrazione riuscita, a meno che non sia necessario per altri scopi. Per ulteriori informazioni, vedere DROP_CREDENTIAL Procedura.

  5. Potenzia i tuoi account in Autonomous Database

    Per il nuovo schema creato nell'ambito della migrazione con l'Assistente alla migrazione, assicurarsi di modificare le password di questi account o di bloccarli e scaderli se vengono utilizzati esclusivamente per la memorizzazione dei dati.