

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

# Utilizzo delle repliche Oracle per RDS Custom per Oracle
<a name="custom-rr"></a>

È possibile creare repliche Oracle per istanze database RDS Custom per Oracle che eseguono Oracle Enterprise Edition. Sono supportati sia i database container (CDB) che quelli non CDB. La Standard Edition 2 non supporta Oracle Data Guard. 

La creazione di una replica RDS Custom per Oracle è simile alla creazione di una replica RDS per Oracle, ma con alcune differenze importanti. Per informazioni generali sulla creazione e la gestione delle repliche Oracle, consulta [Uso delle repliche di lettura dell'istanza database](USER_ReadRepl.md) e [Utilizzo di repliche di lettura per Amazon RDS per Oracle](oracle-read-replicas.md).

**Topics**
+ [Panoramica della replica RDS Custom per Oracle](#custom-rr.overview)
+ [Linee guida e limitazioni per la replica RDS Custom per Oracle](custom-rr.reqs-limitations.md)
+ [Promozione di una replica RDS Custom per Oracle a istanza database autonoma](custom-rr.promoting.md)
+ [Configurazione di un tunnel VPN tra le istanze primarie e di replica di RDS Custom per Oracle](cfo-standby-vpn-tunnel.md)

## Panoramica della replica RDS Custom per Oracle
<a name="custom-rr.overview"></a>

L'architettura di replica RDS Custom per Oracle è analoga all'architettura di replica RDS per Oracle. Un'istanza database primaria si replica in modo asincrono su una o più repliche Oracle.

![\[RDS Custom per Oracle supporta le repliche Oracle\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/read-replica-custom-oracle.png)


### Numero massimo di repliche
<a name="custom-rr.overview.number"></a>

Come con RDS per Oracle, è possibile creare fino a cinque repliche Oracle gestite dell'istanza database primaria RDS Custom per Oracle. È inoltre possibile creare repliche Oracle personalizzate (esterne) configurate manualmente. Le repliche esterne non contano ai fini del limite delle istanze database. Si trovano inoltre al di fuori del perimetro di supporto di RDS Custom. Per ulteriori informazioni sul perimetro di supporto, vedere [Perimetro di supporto RDS Custom](custom-concept.md#custom-troubleshooting.support-perimeter).

### Convenzione di denominazione delle repliche
<a name="custom-rr.overview.names"></a>

I nomi delle repliche Oracle si basano sul nome univoco del database. Il formato è `DB_UNIQUE_NAME_X`, con lettere aggiunte in sequenza. Ad esempio, se il nome univoco del database è `ORCL`, le prime due repliche sono denominate `ORCL_A` e `ORCL_B`. Le prime sei lettere, A—F, sono riservate per RDS Custom. RDS Custom copia i parametri del database dall'istanza database primaria alle repliche. Per ulteriori informazioni, consulta [DB\$1UNIQUE\$1NAME](https://docs.oracle.com/database/121/REFRN/GUID-3547C937-5DDA-49FF-A9F9-14FF306545D8.htm#REFRN10242) nella documentazione di Oracle.

### Conservazione dei backup delle repliche
<a name="custom-rr.overview.backups"></a>

Le repliche RDS Custom utilizzano lo stesso tempo di conservazione del backup dell'istanza database primaria per impostazione predefinita. È possibile modificare il tempo di conservazione del backup (1–35 giorni). RDS Custom supporta il backup, il ripristino e il ripristino point-in-time (PITR). Per ulteriori informazioni sul backup e il ripristino delle istanze database di RDS Custom, consulta [Backup e ripristino di un'istanza database di Amazon RDS Custom per Oracle](custom-backup.md).

**Nota**  
Durante la creazione di una replica Oracle, RDS Custom interrompe temporaneamente la pulizia dei registri di ripristino. In questo modo, RDS Custom garantisce che questi registri vengano applicati alla nuova replica Oracle quando sarà disponibile.

### Promozione delle repliche
<a name="custom-rr.overview.promotion"></a>

È possibile promuovere le repliche Oracle gestite in RDS Custom per Oracle utilizzando la console, il comando `promote-read-replica` della AWS CLI o l'API `PromoteReadReplica`. Se si elimina l'istanza database primaria e tutte le repliche sono integre, RDS Custom per Oracle promuove automaticamente le repliche gestite in istanze autonome. Se una replica ha sospeso l'automazione o si trova al di fuori del perimetro di supporto, è necessario correggerla prima che RDS Custom possa promuoverla automaticamente. È possibile promuovere le repliche Oracle esterne solo manualmente.

# Linee guida e limitazioni per la replica RDS Custom per Oracle
<a name="custom-rr.reqs-limitations"></a>

Non tutte le opzioni di replica RDS Oracle sono supportate quando si creano repliche RDS Custom per Oracle.

**Topics**
+ [Linee guida generali per la replica RDS Custom per Oracle](#custom-rr.guidelines)
+ [Limitazioni generali per la replica RDS Custom per Oracle](#custom-rr.limitations)
+ [Requisiti e limitazioni delle reti per la replica RDS Custom per Oracle](#custom-rr.network)
+ [Limitazioni esterne per la replica RDS Custom per Oracle](#custom-rr.external-replica-reqs)

## Linee guida generali per la replica RDS Custom per Oracle
<a name="custom-rr.guidelines"></a>

Quando si usa RDS Custom per Oracle, segui le linee guida riportate di seguito:
+ La replica RDS Custom per Oracle può essere utilizzata solo in Oracle Enterprise Edition. La Standard Edition 2 non è supportata.
+ È consigliabile implementare un tunnel VPN per crittografare le comunicazioni tra le istanze primarie e in standby. Per ulteriori informazioni, consulta [Configurazione di un tunnel VPN tra le istanze primarie e di replica di RDS Custom per Oracle](cfo-standby-vpn-tunnel.md).
+ Non modificare l’utente `RDS_DATAGUARD`. Questo utente è riservato per l'automazione RDS Custom per Oracle. La modifica di questo utente può restituire risultati indesiderati, ad esempio l'impossibilità di creare repliche Oracle per l'istanza database RDS Custom per Oracle.
+ Non modificare la password dell'utente di replica. Questa password è necessaria per amministrare la configurazione di Oracle Data Guard sull'host RDS Custom. Se si modifica la password, RDS Custom per Oracle potrebbe posizionare la replica Oracle al di fuori del perimetro di supporto. Per ulteriori informazioni, consulta [Perimetro di supporto RDS Custom](custom-concept.md#custom-troubleshooting.support-perimeter).

  La password è memorizzata in Gestione dei segreti AWS, contrassegnata con l'ID della risorsa DB. Ogni replica Oracle ha il suo segreto in Secrets Manager. Il segreto utilizza uno dei formati di denominazione indicati di seguito.

  ```
  do-not-delete-rds-custom-db-DB_resource_id-uuid-dg
  rds-custom!oracle-do-not-delete-DB_resource_id-uuid-dg
  ```
+ Non modificare il valore `DB_UNIQUE_NAME` per un'istanza database primaria. La modifica del nome causa il blocco di qualsiasi operazione di ripristino.
+ Non specificare la clausola `STANDBYS=NONE` in un comando `CREATE PLUGGABLE DATABASE` in un CDB RDS Custom. In questo modo, se si verifica un failover, il CDB in standby contiene tutto. PDBs

## Limitazioni generali per la replica RDS Custom per Oracle
<a name="custom-rr.limitations"></a>

Le repliche RDS Custom per Oracle hanno le seguenti limitazioni:
+ Non è possibile creare repliche RDS Custom per Oracle solo in modalità di sola lettura. Tuttavia, è possibile convertire manualmente le repliche dalla modalità montata a in sola lettura e da in sola lettura a montata. [Per ulteriori informazioni, consultate la documentazione del comando -replica. create-db-instance-read](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html) AWS CLI 
+ Non è possibile creare repliche RDS Custom per Oracle tra regioni.
+ Non è possibile modificare il valore del parametro Oracle Data Guard `CommunicationTimeout`. Questo parametro è impostato su 15 secondi per le istanze database RDS Custom per Oracle.

## Requisiti e limitazioni delle reti per la replica RDS Custom per Oracle
<a name="custom-rr.network"></a>

Verifica che la configurazione di rete supporti le repliche RDS Custom per Oracle. Considera i seguenti aspetti:
+ Assicurati di abilitare la porta 1140 per la comunicazione in entrata e in uscita all'interno del cloud privato virtuale (VPC) per l'istanza database primaria e tutte le relative repliche. Ciò è necessario per la comunicazione di Oracle Data Guard tra le repliche di lettura.
+ RDS Custom per Oracle convalida la rete durante la creazione di una replica Oracle. Se l'istanza database primaria e la nuova replica non riescono a connettersi in rete, RDS Custom per Oracle non crea la replica e imposta il relativo stato su `INCOMPATIBLE_NETWORK`.
+ Per le repliche Oracle esterne, ad esempio quelle create su Amazon EC2 o on-premise, utilizza un'altra porta e un listener per la replica Oracle Data Guard. Il tentativo di utilizzare la porta 1140 potrebbe causare conflitti con l'automazione RDS Custom.
+ Il file `/rdsdbdata/config/tnsnames.ora` contiene i nomi dei servizi di rete mappati agli indirizzi del protocollo del listener. Prendi nota dei seguenti requisiti e raccomandazioni:
  + Le voci in `tnsnames.ora` con prefisso `rds_custom_` sono riservate a RDS Custom quando si gestiscono le operazioni di replica Oracle.

    Quando si creano voci manuali in `tnsnames.ora`, non usare questo prefisso.
  + In alcuni casi, si potrebbe voler passare o eseguire il failover manualmente o utilizzare tecnologie di failover come Fast-Start Failover (FSFO). In tal caso, assicurarsi di effettuare la sincronizzazione manuale delle voci `tnsnames.ora` dall'istanza database primaria a tutte le istanze in stand-by. Questo suggerimento si applica sia alle repliche Oracle gestite da RDS Custom che alle repliche Oracle esterne.

    L'automazione di RDS Custom aggiorna le voci `tnsnames.ora` solo sull'istanza database primaria. Assicurati di eseguire la sincronizzazione anche quando aggiungi o rimuovi una replica Oracle.

    Se non si sincronizzano i file `tnsnames.ora` e si esegue uno switchover o un failover manualmente, sull'istanza database primaria Oracle Data Guard potrebbe non essere in grado di comunicare con le repliche Oracle.

## Limitazioni esterne per la replica RDS Custom per Oracle
<a name="custom-rr.external-replica-reqs"></a>

 Le repliche esterne RDS Custom per Oracle, che includono repliche on-premise, hanno le seguenti limitazioni:
+ RDS Custom per Oracle non rileva le modifiche del ruolo dell'istanza in caso di failover manuale, come FSFO, per le repliche Oracle esterne.

  RDS Custom per Oracle non rileva le modifiche per le repliche gestite. La modifica del ruolo è annotata nel registro eventi. È inoltre possibile visualizzare il nuovo stato utilizzando il [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI comando.
+ RDS Custom per Oracle non rileva un elevato ritardo di replica per le repliche Oracle esterne.

  RDS Custom per Oracle rileva il ritardo per le repliche gestite. L'elevato ritardo di replica produce l’evento `Replication has stopped`. È inoltre possibile visualizzare lo stato della replica utilizzando il [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI comando, ma potrebbe verificarsi un ritardo nell'aggiornamento.
+ RDS Custom per Oracle non promuove automaticamente le repliche Oracle esterne dopo l'eliminazione dell'istanza database primaria. 

  La funzione di promozione automatica è disponibile solo per le repliche Oracle gestite. Per informazioni sulla promozione manuale delle repliche Oracle, consulta il whitepaper [Abilitazione dell'elevata disponibilità con Data Guard su Amazon RDS Custom per Oracle](https://d1.awsstatic.com/whitepapers/enabling-high-availability-with-data-guard-on-amazon-rds-custom-for-oracle.pdf).

# Promozione di una replica RDS Custom per Oracle a istanza database autonoma
<a name="custom-rr.promoting"></a>

Proprio come con RDS per Oracle, puoi promuovere una replica RDS Custom per Oracle a istanza database autonoma. Quando promuovi una replica Oracle, l'istanza database viene riavviata prima di diventare disponibile. Per ulteriori informazioni sulla promozione delle repliche Oracle, consulta [Promozione di una replica di lettura a istanza database standalone](USER_ReadRepl.Promote.md).

Quando promuovi una replica, tieni presente le seguenti linee guida:
+ Non avviare un failover mentre RDS Custom per Oracle sta promuovendo la replica. In caso contrario, il flusso di lavoro di promozione potrebbe bloccarsi.
+ Non eseguire lo switchover sull'istanza database primaria mentre RDS Custom per Oracle sta promuovendo la replica Oracle. In caso contrario, il flusso di lavoro di promozione potrebbe bloccarsi.
+ Non arrestare l'istanza database primaria mentre RDS Custom per Oracle sta promuovendo la replica Oracle. In caso contrario, il flusso di lavoro di promozione potrebbe bloccarsi.
+ Non tentare di riavviare la replica con l'istanza database appena promossa come destinazione. Dopo aver promosso la replica Oracle, tale replica diventa un'istanza database autonoma e non ha più il ruolo di replica.

Per la promozione delle repliche RDS Custom per Oracle sono valide le seguenti limitazioni:
+ Non è possibile promuovere una replica mentre RDS Custom per Oracle ne esegue il backup.
+ Quando promuovi la replica Oracle, non puoi modificare il periodo di conservazione del backup impostando `0`.
+ Non puoi promuovere la tua replica quando il relativo stato non è integro.

  Se si esegue `delete-db-instance` sull'istanza database primaria, RDS Custom per Oracle verifica che ogni replica Oracle gestita sia integra e disponibile per la promozione. Una replica potrebbe non essere idonea per la promozione perché l'automazione è in pausa o si trova al di fuori del perimetro di supporto. In questi casi, RDS Custom per Oracle pubblica un evento che spiega il problema in modo da poter riparare manualmente la replica Oracle.

Le fasi seguenti descrivono il processo generale per la promozione di una replica Oracle a istanza database:

1. Interrompi la scrittura di eventuali transazioni sull'istanza database primaria. 

1. Attendi che RDS Custom per Oracle applichi tutti gli aggiornamenti alla replica Oracle.

1. Promuovi la replica Oracle utilizzando l'opzione **Promote** (Promuovi) nella console Amazon RDS, il comando AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica.html](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica.html) o l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplica.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplica.html) dell'API Amazon RDS.

Per il completamento della promozione di una replica Oracle sono necessari alcuni minuti. Durante il processo, RDS Custom per Oracle interrompe e riavvia la replica. Al termine del riavvio, la replica Oracle è disponibile come nuova istanza database. Per informazioni sulla risoluzione dei problemi relativi alla promozione delle repliche, consulta [Risoluzione dei problemi di promozione delle repliche per RDS Custom per Oracle](custom-troubleshooting.md#custom-troubleshooting-promote).

## Console
<a name="USER_ReadRepl.Promote.Console"></a>

**Per promuovere una replica RDS Custom per Oracle a istanza database autonoma**

1. Accedi alla 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. Nella console Amazon RDS scegliere **Databases (Database)**.

   Verrà visualizzato il riquadro **Databases (Database)**. Ogni replica Oracle mostra la voce **Replica** nella colonna **Role** (Ruolo).

1. Scegli la replica RDS Custom per Oracle da promuovere.

1. In **Actions** (Operazioni), seleziona **Promote** (Promuovi).

1. Nella pagina **Promote Oracle replica** (Promuovi replica di lettura) immetti il periodo di conservazione dei backup e la finestra di backup per la nuova istanza database promossa. Non è possibile impostare questo valore su **0**.

1. Dopo aver selezionato tutte le impostazioni desiderate, scegli **Promote Oracle replica** (Promuovi replica Oracle).

## AWS CLI
<a name="USER_ReadRepl.Promote.CLI"></a>

Per promuovere una replica RDS Custom per Oracle a istanza database autonoma, utilizza il comando AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica.html](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica.html).

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

```
aws rds promote-read-replica \
--db-instance-identifier my-custom-read-replica \
--backup-retention-period 2 \
--preferred-backup-window 23:00-24:00
```
Per Windows:  

```
aws rds promote-read-replica ^
--db-instance-identifier my-custom-read-replica ^
--backup-retention-period 2 ^
--preferred-backup-window 23:00-24:00
```

## API RDS
<a name="USER_ReadRepl.Promote.API"></a>

Per promuovere una replica RDS Custom per Oracle a istanza database autonoma, richiama l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplica.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplica.html) dell'API Amazon RDS con il parametro `DBInstanceIdentifier` richiesto.

# Configurazione di un tunnel VPN tra le istanze primarie e di replica di RDS Custom per Oracle
<a name="cfo-standby-vpn-tunnel"></a>

Un tunnel VPN è una connessione crittografata tra due o più dispositivi su una rete. Per garantire il massimo livello di sicurezza per le istanze di Oracle Data Guard in RDS Custom per Oracle, consigliamo vivamente di implementare un tunnel VPN per crittografare la comunicazione tra le istanze primarie e quelle in standby. Il tunnel funge da protezione per i dati sensibili mentre attraversano la rete tra le istanze. Sebbene questa configurazione sia facoltativa, la consigliamo come best practice per garantire la sicurezza dei dati e la conformità alle normative. 

Assicurati di soddisfare i seguenti requisiti preliminari:
+ Hai accesso root agli host primari e in standby.
+ Hai le competenze tecniche per eseguire il comando `ipsec`.

**Per configurare un tunnel VPN tra un’istanza primaria e di replica in RDS Custom per Oracle**

1. Aggiungi i gruppi di sicurezza sia per l’istanza primaria che per l’istanza in standby all’elenco consentito utilizzando le seguenti regole:

   ```
   ACTION FLOW SOURCE PROTO PORT
   
   ALLOW ingress this-SG 50 (ESP) all (N/A)
   ALLOW egress this-SG 50 (ESP) all (N/A)
   
   ALLOW ingress this-SG 17 (UDP) 500 (IKE)
   ALLOW egress this-SG 17 (UDP) 500 (IKE)
   ```

1. Accedi come utente root.

   ```
   $ sudo su – root
   ```

1. Esegui i seguenti comandi sia sull’istanza primaria che sull’istanza in standby per inizializzare il database Network Security Services (NSS) sotto l’utente `root`.

   ```
   ipsec initnss --nssdir /etc/ipsec.d
   ```

1. Genera le chiavi RSA come segue:

   1. Nell’istanza primaria, genera le chiavi utilizzando uno dei seguenti comandi `ipsec`, a seconda della versione del sistema operativo in uso.

      ```
      ipsec newhostkey --nssdir /etc/ipsec.d       ## for Oracle Linux Version 8
      ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
      ```

   1. Ottieni la chiave pubblica, che ti serve per creare la configurazione. Nell’esempio seguente, l’istanza primaria è `left` perché in gergo `ipsec`, `left` si riferisce al dispositivo che stai configurando e `right` si riferisce al dispositivo all’altra estremità del tunnel.

      ```
      ipsec showhostkey --left --ckaid ckaid-returned-in-last-statement
      ```

   1. Nell’istanza in standby, genera le chiavi per l’istanza in standby. 

      ```
      ipsec newhostkey --nssdir /etc/ipsec.d       ## for Oracle Linux Version 8
      ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
      ```

   1. Ottieni la chiave pubblica per l’istanza in standby, necessaria per creare la configurazione. Nell’esempio seguente, l’istanza in standby è `right` perché si riferisce al dispositivo all’altra estremità del tunnel.

      ```
      ipsec showhostkey --right --ckaid ckaid-returned-in-last-statement
      ```

1. In base alle chiavi RSA ottenute, genera la configurazione. La configurazione è identica sia per l’istanza primaria che per l’istanza in standby. È possibile trovare l'indirizzo dell'istanza principale e IPv4 l'indirizzo dell'istanza IPv4 di standby nella AWS console.

   Sia sull’istanza primaria che sull’istanza in standby, salva la seguente configurazione nel file `/etc/ipsec.d/custom-fb-tunnel.conf`.

   ```
   conn custom-db-tunnel
    type=transport
    auto=add
    authby=rsasig
    left=IPV4-for-primary 
    leftrsasigkey=RSA-key-generated-on-primary
    right=IPV4-for-standby
    rightrsasigkey=RSA-key-generated-on-standby
   ```

1. Sia sull’istanza primaria che sull’istanza in standby, avvia il daemon `ipsec` su entrambi gli host.

   ```
   ipsec setup start
   ```

1. Avvia il tunnel sull’istanza primaria o sull’istanza in standby. L’output visualizzato dovrebbe essere simile al seguente:

   ```
   [root@ip-172-31-6-81 ~]# ipsec auto --up custom-db-tunnel
   181 "custom-db-tunnel" #1: initiating IKEv2 connection
   181 "custom-db-tunnel" #1: sent IKE_SA_INIT request to 172.31.32.196:500
   182 "custom-db-tunnel" #1: sent IKE_AUTH request {cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=DH19}
   003 "custom-db-tunnel" #1: initiator established IKE SA; authenticated peer '3584-bit PKCS#1 1.5 RSA with SHA1' signature using preloaded certificate '172.31.32.196'
   004 "custom-db-tunnel" #2: initiator established Child SA using #1; IPsec transport [172.31.6.81-172.31.6.81:0-65535 0] -> [172.31.32.196-172.31.32.196:0-65535 0] {ESP/ESN=>0xda9c4815 <0xb742ca42 xfrm=AES_GCM_16_256-NONE DPD=passive}
   [root@ip-172-31-6-81 ~]#
   ```