Corregir “SQL0964C Transaction log for database is full” en DB2

Cuando utilizas la utilidad LOAD o IMPORT de DB2, sobretodo cuando las tablas o la cantidad de datos superan los millones, es común encontrar el error “SQL0964C Transaction log for database is full”, esto porque los archivos de transaccion están llenos, para evitar que estos se llenen rápidamente existe la posibilidad de ampliar el tamaño de éstos, el comando estando conectados a la base de datos es:

UPDATE db cfg for < database_name > using LOGFILSIZ 5000

Sin estar conectados es igual pero con db2 (el programa cliente de db2):

db2 UPDATE db cfg for < datasbase_name > using LOGFILSIZ 5000

Despues de lo cual se debe aplicar los comandos

db2 force applications all
db2stop force

Ahora bien el valor minimo – máximo del tamaño son 1 a 524286, asumiendo que el tamaño de de página de 4K el tamaño real dentro del disco es el valor por los 4096 bytes, asi que se debe asegurar el espacio en disco antes de hacer alguna modificacion.

Visitar los siguientes enlaces para mayor información:

Fixing an “SQL0964C Transaction log for database is full” error
Ajuste de las características de anotaciones cronológicas de transacción
logfilsiz – Size of log files configuration parameter

Publicado en Base de Datos, DB2, Desarrollo