Пример 1: Создание по одному файлу для каждого раздела базы данных на хосте назначения

В следующих примерах сравниваются два метода создания по одному файлу для каждого раздела базы данных на хосте назначения. В первой части примера показано, как использовать условие OUTFILE с ключевыми словами шаблона. Во второй части показано, как использовать условие OUTPUT.

В этом примере участвует экземпляр Db2 db2inst9 и два тестовых компьютера, на каждом из которых три логических раздела базы данных:
  • M1 с разделами базы данных 1, 10 и 100.
  • M2 с разделами базы данных 2, 20 и 200.

Использование условия OUTFILE с ключевыми словами шаблона

Для выгрузки данных в шесть выходных файлов (по одному файлу на раздел базы данных) на компьютере M1 можно использовать следующий управляющий файл:
GLOBAL CONNECT TO SAMPLE DB2 NO;
UNLOAD TABLESPACE
SELECT * FROM "DB2INST9"."STAFF";
FORMAT DEL
OUTFILE ("M1:/home/db2inst9/new.out.%{source_node}" REPLACE);
Optim High Performance Unload проанализирует ключевое слово %{source_node}, чтобы определить номера разделов базы данных для выгружаемых данных, и добавит эти номера к созданным именам выходных файлов. Optim High Performance Unload создаст на компьютере M1 следующие файлы:
  • new.out.1
  • new.out.10
  • new.out.100
  • new.out.2
  • new.out.20
  • new.out.200

Использование условия OUTPUT без ключевых слов шаблона

Точно такой же вывод можно получить при помощи ключевого слова OUTPUT без ключевых слов шаблона, но для условия OUTPUT требуется более подробный и усложненный синтаксис:
GLOBAL CONNECT TO SAMPLE DB2 NO;
UNLOAD TABLESPACE
SELECT * FROM "DB2INST9"."STAFF";
FORMAT DEL
OUTPUT (ON "M1" HOST "/home/db2inst9/41tp02/old.out.001" REPLACE FOR PARTS (1),
	ON "M1" HOST "/home/db2inst9/old.out.002" REPLACE FOR PARTS (2),
	ON "M1" HOST "/home/db2inst9/old.out.010" REPLACE FOR PARTS (10),
	ON "M1" HOST "/home/db2inst9/old.out.020" REPLACE FOR PARTS (20),
	ON "M1" HOST "/home/db2inst9/old.out.100" REPLACE FOR PARTS (100),
	ON "M1" HOST "/home/db2inst9/old.out.200" REPLACE FOR PARTS (200)
	)
;