Example: Data unload with the generation of an external table creation command, and repartitioning data with a custom db2nodes file
Execution report:
[i1156@lat111 ~]$ db2hpu -i i1156 -f sysin
INZM031I Optim High Performance Unload for Db2 06.05.00.003(230207)
64 bits 02/07/2023 (Linux lat111 3.10.0-862.14.4.el7.x86_64 #1 SMP Fri Sep 21 09:07:21 UTC 2018 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 SAMPLE;
000002 UNLOAD TABLESPACE
000003 SELECT * FROM EMPLOYEE;
000004 OUTFILE("/home/i1156/outfile")
000005 DDLFILE("/home/i1156/ddlfile")
000006 TARGET KEYS (DEFAULT)
000007 LOADDEST(DB2 "db2_alias")
000008 INTO TABLE (I1156.TB_EXTERNAL)
000009 FORMAT EXTERNAL TEXT;
INZU462I HPU control step start: 02/07/2023 08:19:07.112.
INZU463I HPU control step end : 02/07/2023 08:19:07.124.
INZU464I HPU run step start : 02/07/2023 08:19:07.125.
INZU410I HPU utility has unloaded 9 rows on lat111 host for I1156.EMPLOYEE in /home/i1156/outfile.000.
INZU410I HPU utility has unloaded 11 rows on lat111 host for I1156.EMPLOYEE in /home/i1156/outfile.001.
INZU410I HPU utility has unloaded 5 rows on lat111 host for I1156.EMPLOYEE in /home/i1156/outfile.002.
INZU410I HPU utility has unloaded 6 rows on lat111 host for I1156.EMPLOYEE in /home/i1156/outfile.003.
INZU410I HPU utility has unloaded 11 rows on lat111 host for I1156.EMPLOYEE in /home/i1156/outfile.004.
INZU622I HPU utility has generated the DDL file /home/i1156/ddlfile.
INZU465I HPU run step end : 02/07/2023 08:19:07.134.
INZI441I HPU successfully ended: Real time -> 0m0.021382s
User time -> 0m0.033054s : Parent -> 0m0.033054s, Children -> 0m0.000000s
Syst time -> 0m0.020415s : Parent -> 0m0.020415s, Children -> 0m0.000000s
Associated Db2 section in the db2hpu.dest file:
[Db2]
instance=i1156
alias=db2_alias
file=/home/i1156/db2nodes_multi.cfg
Content of the db2nodes file used for this execution:
[i1156@lat111 ~]$ cat db2nodes_multi.cfg
0 lat111 0
1 lat111 1
2 lat111 2
3 lat111 3
4 lat111 4
Extract of the output file generated:
[i1156@lat111 ~]$ cat outfile.00*
"000050"|"JOHN"|"B"|"GEYER"|"E01"|"6789"|19790817|"MANAGER "|16|"M"|19550915|+0080175.00|+0000800.00|+0003214.00
...
"200310"|"MICHELLE"|"F"|"SPRINGER"|"E11"|"3332"|19940912|"OPERATOR"|12|"F"|19610421|+0035900.00|+0000300.00|+0001272.00
External table creation command generated:
[i1156@lat111 ~]$ cat ddlfile
CREATE EXTERNAL TABLE "I1156"."TB_EXTERNAL" (
"EMPNO" CHAR(6 OCTETS) NOT NULL,
"FIRSTNME" VARCHAR(12 OCTETS) NOT NULL,
"MIDINIT" CHAR(1 OCTETS),
"LASTNAME" VARCHAR(15 OCTETS) NOT NULL,
"WORKDEPT" CHAR(3 OCTETS),
"PHONENO" CHAR(4 OCTETS),
"HIREDATE" DATE,
"JOB" CHAR(8 OCTETS),
"EDLEVEL" SMALLINT NOT NULL,
"SEX" CHAR(1 OCTETS),
"BIRTHDATE" DATE,
"SALARY" DECIMAL(9,2),
"BONUS" DECIMAL(9,2),
"COMM" DECIMAL(9,2) )
USING ( FORMAT TEXT
DELIMITER '|'
QUOTEDVALUE DOUBLE
CCSID 1208
NULLVALUE 'NULL'
DATE_FORMAT 'YYYYMMDD'
PARTITION (0, 1, 2, 3, 4)
DATAOBJECT '/home/i1156/outfile') ;