Skip to main content

Command Palette

Search for a command to run...

Como migrar una base on-premise a AWS (RDS oracle) mediante un export/import

Updated
1 min read
  1. Realizar un export de la base on-premise.

  2. El o los archivos resultantes (dmp) subirlos al storage S3 de amazon. Esto se puede realizar desde la consola de AWS.

  3. Transferir el o los archivos dmps hacia el servidor de base de datos utilizando el procedimiento download_from_s3, que devolverá un ID.

SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
    p_bucket_name => '<nombre_bucket>',
    p_directory_name => 'DATA_PUMP_DIR') 
AS TASK_ID FROM DUAL;
  1. Con el ID del punto anterior, verificar que la tarea haya terminado bien con la siguiente consulta
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<ID>.log'));
  1. Realizar la importación de los esquemas deseados
DECLARE v_hdnl NUMBER; 

BEGIN 
v_hdnl := DBMS_DATAPUMP.OPEN( 
    operation => 'IMPORT',
    job_mode => 'SCHEMA',
    job_name => '<nombre_job>'); 
DBMS_DATAPUMP.ADD_FILE(
    handle => v_hdnl,
    filename => '<dumpfile>.dmp', 
    directory => 'DATA_PUMP_DIR',
    filetype => dbms_datapump.ku$_file_type_dump_file);
DBMS_DATAPUMP.ADD_FILE(
    handle => v_hdnl,
    filename => '<nombre_archivo_log>.log',
    directory => 'DATA_PUMP_DIR',
    filetype => dbms_datapump.ku$_file_type_log_file); 
DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'SCHEMA_EXPR','LIKE ''VT%'''); 
DBMS_DATAPUMP.START_JOB(v_hdnl); 
END;
/
  1. Verificar el log del import ejecutando la siguiente consulta
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('DATA_PUMP_DIR','<nombre_archivo_log>.log'));

Hasta el próximo post 🙂

Saludos desde Buenos Aires, Argentina.

More from this blog

D

DBA DE TRINCHERA

16 posts

En este blog encontrarás artículos técnicos de bases de datos Oracle breves que van al hueso, directo al problema y a la solución.