

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à.

# Connessione a IBM DB2 for z/OS Databases con AWS Schema Conversion Tool
<a name="CHAP_Source.DB2zOS"></a>

È possibile utilizzare AWS SCT per convertire schemi, oggetti di codice e codice applicativo da IBM Db2 per i seguenti obiettivi. z/OS 
+ Amazon RDS per MySQL
+ Amazon Aurora edizione compatibile con MySQL
+ Amazon RDS per PostgreSQL
+ Amazon Aurora PostgreSQL-Compatible Edition

## Prerequisiti per utilizzare Db2 come database di origine z/OS
<a name="CHAP_Source.DB2zOS.Prerequisites"></a>

La versione del database IBM Db2 per la z/OS versione 12 Function Level 100 non supporta la maggior parte delle nuove funzionalità di IBM Db2 per la versione 12. z/OS Questa versione del database fornisce il supporto per il fallback alla versione 11 di Db2 e la condivisione dei dati con la versione 11 di Db2. Per evitare la conversione delle funzionalità non supportate di Db2 versione 11, si consiglia di utilizzare un IBM Db2 for z/OS database di livello 500 o superiore come sorgente per. AWS SCT

È possibile utilizzare il seguente esempio di codice per verificare la versione del codice IBM Db2 for database di origine. z/OS 

```
SELECT GETVARIABLE('SYSIBM.VERSION') as version FROM SYSIBM.SYSDUMMY1;
```

Assicurati che questo codice restituisca una versione `DSN12015` o una versione successiva.

È possibile utilizzare il seguente esempio di codice per controllare il valore del registro `APPLICATION COMPATIBILITY` speciale nel database IBM Db2 for z/OS di origine.

```
SELECT CURRENT APPLICATION COMPATIBILITY as version FROM SYSIBM.SYSDUMMY1;
```

Assicurati che questo codice restituisca una versione `V12R1M500` o una versione successiva.

## Privilegi per Db2 z/OS come database di origine
<a name="CHAP_Source.DB2zOS.Permissions"></a>

I privilegi necessari per connettersi a un z/OS database Db2 e leggere i cataloghi e le tabelle di sistema sono i seguenti:
+ SELEZIONA SU SYSIBM.LOCATIONS
+ SELEZIONA SU SYSIBM.SYSCHECKS
+ SELEZIONA SU SYSIBM.SYSCOLUMNS
+ SELEZIONA NEL DATABASE SYSIBM.SYS
+ SELEZIONA SYSIBM.SYSDATATYPES
+ SELEZIONA SU SYSIBM. SYSDUMMY1
+ SELEZIONA SU SYSIBM.SYSFOREIGNKEYS
+ SELEZIONA SU SYSIBM.SYSINDEXES
+ SELEZIONA SYSIBM.SYSKEYCOLUSE
+ SELEZIONA SU SYSIBM.SYSKEYS
+ SELEZIONA SU SYSIBM.SYSKEYTARGETS
+ SELEZIONA SU SYSIBM.SYSJAROBJECTS
+ SELEZIONA SUL PACCHETTO SYSIBM.SYS
+ SELEZIONA SU SYSIBM.SYSPARMS
+ SELEZIONA SU SYSIBM.SYSRELS
+ SELEZIONA SU SYSIBM.SYSROUTINES
+ SELEZIONA SU SYSIBM.SYSSEQUENCES
+ SELEZIONA SU SYSIBM.SYSSEQUENCESDEP
+ SELEZIONA SU SYSIBM.SYSSYNERONIMI
+ SELEZIONA SU SYSIBM.SYSTAB.CONST
+ SELEZIONA SU SYSIBM.SYSTABLES
+ SELEZIONA SU SYSIBM.SYSTABLESPACE
+ SELEZIONA SU SYSIBM.SYSTRIGGERS
+ SELEZIONA SYSIBM.SYSVARIABLES
+ SELEZIONA SU SYSIBM.SYSVIEWS

Per convertire Db2 for z/OS tables in tabelle partizionate PostgreSQL, raccogli statistiche su tablespace e tabelle nel tuo database usando l'utilità come illustrato di seguito. `RUNSTATS`

```
LISTDEF YOURLIST INCLUDE TABLESPACES DATABASE YOURDB 
RUNSTATS TABLESPACE
LIST YOURLIST
TABLE (ALL) INDEX (ALL KEYCARD)
UPDATE ALL
REPORT YES
SHRLEVEL REFERENCE
```

Nell'esempio precedente, sostituisci il segnaposto con il nome del database di origine. `YOURDB`

## Connessione a Db2 per come sorgente z/OS
<a name="CHAP_Source.DB2zOS.Connecting"></a>

Usa la seguente procedura per connetterti al tuo database Db2 for z/OS source con. AWS SCT

**Per connettersi a un database IBM Db2 for source z/OS**

1. Nella AWS Schema Conversion Tool, scegli **Aggiungi** fonte.

1. **Scegli **Db2 for z/OS**, quindi scegli Avanti.**

   Viene visualizzata la finestra di dialogo **Aggiungi sorgente**.

1. Per **Nome della connessione**, inserisci un nome per il tuo database. AWS SCT visualizza questo nome nell'albero nel pannello di sinistra. 

1. Usa le credenziali del database da Gestione dei segreti AWS o inseriscile manualmente:
   + Per utilizzare le credenziali del database di Secrets Manager, utilizzare le seguenti istruzioni:

     1. Per **AWS Segreto**, scegli il nome del segreto.

     1. Scegli **Popola** per inserire automaticamente tutti i valori nella finestra di dialogo di connessione al database di Secrets Manager.

     Per informazioni sull'utilizzo delle credenziali del database da Secrets Manager, vedere[Configurazione in Gestione dei segreti AWS AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md).
   + Per inserire manualmente le informazioni sulla connessione al database IBM Db2 for z/OS source, utilizza le seguenti istruzioni:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/SchemaConversionTool/latest/userguide/CHAP_Source.DB2zOS.html)

1. Scegli **Test Connection** per verificare che sia AWS SCT possibile connettersi al database di origine.

1. Scegli **Connect** per connetterti al tuo database di origine.

## Privilegi per MySQL come database di destinazione
<a name="CHAP_Source.DB2zOS.ConfigureMySQL"></a>

I privilegi richiesti per MySQL come destinazione sono i seguenti:
+ CREA SU\$1 . \$1
+ PIÙ TARDI \$1 . \$1
+ SCENDI SU \$1 . \$1
+ INDICE SU\$1 . \$1
+ RIFERIMENTI SU\$1 . \$1
+ SELECT ON \$1.\$1
+ CREA UNA VISTA SU\$1 . \$1
+ SHOW VIEW ON \$1.\$1
+ GRILLETTO SU \$1 . \$1
+ CREA ROUTINE SU\$1 . \$1
+ MODIFICA LA ROUTINE SU \$1 . \$1
+ ESEGUI SU\$1 . \$1
+ SELECT ON mysql.proc
+ INSERISCI, AGGIORNA SU AWS\$1DB 2ZOS\$1EXT. \$1
+ INSERISCI, AGGIORNA, ELIMINA SU AWS\$1DB 2ZOS\$1EXT\$1DATA. \$1
+ CREARE TABELLE TEMPORANEE SU AWS\$1DB 2ZOS\$1EXT\$1DATA. \$1

È possibile utilizzare il seguente esempio di codice per creare un utente del database e assegnare i privilegi.

```
CREATE USER 'user_name' IDENTIFIED BY 'your_password';
GRANT CREATE ON *.* TO 'user_name';
GRANT ALTER ON *.* TO 'user_name';
GRANT DROP ON *.* TO 'user_name';
GRANT INDEX ON *.* TO 'user_name';
GRANT REFERENCES ON *.* TO 'user_name';
GRANT SELECT ON *.* TO 'user_name';
GRANT CREATE VIEW ON *.* TO 'user_name';
GRANT SHOW VIEW ON *.* TO 'user_name';
GRANT TRIGGER ON *.* TO 'user_name';
GRANT CREATE ROUTINE ON *.* TO 'user_name';
GRANT ALTER ROUTINE ON *.* TO 'user_name';
GRANT EXECUTE ON *.* TO 'user_name';
GRANT SELECT ON mysql.proc TO 'user_name';
GRANT INSERT, UPDATE ON AWS_DB2ZOS_EXT.* TO 'user_name';
GRANT INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name';
GRANT CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name';
```

Nell'esempio precedente, sostituiscilo *user\$1name* con il nome del tuo utente. Quindi, *your\$1password* sostituiscilo con una password sicura.

Per utilizzare Amazon RDS for MySQL come destinazione, `log_bin_trust_function_creators` imposta il parametro su true e il to. `character_set_server` `latin1` Per configurare questi parametri, crea un nuovo gruppo di parametri di database o modifica un gruppo di parametri di database esistente.

Per utilizzare Aurora MySQL come destinazione, imposta il `log_bin_trust_function_creators` parametro su true e il su. `character_set_server` `latin1` Inoltre, imposta il `lower_case_table_names` parametro su true. Per configurare questi parametri, crea un nuovo gruppo di parametri di database o modifica un gruppo di parametri di database esistente.

## Privilegi per PostgreSQL come database di destinazione
<a name="CHAP_Source.DB2zOS.ConfigurePostgreSQL"></a>

Per utilizzare PostgreSQL come destinazione, è necessario il privilegio. AWS SCT `CREATE ON DATABASE` Assicurati di concedere questo privilegio per ogni database PostgreSQL di destinazione.

Per utilizzare Amazon RDS for PostgreSQL come destinazione, è necessario il privilegio. AWS SCT `rds_superuser`

Per utilizzare i sinonimi pubblici convertiti, modifica il percorso di ricerca predefinito del database in. `"$user", public_synonyms, public`

È possibile utilizzare il seguente esempio di codice per creare un utente del database e assegnare i privilegi.

```
CREATE ROLE user_name LOGIN PASSWORD 'your_password';
GRANT CREATE ON DATABASE db_name TO user_name;
GRANT rds_superuser TO user_name;
ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;
```

Nell'esempio precedente, sostituiscilo *user\$1name* con il nome dell'utente. Quindi, *db\$1name* sostituiscilo con il nome del database di destinazione. Infine, *your\$1password* sostituiscilo con una password sicura.

In PostgreSQL, solo il proprietario di uno schema o un `superuser` può rilasciare uno schema. Il proprietario può eliminare uno schema e tutti gli oggetti inclusi in questo schema anche se il proprietario dello schema non possiede alcuni dei suoi oggetti.

Quando utilizzi utenti diversi per convertire e applicare schemi diversi al database di destinazione, puoi ricevere un messaggio di errore quando non AWS SCT puoi eliminare uno schema. Per evitare questo messaggio di errore, utilizza il ruolo `superuser`. 

## Impostazioni di conversione da Db2 z/OS a PostgreSQL
<a name="CHAP_Source.DB2zOS.PostgreSQLConversionSettings"></a>

**Per modificare le impostazioni di conversione da Db2 for z/OS a PostgreSQL, scegli Impostazioni, quindi **scegli** Impostazioni di conversione.** Dall'elenco superiore, scegli **Db2 for z/OS**, quindi scegli Db2 for — PostgreSQL o **Db2 **for** — Amazon Aurora (compatibile con z/OS PostgreSQL**). z/OS AWS SCT visualizza tutte le impostazioni disponibili per la conversione da IBM Db2 a z/OS PostgreSQL.

Le impostazioni di conversione z/OS da Db2 a PostgreSQL includono le seguenti opzioni AWS SCT :
+ Per limitare il numero di commenti con azioni nel codice convertito.

  Per **Aggiungi commenti nel codice convertito per le azioni di gravità selezionata o superiore**, scegli la gravità delle azioni. AWS SCT aggiunge commenti nel codice convertito per le azioni con la gravità selezionata o superiore.

  Ad esempio, per ridurre al minimo il numero di commenti nel codice convertito, scegli **Solo errori**. Per includere commenti per tutti gli elementi d'azione nel codice convertito, scegli **Tutti i messaggi**.
+ Per generare nomi univoci per i vincoli nel database di destinazione.

  In PostgreSQL, tutti i nomi di vincolo utilizzati devono essere univoci. AWS SCT può generare nomi univoci per i vincoli nel codice convertito aggiungendo un prefisso con il nome della tabella al nome del vincolo. **Per assicurarti che ciò AWS SCT generi nomi univoci per i tuoi vincoli, seleziona Genera nomi univoci per i vincoli.**
+ Per mantenere la formattazione dei nomi di colonna, delle espressioni e delle clausole nelle istruzioni DML nel codice convertito.

  AWS SCT può mantenere il layout dei nomi di colonna, delle espressioni e delle clausole nelle istruzioni DML nella stessa posizione e ordine del codice sorgente. A tale scopo, selezionate **Sì** per **Mantieni la formattazione dei nomi di colonna, delle espressioni e delle clausole nelle istruzioni** DML.
+ Per escludere le partizioni di tabella dall'ambito di conversione.

  AWS SCT può saltare tutte le partizioni di una tabella sorgente durante la conversione. A tale scopo, seleziona **Escludi le partizioni della tabella dall'ambito** di conversione.
+ Per utilizzare il partizionamento automatico per le tabelle partizionate in base alla crescita.

  Per la migrazione dei dati, AWS SCT può partizionare automaticamente tutte le tabelle più grandi della dimensione specificata. Per utilizzare questa opzione, seleziona **Applica la partizione delle tabelle più grandi di** e inserisci le dimensioni delle tabelle in gigabyte. Quindi, inserisci il numero di partizioni. AWS SCT quando si attiva questa opzione, considera le dimensioni del dispositivo di archiviazione ad accesso diretto (DASD) del database di origine.

  AWS SCT può determinare automaticamente il numero di partizioni. A tale scopo, seleziona **Aumenta il numero di partizioni in modo proporzionale** e inserisci il numero massimo di partizioni.
+ Per restituire set di risultati dinamici come matrice di valori del tipo di dati refCursor.

  AWS SCT può convertire le procedure di origine che restituiscono set di risultati dinamici in procedure che hanno una matrice di refcursori aperti come parametro di output aggiuntivo. A tale scopo, selezionate **Usa un array di refcursors per restituire tutti** i set di risultati dinamici.
+ Per specificare lo standard da utilizzare per la conversione dei valori di data e ora in rappresentazioni di stringhe.

  AWS SCT può convertire i valori di data e ora in rappresentazioni di stringhe utilizzando uno dei formati di settore supportati. A tale scopo, seleziona **Usa rappresentazioni di stringa di valori di data** o **Usa rappresentazioni di stringa di** valori temporali. Quindi, scegli uno dei seguenti standard.
  + Organizzazione internazionale per gli standard (ISO)
  + Standard europeo IBM (EUR)
  + IBM USA Standard (Stati Uniti)
  + Standard industriale giapponese Christian Era (JIS)