En DB2, el concepto de catalogación es esencial para establecer conexiones remotas. La arquitectura de DB2 se organiza jerárquicamente: el sistema (nodo o host), seguido de la instancia, la base de datos, el espacio de tabla y los objetos de base de datos. Para conectarse desde un cliente a un servidor remoto, es necesario registrar o catalogar la información del servidor y la instancia localmente en el cliente.
Supongamos que el servidor de base de datos se encuentra en una máquina con el nombre de host 'servidorbd01' y la dirección IP '172.16.0.10', con una instanica que escucha en el puerto '50000'. El cliente, que puede ejecutarse en cualquier sistema operativo, debe configurarse para reconocer este servidor remoto.
Paso 1: Catalogar el nodo remoto
Para que el cliente identifique el servidor remoto, se utiliza el comando de catalogación de nodos. Esto almacena la información del servidor en un archivo local llamado SQLNODIR, actuando como un puntero hacia la instancia remota.
db2 catalog tcpip node SERVIDOR_PRINCIPAL remote 172.16.0.10 server 50000
En este ejemplo, 'SERVIDOR_PRINCIPAL' es un nombre de nodo único en el cliente, 'remote' especifica la dirección IP del servidor y 'server' indica el puerto de la instancia remota.
Para verificar el nodo catalogado, se ejecuta:
db2 list node directory
La salida mostrará detalles como el nombre del nodo, el protocolo (TCPIP), la dirección IP y el puerto, confirmando que el nodo está registrado localmente.
Paso 2: Catalogar la base de datos remota
Una vez catalogado el nodo, se procede a registrar la base de datos remota en el cliente. Esto permite al cliente encontrar la base de datos a través del nodo previamente definido.
db2 catalog db base_remota at node SERVIDOR_PRINCIPAL
Aquí, 'base_remota' es el nombre de la base de datos en el servidor, y 'SERVIDOR_PRINCIPAL' es el nodo catalogado en el paso anterior.
Se puede listar el directorio de bases de datos para confirmar:
db2 list db directory
La salida incluirá la alias de la base de datos, su nombre, el nodo asociado y el tipo de entrada (remoto), indicando una conexión configurada.
Después de estos pasos, el cliente puede conectarse a la base de datos remota y realizar operaciones, como listar tablas con el comando db2 list tables.
Consideraciones adicionales
Cuando el cliente y el servidor están en la misma máquina, no es necesario catalogar explícitamente el nodo, ya que al crear una instancia o base de datos localmente, DB2 realiza una catalogación implícita. Por ejemplo, crear una instancia 'instlocal' en el host 'hostlocal' implica un registro automático similar a:
db2 catalog local node instlocal instance instlocal system hostlocal ostype linux
Del mismo modo, al crear una base de datos 'micobase' en esa instancia, se cataloga automáticamente en el nodo local.
En resumen, la catalogación en DB2 permite establecer conexiones entre clientes y servidores, ya sea de forma remota mediante comendos explícitos o localmente con procesos implícitos durante la creación de recursos.