Come è possibile monitorare e risolvere i ritardi di replica quando si utilizza la replica di lettura per un'istanza Amazon RDS for Oracle?

Ultimo aggiornamento: 18-11-2021

Desidero monitorare e risolvere i ritardi di replica quando utilizzo la replica di lettura per la mia istanza database Amazon Relational Database Service (Amazon RDS) for Oracle.

Breve descrizione

Puoi configurare la replica di lettura per l'istanza RDS for Oracle utilizzando la licenza Oracle Active Data Guard. Quando si crea una replica di lettura per l'istanza, le istanze di replica primaria e di lettura operano nella modalità di massima prestazione di Data Guard. Per ulteriori informazioni, consulta la documentazione Oracle per le modalità di protezione di Oracle Data Guard.

È possibile utilizzare la replica di lettura per scaricare le operazioni di lettura dall'istanza primaria. È inoltre possibile promuovere la replica di lettura come istanza database autonoma in caso di ripristino di emergenza. Per ulteriori informazioni, consulta Promozione di una replica di lettura come istanza di database autonomo.

Prima di configurare una replica di lettura per la tua istanza, assicurati di controllare le limitazioni relative alla versione e alle licenze. Inoltre, consulta Requisiti e limitazioni varie per le repliche Oracle.

Risoluzione

Tieni presente quanto segue quando utilizzi la replica di lettura per l'istanza RDS for Oracle:

  • Amazon RDS è un servizio gestito. Pertanto, il processo di replica è gestito da un utente RDS_DATAGUARD interno. Questo utente è configurato quando si crea un'istanza di replica di lettura.
  • Non puoi interrompere il processo di recupero gestito dall'account utente amministratore.
  • Non puoi configurare o modificare la replica di lettura di Oracle Data Guard Broker for RDS.
  • Non puoi ritardare la replica dei dati da un'istanza primaria a un'istanza di replica di lettura.
  • Le modifiche apportate al gruppo di opzioni vengono propagate all'istanza di replica di lettura. Se le repliche di lettura sono configurate nella stessa regione, vengono associate allo stesso gruppo di opzioni. Per ulteriori informazioni, consulta Requisiti e limitazioni delle opzioni per le repliche Oracle.

Monitoraggio del ritardo di replica

Se la replica non riesce a tenere il passo con l'istanza primaria, è possibile che si verifichi un ritardo di replica. Per monitorare il ritardo di replica in Amazon CloudWatch, visualizza il parametro di Amazon RDS ReplicaLag. Questo parametro riporta il ritardo di replica in millisecondi. Per maggiori informazioni, consulta Monitoraggio della replica di lettura e Visualizzazione di parametri e dimensioni di Amazon RDS.

Per monitorare e risolvere i problemi del ritardo di replica in Active Data Guard, completa le seguenti operazioni:

Esegui la query riportata per verificare i parametri di ritardo di Data Guard:

sql > SELECT name,value,datum_time,time_computed FROM v$dataguard_stats;

Esegui la query riportata per verificare se esiste un gap nel log dell'archivio tra le istanze di replica primaria e di replica di lettura:

sql >  SELECT archived.thread# THREAD,max(archived.sequence#) PRIMARY,max(applied.sequence#) STANDBY,(max(archived.sequence#) - max(applied.sequence#)) GAP FROM v$archived_log archived,v$archived_log applied WHERE archived.thread#=applied.thread# AND applied.applied='YES' GROUP BY archived.thread#;

Nota: RDS for Oracle non avvisa l'utente quando si verifica un ritardo di replica. Per inviare notifiche ogni volta che la replica di lettura non tiene il passo con l'istanza principale, crea un allarme CloudWatch per il parametro RDS ReplicaLag.

Risoluzione dei problemi relativi al ritardo di replica

  • Se l'istanza primaria non è disponibile, controlla lo stato corrente dell'istanza utilizzando la console Amazon RDS. Inoltre, controlla se l'istanza è accessibile da qualsiasi client SQL. Se l'istanza primaria non è disponibile (ad esempio: l'istanza è in stato incompatible-parameters), la replica di lettura non riesce a tenere il passo con l'istanza primaria e rimane indietro. Controlla gli eventi di Amazon RDS per scoprire perché l'istanza primaria non è disponibile. Quindi, correggi l'istanza per assicurarti che sia accessibile.
  • Se l'istanza primaria è sottoposta a un sovraccarico elevato della CPU o della memoria, potrebbe verificarsi un ritardo di trasporto elevato. Monitora i parametri di CloudWatch per l'istanza. Inoltre, utilizza il monitoraggio avanzato per identificare se un particolare processo causa un picco di utilizzo insolito della memoria o della CPU. Per ulteriori informazioni, consulta Visualizzazione dei parametri del sistema operativo nella console RDS. Quando il carico della CPU/memoria si riduce, la replica potrebbe tenere il passo con l'istanza primaria. Se il sovraccarico è quello previsto per l'istanza, è possibile scegliere di aumentare la classe di istanza, IOPS o la velocità effettiva in base alle esigenze.
  • Monitora i file alert.log per l'istanza primaria e leggi la replica per identificare avvisi o errori ORA che potrebbero influire sui processi di trasporto o applicazione. Per ulteriori informazioni sull'accesso all'alert log per le istanze RDS, consulta la sezione File di log del database Oracle. Risolvi gli errori identificati per ridurre il ritardo.
  • Quando si ridimensiona o si modifica il numero di redo log nell'istanza primaria, le modifiche non vengono replicate nell'istanza di standby. Per replicare queste modifiche, è necessario creare nuovamente l'istanza di standby. Una best practice consiste nell’aggiornare i parametri del redo log prima di configurare la replica di lettura. Per ulteriori informazioni, consulta Modifica della configurazione di registrazione.
  • La configurazione dell'istanza di replica di lettura con una capacità di elaborazione o IOPS inferiore rispetto all'istanza primaria potrebbe rallentare l'applicazione delle modifiche nella replica di lettura, con conseguente ritardo di replica. Monitora i parametri RDS utilizzando CloudWatch per verificare la limitazione in entrambe le istanze. Se l'istanza primaria non ha alcuna limitazione e la replica di lettura subisce la limitazione, identifica la risorsa che viene limitata. Quindi, ridimensiona l’archiviazione o la configurazione di calcolo in base alle esigenze.