예 4: 원격 호스트에 보다 신속하게 언로드하기 위해 출력 파일 분할

다음 예에서는 언로드된 데이터를 대상 호스트의 세 개의 서로 다른 디렉토리에 있는 세 개의 출력 파일로 분할하는 두 가지 방법을 보여줍니다. 언로드는 성능 향상을 위해 동시에 처리됩니다. 이 예의 처음 파트에는 템플리트 키워드로 OUTFILE 절을 사용하는 방법이 있습니다. 두 번째 파트에는 OUTPUT 절을 사용하는 방법이 있습니다.

이 예에는 Db2® 인스턴스, db2inst9및 각각 세 개의 논리 데이터베이스 파티션이 있는 두 개의 테스트 머신이 포함됩니다.
  • 데이터베이스 파티션 1, 10, 100이 있는 M1
  • 데이터베이스 파티션 2, 20, 200이 있는 M2

템플리트 키워드로 OUTFILE 절 사용

%{listValDir,1,2,3} 템플리트 키워드를 사용하여 데이터를 언로드하는 데 다음 제어 파일을 사용할 수 있습니다.
GLOBAL CONNECT TO SAMPLE DB2 NO;
UNLOAD TABLESPACE
SELECT * FROM "DB2INST9"."STAFF";
FORMAT DEL
OUTFILE ("M2:/home/db2inst9/dir%{listValDir,1,2,3}/new.out" REPLACE)
;
Optim™ High Performance Unload{listValDir,1,2,3} 키워드를 분석하여 M2 호스트의 /home/db2inst9/ 디렉터리에서 dir1, dir2, dir3 디렉터리를 찾습니다. 그러면, Optim High Performance Unloadnew.out 를 실행하면 디렉토리마다 언로드된 데이터의 일부가 포함된 하나의 출력 파일이 생성됩니다.

템플리트 키워드 없이 OUTPUT 절 사용

템플리트 키워드 없이 OUTPUT 절을 사용하여 동일한 출력 결과를 얻을 수 있지만 OUTPUT 절에서 출력 디렉토리를 명시적으로 지정해야 하며 이렇게 하면 구문이 보다 자세하고 복잡해집니다.
GLOBAL CONNECT TO SAMPLE DB2 NO;
UNLOAD TABLESPACE
SELECT * FROM "DB2INST9"."STAFF";
FORMAT DEL
OUTPUT (ON "M2" HOST 
	("/home/db2inst9/dir1",
	 "/home/db2inst9/dir2",
	 "/home/db2inst9/dir3"
	)"old.out" REPLACE)
;