Switchover

È possibile manualmente selezionare una delle istanze MySQL come istanza primaria. Questo è detto switchover.

Quando si esegue uno switchover, il posizionamento preferito e il posizionamento corrente vengono modificati nel posizionamento appena selezionato dell'istanza primaria. L'indirizzo IP dell'endpoint del sistema DB non cambia. Se il posizionamento corrente cambia in uno switchover, si verifica un breve periodo di inattività mentre l'istanza primaria viene reindirizzata all'istanza appena avanzata, è necessario riaprire tutte le connessioni al database.
Nota

Nessun tempo di inattività si verifica quando il posizionamento corrente non cambia in uno switchover. Ciò si verifica quando si esegue lo switchover all'istanza primaria esistente. È possibile modificare il posizionamento preferito in quello corrente.
Di seguito è riportato il processo di switchover di un sistema DB che è stato creato o aggiornato dopo il 25 febbraio 2025 quando si verifica una modifica nel posizionamento corrente.
  • Le nuove transazioni vengono bloccate dal momento in cui viene avviato lo switchover.
  • L'esecuzione delle transazioni in esecuzione è consentita. Dopo 5 minuti, tutte le transazioni in esecuzione non completate vengono interrotte e sottoposte a rollback.
  • Subito dopo il completamento o l'interruzione di tutte le transazioni in esecuzione, l'endpoint del sistema DB viene assegnato all'istanza primaria appena avanzata.
  • Le connessioni esistenti all'istanza primaria precedente sono chiuse. L'applicazione client deve riaprire le nuove connessioni.
Di seguito è riportato il processo di switchover di un sistema DB creato prima del 25 febbraio 2025 e che non è stato aggiornato dopo il 25 febbraio 2025 quando si verifica una modifica nel posizionamento corrente.
  • Il completamento delle transazioni in esecuzione è consentito. Il processo di switchover attende il completamento e il commit di tutte le transazioni in esecuzione.
  • Le nuove transazioni vengono accettate e possono eseguire operazioni di lettura e scrittura, ma quando l'istanza MySQL viene promossa come nuova istanza primaria e la connessione all'istanza primaria precedente viene interrotta, viene eseguito il rollback di tutte le transazioni di cui non è stato eseguito il commit.
  • L'endpoint del sistema DB è assegnato all'istanza primaria appena avanzata.
  • Le connessioni esistenti all'istanza primaria precedente sono chiuse. L'applicazione client deve riaprire le nuove connessioni.
Nota

Dopo uno switchover, il nome e la posizione correnti del file di log binario del nuovo primario potrebbero essere diversi dal vecchio primario. Poiché i log binari di ogni istanza vengono gestiti in modo indipendente, ogni transazione registrata nei log binari può essere scritta in un file di log binario diverso e in una posizione in istanze diverse.

Scenari switchover

È possibile utilizzare lo switchover nei seguenti scenari:

  • Test dell'applicazione: per garantire il corretto funzionamento dell'applicazione con l'istanza primaria appena avanzata.
  • Prossimità del dominio di disponibilità: mentre i domini di errore sono contenuti nello stesso data center, i domini di disponibilità sono distribuiti in diversi data center. Anche se questi domini di disponibilità sono connessi a una rete a bassa latenza, potrebbe essere necessario eseguire il test di tale latenza spostando l'istanza primaria dal dominio di disponibilità al dominio di disponibilità per confermare la posizione migliore per l'istanza primaria. Ad esempio, il passaggio a un'istanza nello stesso dominio di disponibilità dell'applicazione che si connette al relativo dominio.

HeatWave Supporto cluster

Quando il posizionamento corrente cambia in uno switchover, il cluster HeatWave viene scollegato dall'istanza primaria precedente. Se la nuova istanza primaria si trova nello stesso dominio di disponibilità (AD) dell'istanza primaria precedente, lo stesso cluster HeatWave viene riutilizzato ed è collegato alla nuova istanza primaria. Se la nuova istanza primaria si trova in un dominio di disponibilità diverso, il cluster HeatWave esistente viene eliminato. Un nuovo cluster HeatWave deve essere creato nello stesso dominio di disponibilità della nuova istanza primaria ed è collegato alla nuova istanza primaria. I dati nel cluster HeatWave vengono recuperati automaticamente dal layer di storage o ricaricati dal sistema DB o dallo storage degli oggetti lakehouse.

Quando il posizionamento corrente cambia in uno switchover, una query con tempi di esecuzione lunghi scaricata nel cluster HeatWave può essere interrotta. In questo caso, è necessario riconnettersi ed eseguire di nuovo la query dopo che il cluster HeatWave è pronto.

Utilizzare uno dei metodi riportati di seguito per eseguire uno switchover.

Utilizzo di Console

Utilizzare la console per promuovere un'istanza MySQL secondaria come istanza primaria.

Questa attività richiede quanto segue:
  • Un sistema DB in esecuzione con funzione High Availability abilitata.
Per passare dall'istanza primaria corrente a una delle istanze secondarie, effettuare le operazioni riportate di seguito.
  1. Nella pagina della lista Sistemi DB selezionare il sistema DB da utilizzare. Se è necessaria assistenza per trovare la pagina della lista o il sistema DB, vedere Elenco dei sistemi DB - Uso della console.

    Viene visualizzata la pagina dei dettagli contenente informazioni sul sistema DB.

  2. Selezionare la scheda Details.
  3. Selezionare Switchover nel campo Dominio di disponibilità preferito o Dominio di errore preferito:
  4. Nella finestra di dialogo Switchover, selezionare il dominio di disponibilità o di errore, a seconda dell'impostazione, che contiene l'istanza a cui si desidera passare.
    Nota

    Il posizionamento corrente e il posizionamento preferito verranno impostati sul dominio di disponibilità o di errore selezionato. Se si seleziona il posizionamento corrente in cui si trova l'istanza primaria esistente, verrà aggiornato solo il posizionamento preferito senza incorrere in tempi di inattività.
  5. Selezionare Switchover.
Lo stato del sistema DB viene modificato in Aggiornamento e l'istanza selezionata diventa primaria.

Uso dell'interfaccia CLI

Utilizzare l'interfaccia della riga di comando per promuovere un'istanza MySQL secondaria all'istanza primaria.

Questa attività richiede quanto segue:
  • OCID di un sistema DB in esecuzione con High Availability abilitata.
  • Criterio che consente di aggiornare il sistema DB.
  • Installazione dell'interfaccia CLI configurata correttamente. Vedere Interfaccia della linea di comando.
Per passare dall'istanza primaria corrente a una delle istanze secondarie, effettuare le operazioni riportate di seguito.
  1. Aprire l'interfaccia della riga di comando ed elencare tutti i domini di disponibilità nell'area corrente:
    oci iam availability-domain list
  2. Eseguire lo switchover dell'istanza MySQL desiderata:
    • Per il dominio multi-disponibilità:
      oci mysql db-system update --db-system-id <DBSystemOCID> --availability-domain <SelectedAvailabilityDomain>
    • Per il dominio a disponibilità singola:
      oci mysql db-system update --db-system-id <DBSystemOCID> --fault-domain <SelectedFaultDomain>

    dove

    • db-system-id: specificare l'OCID del sistema DB.
    • availability-domain: specificare il nome del dominio di disponibilità in cui è presente l'istanza MySQL secondaria, che si desidera promuovere nel dominio primario.
    • fault-domain: specificare il nome del dominio di errore in cui è presente l'istanza MySQL secondaria, che si desidera promuovere nel dominio primario.
Lo stato del sistema DB viene modificato in Aggiornamento e l'istanza nel dominio di disponibilità o di errore selezionato diventa l'istanza primaria e l'endpoint di lettura/scrittura.