示例: 通过生成外部表创建命令来卸载数据
执行报告:
[i1156@lat111 ~]$ db2hpu -i i1156 -f sysin
INZM031I Optim High Performance Unload for Db2 06.05.00.003(230126)
64 bits 01/30/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 INTO TABLE (I1156.TB_EXTERNAL)
000007 FORMAT EXTERNAL TEXT USING (QUOTEDVALUE SINGLE REQUIREQUOTES TRUE DECIMALDELIM '.' NOLOG TRUE NULLVALUE "null");
INZU462I HPU control step start: 01/30/2023 16:54:30.222.
INZU463I HPU control step end : 01/30/2023 16:54:30.302.
INZU464I HPU run step start : 01/30/2023 16:54:30.951.
INZU410I HPU utility has unloaded 42 rows on lat111 host for I1156.EMPLOYEE in /home/i1156/outfile.
INZU622I HPU utility has generated the DDL file /home/i1156/ddlfile.
INZU465I HPU run step end : 01/30/2023 16:54:30.961.
INZI441I HPU successfully ended: Real time -> 0m0.738305s
User time -> 0m0.029900s : Parent -> 0m0.029900s, Children -> 0m0.000000s
Syst time -> 0m0.026042s : Parent -> 0m0.026042s, Children -> 0m0.000000s
抽取生成的输出文件:
[i1156@lat111 ~]$ cat outfile
'000010'|'CHRISTINE'|'I'|'HAAS'|'A00'|'3978'|19950101|'PRES '|18|'F'|19630824|+0152750.00|+0001000.00|+0004220.00
...
'200340'|'ROY'|'R'|'ALONZO'|'E21'|'5698'|19970705|'FIELDREP'|16|'M'|19560517|+0031840.00|+0000500.00|+0001907.00
生成的外部表创建命令:
[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 SINGLE
REQUIREQUOTES TRUE
CCSID 1208
DECIMALDELIM '.'
NOLOG TRUE
NULLVALUE 'null'
DATE_FORMAT 'YYYYMMDD'
DATAOBJECT '/home/i1156/outfile') ;