

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL con e utilizzando e AWS SCT AWS DMS AWS CLI CloudFormation
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation"></a>

*Pinesh Singal, Amazon Web Services*

## Riepilogo
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-summary"></a>

Questo modello mostra come migrare un'istanza DB Amazon [Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) per Oracle da più terabyte a un'istanza DB [Amazon RDS for PostgreSQL utilizzando](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) (). AWS Command Line Interface AWS CLI L'approccio offre tempi di inattività minimi e non richiede l'accesso a. Console di gestione AWS

Questo modello consente di evitare configurazioni manuali e migrazioni individuali utilizzando le console AWS Schema Conversion Tool (AWS SCT) e AWS Database Migration Service (AWS DMS). La soluzione imposta una configurazione unica per più database ed esegue le migrazioni utilizzando e in. AWS SCT AWS DMS AWS CLI

Il modello viene utilizzato AWS SCT per convertire gli oggetti dello schema del database da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL e quindi viene utilizzato per migrare i dati. AWS DMS Utilizzando gli script Python in AWS CLI, crei AWS SCT oggetti e AWS DMS attività con un modello. CloudFormation 

## Prerequisiti e limitazioni
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-prereqs"></a>

**Prerequisiti**
+ Un attivo. Account AWS
+ Un'istanza database Amazon RDS for Oracle esistente.
+ Un'istanza database Amazon RDS for PostgreSQL esistente. 
+ Un'istanza Amazon Elastic Compute Cloud (Amazon EC2) o un computer locale con sistema operativo Windows o Linux per l'esecuzione di script.
+ Comprensione dei seguenti tipi di attività di AWS DMS migrazione:`full-load`,,`cdc`. `full-load-and-cdc`  Per ulteriori informazioni, vedere [Creazione di un'attività](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) nella AWS DMS documentazione. 
+ AWS SCT, installato e configurato con i driver Java Database Connectivity (JDBC) per i motori di database Oracle e PostgreSQL. Per ulteriori informazioni, vedere [Installazione e](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) configurazione nella documentazione. AWS SCT AWS SCT  
+ Il `AWSSchemaConversionToolBatch.jar` file dalla AWS SCT cartella di installazione, copiato nella directory di lavoro.
+ Il `cli-sct-dms-cft.zip` file (allegato), scaricato ed estratto nella directory di lavoro.
+ La versione più recente del motore di istanze AWS DMS di replica. Per ulteriori informazioni, consulta [Come si crea un'istanza di AWS DMS replica](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) nella Supporto AWS documentazione e nelle note di [AWS DMS rilascio](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html). 
+ AWS CLI versione 2, installata e configurata con l'ID della chiave di accesso, la chiave di accesso segreta e Regione AWS il nome predefinito per l' EC2 istanza o il sistema operativo in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta [Installazione o aggiornamento alla versione più recente di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Configurazione delle impostazioni contenute AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) AWS CLI documentazione. 
+ Familiarità con CloudFormation i modelli. Per ulteriori informazioni, consulta [How CloudFormation works](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-overview.html) nella CloudFormation documentazione. 
+ Python versione 3, installato e configurato sull' EC2 istanza o sul sistema operativo in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta la documentazione di [Python](https://docs.python.org/3/). 

**Limitazioni**
+ I requisiti minimi per l'istanza DB di origine di Amazon RDS for Oracle sono: 
  + Versioni Oracle 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0) e 19c (19.0.0.0) per le edizioni Enterprise, Standard, Standard One e Standard Two.
  + Sebbene Amazon RDS supporti Oracle 18c (18.0.0.0), questa versione è obsoleta perché Oracle non fornisce più patch per 18c dopo tale data. end-of-support Per ulteriori informazioni, consulta [Amazon RDS for](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.Deprecate.11204) Oracle nella documentazione di Amazon RDS.
  + Amazon RDS for Oracle 11g non è più supportato.
+ I requisiti minimi per l'istanza database Amazon RDS for PostgreSQL di destinazione sono: 
  + PostgreSQL versioni 9 (9.5 e 9.6), 10.x, 11.x, 12.x e 13.x

**Versioni del prodotto**
+ Istanza database Amazon RDS for Oracle versione 12.1.0.2 e successive
+ Istanza database Amazon RDS for PostgreSQL versione 11.5 e successive
+ AWS CLI versione 2 
+ L'ultima versione di AWS SCT
+ L'ultima versione di Python 3

## Architecture
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-architecture"></a>

**Stack tecnologico di origine**
+ Amazon RDS per Oracle

**Stack tecnologico di destinazione**
+ Amazon RDS per PostgreSQL

**Architettura di origine e destinazione**

Il diagramma seguente mostra la migrazione di un'istanza DB Amazon RDS for Oracle verso un'istanza DB Amazon RDS for PostgreSQL utilizzando script Python. AWS DMS 

![\[Migrazione dell'istanza DB di RDS per Oracle all'istanza DB di RDS per PostgreSQL utilizzando AWS DMS e Python.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/5e041494-2e64-4f09-b6ec-0e0cba3a4972/images/77022e13-46fb-4aa8-ab49-85b0ca4c317a.png)


 

Il diagramma mostra il seguente flusso di lavoro di migrazione:

1. Lo script Python utilizza AWS SCT per connettersi alle istanze DB di origine e di destinazione.

1. L'utente inizia AWS SCT con lo script Python, converte il codice Oracle in codice PostgreSQL e lo esegue sull'istanza DB di destinazione.

1. Lo script Python crea attività di AWS DMS replica per le istanze DB di origine e di destinazione.

1. L'utente distribuisce script Python per avviare le attività e quindi interrompe AWS DMS le attività al termine della migrazione dei dati.

**Automazione e scalabilità**

Puoi automatizzare questa migrazione aggiungendo parametri e modifiche relative alla sicurezza allo script Python, per fornire funzionalità aggiuntive. 

## Tools (Strumenti)
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che ti aiuta a interagire con i servizi AWS tramite comandi nella shell della riga di comando.
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ti aiuta a configurare le risorse AWS, a fornirle in modo rapido e coerente e a gestirle durante tutto il loro ciclo di vita in tutte Account AWS le regioni. Questo modello converte il file `.csv` di input in un file `.json` di input utilizzando uno script Python. Il `.json` file viene utilizzato nei AWS CLI comandi per creare uno CloudFormation stack che crea più attività di AWS DMS replica con Amazon Resource Names (ARNs), tipi di migrazione, impostazioni delle attività e mappature delle tabelle.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ti aiuta a migrare gli archivi di dati verso Cloud AWS o tra combinazioni di configurazioni cloud e locali. Questo modello viene utilizzato AWS DMS per creare, avviare e interrompere le attività con uno script Python eseguito sulla riga di comando e per creare il CloudFormation modello.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) supporta migrazioni di database eterogenee convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Questo modello richiede il `AWSSchemaConversionToolBatch.jar` file dalla directory installata. AWS SCT 

**Codice**

Il `cli-sct-dms-cft.zip` file (allegato) contiene il codice sorgente completo per questo pattern.

## Epiche
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-epics"></a>

### Configura AWS SCT e crea oggetti di database in AWS CLI
<a name="configure-awssct-and-create-database-objects-in-the-cli"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura AWS SCT per l'esecuzione da AWS CLI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Esegui lo `run_aws_sct.py` script Python. | Esegui lo script `run_aws_sct.py` Python usando il seguente comando:`$ python run_aws_sct.py database_migration.txt`Lo script Python converte gli oggetti del database da Oracle a PostgreSQL e crea file SQL in formato PostgreSQL. Lo script crea anche il file PDF`Database migration assessment report`, che fornisce consigli dettagliati e statistiche di conversione per gli oggetti del database. | DBA | 
| Crea oggetti in Amazon RDS for PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 

### Configura e crea AWS DMS attività utilizzando e AWS CLI CloudFormation
<a name="configure-and-create-dms-tasks-by-using-the-cli-and-cfn"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un'istanza di AWS DMS replica. | Accedi a Console di gestione AWS, apri la [AWS DMS console](https://console.aws.amazon.com/dms/v2/) e crea un'istanza di replica configurata in base ai tuoi requisiti.Per ulteriori informazioni, consulta [Creazione di un'istanza di replica](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) nella AWS DMS documentazione e [Come posso creare un'istanza di AWS DMS replica](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) nella documentazione. Supporto AWS  | DBA | 
| Crea l'endpoint di origine. | Sulla AWS DMS console, scegli **Endpoints, quindi crea un endpoint** di origine per il database Oracle in base alle tue esigenze. L'attributo di connessione aggiuntivo deve avere `numberDataTypeScale` un `-2` valore.Per ulteriori informazioni, consulta [Creazione degli endpoint di origine e destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) nella AWS DMS documentazione. | DBA | 
| Crea l'endpoint di destinazione. | Sulla AWS DMS console, scegli **Endpoints e quindi crea un endpoint** di destinazione per il database PostgreSQL in base alle tue esigenze.  Per ulteriori informazioni, consulta [Creazione di endpoint di origine e destinazione](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) nella documentazione. AWS DMS  | DevOps ingegnere | 
| Configura i dettagli AWS DMS della replica da eseguire da. AWS CLI | Configurare gli endpoint di AWS DMS origine e di destinazione e i dettagli di replica nel `dms-arn-list.txt` file con l'ARN dell'endpoint di origine, l'ARN dell'endpoint di destinazione e l'ARN dell'istanza di replica utilizzando il seguente formato:<pre>#sourceARN,targetARN,repARN<br />arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ<br />arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5<br />arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G</pre> | DBA | 
| Esegui lo script `dms-create-task.py` Python per creare le AWS DMS attività. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Verifica che AWS DMS le attività siano pronte. | Sulla AWS DMS console, verifica che AWS DMS le tue attività siano in `Ready` stato nella sezione **Stato**. | DBA | 

### Avvia e interrompi le AWS DMS attività utilizzando AWS CLI
<a name="start-and-stop-the-dms-tasks-by-using-the-cli"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia le AWS DMS attività. | Esegui lo script `dms-start-task.py` Python usando il seguente comando:<pre>$ python dms-start-task.py start '<cdc-start-datetime>'</pre>La data e l'ora di inizio devono essere nel `'YYYY-MM-DDTHH:MI:SS'` formato `'DD-MON-YYYY'` o (ad esempio, `'01-Dec-2019'` o`'2018-03-08T12:12:12'`).È possibile esaminare lo stato delle AWS DMS attività nella scheda **Statistiche della tabella** nella pagina **Attività** della AWS DMS console. | DBA | 
| Convalida i dati. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html)Per ulteriori informazioni, consulta la [convalida AWS DMS dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) nella AWS DMS documentazione. | DBA | 
| Interrompi le AWS DMS attività. | Esegui lo script Python usando il seguente comando:<pre>$ python dms-start-task.py stop</pre>AWS DMS le attività potrebbero interrompersi con uno `failed` stato, a seconda dello stato di convalida. Per ulteriori informazioni, consulta la sezione successiva  | DBA | 

## risoluzione dei problemi
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| AWS SCT le connessioni di test di origine e destinazione falliscono. | Configura le versioni dei driver JDBC e le regole in entrata del gruppo di sicurezza VPC per accettare il traffico in entrata. | 
| L'esecuzione del test dell'endpoint di origine o di destinazione non riesce. | Controlla se le impostazioni dell'endpoint e l'istanza di replica sono in stato. `Available` Controlla se lo stato della connessione dell'endpoint è. `Successful` Per ulteriori informazioni, consulta [Come posso risolvere gli errori di connettività degli endpoint AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/dms-endpoint-connectivity-failures/) nella documentazione. Supporto AWS  | 
| L'esecuzione a pieno carico non riesce. | Controlla se i database di origine e di destinazione hanno tipi e dimensioni di dati corrispondenti. Per ulteriori informazioni, consulta [Risoluzione dei problemi di migrazione AWS DMS nella](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html) AWS DMS documentazione. | 
| Si verificano errori di esecuzione della convalida. | Controlla se la tabella ha una chiave primaria perché le tabelle a chiave non primaria non vengono convalidate.Se la tabella ha una chiave primaria e sono presenti degli errori, verifica che l'attributo di connessione aggiuntivo nell'endpoint di origine lo abbia. `numberDataTypeScale=-2`Per ulteriori informazioni, consulta [Impostazioni degli endpoint quando si utilizza Oracle come fonte](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) e [Risoluzione dei problemi](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting) nella AWS DMS documentazione. AWS DMS[OracleSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_OracleSettings.html) | 

## Risorse correlate
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-resources"></a>
+ [Installazione e configurazione AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)
+ [Introduzione a AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (video)
+ [Esempi di comandi di funzionamento CloudFormation dello stack per e AWS CLI PowerShell](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cli.html)
+ [Navigazione nell'interfaccia utente di AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilizzo di un database Oracle come fonte per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Connessione ai database Oracle con AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilizzo di un database PostgreSQL come destinazione per AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [Fonti per la migrazione dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Obiettivi per la migrazione dei dati](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [cloud formation (documentazione](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html))AWS CLI 
+ [create-stack (documentazione)](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html)AWS CLI  
+ [dms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/index.html) (documentazione)AWS CLI  

## Allegati
<a name="attachments-5e041494-2e64-4f09-b6ec-0e0cba3a4972"></a>

[Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/5e041494-2e64-4f09-b6ec-0e0cba3a4972/attachments/attachment.zip)