BetaHache

2007/02/08

Varias instancias de DB2

Filed under: DB2 — Antonio @ 20:37

Al intentar montar varias instancias de DB2 en una máquina Windows, obtenía un error cuando intentaba conectarme desde otra máquina:

[IBM][CLI Driver] SQL30081N Se ha detectado un error de comunicaciones. Protocolo de comunicaciones utilizado: “TCP/IP”. API de comunicaciones utilizada: “SOCKETS”.

Ubicación donde se ha encontrado el error: “direccion_ip”. Función de comunicaciones que ha detectado el error: “connect”. Código(s) de error específico(s) del Protocolo: “10061″, “*”, “*” . SQLSTATE=08001

Costó encontrar el problema, pero al final se consiguió.


Haciendo una instalación normal:

Creamos un usuario “instbd2” en la sistema operativo para ser el administrador de la instancia.

Entramos en la máquina con ese usuario.

Se crea la instancia con:

db2icrt instbd2 -s ese -u instbd2,contraseña

Esto hace que se añadan unas lineas al fichero “etc/services”:

DB2_instbd2 60004/tcp
DB2_instbd2_1 60005/tcp
DB2_instbd2_2 60006/tcp
DB2_instbd2_END 60007/tcp

Se crea la base de datos con:

db2 create db bd2 using codeset UTF-8 territory ES

Se hace un db2start para arrancar la base de datos.

Al intentar conectar desde otra máquina aparece el error anterior y la solución pasa por:

Hay que añadir la variable “DB2COMM=tcpip” a la configuración de la base de datos ejecutando

db2set db2comm=tcpip

Si no se añade este parámetro, la base de datos arranca dando el mensaje:

01/01/2001 01:01:01 0 0 SQL5043N Support for one or more communications protocols failed to start successfully. However, core database manager functionality started successfully.

SQL1063N DB2START processing was successful.

Y además hay que añadir una línea al fichero “etc/services” para indicar por que puerto se atienden las peticiones de conexión. Se añade la línea “db2c_instbd2 50004/tcp” al fichero y dejamos una línea en blanco al final.

Por último hay que modificar la configuración de la instancia para indicar que utilice ese servicio. Se puede ejecutar:

db2 update dbm cfg using SVCENAME db2c_instbd2

Para que todos los cambios surtan efecto hay que parar “db2stop” y arrancar la base de datos “db2start”.

No hay comentarios

Aún no hay comentarios.

RSS feed para los comentarios de esta entrada. TrackBack URL

Lo siento, el formulario de comentarios está cerrado en este momento.

Powered by WordPress