RAC con archivos bdb grandes

Este post aplica sólo para la versión 11.2.0.4 de la base de datos Oracle en modo RAC (Real Application Cluster), no tengo referencia de que aplique en otras versiones; si es así, entonces deberás probar antes en un ambiente no productivo y/o investigar en My Oracle Support.

El problema presentado, es que hay unos archivos de extensión bdb que tienen un tamaño grande ocasionado por un bug en esta versión, de estos, hay uno especial llamado crfclust.bdb que puede llegar a tener un tamaño bastante grande.

Aquí podrán ver cómo solucionar este pequeño problema.

Estos archivos bdb son una especie de base de datos del Cluster Health Monitor, una herramienta que se encarga de vigilar al Clusterware que da vida al RAC.

La intención aquí, es la de disminuir la retención de información para evitar que crezcan tanto dichos archivos.

Primero hay que ver que se tiene una ocupación determinada en el file system donde se encuentran los archivos mencionados:

oracle@racnode1$ df -hP /u01

Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1/vg01         77G   51G   23G  69% /u01

Esto se confirma al ver qué directorio está usando más espacio, esto se verifica al revisar directorio por directorio cuál está ocupando más espacio:

oracle@racnode1$ ls -d */ | xargs du -sh | sort -h
...
717M    lib/
817M    bin/
1,2G    install/
2,4G    log/
38G     crf/

Al entrar al directorio crf y sus subdirectorios, se llega al que nos interesa:

oracle@racnode1$ cd crf/db/racnode1/
oracle@racnode1$ pwd
/u01/crs/oracle/product/11.2.0/grid/crf/db/racnode1

En este, hay  que listar los archivos del tipo bdb:

oracle@racnode1$ ls -lhrt *.bdb
total 38G
-rw-r----- 1 root root 8,0K mar  4 11:46 repdhosts.bdb
-rw-r--r-- 1 root root 115M mar  4 11:47 racnode1.ldb
-rw-r----- 1 root root 8,0K mar  4 11:47 crfconn.bdb
-rw-r----- 1 root root 318M may 26 12:28 crfts.bdb
-rw-r----- 1 root root 439M may 26 12:28 crfloclts.bdb
-rw-r----- 1 root root  36G may 26 12:28 crfclust.bdb   <----
-rw-r----- 1 root root 361M may 26 12:28 crfcpu.bdb
-rw-r----- 1 root root 329M may 26 12:28 crfhosts.bdb
-rw-r----- 1 root root 332M may 26 12:28 crfalert.bdb

En el listado se confirma que hay diversos archivos con un tamaño considerable, de los cuales, el llamado crfclust.bdb sobresale con un tamaño de 36GB.

Al ir al segundo nodo del RAC al mismo directorio, se observa el mismo comportamiento:

oracle@racnode1$ ssh racnode2
Last login: Fri May 27 21:10:20 2017 from 192.168.1.25
oracle@racnode2$ cd /u01/crs/oracle/product/11.2.0/grid/crf/db/racnode2/
oracle@racnode2$ ls -lhrt *.bdb
total 38G
-rw-r----- 1 root root 8,0K may 26 12:27 repdhosts.bdb
-rw-r----- 1 root root 439M may 26 12:27 crfloclts.bdb
-rw-r----- 1 root root  36G may 26 12:27 crfclust.bdb
-rw-r----- 1 root root 318M may 26 12:27 crfts.bdb
-rw-r----- 1 root root 329M may 26 12:27 crfhosts.bdb
-rw-r----- 1 root root 361M may 26 12:27 crfcpu.bdb
-rw-r----- 1 root root 333M may 26 12:27 crfalert.bdb

Como se puede observar, los archivos pertenecen al usuario y grupo root, por lo que no se pueden modificar fácilmente con el usuario oracle. Por otro lado, es muy común que como administradores de la base de datos, no tengamos acceso a dicha cuenta.

Para hacer la configuración de la retención, se debe usar al usuario propietario del clúster, en este caso, es el usuario grid, con este, se debe ejecutar el comando:

oclumon manage -repos resize cantidad_segundos

Así, entonces, hay que hacer el cambio al usuario grid y dejaremos el valor al mínimo de tres días:

oracle@racnode1$ su - grid
Password:
grid@racnode1$ oclumon manage -repos resize 259200
racnode1 --> retention check successful
racnode2 --> retention check successful
New retention is 259200 and will use 4524595200 bytes of disk space

CRS-9115-Cluster Health Monitor repository size change completed on all nodes.
Done

Una vez que se hizo el cambio, al ejecutar la consulta el tamaño del repositorio, se obtiene un error, esto es esperado:

grid@racnode1$ oclumon manage -get repsize
 CRS-9011-Error manage: Failed to initialize connection to the Cluster Logger Service

Para que el nuevo valor se refresque, debe darse de baja el servicio del Cluster Health Monitor y volverse a arrancar en los dos nodos:

grid@racnode1$ crsctl stop res ora.crf -init
CRS-2673: Attempting to stop 'ora.crf' on 'racnode1'
CRS-2677: Stop of 'ora.crf' on 'racnode1' succeeded

grid@racnode1$ ssh racnode2
Last login: Tue Feb 28 12:49:39 2017 from 192.168.1.25

grid@racnode2$ crsctl stop res ora.crf -init
CRS-2673: Attempting to stop 'ora.crf' on 'racnode2'
CRS-2677: Stop of 'ora.crf' on 'racnode2' succeeded

grid@racnode2$ exit
logout
Connection to racnode2 closed.

grid@racnode1$ crsctl start res ora.crf -init
CRS-2672: Attempting to start 'ora.crf' on 'racnode1'
CRS-2676: Start of 'ora.crf' on 'racnode1' succeeded

grid@racnode1$ ssh racnode2
Last login: Fri May 26 12:49:15 2017 from racnode1

grid@racnode2$ crsctl start res ora.crf -init
CRS-2672: Attempting to start 'ora.crf' on 'racnode2'
CRS-2676: Start of 'ora.crf' on 'racnode2' succeeded

grid@racnode2$ exit
logout
Connection to racnode2 closed.

Con lo cual, al ir al directorio donde se tienen los archivos bdb, se puede observar cómo ya ha disminuido su tamaño considerablemente liberando el file system donde están:

grid@racnode1$ cd /u01/crs/oracle/product/11.2.0/grid/crf/db/racnode1/
grid@racnode1$ ls -lhrt *.bdb
 total 49M
 -rw-r----- 1 root root 8.0K May 26 13:09 crfconn.bdb
 -rw-r----- 1 root root 128K May 26 13:09 crfclust.bdb
 -rw-r----- 1 root root 8.0K May 26 13:09 crfhosts.bdb
 -rw-r----- 1 root root 8.0K May 26 13:09 crfts.bdb
 -rw-r----- 1 root root 8.0K May 26 13:09 crfalert.bdb
 -rw-r----- 1 root root 8.0K May 26 13:09 crfcpu.bdb
 -rw-r----- 1 root root 8.0K May 26 13:11 crfloclts.bdb

grid@racnode1]$ df -hP /u01
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sdb1/vg01         77G   13G   61G  18% /u01

Con lo que se ha logrado el objetivo.

Si la información de este post te ha sido de utilidad o quieres que agregue algo más, deja por favor un comentario, contestaré a la brevedad.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: