

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

# Esecuzione di uno switchover Oracle Data Guard
<a name="oracle-replication-switchover"></a>

Uno *switchover* è un'inversione di ruolo tra un database primario e un database in standby. Durante uno switchover, il database primario originale passa a un ruolo di standby, mentre il database in standby originale passa al ruolo primario.

In un ambiente Oracle Data Guard, un database primario supporta uno o più database in standby. È possibile eseguire una transizione di ruolo gestita e basata sullo switchover da un database primario a un database in standby. Uno *switchover* è un'inversione di ruolo tra un database primario e un database in standby. Durante uno switchover, il database primario originale passa a un ruolo di standby, mentre il database in standby originale passa al ruolo primario.

**Topics**
+ [Panoramica sullo switchover Oracle Data Guard](#oracle-replication-switchover.overview)
+ [Requisiti per lo switchover Oracle Data Guard](oracle-switchover.preparing.md)
+ [Avvio dello switchover Oracle Data Guard](oracle-switchover.initiating.md)
+ [Monitoraggio dello switchover Oracle Data Guard](oracle-switchover.monitoring.md)

## Panoramica sullo switchover Oracle Data Guard
<a name="oracle-replication-switchover.overview"></a>

Amazon RDS supporta una transizione di ruolo completamente gestita e basata sullo switchover per le repliche Oracle Database. È possibile avviare uno switchover solo a un database in standby montato o aperto in modalità di sola lettura. 

Le repliche possono risiedere in zone di disponibilità separate Regioni AWS o diverse (AZs) di una singola regione. Regioni AWS Sono tutte supportate. 

![\[Switchover di un’istanza in standby per convertirla in istanza database primaria\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/read-replica-switchover.png)


Lo switchover è diverso dalla promozione delle repliche di lettura. In uno switchover, le istanze database di origine e di replica si scambiano i ruoli. In una promozione, una replica di lettura diventa un’istanza database di origine, mentre l’istanza database di origine non diventa una replica. Per ulteriori informazioni, consulta [Promozione di una replica di lettura a istanza database standalone](USER_ReadRepl.Promote.md).

**Topics**
+ [Vantaggi dello switchover Oracle Data Guard](#oracle-replication-switchover.overview.benefits)
+ [Versioni di Oracle Database supportate](#oracle-replication-switchover.overview.engine-support)
+ [Costo dello switchover Oracle Data Guard](#oracle-replication-switchover.overview.cost)
+ [Come funziona lo switchover Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works)

### Vantaggi dello switchover Oracle Data Guard
<a name="oracle-replication-switchover.overview.benefits"></a>

Proprio come per le repliche di lettura RDS per Oracle, uno switchover gestito utilizza Oracle Data Guard. L'operazione è stata ideata in modo da annullare il rischio di perdite di dati. Amazon RDS automatizza i seguenti passaggi dello switchover:
+ Inverte i ruoli del database primario e del database in standby specificato, impostando il nuovo database in standby sullo stesso stato (montato o di sola lettura) del database in standby originale
+ Garantisce la consistenza dei dati
+ Conserva la configurazione di replica dopo la transizione
+ Supporta inversioni ripetute, consentendo al nuovo database in standby di tornare al ruolo primario originale

### Versioni di Oracle Database supportate
<a name="oracle-replication-switchover.overview.engine-support"></a>

Lo switchover di Oracle Data Guard è supportato in Oracle Database versione 19c e successive.

### Costo dello switchover Oracle Data Guard
<a name="oracle-replication-switchover.overview.cost"></a>

La funzionalità di switchover di Oracle Data Guard non comporta costi aggiuntivi. Oracle Database Enterprise Edition include il supporto per i database in standby in modalità montata. Per aprire i database in standby in modalità di sola lettura, è necessaria l'opzione Oracle Active Data Guard.

### Come funziona lo switchover Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works"></a>

Lo switchover di Oracle Data Guard è un'operazione completamente gestita. Per avviare lo switchover per un database in standby, esegui il comando CLI `switchover-read-replica`. Amazon RDS modifica quindi i ruoli di database primario e in standby nella configurazione di replica.

I ruoli di database *in standby originale* e *primario originale* esistono già prima dello switchover. I ruoli di database *nuovo in standby* e *nuovo primario* esistono dopo lo switchover. Una *replica bystander* è un database di replica che funge da database in standby nell'ambiente Oracle Data Guard e che non cambia ruolo.

**Topics**
+ [Fasi dello switchover Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works.during-switchover)
+ [Dopo lo switchover Oracle Data Guard](#oracle-replication-switchover.overview.how-it-works.after-switchover)

#### Fasi dello switchover Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.during-switchover"></a>

Per effettuare lo switchover, Amazon RDS deve eseguire le seguenti operazioni:

1. Bloccare le nuove transazioni sul database primario originale. Durante lo switchover, Amazon RDS interrompe la replica per tutti i database nella configurazione di Oracle Data Guard in uso. Durante lo switchover, il database primario originale non è in grado di elaborare richieste di scrittura.

1. Inviare e applicare le transazioni non applicate al database di standby originale.

1. Riavviare il nuovo database in standby in modalità di sola lettura o montata. La modalità dipende dallo stato di apertura del database in standby originale prima dello switchover.

1. Aprire il nuovo database primario in read/write modalità.

#### Dopo lo switchover Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover"></a>

Amazon RDS scambia i ruoli dei database primario e in standby. Sarà tua la responsabilità di riconnettere l'applicazione e di eseguire qualsiasi altra configurazione desiderata.

**Topics**
+ [Criteri di successo](#oracle-replication-switchover.overview.how-it-works.after-switchover.success)
+ [Connessione al nuovo database primario](#oracle-replication-switchover.overview.how-it-works.after-switchover.connection)
+ [Configurazione del nuovo database primario](#oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration)

##### Criteri di successo
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success"></a>

Lo switchover Oracle Data Guard ha esito positivo quando il database in standby originale esegue le seguenti operazioni:
+ Passaggio al suo ruolo di nuovo database primario
+ Completamento della riconfigurazione

Per ridurre i tempi di inattività, il nuovo database primario diventa attivo il prima possibile. Poiché Amazon RDS configura le repliche bystander in modo asincrono, queste repliche potrebbero diventare attive dopo il database primario originale.

##### Connessione al nuovo database primario
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.connection"></a>

Amazon RDS non propagherà le attuali connessioni di database al nuovo database primario dopo lo switchover. Una volta completato lo switchover Oracle Data Guard, ricollega l'applicazione al nuovo database primario.

##### Configurazione del nuovo database primario
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration"></a>

Per effettuare lo switchover al nuovo database primario, Amazon RDS modifica la modalità di apertura del database in standby originale. Il cambio di ruolo è l'unica modifica apportata al database. Amazon RDS non configura le caratteristiche, come la replica Multi-AZ.

Se si esegue lo switchover a una replica tra più regioni con opzioni diverse, il nuovo database primario conserva le proprie opzioni. Amazon RDS non eseguirà la migrazione delle opzioni sul database principale originale. Se il database primario originale aveva opzioni come SSL, NNE, OEM e OEM\$1AGENT, Amazon RDS non le propaga al nuovo database primario.

# Requisiti per lo switchover Oracle Data Guard
<a name="oracle-switchover.preparing"></a>

Prima di iniziare lo switchover Oracle Data Guard, verifica che il tuo ambiente di replica soddisfi i seguenti requisiti:
+ Il database in standby originale è montato o aperto in modalità di sola lettura.
+ I backup automatici sono abilitati sul database di standby originale.
+ Il database primario e il database in standby originali sono in stato `available`.
+ Il database primario e il database in standby originali non hanno azioni di manutenzione in sospeso in nessuno degli stati seguenti: `required`, `next window` o `in progress`. Le azioni in questi stati bloccano lo switchover. Per informazioni su come verificare lo stato degli aggiornamenti di manutenzione in sospeso, consulta [Visualizzazione degli aggiornamento di manutenzione in sospeso](USER_UpgradeDBInstance.Maintenance.md#USER_UpgradeDBInstance.Maintenance.Viewing).

  Le azioni di manutenzione in stato `available` non bloccano lo switchover. RDS per Oracle rilascia spesso aggiornamenti del sistema operativo (OS) in stato `available`. Questi aggiornamenti del sistema operativo in sospeso non bloccano uno switchover a meno che non siano pianificati per la successiva finestra di manutenzione, per la quale viene impostato lo stato `next window`.
**Nota**  
Se desideri posticipare un’azione di manutenzione pianificata in modo da poter eseguire uno switchover, scegli **Azioni** e quindi **Rinvia l’aggiornamento** nella console RDS. Puoi anche evitare il blocco di uno switchover applicando un’azione di manutenzione in sospeso o spostando la finestra di manutenzione su un intervallo anteriore allo switchover. Per ulteriori informazioni, consulta l’articolo re:Post [How to remove RDS pending maintenance items](https://repost.aws/questions/QUV3dBjmVVRnmVV1pAlzjx1w/how-to-remove-rds-pending-maintenance-item).
+ Il database in standby originale è nello stato di replica.
+ Non si sta tentando di avviare uno switchover durante un ciclo di vita dello switchover per il database primario o il database in standby. Se un database di replica viene riconfigurato dopo uno switchover, Amazon RDS impedisce di avviare un altro switchover.
**Nota**  
Una *replica bystander* è una replica nella configurazione di Oracle Data Guard che non è la destinazione dello switchover. Le repliche bystander possono avere qualsiasi stato durante il passaggio.
+ Il database in standby originale ha una configurazione il più vicino possibile al database primario originale. Si supponga uno scenario in cui i database in standby primario e originale abbiano opzioni diverse. Una volta completato lo switchover, Amazon RDS non riconfigura automaticamente il nuovo database primario in modo che abbia le stesse opzioni del database primario originale.
+ È necessario configurare l'implementazione multi-AZ desiderata prima di avviare uno switchover. Amazon RDS non gestisce multi-AZ come parte dello switchover. L'implementazione multi-AZ rimane così com'è.

  Supponi che db\$1maz sia il database principale in un'implementazione multi-AZ e db\$1saz sia una replica single-AZ. Avvii uno switchover da db\$1maz a db\$1saz. Al termine, db\$1maz è un database di replica multi-AZ e db\$1saz è un database primario Single-AZ. Il nuovo database principale ora non è protetto da un'implementazione multi-AZ.
+ In preparazione allo switchover tra regioni, il database principale non utilizza lo stesso gruppo di opzioni di un'istanza database al di fuori della configurazione di replica. Affinché lo switchover tra regioni venga eseguito, il database principale corrente e le relative repliche di lettura devono essere le uniche istanze database a utilizzare il gruppo di opzioni del database principale corrente. In caso contrario, Amazon RDS impedisce lo switchover.

# Avvio dello switchover Oracle Data Guard
<a name="oracle-switchover.initiating"></a>

È possibile eseguire lo switchover di una replica di lettura RDS per Oracle al ruolo primario e della precedente istanza database primaria a un ruolo di replica.

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

**Per eseguire lo switchover di una replica di lettura Oracle al ruolo DB primario**

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 di lettura mostra la **Replica** nella colonna **Role (Ruolo)**.

1. Scegli la replica di lettura per cui eseguire lo switchover al ruolo primario.

1. In **Actions** (Operazioni), scegli **Switch over replica** (Esegui switchover replica).

1. Scegli **I acknowledge** (Accetto). Scegli quindi **Switch over replica** (Esegui switchover replica).

1. Nella pagina **Databases** (Database), monitora lo stato di avanzamento dello switchover.  
![\[Monitora l'avanzamento dello switchover Oracle Data Guard.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/oracle-switchover-progress.png)

   Una volta completato lo switchover, il ruolo di destinazione dello switchover cambia da **Replica** a **Source** (Origine).  
![\[I database di origine e di replica cambiano ruolo.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/oracle-switchover-complete.png)

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

Per eseguire lo switchover di una replica Oracle al ruolo DB primario, utilizza il comando AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/switchover-read-replica.html](https://docs.aws.amazon.com/cli/latest/reference/rds/switchover-read-replica.html). Nei seguenti esempi, la replica Oracle denominata *replica-to-be-made-primary* viene impostata come nuovo database primario.

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

```
aws rds switchover-read-replica \
    --db-instance-identifier replica-to-be-made-primary
```
Per Windows:  

```
aws rds switchover-read-replica ^
    --db-instance-identifier replica-to-be-made-primary
```

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

Per eseguire lo switchover di una replica Oracle al ruolo database primario, richiama l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html) dell'API RDS con il parametro obbligatorio `DBInstanceIdentifier`. Questo parametro specifica il nome della replica Oracle a cui si desidera assegnare il ruolo di DB primario.

# Monitoraggio dello switchover Oracle Data Guard
<a name="oracle-switchover.monitoring"></a>

Per verificare lo stato delle istanze, utilizza il comando AWS CLI `describe-db-instances`. Il seguente comando verifica lo stato dell'istanza database *orcl2*. Questo database, che era un database in standby prima dello switchover, è il nuovo database primario dopo lo switchover.

```
aws rds describe-db-instances \
    --db-instance-identifier orcl2
```

Per confermare il corretto completamento dello switchover, esegui una query su `V$DATABASE.OPEN_MODE`. Verifica che il valore del il nuovo database primario sia `READ WRITE`.

```
SELECT OPEN_MODE FROM V$DATABASE;
```

Per cercare gli eventi relativi allo switchover, usa il comando AWS CLI `describe-events`. L'esempio seguente cerca gli eventi nell'istanza *ocl2*.

```
aws rds describe-events \
    --source-identifier orcl2 \
    --source-type db-instance
```