Spain DB2 User Group – SPDUG

Por si alguien aún no conoce la comunidad de usuarios de DB2 en España, aquí os copio su misión, recomendando que si estáis dentro del mundillo DB2 hagáis piña en este foro.

La mejor manera de definir el SPDUG es transcribir su misión:

"El grupo de usuarios SpDUG, Spain DB2 User Group, se constituye a finales del año 2008 con el objetivo de extender y dar a conocer los principios del IDUG, International DB2 User Group, dentro del cual se encuentra incluido como Regional User Group".

Gestión básica del catálogo de DB2

El catalogo de DB2 determina las BBDD gestionadas desde la instancia a la que uno se conecta.

Para listar las BBDD catalogadas por la instancia actual se puede realizar:

db2> list database directory

Para ver las BBDD existentes en un determinado database path:

db2> list database directory on /db2/BBDD

La información de las BBDD catalogadas se guarda en los ficheros:

/db2/INSTANCIA/db2INSTANCIA/NODE0000/sqldbdir

Para catalogar una determinada BBDD, se le debe pasar el database path:

Cómo gestionar la prioridad de sesiones en DB2

En DB2 es posible priorizar procesos entre los mismos procesos que tengan prioridad.

Me explico: existe un parámetro a nivel de instancia que indica el porcentaje máximo de CPU disponible para procesos priorizados (UTIL_IMPACT_LIM).

Por defecto, tiene el valor 10%. Ello implica que si varios procesos priorizados luchan entre sí por recursos de CPU, podrán obtener como máximo entre ellos un 10% de la CPU. El resto de procesos no compiten por este porcentaje de la CPU.

Las sesiones se priorizan a través del comando SET UTIL_IMPACT_PRIORITY:

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,…)

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.

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

 

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.