DG Broker: Resolviendo Inconsistencias de Configuración
En un caso de prueba que estabamos evaluando tiempos de performance de servicios, discos y por hecho la base de datos. El analisis consistia en que impacto tendría la aplicación en la base corriendo con disco rapidos y lentos. Sobre esas mismos tests, uno en particular consistia en cambiar el modo de trabajo del dataguard de MAXIMUM AVAILAVILITY a MAXIMUM PERFORMANCE.
Como pasamos de AVAILAVILITY a PERFORMANCE, aumenta el riego de DATA LOST, es por ello que configuramos el parámetro archive_lag_target en 1200 segundos para que en el momento de que haya pocas transacciones el log se cierre de todas maneras y nos asegure la menor perdidad de datos en caso de tener que pasar a contingencia.
SQL> sho parameter archive_lag NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ archive_lag_target integer 1200 SQL>
Cuando trabajas con Dataguard Broker, también debe ser seteado este parametro en la configuración, caso contrario en el Enterprise Manager nos aparecerá un warning en la configuración del dataguard broker.
Ahora bien, como podemos ir en detalle mas profundo en ese error ? Mediante la linea de comandos dgmrl podemos verificar y resolver el problema, acorde al parámetro que tenga problemas.
Primero seteamos las variables de entorno de la base a verificar.
[oracle@supernova01lx bin]$ . DARP1.sh
Nos logueamos a la consola con el comando dgmgrl, y ahi procedemos a la instancia con el usuario sys.
[oracle@supernova01lx bin]$ dgmgrl DGMGRL for Linux: Version 10.2.0.4.0 - 64bit Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL> connect sys Password: Connected.
Ahora vamos a sacar un reporte del estado de la configuración para la instancia que nos genera el problema y su correspondiente ORA.
DGMGRL> SHOW DATABASE 'DARP1' 'StatusReport'; STATUS REPORT INSTANCE_NAME SEVERITY ERROR_TEXT DARP11 WARNING ORA-16714: the value of property ArchiveLagTarget is inconsistent with the database setting DARP12 WARNING ORA-16714: the value of property ArchiveLagTarget is inconsistent with the database setting
Como podemos ver estamos teniendo una inconsistencia con el parametro ArchiveLagTarget que esta impactado en la base y en memoria, pero no en la configuracion del broker.
Profundicemos el detalle de error con los siguientes comandos:
DGMGRL> SHOW DATABASE 'DARP1' 'InconsistentProperties'; INCONSISTENT PROPERTIES INSTANCE_NAME PROPERTY_NAME MEMORY_VALUE SPFILE_VALUE BROKER_VALUE DARP11 ArchiveLagTarget 1200 1200 0 DARP12 ArchiveLagTarget 1200 1200 0
Efectivamente vemos que para el parámetro en el campo BROKER_VALUE, no existe valor alguno.
Si existiendo y siendo iguales en MEMORY_VALUE y SPFILE_VALUE.
Editamos la configuración del broker y colocamos el valor correspondiente al parámetro:
DGMGRL> EDIT DATABASE 'DARP1' SET PROPERTY 'ArchiveLagTarget'=1200; Property "ArchiveLagTarget" updated
Como fue seteado correctamente podemos realizar el control nuevamente y verificar la consistencia del parámetro y la desaparición del warning.
DGMGRL> SHOW DATABASE 'DARP1' 'InconsistentProperties'; INCONSISTENT PROPERTIES INSTANCE_NAME PROPERTY_NAME MEMORY_VALUE SPFILE_VALUE BROKER_VALUE DGMGRL> SHOW DATABASE 'DARP1' 'StatusReport'; STATUS REPORT INSTANCE_NAME SEVERITY ERROR_TEXT
Ahora tenemos consistencia en Broker y en la Base.
Nos vemos en la proxima !