Beispiel: Generierung eines DB2-Ladebefehls mit einem Verbindungsschritt

Nachfolgend stehen die verschiedenen Konfigurationsdetails, die für dieses Beispiel gelten:

* Db2® -Knotenliste:

[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

* Db2 -Datenbankliste:

[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         =

* AbschnittRemoteDB2 in der Konfigurationsdatei 'db2hpu.dest':

[i1058@lat111 ~]$ cat /opt/ibm/HPU/V12.1/cfg/db2hpu.dest
[RemoteDB2]
dbname=REMOTEDB
node=NODERMT
user=i1058

* Berechtigungsnachweise des fernen Typs in der Datei 'db2hpu.creds':

[i1058@lat111 ~]$ cat /home/i1058/.db2hpu/db2hpu.creds
[NODERMT]
type=remote
user=i1058
password=18BE943A2F6289CE21F192EE45993AC7B7EB7308CD2B44CE35724B3030D45BBB07C708BC...

Dieses Beispiel veranschaulicht die Generierung eines DB2-Ladebefehls für das Laden von Daten, die aus einer Tabelle TBL_SOURCE (die sich in der Datenbank LOCALDB befindet) in eine Tabelle TBL_TARGET extrahiert werden (die sich auf einer fernen Maschine in der Datenbank REMOTEDB befindet; diese Datenbank ist logisch katalogisiert):

[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

Generierter DB2-Ladebefehl:

[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;