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.
Temas
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 |
---|---|---|---|---|
|
VARCHAR2 |
– |
Sí |
Nombre del directorio de Oracle. |
|
VARCHAR2 |
– |
Sí |
Ruta al sistema de archivos EFS. El prefijo del nombre de la ruta usa el patrón Por ejemplo, si su sistema de archivos EFS se denomina
|
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.