Migrazione di Amazon Redshift ad Autonomous Database

SQL Developer Amazon Redshift Migration Assistant, disponibile con SQL Developer 18.3 e versioni successive, offre 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 di Autonomous Database Redshift

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

  • Acquisisci: acquisisce schemi e tabelle di metadati dal database di origine e memorizza nel repository di migrazione.

  • Converti: i tipi di dati Redshift sono 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 delle colonne che utilizzano le funzioni Redshift vengono sostituiti dai relativi equivalenti Oracle.

  • Genera: genera 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, devi connetterti ad Amazon Redshift con SQL Developer.

Scaricare il driver JDBC Amazon Redshift e aggiungere il driver di terze parti

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

    Nota

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

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

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


    Segue una 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 una 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 di 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 Master al sistema Amazon Redshift.


    Segue una 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 e il controllo degli accessi Amazon

Connetti all'Autonomous Database

Utilizzando SQL Developer si crea 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 AWS Redshift Migration, selezionare la connessione _low al database.

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

  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, vedere Connetti Oracle SQL Developer con un wallet (mTLS).

    Eseguire il test della connessione prima di salvarla.

Avviare la Migrazione guidata cloud

Richiama 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 set di passi semplice. La procedura guidata Migrazione cloud consente di:

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

  • Identificare Autonomous Database di destinazione.

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

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

Identificare il database Amazon Redshift

Identificare 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 su base per schema. Impossibile rinominare gli schemi come parte della migrazione.

  1. In AWS Redshift Migration, specificare la connessione.


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

  • Schemi disponibili: gli 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 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 in Autonomous Database utilizzando le 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 fa riferimento alla cartella di file 'folder_name' nel bucket adwc nell'area us-west-2.

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

S3 Esempio di configurazione del bucket 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 prova, se non è accessibile c'è un prompt. Nel caso in cui my_bucket non esista, viene segnalato un errore:

Validation Failed

La generazione del codice crea quindi 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.

S3 Esempio di bucket 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 prova, se non è accessibile c'è un prompt. Nel caso in cui my_bucket non esista, viene segnalato un errore:

Validation Failed

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

La generazione del codice crea quindi 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 di tutto, creare una connessione per l'Autonomous Database di destinazione. Vedere Connetti ad Autonomous Database. L'utente per questa connessione deve disporre dei privilegi amministrativi; la connessione viene utilizzata durante la migrazione per creare schemi e oggetti.

Nota

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

L'Assistente alla migrazione di Amazon Redshift ti consente di eseguire subito una migrazione online, per 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 a Autonomous Data Warehouse Cloud. Creare una connessione per Autonomous Database, se necessario. L'utente deve disporre dei privilegi amministrativi poiché questa connessione viene utilizzata durante la migrazione per creare schemi e oggetti. 

  • Password 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.

  • Rimuovere il repository in caso di migrazione riuscita: 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 dai passi 1 e l'opzione Esegui migrazione ora sono entrambe deselezionate, si opta per la generazione di tutti gli script SQL necessari per la migrazione manuale.

    • Se l'opzione Includi dati dal passo 1 non è selezionata 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 l'opzione Includi dati dai passi 1 e l'opzione Esegui migrazione ora sono entrambe selezionate, tutti gli schemi selezionati e le relative tabelle verranno distribuite 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 devono 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 Opzioni formato pacchetto. 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 di Redshift.

  • Una volta esegue lo scheduler in una data futura. È possibile specificare Data inizio e 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 selezione per evidenziare la data e quindi fare clic sul campo per impostarla.

Opzioni di scaricamento Redshift: Consenti sovrascrittura: se questa opzione è abilitata, il processo di scaricamento sovrascriverà i file esistenti, incluso il file manifest (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 di formato ADWC: Limite rifiuto: immettere il numero di righe da rifiutare quando si caricano i dati nelle tabelle in Autonomous Database. L'operazione di migrazione restituirà un errore dopo il rifiuto del numero di righe specificato. Il valore predefinito è 0.

Rivedi e termina la migrazione di Amazon Redshift

Il riepilogo mostra un riepilogo delle informazioni specificate.

Per modificare qualsiasi informazione, fare clic su Indietro in base alle esigenze.


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 seleziona Genera script, 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 schema.

  • Crea sottocartelle in S3 per ogni tabella.

Utilizza script di migrazione di Amazon Redshift generati

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

La directory contiene gli script seguenti:

  • 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 di Amazon Redshift in S3

Il primo passo per una migrazione di successo è 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 specificato nel flusso di lavoro della Migrazione guidata.

Connettiti al tuo ambiente Amazon Redshift per eseguire questo script.

Creare gli oggetti del data warehouse

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

Lo script deve essere eseguito mentre si è connessi all'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 in una 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 nel tuo 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 durante la connessione 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 adeguare di conseguenza i nomi degli schemi di destinazione in questo script.

Uso 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 'Pianificazione dei job mediante SQL Developer' di 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 Connessioni e nel Navigator DBA. Utilizzare l'utente 'admin' ADWC per spostarsi e visualizzare gli oggetti scheduler di proprietà dello stato di monitoraggio 'admin' dei job di caricamento dati.

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

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

Inoltre, per informazioni più dettagliate sull'operazione di caricamento dati, vedere la tabella MD_REPORT nello schema SQLDEV_MIGREPOS in cui sono memorizzate le informazioni sulle colonne della tabella: e

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

e

 TARGET_TABLE_NAME, SOURCE_TABLE_ROWS, TARGET_TABLE_ROWS_LOADED, ERROR MESSAGE, 

e

STATUS (COMPLETED or FAILED)

File di log e report di migrazione Redshift

Dopo la migrazione Redshift troverai tre file:

  • MigrationResults.log: file di log della migrazione Redshift

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

  • redshift_migration_reportxxx.txt: contiene informazioni sulla migrazione. Di seguito è riportato un 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 task successivi alla migrazione riportati di seguito.

  • Elimina schema SQLDEV_MIGREPOS

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

  • Rafforza 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 di Amazon S3 utilizzato per lo staging

    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

    È consigliabile 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 credenziali di database REDSHIFT_DWCS_CREDS in Autonomous Database nello schema utente privilegiato utilizzato per la migrazione. Oracle consiglia di eliminare questa credenziale dopo la migrazione riuscita, a meno che non sia necessaria 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.