Transfert de fichiers entre RDS for Oracle et un système de fichiers Amazon EFS - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Transfert de fichiers entre RDS for Oracle et un système de fichiers Amazon EFS

Pour transférer des fichiers entre une instance RDS for Oracle et un système de fichiers Amazon EFS, créez au moins un répertoire Oracle et configurez les autorisations du système de fichiers EFS pour contrôler l'accès à l'instance de base de données.

Création d'un répertoire Oracle

Pour créer un répertoire Oracle, utilisez la procédure rdsadmin.rdsadmin_util.create_directory_efs. La procédure possède les paramètres suivants.

Nom du paramètre Type de données Par défaut Obligatoire Description

p_directory_name

VARCHAR2

Oui

Nom du répertoire Oracle.

p_path_on_efs

VARCHAR2

Oui

Chemin dans le système de fichiers EFS. Le préfixe du nom du chemin utilise le modèle /rdsefs-fsid/, où fsid est un espace réservé pour l'ID de votre système de fichiers EFS.

Par exemple, si votre système de fichiers EFS est nommé fs-1234567890abcdef0 et que vous créez un sous-répertoire dans ce système de fichiers nommémydir, vous pouvez spécifier la valeur suivante :

/rdsefs-fs-1234567890abcdef0/mydir

Supposons que vous créez un sous-répertoire nommé /datapump1 dans le système de fichiers EFS fs-1234567890abcdef0. L'exemple suivant crée un répertoire Oracle DATA_PUMP_DIR_EFS qui pointe vers le répertoire /datapump1 du système de fichiers EFS. La valeur du chemin du système de fichiers pour le paramètre p_path_on_efs est préfixée par la chaîne /rdsefs-.

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

Transfert de données depuis et vers un système de fichiers EFS : exemples

L'exemple suivant utilise Oracle Data Pump pour exporter la table nommée MY_TABLE dans le fichier datapump.dmp. Ce fichier réside dans un système de fichiers 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; /

L'exemple suivant utilise Oracle Data Pump pour importer la table nommée MY_TABLE depuis le fichier datapump.dmp. Ce fichier réside dans un système de fichiers 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; /

Pour de plus amples informations, consultez Importation de données dans Oracle sur Amazon RDS.