Oscar Paredes
Experto en sistemas y administración de bases de datos, apasionado de las Tecnologías de la Información
Oscar Paredes
Experto en sistemas y administración de bases de datos, apasionado de las Tecnologías de la Información
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
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.
Para parar una instancia db2 existe la instrucción db2stop, que puede ser ejecutada como comando cmd o desde sistema operativo. ¿Pero qué hacer si la BBDD no se para y deja el sistema inestable? db2_kill puede librar de muchas crisis.
Cuando hay problemas para parar una BBDD DB2, los pasos habituales suelen ser:
1)
db2stop
2)
db2 force application all + db2stop
3)
DB2, from version 9.7, allows to know easily what indexes are not being used in a Database. The query is also for tables and packages.
This is a useful tool for tuning indexes and detecting problems in their use.
After version 9.7 DB2 includes a new LASTUSED field in the SYSCAT.INDEXES, SYSCAT.TABLES and SYSCAT.PACKAGES tables.
This field indicates the date of last use of indexes, tables or packages.
For example, to query unused indexes since 1/1/2019, you could use this simple query:
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:
En el siguiente artículo se muestran ejemplos sencillos sobre cómo operar con fechas en DB2 desde sentencias SELECT de SQL.
select current date + 8 YEAR from sysibm.sysdummy1
select current date + 3 YEARS + 2 MONTHS - 15 DAYS + 10 SECONDS from sysibm.sysdummy1
select days (current date) - days (date('2010-10-22')) from sysibm.sysdummy1