Transferencia de archivos entre RDS para Oracle y un sistema de archivos Amazon EFS - Amazon Relational Database Service

Transferencia de archivos entre RDS para Oracle y un sistema de archivos Amazon EFS

Para transferir archivos entre una instancia de RDS para Oracle y un sistema de archivos Amazon EFS, cree al menos un directorio de Oracle y configure los permisos del sistema de archivos EFS para controlar el acceso a la instancia de base de datos.

Creación de un directorio de Oracle

Utilice el procedimiento rdsadmin.rdsadmin_util.create_directory_efs para crear un directorio de Oracle. El procedimiento tiene los siguientes parámetros.

Nombre del parámetro Tipo de datos Valor predeterminado Obligatorio Descripción

p_directory_name

VARCHAR2

Nombre del directorio de Oracle.

p_path_on_efs

VARCHAR2

Ruta al sistema de archivos EFS. El prefijo del nombre de la ruta usa el patrón /rdsefs-fsid/, donde fsid es un marcador de posición para el ID del sistema de archivos EFS.

Por ejemplo, si su sistema de archivos EFS se denomina fs-1234567890abcdef0 y usted crea un subdirectorio en ese sistema de archivos denominado mydir, puede especificar el siguiente valor:

/rdsefs-fs-1234567890abcdef0/mydir

Suponga que crea un subdirectorio denominado /datapump1 en el sistema de archivos EFS fs-1234567890abcdef0. El siguiente ejemplo crea un directorio de Oracle DATA_PUMP_DIR_EFS que apunta al directorio /datapump1 del sistema de archivos EFS. El valor de la ruta del sistema de archivos para el parámetro p_path_on_efs lleva el prefijo de cadena/rdsefs-.

BEGIN rdsadmin.rdsadmin_util.create_directory_efs( p_directory_name => 'DATA_PUMP_DIR_EFS', p_path_on_efs => '/rdsefs-fs-1234567890abcdef0/datapump1'); END; /

Transferencia de datos hacia y desde un sistema de archivos EFS: ejemplos

El siguiente ejemplo utiliza Oracle Data Pump para exportar la tabla denominada MY_TABLE a un archivo datapump.dmp. Este archivo reside en un sistema de archivos EFS.

DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'EXPORT', job_mode => 'TABLE', job_name=>null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-exp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /

El siguiente ejemplo utiliza Oracle Data Pump para importar la tabla denominada MY_TABLE desde el archivo datapump.dmp. Este archivo reside en un sistema de archivos EFS.

DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'TABLE', job_name => null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file ); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-imp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /

Para obtener más información, consulte Importación de datos a Oracle en Amazon RDS.