Introducción:
Debido a problema visto en la aplicación de monitoreo Tivoli Enterprise Console respecto a problemas de espacio en la base de datos de dicha aplicación, se procedió a su solución vía línea de comandos o shell del OS.
La base de datos de TEC contiene, entre otros, tres tablespaces de tipo DMS relacionados con la recepción de eventos, el almacenamiento de eventos recibidos, y la activación de tareas.
La depuración de la base de TEC y por ende de los mencionados tablespaces se realiza mediante una aplicación propia de dicha herramienta la cual se encuentra establecida mediante el Scheduler propio del sistema operativo y permite además seleccionar cuáles tablas depurar e inclusive que clases de eventos y que períodos se deben mantener.
Sistemas relacionados:
Servidor de TEC: saix001
Servidor de base de datos: saix002
Sistemas operativos:
En ambos servidores: IBM AIX vers 5.2
Versiones de productos:
Tivoli Enterprise Console: TEC 3.9 FixPack 03
Base de datos: DB2UDB Vers. 8.2
Análisis y diagnóstico:
Para diagnosticar el problema se revisó el archivo Log del motor de base de datos DB2, (db2diag.log) para encontrar eventos y/o mensajes relacionados con el inconveniente.
Dentro del equipo SAIX002, el path completo del archivo es: /db2/datos/db2/sqllib/db2dump/db2diag.log
Eventos considerados:
1) En este caso se vé la descripción en el cual TS_MITABLA_LOG se encuentra si espacio libre
2007-06-13-16.50.35.402164-180 E1172C1030 LEVEL: Error
PID : 46820 TID : 1 PROC : db2agent (TEC1) 0
INSTANCE: db2 NODE : 000 DB : DBTEC1
APPHDL : 0-12 APPID: *LOCAL.db2.070613135305
FUNCTION: DB2 UDB, buffer pool services, sqlbAllocateExtent, probe:830
MESSAGE : ADM6044E The DMS table space "TS_MITABLA_LOG" (ID "3") is full. If this is an autoresize or automatic storage DMS tablespace, the maximum
table space size may have been reached or the existing containers or storage paths cannot grow any more. Additional space can be added to
the table space by either adding new containers or extending existing
ones using the ALTER TABLESPACE SQL statement. If this is an
autoresize or automatic storage DMS table space, additional space can
be added by adding containers to an autoresize table space or by
adding new storage paths to an automatic storage database.
2) Recorriendo el Log podemos ver que se indica que un contenedor está lleno
2007-06-13-16.50.35.487935-180 I3092C431 LEVEL: Error
PID : 46820 TID : 1 PROC : db2agent (TEC1) 0
INSTANCE: db2 NODE : 000 DB : DBTEC1
APPHDL : 0-12 APPID: *LOCAL.db2.070613135305
FUNCTION: DB2 UDB, buffer pool services, sqlbDMScheckObjAlloc, probe:830
RETCODE : ZRC=0x85020021=-2063466463=SQLB_END_OF_CONTAINER
"DMS Container space full"
Solución:
Se extendió la capacidad del tablespaces en cuestión.
Procedimiento:
1. Conexión con la base de datos
db2 connect to DBTEC1
2. Extensión del tablespace mencionado, agregando 1000 páginas a cada container:
db2 -c "alter tablespace TS_MITABLA_LOG extend ( all containers 1000 )"
3. Verificación de detalles de tablespaces
db2 list tablespaces show detail
Para el caso del tablespace TS_MITABLA_LOG podemos ver que la cantidad de “Free Pages” ahora nos es cero.
Tablespace ID = 8
Name = TS_MITABLA_LOG
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 21200
Useable pages = 21152
Used pages = 19968
Free pages = 1184
High water mark (pages) = 19968
Page size (bytes) = 16384
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 2
Saludos a todos,
HectorLN
Link's relacionados:
http://www.starlinux.net/