Problema
Al llegar un alerta con el 88 % del /u01 catalogado como un critical, enviado por la herramienta de monitoreo #OracleCloudControl13 , comenzamos por revisar los indicadores de Logs, traces que ya tenemos rgistrados con logrotate y con adrci para su depuracion automatizada.
A continuacion mostramos el estado de volumenes ocupados ,siendo los mismos donde almacenamos los binarios de Oracle en cada uno de los nodos miembros del cluster.
[oracle@srvracpro01]$ df -h /u01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroupSys-LogVolU01 100G 78G 22G 78% /u01 [oracle@srvracpro02]$ df -h /u01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroupSys-LogVolU01 100G 81G 19G 81% /u01
Analizemos el problema:
Luego de la revision de los paths en el ORACLE_HOME sin encontrar problemas, procedemos sobre el GRID_HOME. Luego de la ejecucion del comando du * -sch encontramos directorios con mucho volumen.
Nos dirigimos al $GRID_HOME y verificamos los tamaños de los archivos y nos observamos uno en particular, el archivo Crfclust.Bdb que ocupa aproximadamente 48.5G:
[oragrid@srvracpro01]$ pwd /u01/app/grid/11.2.0.4/crf/db/srvoracd12b [oragrid@srvoracd12b srvoracd12b]$ ls -lh | grep bdb -rw-r----- 1 root root 115M Jan 30 17:28 crfalert.bdb -rw-r----- 1 root root 48.5G Jan 30 17:28 crfclust.bdb -rw-r----- 1 root root 8.0K Jan 29 11:54 crfconn.bdb -rw-r----- 1 root root 126M Jan 30 17:28 crfcpu.bdb -rw-r----- 1 root root 114M Jan 30 17:28 crfhosts.bdb -rw-r----- 1 root root 135M Jan 30 17:28 crfloclts.bdb -rw-r----- 1 root root 88M Jan 30 17:28 crfts.bdb -rw-r----- 1 root root 8.0K Jan 2 16:58 repdhosts.bdb -rw-r--r-- 1 root root 115M Jan 30 16:51 srvoracd12b.ldb [oragrid@srvoracd12b srvoracd12b]$
Entendiendo el problema
Este es un problema que viene derivado del proceso monitor Cluster Health Monitor (CHM) y la base de datos relacionada al proceso, que incrementa notoriamente el espacio.
Solucion
Debemos rezisear el tamaño del file.
Revisemos los parametros actuales que se encuentran en el archivo de configuracion en :
$GRID_HOME/crf/admin/crf<NODE_NAME_SERVER>.ora
BDBLOC=default HOSTS=srvracpro02,srvracpro01 MYNAME=srvracpro02 CLUSTERNAME=srvracpro USERNAME=oragrid CRFHOME=/u01/app/grid/11.2.0.4 srvoracp12a 5=127.0.0.1 0 srvoracp12a 1=127.0.0.1 0 srvoracp12a 0=10.70.40.172 61020 srvoracp11a 5=127.0.0.1 0 srvoracp11a 1=127.0.0.1 0 srvoracp11a 0=10.70.40.171 61020 srvoracp11a 2=10.70.40.171 61021 srvoracp12a 2=10.70.40.172 61021 PINNEDPROCS=ohasd,oraagent,evmd,gpnpd,gipcd,pdflush,ocssd,klogd,crsd DEAD=srvracpro01,srvracpro02 BDBSIZE=61500 REPLICA=srvoracp12a STATE=mutated MASTERPUB=10.70.60.61 MASTER=srvracpro01 ACTIVE=srvracpro01,srvracpro02
Para poder resizear esta base de datos donde escribe el CHM debemos realizar los siguientes pasos
1. Con el usuario grid del sistema operativo, en el primer nodo, ejecutamos el siguiente comando:
$ oclumon manage -repos resize 259200 srvracpro01 --> retention check successful srvracpro02 --> retention check successful New retention is 259200 and will use 4516300800 bytes of disk space CRS-9115-Cluster Health Monitor repository size change completed on all nodes.
Ahora quedo configurado en un menor tamaño.
CRS-9011-Error manage, despues del Resize
En el caso de que falle el proceso de resizeado, recomendamos seguir con los siguientes pasos.
Despues del resizeo, debemos chequear el tamaño del repositorio, y este falla con el siguiente error:
$ oclumon manage -get repsize CRS-9011-Error manage: Failed to initialize connection to the Cluster Logger Service
Esto ocurre por que el CHM repository DBD es mas grande que el periodo retencion:
Para resolver este issue, es necesario:
- Restartear el service crf en ambos nodos de poder resolver el problema:
$ crsctl stop res ora.crf -init CRS-2673: Attempting to stop 'ora.crf' on 'srvracpro01' CRS-2677: Stop of 'ora.crf' on 'srvracpro01' succeeded $ crsctl start res ora.crf -init
$ crsctl stop res ora.crf -init CRS-2673: Attempting to stop 'ora.crf' on 'srvracpro02' CRS-2677: Stop of 'ora.crf' on 'srvracpro02' succeeded $ crsctl start res ora.crf -init
4. Revisemos que el archivo es mas pequeño ahora:
$ cd /u01/app/11.2.0.3/grid/crf/db/oda1 $ ls -lrth | grep bdb -rw-r----- 1 root root 8.0K Jan 17 08:04 crfhosts.bdb -rw-r----- 1 root root 8.0K Jan 17 08:04 crfconn.bdb -rw-r----- 1 root root 128K Jan 17 08:04 crfclust.bdb <====== -rw-r----- 1 root root 8.0K Jan 17 08:04 crfts.bdb -rw-r----- 1 root root 8.0K Jan 17 08:04 crfloclts.bdb -rw-r----- 1 root root 8.0K Jan 17 08:04 crfcpu.bdb -rw-r----- 1 root root 8.0K Jan 17 08:04 crfalert.bdb
y el Filesystem reclamara el espacio ganado:
$ df -h /u01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroupSys-LogVolU01 97G 29G 64G 32% /u01
Notas Recomendadas
Estas notas de MOS estan relacionadas al incidente y recomiedo dar una lectura:
Oracle Cluster Health Monitor (CHM) using large amount of space (more than default) (Doc 1343105.1)
db_delete: BDB grown beyond user desired limits disabling loggerd (Doc ID 1574492.1)