

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.

# Migrer une base de données Oracle sur site vers Amazon RDS for Oracle à l'aide d'Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump"></a>

*Mohan Annam et Brian Motzer, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-summary"></a>

Ce modèle décrit comment migrer une base de données Oracle d'un centre de données sur site vers une instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle à l'aide d'Oracle Data Pump. 

Le modèle implique la création d'un fichier de vidage de données à partir de la base de données source, le stockage du fichier dans un bucket Amazon Simple Storage Service (Amazon S3), puis la restauration des données sur une instance de base de données Amazon RDS for Oracle. Ce modèle est utile lorsque vous rencontrez des difficultés lors de l'utilisation d'AWS Database Migration Service (AWS DMS) pour la migration. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Les autorisations requises pour créer des rôles dans AWS Identity and Access Management (IAM) et pour un téléchargement partitionné sur Amazon S3
+ Les autorisations requises pour exporter des données depuis la base de données source
+ [Interface de ligne de commande (AWS CLI) (AWS CLI[)](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) installée et configurée](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

**Versions du produit**
+ Oracle Data Pump est uniquement disponible pour Oracle Database 10g version 1 (10.1) et versions ultérieures.

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-architecture"></a>

**Pile technologique source**
+ Bases de données Oracle sur site

**Pile technologique cible**
+ Amazon RDS for Oracle
+ Client SQL (développeur Oracle SQL)
+ Compartiment S3

**Architecture source et cible**

![Chargement partitionné d'Amazon S3 depuis une base de données Oracle sur site vers Amazon RDS à l'aide d'Oracle Data Pump.](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/d8d6e00f-753e-4ecc-80e5-e60e279a699b/images/1bb6095a-0a95-4469-be0e-7b7bd59b35ae.png)


## Outils
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-tools"></a>

**Services AWS**
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser. Dans ce modèle, IAM est utilisé pour créer les rôles et les politiques nécessaires à la migration des données d'Amazon S3 vers Amazon RDS for Oracle.
+ [Amazon Relational Database Service (Amazon RDS) pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le cloud AWS.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

**Autres outils**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) vous aide à déplacer des données et des métadonnées d'une base de données à une autre à grande vitesse. Dans ce modèle, Oracle Data Pump est utilisé pour exporter le fichier de vidage de données (.dmp) vers le serveur Oracle et pour l'importer dans Amazon RDS for Oracle. Pour plus d'informations, consultez la section [Importation de données dans Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3) dans la documentation Amazon RDS.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) est un environnement de développement intégré qui simplifie le développement et la gestion des bases de données Oracle dans les déploiements traditionnels et basés sur le cloud. Il interagit à la fois avec la base de données Oracle sur site et avec Amazon RDS for Oracle pour exécuter les commandes SQL nécessaires à l'exportation et à l'importation de données.

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-epics"></a>

### Création d’un compartiment S3
<a name="create-an-s3-bucket"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer le compartiment. | Pour créer le compartiment S3, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | Administrateur système AWS | 

### Création du rôle IAM et attribution de politiques
<a name="create-the-iam-role-and-assign-policies"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez les autorisations IAM. | Pour configurer les autorisations, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing). | Administrateur système AWS | 

### Créez l'instance de base de données Amazon RDS for Oracle cible et associez le rôle d'intégration Amazon S3
<a name="create-the-target-amazon-rds-for-oracle-db-instance-and-associate-the-amazon-s3-integration-role"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données Amazon RDS for Oracle cible. | Pour créer l'instance Amazon RDS for Oracle, suivez les instructions de la documentation [AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html). | Administrateur système AWS | 
| Associez le rôle à l'instance de base de données. | Pour associer le rôle à l'instance, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing.instance). | DBA | 

### Création de l'utilisateur de base de données sur la base de données cible
<a name="create-the-database-user-on-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l’utilisateur. | Connectez-vous à la base de données Amazon RDS for Oracle cible depuis Oracle SQL Developer ou SQL\*Plus, puis exécutez la commande SQL suivante pour créer l'utilisateur dans lequel importer le schéma.<pre>create user SAMPLE_SCHEMA identified by <PASSWORD>;<br />grant create session, resource to <USER NAME>;<br />alter user <USER NAME> quota 100M on users;</pre> | DBA | 

### Créez le fichier d'exportation à partir de la base de données Oracle source
<a name="create-the-export-file-from-the-source-oracle-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un fichier de vidage de données. | Pour créer un fichier de vidage nommé `sample.dmp` dans le `DATA_PUMP_DIR` répertoire d'exportation de l'`SAMPLE_SCHEMA`utilisateur, utilisez le script suivant.<pre>DECLARE<br />    hdnl NUMBER;<br />BEGIN<br />    hdnl := dbms_datapump.open(operation => 'EXPORT', <br />                                job_mode => 'SCHEMA', <br />                                job_name => NULL);<br /><br />    dbms_datapump.add_file( handle => hdnl, <br />                            filename => 'sample.dmp', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />    dbms_datapump.add_file(handle => hdnl, <br />                            filename => 'export.log', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_log_file);<br /><br />    dbms_datapump.metadata_filter(hdnl, 'SCHEMA_EXPR', 'IN (''SAMPLE_SCHEMA'')');  <br /><br />    dbms_datapump.start_job(hdnl);<br />END;<br />/</pre><br />Vérifiez les détails de l'exportation en consultant le `export.log` fichier dans votre `DATA_PUMP_DIR` répertoire local.  | DBA | 

### Téléchargez le fichier de vidage dans le compartiment S3
<a name="upload-the-dump-file-to-the-s3-bucket"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le fichier de vidage de données de la source vers le compartiment S3. | À l'aide de l'AWS CLI, exécutez la commande suivante.<pre>aws s3 cp sample.dmp s3://<bucket_created_epic_1>/</pre> | DBA | 

### Téléchargez le fichier d'exportation depuis le compartiment S3 vers l'instance RDS
<a name="download-the-export-file-from-the-s3-bucket-to-the-rds-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le fichier de vidage de données sur Amazon RDS | Pour copier le fichier `sample.dmp` de vidage du compartiment S3 vers la base de données Amazon RDS for Oracle, exécutez la commande SQL suivante. Dans cet exemple, le `sample.dmp` fichier est téléchargé depuis le compartiment S3 `my-s3-integration1` vers le répertoire Oracle`DATA_PUMP_DIR`. Assurez-vous que l'espace disque alloué à votre instance RDS est suffisant pour accueillir à la fois la base de données et le fichier d'exportation.<pre>-- If you want to download all the files in the S3 bucket remove the p_s3_prefix line.<br /><br />SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(<br />      p_bucket_name    =>  'my-s3-integration',    <br />      p_s3_prefix => 'sample.dmp',<br />      p_directory_name =>  'DATA_PUMP_DIR') <br />   AS TASK_ID FROM DUAL;</pre><br />La commande précédente génère un identifiant de tâche. Pour vérifier l'état du téléchargement en consultant les données contenues dans l'ID de tâche, exécutez la commande suivante.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<task_id>.log'));<br /><br /></pre><br />Pour voir les fichiers du `DATA_PUMP_DIR` répertoire, exécutez la commande suivante.<pre>SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp<br />FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre> | Administrateur système AWS | 

### Importez le fichier de vidage dans la base de données cible
<a name="import-the-dump-file-into-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Restaurez le schéma et les données sur Amazon RDS. | Pour importer le fichier de vidage dans le schéma `sample_schema` de base de données, exécutez la commande SQL suivante depuis SQL Developer ou SQL\*Plus.<pre>DECLARE<br />hdnl NUMBER;<br />BEGIN<br /><br />hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle    => hdnl, filename  => 'import.log', directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);<br /><br />DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''SAMPLE_SCHEMA'')');<br /><br />DBMS_DATAPUMP.START_JOB(hdnl);<br /><br />END;<br />/</pre><br />Pour consulter le fichier journal de l'importation, exécutez la commande suivante.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('DATA_PUMP_DIR','import.log'));</pre> | DBA | 

### Supprimez le fichier de vidage du répertoire DATA\_PUMP\_DIR
<a name="remove-the-dump-file-from-the-data_pump_dir-directory"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Répertoriez et nettoyez les fichiers d'exportation. | Répertoriez et supprimez les fichiers d'exportation dans le `DATA_PUMP_DIR` répertoire, exécutez les commandes suivantes.<pre>-- List the files<br />SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre><pre>-- Remove the files<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample.dmp');<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','import.log');</pre> | Administrateur système AWS | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-resources"></a>
+ [Intégration avec Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing)
+ [Création d'une instance de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateDBInstance.html)
+ [Importation de données dans Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3)
+ [Documentation Amazon S3](https://docs.aws.amazon.com/s3/index.html)
+ [Documentation IAM](https://docs.aws.amazon.com/iam/index.html)
+ [Documentation Amazon RDS](https://docs.aws.amazon.com/rds/index.html)
+ [Documentation Oracle Data Pump](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html)
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/)