Verifica della configurazione

Al termine della configurazione DR, verificare immediatamente che la configurazione sia corretta eseguendo uno switchover completo o aprendo il sito secondario per la convalida. L'apertura del sito secondario per la convalida non avrà effetto sul sistema in esecuzione nel database primario.

Apri il secondario per la convalida

È possibile convalidare il sito in standby senza eseguire uno switchover completo convertendo il database in standby in database in standby snapshot. Ciò consente di avviare i server SOA secondari nel sito in standby e di verificare il sistema secondario. Qualsiasi modifica eseguita nel database del sito in standby mentre è in modalità standby snapshot verrà eliminata una volta convertita di nuovo in standby fisico. I dati principali non sono interessati dalle convalide del sito secondario.

Nota:

Questa operazione deve essere eseguita con cautela: se nel database sono presenti messaggi o composti in sospeso quando viene convertito in snapshot, i server SOA del sito in standby li elaboreranno all'avvio. Controllare che non vi siano azioni in sospeso nel database primario durante la conversione in standby snapshot. In caso contrario, rimuovere i record dalle tabelle SOA di runtime nel database di standby dopo la conversione nel database di standby snapshot e prima di avviare i server SOA del sito secondario. Fare riferimento alla sezione Rimozione di record dalle tabelle di runtime senza eliminare le tabelle per la procedura di convalida del sito in standby senza eseguire uno switchover.
  1. In qualità di utente oracle, utilizzare il broker Oracle Data Guard nell'host DB primario e convertire il secondario in standby di snapshot.
    [oracle@dbhost1~]$ dgmgrl sys/your_sys_password@primary_db_unqname
    DGMGRL> convert database secondary_db_unqname to snapshot standby
    
    Utilizzare il comando show configuration per verificare che la conversione sia stata eseguita correttamente.
  2. Verificare che non siano presenti azioni in sospeso nell'ambiente secondario.
    Se nel database primario sono presenti azioni in sospeso (transazioni, messaggi) quando il database di standby viene convertito in snapshot, i server SOA secondari tenteranno di elaborarle quando start.You potrà utilizzare lo script di troncamento SOA per rimuovere i record dalle tabelle di runtime SOA nel database secondario per eseguire il cleanup dei dati di runtime prima di avviare i server secondari. Eseguire questa azione con ATTENZIONE. Non troncare le tabelle nel database primario. Vedere Rimozione di record dalle tabelle di runtime senza eliminare le tabelle.
  3. Se non sono già attivi, avviare i sistemi Oracle HTTP Server nel sito secondario.
  4. Avviare il server di amministrazione nel sito secondario.
  5. Avviare i server gestiti secondari nel sito secondario.
    Utilizzare la console o gli script WebLogic per avviare i server gestiti secondari.
  6. Convalidare il sito secondario.

    Poiché questo non è uno switchover e il sito primario è ancora attivo, il nome frontend virtuale verrà risolto nell'indirizzo IP del load balancer del sito primario, pertanto per impostazione predefinita qualsiasi accesso al browser verrà reindirizzato al sito primario attivo.

    Per accedere direttamente ai servizi SOA del sito secondario, è necessario aggiornare il file /etc/hosts in un client controllato (ad esempio, un laptop), impostare il nome front-end virtuale da risolvere nell'indirizzo IP del load balancer front-end del sito secondario ed eseguire qualsiasi convalida da questo client.

    Nota:

    Verificare che il client utilizzato per le convalide non acceda al sistema tramite un proxy HTTP, poiché è possibile che il proxy HTTP continui a risolvere il nome front-end virtuale con l'indirizzo IP del load balancer del sito primario indipendentemente dal nome presente nell'/etc/hosts del client.

    I client non Linux potrebbero richiedere la reimpostazione della cache DNS locale prima che un browser risolva l'indirizzo IP utilizzando la voce del file host personalizzata.

    Una volta convalidato il sito secondario, andare al passo successivo per ripristinare il ruolo di standby.

    Nota:

    La convalida del sito secondario potrebbe richiedere del tempo.
  7. Arrestare i server gestiti e i server di amministrazione nel sito secondario.
    Utilizzare la console secondaria WebLogic per chiudere i server gestiti e il server di amministrazione nel sito secondario.
  8. In qualità di utente oracle, utilizzare il broker Oracle Data Guard nell'host del database primary e convertire di nuovo il database secondario in standby fisico.
    È necessario disporre della password di sistema e del nome univoco del database primario.
    [oracle@dbhost1 ~]$ dgmgrl sys/your_sys_password@primary_db_unqname
        DGMGRL> convert database secondary_db_unqname to physical standby
    Utilizzare show configuration per verificare la conversione.
  9. Ripristinare i file /etc/hosts aggiornati.
    Se sono stati aggiornati file /etc/hosts in un client in modo che punti al sito secondario per le convalide, ripristinare nuovamente il nome front-end virtuale in modo che punti di nuovo all'indirizzo IP front-end primario.

Nota:

ORA-01403: nessun dato trovato ORA-06512 errori

Durante la convalida del sito secondario come descritto in questa sezione (senza eseguire uno switchover completo, ovvero aprire il database in modalità standby istantanea) "ORA-01403: nessun dato trovato ORA-06512" può mostrare errori nei log dei server SOA in standby. Questi errori sono correlati al job di rimozione automatica SOA. Questi errori si verificano poiché i job nel database potrebbero avere dipendenze del ruolo DB (verranno definiti come abilitati solo quando il database si trova nel ruolo principale). Si tratta di un funzionamento previsto e desiderato che impedisce l'esecuzione dei job due volte (una volta nel database primario e una volta nel database in standby). Il job di rimozione automatica SOA viene definito con il ruolo principale, pertanto non viene visualizzato nella vista DBA_SCHEDULER_JOBS quando il database è in modalità standby istantanea. Il file database_role definito per ogni job può essere visualizzato nella vista DBA_SCHEDULER_JOB_ROLE. In sintesi, questi errori possono essere ignorati finché vengono visualizzati nel sistema in standby. Il job dello scheduler per la rimozione automatica SOA verrà eseguito sul database se e solo se l'istanza ne modifica il ruolo in PRIMARY.

Eseguire uno switchover

Uno switchover è un'operazione pianificata in cui un amministratore ripristina i ruoli dei due siti. Dopo uno switchover, il sistema primario diventa secondario e il sistema secondario diventa primario. L'esecuzione di uno switchover comporta tempi di inattività nel sito primario.
Prima di eseguire uno switchover in una configurazione DR ibrido SOA, propagare le modifiche di configurazione in sospeso. Assicurarsi che non vi siano modifiche replicate nel sito secondario in sospeso.
  1. Disabilitare qualsiasi replica pianificata durante l'esecuzione dello switchover in quanto potrebbe non riuscire e interferire con l'operazione di switchover stessa.
  2. Arrestare i sistemi Oracle HTTP Server nel sito principale.
  3. Arrestare i server nel sito primario.
    Utilizzare la console o gli script del server di amministrazione WebLogic per arrestare i server WebLogic nel sito primario.

    Nota:

    Il server di amministrazione nel sito principale può rimanere attivo durante lo switchover. Tuttavia, si consiglia di arrestarlo quando il sito è in standby perché è previsto che la configurazione del dominio nel sito in standby venga sostituita dalla configurazione principale durante il ciclo di vita. Se il server di amministrazione è attivo, verrà eseguita con una configurazione non più valida.
  4. Eseguire lo switchover del nome DNS frontend.

    Eseguire il push DNS richiesto nel server DNS che ospita i nomi utilizzati dal sistema o modificare la risoluzione dell'host del file nei client per puntare il nome virtuale frontend del sistema all'IP pubblico utilizzato dal load balancer nel sito secondario.

    Per gli scenari in cui il DNS viene utilizzato per la risoluzione front-end esterna (ad esempio, il DNS OCI o il DNS commerciale), puoi utilizzare un'API per eseguire il push della modifica. Per vedere un esempio che esegue il PUSH di questa modifica in un DNS OCI, andare a GitHub, ad esempio script.

    Tenere presente che il valore TTL della voce DNS influirà sull'RTO dello switchover: se il TTL è elevato (ad esempio, 20 minuti), la modifica DNS richiederà tale tempo per essere efficace nei client. L'utilizzo di valori TTL inferiori renderà questo metodo più rapido, ma ciò può causare un sovraccarico poiché i client avranno più spesso accesso al DNS anziché utilizzare nomi inseriti nella cache. Un buon approccio consiste nell'impostare temporaneamente il TTL su un valore basso (ad esempio, 1 minuto), prima della modifica del DNS. Quindi eseguire la modifica e una volta completata la procedura di switchover, ripristinare di nuovo il valore originale del TTL.

  5. In qualità di utente oracle, utilizzare il broker Oracle Data Guard nell'host del database primario per eseguire lo switchover del database.
    È necessario disporre della password di sistema e del nome univoco del database primario.
    [oracle@dbhost1~]$ dgmgrl sys/your_sys_password@primary_db_unqname
    DGMGRL> switchover to secondary_db_unqname
  6. Se non sono già attivi, avviare i sistemi Oracle HTTP Server nel sito secondario (nuovo primario).
  7. Avviare il server di amministrazione nel sito secondario (nuovo principale) oppure riavviare il server se è già stato avviato.
    L'avvio del server di amministrazione abilita le modifiche alla configurazione che sono state replicate mentre si trattava di un database in standby per renderle effettive.
  8. Avviare i server gestiti secondari nel sito secondario (nuovo database primario).
    Utilizzare la console o gli script WebLogic per avviare i server gestiti secondari.