

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

# Aggiunta di opzioni alle istanze database Oracle
<a name="Appendix.Oracle.Options"></a>

In Amazon RDS, una opzione è una funzionalità aggiuntiva. Di seguito, è possibile trovare una descrizione delle opzioni che è possibile aggiungere a istanze Amazon RDS che eseguono il motore database di Oracle.

**Topics**
+ [

# Panoramica sulle opzioni database Oracle
](Appendix.Oracle.Options.overview.md)
+ [

# Integrazione Amazon S3
](oracle-s3-integration.md)
+ [

# Oracle Application Express (APEX)
](Appendix.Oracle.Options.APEX.md)
+ [

# Integrazione Amazon EFS
](oracle-efs-integration.md)
+ [

# Oracle Java Virtual Machine
](oracle-options-java.md)
+ [

# Oracle Enterprise Manager
](Oracle.Options.OEM.md)
+ [

# Oracle Label Security
](Oracle.Options.OLS.md)
+ [

# Oracle Locator
](Oracle.Options.Locator.md)
+ [

# Oracle native network encryption
](Appendix.Oracle.Options.NetworkEncryption.md)
+ [

# Oracle OLAP
](Oracle.Options.OLAP.md)
+ [

# Oracle Secure Sockets Layer
](Appendix.Oracle.Options.SSL.md)
+ [

# Oracle Spatial
](Oracle.Options.Spatial.md)
+ [

# Oracle SQLT
](Oracle.Options.SQLT.md)
+ [

# Oracle Statspack
](Appendix.Oracle.Options.Statspack.md)
+ [

# Fuso orario Oracle
](Appendix.Oracle.Options.Timezone.md)
+ [

# Aggiornamento automatico dei file di fuso orario Oracle
](Appendix.Oracle.Options.Timezone-file-autoupgrade.md)
+ [

# Oracle Transparent Data Encryption
](Appendix.Oracle.Options.AdvSecurity.md)
+ [

# UTL\$1MAIL di Oracle
](Oracle.Options.UTLMAIL.md)
+ [

# Oracle XML DB
](Appendix.Oracle.Options.XMLDB.md)

# Panoramica sulle opzioni database Oracle
<a name="Appendix.Oracle.Options.overview"></a>

Per abilitare queste opzioni per database Oracle, dovrai aggiungerle a un gruppo di opzioni e quindi associare il gruppo di opzioni all'istanza database. Per ulteriori informazioni, consulta [Uso di gruppi di opzioni](USER_WorkingWithOptionGroups.md).

**Topics**
+ [

## Riepilogo delle opzioni database Oracle
](#Appendix.Oracle.Options.summary)
+ [

## Opzioni supportate per diverse edizioni
](#Appendix.Oracle.Options.editions)
+ [

## Requisiti di memoria per opzioni specifiche
](#Appendix.Oracle.Options.memory)

## Riepilogo delle opzioni database Oracle
<a name="Appendix.Oracle.Options.summary"></a>

Puoi aggiungere le seguenti opzioni per le istanze database Oracle.


****  

| Opzione | ID opzione | 
| --- | --- | 
|  [Integrazione Amazon S3](oracle-s3-integration.md)  |  `S3_INTEGRATION`  | 
|  [Oracle Application Express (APEX)](Appendix.Oracle.Options.APEX.md)  |  `APEX` `APEX-DEV`  | 
|  [Oracle Enterprise Manager](Oracle.Options.OEM.md)  |  `OEM` `OEM_AGENT`  | 
|  [Oracle Java Virtual Machine](oracle-options-java.md)  |  `JVM`  | 
|  [Oracle Label Security](Oracle.Options.OLS.md)  |  `OLS`  | 
|  [Oracle Locator](Oracle.Options.Locator.md)  |  `LOCATOR`  | 
|  [Oracle native network encryption](Appendix.Oracle.Options.NetworkEncryption.md)  |  `NATIVE_NETWORK_ENCRYPTION`  | 
|  [Oracle OLAP](Oracle.Options.OLAP.md)  |  `OLAP`  | 
|  [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md)  |  `SSL`  | 
|  [Oracle Spatial](Oracle.Options.Spatial.md)  |  `SPATIAL`  | 
|  [Oracle SQLT](Oracle.Options.SQLT.md)  |  `SQLT`  | 
|  [Oracle Statspack](Appendix.Oracle.Options.Statspack.md)  |  `STATSPACK`  | 
|  [Fuso orario Oracle](Appendix.Oracle.Options.Timezone.md)  |  `Timezone`  | 
|  [Aggiornamento automatico dei file di fuso orario Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md)  |  `TIMEZONE_FILE_AUTOUPGRADE`  | 
|  [Oracle Transparent Data Encryption](Appendix.Oracle.Options.AdvSecurity.md)  |  `TDE`  | 
|  [UTL\$1MAIL di Oracle](Oracle.Options.UTLMAIL.md)  |  `UTL_MAIL`  | 
|  [Oracle XML DB](Appendix.Oracle.Options.XMLDB.md)  |  `XMLDB`  | 

## Opzioni supportate per diverse edizioni
<a name="Appendix.Oracle.Options.editions"></a>

RDS per Oracle impedisce di aggiungere opzioni a un'edizione se non sono supportate. Per scoprire quali opzioni RDS sono supportate in diverse edizioni del database Oracle, utilizzare il comando `aws rds describe-option-group-options`. Nell'esempio seguente vengono elencate le opzioni supportate per il database Oracle 19c Enterprise Edition.

```
aws rds describe-option-group-options \
    --engine-name oracle-ee \
    --major-engine-version 19
```

Per ulteriori informazioni, consulta [describe-option-group-options](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-option-group-options.html) nel *Riferimento ai comandi CLI AWS*.

## Requisiti di memoria per opzioni specifiche
<a name="Appendix.Oracle.Options.memory"></a>

L'esecuzione di alcune opzioni nella tua istanza database richiede memoria aggiuntiva. Ad esempio, Oracle Enterprise Manager Database Control utilizza circa 300 MB di RAM. Se abiliti questa opzione per una istanza database di piccole dimensioni, potresti riscontrare problemi di prestazioni dovuti ai limiti di memoria. Puoi regolare i parametri Oracle in modo che il database richieda meno RAM. In alternativa, puoi dimensionare l'istanza database aumentandone le dimensioni. 

# Integrazione Amazon S3
<a name="oracle-s3-integration"></a>

Puoi trasferire i file tra un'istanza database Amazon RDS per Oracle e un bucket Amazon S3. Puoi utilizzare l'integrazione Amazon S3 con le funzionalità Oracle Database, ad esempio Oracle Data Pump. Ad esempio, è possibile scaricare i file di Data Pump da Amazon S3 sull'istanza database RDS per Oracle. Per ulteriori informazioni, consulta [Importazione di dati in Oracle in Amazon RDS](Oracle.Procedural.Importing.md).

**Nota**  
L'istanza database e il bucket Amazon S3 devono trovarsi nella stessa Regione AWS.

**Topics**
+ [

# Configurazione delle autorizzazioni IAM per l'integrazione di RDS per Oracle con Amazon S3
](oracle-s3-integration.preparing.md)
+ [

# Aggiunta dell'opzione di integrazione Amazon S3
](oracle-s3-integration.preparing.option-group.md)
+ [

# Trasferimento dei file tra Amazon RDS for Oracle e un bucket Amazon S3
](oracle-s3-integration.using.md)
+ [

## Risoluzione dei problemi di integrazione Amazon S3
](#oracle-s3-integration.troubleshooting)
+ [

# Rimozione dell'opzione di integrazione Amazon S3
](oracle-s3-integration.removing.md)

# Configurazione delle autorizzazioni IAM per l'integrazione di RDS per Oracle con Amazon S3
<a name="oracle-s3-integration.preparing"></a>

Affinché RDS per Oracle si integri con Amazon S3, l'istanza database avere accesso a un bucket Amazon S3. Il Amazon VPC utilizzato dall'istanza database non deve fornire accesso agli endpoint Amazon S3.

RDS per Oracle supporta il trasferimento di file tra un’istanza database in un account e un bucket Amazon S3 in un account diverso. Se sono necessari ulteriori passaggi, vengono annotati nelle sezioni seguenti.

**Topics**
+ [

## Fase 3: creazione di una policy IAM per il ruolo di Amazon RDS
](#oracle-s3-integration.preparing.policy)
+ [

## Fase 2: (facoltativo) creazione di una policy IAM per il bucket Amazon S3
](#oracle-s3-integration.preparing.policy-bucket)
+ [

## Fase 3: creazione di un ruolo IAM per l'istanza database e collegamento della policy
](#oracle-s3-integration.preparing.role)
+ [

## Fase 4: associazione del ruolo IAM all'istanza database RDS per Oracle
](#oracle-s3-integration.preparing.instance)

## Fase 3: creazione di una policy IAM per il ruolo di Amazon RDS
<a name="oracle-s3-integration.preparing.policy"></a>

In questo passaggio, crei una policy AWS Identity and Access Management (IAM) con le autorizzazioni necessarie per trasferire file tra il bucket Amazon S3 e l'istanza DB RDS. Questo passaggio presuppone che tu abbia già creato un bucket S3.

Prima di creare la policy, prendi nota delle seguenti informazioni:
+ L'Amazon Resource Name (ARN) del bucket
+ L'ARN per la tua AWS KMS chiave, se il bucket utilizza la crittografia SSE-KMS o SSE-S3
**Nota**  
Un'istanza database RDS per Oracle non può accedere ai bucket Amazon S3 crittografati con SSE-C.

Per ulteriori informazioni, consulta [Protezione dei dati con la crittografia lato server](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) nella *Guida per l'utente di Amazon Simple Storage Service*.

### Console
<a name="oracle-s3-integration.preparing.policy.console"></a>

**Per creare una policy IAM per consentire ad Amazon RDS l'accesso a un bucket Amazon S3**

1. Aprire la [console di gestione IAM](https://console.aws.amazon.com/iam/home?#home).

1. In **Gestione accessi** scegli **Policy**.

1. Scegli **Crea policy**.

1. Nella scheda **Visual editor (Editor visivo)** selezionare **Choose a service (Scegli un servizio)** e quindi **S3**.

1. Per **Operazioni**, seleziona **Espandi tutto**, quindi sceglie le autorizzazioni del bucket e dell’oggetto necessarie per trasferire i file da un bucket Amazon S3 a Amazon RDS. Ad esempio, completa le seguenti operazioni:
   + **Espandi** Elenco, **ListBucket**quindi seleziona.
   + Espandi **Leggi**, quindi seleziona **GetObject**.
   + Espandi **Scrittura**, quindi seleziona **PutObject**DeleteObject****, **AbortMultipartUpload**, e **ListMultipartUploadParts**. Le autorizzazioni per il caricamento in più parti sono necessarie per caricare file di grandi dimensioni (100 MB o più) su Amazon S3.
   + Espandi **Gestione delle autorizzazioni**, quindi seleziona **PutObjectAcl**. Questa autorizzazione è necessaria se si prevede di caricare file in un bucket di proprietà di un account diverso e questo account ha bisogno del pieno controllo del contenuto del bucket.

   Le *autorizzazioni oggetto* sono autorizzazioni per operazioni sugli oggetti in Amazon S3. Devi concedere queste autorizzazioni agli oggetti presenti nel bucket e non al bucket stesso. Per ulteriori informazioni, consulta la pagina [Autorizzazioni per le operazioni sugli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-objects).

1. Scegli **Aggiungi regola**, quindi effettua le seguenti operazioni:

   1. Scegli **Specifiche**.

   1. In **Bucket**, scegli **Aggiungi ARN**. Inserisci l'ARN del bucket. Il nome del bucket viene inserito automaticamente. Quindi scegliere **Add (Aggiungi)**.

   1. Se viene visualizzata la risorsa **oggetto**, scegli **Aggiungi ARN** per aggiungere risorse manualmente o scegli **Qualsiasi**.
**Nota**  
È possibile impostare **Amazon Resource Name (ARN)** su un valore dell'ARN più specifico in modo da consentire ad Amazon RDS di accedere solo a specifici file o cartelle presenti in un bucket Amazon S3. Per ulteriori informazioni su come definire una policy di accesso per Amazon S3, consulta [Gestione delle autorizzazioni di accesso alle risorse Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html).

1. (Facoltativo) Scegli **Aggiungi autorizzazioni aggiuntive** per aggiungere risorse alla policy. Ad esempio, completa le seguenti operazioni:

   1. Se il bucket è crittografato con una chiave KMS personalizzata, seleziona **KMS** per il servizio. 

   1. In **Operazioni manuali**, seleziona quanto segue:
      + **Encrypt**
      + **ReEncrypt da** **e per ReEncrypt **
      + **Decrypt**
      + **DescribeKey**
      + **GenerateDataKey**

   1. In **Risorse**, scegli **Specifiche**.

   1. In **Chiave**, scegli **Aggiungi ARN**. Specifica l'ARN della chiave personalizzata come risorsa, quindi scegli **Aggiungi**.

      Per ulteriori informazioni, consulta [Protezione dei dati utilizzando la crittografia lato server con chiavi KMS archiviate in AWS Key Management Service (SSE-KMS) nella Guida per l'utente di Amazon Simple](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) *Storage Service*.

   1. Se desideri che Amazon RDS acceda per accedere ad altri bucket, aggiungi ARNs i relativi bucket. Facoltativamente, è anche possibile concedere l'accesso a tutti i bucket e gli oggetti in Amazon S3.

1. Scegliere **Next: Tags (Successivo: Tag)** e **Next: Review (Successivo: Verifica)**.

1. Per **Name (Nome)**, immettere un nome per la policy IAM, ad esempio `rds-s3-integration-policy`. Questo nome viene utilizzato quando si crea un ruolo IAM e lo si associa all'istanza database. È anche possibile aggiungere un valore **Description (Descrizione)** facoltativo.

1. Seleziona **Create Policy** (Crea policy).

### AWS CLI
<a name="oracle-s3-integration.preparing.policy.CLI"></a>

Crea una policy AWS Identity and Access Management (IAM) che conceda ad Amazon RDS l'accesso a un bucket Amazon S3. Dopo aver creato la policy, prendere nota del relativo ARN. L'ARN servirà in una fase successiva.

Includi le azioni appropriate nella policy in base al tipo di accesso richiesto:
+ `GetObject` – È necessario trasferire i file da un bucket Amazon S3 a Amazon RDS.
+ `ListBucket` – È necessario trasferire i file da un bucket Amazon S3 a Amazon RDS.
+ `PutObject` – È necessario trasferire i file da un bucket Amazon RDS a un bucket Amazon S3.
+ `AbortMultipartUpload`: è necessario per i caricamenti in più parti durante il trasferimento di file di grandi dimensioni (100 MB o più) da Amazon RDS a un bucket Amazon S3.
+ `ListMultipartUploadParts`: è necessario per i caricamenti in più parti durante il trasferimento di file di grandi dimensioni (100 MB o più) da Amazon RDS a un bucket Amazon S3.

Il AWS CLI comando seguente crea una policy IAM denominata `rds-s3-integration-policy` con queste opzioni. Concede l'accesso a un bucket denominato `amzn-s3-demo-bucket`.

**Example**  
Per Linux, macOS o Unix:  

```
aws iam create-policy \
   --policy-name rds-s3-integration-policy \
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       }
     ]
   }'
```
Nell'esempio seguente sono incluse le autorizzazioni per le chiavi KMS personalizzate.  

```
aws iam create-policy \
   --policy-name rds-s3-integration-policy \
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "kms:Decrypt",
           "kms:Encrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey",
           "kms:DescribeKey",
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:kms:::your-kms-arn"
         ]
       }
     ]
   }'
```
Per Windows:  

```
aws iam create-policy ^
   --policy-name rds-s3-integration-policy ^
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       }
     ]
   }'
```
Nell'esempio seguente sono incluse le autorizzazioni per le chiavi KMS personalizzate.  

```
aws iam create-policy ^
   --policy-name rds-s3-integration-policy ^
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "kms:Decrypt",
           "kms:Encrypt",
           "kms:ReEncrypt",
           "kms:GenerateDataKey",
           "kms:DescribeKey",
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:kms:::your-kms-arn"
         ]
       }
     ]
   }'
```

## Fase 2: (facoltativo) creazione di una policy IAM per il bucket Amazon S3
<a name="oracle-s3-integration.preparing.policy-bucket"></a>

Questo passaggio è necessario solo nelle seguenti condizioni:
+ Prevedi di caricare i file su un bucket Amazon S3 da un account (account A) e di accedervi da un altro account (account B).
+ L'account B possiede il bucket.
+ L'account B necessita del pieno controllo degli oggetti caricati nel bucket.

Se le condizioni precedenti non si applicano al tuo scenario, passa a [Fase 3: creazione di un ruolo IAM per l'istanza database e collegamento della policy](#oracle-s3-integration.preparing.role).

Per creare la policy per il bucket, assicurati di disporre di quanto segue:
+ L'ID account dell'account A.
+ Il nome utente dell'account A
+ Il valore ARN per il bucket Amazon S3 nell'account B

### Console
<a name="oracle-s3-integration.preparing.policy-bucket.console"></a>

**Per creare o modificare una policy del bucket**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nell'elenco **Buckets (Bucket)** scegliere il nome del bucket per il quale si desidera creare o modificare una policy di bucket.

1. Seleziona **Autorizzazioni**.

1. In **Policy del bucket**, scegli **Modifica**. Verrà visualizzata la pagina Modifica policy del bucket.

1. Nella pagina **Edit bucket policy (Modifica policy del bucket) **vai negli **Esempi di policy** della *Guida per l'utente di Amazon S3* e scegli **Policy generator (Generatore di policy)** per generare automaticamente una policy o modificare il JSON nella sezione **Policy**. 

   Se scegli **Policy generator**, il AWS Policy Generator si apre in una nuova finestra:

   1. Nella pagina **Generatore di policy di AWS**, all'opzione **Seleziona tipo di Policy**, scegli **Policy del bucket S3**.

   1. Aggiungi un'istruzione inserendo le informazioni nei campi forniti, quindi scegli **Aggiungi istruzione**. Ripetere per tutte le istruzioni che si desidera aggiungere. Per ulteriori informazioni su questi campi, consulta [Riferimento agli elementi delle policy IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l'utente IAM*. 
**Nota**  
Per comodità, la pagina **Modifica policy del bucket** mostra l'**ARN (Amazon Resource Name) del bucket** corrente sopra il campo di testo della **Policy**. Puoi copiare questo ARN per utilizzarlo nelle istruzioni alla pagina **Generatore di policy di AWS**. 

   1. Dopo aver aggiunto le istruzioni, scegli **Genera policy**.

   1. Copia il testo della policy generata, scegli **Chiudi** e torna alla pagina **Modifica policy del bucket** nella console di Amazon S3.

1. Nella casella **Policy**, modificare la policy esistente o incollare la policy del bucket dal generatore di policy. Assicurati di risolvere gli avvisi di sicurezza, gli errori, gli avvisi generali e i suggerimenti prima di salvare la policy.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ExamplePermissions",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::123456789012:user/account-A-user"
         },
         "Action": [
           "s3:PutObject",
           "s3:PutObjectAcl"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket",
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
         ]
       }
     ]
   }
   ```

------

1. Scegli **Salva le modifiche**, che ti riporterà alla pagina Autorizzazioni bucket.

## Fase 3: creazione di un ruolo IAM per l'istanza database e collegamento della policy
<a name="oracle-s3-integration.preparing.role"></a>

Questo passaggio presuppone che tu abbia creato la policy IAM in [Fase 3: creazione di una policy IAM per il ruolo di Amazon RDS](#oracle-s3-integration.preparing.policy). In questo passaggio, si crea un ruolo per l'istanza database RDS per Oracle e quindi si collega la policy al ruolo.

### Console
<a name="oracle-s3-integration.preparing.role.console"></a>

**Per creare un ruolo IAM per consentire ad Amazon RDS l'accesso a un bucket Amazon S3**

1. Aprire la [console di gestione IAM](https://console.aws.amazon.com/iam/home?#home).

1. Nel pannello di navigazione, seleziona **Roles** (Ruoli).

1. Selezionare **Create role (Crea ruolo)**.

1. Scegli un servizio in **Servizio AWS**.

1. Per i **casi d'uso per altri AWS servizi:**, scegli **RDS** e poi **RDS — Aggiungi ruolo al database**. Quindi scegli **Successivo**.

1. In **Cerca**, in **Policy di autorizzazione**, inserisci il nome della policy IAM creata in [Fase 3: creazione di una policy IAM per il ruolo di Amazon RDS](#oracle-s3-integration.preparing.policy) e seleziona la policy quando viene visualizzata nell'elenco. Quindi scegli **Successivo**.

1. In **Nome ruolo**, specifica un nome per il ruolo IAM, ad esempio `rds-s3-integration-role`. È anche possibile aggiungere un valore **Description (Descrizione)** facoltativo.

1. Scegli **Crea ruolo**.

### AWS CLI
<a name="integration.preparing.role.CLI"></a>

**Per creare un ruolo e collegarvi una policy**

1. Creare un ruolo IAM che Amazon RDS può assumere per conto dell'utente per accedere ai bucket Amazon S3.

   Si consiglia di utilizzare le chiavi di contesto delle condizioni globali [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) nelle relazioni di trust basate sulle risorse per limitare le autorizzazioni del servizio relative a una risorsa specifica. Questo è il modo più efficace per proteggersi dal [problema di deputy confused](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

   Puoi usare le chiavi di contesto delle condizioni globali e avere il valore `aws:SourceArn` che contiene l'ID dell'account. In questo caso, il valore `aws:SourceAccount` e l'account nel valore `aws:SourceArn` deve utilizzare lo stesso ID account quando viene utilizzato nella stessa istruzione.
   + Utilizzare `aws:SourceArn` se si desidera un accesso cross-service per una singola risorsa.
   + Utilizzare `aws:SourceAccount` se si desidera consentire l'associazione di qualsiasi risorsa in tale account all'uso cross-service.

   Nella relazione di trust, assicurati di utilizzare la chiave di contesto della condizione globale `aws:SourceArn` con l'Amazon Resource Name (ARN) completo delle risorse che accedono al ruolo.

   Il AWS CLI comando seguente crea il ruolo denominato `rds-s3-integration-role` per questo scopo.  
**Example**  

   Per Linux, macOS o Unix:

   ```
   aws iam create-role \
      --role-name rds-s3-integration-role \
      --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "my_account_ID",
                    "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
                }
            }
          }
        ]
      }'
   ```

   Per Windows:

   ```
   aws iam create-role ^
      --role-name rds-s3-integration-role ^
      --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "my_account_ID",
                    "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
                }
            }
          }
        ]
      }'
   ```

   Per ulteriori informazioni, consulta la pagina relativa alla [creazione di un ruolo per delegare le autorizzazioni a un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) nella *Guida per l'utente IAM*.

1. Una volta creato il ruolo, annota l'ARN del ruolo. L'ARN servirà in una fase successiva.

1. Collega la policy creata al ruolo creato.

   Il AWS CLI comando seguente associa la policy al ruolo denominato`rds-s3-integration-role`.  
**Example**  

   Per Linux, macOS o Unix:

   ```
   aws iam attach-role-policy \
      --policy-arn your-policy-arn \
      --role-name rds-s3-integration-role
   ```

   Per Windows:

   ```
   aws iam attach-role-policy ^
      --policy-arn your-policy-arn ^
      --role-name rds-s3-integration-role
   ```

   Sostituire `your-policy-arn` con l'ARN della policy annotato nel passaggio precedente.

## Fase 4: associazione del ruolo IAM all'istanza database RDS per Oracle
<a name="oracle-s3-integration.preparing.instance"></a>

L'ultimo passaggio per configurare le autorizzazioni per l'integrazione di Amazon S3 prevede l'associazione del ruolo IAM all'istanza database. Si notino i requisiti seguenti:
+ Devi disporre dell'accesso a un ruolo a cui sono collegate le policy di autorizzazione di Amazon S3. 
+ È possibile associare un solo ruolo IAM alla volta all'istanza RDS per Oracle.
+ Lo stato dell'istanza database deve essere **Disponibile**.

### Console
<a name="oracle-s3-integration.preparing.instance.console"></a>

**Per associare il ruolo IAM all'istanza database RDS per Oracle**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione seleziona **Database**.

1. Scegli il nome dell'istanza database RDS per Oracle per visualizzarne i dettagli.

1. Sulla scheda **Connettività e sicurezza**, scorri verso il basso fino alla sezione **Gestisci i ruoli IAM** in fondo alla pagina.

1. Per **Aggiungi i ruoli IAM a questa istanza**, scegli il ruolo creato in [Fase 3: creazione di un ruolo IAM per l'istanza database e collegamento della policy](#oracle-s3-integration.preparing.role).

1. Per **Feature (Caratteristica)**, selezionare **S3\$1INTEGRATION**.  
![\[Aggiungi ruolo S3_INTEGRATION\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ora-s3-integration-role.png)

1. Scegliere **Add role (Aggiungi ruolo)**.

### AWS CLI
<a name="oracle-s3-integration.preparing.instance.CLI"></a>

Il AWS CLI comando seguente aggiunge il ruolo a un'istanza Oracle DB denominata`mydbinstance`.

**Example**  
Per Linux, macOS o Unix:  

```
aws rds add-role-to-db-instance \
   --db-instance-identifier mydbinstance \
   --feature-name S3_INTEGRATION \
   --role-arn your-role-arn
```
Per Windows:  

```
aws rds add-role-to-db-instance ^
   --db-instance-identifier mydbinstance ^
   --feature-name S3_INTEGRATION ^
   --role-arn your-role-arn
```

Sostituire `your-role-arn` con il ruolo ARN annotato nel passaggio precedente. `S3_INTEGRATION` deve essere specificato per l'opzione `--feature-name`.

# Aggiunta dell'opzione di integrazione Amazon S3
<a name="oracle-s3-integration.preparing.option-group"></a>

Per utilizzare l'integrazione tra Amazon RDS per Oracle e Amazon S3, l'istanza database deve essere associata a un gruppo di opzioni che include l'opzione `S3_INTEGRATION`.

## Console
<a name="oracle-s3-integration.preparing.option-group.console"></a>

**Per configurare un gruppo di opzioni per l'integrazione Amazon S3**

1. Creare un nuovo gruppo di opzioni o identificare un gruppo opzioni esistente a cui è possibile aggiungere l'opzione `S3_INTEGRATION`.

   Per informazioni sulla creazione di un gruppo di opzioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Aggiungere l'opzione `S3_INTEGRATION` al gruppo di opzioni.

   Per informazioni sull'aggiunta di un'opzione a un gruppo di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Crea una nuova istanza database RDS per Oracle e associarvi il gruppo opzioni oppure modificare un'istanza database RDS per Oracle per associare il gruppo opzioni a essa.

   Per informazioni sulla creazione di un'istanza database, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).

   Per ulteriori informazioni sulla modifica di un'istanza database, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="oracle-s3-integration.preparing.option-group.cli"></a>

**Per configurare un gruppo di opzioni per l'integrazione Amazon S3**

1. Creare un nuovo gruppo di opzioni o identificare un gruppo opzioni esistente a cui è possibile aggiungere l'opzione `S3_INTEGRATION`.

   Per informazioni sulla creazione di un gruppo di opzioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Aggiungere l'opzione `S3_INTEGRATION` al gruppo di opzioni.

   Ad esempio, il comando seguente AWS CLI aggiunge l'opzione `S3_INTEGRATION` a un gruppo opzioni denominato **myoptiongroup**.  
**Example**  

   Per Linux, macOS o Unix:

   ```
   aws rds add-option-to-option-group \
      --option-group-name myoptiongroup \
      --options OptionName=S3_INTEGRATION,OptionVersion=1.0
   ```

   Per Windows:

   ```
   aws rds add-option-to-option-group ^
      --option-group-name myoptiongroup ^
      --options OptionName=S3_INTEGRATION,OptionVersion=1.0
   ```

1. Crea una nuova istanza database RDS per Oracle e associarvi il gruppo opzioni oppure modificare un'istanza database RDS per Oracle per associare il gruppo opzioni a essa.

   Per informazioni sulla creazione di un'istanza database, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).

   Per informazioni sulla modifica di un'istanza database RDS per Oracle, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

# Trasferimento dei file tra Amazon RDS for Oracle e un bucket Amazon S3
<a name="oracle-s3-integration.using"></a>

Puoi utilizzare il package Amazon RDS `rdsadmin_s3_tasks` per trasferire file tra un'istanza database RDS per Oracle e un bucket Amazon S3. È possibile comprimere i file con GZIP al momento del caricamento e decomprimerli al momento del download.

**Topics**
+ [

## Requisiti e limitazioni per i trasferimenti di file
](#oracle-s3-integration.using.reqs)
+ [

## Caricamento di file da un'istanza database Oracle a un bucket Amazon S3
](#oracle-s3-integration.using.upload)
+ [

## Download di file da un bucket Amazon S3 a un'istanza database Oracle
](#oracle-s3-integration.using.download)
+ [

## Monitoraggio dello stato di un file transfer
](#oracle-s3-integration.using.task-status)

## Requisiti e limitazioni per i trasferimenti di file
<a name="oracle-s3-integration.using.reqs"></a>

Prima di trasferire i file tra un’istanza database e un bucket Amazon S3, tieni presente quanto segue:
+ Il pacchetto `rdsadmin_s3_tasks` trasferisce i file presenti in una singola directory. Non puoi includere sottodirectory in un trasferimento.
+ La dimensione massima dell'oggetto in un bucket Amazon S3 è di 5 TB. 
+ Le attività create da `rdsadmin_s3_tasks` vengono eseguite in modo asincrono.
+ Puoi caricare i file dalla directory Data Pump, ad esempio `DATA_PUMP_DIR`, o da qualsiasi directory creata dall’utente. Non puoi caricare file da una directory utilizzata dai processi in background di Oracle, ad esempio le directory `adump`, `bdump` o `trace`.
+ Per `download_from_s3`, il limite di scaricamento è pari a 2000 file per ogni chiamata della procedura. Se devi scaricare più di 2000 file da Amazon S3, suddividi il processo di scaricamento in operazioni distinte contenenti non più di 2000 file per chiamata. 
+ Se esiste un file nella cartella di scaricamento e si tenta di scaricare un file con lo stesso nome, `download_from_s3` ignora lo scaricamento del file in questione. Per rimuovere un file dalla directory di download, utilizzare la PL/SQL procedura [UTL\$1FILE.FREMOVE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_FILE.html#GUID-09B09C2A-2C21-4F70-BF04-D0EEA7B59CAF).

## Caricamento di file da un'istanza database Oracle a un bucket Amazon S3
<a name="oracle-s3-integration.using.upload"></a>

Per caricare i file da un'istanza database a un bucket Amazon S3, utilizza la procedura `rdsadmin.rdsadmin_s3_tasks.upload_to_s3`. Ad esempio, è possibile caricare i file di backup di Oracle Recovery Manager (RMAN) o i file di Oracle Data Pump. Per informazioni sull'utilizzo di oggetti, consulta [Guida per l'utente di Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html). Per ulteriori informazioni sull'esecuzione dei backup RMAN, consulta [Esecuzione di attività RMAN comuni per le istanze database Oracle](Appendix.Oracle.CommonDBATasks.RMAN.md).

La procedura `rdsadmin.rdsadmin_s3_tasks.upload_to_s3` include i seguenti parametri.


****  

| Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Description | 
| --- | --- | --- | --- | --- | 
|  `p_bucket_name`  |  VARCHAR2  |  –  |  obbligatorio  |  Il nome del bucket Amazon S3 in cui caricare i file.   | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  obbligatorio  |  Il nome dell'oggetto directory Oracle da cui caricare i file. La directory può essere un qualsiasi oggetto directory creato dall'utente o directory Data Pump, come `DATA_PUMP_DIR`. Non puoi caricare file da una directory utilizzata dai processi in background, ad esempio `adump`, `bdump` o `trace`.  È possibile solo caricare i file dalla directory specificata. NOn è possibile caricare i file nelle sottodirectory nella directory specificata.   | 
|  `p_s3_prefix`  |  VARCHAR2  |  –  |  obbligatorio  |  Un prefisso del nome file Amazon S3 con cui vengono caricati i file. Un prefisso vuoto carica tutti i file al livello superiore nel bucket Amazon S3 specificato e non aggiunge un prefisso ai nomi file.  Ad esempio, se il prefisso è `folder_1/oradb`, i file vengono caricati su `folder_1`. In questo caso, il prefisso `oradb` viene aggiunto a ogni file.   | 
|  `p_prefix`  |  VARCHAR2  |  –  |  obbligatorio  |  Un prefisso nome file con cui i nomi file devono corrispondere per essere caricati. Un prefisso vuoto carica tutti i file nella directory specificata.   | 
|  `p_compression_level`  |  NUMBER  |  `0`   |  facoltativo  |  Il livello di compressione GZIP. I valori validi sono compresi tra `0` e `9`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/oracle-s3-integration.using.html)  | 
|  `p_bucket_owner_full_control`  |  VARCHAR2  |  –  |  facoltativo  |  L'impostazione di controllo degli accessi per il bucket. Gli unici valori validi sono null o `FULL_CONTROL`. Questa impostazione è necessaria solo se si caricano file da un account (account A) in un bucket di proprietà di un account diverso (account B) e l'account B ha bisogno del pieno controllo dei file.  | 

Il valore restituito per la procedura `rdsadmin.rdsadmin_s3_tasks.upload_to_s3` è un ID attività.

L'esempio seguente carica tutti i file nella directory `DATA_PUMP_DIR` nel bucket Amazon S3 denominato *amzn-s3-demo-bucket*. I file non vengono compressi.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket',
      p_prefix         =>  '', 
      p_s3_prefix      =>  '', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

L'esempio seguente carica tutti i file con prefisso `db` nella directory `DATA_PUMP_DIR` nel bucket Amazon S3 denominato `amzn-s3-demo-bucket`. Amazon RDS applica ai file il livello di compressione GZIP più alto.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name       =>  'amzn-s3-demo-bucket', 
      p_prefix            =>  'db', 
      p_s3_prefix         =>  '', 
      p_directory_name    =>  'DATA_PUMP_DIR',
      p_compression_level =>  9) 
   AS TASK_ID FROM DUAL;
```

L'esempio seguente carica tutti i file nella directory `DATA_PUMP_DIR` nel bucket Amazon S3 denominato `amzn-s3-demo-bucket`. I file vengono caricati in una cartella `dbfiles`. In questo esempio, il livello di compressione GZIP è*1*, che è il livello di compressione più veloce.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name       =>  'amzn-s3-demo-bucket', 
      p_prefix            =>  '', 
      p_s3_prefix         =>  'dbfiles/', 
      p_directory_name    =>  'DATA_PUMP_DIR',
      p_compression_level =>  1) 
   AS TASK_ID FROM DUAL;
```

L'esempio seguente carica tutti i file nella directory `DATA_PUMP_DIR` nel bucket Amazon S3 denominato `amzn-s3-demo-bucket`. I file vengono caricati in una cartella `dbfiles` e `ora` viene aggiunto all'inizio di ogni nome file. Non viene applicata alcuna compressione.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket', 
      p_prefix         =>  '', 
      p_s3_prefix      =>  'dbfiles/ora', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

L'esempio seguente presuppone che il comando sia eseguito nell'account A, ma l'account B richiede il pieno controllo del contenuto del bucket. Il comando `rdsadmin_s3_tasks.upload_to_s3` trasferisce tutti i file nella directory `DATA_PUMP_DIR` al bucket denominato `s3bucketOwnedByAccountB`. Il controllo degli accessi è impostato su `FULL_CONTROL` in modo che l'account B possa accedere ai file nel bucket. Il livello di compressione GZIP è*6*, che bilancia velocità e dimensione del file.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name               =>  's3bucketOwnedByAccountB', 
      p_prefix                    =>  '', 
      p_s3_prefix                 =>  '', 
      p_directory_name            =>  'DATA_PUMP_DIR',
      p_bucket_owner_full_control =>  'FULL_CONTROL',
      p_compression_level         =>  6) 
   AS TASK_ID FROM DUAL;
```

In ogni esempio, l'istruzione `SELECT` restituisce l'ID dell'attività in un tipo di dati `VARCHAR2`.

È possibile visualizzare il risultato visualizzando il file di output dell'attività.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Sostituire *`task-id`* con l'ID attività restituito dalla procedura.

**Nota**  
Le attività vengono eseguite in modo asincrono.

## Download di file da un bucket Amazon S3 a un'istanza database Oracle
<a name="oracle-s3-integration.using.download"></a>

Per scaricare i file da un bucket Amazon S3 a un'istanza database RDS per Oracle, utilizza la procedura Amazon RDS `rdsadmin.rdsadmin_s3_tasks.download_from_s3`. 

La procedura `download_from_s3` include i seguenti parametri.


****  

| Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Description | 
| --- | --- | --- | --- | --- | 
|  `p_bucket_name`  |  VARCHAR2  |  –  |  Richiesto  |  Il nome del bucket Amazon S3 da cui scaricare i file.   | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  Richiesto  |  Il nome dell'oggetto directory Oracle su cui scaricare i file. La directory può essere un qualsiasi oggetto directory creato dall'utente o directory Data Pump, come `DATA_PUMP_DIR`.   | 
|  `p_error_on_zero_downloads`  |  VARCHAR2  | FALSE |  Facoltativo  |  Un flag che determina se l'attività genera un errore quando nessun oggetto nel bucket Amazon S3 corrisponde al prefisso. Se questo parametro non è impostato o è impostato su FALSE (impostazione predefinita), l'attività stampa un messaggio che indica che non è stato trovato alcun oggetto, ma non genera un'eccezione o un errore. Se questo parametro è TRUE, l'attività genera un'eccezione e non riesce.  Esempi di specifiche dei prefissi che possono non riuscire nei test di corrispondenza sono gli spazi nei prefissi, come in `' import/test9.log'`, e le mancate corrispondenze tra maiuscole e minuscole, come in `test9.log` e `test9.LOG`.  | 
|  `p_s3_prefix`  |  VARCHAR2  |  –  |  Richiesto  |  Un prefisso nome file con cui i nomi file devono corrispondere per essere scaricati. Un prefisso vuoto scarica tutti i file di livello superiore nel bucket Amazon S3 specificato, ma non i file nelle cartelle nel bucket.  La procedura scarica gli oggetti Amazon S3 solo dalla cartella di primo livello che corrisponde al prefisso. Le strutture directory nidificate corrispondenti al prefisso specificato non vengono scaricate. Ad esempio, si supponga che un bucket Amazon S3 abbia la struttura della cartella `folder_1/folder_2/folder_3`. Specifica il prefisso `'folder_1/folder_2/'`. In questo caso, vengono scaricati solo i file in `folder_2`, non i file in `folder_1` o `folder_3`. Se, invece, viene specificato il prefisso `'folder_1/folder_2'`, tutti i file in `folder_1` che corrispondono al prefisso `'folder_2'` vengono scaricati, mentre i file in `folder_2` non vengono scaricati.  | 
|  `p_decompression_format`  |  VARCHAR2  |  –  |  Facoltativo  |  Il formato di decompressione. I valori validi sono `NONE` per non eseguire la decompressione e `GZIP` per eseguire la decompressione.  | 

Il valore restituito per la procedura `rdsadmin.rdsadmin_s3_tasks.download_from_s3` è un ID attività.

L'esempio seguente scarica tutti i file nel bucket Amazon S3 denominato `amzn-s3-demo-bucket` nella directory `DATA_PUMP_DIR`. I file non sono compressi, quindi non viene applicata alcuna decompressione.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket',
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

L'esempio seguente scarica tutti i file con prefisso `db` nel bucket Amazon S3 denominato `amzn-s3-demo-bucket` nella directory `DATA_PUMP_DIR`. I file non sono compressi, quindi non viene applicata alcuna decompressione. Il parametro `p_error_on_zero_downloads` attiva il controllo degli errori dei prefissi, quindi se il prefisso non corrisponde a nessun file nel bucket, l'attività genera un'eccezione e non riesce.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name               =>  'amzn-s3-demo-bucket', 
      p_s3_prefix                 =>  'db', 
      p_directory_name            =>  'DATA_PUMP_DIR',
      p_decompression_format      =>  'GZIP',
      p_error_on_zero_downloads   =>  'TRUE') 
   AS TASK_ID FROM DUAL;
```

L'esempio seguente scarica tutti i file nella cartella `myfolder/` nel bucket Amazon S3 denominato `amzn-s3-demo-bucket` nella directory `DATA_PUMP_DIR`. Utilizzare il parametro `p_s3_prefix` per specificare la cartella Amazon S3. I file caricati vengono compressi con GZIP, ma non vengono decompressi durante il download. 

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name          =>  'amzn-s3-demo-bucket', 
      p_s3_prefix            =>  'myfolder/', 
      p_directory_name       =>  'DATA_PUMP_DIR',
      p_decompression_format =>  'NONE')
   AS TASK_ID FROM DUAL;
```

L'esempio seguente scarica il file `mydumpfile.dmp` nel bucket Amazon S3 denominato `amzn-s3-demo-bucket` nella directory `DATA_PUMP_DIR`. Non viene applicata alcuna decompressione.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket', 
      p_s3_prefix      =>  'mydumpfile.dmp', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

In ogni esempio, l'istruzione `SELECT` restituisce l'ID dell'attività in un tipo di dati `VARCHAR2`.

È possibile visualizzare il risultato visualizzando il file di output dell'attività.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Sostituire *`task-id`* con l'ID attività restituito dalla procedura.

**Nota**  
Le attività vengono eseguite in modo asincrono.  
Per rimuovere i file da una directory, è possibile utilizzare la procedura Oracle `UTL_FILE.FREMOVE`. Per ulteriori informazioni, consulta la sezione relativa alla [Procedura FREMOVE](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924) nella documentazione di Oracle.

## Monitoraggio dello stato di un file transfer
<a name="oracle-s3-integration.using.task-status"></a>

Le attività di file transfer pubblicano gli eventi Amazon RDS al loro inizio e al completamento. Il messaggio dell'evento contiene l'ID dell'attività per il trasferimento file. Per informazioni sulla visualizzazione degli eventi, consultare [Visualizzazione di eventi Amazon RDS](USER_ListEvents.md).

È possibile visualizzare lo stato di un'attività in corso in un file bdump. I file bdump si trovano nella directory `/rdsdbdata/log/trace`. Il nome del file bdump ha il formato che segue.

```
dbtask-task-id.log
```

Sostituire `task-id` con l'ID dell'attività da monitorare.

**Nota**  
Le attività vengono eseguite in modo asincrono.

Puoi usare la procedura memorizzata in `rdsadmin.rds_file_util.read_text_file` per visualizzare i contenuti dei file bdump. Ad esempio, la query seguente restituisce i contenuti del file bdump `dbtask-1234567890123-1234.log`.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1234567890123-1234.log'));
```

L'esempio seguente mostra il file di log di un trasferimento non riuscito.

```
TASK_ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1234567890123-1234


TEXT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2023-04-17 18:21:33.993 UTC [INFO ] File #1: Uploading the file /rdsdbdata/datapump/A123B4CDEF567890G1234567890H1234/sample.dmp to Amazon S3 with bucket name amzn-s3-demo-bucket and key sample.dmp.
2023-04-17 18:21:34.188 UTC [ERROR] RDS doesn't have permission to write to Amazon S3 bucket name amzn-s3-demo-bucket and key sample.dmp.
2023-04-17 18:21:34.189 UTC [INFO ] The task failed.
```

## Risoluzione dei problemi di integrazione Amazon S3
<a name="oracle-s3-integration.troubleshooting"></a>

Per suggerimenti sulla risoluzione dei problemi, consulta l'articolo nella pagina AWS re:post intitolato [Come posso risolvere i problemi relativi all'integrazione di Amazon RDS per Oracle con Amazon S3?](https://repost.aws/en/knowledge-center/rds-oracle-s3-integration).

# Rimozione dell'opzione di integrazione Amazon S3
<a name="oracle-s3-integration.removing"></a>

Puoi rimuovere l'opzione di integrazione Amazon S3 da un'istanza database. 

Per rimuovere l'opzione di integrazione Amazon S3 da un'istanza database, procedi in uno dei seguenti modi: 
+ Per rimuovere l'opzione di integrazione Amazon S3 da più istanze database, rimuovere l'opzione `S3_INTEGRATION` dal gruppo di opzioni a cui appartengono le istanze database. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).

   
+ Per rimuovere l'opzione di integrazione Amazon S3 da una singola istanza database, modifica l'istanza database e specifica un gruppo di opzioni diverso che non comprenda l'opzione `S3_INTEGRATION`. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

# Oracle Application Express (APEX)
<a name="Appendix.Oracle.Options.APEX"></a>

Amazon RDS supporta Oracle Application Express (APEX) tramite l'utilizzo delle opzioni `APEX` e `APEX-DEV`. Puoi implementare Oracle APEX come ambiente di runtime o come ambiente di sviluppo completo per le applicazioni basate sul web. Utilizzando Oracle APEX, puoi compilare le applicazioni interamente all'interno del browser Web. Per ulteriori informazioni, consulta [Oracle Application Express](https://apex.oracle.com/) nella documentazione di Oracle.

**Topics**
+ [

## Componenti di Oracle APEX
](#Appendix.Oracle.Options.APEX.components)
+ [

# Requisiti e limitazioni
](Appendix.Oracle.Options.APEX.Requirements.md)
+ [

# Configurazione di Oracle APEX e Oracle Rest Data Services (ORDS)
](Appendix.Oracle.Options.APEX.settingUp.md)
+ [

# Configurazione di Oracle Rest Data Services (ORDS)
](Appendix.Oracle.Options.APEX.ORDSConf.md)
+ [

# Aggiornamento e rimozione di Oracle APEX
](Appendix.Oracle.Options.APEX.UpgradeandRemove.md)

## Componenti di Oracle APEX
<a name="Appendix.Oracle.Options.APEX.components"></a>

Oracle APEX è costituito dai seguenti componenti principali:
+ Un *repository* che archivia i metadati per i componenti e le applicazioni Oracle APEX. Il repository è formato da tabelle, indici e altri oggetti che sono installati nella tua istanza database Amazon RDS.
+ Un *listener* che gestisce le comunicazioni HTTP con i client Oracle APEX. L'ascoltatore risiede in un host separato, come un'istanza Amazon EC2, un server on-premise della tua azienda oppure il tuo computer desktop. Il listener accetta le connessioni in entrata dai browser Web, le inoltra all'istanza database Amazon RDS per l'elaborazione e quindi invia nuovamente i risultati dal repository ai browser. 

  RDS per Oracle supporta i seguenti tipi di ascoltatori:
  + Per Oracle APEX versione 5.0 e successive, utilizza Oracle REST Data Services (ORDS) versione 19.1 e successive. Si consiglia di utilizzare la versione più recente supportata di Oracle APEX e ORDS. Questa documentazione descrive le versioni precedenti solo per la compatibilità con le versioni precedenti.
  + Per Oracle APEX versione 4.1.1, puoi utilizzare Oracle APEX Listener versione 1.1.4.
  + È possibile utilizzare Oracle HTTP Server e i listener `mod_plsql`.
**Nota**  
Amazon RDS non supporta il server HTTP Oracle XML DB con il gateway PL/SQL integrato come listener per Oracle APEX. In generale, Oracle consiglia di utilizzare il gateway PL/SQL integrato per le applicazioni eseguite su Internet.

  Per ulteriori informazioni su questi tipi di listener, consulta [About Choosing a Web Listener](https://docs.oracle.com/database/apex-5.1/HTMIG/choosing-web-listener.htm#HTMIG29321) nella documentazione di Oracle.

Quando aggiungi le opzioni `APEX` e `APEX-DEV` all’istanza database RDS per Oracle, Amazon RDS installa solo il repository Oracle APEX. Installa l'ascoltatore su un host separato.

# Requisiti e limitazioni
<a name="Appendix.Oracle.Options.APEX.Requirements"></a>

L’argomento seguente elenca i requisiti e le limitazioni per Oracle APEX e ORDS.

## Requisiti per la versione Oracle APEX
<a name="Appendix.Oracle.Options.APEX.versions"></a>

L’opzione `APEX` utilizza l’archiviazione nella classe di istanza database per l’istanza database. Di seguito si riportano le versioni supportate e i requisiti di storage approssimativi per Oracle APEX.


****  

| Versione di Oracle APEX | Requisiti di storage | Versioni di Oracle Database supportate | Note | 
| --- | --- | --- | --- | 
|  Oracle APEX versione 24.2.v1  |  114 MiB  |  Tutti  |  Questa versione include la patch 37885097: PACCHETTO PSE PER APEX 24.2 (PSES IN AGGIUNTA ALLA 24.2.0), PATCH\$1VERSION 4.  | 
|  Oracle APEX versione 24.1.v1  |  112 MiB  |  Tutti  |  Questa versione include la patch 36695709: PACCHETTO PSE PER APEX 24.1 (PSES IN AGGIUNTA ALLA 24.1.0), PATCH\$1VERSION 3. Se hai bisogno della stessa versione esatta di immagini APEX da installare sull’istanza EC2, scarica la patch 37544819: 24.1.3 PSE BUNDLE PER APEX 24.1 (PSES SU 24.1.0).  | 
|  Oracle APEX versione 23.2.v1  |  110 MiB  |  Tutti  |  Questa versione include la patch 35895964: PSE BUNDLE PER APEX 23.2 (PSES SU 23.2.0), PATCH\$1VERSION 6. Se hai bisogno della stessa versione esatta di immagini APEX da installare sull’istanza EC2, scarica la patch 37593125: 23.2.6 PSE BUNDLE PER APEX 23.2 (PSES SU 23.2.0).  | 
|  Oracle APEX versione 23.1.v1  |  106 MiB  |  Tutti  |  Questa versione include la patch 35283657: PSE BUNDLE FOR APEX 23.1 (PSES ON TOP OF 23.1.0), PATCH\$1VERSION 2.  | 
|  Oracle APEX versione 22.2.v1  |  106 MiB  |  Tutti  |  Questa versione include la patch 34628174: PSE BUNDLE FOR APEX 22.2 (PSES SU 22.2.0), PATCH\$1VERSION 4.  | 
|  Oracle APEX versione 22.1.v1  |  124 MiB  |  Tutti  |  Questa versione include la patch 34020981: PSE BUNDLE FOR APEX 22.1 (PSES SU 22.1.0), PATCH\$1VERSION 6.  | 
|  Oracle APEX versione 21.2.v1  |  125 MiB  |  Tutti  |  Questa versione include la patch 33420059: PSE BUNDLE FOR APEX 21.2 (PSES SU 21.2.0), PATCH\$1VERSION 8.  | 
|  Oracle APEX versione 21.1.v1  |  125 MiB  |  Tutti  |  Questa versione include la patch 32598392: PSE BUNDLE FOR APEX 21.1, PATCH\$1VERSION 3.  | 
|  Oracle APEX versione 20.2.v1  |  148 MiB  |  Tutti tranne Oracle Database 21c  |  Questa versione include la patch 32006852: PSE BUNDLE FOR APEX 20.2, PATCH\$1VERSION 2020.11.12. È possibile visualizzare il numero e la data della patch eseguendo la seguente query: <pre>SELECT PATCH_VERSION, PATCH_NUMBER <br />FROM   APEX_PATCHES;</pre>  | 
|  Oracle APEX versione 20.1.v1  |  173 MiB  |  Tutti tranne Oracle Database 21c  |  Questa versione include la patch 30990551: PSE BUNDLE FOR APEX 20.1, PATCH\$1VERSION 2020.07.15.  | 
|  Oracle APEX versione 19.2.v1  |  149 MiB  |  Tutti tranne Oracle Database 21c  |  | 
|  Oracle APEX versione 19.1.v1  |  148 MiB  |  Tutti tranne Oracle Database 21c  |  | 

Per i file .zip Oracle APEX scaricabili, consulta [Oracle APEX Prior Release Archives](https://www.oracle.com/tools/downloads/apex-all-archives-downloads.html) sul sito web di Oracle.

## Prerequisiti per Oracle APEX e ORDS
<a name="Appendix.Oracle.Options.APEX.PreReqs"></a>

Di seguito sono indicati i prerequisiti per l’utilizzo di Oracle APEX e ORDS:
+ È necessario che il sistema utilizzi l’ambiente di runtime Java (JRE).
+ L'installazione client Oracle deve includere quanto segue:
  + SQL\$1Plus o SQL Developer per le attività di amministrazione
  + Oracle Net Services per la configurazione delle connessioni all'istanza database RDS per Oracle

## Limitazioni Oracle APEX
<a name="Appendix.Oracle.Options.APEX.limitations"></a>

Non puoi modificare l’account utente `APEX_version`, che è gestito da Amazon RDS. Pertanto, non puoi applicare profili di database né applicare regole delle password a questo utente. I profili e le impostazioni delle password per `APEX_version` sono predefiniti da Oracle AWS e sono progettati per soddisfare i requisiti di sicurezza di Amazon RDS.

# Configurazione di Oracle APEX e Oracle Rest Data Services (ORDS)
<a name="Appendix.Oracle.Options.APEX.settingUp"></a>

L’argomento seguente elenca i passaggi necessari per configurare Oracle APEX e ORDS

**Topics**
+ [

## Aggiunta delle opzioni APEX e APEX-DEV all’istanza database
](#Appendix.Oracle.Options.APEX.Add)
+ [

## Sblocco dell’account utente pubblico sull’istanza database
](#Appendix.Oracle.Options.APEX.PublicUser)
+ [

## Configurazione dei RESTful servizi per Oracle APEX
](#Appendix.Oracle.Options.APEX.ConfigureRESTful)
+ [

## Preparazione per installare ORDS su un host separato
](#Appendix.Oracle.Options.APEX.ORDS.ords-setup)
+ [

## Impostazione del listener Oracle APEX
](#Appendix.Oracle.Options.APEX.Listener)

## Aggiunta delle opzioni APEX e APEX-DEV all’istanza database
<a name="Appendix.Oracle.Options.APEX.Add"></a>

Per aggiungere le opzioni `APEX` e `APEX-DEV` a un’istanza database di RDS per Oracle, esegui le operazioni indicate di seguito: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungi le opzioni `APEX` e `APEX-DEV` al gruppo di opzioni.

1. Associa il gruppo di opzioni a questa istanza database.

Quando aggiungi le opzioni `APEX` e `APEX-DEV`, si verifica una breve interruzione mentre l’istanza database viene riavviata automaticamente. 

**Nota**  
`APEX_MAIL` è disponibile se l'opzione `APEX` è installata. Il privilegio di esecuzione per il pacchetto `APEX_MAIL` è concesso a `PUBLIC` e quindi non è necessario l'account amministrativo APEX per utilizzarlo.

**Per aggiungere le opzioni APEX e APEX-DEV a un’istanza database**

1. Determinare il gruppo di opzioni che si vuole usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. Per **Engine (Motore)**, scegliere l'edizione di Oracle da utilizzare. Le opzioni `APEX` e `APEX-DEV` sono supportate in tutte le edizioni. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere le opzioni al gruppo di opzioni. Per distribuire solo l’ambiente di runtime Oracle APEX aggiungi solo l’opzione `APEX`. Per distribuire l’ambiente di sviluppo completo, aggiungi entrambe le opzioni `APEX` e `APEX-DEV`.

   In **Versione**, scegli la versione di Oracle APEX che desideri utilizzare.
**Importante**  
Se aggiungi le opzioni `APEX` o `APEX-DEV` a un gruppo di opzioni esistente già associato a una o più istanze database, si verifica una breve interruzione. Durante questa interruzione, tutte le istanze database vengono riavviate automaticamente. 

   Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Quando aggiungi le opzioni `APEX` o `APEX-DEV` a un’istanza database esistente, si verifica una breve interruzione mentre l’istanza database viene riavviata automaticamente. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Sblocco dell’account utente pubblico sull’istanza database
<a name="Appendix.Oracle.Options.APEX.PublicUser"></a>

Dopo aver installato le opzioni `APEX` o `APEX-DEV` sull’istanza database, assicurati di eseguire le operazioni indicate di seguito:

1. Modifica della password per l’account `APEX_PUBLIC_USER`.

1. Sbloccare l'account.

Per farlo, utilizza l'utilità a riga di comando Oracle SQL\$1Plus. Connettiti alla tua istanza database come utente master e utilizza i seguenti comandi. Sostituisci `new_password` con una password a tua scelta. 

```
1. ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password;
2. ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
```

## Configurazione dei RESTful servizi per Oracle APEX
<a name="Appendix.Oracle.Options.APEX.ConfigureRESTful"></a>

Per configurare RESTful i servizi in Oracle APEX (non necessari per Oracle APEX 4.1.1.v1), usa SQL\$1Plus per connetterti all'istanza DB come utente principale. Successivamente, esegui la stored procedure `rdsadmin.rdsadmin_run_apex_rest_config`. Quando esegui la stored procedure, fornisci le password per i seguenti utenti:
+ `APEX_LISTENER`
+ `APEX_REST_PUBLIC_USER`

La stored procedure esegue lo script `apex_rest_config.sql`, che crea nuovi account database per questi utenti.

**Nota**  
Oracle APEX versione 4.1.1.v1 non necessita configurazione. Per questa versione di Oracle APEX non devi eseguire la procedura archiviata.

Il comando seguente avvia la procedura archiviata.

```
1. EXEC rdsadmin.rdsadmin_run_apex_rest_config('apex_listener_password', 'apex_rest_public_user_password');
```

## Preparazione per installare ORDS su un host separato
<a name="Appendix.Oracle.Options.APEX.ORDS.ords-setup"></a>

Installa ORDS in un host separato, come un’istanza Amazon EC2, un server on-premises nella tua azienda oppure il tuo computer desktop. Negli esempi riportati in questa sezione si suppone che l’host esegua Linux e sia denominato `myapexhost.example.com`.

Prima di poter installare ORDS, è necessario creare un utente del sistema operativo senza privilegi, quindi scaricare e decomprimere il file di installazione Oracle APEX.

**Per preparare l'installazione di ORDS**

1. Accedere a `myapexhost.example.com` come `root`. 

1. Creare un utente del sistema operativo senza privilegi che possieda l'installazione del listener. Il comando seguente crea un nuovo utente denominato *apexuser*. 

   ```
   useradd -d /home/apexuser apexuser
   ```

   Il seguente comando assegna una password al nuovo utente. 

   ```
   passwd apexuser;
   ```

1. Accedi a `myapexhost.example.com` come `apexuser` e scarica il file di installazione Oracle APEX da Oracle e salvalo nella directory `/home/apexuser`: 
   + [http://www.oracle. com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Oracle Application Express Prior Release Archives](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. Decomprimi il file nella directory `/home/apexuser`.

   ```
   unzip apex_version.zip
   ```

   Dopo aver decompresso il file, troverai una directory `apex` nella directory `/home/apexuser`.

1. [Mentre sei ancora connesso`apexuser`, scarica il file Oracle REST Data Services da Oracle `/home/apexuser` nella tua directory: http://www.oracle. `myapexhost.example.com` com/technetwork/developer-tools/apex-listener/downloads/index.html.](http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html)

## Impostazione del listener Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener"></a>

**Nota**  
Il listener Oracle APEX è obsoleto. 

Amazon RDS per Oracle continua a supportare Oracle APEX versione 4.1.1 e Oracle APEX Listener versione 1.1.4. Si consiglia di utilizzare le versioni più recenti supportate di Oracle APEX e ORDS.

Installa Oracle APEX Listener in un host separato, come un'istanza Amazon EC2, un server locale nella tua azienda oppure il tuo computer desktop. Ipotizziamo che il nome del tuo host sia `myapexhost.example.com` e che esegua Linux.

### Preparazione all'installazione del listener Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener.preparing"></a>

Prima di installare il listener Oracle APEX, è necessario creare un utente del sistema operativo senza privilegi, quindi scaricare e decomprimere il file di installazione Oracle APEX.

**Per preparare l'installazione del listener Oracle APEX**

1. Accedere a `myapexhost.example.com` come `root`. 

1. Creare un utente del sistema operativo senza privilegi che possieda l'installazione del listener. Il comando seguente crea un nuovo utente denominato *apexuser*. 

   ```
   useradd -d /home/apexuser apexuser
   ```

   Il seguente comando assegna una password al nuovo utente. 

   ```
   passwd apexuser;
   ```

1. Accedi a `myapexhost.example.com` come `apexuser` e scarica il file di installazione Oracle APEX da Oracle e salvalo nella directory `/home/apexuser`: 
   + [http://www.oracle. com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Oracle Application Express Prior Release Archives](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. Decomprimi il file nella directory `/home/apexuser`.

   ```
   unzip apex_<version>.zip                
   ```

   Dopo aver decompresso il file, troverai una directory `apex` nella directory `/home/apexuser`.

1. Rimanendo collegato a `myapexhost.example.com` come `apexuser`, scarica il file di APEX Listener da Oracle e salvalo nella directory `/home/apexuser`:

#### Installazione e configurazione del listener Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener.installing"></a>

Prima di poter utilizzare Oracle APEX, è necessario scaricare il file `apex.war`, utilizzare Java per installare il listener Oracle APEX e quindi avviare il listener.

**Per installare e configurare il listener Oracle APEX**

1. Creare una nuova directory basata sul listener Oracle APEX e aprire il file listener:

   Eseguire il seguente codice:

   ```
   mkdir /home/apexuser/apexlistener
   cd /home/apexuser/apexlistener 
   unzip ../apex_listener.version.zip
   ```

1. Eseguire il seguente codice.

   ```
   java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
   ```

1. Il programma richiede le seguenti informazioni. 
   + Nome dell'utente amministratore di APEX Listener. Il valore predefinito è *adminlistener*. 
   + Una password per l'amministratore APEX Listener. 
   + Nome dell'utente manager di APEX Listener. Il valore predefinito è *managerlistener*. 
   + Una password per l'amministratore APEX Listener. 

   Il programma stampa un URL necessario per completare la configurazione nel modo seguente:

   ```
   INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure
   Database is not yet configured
   ```

1. Lasciare il listener Oracle APEX in esecuzione in modo da poter utilizzare Oracle Application Express. Al termine della procedura di configurazione è possibile eseguire il listener in background. 

1. Dal browser web, accedere all’URL fornito dal programma Oracle APEX Listener. Viene visualizzata la finestra di amministrazione di Oracle Application Express Listener. Immettere le seguenti informazioni: 
   + **Username (Nome utente** – `APEX_PUBLIC_USER`
   + **Password** – La password per *APEX\$1PUBLIC\$1USER*. La password è una di quelle specificate in precedenza durante la configurazione del repository Oracle APEX. Per ulteriori informazioni, consulta [Sblocco dell’account utente pubblico sull’istanza database](#Appendix.Oracle.Options.APEX.PublicUser). 
   + **Connection Type (Tipo di connessione)** – Basic (Di base) 
   + **Hostname (Nome host)** – Endpoint dell'istanza database Amazon RDS, ad esempio `mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com`. 
   + **Port (Porta** – 1521
   + **SID** – Nome del database nell'istanza database Amazon RDS, ad esempio `mydb`. 

1. Scegliere **Apply (Applica)**. Viene visualizzata la finestra di amministrazione Oracle APEX. 

1. Imposta una password per l’utente `admin` di Oracle APEX. Per farlo, utilizzare SQL\$1Plus per connettersi alla propria istanza database come utente master, quindi utilizzare i seguenti comandi:

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Sostituire `master` con il proprio nome utente master. Quando lo script `apxchpwd.sql` lo richiede, inserire una nuova password `admin`. 

1. Torna alla finestra di amministrazione Oracle APEX nel browser e scegli l’opzione **Administration**. Scegliere quindi **Application Express Internal Administration (Amministrazione interna Application Express)**. Quando vengono richieste le credenziali, inserire le seguenti informazioni: 
   + **User name (Nome utente** – `admin` 
   + **Password** – La password impostata usando lo script `apxchpwd.sql` 

   Scegliere **Login (Accedi)**, quindi impostare una nuova password per l'utente `admin`. 

Il listener è ora pronto per essere utilizzato.

# Configurazione di Oracle Rest Data Services (ORDS)
<a name="Appendix.Oracle.Options.APEX.ORDSConf"></a>

L’argomento seguente illustra le opzioni di configurazione per ORDS 21 e 22:

**Topics**
+ [

## Installazione e configurazione di ORDS 21 e versioni precedenti
](#Appendix.Oracle.Options.APEX.ORDS)
+ [

## Installazione e configurazione di ORDS 22 e versioni successive
](#Appendix.Oracle.Options.APEX.ORDS22)

## Installazione e configurazione di ORDS 21 e versioni precedenti
<a name="Appendix.Oracle.Options.APEX.ORDS"></a>

È ora possibile installare e configurare Oracle Rest Data Services (ORDS) per l'utilizzo con Oracle APEX. Per Oracle APEX versione 5.0 e versioni successive, utilizza ORDS versioni da 19.1 a 21. Per informazioni su come installare ORDS 22 e versioni successive, consulta [Installazione e configurazione di ORDS 22 e versioni successive](#Appendix.Oracle.Options.APEX.ORDS22).

Installa il listener in un host separato, come un'istanza Amazon EC2, un server locale nella tua azienda oppure il tuo computer desktop. Per gli esempi in questa sezione, supponiamo che il nome dell'host sia `myapexhost.example.com` e che l'host esegua Linux.

**Per installare e configurare ORDS 21 e versioni precedenti per l’utilizzo con Oracle APEX**

1. Vai ai [Oracle REST data services](https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads-212.html) ed esamina il file Readme. Verifica che sia installata la versione richiesta di Java.

1. Crea una nuova directory per l’installazione di ORDS.

   ```
   mkdir /home/apexuser/ORDS
   cd /home/apexuser/ORDS
   ```

1. Scarica il file `ords.version.number.zip` da [Oracle REST Data Services](https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads-212.html).

1. Decomprimere il file nella directory `/home/apexuser/ORDS`.

1. Se stai installando ORDS in un database multilocazione, aggiunge la riga seguente al file `/home/apexuser/ORDS/params/ords_params.properties`:

   ```
   pdb.disable.lockdown=false
   ```

1. Concedere all'utente master i privilegi necessari per installare ORDS.

   Una volta installate le opzioni per Oracle APEX, concedi all’utente master i privilegi necessari per installare lo schema ORDS. Questa operazione può essere eseguita collegandosi al database ed eseguendo questi comandi: Sostituisci `MASTER_USER` con il nome in maiuscolo dell'utente master.
**Importante**  
Quando si immette il nome utente, utilizzare maiuscole a meno che l'utente non sia stato creato con un identificatore con distinzione tra maiuscole e minuscole. Ad esempio, se esegui `CREATE USER myuser` o `CREATE USER MYUSER`, il dizionario dati memorizza `MYUSER`. Tuttavia, se si utilizzano virgolette doppie in `CREATE USER "MyUser"`, il dizionario dati memorizza `MyUser`. Per ulteriori informazioni, consulta [Concedere privilegi SELECT o EXECUTE agli oggetti SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md).

   ```
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true);
   ```
**Nota**  
Questi comandi si applicano a ORDS versione 19.1 e successive.

1. Installare lo schema ORDS utilizzando il file scaricato ords.war.

   ```
   java -jar ords.war install advanced
   ```

   Il programma richiede le seguenti informazioni. I valori predefiniti sono riportati tra parentesi. Per altre informazioni, consulta l'articolo relativo a [Introduzione a Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/20.2/aelig/installing-REST-data-services.html#GUID-6F7B4E61-B730-4E73-80B8-F53299123730) nella documentazione Oracle.
   + Destinazione di archiviazione dei dati di configurazione

     Specificare (sì */home/apexuser/ORDS*. Questa è la posizione dei file di configurazione di ORDS.
   + Specificare il tipo di connessione al database da utilizzare. Immettere il numero per [1] Basic [2] TNS [3] URL personalizzato [1]:

     Scegliere il tipo di connessione desiderato.
   + Immettete il nome del server del database [localhost]: *DB\$1instance\$1endpoint*

     Scegli il valore predefinito o digita il valore corretto.
   + Immettete la porta del listener del database [1521]: *DB\$1instance\$1port*

     Scegli il valore predefinito o digita il valore corretto.
   + Immettere 1 per specificare il nome del servizio di database o 2 per specificare il SID del database [1]:

     Scegliere `2` per specificare il SID del database. 
   + SID del database [xe]

     Scegli il valore predefinito o digita il valore corretto.
   + Immettere 1 se si desidera utilizzare lo schema verify/install Oracle REST Data Services o 2 per saltare questo passaggio [1]:

     Scegliere `1`. Questo passaggio crea l'utente proxy di Oracle REST Data Services denominato ORDS\$1PUBLIC\$1USER.
   + Immettere la password del database per ORDS\$1PUBLIC\$1USER:

     Immettere la password, quindi confermarla.
   + Richiede l’accesso con i privilegi di amministratore per verificare lo schema Oracle REST Data Services.

     Immettere il nome utente dell'amministratore: *master\$1user*

     Inserisci la password del database per*master\$1user*: *master\$1user\$1password*

     Conferma la password: *master\$1user\$1password*
**Nota**  
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
   + Inserire lo spazio tabella predefinito per ORDS\$1METADATA [SYSAUX].

     Inserire lo spazio tabella temporaneo per ORDS\$1METADATA [TEMP].

     Inserire lo spazio tabella predefinito per ORDS\$1PUBLIC\$1USER [USERS].

     Inserire lo spazio tabella temporaneo per ORDS\$1PUBLIC\$1USER [USERS].
   + Inserisci 1 se desideri utilizzare PL/SQL Gateway o 2 per saltare questo passaggio. Se si sta utilizzando Oracle Application Express o si sta migrando da mod\$1plsql, inserire 1 [1].

     Scegliere il valore predefinito.
   + Immettete il nome utente del database PL/SQL Gateway [APEX\$1PUBLIC\$1USER]

     Scegliere il valore predefinito.
   + Inserire la password del database per APEX\$1PUBLIC\$1USER

     Immettere la password, quindi confermarla.
   + Immettete 1 per specificare le password per gli utenti del database di Application Express RESTful Services (APEX\$1LISTENER, APEX\$1REST\$1PUBLIC\$1USER) o 2 per saltare questo passaggio [1]:

     Scegliere `2` per APEX 4.1.1.V1 oppure scegliere `1` per tutte le altre versioni di APEX.
   + [Non necessario per APEX 4.1.1.v1] Password di database per APEX\$1LISTENER

     Immettere la password (se necessario), quindi confermarla.
   + [Non necessario per APEX 4.1.1.v1] Password di database per APEX\$1REST\$1PUBLIC\$1USER

     Immettere la password (se necessario), quindi confermarla.
   + Immettere un numero per selezionare una funzione da abilitare:

     Immettere `1` per abilitare tutte le funzioni: SQL Developer Web, REST Enabled SQL e Database API.
   + Immettere 1 se si desidera avviare in modalità standalone o 2 per uscire [1]:

     Specificare (sì `1`.
   + Immettere l'ubicazione delle risorse statiche APEX:

     Se i file di installazione APEX sono stati decompressi in `/home/apexuser`, immettere `/home/apexuser/apex/images`. Altrimenti, inserisci, dov'è la directory in cui hai decompresso il file. `unzip_path/apex/images` *unzip\$1path*
   + Immettere 1 se si utilizza HTTP o 2 se si utilizza HTTPS [1]:

     Se si immette `1`, specificare la porta HTTP. Se si immette `2`, specificare la porta HTTPS e il nome host SSL. L'opzione HTTPS richiede di specificare come si fornirà il certificato:
     + Immettere `1` per utilizzare il certificato autofirmato.
     + Immettere `2` per fornire il proprio certificato. Se si immette `2`, specificare il percorso per il certificato SSL e il percorso per la chiave privata del certificato SSL.

1. Impostare una password per l'utente `admin` APEX. Per farlo, utilizzare SQL\$1Plus per connettersi alla propria istanza database come utente master, quindi utilizzare i seguenti comandi:

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Sostituire `master` con il proprio nome utente master. Quando lo script `apxchpwd.sql` lo richiede, inserire una nuova password `admin`. 

1. Avviare il listener ORDS. Eseguire il seguente codice.

   ```
   java -jar ords.war
   ```

   Al primo avvio dell'ORDS viene richiesto di fornire la posizione delle risorse statiche APEX. Questa cartella di immagini è posizionata nella directory `/apex/images` all’interno della directory di installazione per APEX. 

1. Torna alla finestra di amministrazione Oracle APEX nel browser e scegli l’opzione **Administration**. Scegliere quindi **Application Express Internal Administration (Amministrazione interna Application Express)**. Quando vengono richieste le credenziali, inserire le seguenti informazioni: 
   + **User name (Nome utente** – `admin` 
   + **Password** – La password impostata usando lo script `apxchpwd.sql` 

   Scegliere **Login (Accedi)**, quindi impostare una nuova password per l'utente `admin`. 

Il listener è ora pronto per essere utilizzato.

## Installazione e configurazione di ORDS 22 e versioni successive
<a name="Appendix.Oracle.Options.APEX.ORDS22"></a>

È ora possibile installare e configurare Oracle Rest Data Services (ORDS) per l'utilizzo con Oracle APEX. Per gli esempi in questa sezione, supponiamo che il nome dell’host separato sia `myapexhost.example.com` e che l’host esegua Linux. Le istruzioni per ORDS 22 differiscono da quelle per le versioni precedenti.

**Per installare e configurare ORDS 22 e versioni successive per l’uso con Oracle APEX**

1. Vai ai [Oracle REST data services](http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html) ed esamina il file Readme per la versione di ORDS che intendi scaricare. Verifica che sia installata la versione richiesta di Java.

1. Crea una nuova directory per l’installazione di ORDS.

   ```
   mkdir /home/apexuser/ORDS
   cd /home/apexuser/ORDS
   ```

1. Scarica il file `ords.version.number.zip` o `ords-latest.zip` da [Oracle REST data services](http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html).

1. Decomprimere il file nella directory `/home/apexuser/ORDS`.

1. Concedere all'utente master i privilegi necessari per installare ORDS.

   Una volta installata l’opzione `APEX`, concedi all’utente master i privilegi necessari per installare lo schema ORDS. Questa operazione può essere eseguita collegandosi al database ed eseguendo questi comandi: Sostituisci `MASTER_USER` con il nome in maiuscolo dell'utente master.
**Importante**  
Quando si immette il nome utente, utilizzare maiuscole a meno che l'utente non sia stato creato con un identificatore con distinzione tra maiuscole e minuscole. Ad esempio, se esegui `CREATE USER myuser` o `CREATE USER MYUSER`, il dizionario dati memorizza `MYUSER`. Tuttavia, se si utilizzano virgolette doppie in `CREATE USER "MyUser"`, il dizionario dati memorizza `MyUser`. Per ulteriori informazioni, consulta [Concedere privilegi SELECT o EXECUTE agli oggetti SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md).

   ```
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true);
   
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOB', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_ASSERT', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_OUTPUT', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SCHEDULER', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('HTP', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('OWA', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPG_DOCLOAD', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_METADATA', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SQL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('UTL_SMTP', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_NETWORK_ACL_ADMIN', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('SESSION_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_USERS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACL_PRIVILEGES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACLS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'MASTER_USER', 'SELECT', true);
   ```
**Nota**  
I comandi precedenti si applicano a ORDS 22 e versioni successive.

1. Installa lo schema ORDS utilizzando lo script `ords` scaricato. Specifica le directory in cui inserire i file di configurazione e i file di log. Oracle Corporation consiglia di non inserire queste directory nella directory che contiene il software del prodotto ORDS.

   ```
   mkdir -p /home/apexuser/ords_config /home/apexuser/ords_logs
   
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config \
     install --interactive --log-folder /home/apexuser/ords_logs
   ```

   Per le istanze database che eseguono l’architettura del database dei container (CDB), utilizza ORDS 23.3 o versioni successive e passa l’argomento `--pdb-skip-disable-lockdown` durante l’installazione di ORDS.

   ```
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config \
     install --interactive --log-folder /home/apexuser/ords_logs --pdb-skip-disable-lockdown
   ```

   Il programma richiede le seguenti informazioni. I valori predefiniti sono riportati tra parentesi. Per altre informazioni, consulta l'articolo relativo a [Introduzione a Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/20.2/aelig/installing-REST-data-services.html#GUID-6F7B4E61-B730-4E73-80B8-F53299123730) nella documentazione Oracle.
   + `Choose the type of installation:`

     Sceglie **2** per installare gli schemi ORDS nel database e creare un pool di connessioni al database nei file di configurazione ORDS locali.
   + `Specify the database connection type to use. Enter number for [1] Basic [2] TNS [3] Custom URL:`

     Scegliere il tipo di connessione desiderato. Questo esempio presuppone che tu scelga **1**.
   + `Enter the name of the database server [localhost]:` ***DB\$1instance\$1endpoint***

     Scegli il valore predefinito o digita il valore corretto.
   + `Enter the database listener port [1521]:` ***DB\$1instance\$1port***

     Scegli il valore predefinito **1521** o digita il valore corretto.
   + `Enter the database service name [orcl]:`

     Immetti il nome del database utilizzato dall’istanza database RDS per Oracle.
   + `Provide database user name with administrator privileges`

      Inserisci il nome utente master per l’istanza database RDS per Oracle.
   + `Enter the database password for [username]:`

     Inserisci la password dell’utente master per l’istanza database RDS per Oracle.
   + `Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]:`
   + `Enter the temporary tablespace for ORDS_METADATA [TEMP]. Enter the default tablespace for ORDS_PUBLIC_USER [USERS]. Enter the temporary tablespace for ORDS_PUBLIC_USER [TEMP].`
   + `Enter a number to select additional feature(s) to enable [1]:`
   + `Enter a number to configure and start ORDS in standalone mode [1]: `

      Scegli **2** per saltare immediatamente l’avvio di ORDS in modalità standalone.
   + `Enter a number to select the protocol [1] HTTP`
   + `Enter the HTTP port [8080]:`
   + `Enter the APEX static resources location:`

     Immetti il percorso ai file di installazione di Oracle APEX (`/home/apexuser/apex/images`).

1. Imposta una password per l’utente `admin` di Oracle APEX. Per farlo, utilizzare SQL\$1Plus per connettersi alla propria istanza database come utente master, quindi utilizzare i seguenti comandi:

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Sostituire `master` con il proprio nome utente master. Quando lo script `apxchpwd.sql` lo richiede, inserire una nuova password `admin`. 

1. Esegui ORDS in modalità standalone utilizzando lo script `ords` con il comando `serve`. Per le implementazioni di produzione, prendi in considerazione l'utilizzo di server applicativi Java EE supportati come Apache Tomcat o Oracle Server. WebLogic Per altre informazioni, consulta l’articolo [Deploying and Monitoring Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/23.1/ordig/deploying-and-monitoring-oracle-rest-data-services.html#GUID-6791F5DF-AC67-4885-BFFA-B80964C17EC9) nella documentazione Oracle.

   ```
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config serve \
     --port 8193 \
     --apex-images /home/apexuser/apex/images
   ```

   Se ORDS è in esecuzione, ma non è possibile accedere all’installazione di Oracle APEX, è possibile che venga visualizzato il seguente errore, in particolare sulle istanze non CDB. 

   ```
   The procedure named apex_admin could not be accessed, it may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access.
   ```

   Per correggere questo errore, modifica la funzione di convalida della richiesta utilizzata da ORDS eseguendo lo script `ords` con il comando `config`. Per impostazione predefinita, ORDS utilizza la procedura `ords_util.authorize_plsql_gateway`, che è supportata solo sulle istanze CDB. Per le istanze non CDB, puoi modificare questa procedura nel pacchetto `wwv_flow_epg_include_modules.authorize`. Consulta la documentazione di Oracle Database e Oracle Support per le best practice sulla configurazione della funzione di convalida delle richieste appropriata per il tuo caso d’uso.

1. Torna alla finestra di amministrazione Oracle APEX nel browser e scegli l’opzione **Administration**. Scegliere quindi **Application Express Internal Administration (Amministrazione interna Application Express)**. Quando vengono richieste le credenziali, inserire le seguenti informazioni: 
   + **User name (Nome utente** – `admin` 
   + **Password** – La password impostata usando lo script `apxchpwd.sql` 

   Scegliere **Login (Accedi)**, quindi impostare una nuova password per l'utente `admin`. 

Il listener è ora pronto per essere utilizzato.

# Aggiornamento e rimozione di Oracle APEX
<a name="Appendix.Oracle.Options.APEX.UpgradeandRemove"></a>

Per aggiornare o rimuovere Oracle APEX, segui le istruzioni riportate in questo argomento:

**Topics**
+ [

## Aggiornamento della versione di Oracle APEX
](#Appendix.Oracle.Options.APEX.Upgrade)
+ [

## Aggiunta delle opzioni APEX e APEX-DEV
](#Appendix.Oracle.Options.APEX.Remove)

## Aggiornamento della versione di Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Upgrade"></a>

**Importante**  
Effettua il backup della tua istanza database prima di aggiornare Oracle APEX. Per ulteriori informazioni, consultare [Creazione di uno snapshot del database per un’istanza database Single-AZ per Amazon RDS](USER_CreateSnapshot.md) e [Verifica di un aggiornamento del database Oracle](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md). 

Per aggiornare Oracle APEX con l’istanza database, utilizza la seguente procedura: 
+ Creare un nuovo gruppo di opzioni per la versione aggiornata dell'istanza database. 
+ Aggiungi le versioni aggiornate di `APEX` e `APEX-DEV` al nuovo gruppo di opzioni. Assicurarsi di includere eventuali altre opzioni utilizzate dall'istanza database. Per ulteriori informazioni, consulta [Considerazioni su gruppi di opzioni](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG). 
+ Al momento dell'aggiornamento dell'istanza database, specificare il nuovo gruppo di opzioni per la propria istanza database aggiornata. 

Dopo l’aggiornamento della versione di Oracle APEX, lo schema Oracle APEX per la precedente versione potrebbe comunque rimanere all’interno del database. Se non ne hai più bisogno, puoi eliminare il vecchio schema Oracle APEX dal database dopo l’aggiornamento. 

Se si aggiorna la versione di Oracle APEX e RESTful i servizi non erano configurati nella versione precedente di Oracle APEX, si consiglia di configurare RESTful i servizi. Per ulteriori informazioni, consulta [Configurazione dei RESTful servizi per Oracle APEX](Appendix.Oracle.Options.APEX.settingUp.md#Appendix.Oracle.Options.APEX.ConfigureRESTful).

In alcuni casi, quando pianifichi di eseguire un aggiornamento della versione principale dell’istanza database, è possibile che la versione APEX in uso non sia compatibile con la versione del database di destinazione. In questi casi, puoi aggiornare la versione di Oracle APEX prima di aggiornare l’istanza database. In questo modo, puoi ridurre il tempo necessario per aggiornare l’istanza database. 

**Nota**  
Dopo l’aggiornamento di Oracle APEX, installa e configura un listener da utilizzare con la versione aggiornata. Per istruzioni, consulta [Impostazione del listener Oracle APEX](Appendix.Oracle.Options.APEX.settingUp.md#Appendix.Oracle.Options.APEX.Listener).

## Aggiunta delle opzioni APEX e APEX-DEV
<a name="Appendix.Oracle.Options.APEX.Remove"></a>

Puoi rimuovere le opzioni `APEX` e `APEX-DEV` dall’istanza database. Per rimuovere queste opzioni dall’istanza database, procedi in uno dei seguenti modi: 
+ Per rimuovere le opzioni `APEX` e `APEX-DEV` da più istanze database, rimuovile dal gruppo di opzioni a cui appartengono. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Quando rimuovi le opzioni da un gruppo di opzioni associato a più istanze database, si verifica una breve interruzione mentre le istanze database vengono riavviate. 

  Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Per rimuovere le opzioni `APEX` e `APEX-DEV` da una singola istanza database, modifica l’istanza database e specifica un gruppo di opzioni diverso che non comprenda queste opzioni. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Quando rimuovi le opzioni, si verifica una breve interruzione mentre l’istanza database viene riavviata automaticamente. 

  Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

Quando rimuovi le opzioni `APEX` e `APEX-DEV` da un’istanza database, lo schema APEX viene rimosso dal database. 

# Integrazione Amazon EFS
<a name="oracle-efs-integration"></a>

Amazon Elastic File System (Amazon EFS) fornisce un'archiviazione di file serverless e completamente elastica in modo da poter condividere i dati dei file senza dover fornire o gestire la capacità e le prestazioni di archiviazione. Con Amazon EFS, puoi creare un file system e poi montarlo nel tuo VPC tramite le versioni 4.0 e 4.1 () NFSv4 del protocollo NFS. È quindi utilizzare il file system EFS come qualsiasi altro file system compatibile con POSIX. Per informazioni generali, consulta l'argomento relativo ad [Amazon Elastic File System](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) e il post del blog  AWS  relativo all'[integrazione di Amazon RDS per Oracle con Amazon EFS](https://aws.amazon.com//blogs/database/integrate-amazon-rds-for-oracle-with-amazon-efs/).

**Topics**
+ [

## Panoramica dell'integrazione Amazon EFS
](#oracle-efs-integration.overview)
+ [

# Configurazione delle autorizzazioni di rete per l'integrazione RDS per Oracle con Amazon EFS
](oracle-efs-integration.network.md)
+ [

# Configurazione delle autorizzazioni IAM per l'integrazione RDS per Oracle con Amazon EFS
](oracle-efs-integration.iam.md)
+ [

# Aggiunta dell'opzione EFS\$1INTEGRATION
](oracle-efs-integration.adding.md)
+ [

# Configurazione delle autorizzazioni del file system Amazon EFS
](oracle-efs-integration.file-system.md)
+ [

# Trasferimento di file tra RDS per Oracle e un file system Amazon EFS
](oracle-efs-integration.transferring.md)
+ [

# Rimozione dell'opzione EFS\$1INTEGRATION
](oracle-efs-integration.removing.md)
+ [

# Risoluzione dei problemi di integrazione Amazon EFS
](oracle-efs-integration.troubleshooting.md)

## Panoramica dell'integrazione Amazon EFS
<a name="oracle-efs-integration.overview"></a>

Con Amazon EFS, è possibile trasferire file tra l'istanza database RDS per Oracle e un file system EFS. Ad esempio, è possibile utilizzare EFS per supportare i seguenti casi d'uso:
+ Condividere un file system tra applicazioni e più server di database.
+ Creare una directory condivisa per i file relativi alla migrazione, inclusi i file di dati delle tablespace trasportabili. Per ulteriori informazioni, consulta [Migrazione utilizzando le tablespace trasportabili Oracle](oracle-migrating-tts.md).
+ Archiviare e condividere i file di log di redo archiviati senza allocare spazio di archiviazione aggiuntivo sul server.
+ Utilizzare le utilità di Oracle Database, ad esempio `UTL_FILE` per leggere e scrivere file.

### Vantaggi dell'integrazione Amazon EFS
<a name="oracle-efs-integration.overview.advantages"></a>

Quando si sceglie un file system EFS rispetto a soluzioni di trasferimento dati alternative, si ottengono i seguenti vantaggi:
+ È possibile trasferire file di Oracle Data Pump tra Amazon EFS e l'istanza database RDS per Oracle. Non è necessario copiare questi file localmente perché Data Pump importa direttamente dal file system EFS. Per ulteriori informazioni, consulta [Importazione di dati in Oracle in Amazon RDS](Oracle.Procedural.Importing.md).
+ La migrazione dei dati è più rapida rispetto all'utilizzo di un collegamento al database.
+ Si evita di allocare spazio di archiviazione sull'istanza database RDS per Oracle per contenere i file.
+ Un file system EFS può dimensionare automaticamente lo spazio di archiviazione senza richiedere il provisioning.
+ L'integrazione Amazon EFS non prevede tariffe o costi di configurazione minimi. I prezzi sono calcolati solo in base all'uso effettivo.
+ L’integrazione Amazon EFS supporta due forme di crittografia: la crittografia dei dati in transito e la crittografia dei dati a riposo. Con TLS versione 1.2, la crittografia dei dati in transito è abilitata per impostazione predefinita. Alla creazione di un file system Amazon EFS, è possibile abilitare la crittografia dei dati a riposo. Per ulteriori informazioni, consulta [Encrypting data at rest](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html) (Crittografia dei dati a riposo) nella *Guida per l'utente di Amazon Elastic File System*.

### Requisiti per l'integrazione Amazon EFS
<a name="oracle-efs-integration.overview.requirements"></a>

Verificare che vengano soddisfatti i seguenti requisiti:
+ Il database deve eseguire la versione 19.0.0.0.ru-2022-07.rur-2022-07.r1 o superiore.
+ L'istanza DB e il file system EFS devono trovarsi nello stesso Regione AWS VPC e. Account AWS RDS per Oracle non supporta l’accesso multi-account e multi-Regione per EFS.
+ La **risoluzione DNS** e i **nomi host DNS** devono essere abilitati per il VPC. Per ulteriori informazioni, consulta [Attributi DNS nel VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) nella *Guida per l'utente di Amazon Virtual Private Cloud*.
+ Se utilizzi un nome DNS nel comando `mount`, assicurati che il VPC sia configurato in modo da utilizzare il server DNS fornito da Amazon. I server DNS personalizzati non sono supportati.
+ Per eseguire il backup del file system EFS devi utilizzare soluzioni non RDS. RDS per Oracle non supporta backup automatici o snapshot di database manuali di un file system EFS. Per ulteriori informazioni, consulta [Backing up your Amazon EFS file systems](https://docs.aws.amazon.com/efs/latest/ug/efs-backup-solutions.html) (Backup dei file system Amazon EFS).

# Configurazione delle autorizzazioni di rete per l'integrazione RDS per Oracle con Amazon EFS
<a name="oracle-efs-integration.network"></a>

Affinché RDS per Oracle si integri con Amazon EFS, assicurati che l'istanza database disponga dell'accesso di rete a un file system EFS. Per ulteriori informazioni, consulta [Controlling network access to Amazon EFS file systems for NFS clients](https://docs.aws.amazon.com/efs/latest/ug/NFS-access-control-efs.html) (Controllo dell'accesso di rete ai file system Amazon EFS per i client NFS) nella *Guida per l'utente di Amazon Elastic File System*.

**Topics**
+ [

## Controllo degli accessi di rete con i gruppi di sicurezza
](#oracle-efs-integration.network.inst-access)
+ [

## Controllo degli accesso di rete con le policy di file system
](#oracle-efs-integration.network.file-system-policy)

## Controllo degli accessi di rete con i gruppi di sicurezza
<a name="oracle-efs-integration.network.inst-access"></a>

È possibile controllare l'accesso dell'istanza database ai file system EFS utilizzando meccanismi di sicurezza a livello di rete come i gruppi di sicurezza VPC. Per consentire l'accesso a un file system EFS per l'istanza database, assicurati che il file system EFS soddisfi i seguenti requisiti:
+ In ogni zona di disponibilità utilizzata da un'istanza database RDS per Oracle è presente una destinazione di montaggio EFS.

  Un *target di montaggio EFS* fornisce un indirizzo IP per un NFSv4 endpoint sul quale è possibile montare un file system EFS. Il file system è montato utilizzando il relativo nome DNS, che si risolverà nell'indirizzo IP della destinazione di montaggio di EFS nella stessa zona di disponibilità dell'istanza database. 

  È possibile configurare istanze DB in diverse istanze AZs per utilizzare lo stesso file system EFS. Per implementazioni Multi-AZ, è necessario disporre di un punto di montaggio per ogni zona di disponibilità definita nell'implementazione interessata. Potrebbe essere necessario spostare un'istanza database in una zona di disponibilità diversa. Per questi motivi, è consigliabile creare un punto di montaggio EFS in ogni zona di disponibilità presente nel cloud privato virtuale (VPC) in uso. Per impostazione predefinita, quando si crea un nuovo file system EFS utilizzando la console, RDS crea destinazioni di montaggio per tutti AZs.
+ Un gruppo di sicurezza è collegato alla destinazione di montaggio.
+ Il gruppo di sicurezza dispone di una regola in entrata per autorizzare la sottorete o il gruppo di sicurezza di rete dell'istanza database RDS per Oracle su TCP/2049 (tipo NFS).

Per ulteriori informazioni, consulta [Creazione di file system Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html#configure-efs-network-access) e [Creating and managing EFS mount targets and security groups](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) (Creazione e gestione delle destinazioni di montaggio e dei gruppi di sicurezza EFS) nella *Guida per l'utente di Amazon Elastic File System*.

## Controllo degli accesso di rete con le policy di file system
<a name="oracle-efs-integration.network.file-system-policy"></a>

L'integrazione Amazon EFS con RDS per Oracle funziona con la policy di file system EFS predefinita (vuota). La policy predefinita non utilizza IAM per l'autenticazione. Garantisce invece l'accesso completo a qualsiasi client anonimo in grado di connettersi al file system utilizzando una destinazione di montaggio. La policy predefinita è effettiva ogni volta che non esiste una policy di file system configurata dall'utente, anche a livello di creazione del file system. Per ulteriori informazioni, consulta [Policy EFS predefinita per il file system EFS](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy) nella *Guida per l'utente di Amazon Elastic File System*.

Per rafforzare l'accesso al file system EFS per tutti i client, incluso RDS per Oracle, puoi configurare le autorizzazioni IAM. Con questo approccio si crea una policy di file system. Per ulteriori informazioni, consulta [Creating file system policies](https://docs.aws.amazon.com/efs/latest/ug/create-file-system-policy.html) (Creazione di policy di file system) nella *Guida per l'utente di Amazon Elastic File System*.

# Configurazione delle autorizzazioni IAM per l'integrazione RDS per Oracle con Amazon EFS
<a name="oracle-efs-integration.iam"></a>

Per impostazione predefinita, la funzionalità di integrazione di Amazon EFS non utilizza un ruolo IAM: l’impostazione dell’opzione `USE_IAM_ROLE` è `FALSE`. Per l’integrazione di RDS per Oracle con Amazon EFS e un ruolo IAM, è necessario che l’istanza database disponga delle autorizzazioni IAM per l’accesso a un file system Amazon EFS.

**Topics**
+ [

## Fase 1: creazione di un ruolo IAM per l'istanza database e collegamento della policy
](#oracle-efs-integration.iam.role)
+ [

## Fase 2: creazione di una policy per il file system Amazon EFS
](#oracle-efs-integration.iam.policy)
+ [

## Fase 3: associazione del ruolo IAM all'istanza database RDS per Oracle
](#oracle-efs-integration.iam.instance)

## Fase 1: creazione di un ruolo IAM per l'istanza database e collegamento della policy
<a name="oracle-efs-integration.iam.role"></a>

In questa fase, viene creato un ruolo per l'istanza database RDS per Oracle per consentire ad Amazon RDS di accedere al file system EFS.

### Console
<a name="oracle-efs-integration.iam.role.console"></a>

**Per creare un ruolo IAM per consentire ad Amazon RDS di accedere a un file system EFS**

1. Aprire la [console di gestione IAM](https://console.aws.amazon.com/iam/home?#home).

1. Nel pannello di navigazione, seleziona **Roles** (Ruoli).

1. Selezionare **Create role (Crea ruolo)**.

1. In **AWS Service** scegliere **RDS**.

1. Per **Select your use case (Seleziona caso di utilizzo)**, selezionare **RDS – Add Role to Database (RDS – Aggiungi ruolo al database)**.

1. Scegli **Next (Successivo)**.

1. Non aggiungere alcuna policy di autorizzazione. Scegli **Next (Successivo)**.

1. Impostare **Role Name (Nome ruolo)** su un nome per il ruolo IAM, ad esempio `rds-efs-integration-role`. È anche possibile aggiungere un valore **Description (Descrizione)** facoltativo.

1. Scegli **Crea ruolo**.

### AWS CLI
<a name="integration.preparing.role.CLI"></a>

Per limitare le autorizzazioni del servizio a una risorsa specifica, si consiglia di utilizzare le chiavi di contesto delle condizioni globali [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) nelle relazioni di trust basate sulle risorse. Questo è il modo più efficace per proteggersi dal [problema di deputy confused](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

Puoi usare le chiavi di contesto delle condizioni globali e avere il valore `aws:SourceArn` che contiene l'ID dell'account. In questo caso, il valore `aws:SourceAccount` e l'account nel valore `aws:SourceArn` deve utilizzare lo stesso ID account quando viene utilizzato nella stessa istruzione.
+ Utilizzare `aws:SourceArn` se si desidera un accesso cross-service per una singola risorsa.
+ Utilizzare `aws:SourceAccount` se si desidera consentire l'associazione di qualsiasi risorsa in tale account all'uso cross-service.

Nella relazione di trust, assicurati di utilizzare la chiave di contesto della condizione globale `aws:SourceArn` con l'Amazon Resource Name (ARN) completo delle risorse che accedono al ruolo.

Il AWS CLI comando seguente crea il ruolo denominato `rds-efs-integration-role` per questo scopo.

**Example**  
Per Linux, macOS o Unix:  

```
aws iam create-role \
   --role-name rds-efs-integration-role \
   --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
            "Service": "rds.amazonaws.com"
          },
         "Action": "sts:AssumeRole",
         "Condition": {
             "StringEquals": {
                 "aws:SourceAccount": my_account_ID,
                 "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
             }
         }
       }
     ]
   }'
```
Per Windows:  

```
aws iam create-role ^
   --role-name rds-efs-integration-role ^
   --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
            "Service": "rds.amazonaws.com"
          },
         "Action": "sts:AssumeRole",
         "Condition": {
             "StringEquals": {
                 "aws:SourceAccount": my_account_ID,
                 "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
             }
         }
       }
     ]
   }'
```

Per ulteriori informazioni, consulta la pagina relativa alla [creazione di un ruolo per delegare le autorizzazioni a un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) nella *Guida per l'utente IAM*.

## Fase 2: creazione di una policy per il file system Amazon EFS
<a name="oracle-efs-integration.iam.policy"></a>

In questa fase viene creata una policy per il file system EFS.

**Per creare o modificare una policy di file system EFS**

1. Apri la [console di gestione EFS](https://console.aws.amazon.com/efs/home?#home).

1. Selezionare **File Systems (File system)**.

1. Nella pagina **File systems** (File system), scegli il file system per cui vuoi creare una policy di file system. Viene visualizzata la pagina dei dettagli per il file system scelto.

1. Scegli la scheda **File system policy** (Policy di file system).

   Se è vuota, viene utilizzata la policy di file system EFS predefinita. Per ulteriori informazioni, consulta [Policy EFS predefinita per il file system EFS](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy ) nella *Guida per l'utente di Amazon Elastic File System*.

1. Scegli **Modifica**. Viene visualizzata la pagina **Policy del file system**.

1. Nell'**editor di policy**, immetti una policy come la seguente, quindi scegli **Save** (Salva).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "ExamplePolicy01",
       "Statement": [
           {
               "Sid": "ExampleStatement01",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/rds-efs-integration-role"
               },
               "Action": [
                   "elasticfilesystem:ClientMount",
                   "elasticfilesystem:ClientWrite",
                   "elasticfilesystem:ClientRootAccess"
               ],
               "Resource": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-1234567890abcdef0"
           }
       ]
   }
   ```

------

## Fase 3: associazione del ruolo IAM all'istanza database RDS per Oracle
<a name="oracle-efs-integration.iam.instance"></a>

In questa fase il ruolo IAM viene associato all'istanza database. Tieni presenti i seguenti requisiti:
+ Devi disporre dell'accesso a un ruolo IAM a cui è collegata la policy di autorizzazione richiesta di Amazon EFS. 
+ È possibile associare un solo ruolo IAM alla volta all'istanza database RDS per Oracle.
+ Lo stato dell'istanza deve essere **Available** (Disponibile).

Per ulteriori informazioni, consulta [Identity and access management for Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/auth-and-access-control.html) (Identity and Access Management per Amazon EFS) nella *Guida per l'utente di Amazon Elastic File System*.

### Console
<a name="oracle-efs-integration.iam.instance.console"></a>

**Per associare il ruolo IAM all'istanza database RDS per Oracle**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Scegli **Database**.

1. Se l'istanza del database non è disponibile, scegli **Operazioni** , quindi **Avvia**. Quando lo stato dell'istanza mostra **Avviato**, vai al passaggio successivo.

1. Scegliere il nome dell'istanza database Oracle per visualizzarne i dettagli.

1. Sulla scheda **Connettività e sicurezza**, scorri verso il basso fino alla sezione **Gestisci i ruoli IAM** in fondo alla pagina.

1. Scegli il ruolo da aggiungere nella sezione **Aggiungi ruoli IAM a questa istanza**.

1. Per **Feature** (Caratteristica) scegli **EFS\$1INTEGRATION**.

1. Scegliere **Add role (Aggiungi ruolo)**.

### AWS CLI
<a name="oracle-efs-integration.iam.instance.CLI"></a>

Il AWS CLI comando seguente aggiunge il ruolo a un'istanza Oracle DB denominata`mydbinstance`.

**Example**  
Per Linux, macOS o Unix:  

```
aws rds add-role-to-db-instance \
   --db-instance-identifier mydbinstance \
   --feature-name EFS_INTEGRATION \
   --role-arn your-role-arn
```
Per Windows:  

```
aws rds add-role-to-db-instance ^
   --db-instance-identifier mydbinstance ^
   --feature-name EFS_INTEGRATION ^
   --role-arn your-role-arn
```

Sostituire `your-role-arn` con il ruolo ARN annotato nel passaggio precedente. `EFS_INTEGRATION` deve essere specificato per l'opzione `--feature-name`.

# Aggiunta dell'opzione EFS\$1INTEGRATION
<a name="oracle-efs-integration.adding"></a>

Per utilizzare l'integrazione Amazon RDS per Oracle con Amazon EFS, l'istanza database deve essere associata a un gruppo di opzioni che include l'opzione `EFS_INTEGRATION`. 

Più istanze database Oracle che appartengono allo stesso gruppo di opzioni condividono lo stesso file system EFS. Istanze database diverse possono accedere agli stessi dati e l'accesso può essere diviso in diverse directory Oracle. Per ulteriori informazioni, consulta [Trasferimento di file tra RDS per Oracle e un file system Amazon EFS](oracle-efs-integration.transferring.md).

## Console
<a name="oracle-efs-integration.adding.console"></a>

**Per configurare un gruppo di opzioni per l'integrazione Amazon EFS**

1. Creare un nuovo gruppo di opzioni o identificare un gruppo opzioni esistente a cui è possibile aggiungere l'opzione `EFS_INTEGRATION`.

   Per informazioni sulla creazione di un gruppo di opzioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Aggiungere l'opzione `EFS_INTEGRATION` al gruppo di opzioni. È necessario specificare l'ID file system `EFS_ID` e impostare il flag `USE_IAM_ROLE`.

   Per ulteriori informazioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Associa il gruppo di opzioni all'istanza database in uno dei seguenti modi:
   + Crea una nuova istanza database Oracle e associa il gruppo di opzioni. Per informazioni sulla creazione di un'istanza database, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).
   + Modifica un'istanza database Oracle per associare il gruppo di opzioni. Per informazioni sulla modifica di un'istanza database di Oracle, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="oracle-efs-integration.adding.cli"></a>

**Per configurare un gruppo di opzioni per l'integrazione EFS**

1. Creare un nuovo gruppo di opzioni o identificare un gruppo opzioni esistente a cui è possibile aggiungere l'opzione `EFS_INTEGRATION`.

   Per informazioni sulla creazione di un gruppo di opzioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Aggiungere l'opzione `EFS_INTEGRATION` al gruppo di opzioni.

   Ad esempio, il comando seguente AWS CLI aggiunge l'opzione `EFS_INTEGRATION` a un gruppo opzioni denominato **myoptiongroup**.  
**Example**  

   Per Linux, macOS o Unix:

   ```
   aws rds add-option-to-option-group \
      --option-group-name myoptiongroup \
      --options "OptionName=EFS_INTEGRATION,OptionSettings=\ 
      [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"
   ```

   Per Windows:

   ```
   aws rds add-option-to-option-group ^
      --option-group-name myoptiongroup ^
      --options "OptionName=EFS_INTEGRATION,OptionSettings=^
      [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"
   ```

1. Associa il gruppo di opzioni all'istanza database in uno dei seguenti modi:
   + Crea una nuova istanza database Oracle e associa il gruppo di opzioni. Per informazioni sulla creazione di un'istanza database, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).
   + Modifica un'istanza database Oracle per associare il gruppo di opzioni. Per informazioni sulla modifica di un'istanza database di Oracle, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

# Configurazione delle autorizzazioni del file system Amazon EFS
<a name="oracle-efs-integration.file-system"></a>

Per impostazione predefinita, solo l'utente root (UID `0`) dispone delle autorizzazioni di lettura, scrittura ed esecuzione per un file system EFS appena creato. Affinché gli altri utenti possano modificare il file system, l'utente root deve esplicitamente concedere loro l'accesso. L'utente dell'istanza database RDS per Oracle rientra nella categoria `others`. Per ulteriori informazioni, consulta [Working with users, groups, and permissions at the Network File System (NFS) Level](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html) (Utilizzo di utenti, gruppi e autorizzazioni a livello NFS (Network File System) nella *Guida per l'utente di Amazon Elastic File System*.

Per consentire all'istanza database RDS per Oracle di leggere e scrivere file nel file system EFS, procedi come segue:
+ Monta un file system EFS localmente nell'istanza on-premise o Amazon EC2.
+ Configura le autorizzazioni in modo dettagliato.

Ad esempio, per concedere a `other` utenti le autorizzazioni di scrittura nella root del file system EFS, esegui `chmod 777` sulla directory. Per ulteriori informazioni, consulta [Esempio di casi d'uso e autorizzazioni del file system Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html#accessing-fs-nfs-permissions-ex-scenarios) nella *Guida per l'utente di Amazon Elastic File System*. 

# Trasferimento di file tra RDS per Oracle e un file system Amazon EFS
<a name="oracle-efs-integration.transferring"></a>

Per trasferire file tra un'istanza RDS per Oracle e un file system Amazon EFS, crea almeno una directory Oracle e configura le autorizzazioni del file system EFS per controllare l'accesso all'istanza database.

**Topics**
+ [

## Creazione di una directory Oracle
](#oracle-efs-integration.transferring.od)
+ [

## Trasferimento di dati da e verso un file system EFS - Esempi
](#oracle-efs-integration.transferring.upload)

## Creazione di una directory Oracle
<a name="oracle-efs-integration.transferring.od"></a>

Per creare una directory Oracle, usa la procedura `rdsadmin.rdsadmin_util.create_directory_efs`. La procedura include i seguenti parametri.


****  

| Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  Sì  |  Il nome della directory Oracle.   | 
|  `p_path_on_efs`  |  VARCHAR2  |  –  |  Sì  |  Il percorso del file system EFS. Il prefisso del nome del percorso utilizza lo schema`/rdsefs-fsid/`, dove *fsid* è un segnaposto per l'ID del file system EFS. Ad esempio, se il file system EFS è denominato `fs-1234567890abcdef0` e crei una sottodirectory su questo file system denominata `mydir`, puoi specificare il seguente valore: <pre>/rdsefs-fs-1234567890abcdef0/mydir</pre>  | 

Supponi di creare una sottodirectory denominata `/datapump1` nel file system EFS `fs-1234567890abcdef0`. L'esempio seguente crea una directory Oracle `DATA_PUMP_DIR_EFS` che punta alla directory `/datapump1` sul file system EFS. Il valore del percorso del file system per il parametro`p_path_on_efs` è preceduto dalla stringa `/rdsefs-`.

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

## Trasferimento di dati da e verso un file system EFS - Esempi
<a name="oracle-efs-integration.transferring.upload"></a>

Nell'esempio seguente si usa Oracle Data Pump per esportare la tabella denominata `MY_TABLE` nel file `datapump.dmp`. Questo file si trova in un file system 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;
/
```

Nell'esempio seguente si usa Oracle Data Pump per importare la tabella denominata `MY_TABLE` dal file `datapump.dmp`. Questo file si trova in un file system 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;
/
```

Per ulteriori informazioni, consulta [Importazione di dati in Oracle in Amazon RDS](Oracle.Procedural.Importing.md).

# Rimozione dell'opzione EFS\$1INTEGRATION
<a name="oracle-efs-integration.removing"></a>

La procedura da seguire per la rimozione dell’opzione `EFS_INTEGRATION` dipende dal fatto che l’opzione venga rimossa da più istanze database o da una singola istanza.


| Numero di istanze database | Azione | Informazioni correlate | 
| --- | --- | --- | 
| Più di uno | Rimuovere l’opzione EFS\$1INTEGRATION dal gruppo di opzioni a cui appartengono le istanze database. Questa modifica coinvolge tutte le istanze che utilizzano il gruppo di opzioni. | [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption) | 
| Singolo | Modificare l'istanza database e specificare un diverso gruppo di opzioni che non comprenda l'opzione EFS\$1INTEGRATION. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. | [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md) | 

Dopo aver rimosso l’opzione `EFS_INTEGRATION`, puoi facoltativamente eliminare il file system EFS connesso alle istanze database.

# Risoluzione dei problemi di integrazione Amazon EFS
<a name="oracle-efs-integration.troubleshooting"></a>

L'istanza database RDS per Oracle monitora la connettività al file system Amazon EFS. Quando il monitoraggio rileva un problema, viene eseguito un tentativo di correzione e la pubblicazione di un evento nella console RDS. Per ulteriori informazioni, consulta [Visualizzazione di eventi Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ListEvents.html).

Utilizza le informazioni contenute in questa sezione per diagnosticare e risolvere problemi comuni quando si utilizza l'integrazione Amazon EFS.


| Notification | Description | Azione | 
| --- | --- | --- | 
|  `The EFS for RDS Oracle instance instance_name isn't available on the primary host. NFS port 2049 of your EFS isn't reachable.`  |  L'istanza database non è in grado di comunicare con il file system EFS.  |  Assicurati che siano soddisfatte le seguenti condizioni: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `The EFS isn't reachable.`  |  Si è verificato un errore durante l'installazione dell'opzione `EFS_INTEGRATION`.  |  Assicurati che siano soddisfatte le seguenti condizioni: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `The associated role with your DB instance wasn't found.`  |  Si è verificato un errore durante l'installazione dell'opzione `EFS_INTEGRATION`.  |  Assicurati di aver associato un ruolo IAM all'istanza database RDS per Oracle.  | 
|  `The associated role with your DB instance wasn't found.`  |  Si è verificato un errore durante l'installazione dell'opzione `EFS_INTEGRATION`. RDS per Oracle è stato ripristinato da uno snapshot database con l’opzione `USE_IAM_ROLE` impostata su `TRUE`.  |  Assicurati di aver associato un ruolo IAM all'istanza database RDS per Oracle.  | 
|  `The associated role with your DB instance wasn't found.`  |  Si è verificato un errore durante l'installazione dell'opzione `EFS_INTEGRATION`. RDS for Oracle è stato creato a partire da un all-in-one CloudFormation modello con l'impostazione dell'`USE_IAM_ROLE`opzione di`TRUE`.  |  Per ovviare a questo problema, effettua le seguenti operazioni: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `PLS-00302: component 'CREATE_DIRECTORY_EFS' must be declared`  |  Questo errore può verificarsi quando si utilizza una versione di RDS per Oracle che non supporta Amazon EFS.  |  Assicurati di utilizzare l'istanza database RDS per Oracle versione 19.0.0.0.ru-2022-07.rur-2022-07.r1 o successive.  | 
|  `Read access of your EFS is denied. Check your file system policy.`  |  L'istanza database non è in grado di leggere il file system EFS.  |  Assicurati che il file system EFS consenta l'accesso in lettura tramite il ruolo IAM o a livello di file system EFS.   | 
|  N/D  |  L'istanza database non è in grado di scrivere nel file system EFS.  |  Utilizza le fasi seguenti: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 

# Oracle Java Virtual Machine
<a name="oracle-options-java"></a>

Amazon RDS supporta Oracle Java Virtual Machine (JVM) tramite l'utilizzo dell'opzione `JVM`. Oracle Java fornisce uno schema SQL e funzioni che facilitano l'utilizzo delle caratteristiche Oracle Java in un database Oracle. Per ulteriori informazioni, consulta l'articolo relativo all'[introduzione a Java in Oracle Database](https://docs.oracle.com/database/121/JJDEV/chone.htm) nella documentazione Oracle. È possibile utilizzare Oracle JVM con tutte le versioni di Oracle Database 21c (21.0.0) e Oracle Database 19c (19.0.0).

## Considerazioni per Oracle JVM
<a name="oracle-options-java.considerations"></a>

L'implementazione Java in Amazon RDS ha un set di autorizzazioni limitato. L'utente master riveste il ruolo `RDS_JAVA_ADMIN`, che concede un sottoinsieme dei privilegi concessi dal ruolo `JAVA_ADMIN`. Per elencare i privilegi concessi al ruolo `RDS_JAVA_ADMIN`, esegui la query seguente sull'istanza database:

```
SELECT * FROM dba_java_policy 
   WHERE grantee IN ('RDS_JAVA_ADMIN', 'PUBLIC') 
   AND enabled = 'ENABLED' 
   ORDER BY type_name, name, grantee;
```

## Prerequisiti per Oracle JVM
<a name="oracle-options-java.prerequisites"></a>

Di seguito sono indicati i prerequisiti per l'utilizzo di Oracle Java:
+ L'istanza database deve appartenere a una classe di dimensioni sufficienti. Oracle Java non è supportato per le classi di istanza database db.t3.small. Per ulteriori informazioni, consulta [Classi di istanze DB ](Concepts.DBInstanceClass.md).
+ L'istanza database deve avere l'opzione **Auto Minor Version Upgrade (Aggiornamento minore automatico della versione)** abilitata. Questa opzione consente all'istanza database di ricevere automaticamente gli aggiornamenti della versione secondaria del motore database quando diventano disponibili. Amazon RDS utilizza questa opzione per aggiornare l'istanza database all'ultimo PSU (Patch Set Update) o RU (Release Update) di Oracle. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Best practice per Oracle JVM
<a name="oracle-options-java.best-practices"></a>

Di seguito sono indicate le best practice per l'utilizzo di Oracle Java: 
+ Per la massima sicurezza, è necessario utilizzare l'opzione `JVM` con Secure Sockets Layer (SSL). Per ulteriori informazioni, consulta [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md). 
+ Configurare l'istanza database per limitare l'accesso alla rete. Per ulteriori informazioni, consulta [Scenari per accedere a un'istanza database in un VPC](USER_VPC.Scenarios.md) e [Uso di un'istanza database in un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 
+ Aggiorna la configurazione degli endpoint HTTPS al supporto TLSv1 .2 se soddisfi le seguenti condizioni:
  + Si utilizza Oracle Java Virtual Machine (JVM) per connettere un endpoint HTTPS tramite protocolli 1 o 1. TLSv1 TLSv1
  + L'endpoint non supporta il protocollo .2. TLSv1
  + Non hai applicato l'aggiornamento della release di aprile 2021 al tuo Oracle DB.

  Aggiornando la configurazione dell'endpoint, assicurati che la connettività della JVM all'endpoint HTTPS continui a funzionare. Per ulteriori informazioni sulle modifiche di TLS in Oracle JRE e JDK, consulta [Oracle JRE and JDK Cryptographic Roadmap](https://java.com/en/jre-jdk-cryptoroadmap.html).

## Aggiunta dell'opzione Oracle JVM
<a name="oracle-options-java.add"></a>

Di seguito è riportato il processo generale per aggiungere l'opzione `JVM` a un'istanza database: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Si verificherà una breve interruzione durante l'aggiunta dell'opzione `JVM`. Una volta aggiunta l'opzione, non è necessario riavviare l'istanza database. Non appena il gruppo di opzioni diventa attivo, Oracle Java è disponibile. 

**Nota**  
Durante questa interruzione, le funzioni di verifica delle password vengono temporaneamente disabilitate. Durante l'interruzione si possono verificare eventi correlati alle funzioni di verifica delle password. Le funzioni di verifica delle password vengono riabilitate prima di rendere disponibile l'istanza database Oracle.

**Per aggiungere l'opzione JVM a un'istanza database**

1. Determinare il gruppo di opzioni che si vuole usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 
   + Per **Engine (Motore)** scegliere il motore database utilizzato dall'istanza database (**oracle-ee**, **oracle-se**, **oracle-se1** o **oracle-se2**). 
   + In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **JVM** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, applicare il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).
   + Per un'istanza database esistente, applicare il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

1. Concedere le autorizzazioni richieste agli utenti.

   L'utente master di Amazon RDS ha le autorizzazioni per utilizzare l'opzione `JVM` per impostazione predefinita. Se altri utenti richiedono queste autorizzazioni, connettersi all'istanza database come utente master in un client SQL e concedere le autorizzazioni a questi utenti.

   Nell'esempio seguente le autorizzazioni all'utilizzo dell'opzione `JVM` vengono concesse all'utente `test_proc`.

   ```
   create user test_proc identified by password;
   CALL dbms_java.grant_permission('TEST_PROC', 'oracle.aurora.security.JServerPermission', 'LoadClassInPackage.*', '');
   ```
**Nota**  
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.

   Dopo aver concesso le autorizzazioni, la query seguente dovrebbe restituire un output.

   ```
   select * from dba_java_policy where grantee='TEST_PROC';
   ```
**Nota**  
Il nome utente Oracle rispetta la distinzione tra maiuscole e minuscole e di solito è formato solo da caratteri maiuscoli.

## Rimozione dell'opzione Oracle JVM
<a name="oracle-options-java.remove"></a>

Puoi rimuovere l'opzione `JVM` dall'istanza database. Si verificherà una breve interruzione durante la rimozione dell'opzione . Una volta rimossa l'opzione `JVM` non è necessario riavviare la tua istanza database. 

**avvertimento**  
 La rimozione dell'opzione `JVM` può causare la perdita di dati se l'istanza database utilizza i tipi di dati abilitati come parte dell'opzione. Eseguire il backup dei dati prima di procedere. Per ulteriori informazioni, consulta [Backup, ripristino ed esportazione dei dati](CHAP_CommonTasks.BackupRestore.md). 

Per rimuovere l'opzione `JVM` dall'istanza database, procedi in uno dei seguenti modi: 
+ Rimuovere l'opzione `JVM` dal gruppo di opzioni a cui appartiene. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modificare l'istanza database e specificare un diverso gruppo di opzioni che non comprenda l'opzione `JVM`. Questa modifica coinvolge una singola istanza database. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Enterprise Manager
<a name="Oracle.Options.OEM"></a>

Amazon RDS supporta Oracle Enterprise Manager (OEM). OEM è la linea di prodotti Oracle per la gestione integrata della tecnologia informatica aziendale. 

Amazon RDS supporta OEM su CBD o non CBD Oracle Database 19c. Nella seguente tabella sono descritte le opzioni di OEM supportate.


****  

| Opzione | ID opzione | Versioni OEM supportate | 
| --- | --- | --- | 
|  [OEM Database Express](Appendix.Oracle.Options.OEM_DBControl.md)  |  `OEM`  |  OEM Database Express 19c  | 
|  [OEM Management Agent](Oracle.Options.OEMAgent.md)  |  `OEM_AGENT`  |  OEM Cloud Control per 13c  | 

**Nota**  
Puoi utilizzare OEM Database oppure OEM Management Agent, ma non entrambi.

# Oracle Enterprise Manager Database Express
<a name="Appendix.Oracle.Options.OEM_DBControl"></a>

Amazon RDS supporta Oracle Enterprise Manager Database Express (EM Express) tramite l’utilizzo dell’opzione OEM. Amazon RDS supporta EM Express per Oracle Database 19c utilizzando l’architettura CDB o non CDB.

EM Express è uno strumento di gestione dei database basato sul web incluso nel database ed è disponibile solo quando è aperto. Supporta la gestione delle prestazioni chiave e le funzioni di amministrazione di base del database. Per ulteriori informazioni, consulta l’articolo [Introduction to Oracle Enterprise Manager Database Express](https://docs.oracle.com/en/database/oracle/oracle-database/19/admqs/getting-started-with-database-administration.html#GUID-BA75AD46-D22E-4914-A31E-C395CD6A2BBA) nella documentazione di Oracle Database.

**Nota**  
EM Express non è supportato nelle classi di istanze database db.t3.small. Per maggiori informazioni sulle classi di istanza database, consulta [Classi di istanza database RDS per Oracle](Oracle.Concepts.InstanceClasses.md).

## Impostazioni dell’opzione OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.Options"></a>

Amazon RDS supporta le seguenti impostazioni per l'opzione OEM. 


****  

| Impostazione opzioni | Valori validi | Descrizione | 
| --- | --- | --- | 
| **Porta** | Un valore intero. |  La porta sull’istanza database RDS per Oracle in ascolto di EM Express. Il valore predefinito è 5500.  | 
| **Gruppi di sicurezza** | — |  Un gruppo di sicurezza che ha accesso a **Port (Porta)**.   | 

## Passaggio 1: aggiunta dell’opzione OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.Add"></a>

Di seguito è riportato il processo generale per aggiungere l'opzione OEM a un'istanza database: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associa il gruppo di opzioni a questa istanza database.

Quando aggiungi l’opzione OEM, si verifica una breve interruzione mentre l’istanza database viene riavviata automaticamente. 

**Per aggiungere l'opzione OEM a un'istanza database**

1. Determinare il gruppo di opzioni che si desidera usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. Per **Engine (Motore)** scegliere l'edizione Oracle per l'istanza database. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione OEM al gruppo di opzioni e configurare le impostazioni dell'opzione. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). Per ulteriori informazioni su ciascuna impostazione, consulta [Impostazioni dell’opzione OEM](#Appendix.Oracle.Options.OEM_DBControl.Options). 
**Nota**  
Se aggiungi l’opzione OEM a un gruppo di opzioni esistente già associato a una o più istanze database, si verifica una breve interruzione mentre tutte le istanze database vengono riavviate automaticamente. 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente:
   + Per una nuova istanza database, applicare il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, applicare il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Quando aggiungi l’opzione OEM, si verifica una breve interruzione mentre l’istanza database viene riavviata automaticamente. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

**Nota**  
Puoi anche usare AWS CLI per aggiungere l'opzione OEM. Per alcuni esempi, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

## Passaggio 2: (solo CDB) sblocco dell’account utente DBSNMP
<a name="Appendix.Oracle.Options.OEM_DBControl.DBSNMP"></a>

Se l’istanza database utilizza l’architettura CDB, è necessario accedere a EM Express come `DBSNMP`. In un CDB `DBSNMP` è un utente comune. Per impostazione predefinita, questo account è bloccato. Se l’istanza database non utilizza l’architettura CDB, salta questo passaggio.

**Per sbloccare l’account utente DBSNMP in un’istanza CDB**

1. In SQL\$1Plus o in un’altra applicazione Oracle SQL, accedi come utente master all’istanza database.

1. Esegui la seguente procedura memorizzata per sbloccare l’account `DBSNMP`:

   ```
   1. EXEC rdsadmin.rdsadmin_util.reset_oem_agent_password('new_password');
   ```

   Se viene visualizzato un errore per segnalare che la procedura non esiste, riavvia l’istanza CDB per installarla automaticamente. Per ulteriori informazioni, consulta [Riavvio di un'istanza DB DB](USER_RebootInstance.md).

## Passaggio 3: accesso a EM Express tramite il browser
<a name="Appendix.Oracle.Options.OEM_DBControl.Using"></a>

Quando accedi EM Express dal browser web, viene visualizzata una finestra di accesso in cui ti viene chiesto di immettere il nome utente e la password.

**Per accedere a EM Express tramite il browser**

1. Identifica l’endpoint e la porta EM Express per l’istanza database Amazon RDS. Per informazioni su come trovare l’endpoint per l’istanza database Amazon RDS, consulta [Esito dell'endpoint dell'istanza database RDS per Oracle](USER_Endpoint.md).

1. Inserisci un URL nella barra di localizzazione del browser utilizzando il seguente formato. 

   ```
   https://endpoint.rds.amazonaws.com:port/em
   ```

   Ad esempio, se l’endpoint dell’istanza database Amazon RDS è `mydb.a1bcde234fgh.us-east-1.rds.amazonaws.com` e la porta EM Express è `1158`, utilizza il seguente URL per accedere a EM Express.

   ```
   1. https://mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com:1158/em
   ```

1. Quando ti vengono richiesti i dati di accesso, esegui la procedura riportata di seguito, a seconda dell’architettura del tuo database:  
**Il database è un database non CDB.**  
Immetti il nome utente master e la password master dell'istanza database.  
**Il database è un CDB.**  
Immetti `DBSNMP` per l’utente e la password `DBSNMP`. Lascia vuoto il campo `Container`.

## Modifica delle impostazioni di OEM Database
<a name="Appendix.Oracle.Options.OEM_DBControl.ModifySettings"></a>

Dopo avere abilitato OEM Database, puoi modificare l'impostazione dei gruppi di sicurezza dell'opzione. 

Non è possibile modificare il numero di porta OEM dopo avere associato il gruppo di opzioni a un'istanza database. Per modificare il numero di porta OEM utilizzato per un'istanza database, procedi come indicato di seguito: 

1. Crea un nuovo gruppo di opzioni.

1. Aggiungi l'opzione OEM con il numero di porta al nuovo gruppo di opzioni. 

1. Rimuovi il gruppo di opzioni esistente dall'istanza database.

1. Aggiungi il nuovo gruppo di opzioni all'istanza database.

Per ulteriori informazioni su come modificare le impostazioni dell'opzione, consulta [Modifica di un'impostazione di un'opzione](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption). Per ulteriori informazioni su ciascuna impostazione, consulta [Impostazioni dell’opzione OEM](#Appendix.Oracle.Options.OEM_DBControl.Options). 

## Esecuzione di attività OEM Database Express
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks"></a>

Puoi utilizzare le procedure Amazon RDS per eseguire determinate attività OEM Database Express. Con queste procedure, puoi eseguire le attività elencate di seguito.

**Nota**  
Le attività OEM Database Express vengono eseguite in modo asincrono.

**Topics**
+ [

### Cambiare il front-end del sito Web per OEM Database Express in Adobe Flash
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash)
+ [

### Cambiare il front-end del sito Web per OEM Database Express in Oracle JET
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET)

### Cambiare il front-end del sito Web per OEM Database Express in Adobe Flash
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash"></a>

**Nota**  
Questo task è disponibile solo per Oracle Database 19c non-. CDBs

A partire da Oracle Database 19c, Oracle ha dichiarato obsoleta la precedente interfaccia utente OEM Database Express, basata su Adobe Flash. OEM Database Express utilizza ora un'interfaccia creata con Oracle JET. In caso di problemi con la nuova interfaccia, puoi tornare all'interfaccia basata su Flash che è stata dichiarata obsoleta. I problemi che si possono verificare con la nuova interfaccia includono il restare bloccati in una schermata `Loading` dopo aver effettuato l'accesso a OEM Database Express. Potrebbero anche mancare alcune funzionalità importanti che erano presenti nella versione basata su Flash di OEM Database Express.

Per cambiare il front-end del sito Web di OEM Database Express in Adobe Flash, eseguire la procedura Amazon RDS `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash`. Questa procedura equivale al comando SQL `execemx emx`.

Le best practice di sicurezza scoraggiano l'uso di Adobe Flash. Sebbene sia possibile ripristinare l'OEM Database Express basato su Flash, è consigliabile utilizzare i siti Web OEM Database Express basati su Jet, se possibile. Se ripristini l'utilizzo di Adobe Flash e desideri tornare a utilizzare Oracle JET, utilizza la procedura `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Dopo un aggiornamento del database Oracle, una versione più recente di Oracle JET potrebbe risolvere i problemi relativi a JET in OEM Database Express. Per ulteriori informazioni sul passaggio a Oracle JET, consulta [Cambiare il front-end del sito Web per OEM Database Express in Oracle JET](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET).

**Nota**  
L'esecuzione di questa attività dall'istanza database di origine per una replica di lettura ha anche come conseguenza che i front-end del sito Web di OEM Database Express cambiano in Adobe Flash.

La seguente invocazione di procedura crea un'attività per cambiare il sito Web di OEM Database Express in Adobe Flash e restituire l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash() as TASK_ID from DUAL;
```

È possibile visualizzare il risultato visualizzando il file di output dell'attività.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Sostituire *`task-id`* con l'ID attività restituito dalla procedura. Per ulteriori informazioni sulla procedura Amazon RDS `rdsadmin.rds_file_util.read_text_file`, consulta [Lettura dei file in una directory di istanze database](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) 

È inoltre possibile visualizzare il contenuto del file di output del task in cercando tra le voci Console di gestione AWS di registro nella sezione **Registri ed eventi** il. `task-id`

### Cambiare il front-end del sito Web per OEM Database Express in Oracle JET
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET"></a>

**Nota**  
Questo task è disponibile solo per Oracle Database 19c non-. CDBs

Per cambiare il front-end del sito Web di OEM Database Express in Adobe Flash, eseguire la procedura Amazon RDS `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Questa procedura equivale al comando SQL `execemx omx`.

Per impostazione predefinita, i siti Web di OEM Database Express per le istanze database di Oracle che eseguono 19c o versioni successive utilizzano Oracle JET. Se è stata utilizzata la procedura `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash` per cambiare il front-end del sito Web di OEM di Database Express in Adobe Flash, è possibile tornare a Oracle JET. Per fare ciò, utilizza la procedura `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Per ulteriori informazioni sul passaggio ad Adobe Flash, consulta [Cambiare il front-end del sito Web per OEM Database Express in Adobe Flash](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash).

**Nota**  
L'esecuzione di questa attività dall'istanza database di origine per una replica di lettura ha anche come conseguenza che i front-end del sito Web di OEM Database Express cambiano in Oracle JET.

La seguente invocazione di procedura crea un'attività per cambiare il sito Web di OEM Database Express in Oracle JET e restituire l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet() as TASK_ID from DUAL;
```

È possibile visualizzare il risultato visualizzando il file di output dell'attività.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Sostituire *`task-id`* con l'ID attività restituito dalla procedura. Per ulteriori informazioni sulla procedura Amazon RDS `rdsadmin.rds_file_util.read_text_file`, consulta [Lettura dei file in una directory di istanze database](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) 

È inoltre possibile visualizzare il contenuto del file di output del task in cercando tra le voci Console di gestione AWS di registro nella sezione **Registri ed eventi** il. `task-id`

## Rimozione dell'opzione OEM Database
<a name="Appendix.Oracle.Options.OEM_DBControl.Remove"></a>

Puoi rimuovere l'opzione OEM da un'istanza database. Quando rimuovi l’opzione OEM, si verifica una breve interruzione mentre l’istanza viene riavviata automaticamente. Quindi, una volta rimossa l'opzione OEM, non è necessario riavviare l'istanza database.

Per rimuovere l'opzione OEM dall'istanza database, procedi in uno dei seguenti modi:
+ Rimuovi l'opzione OEM dal gruppo di opzioni a cui appartiene. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modifica l'istanza database e specifica un diverso gruppo di opzioni che non comprenda l'opzione OEM. Questa modifica coinvolge una singola istanza database. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Management Agent per Enterprise Manager Cloud Control
<a name="Oracle.Options.OEMAgent"></a>

Oracle Management Agent (OEM) è un componente software che monitora destinazioni in esecuzione su host e comunica tali informazioni a Oracle Management Service (OMS) di livello intermedio. Amazon RDS supporta Management Agent tramite l'utilizzo dell'opzione `OEM_AGENT`. 

Per ulteriori informazioni, consulta [Overview of Oracle Enterprise Manager Cloud Control 12c](http://docs.oracle.com/cd/E24628_01/doc.121/e25353/overview.htm) e [Overview of Oracle Enterprise Manager Cloud Control 13c](http://docs.oracle.com/cd/E63000_01/EMCON/overview.htm#EMCON109) nella documentazione Oracle.

**Topics**
+ [

## Requisiti per Management Agent
](#Oracle.Options.OEMAgent.PreReqs)
+ [

## Prerequisiti di comunicazione host OMS
](#Oracle.Options.OEMAgent.PreReqs.host)
+ [

## Limitazioni per Management Agent
](#Oracle.Options.OEMAgent.limitations)
+ [

## Impostazioni dell'opzione per Management Agent
](#Oracle.Options.OEMAgent.Options)
+ [

## Abilitazione dell’opzione Management Agent per l’istanza database
](#Oracle.Options.OEMAgent.Enable)
+ [

## Rimozione dell'opzione Management Agent
](#Oracle.Options.OEMAgent.Remove)
+ [

## Esecuzione delle attività di database con Management Agent
](#Oracle.Options.OEMAgent.DBTasks)

## Requisiti per Management Agent
<a name="Oracle.Options.OEMAgent.PreReqs"></a>

Di seguito sono riportati i requisiti generali per l’utilizzo di Management Agent: 
+ L’istanza database deve eseguire Oracle Database 19c (19.0.0.0). È possibile utilizzare l’architettura CDB o non CDB.
+ È necessario utilizzare un Oracle Management Service (OMS) configurato per effettuare la connessione all’istanza database. Tieni presenti i seguenti requisiti di OMS:
  + Le versioni 13.5.0.0.v2 e 13.5.0.0.v3 di Management Agent richiedono OMS versione 13.5.0.23 o 24.1.
  + La versione 13.5.0.0.v1 di Management Agent richiede OMS versione 13.5.0.0 o 24.1.
  + Le versioni 13.4.0.9.v1 e 13.4.0.9.v2 di Management Agent richiedono OMS versione 13.4.0.9 o successiva e la patch 32198287.
+ Nella maggior parte dei casi, è necessario configurare il VPC per permettere le connessioni dal tuo OMS all'istanza database. Se non hai familiarità con Amazon Virtual Private Cloud (Amazon VPC), completa le fasi in [Tutorial: crea un VPC da utilizzare con un ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md) prima di continuare. 
+ È possibile utilizzare Management Agent con Oracle Enterprise Manager Cloud Control per 12c e 13c. Assicurati di disporre di spazio di storage sufficiente per la release OEM:
  + Almeno 8,5 GiB per OEM 13c Release 5
  + Almeno 8,5 GiB per OEM 13c Release 4
  + Almeno 8,5 GiB per OEM 13c Release 3
  + Almeno 5,5 GiB per OEM 13c Release 2
  + Almeno 4,5 GiB per OEM 13c Release 1
  + Almeno 2,5 GiB per OEM 12c
+ Se stai utilizzando le versioni `OEM_AGENT 13.2.0.0.v3` e `13.3.0.0.v2` di Management Agent e desideri utilizzare la connettività TCPS, segui le istruzioni riportate in [Configuring third party CA certificates for communication with target databases](https://docs.oracle.com/cd/E73210_01/EMSEC/GUID-8337AD48-1A32-4CD5-84F3-256FAE93D043.htm#EMSEC15996) nella documentazione Oracle. Inoltre, aggiorna JDK su OMS seguendo le istruzioni indicate nel documento Oracle contrassegnato dal numero identificativo 2241358.1. Quest’operazione consente a OMS di supportare tutte le suite di cifratura supportate dal database.
**Nota**  
La connettività TCPS tra il Management Agent e l'istanza database è supportata solo per Management Agent `OEM_AGENT 13.2.0.0.v3`, `13.3.0.0.v2`, `13.4.0.9.v1` e versioni successive.

## Prerequisiti di comunicazione host OMS
<a name="Oracle.Options.OEMAgent.PreReqs.host"></a>

Assicurati che il tuo host OMS e l’istanza database Amazon RDS possano comunicare. Esegui questa operazione: 
+ Per effettuare la connessione da Management Agent al tuo host OMS, quando l’host OMS è protetto da un firewall, aggiungi gli indirizzi IP delle istanze database al firewall. Assicurati che il firewall per l’OMS consenta il seguente traffico di rete:  
Dall’host OMS all’istanza database  
Configura una regola del firewall unidirezionale che consenta il traffico dall’host OMS alla porta del listener del database (per impostazione predefinita, la 1521) e la porta di OEM Agent (per impostazione predefinita, la 3872).  
Dall’istanza database all’host OMS  
Configura una regola del firewall unidirezionale che consenta il traffico dall’istanza database alla porta HTTP di OMS (per impostazione predefinita, la 4903).
+ Per effettuare la connessione dall'OMS al Management Agent, se l'OMS ha un nome host risolvibile pubblicamente, aggiungi l'indirizzo dell'OMS a un gruppo di sicurezza. Il gruppo di sicurezza deve avere regole in entrata che permettono l'accesso alla porta del listener di database e a quella del Management Agent. Per un esempio su come creare un gruppo di sicurezza e aggiungere regole in entrata, consulta [Tutorial: crea un VPC da utilizzare con un ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md). 
+ Per effettuare la connessione dall'OMS al Management Agent, se l'OMS non ha un nome host risolvibile pubblicamente, utilizza uno dei seguenti: 
  + Se OMS si trova in un'istanza Amazon Elastic Compute Cloud (Amazon EC2) in un VPC privato, è possibile configurare il peering VPC per effettuare la connessione da OMS a Management Agent. Per ulteriori informazioni, consulta [Un'istanza database in un VPC a cui accede un'istanza EC2 in un VPC diverso](USER_VPC.Scenarios.md#USER_VPC.Scenario3). 
  + Se l'OMS è ospitato in locale, è possibile configurare una connessione VPN per permettere l'accesso dall'OMS al Management Agent. Per ulteriori informazioni, consulta l'articolo relativo a [Un'istanza database in un VPC a cui accede un'applicazione client tramite Internet](USER_VPC.Scenarios.md#USER_VPC.Scenario4) o alle [connessioni VPN](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html). 
+ Per connettere OEM Management Agent versione 13.5.0.0 (v1-v3) a un host OMS 24.1, imposta `MINIMUM_TLS_VERSION` per l’utilizzo del protocollo `TLSv1.2` nelle opzioni di configurazione.

## Limitazioni per Management Agent
<a name="Oracle.Options.OEMAgent.limitations"></a>

Di seguito sono riportate alcune delle limitazioni all’utilizzo di Management Agent: 
+ Non è possibile fornire immagini personalizzate di Oracle Management Agent.
+ Le attività amministrative come l'esecuzione dei processi e l'applicazione di patch ai database, che richiedono credenziali host, non sono supportate. 
+ Non è garantito che i parametri host e l'elenco di processi riflettano lo stato reale del sistema. Pertanto, non è consigliabile utilizzare OEM per monitorare il file system radice o il file system del punto di montaggio. Per ulteriori informazioni sul monitoraggio del sistema operativo, vedere [Monitoraggio dei parametri del sistema operativo con il monitoraggio avanzato](USER_Monitoring.OS.md).
+ L'individuazione automatica non è supportata. È necessario aggiungere manualmente le destinazioni dei database. 
+ La disponibilità dei moduli OMS dipende dall'edizione del database. Ad esempio, la diagnosi delle prestazioni del database e il modulo di ottimizzazione sono disponibili solo per Oracle Database Enterprise Edition. 
+ Management Agent consuma memoria e risorse di calcolo ulteriori. Se hai problemi di prestazioni dopo aver abilitato l'opzione `OEM_AGENT`, ti consigliamo di aumentare a una classe di istanza database più ampia. Per ulteriori informazioni, consulta [Classi di istanze DB ](Concepts.DBInstanceClass.md) e [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 
+ L'utente che esegue il comando `OEM_AGENT` sull’host Amazon RDS non dispone dell'accesso al sistema operativo al log di avvisi. Pertanto, non è possibile raccogliere parametri per `DB Alert Log` e `DB Alert Log Error Status` in OEM.

## Impostazioni dell'opzione per Management Agent
<a name="Oracle.Options.OEMAgent.Options"></a>

Amazon RDS supporta le seguenti impostazioni per l'opzione Management Agent.


| Impostazione opzioni | Campo obbligatorio | Valori validi | Descrizione | 
| --- | --- | --- | --- | 
|  **Version** (`AGENT_VERSION`)  |  Sì  |  `13.5.0.0.v3` `13.5.0.0.v2` `13.5.0.0.v1` `13.4.0.9.v2` `13.4.0.9.v1` `13.3.0.0.v2` `13.3.0.0.v1` `13.2.0.0.v3` `13.2.0.0.v2` `13.2.0.0.v1` `13.1.0.0.v1`  |  La versione del software Management Agent. La versione minima supportata è la `13.1.0.0.v1`. Il nome dell' AWS CLI opzione è`OptionVersion`.  Nelle AWS GovCloud (US) regioni, le versioni 13.1 non sono disponibili.   | 
|  **Porta** (`AGENT_PORT`)  |  Sì  |  Un valore intero.  |  La porta dell'istanza database in ascolto dell'host OMS. Il valore predefinito è 3872. L'host OMS deve appartenere a un gruppo di sicurezza che ha accesso a questa porta.  Il nome dell' AWS CLI opzione è`Port`.  | 
|  **Gruppi di sicurezza**  |  Sì  |  Gruppi di sicurezza esistenti  |  Un gruppo di sicurezza che ha accesso a **Port (Porta)**. L'host OMS deve appartenere a questo gruppo di sicurezza.  Il nome dell' AWS CLI opzione è `VpcSecurityGroupMemberships` o`DBSecurityGroupMemberships`.  | 
|  **OMS\$1HOST**  |  Sì  |  Un valore di stringa, ad esempio *my.example.oms*   |  Il nome host accessibile pubblicamente o l'indirizzo IP dell'OMS.  Il nome dell' AWS CLI opzione è`OMS_HOST`.  | 
|  **OMS\$1PORT**  |  Sì  |  Un valore intero.  |  La porta di caricamento HTTPS sull'host OMS che è in ascolto del Management Agent.  Per determinare la porta di caricamento HTTPS, effettuare la connessione all'host OMS ed eseguire il seguente comando (che richiede la password di `SYSMAN`): emctl status oms -details  Il nome dell' AWS CLI opzione è`OMS_PORT`.  | 
|  **AGENT\$1REGISTRATION\$1PASSWORD**  |  Sì  |  Un valore di stringa.  |  La password utilizzata dal Management Agent per effettuare l'autenticazione con l'OMS. Consigliamo di creare una password persistente sull'OMS prima di abilitare l'opzione `OEM_AGENT`. Con una password persistente, è possibile condividere un singolo gruppo di opzioni di Management Agent con più database Amazon RDS.  Il nome dell' AWS CLI opzione è`AGENT_REGISTRATION_PASSWORD`.  | 
|  **ALLOW\$1TLS\$1ONLY**  |  No  |  `true`, `false` (default)  |  Un valore che configura l'agente OEM per supportare solo il protocollo `TLSv1` mentre l'agente è in ascolto come un server. Questa impostazione non è più supportata. Le versioni 13.1.0.0.v1 e successive di Management Agent supportano la tecnologia Transport Layer Security (TLS) per impostazione predefinita.   | 
|  **MINIMUM\$1TLS\$1VERSION**  |  No  |  `TLSv1` (default), `TLSv1.2`  |  Una valore che specifica la versione TLS minima supportata dall'agente OEM mentre l'agente è in ascolto come un server. Per le versioni dell’agente non supportate, è consentita solo l’impostazione `TLSv1`. Per connettere 13.5.0.0 (v1-v3) a un host OMS 24.1, imposta questa opzione su `TLSv1.2`.  | 
|  **TLS\$1CIPHER\$1SUITE**  |  No  |  Per informazioni, consulta [Impostazioni dell'opzione per Management Agent](#Oracle.Options.OEMAgent.Options).  |  Un valore che specifica la suite di cifratura TLS utilizzata dall'agente OEM mentre l'agente è in ascolto come un server.   | 

La tabella seguente elenca le suite di crittografia TLS supportate dall'opzione Management Agent.


| Suite di cifratura | Versione Agent supportata | Conformità agli standard FedRAMP | 
| --- | --- | --- | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Tutti | No | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 | 13.1.0.0.v1 e versioni successive | No | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 13.2.0.0.v3 e versioni successive | No | 
| TLS\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA256 | 13.2.0.0.v3 e versioni successive | No | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 13.2.0.0.v3 e versioni successive | Sì | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 13.2.0.0.v3 e versioni successive | Sì | 
| TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 | 13.2.0.0.v3 e versioni successive | Sì | 
| TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 | 13.2.0.0.v3 e versioni successive | Sì | 
| TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 | 13.4.0.9.v1 e versioni successive | Sì | 
| TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 | 13.4.0.9.v1 e versioni successive | Sì | 

### Compatibilità dei certificati con le suite di crittografia
<a name="Oracle.Options.OEMAgent.CertificateCompatibility"></a>

RDS per Oracle supporta i certificati RSA ed Elliptic Curve Digital Signature Algorithm (ECDSA). Quando configuri l’opzione OEM Agent per l’istanza database, devi assicurarti che le suite di crittografia specificate nell’impostazione dell’opzione `TLS_CIPHER_SUITE` siano compatibili con il tipo di certificato utilizzato dall’istanza database.

Nella tabella seguente è illustrata la compatibilità tra i tipi di certificato e le suite di crittografia:


| Tipo di certificato | Suite di crittografia compatibili | Suite di crittografia incompatibili | 
| --- | --- | --- | 
| Certificati RSA (rds-ca-2019, 2048-g1, 4096-g1) rds-ca-rsa rds-ca-rsa |  TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384  |  TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384  | 
| Certificati ECDSA (384-g1) rds-ca-ecc |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384  |  TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384  | 

Quando specifichi una suite di crittografia nell’impostazione dell’opzione `TLS_CIPHER_SUITE`, assicurati che sia compatibile con il tipo di certificato utilizzato dall’istanza database. Se tenti di associare un gruppo di opzioni a un’opzione OEM Agent che contiene una suite di crittografia incompatibile con il tipo di certificato di un’istanza database, l’operazione avrà esito negativo e verrà visualizzato un messaggio di errore per segnalare l’incompatibilità.

## Abilitazione dell’opzione Management Agent per l’istanza database
<a name="Oracle.Options.OEMAgent.Enable"></a>

Per abilitare l’opzione Management Agent, utilizza la procedura seguente:

**Topics**
+ [

### Fase 1: aggiungere l’opzione Management Agent a un’istanza database
](#Oracle.Options.OEMAgent.Add)
+ [

### Fase 2: sbloccare l’account utente DBSNMP
](#Oracle.Options.OEMAgent.DBSNMP)
+ [

### Fase 3: aggiungere le destinazioni alla console di Management Agent
](#Oracle.Options.OEMAgent.Using)

### Fase 1: aggiungere l’opzione Management Agent a un’istanza database
<a name="Oracle.Options.OEMAgent.Add"></a>

Per aggiungere l’opzione Management Agent all’istanza database, procedi nel seguente modo:

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Se riscontri errori, puoi consultare i documenti di [My Oracle Support](https://support.oracle.com/) per informazioni sulla risoluzione di problemi specifici.

Dopo aver aggiunto l'opzione Management Agent, non è necessario riavviare l'istanza database. Non appena il gruppo di opzioni è attivo, è attivo anche l'agente OEM. 

Se l'host OMS utilizza un certificato di terze parti non attendibile, Amazon RDS restituisce il seguente errore.

```
You successfully installed the OEM_AGENT option. Your OMS host is using an untrusted third party certificate. 
Configure your OMS host with the trusted certificates from your third party.
```

Se viene restituito questo errore, l'opzione Management Agent non è abilitata finché il problema non viene corretto. Per informazioni sulla correzione del problema, consulta il documento di supporto My Oracle [2202569.1](https://support.oracle.com/epmos/faces/DocContentDisplay?id=2202569.1).

#### Console
<a name="Oracle.Options.OEMAgent.Add.Console"></a>

**Per aggiungere l’opzione Management Agent all’istanza database**

1. Determinare il gruppo di opzioni che si desidera usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. Per **Engine (Motore)** scegliere l'edizione Oracle per l'istanza database. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **OEM\$1AGENT (OEM\$1AGENT)** al gruppo di opzioni e configurare le impostazioni di opzione. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). Per ulteriori informazioni su ciascuna impostazione, consulta [Impostazioni dell'opzione per Management Agent](#Oracle.Options.OEMAgent.Options). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

#### AWS CLI
<a name="Oracle.Options.OEMAgent.Add.CLI"></a>

[L'esempio seguente utilizza il comando -group per aggiungere l'opzione a un gruppo di opzioni chiamato. AWS CLI add-option-to-option](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) `OEM_AGENT` `myoptiongroup` 

Per Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] \
    --apply-immediately
```

Per Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] ^
    --apply-immediately
```

### Fase 2: sbloccare l’account utente DBSNMP
<a name="Oracle.Options.OEMAgent.DBSNMP"></a>

Management Agent utilizza l’account utente `DBSNMP` per connettersi al database e segnalare i problemi a Oracle Enterprise Manager. In un CDB, `DBSNMP` è un utente comune. Questo account utente è necessario sia per Management Agent sia per OEM Database Express. Per impostazione predefinita, questo account è bloccato. La procedura per sbloccare questo account varia a seconda che il database utilizzi l’architettura non CDB o CDB.

**Per sbloccare l’account utente DBSNMP**

1. In SQL\$1Plus o in un’altra applicazione Oracle SQL, accedi come utente master all’istanza database.

1. A seconda dell’architettura del database, effettua una delle seguenti azioni:  
**Il database è un database non CDB.**  
Esegui la seguente istruzione SQL:  

   ```
   1. ALTER USER dbsnmp IDENTIFIED BY new_password ACCOUNT UNLOCK;
   ```  
**Il database è un CDB.**  
Esegui la seguente stored procedure per sbloccare l’account `DBSNMP`:  

   ```
   1. EXEC rdsadmin.rdsadmin_util.reset_oem_agent_password('new_password');
   ```
Se viene visualizzato un errore per segnalare che la procedura non esiste, riavvia l’istanza CDB per installarla automaticamente. Per ulteriori informazioni, consulta [Riavvio di un'istanza DB DB](USER_RebootInstance.md).

### Fase 3: aggiungere le destinazioni alla console di Management Agent
<a name="Oracle.Options.OEMAgent.Using"></a>

Per aggiungere un’istanza database come destinazione, assicurati di conoscere l’endpoint e la porta. Per informazioni su come trovare l’endpoint per l’istanza database Amazon RDS, consulta [Esito dell'endpoint dell'istanza database RDS per Oracle](USER_Endpoint.md). Se il database utilizza l’architettura CDB, aggiungi il container `CDB$ROOT` separatamente come destinazione.

**Per aggiungere le destinazioni alla console di Management Agent**

1. Nella console OMS, selezionare **Setup (Configurazione)**, **Add Target (Aggiungi destinazione)**, **Add Targets Manually (Aggiungi manualmente destinazioni)**. 

1. Scegliere **Add Targets Declaratively by Specifying Target Monitoring Properties (Aggiungi destinazioni in modo dichiarativo specificando le proprietà di monitoraggio della destinazione)**.

1. Per **Target Type (Tipo di destinazione)**, scegliere **Database Instance (Istanza database)**.

1. Per **Monitoring Agent (Agente di monitoraggio)** scegliere l'agente con l'ID uguale all'identificatore istanze DB di RDS. 

1. Scegliere **Add Manually (Aggiungi manualmente)**.

1. Inserire l’endpoint per l’istanza database Amazon RDS o selezionarlo dall’elenco di nomi host. Verificare che il nome dell'host specificato corrisponda all'endpoint dell'istanza database Amazon RDS.

1. Specificare le seguenti proprietà del database:
   + Immettere un nome in **Target Name (Nome destinazione)**. 
   + Immettere un nome in **Database system name (Nome del sistema di database)**.
   + Immettere **dbsnmp** in **Monitor username (Nome utente monitoraggio)**. 
   + In **Password monitoraggio**, immettere la password da [Fase 2: sbloccare l’account utente DBSNMP](#Oracle.Options.OEMAgent.DBSNMP). 
   + In **Role (Ruolo)** immettere **normal (normale)**. 
   + In **Oracle home path (Percorso home di Oracle)** immettere **/oracle**. 
   + Per **Listener Machine name (Nome macchina listener)**, viene già visualizzato l'identificatore dell'agente. 
   + In **Port (Porta)** immettere la porta del database. La porta RDS predefinita è 1521. 
   + In **Database name (Nome del database)** immettere il nome del database. Se il database è un CDB, il nome è `RDSCDB`. 

1. Scegliere **Test Connection (Connessione di prova)**. 

1. Scegli **Next (Successivo)**. Il database di destinazione viene visualizzato nell'elenco di risorse monitorate. 

## Rimozione dell'opzione Management Agent
<a name="Oracle.Options.OEMAgent.Remove"></a>

È possibile rimuovere l'OEM Agent dall'istanza database. Dopo aver rimosso l'opzione OEM Agent, non è necessario riavviare la tua istanza database. 

Per rimuovere l'OEM Agent dall'istanza database, procedere in uno dei seguenti modi: 
+ Rimuovere l'opzione OEM Agent dal gruppo di opzioni a cui appartiene. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modificare l'istanza database e specificare un diverso gruppo di opzioni che non comprenda l'opzione OEM Agent. Questa modifica coinvolge una singola istanza database. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Esecuzione delle attività di database con Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks"></a>

Puoi utilizzare le procedure Amazon RDS per eseguire alcuni comandi EMCTL in Management Agent. Con queste procedure, puoi eseguire le attività elencate di seguito.

**Nota**  
Le attività vengono eseguite in modo asincrono.

**Topics**
+ [

### Protezione di Management Agent
](#Oracle.Options.OEMAgent.DBTasks.SecureAgent)
+ [

### Ottenere lo stato del Management Agent
](#Oracle.Options.OEMAgent.DBTasks.GetAgentStatus)
+ [

### Riavvio di Management Agent
](#Oracle.Options.OEMAgent.DBTasks.RestartAgent)
+ [

### Elenco delle destinazioni monitorate da Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ListTargets)
+ [

### Elenco dei thread di raccolta monitorati da Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ListCollectionThreads)
+ [

### Cancellazione dello stato di Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ClearState)
+ [

### Configurazione di Management Agent per il caricamento automatico del proprio OMS
](#Oracle.Options.OEMAgent.DBTasks.ForceUploadOMS)
+ [

### Ping dell'OMS
](#Oracle.Options.OEMAgent.DBTasks.PingOMS)
+ [

### Visualizzazione dello stato di un'attività in corso
](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus)

### Protezione di Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.SecureAgent"></a>

Per proteggere Management Agent, esegui la procedura di Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.secure_oem_agent`. Questa procedura equivale al comando `emctl secure agent`.

La procedura seguente crea un’attività per proteggere Management Agent e restituisce l’ID dell’attività:

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.secure_oem_agent as TASK_ID from DUAL;
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Ottenere lo stato del Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.GetAgentStatus"></a>

Per ottenere lo stato del Management Agent, eseguire la Amazon RDS procedura `rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent`. Questa procedura equivale al comando `emctl status agent`.

La procedura seguente crea un'attività per ottenere lo stato del Management Agent e restituisce l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent() as TASK_ID from DUAL;
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Riavvio di Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.RestartAgent"></a>

Per riavviare Management Agent, esegui la procedura di Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent`. Questa procedura equivale ai comandi `emctl stop agent` e `emctl start agent`.

La procedura seguente crea un'attività per riavviare Management Agent e restituisce l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent as TASK_ID from DUAL;    
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Elenco delle destinazioni monitorate da Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ListTargets"></a>

Per elencare le destinazioni monitorate da Management Agent, esegui la procedura di Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.list_targets_oem_agent`. Questa procedura equivale al comando `emctl config agent listtargets`.

La procedura seguente crea un'attività per elencare le destinazioni monitorate dal Management Agent e restituisce l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.list_targets_oem_agent as TASK_ID from DUAL;
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Elenco dei thread di raccolta monitorati da Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ListCollectionThreads"></a>

Per elencare tutti i thread di raccolta in esecuzione, pronti e pianificati monitorati dal Management Agent, esegui la procedura Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.list_clxn_threads_oem_agent`. Questa procedura equivale al comando `emctl status agent scheduler`.

La procedura seguente crea un'attività per elencare i thread di raccolta e restituisce l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.list_clxn_threads_oem_agent() as TASK_ID from DUAL;          
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Cancellazione dello stato di Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ClearState"></a>

Per cancellare lo stato di Management Agent, esegui la procedura di Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.clearstate_oem_agent`. Questa procedura equivale al comando `emctl clearstate agent`.

La procedura seguente crea un'attività che cancella lo stato del Management Agent e restituisce l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.clearstate_oem_agent() as TASK_ID from DUAL;
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Configurazione di Management Agent per il caricamento automatico del proprio OMS
<a name="Oracle.Options.OEMAgent.DBTasks.ForceUploadOMS"></a>

Per configurare Management Agent in modo che carichi Oracle Management Server (OMS) a cui è associato, esegui la procedura di Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent`. Questa procedura equivale al comando `emclt upload agent`.

Nella procedura seguente viene creata un'attività in cui Management Agent carica l'OMS associato e restituisce l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent() as TASK_ID from DUAL;
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Ping dell'OMS
<a name="Oracle.Options.OEMAgent.DBTasks.PingOMS"></a>

Per eseguire il ping dell'OMS di Management Agent, esegui la procedura di Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.ping_oms_oem_agent`. Questa procedura equivale al comando `emctl pingOMS`.

Nella procedura seguente viene creata un'attività che esegue il ping dell'OMS del Management Agent e restituisce l'ID dell'attività.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.ping_oms_oem_agent() as TASK_ID from DUAL;
```

Per visualizzare il file di output dell’attività ed esaminare il risultato, consulta [Visualizzazione dello stato di un'attività in corso](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Visualizzazione dello stato di un'attività in corso
<a name="Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus"></a>

È possibile visualizzare lo stato di un'attività in corso in un file bdump. I file bdump si trovano nella directory `/rdsdbdata/log/trace`. Il nome del file bdump ha il formato che segue.

```
dbtask-task-id.log 
```

Per monitorare un'attività, sostituisci `task-id` con l'ID di tale attività.

Per visualizzare i contenuti dei file bdump, esegui la procedura di Amazon RDS `rdsadmin.rds_file_util.read_text_file`. La query seguente restituisce i contenuti del file bdump `dbtask-1546988886389-2444.log`. 

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1546988886389-2444.log'));
```

Per ulteriori informazioni sulla procedura `rdsadmin.rds_file_util.read_text_file` di Amazon RDS, consulta [Lettura dei file in una directory di istanze database](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

# Oracle Label Security
<a name="Oracle.Options.OLS"></a>

Amazon RDS supporta Oracle Label Security per la Enterprise Edition di Oracle Database tramite l'uso dell'opzione OLS.

La maggior parte della sicurezza del database controlla l'accesso a livello dell'oggetto. Oracle Label Security fornisce un controllo preciso dell'accesso alle singole righe della tabella. Ad esempio, è possibile usare Label Security per applicare la conformità alle normative con un modello di amministrazione basato sulla policy. È possibile usare le policy di Label Security per controllare l'accesso a dati sensibili e l'acceso limitato solo agli utenti con il livello adeguato di autorizzazioni. Per altre informazioni, consulta l'articolo relativo a [Introduzione a Oracle Label Security](https://docs.oracle.com/database/121/OLSAG/intro.htm#OLSAG001) nella documentazione Oracle.

**Topics**
+ [

## Requisiti per Oracle Label Security
](#Oracle.Options.OLS.PreReqs)
+ [

## Considerazioni su quando utilizzare Oracle Label Security
](#Oracle.Options.OLS.Using)
+ [

## Aggiunta dell'opzione Oracle Label Security
](#Oracle.Options.OLS.Add)
+ [

## Risoluzione dei problemi
](#Oracle.Options.OLS.Troubleshooting)

## Requisiti per Oracle Label Security
<a name="Oracle.Options.OLS.PreReqs"></a>

Acquisisci familiarità con i seguenti requisiti per Oracle Label Security: 
+ L'istanza database deve usare il modello Bring Your Own License (uso di licenze proprie). Per ulteriori informazioni, consulta [Opzioni di licenza per RDS per Oracle](Oracle.Concepts.Licensing.md). 
+ È necessario disporre di una licenza valida per Oracle Enterprise Edition con Licenza di aggiornamento software e supporto. 
+ La licenza Oracle deve comprendere l'opzione Label Security.

## Considerazioni su quando utilizzare Oracle Label Security
<a name="Oracle.Options.OLS.Using"></a>

Per usare Oracle Label Security, è possibile creare policy che controllino l'accesso a righe specifiche nelle tabelle. Per altre informazioni, consulta l'articolo relativo a [Creazione di una policy di Oracle Label Security](https://docs.oracle.com/database/121/OLSAG/getstrtd.htm#OLSAG3096) nella documentazione Oracle. 

Considera i seguenti aspetti:
+ Oracle Label Security è un'opzione permanente e persistente. Pertanto, non puoi rimuovere l'opzione da un gruppo di opzioni. Se aggiungi Oracle Label Security a un gruppo di opzioni e lo associ all'istanza database, è possibile in seguito associare un gruppo di opzioni diverso all'istanza database, ma anche questo gruppo deve contenere l'opzione Oracle Label Security.
+ Quando utilizzi Label Security, esegui tutte le azioni come ruolo `LBAC_DBA`. All’utente master per l’istanza database viene concesso il ruolo `LBAC_DBA`. È possibile concedere il ruolo `LBAC_DBA` ad altri utenti in modo che possano amministrare le policy di Label Security.
+ Assicurati di concedere l’accesso al pacchetto `OLS_ENFORCEMENT` per tutti i nuovi utenti che richiedono l’accesso a Oracle Label Security. Per concedere l'accesso al pacchetto `OLS_ENFORCEMENT`, connettiti all'istanza database come utente master ed esegui l'istruzione SQL:

  ```
  GRANT ALL ON LBACSYS.OLS_ENFORCEMENT TO username;
  ```
+ Puoi configurare Label Security tramite Oracle Enterprise Manager (OEM) Cloud Control. Amazon RDS supporta OEM Cloud Control tramite l’opzione Management Agent. Per ulteriori informazioni, consulta [Oracle Management Agent per Enterprise Manager Cloud Control](Oracle.Options.OEMAgent.md). 

## Aggiunta dell'opzione Oracle Label Security
<a name="Oracle.Options.OLS.Add"></a>

La procedura generale per aggiungere l'opzione Label Security a un'istanza database è la seguente: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.
**Importante**  
Oracle Label Security è un'opzione permanente e persistente.

1. Associare il gruppo di opzioni a questa istanza database.

Una volta aggiunta l'opzione Label Security, non appena il gruppo di opzioni sarà attivo, anche Label Security sarà attiva. 

**Per aggiungere l'opzione Label Security a un'istanza database**

1. Determinare il gruppo di opzioni che si desidera usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. In **Engine (Motore)** scegliere **oracle-ee**. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **OLS** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 
**Importante**  
Se aggiungi Label Security a un gruppo di opzioni esistente che è già associato a una o più istanze database, tutte le istanze database vengono riavviate. 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 

      
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Quando aggiungi l'opzione Label Security a un'istanza database esistente, si verifica una breve interruzione mentre l'istanza database viene automaticamente riavviata. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

## Risoluzione dei problemi
<a name="Oracle.Options.OLS.Troubleshooting"></a>

Di seguito sono elencati i problemi che si potrebbero riscontrare quando si usa Oracle Label Security. 


****  

| Problema | Suggerimenti sulla risoluzione dei problemi | 
| --- | --- | 
|  Quando cerchi di creare una policy, comparirà un messaggio di errore simile al seguente: `insufficient authorization for the SYSDBA package`.   |  Un problema noto con la funzionalità Oracle Label Security impedisce agli utenti con nomi utente di 16 o 24 caratteri di eseguire i comandi di Label Security. È possibile creare un nuovo utente con un numero diverso di caratteri, garantire LBAC\$1DBA al nuovo utente, accedere come nuovo utente ed eseguire i comandi OLS come nuovo utente. Per altre informazioni, contatta il supporto Oracle.   | 

# Oracle Locator
<a name="Oracle.Options.Locator"></a>

Amazon RDS supporta Oracle Locator tramite l'utilizzo dell'opzione `LOCATOR`. Oracle Locator offre funzionalità che sono solitamente richieste per il supporto di applicazioni Internet e wireless basate su servizi e di soluzioni GIS basate su partner. Oracle Locator è un sottoinsieme limitato di Oracle Spatial. Per ulteriori informazioni, consulta [Oracle Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#SPATL340) nella documentazione di Oracle. 

**Importante**  
Se utilizzi Oracle Locator, Amazon RDS aggiorna automaticamente la tua istanza database alla versione più recente di Oracle PSU, nel casi vi siano vulnerabilità della sicurezza con un punteggio del Common Vulnerability Scoring System (CVSS) di 9\$1 o altre vulnerabilità della sicurezza annunciate. 

## Versioni di database supportate per Oracle Locator
<a name="Oracle.Options.Locator.Releases"></a>

RDS per Oracle supporta Oracle Locator per Oracle Database 19c. Oracle Locator non è supportato per Oracle Database 21c, ma la sua funzionalità è disponibile nell'opzione Oracle Spatial. In precedenza, l'opzione Spatial richiedeva licenze aggiuntive. Oracle Locator rappresentava un sottoinsieme di funzionalità Oracle Spatial e non richiedeva licenze aggiuntive. Nel 2019, Oracle ha annunciato che tutte le funzionalità di Oracle Spatial sono state incluse nelle licenze Enterprise Edition e Standard Edition 2 senza costi aggiuntivi. Di conseguenza, l'opzione Oracle Spatial non richiedeva più licenze aggiuntive. Per ulteriori informazioni, consulta [Machine Learning, Spatial e Graph - Nessuna licenza richiesta\$1](https://blogs.oracle.com/database/post/machine-learning-spatial-and-graph-no-license-required) nel blog Oracle Database Insider.

## Prerequisiti per Oracle Locator
<a name="Oracle.Options.Locator.PreReqs"></a>

Di seguito sono indicati i prerequisiti per l'utilizzo di Oracle Locator: 
+ L'istanza database deve appartenere a una classe sufficiente. Oracle Locator non è supportato per le classi di istanza database db.t3.small. Per ulteriori informazioni, consulta [Classi di istanza database RDS per Oracle](Oracle.Concepts.InstanceClasses.md). 
+ L'istanza database deve avere l'opzione **Auto Minor Version Upgrade (Aggiornamento minore automatico della versione)** abilitata. Questa opzione consente all'istanza database di ricevere automaticamente gli aggiornamenti secondari della versione del motore del database quando vengono resi disponibili ed è obbligatoria per tutte le opzioni che installano la Java Virtual Machine (JVM) Oracle. Amazon RDS utilizza questa opzione per aggiornare l'istanza database all'ultimo PSU (Patch Set Update) o RU (Release Update) di Oracle. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Best Practice per Oracle Locator
<a name="Oracle.Options.Locator.BestPractces"></a>

Di seguito sono indicate le best practice per l'utilizzo di Oracle Locator: 
+ Per la massima sicurezza, è necessario utilizzare l'opzione `LOCATOR` con Secure Sockets Layer (SSL). Per ulteriori informazioni, consulta [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md). 
+ Configurare l'istanza database per limitare l'accesso all'istanza database. Per ulteriori informazioni, consulta [Scenari per accedere a un'istanza database in un VPC](USER_VPC.Scenarios.md) e [Uso di un'istanza database in un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Aggiunta dell'opzione Oracle Locator
<a name="Oracle.Options.Locator.Add"></a>

Di seguito è riportato il processo generale per aggiungere l'opzione `LOCATOR` a un'istanza database: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Se Oracle Java Virtual Machine *non* è installato nell'istanza database, durante l'aggiunta dell'opzione `LOCATOR` si verifica una breve interruzione. Se Oracle Java Virtual Machine è già installata nell'istanza database, non si verificherà alcuna interruzione. Una volta aggiunta l'opzione, non è necessario riavviare l'istanza database. Non appena il gruppo di opzioni è attivo, Oracle Locator è disponibile. 

**Nota**  
Durante questa interruzione, le funzioni di verifica delle password vengono temporaneamente disabilitate. Durante l'interruzione si possono verificare eventi correlati alle funzioni di verifica delle password. Le funzioni di verifica delle password vengono riabilitate prima di rendere disponibile l'istanza database Oracle.

**Per aggiungere l'opzione `LOCATOR` a un'istanza database**

1. Determinare il gruppo di opzioni che si vuole usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. In **Engine (Motore)** selezionare l'edizione Oracle per l'istanza database. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **LOCATOR** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Utilizzo di Oracle Locator
<a name="Oracle.Options.Locator.Using"></a>

L'opzione Oracle Locator può essere utilizzata immediatamente dopo l'abilitazione. Utilizza solo le caratteristiche di Oracle Locator. Non usare le caratteristiche di Oracle Spatial se non disponi di un'apposita licenza. 

Per un elenco delle caratteristiche supportate da Oracle Locator, consulta [Features Included with Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#GUID-EC6DEA23-8FD7-4109-A0C1-93C0CE3D6FF2__CFACCEEG) nella documentazione di Oracle. 

Per un elenco delle caratteristiche non supportate da Oracle Locator, consulta [Features Not Included with Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#GUID-EC6DEA23-8FD7-4109-A0C1-93C0CE3D6FF2__CFABACEA) nella documentazione di Oracle. 

## Rimozione dell'opzione Oracle Locator
<a name="Oracle.Options.Locator.Remove"></a>

Dopo aver eliminato tutti gli oggetti che utilizzano i tipi di dati forniti dall'opzione `LOCATOR`, è possibile rimuovere l'opzione da un'istanza DB. Se Oracle Java Virtual Machine *non* è installata nell'istanza database, durante la rimozione dell'opzione `LOCATOR` si verifica una breve interruzione. Se Oracle Java Virtual Machine è già installata nell'istanza database, non si verificherà alcuna interruzione. Una volta rimossa l'opzione `LOCATOR` non è necessario riavviare la tua istanza database. 

**Per eliminare l'opzione `LOCATOR`**

1. Eseguire il backup dei dati.
**avvertimento**  
Se l'istanza utilizza tipi di dati abilitati come parte dell'opzione e se si rimuove l'opzione `LOCATOR`, è possibile perdere i dati. Per ulteriori informazioni, consulta [Backup, ripristino ed esportazione dei dati](CHAP_CommonTasks.BackupRestore.md).

1. Verificare se gli oggetti esistenti fanno riferimento ai tipi di dati o alle feature dell'opzione `LOCATOR`. 

   Se esistono opzioni `LOCATOR`, l'istanza può rimanere bloccata quando si applica il nuovo gruppo di opzioni che non dispone dell'opzione `LOCATOR`. È possibile identificare gli oggetti utilizzando le seguenti query:

   ```
   SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME, BYTES/1024/1024 mbytes
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE '%TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
          (SELECT DISTINCT OWNER, TABLE_NAME 
           FROM   DBA_TAB_COLUMNS
           WHERE  DATA_TYPE='SDO_GEOMETRY'
           AND    OWNER <> 'MDSYS')
   ORDER BY 1,2,3,4;
   
   SELECT OWNER, TABLE_NAME, COLUMN_NAME
   FROM   DBA_TAB_COLUMNS 
   WHERE  DATA_TYPE = 'SDO_GEOMETRY' 
   AND    OWNER <> 'MDSYS' 
   ORDER BY 1,2,3;
   ```

1. Eliminare gli oggetti che fanno riferimento ai tipi di dati o alle feature dell'opzione `LOCATOR`.

1. Scegliere una delle seguenti operazioni:
   + Rimuovere l'opzione `LOCATOR` dal gruppo di opzioni a cui appartiene. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modificare l'istanza database e specificare un diverso gruppo di opzioni che non comprenda l'opzione `LOCATOR`. Questa modifica coinvolge una singola istanza database. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle native network encryption
<a name="Appendix.Oracle.Options.NetworkEncryption"></a>

Amazon RDS supporta Native Network Encryption (NNE) di Oracle. Con l’opzione `NATIVE_NETWORK_ENCRYPTION`, puoi crittografare i dati quando vengono spostati da e verso un’istanza database. Amazon RDS supporta NNE per tutte le edizioni di Oracle Database.

Una descrizione dettagliata di NNE di Oracle non rientra nell'ambito di questa guida, ma è necessario conoscere i vantaggi e gli svantaggi di ogni algoritmo e chiave prima di scegliere una soluzione per la distribuzione. Per informazioni su algoritmi e chiavi disponibili mediante la crittografia di rete nativa di Oracle, consulta [Configuring Network Data Encryption](http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/prod/security/network_encrypt/ntwrkencrypt.htm) nella documentazione di Oracle. Per ulteriori informazioni sulla sicurezza AWS, consulta il [Centro di Sicurezza AWS](https://aws.amazon.com/security).

**Nota**  
Puoi utilizzare Secure Sockets Layer o Native Network Encryption, ma non entrambi. Per ulteriori informazioni, consulta [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md). 

**Topics**
+ [

# Impostazioni dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Options.md)
+ [

# Aggiunta dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Add.md)
+ [

# Impostazione dei valori NNE in sqlnet.ora
](Oracle.Options.NNE.Using.md)
+ [

# Modifica delle impostazioni dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.ModifySettings.md)
+ [

# Rimozione dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Remove.md)

# Impostazioni dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Options"></a>

È possibile specificare i requisiti di crittografia sia sul server che sul client. L'istanza database può fungere da client quando, ad esempio, utilizza un database link per connettersi a un altro database. È possibile evitare di forzare la crittografia sul lato server. Ad esempio, è possibile che non si desideri forzare tutte le comunicazioni client a utilizzare la crittografia perché il server lo richiede. In questo caso, è possibile forzare la crittografia sul lato client utilizzando le opzioni `SQLNET.*CLIENT`.

Amazon RDS supporta le seguenti impostazioni per l’opzione `NATIVE_NETWORK_ENCRYPTION`.

**Nota**  
Quando si utilizzano virgole per separare i valori per un'impostazione di opzione, non inserire uno spazio dopo la virgola.


****  

| Impostazione opzioni | Valori validi | Valori predefiniti | Description | 
| --- | --- | --- | --- | 
|  `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS`  |  `TRUE`, `FALSE`  |  `TRUE`  |  Il comportamento del server quando un client che utilizza una crittografia non sicura tenta di connettersi al database. Se `TRUE`, i client possono connettersi anche se non sono stati sottoposti a patch con la PSU di luglio 2021.  Se l'impostazione è `FALSE`, i client possono connettersi al database solo quando vengono sottoposti a patch con la PSU di luglio 2021. Prima di impostare `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS` su `FALSE`, assicurati che siano soddisfatte le seguenti condizioni: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html)  | 
|  `SQLNET.ALLOW_WEAK_CRYPTO`  |  `TRUE`, `FALSE`  |  `TRUE`  |  Il comportamento del server quando un client che utilizza una crittografia non sicura tenta di connettersi al database. Le seguenti crittografie sono considerate non sicure: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) Se l'impostazione è `TRUE`, i client possono connettersi quando utilizzano crittografie precedenti non sicure. Se l'impostazione è `FALSE`, il database impedisce ai client di connettersi quando utilizzano crittografie precedenti non sicure. Prima di impostare `SQLNET.ALLOW_WEAK_CRYPTO` su `FALSE`, assicurati che siano soddisfatte le seguenti condizioni: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html)  | 
|  `SQLNET.CRYPTO_CHECKSUM_CLIENT`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Il comportamento dell'integrità dei dati quando un'istanza database si connette al client, oppure un server che agisce come client. Quando un'istanza database utilizza un collegamento di database, agisce come un client. `Requested` indica che il client non richiede che l'istanza database eseguire un checksum.  | 
|  `SQLNET.CRYPTO_CHECKSUM_SERVER`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Il comportamento dell'integrità dei dati quando un client, oppure un server che agisce come client, si connette all'istanza database. Quando un'istanza database utilizza un collegamento di database, agisce come un client. `Requested` indica che l'istanza database non richiede al client di eseguire un checksum.  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  `SHA256`, `SHA384`, `SHA512`  |  Un elenco di algoritmi di checksum. È possibile specificare un valore o un elenco di valori separato da virgole. Se si utilizza una virgola, non inserire uno spazio dopo la virgola, altrimenti verrà visualizzato un errore `InvalidParameterValue`. Questo parametro e `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER ` deve avere una crittografia comune.  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  Un elenco di algoritmi di checksum. È possibile specificare un valore o un elenco di valori separato da virgole. Se si utilizza una virgola, non inserire uno spazio dopo la virgola, altrimenti verrà visualizzato un errore `InvalidParameterValue`. Questo parametro e `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT` deve avere una crittografia comune.  | 
|  `SQLNET.ENCRYPTION_CLIENT`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Il comportamento della crittografia del client quando un client, oppure un server che agisce come client, si connette all'istanza database. Quando un'istanza database utilizza un collegamento di database, agisce come un client. `Requested` indica che il client non richiede la crittografia del traffico dal server.  | 
|  `SQLNET.ENCRYPTION_SERVER`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Il comportamento della crittografia del server quando un client, oppure un server che agisce come client, si connette all'istanza database. Quando un'istanza database utilizza un collegamento di database, agisce come un client. `Requested` indica che l'istanza database non richiede la crittografia del traffico dal client.  | 
|  `SQLNET.ENCRYPTION_TYPES_CLIENT`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  Un elenco degli algoritmi di crittografia utilizzati dal client. Il client tenta di decrittografare l'input del server eseguendo ciascun algoritmo in sequenza, fino alla corretta esecuzione di un algoritmo o fino alla fine dell'elenco.  Amazon RDS utilizza il seguente elenco predefinito di Oracle. RDS inizia con `RC4_256` e procede in sequenza scorrendo l'elenco. Puoi cambiare l'ordine o limitare gli algoritmi che l'istanza database accetterà.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) È possibile specificare un valore o un elenco di valori separato da virgole. Se si utilizza una virgola, non inserire uno spazio dopo la virgola; in caso contrario, viene visualizzato un errore `InvalidParameterValue`. Questo parametro e `SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER` deve avere una crittografia comune.  | 
|  `SQLNET.ENCRYPTION_TYPES_SERVER`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  Un elenco degli algoritmi di crittografia utilizzati dall'istanza database. L'istanza database utilizza ogni algoritmo, nell'ordine, per tentare di decrittografare l'input del client fino alla corretta esecuzione di un algoritmo o fino alla fine dell'elenco.  Amazon RDS utilizza il seguente elenco predefinito di Oracle. Puoi cambiare l'ordine o limitare gli algoritmi che il client accetterà.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) È possibile specificare un valore o un elenco di valori separato da virgole. Se si utilizza una virgola, non inserire uno spazio dopo la virgola; in caso contrario, viene visualizzato un errore `InvalidParameterValue`. Questo parametro e `SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER` deve avere una crittografia comune.  | 

# Aggiunta dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Add"></a>

Di seguito è riportata la procedura generale per aggiungere l’opzione `NATIVE_NETWORK_ENCRYPTION` a un’istanza database: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Quando il gruppo di opzioni è attivo, NNE è attiva. 

**Per aggiungere l'opzione NATIVE\$1NETWORK\$1ENCRYPTION a un'istanza DB utilizzando Console di gestione AWS**

1. Per **Engine (Motore)**, scegliere l'edizione di Oracle da utilizzare. NNE è supportato in tutte le edizioni. 

1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l’opzione **NATIVE\$1NETWORK\$1ENCRYPTION** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).
**Nota**  
Una volta aggiunta l’opzione **NATIVE\$1NETWORK\$1ENCRYPTION**, non è necessario riavviare le istanze database. Non appena il gruppo di opzioni è attivo, NNE è attiva. 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Una volta aggiunta l’opzione **NATIVE\$1NETWORK\$1ENCRYPTION**, non è necessario riavviare l’istanza database. Non appena il gruppo di opzioni è attivo, NNE è attiva. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Impostazione dei valori NNE in sqlnet.ora
<a name="Oracle.Options.NNE.Using"></a>

Con crittografia di rete nativa di Oracle, puoi impostare la crittografia di rete sul lato server e sul lato client. Il client è il computer utilizzato per connettersi all'istanza database. È possibile specificare le seguenti impostazioni client in slqnet.ora: 
+ `SQLNET.ALLOW_WEAK_CRYPTO`
+ `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS`
+ `SQLNET.CRYPTO_CHECKSUM_CLIENT`
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`
+ `SQLNET.ENCRYPTION_CLIENT`
+ `SQLNET.ENCRYPTION_TYPES_CLIENT`

Per informazioni, consulta [Configuring Network Data Encryption and Integrity for Oracle Servers and Clients](http://docs.oracle.com/cd/E11882_01/network.112/e40393/asoconfg.htm) nella documentazione di Oracle.

Talvolta, l'istanza database rifiuta una richiesta di connessione da un'applicazione. Ad esempio, un rifiuto può verificarsi quando gli algoritmi di crittografia sul client e sul server non corrispondono. Per testare crittografia di rete nativa di Oracle, aggiungi le seguenti righe al file sqlnet.ora sul client: 

```
DIAG_ADR_ENABLED=off
TRACE_DIRECTORY_CLIENT=/tmp
TRACE_FILE_CLIENT=nettrace
TRACE_LEVEL_CLIENT=16
```

Quando si esegue un tentativo di connessione, le righe precedenti generano un file di traccia sul client denominato `/tmp/nettrace*`. Il file di traccia contiene informazioni sulla connessione. Per ulteriori informazioni sui problemi relativi alla connessione quando si utilizza NNE, consulta [About Negotiating Encryption and Integrity](http://docs.oracle.com/cd/E11882_01/network.112/e40393/asoconfg.htm#autoId12) nella documentazione di Oracle Database.

# Modifica delle impostazioni dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.ModifySettings"></a>

Dopo aver abilitato l'opzione `NATIVE_NETWORK_ENCRYPTION`, puoi modificarne le impostazioni. Attualmente, è possibile modificare le impostazioni delle `NATIVE_NETWORK_ENCRYPTION` opzioni solo con l'API AWS CLI o RDS. Non puoi utilizzare la console. L’esempio seguente modifica due impostazioni nell’opzione.

```
aws rds add-option-to-option-group \
    --option-group-name my-option-group \
    --options "OptionName=NATIVE_NETWORK_ENCRYPTION,OptionSettings=[{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256},{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256}]" \
    --apply-immediately
```

Per informazioni su come modificare le impostazioni dell'opzione utilizzando la CLI, consulta [AWS CLI](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption.CLI). Per ulteriori informazioni su ciascuna impostazione, consulta [Impostazioni dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION](Oracle.Options.NNE.Options.md).

**Topics**
+ [

## Modifica dei valori CRYPTO\$1CHECKSUM\$1\$1
](#Oracle.Options.NNE.ModifySettings.checksum)
+ [

## Modifica delle impostazioni ALLOW\$1WEAK\$1CRYPTO\$1
](#Oracle.Options.NNE.ModifySettings.encryption)

## Modifica dei valori CRYPTO\$1CHECKSUM\$1\$1
<a name="Oracle.Options.NNE.ModifySettings.checksum"></a>

Se modifichi le impostazioni dell’opzione **NATIVE\$1NETWORK\$1ENCRYPTION**, assicurati che le seguenti impostazioni dell’opzione abbiano almeno una crittografia comune:
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`

L'esempio seguente mostra uno scenario in cui si modifica `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`. La configurazione è valida perché sia `CRYPTO_CHECKSUM_TYPES_CLIENT` che `CRYPTO_CHECKSUM_TYPES_SERVER` utilizzano `SHA256`.


| Impostazione opzioni | Valori prima della modifica | Valori dopo la modifica | 
| --- | --- | --- | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`  |  Nessuna modifica  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  | SHA1,MD5,SHA256 | 

Per un altro esempio, si supponga di voler modificare `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER` dalla sua impostazione di default a `SHA1,MD5`. In questo caso, assicurati di impostare `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT` a `SHA1` o `MD5`. Questi algoritmi non sono inclusi nei valori di default per `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`.

## Modifica delle impostazioni ALLOW\$1WEAK\$1CRYPTO\$1
<a name="Oracle.Options.NNE.ModifySettings.encryption"></a>

Per impostare le opzioni `SQLNET.ALLOW_WEAK_CRYPTO*` dal valore di default `FALSE`, accertati che siano soddisfatte le seguenti condizioni:
+ `SQLNET.ENCRYPTION_TYPES_SERVER` e `SQLNET.ENCRYPTION_TYPES_CLIENT` hanno un metodo di crittografia sicuro corrispondente. Un metodo è considerato sicuro se non è `DES`, `3DES` oppure `RC4` (tutte le lunghezze di chiave).
+ `SQLNET.CHECKSUM_TYPES_SERVER` e `SQLNET.CHECKSUM_TYPES_CLIENT` hanno un metodo di checksum sicuro corrispondente. Un metodo è considerato sicuro se non è `MD5`.
+ Il client viene sottoposto a patch con la PSU di luglio 2021. Se non è stato sottoposto a patch, il client perde la connessione e riceve l’errore `ORA-12269`.

Il seguente esempio mostra impostazioni NNE di esempio. Supponiamo di voler impostare `SQLNET.ENCRYPTION_TYPES_SERVER` e `SQLNET.ENCRYPTION_TYPES_CLIENT` su FALSE, bloccando così connessioni non sicure. Le impostazioni dell'opzione checksum soddisfano i prerequisiti perché entrambe hanno `SHA256`. Tuttavia, `SQLNET.ENCRYPTION_TYPES_CLIENT` e `SQLNET.ENCRYPTION_TYPES_SERVER` utilizzano i metodi di crittografia `DES`, `3DES` e `RC4`, che non sono sicuri. Pertanto, per impostare l’opzione `SQLNET.ALLOW_WEAK_CRYPTO*` su `FALSE`, imposta prima `SQLNET.ENCRYPTION_TYPES_SERVER` e `SQLNET.ENCRYPTION_TYPES_CLIENT` su un metodo di crittografia sicuro come `AES256`.


| Impostazione opzioni | Valori | 
| --- | --- | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  | SHA1,MD5,SHA256 | 
|  `SQLNET.ENCRYPTION_TYPES_CLIENT`  |  `RC4_256`, `3DES168`, `DES40`  | 
|  `SQLNET.ENCRYPTION_TYPES_SERVER`  |  `RC4_256`, `3DES168`, `DES40`  | 

# Rimozione dell’opzione NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Remove"></a>

Puoi rimuovere NNE da un'istanza database. 

Per rimuovere l'opzione `NATIVE_NETWORK_ENCRYPTION` dall'istanza database, procedi in uno dei seguenti modi: 
+ Per rimuovere l’opzione da più istanze database, rimuovi `NATIVE_NETWORK_ENCRYPTION` dal gruppo di opzioni a cui appartengono le istanze. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Una volta rimossa l’opzione `NATIVE_NETWORK_ENCRYPTION`, non è necessario riavviare le istanze database. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Per rimuovere l’opzione da una singola istanza database, modifica l’istanza e specifica un gruppo di opzioni diverso che non comprenda l’opzione `NATIVE_NETWORK_ENCRYPTION`. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Una volta rimossa l'opzione `NATIVE_NETWORK_ENCRYPTION` non è necessario riavviare la tua istanza database. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle OLAP
<a name="Oracle.Options.OLAP"></a>

Amazon RDS supporta Oracle OLAP tramite l'utilizzo dell'opzione `OLAP`. Questa opzione fornisce OLAP (OnLine Analytical Processing) per le istanze database di Oracle. È possibile utilizzare Oracle OLAP per analizzare grandi quantità di dati creando oggetti e cubi dimensionali in conformità con lo standard OLAP. Per ulteriori informazioni, consulta la [documentazione di Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/olaug/index.html). 

**Importante**  
Se utilizzi Oracle OLAP, Amazon RDS aggiorna automaticamente la tua istanza database all'Oracle PSU più recente in presenza di vulnerabilità della sicurezza con un punteggio Common Vulnerability Scoring System (CVSS) pari a 9\$1 o altre vulnerabilità della sicurezza annunciate. 

Amazon RDS supporta Oracle OLAP per la Enterprise Edition di Oracle Database 19c e versioni successive.

## Prerequisiti per Oracle OLAP
<a name="Oracle.Options.OLAP.PreReqs"></a>

Di seguito sono indicati i prerequisiti per l'utilizzo di Oracle OLAP: 
+ È necessario disporre di una licenza Oracle OLAP da Oracle. Per ulteriori informazioni, consulta [Informazioni sulle licenze](https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/Licensing-Information.html#GUID-B6113390-9586-46D7-9008-DCC9EDA45AB4) nella documentazione Oracle. 
+ L'istanza database deve essere di una classe di istanza sufficiente. Oracle OLAP non è supportato per le classi di istanza database db.t3.small. Per ulteriori informazioni, consulta [Classi di istanza database RDS per Oracle](Oracle.Concepts.InstanceClasses.md). 
+ L'istanza database deve avere l'opzione **Auto Minor Version Upgrade (Aggiornamento minore automatico della versione)** abilitata. Questa opzione consente all'istanza database di ricevere automaticamente gli aggiornamenti secondari della versione del motore del database quando vengono resi disponibili ed è obbligatoria per tutte le opzioni che installano la Java Virtual Machine (JVM) Oracle. Amazon RDS utilizza questa opzione per aggiornare l'istanza database all'ultimo PSU (Patch Set Update) o RU (Release Update) di Oracle. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 
+ L'istanza database non deve avere un utente denominato `OLAPSYS`. In tal caso, l'installazione dell'opzione OLAP non va a buon fine.

## Best practice per Oracle OLAP
<a name="Oracle.Options.OLAP.BestPractces"></a>

Di seguito sono indicate le best practice per l'utilizzo di Oracle OLAP: 
+ Per la massima sicurezza, è necessario utilizzare l'opzione `OLAP` con Secure Sockets Layer (SSL). Per ulteriori informazioni, consulta [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md). 
+ Configurare l'istanza database per limitare l'accesso all'istanza database. Per ulteriori informazioni, consulta [Scenari per accedere a un'istanza database in un VPC](USER_VPC.Scenarios.md) e [Uso di un'istanza database in un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Aggiunta dell'opzione Oracle OLAP
<a name="Oracle.Options.OLAP.Add"></a>

Di seguito è riportato il processo generale per aggiungere l'opzione `OLAP` a un'istanza database: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Se Oracle Java Virtual Machine *non* è installato nell'istanza database, durante l'aggiunta dell'opzione `OLAP` si verifica una breve interruzione. Se Oracle Java Virtual Machine è già installata nell'istanza database, non si verificherà alcuna interruzione. Una volta aggiunta l'opzione, non è necessario riavviare l'istanza database. Non appena il gruppo di opzioni diventa attivo, Oracle OLAP è disponibile. 

**Per aggiungere l'opzione OLAP a un'istanza database**

1. Determinare il gruppo di opzioni che si vuole usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 
   + Per **Engine (Motore)**, scegliere l'edizione Oracle per l'istanza database. 
   + In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **OLAP** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, applicare il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, applicare il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Utilizzo di Oracle OLAP
<a name="Oracle.Options.OLAP.Using"></a>

Dopo che è stata abilitata, è possibile iniziare a utilizzare immediatamente l'opzione Oracle OLAP. Per un elenco di funzionalità supportate per Oracle OLAP, consulta [la documentazione di Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/olaug/overview.html#GUID-E2056FE4-C623-4D29-B7D8-C4762F941966). 

## Rimozione dell'opzione Oracle OLAP
<a name="Oracle.Options.OLAP.Remove"></a>

Dopo aver eliminato tutti gli oggetti che utilizzano i tipi di dati forniti dall'opzione `OLAP`, è possibile rimuovere l'opzione da un'istanza DB. Se Oracle Java Virtual Machine *non* è installata nell'istanza database, durante la rimozione dell'opzione `OLAP` si verifica una breve interruzione. Se Oracle Java Virtual Machine è già installata nell'istanza database, non si verificherà alcuna interruzione. Una volta rimossa l'opzione `OLAP` non è necessario riavviare la tua istanza database.

**Per eliminare l'opzione `OLAP`**

1. Eseguire il backup dei dati.
**avvertimento**  
Se l'istanza utilizza tipi di dati abilitati come parte dell'opzione e se si rimuove l'opzione `OLAP`, è possibile perdere i dati. Per ulteriori informazioni, consulta [Backup, ripristino ed esportazione dei dati](CHAP_CommonTasks.BackupRestore.md).

1. Verificare se gli oggetti esistenti fanno riferimento ai tipi di dati o alle feature dell'opzione `OLAP`. 

1. Eliminare gli oggetti che fanno riferimento ai tipi di dati o alle feature dell'opzione `OLAP`.

1. Scegliere una delle seguenti operazioni:
   + Rimuovere l'opzione `OLAP` dal gruppo di opzioni a cui appartiene. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modificare l'istanza database e specificare un diverso gruppo di opzioni che non comprenda l'opzione `OLAP`. Questa modifica coinvolge una singola istanza database. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Secure Sockets Layer
<a name="Appendix.Oracle.Options.SSL"></a>

Puoi abilitare la crittografia SSL per un’istanza database RDS per Oracle aggiungendo l’opzione Oracle SSL al gruppo di opzioni associato all’istanza database. Amazon RDS utilizza una seconda porta, come richiesto da Oracle, per le connessioni SSL. Questo approccio rende possibile allo stesso tempo sia testo in chiaro che comunicazioni con crittografia SSL tra un'istanza database e SQL\$1Plus. Ad esempio, è possibile utilizzare la porta con testo in chiaro per comunicare con altre risorse all'interno di un VPC mentre utilizzi la porta con crittografia SSL per comunicare con risorse all'esterno del VPC.

**Nota**  
È possibile utilizzare SSL o Native Network Encryption (NNE) sulla stessa istanza database RDS per Oracle. Se utilizzi la crittografia SSL, assicurati di disabilitare qualsiasi altro metodo di crittografia della connessione. Per ulteriori informazioni, consulta [Oracle native network encryption](Appendix.Oracle.Options.NetworkEncryption.md).

SSL/TLS e NNE non fanno più parte di Oracle Advanced Security. In RDS per Oracle, puoi utilizzare la crittografia SSL con tutte le edizioni con licenza delle seguenti versioni del database:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**Topics**
+ [

## Versioni TLS per l'opzione SSL di Oracle
](#Appendix.Oracle.Options.SSL.TLS)
+ [

## Suite di cifratura per l'opzione Oracle SSL
](#Appendix.Oracle.Options.SSL.CipherSuites)
+ [

## Supporto FIPS
](#Appendix.Oracle.Options.SSL.FIPS)
+ [

## Compatibilità dei certificati con le suite di crittografia
](#Appendix.Oracle.Options.SSL.CertificateCompatibility)
+ [

# Aggiunta dell'opzione SSL
](Appendix.Oracle.Options.SSL.OptionGroup.md)
+ [

# Configurazione di SQL\$1Plus per l'utilizzo di SSL con un'istanza database RDS per Oracle
](Appendix.Oracle.Options.SSL.ClientConfiguration.md)
+ [

# Connessione a un'istanza database RDS per Oracle tramite SSL
](Appendix.Oracle.Options.SSL.Connecting.md)
+ [

# Configurazione di una connessione SSL su JDBC
](Appendix.Oracle.Options.SSL.JDBC.md)
+ [

# Applicazione di una corrispondenza DN con connessione SSL
](Appendix.Oracle.Options.SSL.DNMatch.md)
+ [

# Risoluzione dei problemi relativi alle connessioni SSL
](Appendix.Oracle.Options.SSL.troubleshooting.md)

## Versioni TLS per l'opzione SSL di Oracle
<a name="Appendix.Oracle.Options.SSL.TLS"></a>

Amazon RDS for Oracle supporta Transport Layer Security (TLS) versioni 1.0 e 1.2. Quando aggiungi una nuova opzione SSL di Oracle, imposta `SQLNET.SSL_VERSION` su un valore valido in modo esplicito. Di seguito sono indicati i valori consentiti per questa impostazione dell’opzione:
+ `"1.0"`: i client possono connettersi all'istanza database solo tramite TLS versione 1.0. Per le opzioni SSL di Oracle esistenti, `SQLNET.SSL_VERSION` è impostato su `"1.0"` automaticamente. Puoi modificare questa impostazione, se necessario.
+ `"1.2"` – I client possono connettersi all'istanza database solo tramite TLS 1.2.
+ `"1.2 or 1.0"` – I client possono connettersi all'istanza database tramite TLS 1.2 o 1.0.

## Suite di cifratura per l'opzione Oracle SSL
<a name="Appendix.Oracle.Options.SSL.CipherSuites"></a>

Amazon RDS for Oracle supporta suite di cifratura SSL multiple. Come impostazione predefinita, l’opzione Oracle SSL è configurata per utilizzare la suite di cifratura `SSL_RSA_WITH_AES_256_CBC_SHA`. Per specificare una suite di cifratura diversa da adottare nelle connessioni SSL, usare l’impostazione dell’opzione `SQLNET.CIPHER_SUITE`.

Puoi specificare valori multipli per `SQLNET.CIPHER_SUITE`. Questa tecnica è utile se disponi di collegamenti al database tra le istanze database e decidi di aggiornare le suite di crittografia.

Nella tabella seguente viene indicato il supporto SSL di RDS per Oracle in tutte le edizioni di Oracle Database 19c e 21c.


| Suite di crittografia (SQLNET.CIPHER\$1SUITE) | Supporto della versione TLS (SQLNET.SSL\$1VERSION) | Supporto FIPS | Conformità agli standard FedRAMP | 
| --- | --- | --- | --- | 
| SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA (predefinito) | 1.0 e 1.2 | Sì | No | 
| SSL\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA256 | 1.2 | Sì | No | 
| SSL\$1RSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 | 1.2 | Sì | No | 
| TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 | 1.2 | Sì  | Sì | 
| TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1GCM\$1 SHA256 | 1.2 | Sì  | Sì | 
| TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 | 1.2 | Sì  | Sì | 
| TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 | 1.2 | Sì  | Sì | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 1.2 | Sì  | Sì | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 1.2 | Sì  | Sì | 
| TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 | 1.2 | Sì  | Sì | 
| TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 | 1.2 | Sì  | Sì | 

## Supporto FIPS
<a name="Appendix.Oracle.Options.SSL.FIPS"></a>

RDS per Oracle consente di utilizzare lo standard Federal Information Processing Standard (FIPS) per 140-2. FIPS 140-2 è uno standard del governo degli Stati Uniti che definisce i requisiti di sicurezza del modulo crittografico. Attiva lo standard FIPS impostando `FIPS.SSLFIPS_140` su `TRUE` per l'opzione Oracle SSL. Quando FIPS 140-2 è configurato per SSL, le librerie crittografiche eseguono la crittografia dei dati tra il client e l'istanza database Oracle.

I client devono utilizzare la suite di crittografia conforme con FIPS. Quando si stabilisce una connessione, il client e l'istanza database RDS per Oracle negoziano quale suite di cifratura utilizzare durante la trasmissione dei messaggi in entrambe le direzioni. Nella tabella in [Suite di cifratura per l'opzione Oracle SSL](#Appendix.Oracle.Options.SSL.CipherSuites) vengono illustrate le suite di crittografia SSL conformi a FIPS per ogni versione TLS. Per ulteriori informazioni, consulta la pagina relativa alle [impostazioni FIPS 140-2 del database Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/dbseg/oracle-database-fips-140-settings.html#GUID-DDBEB3F9-B216-44BB-8C18-43B5E468CBBB) nella documentazione del database Oracle.

## Compatibilità dei certificati con le suite di crittografia
<a name="Appendix.Oracle.Options.SSL.CertificateCompatibility"></a>

RDS per Oracle supporta i certificati RSA ed ECDSA (Elliptic Curve Digital Signature Algorithm). Quando configuri SSL per l’istanza database, devi assicurarti che le suite di crittografia specificate nell’impostazione dell’opzione `SQLNET.CIPHER_SUITE` siano compatibili con il tipo di certificato utilizzato dall’istanza database.

La tabella seguente mostra la compatibilità tra i tipi di certificato e le suite di crittografia:


| Tipo di certificato | Suite di crittografia compatibili | Suite di crittografia incompatibili | 
| --- | --- | --- | 
| Certificati RSA (rds-ca-2019, 2048-g1, 4096-g1) rds-ca-rsa rds-ca-rsa |  SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA SSL\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA256 SSL\$1RSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA  |  TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384  | 
| Certificati ECDSA (384-g1) rds-ca-ecc |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384  |  SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA SSL\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA256 SSL\$1RSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1256\$1CBC\$1 SHA384 TLS\$1ECDHE\$1RSA\$1CON\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA  | 

Quando specifichi più suite di crittografia nell’impostazione dell’opzione `SQLNET.CIPHER_SUITE`, assicurati di includere almeno una suite di crittografia compatibile con il tipo di certificato utilizzato dall’istanza database. Se utilizzi un gruppo di opzioni con più istanze database con tipi di certificati diversi, includi almeno una suite di crittografia per ogni tipo di certificato.

Se tenti di associare un gruppo di opzioni a un’opzione SSL che contiene solo suite di crittografia incompatibili con il tipo di certificato di un’istanza database, l’operazione avrà esito negativo e verrà visualizzato un messaggio di errore che indica l’incompatibilità.

# Aggiunta dell'opzione SSL
<a name="Appendix.Oracle.Options.SSL.OptionGroup"></a>

Per utilizzare SSL, l'istanza database RDS per Oracle deve essere associata a un gruppo di opzioni che include l'opzione `SSL`.

## Console
<a name="Appendix.Oracle.Options.SSL.OptionGroup.Console"></a>

**Per aggiungere l'opzione SSL a un gruppo di opzioni**

1. Creare un nuovo gruppo di opzioni o identificare un gruppo opzioni esistente a cui è possibile aggiungere l'opzione `SSL`.

   Per informazioni sulla creazione di un gruppo di opzioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Aggiungere l'opzione `SSL` al gruppo di opzioni.

   Se si desidera utilizzare solo suite di crittografia conformi a FIPS per le connessioni SSL, impostare l'opzione `FIPS.SSLFIPS_140` su `TRUE`. Per informazioni sullo standard FIPS, consulta [Supporto FIPS](Appendix.Oracle.Options.SSL.md#Appendix.Oracle.Options.SSL.FIPS).

   Per informazioni sull'aggiunta di un'opzione a un gruppo di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Crea una nuova istanza database RDS per Oracle e associarvi il gruppo opzioni oppure modificare un'istanza database RDS per Oracle per associare il gruppo opzioni a essa.

   Per informazioni sulla creazione di un'istanza database, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).

   Per informazioni sulla modifica di un'istanza database, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="Appendix.Oracle.Options.SSL.OptionGroup.CLI"></a>

**Per aggiungere l'opzione SSL a un gruppo di opzioni**

1. Creare un nuovo gruppo di opzioni o identificare un gruppo opzioni esistente a cui è possibile aggiungere l'opzione `SSL`.

   Per informazioni sulla creazione di un gruppo di opzioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Aggiungere l'opzione `SSL` al gruppo di opzioni.

   Specificare le seguenti impostazioni delle opzioni:
   + `Port` – Il numero di porta SSL
   + `VpcSecurityGroupMemberships` – Il gruppo di sicurezza VPC per cui è abilitata l'opzione
   + `SQLNET.SSL_VERSION` – La versione TLS utilizzabile dal client per connettersi all'istanza database

   Ad esempio, il comando seguente AWS CLI aggiunge l'opzione `SSL` a un gruppo opzioni denominato `ora-option-group`.  
**Example**  

   Per Linux, macOS o Unix:

   ```
   aws rds add-option-to-option-group --option-group-name ora-option-group \
     --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'
   ```

   Per Windows:

   ```
   aws rds add-option-to-option-group --option-group-name ora-option-group ^
     --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'
   ```

1. Crea una nuova istanza database RDS per Oracle e associarvi il gruppo opzioni oppure modificare un'istanza database RDS per Oracle per associare il gruppo opzioni a essa.

   Per informazioni sulla creazione di un'istanza database, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).

   Per informazioni sulla modifica di un'istanza database, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

# Configurazione di SQL\$1Plus per l'utilizzo di SSL con un'istanza database RDS per Oracle
<a name="Appendix.Oracle.Options.SSL.ClientConfiguration"></a>

Prima di connetterti a un'istanza database RDS per Oracle che utilizza l'opzione SSL di Oracle, devi configurare SQL\$1Plus.

**Nota**  
Per concedere l'accesso all'istanza database dai client appropriati, verifica che i gruppi di sicurezza siano configurati correttamente. Per ulteriori informazioni, consulta [Controllo dell'accesso con i gruppi di sicurezza](Overview.RDSSecurityGroups.md). Inoltre, queste istruzioni si riferiscono a SQL\$1Plus e ad altri client che usano direttamente una home directory Oracle. Per le connessioni JDBC, consulta [Configurazione di una connessione SSL su JDBC](Appendix.Oracle.Options.SSL.JDBC.md).

**Per configurare SQL\$1Plus in modo che utilizzi SSL per connettersi a un'istanza database RDS per Oracle**

1. Imposta la variabile di ambiente `ORACLE_HOME` sulla posizione della home directory di Oracle.

   Il percorso della home directory di Oracle dipende dall'installazione. Nell'esempio seguente viene impostata la variabile di ambiente `ORACLE_HOME`.

   ```
   prompt>export ORACLE_HOME=/home/user/app/user/product/19.0.0/dbhome_1
   ```

   Per informazioni sull'impostazione delle variabili di ambiente di Oracle, consulta [Variabili di ambiente di SQL\$1Plus](http://docs.oracle.com/database/121/SQPUG/ch_two.htm#SQPUG331) nella documentazione di Oracle e la guida di installazione di Oracle per il tuo sistema operativo.

1. Aggiungi `$ORACLE_HOME/lib` alla variabile di ambiente `LD_LIBRARY_PATH`.

   Nell'esempio seguente viene impostata la variabile di ambiente LD\$1LIBRARY\$1PATH.

   ```
   prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 
   ```

1. Crea una directory per il wallet Oracle nel percorso `$ORACLE_HOME/ssl_wallet`.

   Nell'esempio seguente viene creata la directory per il wallet Oracle.

   ```
   prompt>mkdir $ORACLE_HOME/ssl_wallet
   ```

1. Scarica il file .pem del pacchetto di certificati che funziona per tutti Regioni AWS e inserisci il file nella directory ssl\$1wallet. Per informazioni, consulta [](UsingWithRDS.SSL.md).

1. Nella directory `$ORACLE_HOME/network/admin`, modifica o crea il file `tnsnames.ora` e includi la voce seguente.

   ```
   net_service_name = 
     (DESCRIPTION = 
       (ADDRESS_LIST = 
         (ADDRESS = 
           (PROTOCOL = TCPS) 
           (HOST = endpoint) 
           (PORT = ssl_port_number)
         )
       )
       (CONNECT_DATA = 
         (SID = database_name)
       )
       (SECURITY = 
         (SSL_SERVER_CERT_DN = "C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=endpoint")
       )
     )
   ```

1. Nella stessa directory, modifica o crea il file sqlnet.ora e includi i parametri seguenti.
**Nota**  
Per comunicare con le entità tramite una connessione protetta TLS, Oracle richiede un wallet con i certificati necessari per l'autenticazione. È possibile utilizzare l'utility ORAPKI di Oracle per creare e gestire i wallet Oracle, come mostrato nel fase 7. Per ulteriori informazioni, consulta [Setting Up Oracle Wallet Using ORAPKI](https://docs.oracle.com/cd/E92519_02/pt856pbr3/eng/pt/tsvt/task_SettingUpOracleWalletUsingORAPKI.html) nella documentazione Oracle.

   ```
   WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_HOME/ssl_wallet))) 
   SSL_CLIENT_AUTHENTICATION = FALSE 
   SSL_VERSION = 1.0 
   SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA) 
   SSL_SERVER_DN_MATCH = ON
   ```
**Nota**  
È possibile impostare `SSL_VERSION` su un valore più alto se supportato dall'istanza database.

1. Esegui il comando seguenti per creare il wallet Oracle.

   ```
   prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only
   ```

1. Estrai ogni certificato nel file bundle .pem in un file .pem separato utilizzando un’utilità del sistema operativo.

1. Aggiungi ogni certificato al tuo wallet utilizzando comandi `orapki` separati, sostituendo `certificate-pem-file` con il nome di file assoluto del file .pem.

   ```
   prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert
         certificate-pem-file -auto_login_only
   ```

   Per ulteriori informazioni, consulta [Rotazione del certificato SSL/TLS](UsingWithRDS.SSL-certificate-rotation.md).

# Connessione a un'istanza database RDS per Oracle tramite SSL
<a name="Appendix.Oracle.Options.SSL.Connecting"></a>

Dopo aver configurato SQL\$1Plus per l'uso di SSL come descritto in precedenza, puoi connetterti all'istanza database RDS per Oracle con l'opzione SSL. Facoltativamente, puoi innanzitutto esportare il valore `TNS_ADMIN` che punta alla directory contenente i file tnsnames.ora e sqlnet.ora. In questo modo, SQL\$1Plus può trovare questi file in modo coerente. Nell'esempio seguente viene esportato il valore `TNS_ADMIN`.

```
export TNS_ADMIN=${ORACLE_HOME}/network/admin
```

Effettua la connessione all'istanza database. Ad esempio, puoi connetterti tramite SQL\$1Plus e un *<net\$1service\$1name>* in un file tnsnames.ora.

```
sqlplus mydbuser@net_service_name          
```

Puoi anche connetterti all'istanza database con SQL\$1Plus senza utilizzare un file tnsnames.ora tramite il comando seguente.

```
sqlplus 'mydbuser@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = endpoint) (PORT = ssl_port_number))(CONNECT_DATA = (SID = database_name)))'          
```

Puoi anche connetterti all'istanza database RDS per Oracle senza utilizzare SSL. Il comando seguente, ad esempio, consente la connessione all'istanza database sulla porta con testo in chiaro senza codifica SSL.

```
sqlplus 'mydbuser@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = endpoint) (PORT = port_number))(CONNECT_DATA = (SID = database_name)))'          
```

Se desideri chiudere l'accesso alla porta Transmission Control Protocol (TCP), crea un gruppo di sicurezza senza ingressi con indirizzo IP e aggiungilo all'istanza. In questo modo vengono chiuse le connessioni sulla porta TCP, ma continuano a essere permesse quelle sulla porta SSL specificate dagli indirizzi IP compresi nell'intervallo consentito dal gruppo di sicurezza dell'opzione SSL.

# Configurazione di una connessione SSL su JDBC
<a name="Appendix.Oracle.Options.SSL.JDBC"></a>

Per utilizzare una connessione SSL su JDBC, devi creare un keystore, approvare il certificato CA root di Amazon RDS e utilizzare il frammento di codice specificato di seguito.

Per creare il keystore in formato JKS, puoi utilizzare il comando seguente. Per ulteriori informazioni sulla creazione del keystore, consulta [Creating a keystore](https://docs.oracle.com/cd/E35822_01/server.740/es_admin/src/tadm_ssl_jetty_keystore.html) nella documentazione Oracle. Per informazioni di riferimento, vedi [keytool](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html) nel *riferimento strumenti della piattaforma Java, Standard Edition.*

```
keytool -genkey -alias client -validity 365 -keyalg RSA -keystore clientkeystore         
```

Esegui la procedura seguente per approvare il certificato CA root di Amazon RDS.

**Per approvare il certificato CA root di Amazon RDS**

1. Scarica il file .pem del bundle di certificati che funziona per tutte le Regioni AWS e inseriscilo nella directory ssl\$1wallet.

   Per ulteriori informazioni sul download dei certificati, consultare [](UsingWithRDS.SSL.md).

1. Estrai ogni certificato nel file .pem in un file separato utilizzando un’utilità del sistema operativo.

1. Converti ogni certificato in formato.der utilizzando un comando `openssl` separato, sostituendo *certificate-pem-file* con il nome del file .pem del certificato (senza l’estensione.pem).

   ```
   openssl x509 -outform der -in certificate-pem-file.pem -out certificate-pem-file.der                
   ```

1. Importa ogni certificato nel keystore utilizzando il comando seguente.

   ```
   keytool -import -alias rds-root -keystore clientkeystore.jks -file certificate-pem-file.der                
   ```

   Per ulteriori informazioni, consulta [Rotazione del certificato SSL/TLS](UsingWithRDS.SSL-certificate-rotation.md).

1. Verificare che il keystore sia stato creato correttamente.

   ```
   keytool -list -v -keystore clientkeystore.jks                                            
   ```

   Inserire la password del keystore quando richiesto.

L'esempio di codice seguente mostra come impostare la connessione SSL utilizzando JDBC.

```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class OracleSslConnectionTest {
    private static final String DB_SERVER_NAME = "dns-name-provided-by-amazon-rds";
    private static final Integer SSL_PORT = "ssl-option-port-configured-in-option-group";
    private static final String DB_SID = "oracle-sid";
    private static final String DB_USER = "user-name";
    private static final String DB_PASSWORD = "password";
    // This key store has only the prod root ca.
    private static final String KEY_STORE_FILE_PATH = "file-path-to-keystore";
    private static final String KEY_STORE_PASS = "keystore-password";
 
    public static void main(String[] args) throws SQLException {
        final Properties properties = new Properties();
        final String connectionString = String.format(
                "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))",
                DB_SERVER_NAME, SSL_PORT, DB_SID);
        properties.put("user", DB_USER);
        properties.put("password", DB_PASSWORD);
        properties.put("oracle.jdbc.J2EE13Compliant", "true");
        properties.put("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH);
        properties.put("javax.net.ssl.trustStoreType", "JKS");
        properties.put("javax.net.ssl.trustStorePassword", KEY_STORE_PASS);
        final Connection connection = DriverManager.getConnection(connectionString, properties);
        // If no exception, that means handshake has passed, and an SSL connection can be opened
    }
}
```

**Nota**  
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.

# Applicazione di una corrispondenza DN con connessione SSL
<a name="Appendix.Oracle.Options.SSL.DNMatch"></a>

Puoi utilizzare il parametro `SSL_SERVER_DN_MATCH` di Oracle per applicare il nome distinto (DN) in modo che vi sia corrispondenza tra il server del database e il nome del relativo servizio. Se applichi la verifica delle corrispondenze, SSL fa in modo che il certificato provenga dal server. Se non esegui tale verifica, SSL esegue il controllo ma consente la connessione, indipendentemente dall'esistenza di una corrispondenza. Se non applichi la verifica, consenti virtualmente al server di simulare la propria identità.

Per applicare la corrispondenza DN, aggiungi la relativa proprietà e utilizza la stringa di connessione specificata di seguito.

Per applicare la corrispondenza DN, aggiungi tale proprietà alla connessione client.

```
properties.put("oracle.net.ssl_server_dn_match", "TRUE");            
```

Utilizza la stringa di connessione seguente per applicare la corrispondenza DN quando utilizzi SSL.

```
final String connectionString = String.format(
    "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))" +
    "(CONNECT_DATA=(SID=%s))" +
    "(SECURITY = (SSL_SERVER_CERT_DN = 
\"C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=%s\")))",
    DB_SERVER_NAME, SSL_PORT, DB_SID, DB_SERVER_NAME);
```

# Risoluzione dei problemi relativi alle connessioni SSL
<a name="Appendix.Oracle.Options.SSL.troubleshooting"></a>

Quando esegui le query sul database è possibile ricevere l'errore `ORA-28860`.

```
ORA-28860: Fatal SSL error
28860. 00000 - "Fatal SSL error"
*Cause: An error occurred during the SSL connection to the peer. It is likely that this side sent data which the peer rejected.
*Action: Enable tracing to determine the exact cause of this error.
```

Questo errore si verifica quando il client tenta di connettersi utilizzando una versione di TLS non supportata dal server. Per evitare questo errore, modifica sqlnet.ora e imposta `SSL_VERSION` sulla versione TLS corretta. Per ulteriori informazioni, consulta il documento My Oracle Support [2748438.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=2748438.1).

# Oracle Spatial
<a name="Oracle.Options.Spatial"></a>

Amazon RDS supporta Oracle Spatial tramite l'utilizzo dell'opzione `SPATIAL`. Oracle Spatial offre uno schema SQL e funzioni che semplificano le operazioni di storage, recupero, aggiornamento ed esecuzione di query per le raccolte di dati spaziali in un database Oracle. Per ulteriori informazioni, consulta la pagina [Spatial Concepts](http://docs.oracle.com/database/121/SPATL/spatial-concepts.htm#SPATL010) nella documentazione Oracle. Amazon RDS supporta Oracle Spatial in tutte le edizioni di tutte le versioni supportate.

## Come funzionano gli Spatial Patch Bundles () SPBs
<a name="Oracle.Options.Spatial.SPBs"></a>

Ogni trimestre, RDS per Oracle rilascia nuove versioni secondarie per tutti i motori principali supportati. Una versione del motore Release Update (RU) incorpora le correzioni di bug di Oracle includendo le patch RU per il trimestre specificato. Una versione del motore Spatial Patch Bundle (SPB) contiene le patch RU e le patch specifiche di Oracle Spatial. Ad esempio, 19.0.0.0.ru-2025-01.spb-1.r1 è una versione secondaria del motore che contiene le patch RU nella versione del motore 19.0.0.0.ru-2025-01.rur-2025-01.r1 più le patch spaziali. SPBs sono supportati solo per Oracle Database 19c.

SPBs funzionano allo stesso modo di RUs, sebbene abbiano nomi diversi. Un RU utilizza il formato di denominazione 19.0.0.0.ru-2025-01.rur-2025-01.r1. Un nome di SPB include il testo “spb”, come in 19.0.0.0.ru-2025-01.spb-1.r1. In genere, un SPB viene rilasciato 2-3 settimane dopo il corrispondente RU trimestrale. Ad esempio, 19.0.0.0.ru-2025-01.spb-1.r1 viene rilasciato dopo 19.0.0.0.ru-2025-01.rur-2025-01.r1.

RDS per Oracle dispone di percorsi separati per gli aggiornamenti automatici delle versioni secondarie di RUs and. SPBs Se l’istanza database utilizza un RU, RDS aggiorna automaticamente l’istanza a un RU. Se l’istanza database utilizza un SPB, RDS aggiorna automaticamente l’istanza a un SPB.

Per ulteriori informazioni su RUs and SPBs, vedere. [Aggiornamenti a una versione secondaria Oracle](USER_UpgradeDBInstance.Oracle.Minor.md) *Per un elenco di quelli supportati RUs e SPBs per Oracle Database 19c, consulta [Amazon RDS for Oracle Database 19c (19.0.0.0) nelle note di rilascio di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html) for Oracle.*

## Prerequisiti per Oracle Spatial
<a name="Oracle.Options.Spatial.PreReqs"></a>

Di seguito sono indicati i prerequisiti per l'utilizzo di Oracle Spatial: 
+ Assicurati che l'istanza DB sia di una classe di istanza sufficiente. Oracle Spatial non è supportato per le classi di istanza database db.t3.small. Per ulteriori informazioni, consulta [Classi di istanza database RDS per Oracle](Oracle.Concepts.InstanceClasses.md). 
+ Assicurarsi che l'istanza del DB abbia abilitato l’**aggiornamento automatico della versione minore**. Questa opzione consente all'istanza database di ricevere automaticamente gli aggiornamenti secondari della versione del motore del database quando vengono resi disponibili ed è obbligatoria per tutte le opzioni che installano la Java Virtual Machine (JVM) Oracle. Amazon RDS utilizza questa opzione per aggiornare l'istanza database all'ultimo PSU (Patch Set Update) o RU (Release Update) di Oracle. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Best practice per Oracle Spatial
<a name="Oracle.Options.Spatial.BestPractces"></a>

Di seguito sono indicate le best practice per l'utilizzo di Oracle Spatial: 
+ Per la massima sicurezza, è necessario utilizzare l'opzione `SPATIAL` con Secure Sockets Layer (SSL). Per ulteriori informazioni, consulta [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md). 
+ Configurare l'istanza database per limitare l'accesso all'istanza database. Per ulteriori informazioni, consulta [Scenari per accedere a un'istanza database in un VPC](USER_VPC.Scenarios.md) e [Uso di un'istanza database in un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Aggiunta dell'opzione Oracle Spatial
<a name="Oracle.Options.Spatial.Add"></a>

Di seguito è riportato il processo generale per aggiungere l'opzione `SPATIAL` a un'istanza database: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Se Oracle Java Virtual Machine *non* è installato nell'istanza database, durante l'aggiunta dell'opzione `SPATIAL` si verifica una breve interruzione. Se Oracle Java Virtual Machine è già installata nell'istanza database, non si verificherà alcuna interruzione. Una volta aggiunta l'opzione, non è necessario riavviare l'istanza database. Non appena il gruppo di opzioni è attivo, Oracle Spatial è disponibile. 

**Nota**  
Durante questa interruzione, le funzioni di verifica delle password vengono temporaneamente disabilitate. Durante l'interruzione si possono verificare eventi correlati alle funzioni di verifica delle password. Le funzioni di verifica delle password vengono riabilitate prima di rendere disponibile l'istanza database Oracle.

**Per aggiungere l'opzione `SPATIAL` a un'istanza database**

1. Determinare il gruppo di opzioni che si vuole usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. Per **Engine (Motore)**, scegliere l'edizione Oracle per l'istanza database. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **SPATIAL** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Rimozione dell'opzione Oracle Spatial
<a name="Oracle.Options.Spatial.Remove"></a>

Dopo aver rimosso tutti gli oggetti che utilizzano i tipi di dati forniti dall'opzione `SPATIAL`, è possibile eliminare l'opzione da un'istanza DB. Se Oracle Java Virtual Machine *non* è installata nell'istanza database, durante la rimozione dell'opzione `SPATIAL` si verifica una breve interruzione. Se Oracle Java Virtual Machine è già installata nell'istanza database, non si verificherà alcuna interruzione. Una volta rimossa l'opzione `SPATIAL` non è necessario riavviare la tua istanza database.

**Per eliminare l'opzione `SPATIAL`**

1. Eseguire il backup dei dati.
**avvertimento**  
Se l'istanza utilizza tipi di dati abilitati come parte dell'opzione e se si rimuove l'opzione `SPATIAL`, è possibile perdere i dati. Per ulteriori informazioni, consulta [Backup, ripristino ed esportazione dei dati](CHAP_CommonTasks.BackupRestore.md).

1. Verificare se gli oggetti esistenti fanno riferimento ai tipi di dati o alle feature dell'opzione `SPATIAL`. 

   Se esistono opzioni `SPATIAL`, l'istanza può rimanere bloccata quando si applica il nuovo gruppo di opzioni che non dispone dell'opzione `SPATIAL`. È possibile identificare gli oggetti utilizzando le seguenti query:

   ```
   SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME, BYTES/1024/1024 mbytes
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE '%TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
          (SELECT DISTINCT OWNER, TABLE_NAME 
           FROM   DBA_TAB_COLUMNS
           WHERE  DATA_TYPE='SDO_GEOMETRY'
           AND    OWNER <> 'MDSYS')
   ORDER BY 1,2,3,4;
   
   SELECT OWNER, TABLE_NAME, COLUMN_NAME
   FROM   DBA_TAB_COLUMNS 
   WHERE  DATA_TYPE = 'SDO_GEOMETRY' 
   AND    OWNER <> 'MDSYS' 
   ORDER BY 1,2,3;
   ```

1. Eliminare gli oggetti che fanno riferimento ai tipi di dati o alle feature dell'opzione `SPATIAL`.

1. Scegliere una delle seguenti operazioni:
   + Rimuovere l'opzione `SPATIAL` dal gruppo di opzioni a cui appartiene. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modificare l'istanza database e specificare un diverso gruppo di opzioni che non comprenda l'opzione `SPATIAL`. Questa modifica coinvolge una singola istanza database. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle SQLT
<a name="Oracle.Options.SQLT"></a>

Amazon RDS supporta Oracle SQLTXPLAIN (SQLT) attraverso l'utilizzo dell'opzione SQLT. È possibile utilizzare SQLT con qualsiasi edizione di Oracle Database 19c e successive.

L'istruzione `EXPLAIN PLAN` di Oracle può stabilire il piano di esecuzione di un'istruzione SQL. Può verificare se l'ottimizzatore di Oracle sceglie un determinato piano di esecuzione, come un loop nidificato. Consente inoltre di comprendere le decisioni dell'ottimizzatore, ad esempio il motivo della scelta di loop nidificati rispetto a un hash join. Pertanto, `EXPLAIN PLAN` aiuta a comprendere le prestazioni dell'istruzione.

SQLT è un'utilità di Oracle che produce un rapporto. Tale rapporto include statistiche e metadati degli oggetti, parametri di inizializzazione correlati all'ottimizzatore e altre informazioni che possono essere utilizzate da un amministratore del database per modificare un'istruzione SQL e migliorarne le prestazioni. SQLT produce un rapporto HTML con collegamenti ipertestuali a tutte le relative sezioni.

A differenza dei rapporti di Automatic Workload Repository o Statspack, SQLT agisce sulle singole istruzioni SQL. SQLT è una raccolta di file SQL, PL/SQL e SQL\$1Plus che consente di raccogliere, archiviare e visualizzare i dati delle prestazioni. 

Di seguito sono indicate le versioni Oracle supportate per ogni versione di SQLT.


****  

| Versione SQLT | Oracle Database 21c | Oracle Database 19c | 
| --- | --- | --- | 
|  2018-07-25.v1  |  Supportato  |  Supportato  | 
|  2018-03-31.v1  |  Non supportato  |  Non supportato  | 
|  2016-04-29.v1  |  Non supportato  |  Non supportato  | 

Per il download e le istruzioni per l'accesso di SQLT:
+ Accedere all'account My Oracle Support e aprire i documenti seguenti:
+ Per scaricare SQLT: [Document 215187.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=215187.1)
+ Per istruzioni per l'utilizzo di SQLT: [Document 1614107.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1614107.1)
+ Per le domande frequenti su SQLT: [Document 1454160.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1454160.1)
+ Per informazioni sulla lettura dell'output di SQLT: [Document 1456176.1](https://support.oracle.com/epmos/main/downloadattachmentprocessor?parent=DOCUMENT&sourceId=1456176.1&attachid=1456176.1:58&clickstream=yes)
+ Per l'interpretazione del report principale: [Documento 1922234.1](https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=215187.1&id=1922234.1)

Amazon RDS non supporta i seguenti metodi SQLT: 
+ `XPLORE` 
+ `XHUME` 

## Prerequisiti di SQLT
<a name="Oracle.Options.SQLT.PreReqs"></a>

Di seguito sono indicati i prerequisiti per l'utilizzo di SQLT:
+ Devi rimuovere gli utenti e ruoli richiesti da SQLT, se esistenti.

  L'opzione SQLT crea i seguenti utenti e ruoli in un'istanza database: 
  + `SQLTXPLAIN`Utente 
  + `SQLTXADMIN`Utente 
  + `SQLT_USER_ROLE`Ruolo 

  Se nell'istanza database sono presenti uno o più di tali utenti o ruoli, accedi all'istanza database con un client SQL ed eliminali con le seguenti istruzioni:

  ```
  DROP USER SQLTXPLAIN CASCADE;
  DROP USER SQLTXADMIN CASCADE;   
  DROP ROLE SQLT_USER_ROLE CASCADE;
  ```
+ Devi rimuovere gli spazi tabelle richiesti da SQLT, se esistenti.

  L'opzione SQLT crea i seguenti spazi tabelle in un'istanza database: 
  + `RDS_SQLT_TS`
  + `RDS_TEMP_SQLT_TS`

  Se nell'istanza database sono presenti tali spazi tabelle, accedi all'istanza database con un client SQL ed eliminali con le seguenti istruzioni:

## Impostazioni dell'opzione SQLT
<a name="Oracle.Options.SQLT.Options"></a>

 SQLT può essere utilizzata con caratteristiche con licenza fornite da Oracle Tuning Pack e da Oracle Diagnostics Pack. Oracle Tuning Pack include SQL Tuning Advisor, mentre Oracle Diagnostics Pack include Automatic Workload Repository. Le impostazioni SQLT consentono di abilitare o disabilitare l'accesso a tali caratteristiche da SQLT. 

Amazon RDS supporta le seguenti impostazioni per l'opzione SQLT. 


****  

| Impostazione opzioni | Valori validi | Valore predefinito | Descrizione | 
| --- | --- | --- | --- | 
|  `LICENSE_PACK`  |  `T`, `D`, `N`  |  `N`   |  Gli Oracle Management Pack a cui desideri accedere con SQLT. Immetti uno dei seguenti valori: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/Oracle.Options.SQLT.html)  Amazon RDS non fornisce licenze per i seguenti Oracle Management Pack. Se specifichi che desideri utilizzare un pacchetto non incluso nell'istanza database, puoi utilizzare SQLT con tale istanza database. Tuttavia, SQLT non sarà in grado di accedere al pacchetto e il rapporto SQLT non includerà i relativi dati. Ad esempio, se specifichi `T`, ma l'istanza database non include Oracle Tuning Pack, SQLT opererà sull'istanza database, ma il rapporto generato non includerà i dati relativi a Oracle Tuning Pack.   | 
|  `VERSION`  |  `2016-04-29.v1` `2018-03-31.v1` `2018-07-25.v1`  |  `2016-04-29.v1`   |  Versione di SQLT da installare.  Per Oracle Database 19c e 21c, l'unica versione supportata è `2018-07-25.v1`. Questa è la versione predefinita per queste versioni.   | 

## Aggiunta dell'opzione SQLT
<a name="Oracle.Options.SQLT.Add"></a>

Di seguito è riportato il processo generale per aggiungere l'opzione SQLT a un'istanza database: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione SQLT al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Una volta aggiunta l'opzione SQLT, non appena il gruppo di opzioni sarà attivo, anche SQLT sarà attivo. 

**Per aggiungere l'opzione SQLT a un'istanza database**

1. Determinare il gruppo di opzioni che si vuole usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. Per **Engine (Motore)**, scegliere l'edizione di Oracle da utilizzare. L'opzione SQLT è supportata in tutte le edizioni. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **SQLT** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 

      
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

1. (Opzionale) Verificare l'installazione SQLT in ciascuna istanza database dell'opzione SQLT. 

   1. Utilizzare un client SQL per effettuare la connessione all'istanza database come utente master.

      Per informazioni sulla connessione a un'istanza database Oracle con un client SQL, consulta [Connessione all'istanza database Oracle](USER_ConnectToOracleInstance.md).

   1. Eseguire la seguente query:

      ```
      SELECT sqltxplain.sqlt$a.get_param('tool_version') sqlt_version FROM DUAL;                        
      ```

      La query restituisce la versione corrente dell'opzione SQLT in Amazon RDS. `12.1.160429` è un esempio di versione di SQLT disponibile in Amazon RDS.

1. Modificare le password degli utenti creati dall'opzione SQLT.

   1. Utilizzare un client SQL per effettuare la connessione all'istanza database come utente master.

   1. Eseguire la seguente istruzione SQL per modificare la password dell'utente `SQLTXADMIN`:

      ```
      ALTER USER SQLTXADMIN IDENTIFIED BY new_password ACCOUNT UNLOCK;                         
      ```
**Nota**  
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.

   1. Eseguire la seguente istruzione SQL per modificare la password dell'utente `SQLTXPLAIN`:

      ```
      ALTER USER SQLTXPLAIN IDENTIFIED BY new_password ACCOUNT UNLOCK;                         
      ```
**Nota**  
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.

**Nota**  
Per aggiornare SQLT, dovrai disinstallare la versione precedente di SQLT e installare quella nuova. Pertanto, durante l'aggiornamento di SQLT, tutti i metadati SQLT potrebbero andare perduti. Anche l'aggiornamento di una versione principale di un database la disinstallazione e la reinstallazione di SQLT. Un esempio di aggiornamento di una versione principale è quello da Oracle Database 19c a Oracle Database 21c.

## Uso di SQLT
<a name="Oracle.Options.SQLT.Using"></a>

SQLT funziona con l'utilità Oracle SQL\$1Plus. 

**Per utilizzare SQLT**

1.  Scaricare il file .zip di SQLT da [Document 215187.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=215187.1) nel sito My Oracle Support. 
**Nota**  
Non è possibile scaricare SQLT 12.1.160429 dal sito My Oracle Support. Oracle ha dichiarato obsoleta questa versione precedente.

1.  Decomprimere il file .zip di SQLT. 

1.  Dal prompt dei comandi, portarsi sulla directory `sqlt/run` del file system. 

1.  Dal prompt dei comandi, aprire SQL\$1Plus ed effettuare la connessione all'istanza database come utente master. 

   Per informazioni sulla connessione a un'istanza database Oracle con SQL\$1Plus, consulta [Connessione all'istanza database Oracle](USER_ConnectToOracleInstance.md).

1.  Ottenere l'ID SQL di un'istruzione SQL: 

   ```
   SELECT SQL_ID FROM V$SQL WHERE SQL_TEXT='sql_statement';                               
   ```

   L'output è simile a quello riportato di seguito: 

   ```
   SQL_ID
   -------------
   chvsmttqjzjkn
   ```

1. Analizzare un'istruzione SQL con SQLT: 

   ```
   START sqltxtract.sql sql_id sqltxplain_user_password                    
   ```

   Ad esempio, per l'ID SQL `chvsmttqjzjkn`, immettere quanto segue:

   ```
   START sqltxtract.sql chvsmttqjzjkn sqltxplain_user_password                    
   ```

   SQLT genera un rapporto e le risorse correlate come un file. zip nella directory in cui è stato eseguito il comando SQLT.

1.  (Opzionale) Per consentire agli utenti dell'applicazione di diagnosticare le istruzioni SQL con SQLT, concedere `SQLT_USER_ROLE` a ciascun utente con la seguente istruzione: 

   ```
   GRANT SQLT_USER_ROLE TO application_user_name;                
   ```
**Nota**  
Oracle sconsiglia l'esecuzione di SQLT con l'utente `SYS` o con utenti che dispongono del ruolo `DBA`. La best practice prevede l'esecuzione della diagnostica SQLT con l'account dell'utente dell'applicazione, concedendo `SQLT_USER_ROLE` a tale utente.

## Aggiornamento dell'opzione SQLT
<a name="Oracle.Options.SQLT.Upgrading"></a>

Con Amazon RDS for Oracle puoi aggiornare l'opzione SQLT dalla versione attuale a una versione successiva. Per aggiornare l'opzione SQLT, completa le fasi 1–3 in [Uso di SQLT](#Oracle.Options.SQLT.Using) per la nuova versione di SQLT. Inoltre, se hai concesso privilegi per la versione precedente di SQLT nella fase 7 di questa sezione, assegnali di nuovo per la nuova versione di SQLT. 

L'aggiornamento dell'opzione SQLT causa la perdita dei metadati della versione precedente di SQLT. Lo schema e gli oggetti correlati della versione di SQLT precedente vengono eliminati e viene installata la versione più recente. Per ulteriori informazioni sulle modifiche nella versione più recente di SQLT, consulta il [Documento 1614201.1](https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=215187.1&id=1614201.1) nel sito My Oracle Support.

**Nota**  
I downgrade di versione non sono supportati.

## Modifica delle impostazioni SQLT
<a name="Oracle.Options.SQLT.ModifySettings"></a>

Dopo avere abilitato SQLT, puoi modificare le impostazioni `LICENSE_PACK` e `VERSION` dell'opzione.

Per ulteriori informazioni su come modificare le impostazioni dell'opzione, consulta [Modifica di un'impostazione di un'opzione](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption). Per ulteriori informazioni su ciascuna impostazione, consulta [Impostazioni dell'opzione SQLT](#Oracle.Options.SQLT.Options). 

## Rimozione dell'opzione SQLT
<a name="Oracle.Options.SQLT.Remove"></a>

Puoi rimuovere SQLT da un'istanza database. 

Per rimuovere SQLT da un'istanza database, esegui una delle seguenti procedure: 
+ Per rimuovere SQLT da più istanze database, rimuovi l'opzione SQLT dal gruppo di opzioni a cui appartengono le istanze database. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 

   
+ Per rimuovere SQLT da una singola istanza database, modifica l'istanza database e specifica un gruppo di opzioni diverso che non comprenda l'opzione SQLT. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack"></a>

L'opzione Oracle Statspack consente di installare e abilitare le statistiche sulle prestazioni di Oracle Statspack. Oracle Statspack è una raccolta di script SQL, PL/SQL e SQL\$1Plus che consente di raccogliere, archiviare e visualizzare i dati delle prestazioni. Per informazioni sull'utilizzo di Oracle Statspack, consulta la sezione [Oracle Statspack](http://docs.oracle.com/cd/E13160_01/wli/docs10gr3/dbtuning/statsApdx.html) della documentazione di Oracle.

**Nota**  
Oracle Statspack non è più supportato da Oracle ed è stato sostituito dal più avanzato Automatic Workload Repository (AWR). AWR è disponibile soltanto per i clienti con Oracle Enterprise Edition che abbiano acquistato il Diagnostics Pack. È possibile utilizzare Oracle Statspack con qualsiasi motore Oracle DB su Amazon RDS. Non è possibile eseguire Oracle Statspack sulle repliche di lettura Amazon RDS. 

## Impostazione di Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack.setting-up"></a>

Per eseguire gli script Statspack, è necessario aggiungere l'opzione Statspack.

**Per impostare Oracle Statspack**

1. In un client SQL, accedere al DB Oracle con un account amministrativo.

1. Eseguire una delle seguenti azioni, a seconda che Statspack sia installato o meno:
   + Se Statspack è installato e l'account `PERFSTAT` è associato a Statspack, andare al passaggio 4.
   + Se Statspack non è installato e l'account `PERFSTAT` esiste, eliminare l'account come segue:

     ```
     DROP USER PERFSTAT CASCADE;
     ```

     In caso contrario, il tentativo di aggiungere l'opzione Statspack genera un errore e `RDS-Event-0058`.

1. Aggiungere l'opzione Statspack a un gruppo di opzioni. Per informazioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

   Amazon RDS installa automaticamente gli script Statspack sull'istanza database e quindi imposta l'account `PERFSTAT`.

1. Reimpostare la password utilizzando la seguente istruzione SQL, sostituendo *pwd* con la nuova password:

   ```
   ALTER USER PERFSTAT IDENTIFIED BY pwd ACCOUNT UNLOCK;
   ```

   È possibile accedere utilizzando l'account utente `PERFSTAT` ed eseguire gli script Statspack.

1. Concedi il privilegio `CREATE JOB` all’account `PERFSTAT` utilizzando l’istruzione seguente:

   ```
   GRANT CREATE JOB TO PERFSTAT;
   ```

1. Assicurarsi che gli eventi di attesa inattivi nella tabella `PERFSTAT.STATS$IDLE_EVENT` siano popolati.

   A causa del bug Oracle 28523746, gli eventi di attesa per inattività in `PERFSTAT.STATS$IDLE_EVENT` potrebbero non essere popolati. Per assicurarsi che tutti gli eventi inattivi siano disponibili, eseguire l'istruzione seguente:

   ```
   INSERT INTO PERFSTAT.STATS$IDLE_EVENT (EVENT)
   SELECT NAME FROM V$EVENT_NAME WHERE WAIT_CLASS='Idle'
   MINUS
   SELECT EVENT FROM PERFSTAT.STATS$IDLE_EVENT;
   COMMIT;
   ```

## Generazione di report Statspack
<a name="Appendix.Oracle.Options.Statspack.generating-reports"></a>

Un report Statspack confronta due snapshot.

**Per generare report Statspack**

1. In un client SQL, accedere al DB Oracle con l'account `PERFSTAT`.

1. Creare uno snapshot utilizzando una delle seguenti tecniche:
   + Creare manualmente uno snapshot Statspack.
   + Creare un processo che accetti uno snapshot Statspack dopo un determinato intervallo di tempo. Ad esempio, il processo seguente crea uno snapshot Statspack ogni ora:

     ```
     VARIABLE jn NUMBER;
     exec dbms_job.submit(:jn, 'statspack.snap;',SYSDATE,'TRUNC(SYSDATE+1/24,''HH24'')');
     COMMIT;
     ```

1. Visualizzare gli snapshot utilizzando la seguente query:

   ```
   SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
   ```

1. Eseguire la procedura `rdsadmin.rds_run_spreport` Amazon RDS, sostituendo *begin\$1snap* e *end\$1snap* con gli ID snapshot:

   ```
   exec rdsadmin.rds_run_spreport(begin_snap,end_snap);
   ```

   Il comando seguente, ad esempio, crea un report basato sull'intervallo compreso tra gli snapshot 1 e 2 di Statspack:

   ```
   exec rdsadmin.rds_run_spreport(1,2);
   ```

   Il nome del file del report Statspack include il numero dei due snapshot. Ad esempio, il file di report creato utilizzando gli snapshot 1 e 2 di Statspack sarà denominato `ORCL_spreport_1_2.lst`.

1. Monitorare l'output per eventuali errori.

   Oracle Statspack esegue controlli prima di eseguire il report. Pertanto, è possibile visualizzare anche messaggi di errore nell'output del comando. Ad esempio, è possibile provare a generare un report basato su un intervallo non valido, in cui il valore iniziale dello snapshot Statspack è maggiore del valore finale. In questo caso, l'output mostra il messaggio di errore, ma il motore DB non genera un file di errore.

   ```
   exec rdsadmin.rds_run_spreport(2,1);
   *
   ERROR at line 1:
   ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot.
   ```

   Se si utilizza un numero non valido per uno snapshot Statspack, l'output mostra un errore. Ad esempio, se si tenta di generare un report per gli snapshot 1 e 50, ma lo snapshot 50 non esiste, verrà visualizzato un errore.

   ```
   exec rdsadmin.rds_run_spreport(1,50);
   *
   ERROR at line 1:
   ORA-20000: Could not find both snapshot IDs
   ```

1. (Opzionale) 

   Per recuperare il report, chiamare le procedure del file di traccia, come spiegato in [Utilizzo di file di traccia Oracle](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles). 

   In alternativa, scaricare il report Statspack dalla console RDS. Vai alla sezione **Log** dei dettagli dell’istanza database e scegli **Scarica**: Il seguente esempio mostra `trace/ORCL_spreport_1_2.lst`  
![\[Mostra un elenco di file di log Oracle nella console RDS. Il seguente file di traccia è cerchiato: trace/ORCL_spreport_1_2.lst.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/statspack1.png)

   Se si verifica un errore durante la generazione di un report, il motore di database utilizza le stesse convenzioni di denominazione di un report ma con estensione `.err`. Se, ad esempio, si verifica un errore durante la creazione di un report basato sugli snapshot 1 e 7 di Statspack, il file di report sarà denominato `ORCL_spreport_1_7.err`. È possibile scaricare il rapporto errori utilizzando le stesse tecniche di un report snapshot standard.

## Rimozione delle istantanee Statspack
<a name="Appendix.Oracle.Options.Statspack.removing-files"></a>

Utilizza il seguente comando per rimuovere un intervallo di istantanee Statspack:

```
exec statspack.purge(begin snap, end snap); 
```

# Fuso orario Oracle
<a name="Appendix.Oracle.Options.Timezone"></a>

Per modificare il fuso orario del sistema utilizzato dall'istanza database Oracle, utilizzare l'opsione del fuso orario. Ad esempio, potrebbe essere necessario modificare il fuso orario di un'istanza di database in modo che sia compatibile con un ambiente locale o con un'applicazione legacy. L'opzione del fuso orario modifica il fuso orario a livello di host. La modifica del fuso orario influisce su tutti i valori e su tutte le colonne della data, inclusi `SYSDATE` e `SYSTIMESTAMP`.

L'opzione del fuso orario è diversa dal comando `rdsadmin_util.alter_db_time_zone`. Il comando `alter_db_time_zone` modifica il fuso orario solo per determinati tipi di dati. L'opzione del fuso orario modifica il fuso orario per tutte le colonne e i valori della data. Per ulteriori informazioni su `alter_db_time_zone`, consulta [Impostazione del fuso orario del database](Appendix.Oracle.CommonDBATasks.TimeZoneSupport.md). Per ulteriori informazioni sulle considerazioni per l'aggiornamento, consulta [Considerazioni sul fuso orario](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.DST).

## Restrizioni per l’impostazione del fuso orario
<a name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

L'opzione del fuso orario è permanente e persistente. Pertanto, non è possibile completare le seguenti operazioni:
+ Rimuovi l’opzione da un gruppo di opzioni dopo aver aggiunto l’opzione di fuso orario.
+ Non è possibile eliminare il gruppo di opzioni da un'istanza database dopo averlo aggiunto.
+ Non è possibile sostituire l'impostazione del fuso orario dell'opzione con un altro fuso orario.

## Raccomandazioni per l’impostazione del fuso orario
<a name="Appendix.Oracle.Options.Timezone.PreReqs"></a>

Prima di aggiungere l'opzione del fuso orario al database di produzione, si consiglia vivamente di procedere come segue:
+ Acquisisci uno snapshot dell'istanza database. Se imposti accidentalmente il fuso orario in modo errato, dovrai ripristinare l'istanza database alle impostazioni del fuso orario precedente. Per ulteriori informazioni, consulta [Creazione di uno snapshot del database per un’istanza database Single-AZ per Amazon RDS](USER_CreateSnapshot.md).
+ Aggiungi l'opzione del fuso orario a un'istanza database di prova. L'aggiunta dell'opzione del fuso orario può causare problemi con le tabelle che utilizzano la data di sistema per aggiungere date o orari. Analizza i dati e le applicazioni dell’istanza di prova. In questo modo puoi valutare l’impatto della modifica del fuso orario sull’istanza di produzione.

Se l’istanza database utilizza il gruppo di opzioni predefinite, segui la procedura indicata di seguito:

1. Acquisisci uno snapshot dell'istanza database.

1. Aggiungi l'opzione del fuso orario all'istanza database.

Se l’istanza database al momento utilizza un gruppo di opzioni non predefinito, segui la procedura indicata di seguito:

1. Acquisisci uno snapshot dell'istanza database.

1. Crea un nuovo gruppo di opzioni.

1. Aggiungi l’opzione del fuso orario, insieme a tutte le altre opzioni attualmente associate al gruppo di opzioni esistente.

   Ciò impedisce la disinstallazione delle opzioni esistenti mentre si abilita l’opzione del fuso orario.

1. Aggiungi il gruppo di opzioni all'istanza database.

## Impostazioni dell'opzione del fuso orario
<a name="Appendix.Oracle.Options.Timezone.Options"></a>

Amazon RDS supporta le seguenti impostazioni per l'opzione del fuso orario. 


****  

| Impostazione opzioni | Valori validi | Descrizione | 
| --- | --- | --- | 
| `TIME_ZONE` |  Uno dei fusi orari disponibili. Per l'elenco completo, consulta [Fusi orari disponibili](#Appendix.Oracle.Options.Timezone.Zones).   |  Il nuovo fuso orario per l'istanza di database.   | 

## Aggiunta dell'opzione del fuso orario
<a name="Appendix.Oracle.Options.Timezone.Add"></a>

Completa la procedura seguente per aggiungere l’opzione del fuso orario all’istanza database:

1. Passaggio consigliato: acquisisci uno snapshot dell’istanza database.

1. Esegui una di queste attività:
   + Crea un nuovo gruppo di opzioni da zero. Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).
   + Copia un gruppo di opzioni esistente utilizzando l'API AWS CLI o. Per ulteriori informazioni, consulta [Copia di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).
   + Riutilizza un gruppo esistente di opzioni non predefinite. Una best practice consiste nell’utilizzare un gruppo di opzioni che non è attualmente associato ad alcuna snapshot o istanza database.

1. Aggiungi la nuova opzione al gruppo di opzioni del passaggio precedente.

1. Se il gruppo di opzioni attualmente associato all’istanza database ha delle opzioni abilitate, aggiungile al nuovo gruppo di opzioni. Questa strategia impedisce la disinstallazione delle opzioni esistenti mentre si abilita la nuova opzione.

1. Aggiungi il nuovo gruppo di opzioni all’istanza database.

Quando aggiungi l'opzione del fuso orario, si verifica una breve interruzione mentre l'istanza di database viene automaticamente riavviata. 

### Console
<a name="Appendix.Oracle.Options.Timezone.Console"></a>

**Per aggiungere l’opzione di fuso orario a un gruppo di opzioni e associarla all’istanza database**

1. Nella console RDS, scegli **Gruppi di opzioni**.

1. Scegli il nome del gruppo di opzioni a cui vuoi aggiungere l’opzione.

1. Scegliere **Add option (Aggiungi opzione)**.

1. Per **Nome opzione**, scegli **Fuso orario**, quindi configura le impostazioni dell’opzione. 

1. Associa il gruppo di opzioni a un’istanza database nuova o esistente: 
   + Per una nuova istanza database, applicare il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, applicare il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Quando aggiungi la nuova opzione a un’istanza database esistente, si verifica una breve interruzione mentre l’istanza database viene riavviata automaticamente. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

### AWS CLI
<a name="Appendix.Oracle.Options.Timezone.CLI"></a>

L'esempio seguente utilizza il comando AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) per aggiungere l'`Timezone`opzione e l'impostazione dell'`TIME_ZONE`opzione a un gruppo di opzioni chiamato`myoptiongroup`. Il fuso orario è impostato su `Africa/Cairo`. 

Per Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=Africa/Cairo}]" \
    --apply-immediately
```

Per Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=Africa/Cairo}]" ^
    --apply-immediately
```

## Modifica delle impostazioni del fuso orario
<a name="Appendix.Oracle.Options.Timezone.ModifySettings"></a>

L'opzione del fuso orario è permanente e persistente. Non è possibile rimuovere l'opzione da un gruppo di opzioni dopo averla aggiunta. Non è possibile eliminare il gruppo di opzioni da un'istanza di database dopo averlo aggiunto. Non è possibile sostituire l'impostazione del fuso orario dell'opzione con un altro fuso orario. Se imposti il fuso orario in modo errato, ripristina uno snapshot dell'istanza di database precedente all'aggiunta dell'opzione del fuso orario. 

## Rimozione dell'opzione del fuso orario
<a name="Appendix.Oracle.Options.Timezone.Remove"></a>

L'opzione del fuso orario è permanente e persistente. Non è possibile rimuovere l'opzione da un gruppo di opzioni dopo averla aggiunta. Non è possibile eliminare il gruppo di opzioni da un'istanza di database dopo averlo aggiunto. Per rimuovere l'opzione del fuso orario, ripristina uno snapshot dell'istanza di database precedente all'aggiunta dell'opzione del fuso orario. 

## Fusi orari disponibili
<a name="Appendix.Oracle.Options.Timezone.Zones"></a>

È possibile utilizzare i seguenti valori per l'opzione del fuso orario. 


****  

| Zona | Time zone (Fuso orario) | 
| --- | --- | 
|  Africa  |  Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Lagos, Africa/Luanda, Africa/Monrovia, Africa/Nairobi, Africa/Tripoli, Africa/Windhoek   | 
|  America  |  America/Araguaina, America/Argentina/Buenos\$1Aires, America/Asuncion, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Cuiaba, America/Denver, America/Detroit, America/Fortaleza, America/Godthab, America/Guatemala, America/Halifax, America/Lima, America/Los\$1Angeles, America/Manaus, America/Matamoros, America/Mexico\$1City, America/Monterrey, America/Montevideo, America/New\$1York, America/Phoenix, America/Santiago, America/Sao\$1Paulo, America/Tijuana, America/Toronto   | 
|  Asia  |  Asia/Amman, Asia/Ashgabat, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Beirut, Asia/Calcutta, Asia/Damascus, Asia/Dhaka, Asia/Hong\$1Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Magadan, Asia/Manila, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Taipei, Asia/Tehran, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Vladivostok, Asia/Yakutsk, Asia/Yerevan   | 
|  Atlantico  |  Atlantic/Azores, Atlantic/Cape\$1Verde   | 
|  Australia  |  Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/Lord\$1Howe, Australia/Perth, Australia/Sydney   | 
|  Brasile  |  Brazil/DeNoronha, Brazil/East   | 
|  Canada  |  Canada/Newfoundland, Canada/Saskatchewan   | 
|  ecc  |  Ecc./GMT-3  | 
|  Europa  |  Europe/Amsterdam, Europe/Athens, Europe/Berlin, Europe/Dublin, Europe/Helsinki, Europe/Kaliningrad, Europe/London, Europe/Madrid, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Rome, Europe/Sarajevo   | 
|  Pacifico  |  Pacific/Apia, Pacific/Auckland, Pacific/Chatham, Pacific/Fiji, Pacific/Guam, Pacific/Honolulu, Pacific/Kiritimati, Pacific/Marquesas, Pacific/Samoa, Pacific/Tongatapu, Pacific/Wake   | 
|  US  |  US/Alaska, US/Central, US/East-Indiana, US/Eastern, US/Pacific   | 
|  UTC  |  UTC  | 

# Aggiornamento automatico dei file di fuso orario Oracle
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade"></a>

Con l’opzione `TIMEZONE_FILE_AUTOUPGRADE`, è possibile aggiornare il file di fuso orario corrente alla versione più recente dell’istanza database RDS per Oracle.

**Topics**
+ [

# Panoramica dei file di fuso orario di Oracle
](Appendix.Oracle.Options.Timezone-file-autoupgrade.tz-overview.md)
+ [

# Strategie per aggiornare il file del fuso orario
](Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.md)
+ [

# Tempo di inattività durante l'aggiornamento del file di fuso orario
](Appendix.Oracle.Options.Timezone-file-autoupgrade.considerations.md)
+ [

# Preparazione all'aggiornamento del file di fuso orario
](Appendix.Oracle.Options.Timezone-file-autoupgrade.preparing.md)
+ [

# Aggiunta dell'opzione di aggiornamento automatico del file di fuso orario
](Appendix.Oracle.Options.Timezone-file-autoupgrade.adding.md)
+ [

# Controllo dei dati dopo l'aggiornamento del file di fuso orario
](Appendix.Oracle.Options.Timezone-file-autoupgrade.checking.md)

# Panoramica dei file di fuso orario di Oracle
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.tz-overview"></a>

Un *file di fuso orario* di Oracle Database include le seguenti informazioni:
+ Differenza rispetto all'ora UTC (Coordinated Universal Time)
+ Tempi di transizione per l'ora legale
+ Abbreviazioni per ora standard e ora legale

Oracle Database fornisce più versioni dei file di fuso orario. Quando si crea un database Oracle in un ambiente On-Premise, si sceglie la versione del file di fuso orario. Per ulteriori informazioni, consulta [Choosing a Time Zone File](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/datetime-data-types-and-time-zone-support.html#GUID-805AB986-DE12-4FEA-AF56-5AABCD2132DF) (Scelta di un file di fuso orario) in *Oracle Database Globalization Support Guide* (Guida al supporto per la globalizzazione di Oracle Database).

Se le regole per l'ora legale cambiano, Oracle pubblica nuovi file di fuso orario e Oracle rilascia questi nuovi file di fuso orario indipendentemente dalla pianificazione delle revisioni trimestrali Release Updates (RUs) e Release Update (). RURs I file del fuso orario si trovano sull'host del database nella directory `$ORACLE_HOME/oracore/zoneinfo/`. I nomi dei file del fuso orario utilizzano il formato DSTv*version*, ad esempio. DSTv35

## In che modo il file di fuso orario influisce sul trasferimento dei dati
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.data-transfer"></a>

In Oracle Database, il tipo di dati `TIMESTAMP WITH TIME ZONE` memorizza i dati di timestamp e fuso orario. Dati con il tipo di dati `TIMESTAMP WITH TIME ZONE` utilizzano le regole nella versione del file di fuso orario associato. L’aggiornamento del file di fuso orario pertanto influisce sui dati `TIMESTAMP WITH TIME ZONE` esistenti.

Possono verificarsi problemi quando si trasferiscono i dati tra database che utilizzano versioni diverse del file del fuso orario. Se, ad esempio, importi i dati da un database di origine con una versione di file di fuso orario superiore a quella del database di destinazione, viene visualizzato l’errore `ORA-39405` relativo a problemi con il database. In precedenza si ovviava all'errore utilizzando una delle seguenti tecniche:
+ Crea un'istanza database RDS per Oracle con il file di fuso orario desiderato, esporta i dati dal database di origine e quindi importali nel nuovo database.
+ Utilizza AWS DMS o la replica logica per migrare i dati.

## Aggiornamenti automatici con l'opzione TIMEZONE\$1FILE\$1AUTOUPGRADE
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.option-overview"></a>

Quando il gruppo di opzioni collegato all’istanza database di RDS per Oracle include l’opzione `TIMEZONE_FILE_AUTOUPGRADE`, RDS aggiorna automaticamente i file del fuso orario. Assicurandoti che i database Oracle utilizzino la stessa versione del file di fuso orario, eviti tecniche manuali e dispendiose in termini di tempo per spostare i dati tra ambienti diversi. L'`TIMEZONE_FILE_AUTOUPGRADE`opzione è supportata sia per i database container (CDBs) che per quelli non-. CDBs

Quando aggiungi l'opzione `TIMEZONE_FILE_AUTOUPGRADE` al gruppo di opzioni, puoi scegliere se aggiungerla immediatamente o durante la finestra di manutenzione. Dopo che l'istanza DB ha applicato la nuova opzione, RDS verifica se è possibile installare un file più recente. DSTv *version* L'obiettivo DSTv *version* dipende da quanto segue:
+ La versione secondaria del motore attualmente in esecuzione sulla tua istanza database
+ La versione secondaria del motore a cui desideri aggiornare la tua istanza database

Ad esempio, la versione corrente del file del fuso orario potrebbe essere DSTv33. Quando RDS applica l'aggiornamento al gruppo di opzioni, potrebbe determinare che DSTv34 è attualmente disponibile nel file system dell'istanza DB. RDS aggiornerà quindi automaticamente il file del fuso orario. DSTv34 

Per trovare le versioni dell'ora legale disponibili negli aggiornamenti di rilascio RDS supportati, consulta le patch nelle [Note di rilascio per Amazon Relational Database Service (Amazon RDS) per Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html). Ad esempio, la [versione 19.0.0.0.ru-2022-10.rur-2022-10.r1 elenca la patch 34533061](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2022-10.rur-2022-10.r1): RDBMS - UPDATE - C. DSTV39 TZDATA2022

# Strategie per aggiornare il file del fuso orario
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies"></a>

L’aggiornamento del motore database e l’aggiunta dell’opzione `TIMEZONE_FILE_AUTOUPGRADE` a un gruppo di opzioni sono operazioni separate. L’aggiunta dell’opzione `TIMEZONE_FILE_AUTOUPGRADE` avvia l’aggiornamento del file di fuso orario se ne è disponibile uno più recente. I seguenti comandi vengono eseguiti (vengono visualizzate solo le opzioni pertinenti) immediatamente oppure nella finestra di manutenzione successiva:
+ Aggiorna il motore database solo utilizzando il seguente comando dell’interfaccia CLI RDS:

  ```
  modify-db-instance --engine-version name ...
  ```
+ Aggiungi l’opzione`TIMEZONE_FILE_AUTOUPGRADE` solo utilizzando il seguente comando dell’interfaccia CLI: 

  ```
  add-option-to-option-group --option-group-name name --options OptionName=TIMEZONE_FILE_AUTOUPGRADE ...
  ```
+ Aggiorna il motore database e aggiungi un nuovo gruppo di opzioni all’istanza utilizzando il seguente comando dell’interfaccia CLI:

  ```
  modify-db-instance --engine-version name --option-group-name name ...
  ```

La strategia di aggiornamento varia a seconda se desideri aggiornare contemporaneamente il database e il file di fuso orario oppure eseguire solo una di queste operazioni. Tieni presente che se aggiorni il gruppo di opzioni e successivamente aggiorni il motore database utilizzando operazioni API separate, è possibile che l’aggiornamento del file del fuso orario sia in esecuzione mentre aggiorni il motore database.

Per gli esempi in questa sezione si assume quanto riportato di seguito:
+ Non hai ancora aggiunto `TIMEZONE_FILE_AUTOUPGRADE` al gruppo di opzioni associato all’istanza database.
+ L'istanza DB utilizza la versione del database 19.0.0.0.ru-2019-07.rur-2019-07.r1 e il file del fuso orario. DSTv33
+ Il file system dell'istanza DB include il file. DSTv34 
+ L'aggiornamento di rilascio 19.0.0.0.ru-2022-10.rur-2022-10.r1 include. DSTv35 

Per aggiornare il file di fuso orario, è possibile utilizzare le seguenti strategie.

**Topics**
+ [

## Aggiornamento del file di fuso orario senza aggiornare il motore
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade)
+ [

## Aggiornamento della versione del file del fuso e del motore di database
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade)
+ [

## Aggiornamento della versione del motore di database senza aggiornare il file del fuso orario
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only)

## Aggiornamento del file di fuso orario senza aggiornare il motore
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade"></a>

In questo scenario, il database utilizza il file system dell'istanza DB, ma è disponibile. DSTv33 DSTv34 Desideri aggiornare il file del fuso orario utilizzato dall'istanza DB da DSTv33 a DSTv34, ma non vuoi aggiornare il tuo motore a una nuova versione secondaria, che include DSTv35. 

In un comando `add-option-to-option-group`, aggiungi `TIMEZONE_FILE_AUTOUPGRADE` al gruppo di opzioni utilizzato dall’istanza database. Specifica se vuoi aggiungere l'opzione immediatamente o durante la finestra di manutenzione. Dopo aver applicato l’opzione `TIMEZONE_FILE_AUTOUPGRADE`, RDS effettua le seguenti operazioni:

1. Verifica la presenza di una nuova versione dell’ora legale.

1. Determina che DSTv34 è disponibile nel file system.

1. Aggiorna immediatamente il file di fuso orario.

## Aggiornamento della versione del file del fuso e del motore di database
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade"></a>

In questo scenario, il database utilizza DSTv33, ma DSTv34 è disponibile nel file system dell'istanza DB. Desideri aggiornare il tuo motore DB alla versione secondaria 19.0.0.0.ru-2022-10.rur-2022-10.r1, che include e aggiorna il file del fuso orario durante l'aggiornamento del motore. DSTv35 DSTv35 Pertanto, il tuo obiettivo è saltare e aggiornare i file del fuso orario direttamente in. DSTv34 DSTv35 

Per aggiornare contemporaneamente il motore e il file di fuso orario, esegui `modify-db-instance` con le opzioni `--option-group-name` e `--engine-version`. Puoi eseguire il comando immediatamente o durante la finestra di manutenzione. `In --option-group-name`, specifica un gruppo di opzioni che includa l’opzione `TIMEZONE_FILE_AUTOUPGRADE`. Esempio:

```
aws rds modify-db-instance 
    --db-instance-identifier my-instance \
    --engine-version new-version \
    ----option-group-name og-with-timezone-file-autoupgrade \    
    --apply-immediately
```

RDS inizia ad aggiornare il motore alla versione 19.0.0.0.ru-2022-10.rur-2022-10.r1. Dopo aver applicato l'`TIMEZONE_FILE_AUTOUPGRADE`opzione, RDS verifica la presenza di una nuova versione DST, verifica che DSTv35 sia disponibile in 19.0.0.0.ru-2022-10.rur-2022-10.r1 e avvia immediatamente l'aggiornamento a. DSTv35

Per aggiornare immediatamente il motore e quindi aggiornare il file del fuso orario, esegui le operazioni in sequenza:

1. Aggiorna il tuo motore database solo utilizzando il seguente comando dell’interfaccia CLI:

   ```
   aws rds modify-db-instance \
       --db-instance-identifier my-instance \
       --engine-version new-version \
       --apply-immediately
   ```

1. Aggiungi l’opzione `TIMEZONE_FILE_AUTOUPGRADE` al gruppo di opzioni collegato all’istanza utilizzando il seguente comando dell’interfaccia CLI: 

   ```
   aws rds add-option-to-option-group \
       --option-group-name og-in-use-by-your-instance \
       --options OptionName=TIMEZONE_FILE_AUTOUPGRADE \
       --apply-immediately
   ```

## Aggiornamento della versione del motore di database senza aggiornare il file del fuso orario
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only"></a>

In questo scenario, il database utilizza il file system dell'istanza DB, ma è disponibile nel file system dell'istanza DB. DSTv33 DSTv34 Desiderate aggiornare il motore di database alla versione 19.0.0.0.ru-2022-10.rur-2022-10.r1, che include ma mantiene il file del fuso orario. DSTv35 DSTv33 Puoi scegliere questa strategia per i seguenti motivi:
+ I tuoi dati non utilizzano il tipo di dati `TIMESTAMP WITH TIME ZONE`.
+ I tuoi dati utilizzano il tipo di dati `TIMESTAMP WITH TIME ZONE`, ma i dati non sono interessati dalle modifiche del fuso orario.
+ Si desidera posticipare l'aggiornamento del file di fuso orario perché non è possibile tollerare il tempo di inattività aggiuntivo.

La strategia dipende da quale delle seguenti condizioni sono vere:
+ L'istanza database non è associata a un gruppo di opzioni che include `TIMEZONE_FILE_AUTOUPGRADE`. Nel comando `modify-db-instance` non specificare un nuovo gruppo di opzioni in modo che RDS non aggiorni il file di fuso orario.
+ L’istanza database è attualmente associata a un gruppo di opzioni che include `TIMEZONE_FILE_AUTOUPGRADE`. In un unico comando `modify-db-instance`, associa l’istanza database a un gruppo di opzioni che non include `TIMEZONE_FILE_AUTOUPGRADE` e aggiorna il motore database a 19.0.0.0.ru-2022-10.rur-2022-10.r1.

# Tempo di inattività durante l'aggiornamento del file di fuso orario
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.considerations"></a>

Quando RDS aggiorna il file di fuso orario, i dati che utilizzano `TIMESTAMP WITH TIME ZONE` potrebbero cambiare e in questo caso, è opportuno tenere in considerazione il tempo di inattività.

**avvertimento**  
Se aggiungi l'opzione `TIMEZONE_FILE_AUTOUPGRADE`, l'aggiornamento del motore potrebbe avere tempi di inattività prolungati. L'aggiornamento dei dati del fuso orario per un database di grandi dimensioni potrebbe richiedere ore o addirittura giorni.

La durata dell'aggiornamento del file di fuso orario dipende da fattori come i seguenti:
+ La quantità di dati `TIMESTAMP WITH TIME ZONE` nel database
+ La configurazione dell'istanza database
+ La classe dell’istanza database
+ La configurazione dell’archivio
+ La configurazione del database
+ Le impostazioni dei parametri di database

Possono verificarsi ulteriori tempi di inattività quando si eseguono le seguenti operazioni:
+ Aggiungere l'opzione al gruppo di opzioni quando l'istanza database utilizza un file di fuso orario non aggiornato
+ Aggiornare il modulo di gestione di database Oracle quando la nuova versione del motore contiene una nuova versione del file di fuso orario

**Nota**  
Durante l'aggiornamento del file di fuso orario, RDS per Oracle chiama `PURGE DBA_RECYCLEBIN`.

# Preparazione all'aggiornamento del file di fuso orario
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.preparing"></a>

L'aggiornamento di un file di fuso orario prevede due fasi distinte: preparazione e aggiornamento. Anche se non richiesto, è fortemente consigliabile eseguire la fase di preparazione. In questo passaggio, scopri quali dati saranno interessati dall'esecuzione della PL/SQL procedura`DBMS_DST.FIND_AFFECTED_TABLES`. Per ulteriori informazioni sulla finestra di preparazione, consulta [Aggiornamento del file di fuso orario e del timestamp con dati di fuso orario](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/datetime-data-types-and-time-zone-support.html#GUID-B0ACDB2E-4B49-4EB4-B4CC-9260DAE1567A) nella documentazione di Oracle Database.

**Per preparare l'aggiornamento del file di fuso orario**

1. Connettersi al database Oracle usando un client SQL.

1. Determinare la versione corrente del file di fuso orario utilizzata.

   ```
   SELECT * FROM V$TIMEZONE_FILE;
   ```

1. Determinare la versione più recente del file di fuso orario disponibile nell'istanza database.

   ```
   SELECT DBMS_DST.GET_LATEST_TIMEZONE_VERSION FROM DUAL;
   ```

1. Determinare la dimensione totale delle tabelle con colonne di tipo `TIMESTAMP WITH LOCAL TIME ZONE` o `TIMESTAMP WITH TIME ZONE`.

   ```
   SELECT SUM(BYTES)/1024/1024/1024 "Total_size_w_TSTZ_columns_GB"
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE 'TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
            (SELECT OWNER, TABLE_NAME
             FROM   DBA_TAB_COLUMNS
             WHERE  DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE');
   ```

1. Determinare i nomi e le dimensioni dei segmenti con colonne di tipo `TIMESTAMP WITH LOCAL TIME ZONE` o `TIMESTAMP WITH TIME ZONE`.

   ```
   SELECT OWNER, SEGMENT_NAME, SUM(BYTES)/1024/1024/1024 "SEGMENT_SIZE_W_TSTZ_COLUMNS_GB"
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE 'TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
            (SELECT OWNER, TABLE_NAME
             FROM   DBA_TAB_COLUMNS
             WHERE  DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE')
   GROUP BY OWNER, SEGMENT_NAME;
   ```

1. Eseguire la fase di preparazione. 
   + La procedura `DBMS_DST.CREATE_AFFECTED_TABLE` crea una tabella per l'archiviazione dei dati interessati. Passare il nome di questa tabella alla procedura `DBMS_DST.FIND_AFFECTED_TABLES`. Per ulteriori informazioni, consulta [Procedura CREATE\$1AFFECTED\$1TABLE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-C53BAABA-914A-404C-9CD5-823257BE0B00) nella documentazione del database Oracle.
   + La procedura `CREATE_ERROR_TABLE` crea una tabella per registrare gli errori. Per ulteriori informazioni, consulta [Procedura CREATE\$1ERROR\$1TABLE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-6A7EA024-B02D-4486-B1D6-EF6ABF5DE507) nella documentazione del database Oracle.

   Nell'esempio seguente vengono create le tabelle dei dati e degli errori interessati e vengono trovate tutte le tabelle interessate.

   ```
   EXEC DBMS_DST.CREATE_ERROR_TABLE('my_error_table')
   EXEC DBMS_DST.CREATE_AFFECTED_TABLE('my_affected_table')
   
   EXEC DBMS_DST.BEGIN_PREPARE(new_version);
   EXEC DBMS_DST.FIND_AFFECTED_TABLES('my_affected_table', TRUE, 'my_error_table');
   EXEC DBMS_DST.END_PREPARE;
   
   SELECT * FROM my_affected_table;
   SELECT * FROM my_error_table;
   ```

1. Eseguire una query sulle tabelle interessate e di errore.

   ```
   SELECT * FROM my_affected_table;
   SELECT * FROM my_error_table;
   ```

# Aggiunta dell'opzione di aggiornamento automatico del file di fuso orario
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.adding"></a>

Quando aggiungi l'opzione, il gruppo di opzioni si trova in una delle seguenti condizioni:
+ Un gruppo di opzioni esistente è attualmente collegato ad almeno un'istanza database. Quando aggiungi l'opzione, tutte le istanze database che utilizzano il gruppo di opzioni si riavviano automaticamente. Questo riavvio causa una breve interruzione.
+ Un gruppo di opzioni esistente non è collegato a un'istanza database. Dovrai aggiungere l'opzione e quindi associare il gruppo di opzioni esistente alle istanze database esistenti o a una nuova istanza database.
+ Crei un nuovo gruppo di opzioni e aggiungi l'opzione. Dovrai associare il nuovo gruppo di opzioni alle istanze database esistenti o a una nuova istanza database.

## Console
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.console"></a>

**Per aggiungere l'opzione del file di fuso orario a un'istanza di database**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione scegliere **Option groups (Gruppi di opzioni)**.

1. Determinare il gruppo di opzioni che si desidera usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. Per **Engine** (Motore), scegli la versione Oracle Database per l'istanza database. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Selezionare il gruppo di opzioni che si vuole modificare, quindi scegliere **Add Option (Aggiungi opzione)**.

1. Nella finestra **Add option (Aggiungi opzione)** eseguire queste operazioni: 

   1. Scegli **TIMEZONE\$1FILE\$1AUTOUPGRADE**.

   1. Per abilitare l'opzione in tutte le istanze database associate non appena viene aggiunta, per **Apply Immediately (Applica immediatamente)** scegliere **Yes (Sì)**. Se si sceglie **No** (impostazione predefinita), l'opzione viene abilitata per ogni istanza database associata durante la finestra di manutenzione successiva.

1. Dopo aver selezionato le impostazioni desiderate, selezionare **Add Option (Aggiungi opzione)**.

## AWS CLI
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.CLI"></a>

L'esempio seguente utilizza il comando AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) per aggiungere l'`TIMEZONE_FILE_AUTOUPGRADE`opzione a un gruppo di opzioni chiamato. `myoptiongroup`

Per Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=TIMEZONE_FILE_AUTOUPGRADE" \
    --apply-immediately
```

Per Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=TIMEZONE_FILE_AUTOUPGRADE" ^
    --apply-immediately
```

# Controllo dei dati dopo l'aggiornamento del file di fuso orario
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.checking"></a>

Si consiglia di controllare i dati dopo aver aggiornato il file del fuso orario. Durante la fase di preparazione, RDS per Oracle crea automaticamente le tabelle riportate di seguito:
+ `rdsadmin.rds_dst_affected_tables` – Elenca le tabelle che contengono dati interessati dall'aggiornamento
+ `rdsadmin.rds_dst_error_table` – Elenca gli errori generati durante l'aggiornamento

Queste tabelle sono indipendenti da tutte le tabelle create nella finestra di preparazione. Per visualizzare i risultati dell'aggiornamento, eseguire una query sulle tabelle come indicato di seguito.

```
SELECT * FROM rdsadmin.rds_dst_affected_tables;
SELECT * FROM rdsadmin.rds_dst_error_table;
```

Per ulteriori informazioni sullo schema per i dati interessati e le tabelle di errore, consulta [Procedura FIND\$1AFFECTED\$1TABLE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-1F977505-671C-4D5B-8570-86956F136199) nella documentazione Oracle.

# Oracle Transparent Data Encryption
<a name="Appendix.Oracle.Options.AdvSecurity"></a>

Amazon RDS supporta Oracle Transparent Data Encryption (TDE), una caratteristica dell'opzione Oracle Advanced Security disponibile in Oracle Enterprise Edition. Tale caratteristica consente la crittografia automatica dei dati prima che vengano trascritti nello storage e la loro decriptazione automatica durante la lettura dallo storage. Questa opzione è supportata solo per il modello per uso di licenze proprie (BYOL).

TDE è utile negli scenari in cui è necessario crittografare dati sensibili se i file di dati e i backup si ottengono da una terza parte. TDE è utile anche quando è necessario rispettare le normative relative alla sicurezza. 

Una spiegazione dettagliata di TDE in Oracle Database esula dallo scopo di questa guida. Per informazioni, consulta le seguenti risorse di Oracle Database:
+ [Introduction to Transparent Data Encryption](https://docs.oracle.com/en/database/oracle/oracle-database/19/asoag/introduction-to-transparent-data-encryption.html#GUID-62AA9447-FDCD-4A4C-B563-32DE04D55952) nella documentazione di Oracle Database
+ [Oracle advanced security](https://www.oracle.com/security/database-security/) nella documentazione di Oracle Database
+ [Oracle advanced security Transparent Data Encryption best practices](https://www.oracle.com/br/a/tech/docs/technical-resources/twp-transparent-data-encryption-bestpractices.pdf) che è un whitepaper di Oracle

Per ulteriori informazioni sull’utilizzo di TDE con RDS per Oracle, consulta i seguenti blog:
+ [Oracle Database Encryption Options on Amazon RDS](https://aws.amazon.com/blogs/apn/oracle-database-encryption-options-on-amazon-rds/)
+ [Esegui la migrazione di un'istanza DB Amazon RDS for Oracle compatibile con TDE su più account con tempi di inattività ridotti utilizzando AWS DMS](https://aws.amazon.com/blogs/database/migrate-a-cross-account-tde-enabled-amazon-rds-for-oracle-db-instance-with-reduced-downtime-using-aws-dms/)

## Modalità di crittografia di TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Modes"></a>

Oracle Transparent Data Encryption supporta due modalità di crittografia: la crittografia TDE degli spazi tabelle e la crittografia TDE delle colonne. La crittografia TDE degli spazi tabelle si utilizza per crittografare intere tabelle di un'applicazione. La crittografia TDE delle colonne si utilizza per crittografare singole informazioni che contengono dati sensibili. Puoi anche applicare una soluzione di crittografia ibrida che utilizza sia la codifica TDE degli spazi tabelle che quella delle colonne. 

**Nota**  
Amazon RDS gestisce Oracle Wallet e la chiave principale di TDE per l'istanza database. Non dovrai impostare la chiave crittografica con il comando `ALTER SYSTEM set encryption key`. 

Una volta abilitata l’opzione `TDE`, puoi verificare lo stato di Oracle Wallet utilizzando il comando seguente: 

```
SELECT * FROM v$encryption_wallet;
```

Per creare uno spazio tabelle crittografato, utilizza il comando seguente:

```
CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE (ENCRYPT);
```

Utilizza il comando seguente per specificare l'algoritmo di crittografia:

```
CREATE TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);
```

Le istruzioni precedenti per la crittografia di un tablespace sono le stesse che utilizzeresti su un database Oracle on-premises.

## Restrizioni per l’opzione TDE
<a name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

L’opzione TDE è permanente e persistente. Dopo aver associato l’istanza database a un gruppo di opzioni con l’opzione TDE abilitata, non puoi eseguire le azioni indicate di seguito:
+ Disabilita l’opzione `TDE` nel gruppo di opzioni attualmente associato.
+ Associa l’istanza database a un gruppo di opzioni diverso che non include l’opzione `TDE`.
+ Condividi uno snapshot di database che utilizza l’opzione `TDE`. Per ulteriori informazioni sulla condivisione di snapshot DB, consulta [Condivisione di uno snapshot DB per Amazon RDS](USER_ShareSnapshot.md).

Per ulteriori informazioni sulle opzioni persistenti e permanenti, consulta [Opzioni persistenti e permanenti](USER_WorkingWithOptionGroups.md#Overview.OptionGroups.Permanent).

## Determinare se l’istanza database utilizza TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Querying"></a>

Potresti voler stabilire se l’istanza database è associata a un gruppo di opzioni con l’opzione `TDE` abilitata. [Per visualizzare il gruppo di opzioni a cui è associata un'istanza DB, utilizza la console RDS, il [describe-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)AWS CLI comando o l'operazione API Descrivi. DBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html)

## Aggiunta dell’opzione TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Add"></a>

Per rimuovere l’opzione `TDE` con un’istanza database, completa i passaggi seguenti.

1. Passaggio consigliato: acquisisci uno snapshot dell’istanza database.

1. Esegui una di queste attività:
   + Crea un nuovo gruppo di opzioni da zero. Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).
   + Copia un gruppo di opzioni esistente utilizzando l'API AWS CLI or. Per ulteriori informazioni, consulta [Copia di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).
   + Riutilizza un gruppo esistente di opzioni non predefinite. Una best practice consiste nell’utilizzare un gruppo di opzioni che non è attualmente associato ad alcuna snapshot o istanza database.

1. Aggiungi la nuova opzione al gruppo di opzioni del passaggio precedente.

1. Se il gruppo di opzioni attualmente associato all’istanza database ha delle opzioni abilitate, aggiungile al nuovo gruppo di opzioni. Questa strategia impedisce la disinstallazione delle opzioni esistenti mentre si abilita la nuova opzione.

1. Aggiungi il nuovo gruppo di opzioni all’istanza database.

### Console
<a name="Appendix.Oracle.Options.TDE.Console"></a>

**Per aggiungere l’opzione TDE a un gruppo di opzioni e associarla all’istanza database**

1. Nella console RDS, scegli **Gruppi di opzioni**.

1. Scegli il nome del gruppo di opzioni a cui vuoi aggiungere l’opzione.

1. Scegliere **Add option (Aggiungi opzione)**.

1. Per **Nome opzione**, scegli **TDE**, quindi configura le impostazioni dell’opzione. 

1. Scegliere **Add option (Aggiungi opzione)**.
**Importante**  
Se aggiungi l’opzione **TDE** a un gruppo di opzioni che è già associato a una o più istanze database, si verifica una breve interruzione mentre tutte le istanze database vengono riavviate automaticamente. 

   Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Associa il gruppo di opzioni a un’istanza database nuova o esistente: 
   + Per una nuova istanza database, applicare il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, applicare il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. L’istanza database non viene riavviata come parte di questa operazione. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

### AWS CLI
<a name="Appendix.Oracle.Options.TDE.CLI"></a>

Nell'esempio seguente, utilizzate il comando AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) per aggiungere l'`TDE`opzione a un gruppo di opzioni chiamato`myoptiongroup`. Per ulteriori informazioni, consulta [Nozioni di base: Flink 1.13.2](https://docs.aws.amazon.com/managed-flink/latest/java/earlier.html#getting-started-1-13).

Per Linux, macOS o Unix:

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=TDE" \
    --apply-immediately
```

Per Windows:

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=TDE" ^
    --apply-immediately
```

## Copia i dati in un’istanza database che non include l’opzione TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Remove"></a>

Non puoi rimuovere l’opzione TDE da un’istanza database né associarla a un gruppo di opzioni che non comprenda l’opzione TDE. Per migrare i dati su un’istanza che non include l’opzione TDE, procedi come segue: 

1.  Decrittografa tutti i dati sull’istanza database. 

1.  Copia i dati in una nuova istanza database non associata a un gruppo di opzioni con l’opzione `TDE` abilitata. 

1.  Elimina l’istanza database originale.

Per la nuova istanza, puoi utilizzare lo stesso nome dell’istanza database precedente.

## Considerazioni sull’utilizzo di TDE con Oracle Data Pump
<a name="Appendix.Oracle.Options.AdvSecurity.Pump"></a>

Puoi utilizzare Oracle Data Pump per importare o esportare file dump crittografati. Amazon RDS supporta la modalità di crittografia delle password `(ENCRYPTION_MODE=PASSWORD)` per Oracle Data Pump. Amazon RDS non supporta la modalità di crittografia trasparente `(ENCRYPTION_MODE=TRANSPARENT)` per Oracle Data Pump. Per ulteriori informazioni, consulta [Importazione utilizzando Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md). 

# UTL\$1MAIL di Oracle
<a name="Oracle.Options.UTLMAIL"></a>

Amazon RDS supporta UTL\$1MAIL di Oracle attraverso l'uso dell'opzione UTL\$1MAIL e di server SMTP. Puoi inviare un messaggio e-mail direttamente dal database usando il pacchetto UTL\$1MAIL. Amazon RDS supporta UTL\$1MAIL per le seguenti versioni di Oracle: 
+ Oracle Database 21c (21.0.0.0), tutte le versioni
+ Oracle Database 19c (19.0.0.0), tutte le versioni

Di seguito trovi alcune delle limitazioni all'utilizzo di UTL\$1MAIL: 
+ UTL\$1MAIL non supporta il protocollo Transport Layer Security (TLS) e le e-mail non vengono pertanto crittografate. 

  Per connetterti in modo sicuro a risorse SSL/TLS remote creando e caricando wallet Oracle personalizzati, segui le istruzioni in [Configurazione dell'accesso UTL\$1HTTP utilizzando certificati e un portafoglio Oracle](Oracle.Concepts.ONA.md).

  I certificati specifici necessari per il wallet variano in base al servizio. Per i servizi AWS, sono in genere disponibili nel [repository di Amazon Trust Services](https://www.amazontrust.com/repository/).
+ UTL\$1MAIL non supporta l'autenticazione con i server SMTP. 
+ È possibile inviare un solo allegato in una e-mail. 
+ Non è possibile inviare allegati di dimensioni maggiori di 32 K. 
+ È possibile utilizzare solo le codifiche di caratteri ASCII ed EBCDIC (Extended Binary Coded Decimal Interchange Code). 
+ La porta SMTP (25) è soggetta a throttling in base alle policy del proprietario dell'interfaccia di rete elastica. 

Quando abiliti UTL\$1MAIL, il privilegio di esecuzione è concesso solo all'utente master dell'istanza database. Se necessario, l'utente master può concedere il privilegio di esecuzione ad altri utenti, per consentire loro di utilizzare UTL\$1MAIL. 

**Importante**  
Ti consigliamo di abilitare la funzionalità di controllo integrata di Oracle per tenere traccia dell'utilizzo delle procedure di UTL\$1MAIL. 

## Prerequisiti per UTL\$1MAIL di Oracle
<a name="Oracle.Options.UTLMAIL.PreReqs"></a>

Di seguito sono indicati i prerequisiti per l'utilizzo di UTL\$1MAIL di Oracle:
+ Uno o più server SMTP e i corrispondenti indirizzi IP o nomi DNS (Domain Name Server) pubblici o privati. Per ulteriori informazioni sui nomi DNS privati risolti tramite un server DNS personalizzato, consulta [Impostazione di un server DNS personalizzato](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS). 

## Aggiunta dell'opzione UTL\$1MAIL di Oracle
<a name="Oracle.Options.UTLMAIL.Add"></a>

La procedura generale per aggiungere l'opzione UTL\$1MAIL di Oracle a un'istanza database è la seguente: 

1. Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.

1. Aggiungere l'opzione al gruppo di opzioni.

1. Associare il gruppo di opzioni a questa istanza database.

Dopo essere stata aggiunta, l'opzione UTL\$1MAIL diventa attiva non appena il gruppo di opzioni è attivo. 

**Per aggiungere l'opzione UTL\$1MAIL a un'istanza database**

1. Determinare il gruppo di opzioni che si desidera usare. È possibile creare un nuovo gruppo di opzioni oppure usare un gruppo di opzioni esistente. Se si desidera usare un gruppo di opzioni esistente, puoi passare alla fase successiva. In caso contrario, creare un gruppo di opzioni database personalizzato con le seguenti impostazioni: 

   1. In **Engine (Motore)** scegliere l'edizione di Oracle che si desidera utilizzare. 

   1. In **Major engine version (Versione principale del motore)**, scegliere la versione dell'istanza database. 

   Per ulteriori informazioni, consulta [Creazione di un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Aggiungere l'opzione **UTL\$1MAIL** al gruppo di opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Applicare il gruppo di opzioni a un'istanza database nuova o esistente: 
   + Per una nuova istanza database, si applica il gruppo di opzioni quando viene avviata l'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md). 
   + Per un'istanza database esistente, viene applicato il gruppo di opzioni modificando l'istanza e collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Utilizzo di UTL\$1MAIL di Oracle
<a name="Oracle.Options.UTLMAIL.Using"></a>

Dopo aver abilitato l'opzione UTL\$1MAIL, dovrai configurare il server SMTP per poter iniziare a utilizzarlo. 

Per configurare il server SMTP, è necessario impostare il parametro SMTP\$1OUT\$1SERVER su un indirizzo IP o un nome DNS pubblico valido. Per il parametro SMTP\$1OUT\$1SERVER, puoi specificare un elenco separato da virgole di indirizzi di più server. Se il primo server non è disponibile, UTL\$1MAIL prova a utilizzare il server successivo e così via. 

È possibile impostare il parametro SMTP\$1OUT\$1SERVER predefinito per un'istanza database utilizzando un [gruppo di parametri database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html). Puoi impostare il parametro SMTP\$1OUT\$1SERVER per una sessione eseguendo il codice riportato di seguito sul database nell'istanza database. 

```
1. ALTER SESSION SET smtp_out_server = mailserver.domain.com:25;
```

Quando l'opzione UTL\$1MAIL è abilitata e SMTP\$1OUT\$1SERVER è configurato, potrai inviare e-mail tramite la procedura `SEND`. Per ulteriori informazioni, consulta [UTL\$1MAIL](http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_mail.htm#BABFJJBD) nella documentazione di Oracle. 

## Rimozione dell'opzione UTL\$1MAIL di Oracle
<a name="Oracle.Options.UTLMAIL.Remove"></a>

È possibile rimuovere l'opzione UTL\$1MAIL di Oracle da un'istanza database. 

Per rimuovere UTL\$1MAIL da un'istanza database, procedi in uno dei seguenti modi: 
+ Per rimuovere l'opzione UTL\$1MAIL da più istanze database, rimuovila dal gruppo di opzioni a cui le istanze appartengono. Questa modifica coinvolge tutte le istanze database che usano il gruppo di opzioni. Per ulteriori informazioni, consulta [Rimozione di un'opzione da un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Per rimuovere l'opzione UTL\$1MAIL da una singola istanza database, modifica l'istanza database e specifica un gruppo di opzioni diverso che non comprenda l'opzione UTL\$1MAIL. È possibile specificare il gruppo di opzioni predefinito (vuoto) o un gruppo di opzioni personalizzato diverso. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 

## Risoluzione dei problemi
<a name="Oracle.Options.UTLMAIL.Troubleshooting"></a>

Di seguito sono elencati i problemi che si potrebbero riscontrare quando si utilizza UTL\$1MAIL con Amazon RDS. 
+ Throttling. La porta SMTP (25) è soggetta a throttling in base alle policy del proprietario dell'interfaccia di rete elastica. Se riesci a inviare e-mail utilizzando UTL\$1MAIL e viene visualizzato l'errore `ORA-29278: SMTP transient error: 421 Service not available`, è possibile che sia in corso il throttling. Se la distribuzione di posta elettronica è soggetta a throttling, ti consigliamo di implementare un algoritmo di backoff. Per ulteriori informazioni sugli algoritmi di backoff, consulta [Ripetizione dei tentativi in caso di errore e backoff esponenziale in AWS](https://docs.aws.amazon.com/general/latest/gr/api-retries.html) e il post [Come gestire un errore di superamento della frequenza massima in uscita con conseguente throttling](https://aws.amazon.com/blogs/ses/how-to-handle-a-throttling-maximum-sending-rate-exceeded-error/). 

  È possibile richiedere che venga rimosso il throttling. Per ulteriori informazioni, leggi [Come rimuovere il throttling sulla porta 25 per l'istanza EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/).

# Oracle XML DB
<a name="Appendix.Oracle.Options.XMLDB"></a>

Oracle XML DB aggiunge un supporto XML nativo all'istanza database. Con XML DB puoi archiviare e recuperare XML strutturato o non strutturato e dati relazionali. Il server del protocollo XML DB non è supportato su RDS per Oracle.

XML DB è preinstallato su Oracle Database 12c e versioni successive. Pertanto, non è necessario utilizzare un gruppo di opzioni per installare esplicitamente XML DB come funzionalità aggiuntiva. 

Per informazioni su come configurare e utilizzare XML DB, consulta [Oracle XML DB Developer’s Guide](https://docs.oracle.com/en/database/oracle/oracle-database/19/adxdb/) nella documentazione di Oracle Database.