Archive for septiembre, 2013

GRANT en DB2

domingo, septiembre 29th, 2013

Los GRANT que hay que tener en cuenta para DB2

GRANT USAGE ON SEQUENCE  < secuencia > TO < usuario >
GRANT ALTER ON SEQUENCE  < secuencia > TO < usuario > WITH GRANT OPTION
GRANT ALL ON < tabla_vista > TO USER < usuario > WITH GRANT OPTION
GRANT SELECT, INSERT ON < tabla_vista > TO USER  < usuario_1 >, USER < usuario_2 >

Qué hacer ante «DB2 SQL error: SQLCODE: -551, SQLSTATE: 42501»

domingo, septiembre 29th, 2013

La explicación de este error esta aquí, pero antes de que lo leas por completo, te invito a que revises los permisos (GRANT) debido a que este error sucede cuando alguien no tiene acceso al objeto de la base de datos.

Corregir «SQL0964C Transaction log for database is full» en DB2

domingo, septiembre 29th, 2013

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