Ejemplo: generación de un mandato de carga de DB2 con un paso de conexión
A continuación, se muestran los distintos detalles de configuración que se aplican a este ejemplo:
* Lista de nodos de Db2® :
[i1058@lat111 ~]$ db2 list node directory
Node Directory
Number of entries in the directory = 1
Node 1 entry:
Node name = NODERMT
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 192.168.42.228
Service name = 50010
* Lista de bases de datos Db2 :
[i1058@lat111 ~]$ db2 list database directory
System Database Directory
Number of entries in the directory = 2
Database 1 entry:
Database alias = REMOTEDB
Database name = REMOTEDB
Node name = NODERMT
Database release level = 10.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =
Database 2 entry:
Database alias = LOCALDB
Database name = LOCALDB
Local database directory = /home/i1058
Database release level = 10.00
Comment =
Directory entry type = Indirect
Catalog database partition number = 0
Alternate server hostname =
Alternate server port number =
* RemoteDB2 en el archivo de configuración 'db2hpu.dest':
[i1058@lat111 ~]$ cat /opt/ibm/HPU/V12.1/cfg/db2hpu.dest
[RemoteDB2]
dbname=REMOTEDB
node=NODERMT
user=i1058
* Credenciales de tipo remoto en el archivo 'db2hpu.creds':
[i1058@lat111 ~]$ cat /home/i1058/.db2hpu/db2hpu.creds
[NODERMT]
type=remote
user=i1058
password=18BE943A2F6289CE21F192EE45993AC7B7EB7308CD2B44CE35724B3030D45BBB07C708BC...
Este ejemplo ilustra la generación de un mandato de carga DB2 para cargar datos extraídos de una tabla TBL_SOURCE (ubicada en la base de datos LOCALDB) hacia una tabla TBL_TARGET (ubicada en una máquina remota de la base de datos REMOTEDB, estando esta última catalogada localmente):
[i1058@lat111 ~]$ db2hpu -i i1058 -f sysin
INZM031I Optim High Performance Unload for Db2 06.01.00.001(161115)
64 bits 11/15/2016 (Linux lat111 3.10.0-327.36.1.el7.x86_64 #1 SMP Wed Aug 17 03:02:37 EDT 2016 x86_64)
INZI473I Memory limitations: 'unlimited' for virtual memory and 'unlimited' for data segment
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+
000001 GLOBAL CONNECT TO LOCALDB;
000002 UNLOAD TABLESPACE
000003 SELECT * FROM TBL_SOURCE;
000004 OUTFILE("/home/i1058/outfile")
000005 LOADFILE("loadfile")
000006 LOADDEST(DB2 REMOTE “NODERMT” WITH STANDARD AUTH)
000007 INTO TABLE (I1058.TBL_TARGET)
000008 FORMAT DEL;
INZU462I HPU control step start: 11/15/2016 11:37:15.170.
INZU463I HPU control step end : 11/15/2016 11:37:15.814.
INZU464I HPU run step start : 11/15/2016 11:37:15.886.
INZU410I HPU utility has unloaded 42 rows on lat111 host for I1058.EMPLOYEE in /home/i1058/outfile.
INZU442I HPU utility has generated the LOAD file loadfile (LRECL=0).
INZU465I HPU run step end : 11/15/2016 11:37:17.096.
INZI441I HPU successfully ended: Real time -> 0m1.925486s
User time -> 0m0.249424s : Parent -> 0m0.244709s, Children -> 0m0.004715s
Syst time -> 0m0.060518s : Parent -> 0m0.050145s, Children -> 0m0.010373s
Mandato de carga de Db2 generado:
[i1058@lat111 ~]$ cat loadfile
CONNECT TO REMOTEDB USER i1058;
LOAD CLIENT FROM "/home/i1058/outfile" OF DEL
MODIFIED BY CODEPAGE=1208
INSERT INTO "I1058"."TBL_TARGET" ("COL1","COL2","COL3");
TERMINATE;