Error ADM6044E durante rebalanceo en un tablespace después de añadir un container

El error ADM6044E “DMS Container space full” durante un rebalancing de un tablespace con autoresize después de añadir un container puede llegar a suponer un grave problema en tablespaces grandes, puesto que en teoria una operación de rebalanceo se puede realizar online sin afectación a la base de datos, pero en el caso de este error, no se puede escribir en el tablespaces hasta que finaliza la operación de rebalanceo. Por lo que, de “online” nada de nada.

Tabla DUAL en DB2: sysibm.sysdummy1

Si vienes del mundo Oracle, sabrás que existe una tabla “ficticia” llamada DUAL que sirve para operaciones auxiliares, pero en algún caso muy importantes. En DB2 esta tabla es se llama sysibm.sysdummy1.

La tabla sysibm.sysdummy1 igual que su homologa de Oracle, tiene un único registro, y permite realizar operaciones del estilo:

db2> select current date from sysibm.sysdummy1

22/12/2010

Como curiosidad notad que la columna de la tabla DUAL en Oracle se llama DUMMY (tonto), similar al nombre de la tabla en DB2.

 

Compatibilidad de DB2 con ORACLE: DB2 9.7 CLP PLUS

Para DBA’s que provengan del mundo Oracle, a partir de la versión 9.7, el motor de DB2 ofrece un modo de compatibilidad que permite usar el CLP PLUS (Command Line Processor Plus) con las mismas sentencias que Oracle.

En este artículo se habla de esta interesante capacidad para hacer menos pesado el uso de DB2 si eres un Oracle DBA convencido.

El primer paso para utilizar esta sentencia en DB2 es dar el valor apropiado a la variable de entorno DB2_COMPATIBILITY_VECTOR:

Operaciones con fechas en DB2

En el siguiente artículo se muestran ejemplos sencillos sobre cómo operar con fechas en DB2 desde sentencias SELECT de SQL.

Suma de 8 años a la fecha actual

select current date + 8 YEAR 
from sysibm.sysdummy1

Sumas y restas en un ejemplo absurdo

select current date + 3 YEARS + 2 MONTHS - 15 DAYS + 10 SECONDS 
from sysibm.sysdummy1

Días desde el 22/10/2010

select days (current date) - days (date('2010-10-22')) 
from sysibm.sysdummy1

 

Cómo consultar la versión y el nivel de parcheo de DB2

Para conocer la versión y el nivel de parcheado actual de una instalación en DB2, qunque existen diversos métodos, el más simple es la utilización de la utilidad “db2level”, pero también puede usarse una query sobre el catálogo de datos de DB2.

Instrucción db2level: Nos proporciona información de las características generales de la instalación DB2 (path del software DB2, versión, parcheado,…)

Detección de índices, tablas y packages no usados en DB2

A partir de la versión 9.7 de DB2, se puede conocer que índices no están siendo usados en una Base de Datos. La consulta es igualmente trasladable a tablas y packages.

DB2 proporciona así una herramienta útil para tunear los índices y detectar problemas en su uso.

La novedad que incluye la versión 9.7 es la inclusión de un nuevo campo LASTUSED en las tablas SYSCAT.INDEXES, SYSCAT.TABLES y SYSCAT.PACKAGES.

Este campo indica la fecha de último uso del índice, tabla o packages.

Problemas con proceso Db2fmd – Instalación FixPatch

Durante la instalación de un fixpatch o cualquier otra aplicación que requiera tener parado los procesos de DB2, se obtiene un error indicando que existe un proceso db2fmd que está en marcha.

Al intentar matar el proceso, se arranca de manera automática constantemente. Si se reinicia el servidor, ocurre lo mismo.

La solución pasa por comentar la línea siguiente del fichero /etc/inittab y reiniciar el servidor.

fmc:2345:respawn:/opt/IBM/db2/V8.1/bin/db2fmcd #DB2 Fault Monitor Coordinator