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
F

Soy una persona, luego un ingeniero y magister que posee más de 15 años de experiencia administrando base de datos Oracle y diseñando arquitecturas para satisfacer las necesidades del negocio y también para innovar.

Eventos como orador: • Speaker del Oracle Developer Community Tour 2018 • Speaker del Oracle Groundbreakers Tour 2019 LATAM

Experiencia Técnica: • Oracle Cloud Infrastructure (OCI). • Exadata Cloud at Customer. • Migración de base de datos utilizando Golden Gate con corte de servicio tendiendo a cero. • Administrador de PDBaaS, dentro de una nube privada interna de Oracle. • Oracle In-Memory. • Oracle Data Masking / Oracle Data Redaction. • Automatización de aplicación de parches PSU utilizando el Cloud Control. • Actualmente me desempeño como Administrador de Bases de Datos, principalmente de Oracle, versiones 11g, 12c, 18c y 19c con arquitectura multitenant. • Utilización del comando DUPLICATE para actualizar ambientes de testeo con información productiva. • Realizo todo lo que concierne a la administración de bases de datos, como ser instalaciones de motores (Single Instance, RAC y RAC Extendido) 11g, 12c, 18c y 19c. Realizo upgrades y, migraciones de bases de datos entre servidores con distintos sistemas operativos, aplicaciones de parches PSU, CPU, OOP, respaldos y recuperaciones a través de RMAN. • Recuperación de objetos rápida y retroceso de la instancia en el tiempo utilizando la tecnología Oracle Flashback. • Creación de ambientes de contingencia utilizando Oracle Data Guard. Pruebas de Switchover y Failover. También utilizo Oracle Snapshot StandBy para aprovechar mejor estos ambientes de contingencia. • Instalación y configuración del Cloud Control 12c/13c. • Administro bases de datos que se alojan en el Oracle Exadata Machine. • Experiencia en la administración de bases de datos que soportan el sistema SAP, realizo tareas como refresh, particionamiento de tablas, etc. • Oracle Golden Gate 11g, 12c, 18c y 19c. • Sistemas operativos: AIX, Unix (HP-UX), Linux (RedHat – Centos), Windows. • Scripting en bash. • He configurado bases espejos (Stand By) de manera manual para motores con licencia Standard.

  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

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