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;