Migrazione dei dati Db2 ad Amazon RDS per Db2 tramite Amazon S3 - Amazon Relational Database Service

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 dei dati Db2 ad Amazon RDS per Db2 tramite Amazon S3

Con questo approccio, devi prima di tutto salvare i dati da una singola tabella in un file di dati da inserire in un bucket Amazon S3. Quindi, devi usare il comando LOAD per caricare i dati da quel file di dati in una tabella nel tuo database Amazon RDS per Db2. Per ulteriori informazioni sull’utilizzo di Amazon S3, consulta Integrazione di un’istanza database Amazon RDS per Db2 con Amazon S3.

Salvataggio dei dati in Amazon S3

Per salvare i dati da una singola tabella in Amazon S3, utilizza un’utilità di database per estrarre i dati dal tuo sistema di gestione del database (DBMS) in un file CSV. Carica quindi il file di dati in Amazon S3.

Per archiviare file di dati su Amazon S3, sono necessari i seguenti componenti AWS:

Caricamento dei dati nelle tabelle RDS per Db2

Dopo aver salvato i file di dati su Amazon S3, puoi caricare i dati da questi file in singole tabelle sulla tua istanza database RDS per Db2.

Per caricare i dati della tabella Db2 nella tabella del database RDS per Db2
  1. Connettiti al database rdsadmin utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell’esempio seguente, sostituisci master_username e master_password con le tue informazioni.

    db2 connect to rdsadmin user master_username using master_password
  2. Cataloga un alias di accesso all’archiviazione che punti al bucket Amazon S3 in cui sono archiviati i file salvati. Annota il nome di questo alias per utilizzarlo nel passaggio successivo. È sufficiente eseguire questo passaggio una sola volta se prevedi di caricare più tabelle da file di dati memorizzati nello stesso bucket Amazon S3.

    Nell’esempio seguente viene catalogato un alias denominato my_s3_alias che concede a un utente denominato jorge_souza l’accesso a un bucket denominato amzn-s3-demo-bucket.

    db2 "call rdsadmin.catalog_storage_access(?, 'my_s3_alias', 'amzn-s3-demo-bucket', 'USER', 'jorge_souza')"

    Per ulteriori informazioni su questa stored procedure, consulta rdsadmin.catalog_storage_access.

  3. Esegui il comando LOAD utilizzando l’alias di accesso all’archiviazione che punta al tuo bucket Amazon S3.

    Nota

    Se il comando LOAD restituisce un errore, potrebbe essere necessario creare un endpoint gateway VPC per Amazon S3 e aggiungere regole in uscita al gruppo di sicurezza. Per ulteriori informazioni, consulta I/O Errore nel file.

    Nell’esempio seguente vengono caricati dati da un file di dati denominato my_s3_datafile.csv in una tabella denominata my_db2_table. L’esempio presuppone che il file di dati si trovi nel bucket Amazon S3 a cui punta l’alias denominato my_s3_alias.

    db2 "load from db2remote://my_s3_alias//my_s3_datafile.csv of DEL insert into my_db2_table";

    Nell’esempio seguente vengono caricati LOB da un file di dati denominato my_table1_export.ixf in una tabella denominata my_db2_table. L’esempio presuppone che il file di dati si trovi nel bucket Amazon S3 a cui punta l’alias denominato my_s3_alias.

    db2 "call sysproc.admin_cmd('load from "db2remote://my_s3_alias//my_table1_export.ixf" of ixf lobs from "db2remote://my_s3_alias//" xml from "db2remote://my_s3_alias//" modified by lobsinfile implicitlyhiddeninclude identityoverride generatedoverride periodoverride transactionidoverride messages on server replace into "my_schema"."my_db2_table" nonrecoverable indexing mode incremental allow no access')"

    Ripeti questo passaggio per ogni file di dati nel bucket Amazon S3 da caricare in una tabella nella tua istanza database RDS per Db2.

    Per ulteriori informazioni sul comando LOAD, consulta LOAD command.