Como migrar una base on-premise a AWS (RDS oracle) mediante un export/import
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.
Realizar un export de la base on-premise.
El o los archivos resultantes (dmp) subirlos al storage S3 de amazon. Esto se puede realizar desde la consola de AWS.
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;
- 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'));
- 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;
/
- 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.

