TARGET ENVIRONMENT

При помощи условия TARGET ENVIRONMENT во время перенастройки данных можно задать номера разделов базы данных назначения и соответствующее положение хоста.

Условие TARGET ENVIRONMENT задает для Optim High Performance Unload либо файл конфигурации узлов Db2, либо пользовательский файл, в котором определены номера разделов базы данных назначения и положение хоста. Формат пользовательского файла должен быть аналогичен файлу конфигурации узлов Db2, db2nodes.cfg. Optim High Performance Unload читает этот файл, чтобы узнать о нужных разделах базы данных назначения. Дополнительную информацию о файле конфигурации узлов Db2 смотрите в документации по Db2.

Есть два способа указать файл, содержащий определения разделов базы данных: можно либо задать экземпляр назначения Db2 при помощи опции INSTANCE, либо указать имя файла при помощи опции FILE.

Ограничение: Optim High Performance Unload не может поддерживать переразделение, если включенный оператор SELECT исходно не поддерживается в Optim High Performance Unload. Убедитесь, что синтаксис условия SELECT исходно поддерживается в Optim High Performance Unload.
Ограничение: Если задать опцию DB2 FORCE, ключевые слова %{target_host} и %{target_node} игнорируются, так как возможность переразделения нельзя использовать, когда Db2 обрабатывает выгрузку.
Синтаксис
TARGET ENVIRONMENT ( INSTANCE "имя_экземпляра" [ ON "имя_хоста" | FILE "имя_файла_с_шаблоном" ] EXCEPT PARTS (список_разделов_базы_данных) IN имя_базы_данных REPART NO | PMAP_4K | PMAP_32K )
Переменные
"имя_экземпляра"

Имя экземпляра Db2 назначения, где в файле db2nodes.cfg определяются разделы базы данных назначения.

"имя хоста"

Имя удаленного компьютера, где находится файл db2nodes.cfg.

"имя_файла_с_шаблоном"

Имя файла, содержащего определение разделов базы данных назначения.

список разделов базы данных

Список или диапазон номеров разделов базы данных.

dbname

Имя базы данных.

По умолчанию
Никаких действий не требуется.

Опции

INSTANCE
Эта опция задает имя экземпляра Db2. В сценарии перенастройки этим именем экземпляра будет экземпляр Db2 назначения. Если эта опция задана без задания ее опции ON или FILE, используется файл db2nodes.cfg, соответствующий имени экземпляра Db2, сконфигурированного на текущем компьютере. Если задана ее опция ON или FILE, используемый файл конфигурации узлов Db2 определяется по-другому.
ON
При помощи этой опции можно указать имя компьютера, на котором находится нужный файл db2nodes.cfg. Это файл, соответствующий экземпляру Db2, имя которого указано в опции INSTANCE; он расположен на указанном компьютере.
ФАЙЛ
При помощи опции FILE можно задать имя файла, содержащего определение узлов Db2. Спецификация файла может включать в себя спецификацию имени хоста, поскольку в строке имени файла допускаются ключевые слова шаблона. Но ключевые слова шаблона здесь могут использоваться только для указания имения удаленного хоста. Остальные ключевые слова шаблона отключены.
Можно непосредственно задать файл db2nodes.cfg на компьютере, входящем в экземпляр Db2 назначения, или указать любой файл по вашему выбору. Например, если файл mynodes.cfg, в котором определяются разделы базы данных назначения, расположен в каталоге /tmp на компьютере M1, введите такой синтаксис:
TARGET ENVIRONMENT (FILE “M1:/tmp/mynodes.cfg”)
EXCEPT PARTS
При помощи этого параметра можно определить разделы базы данных назначения, которые нужно исключить из разметки разделов базы данных назначения. Генерируя выходные файлы назначения, иногда нужно исключить некоторые номера разделов базы данных из числа определенных в файле db2nodes.cfg. Например, опция EXCEPT PARTS полезна при перенастройке данных в экземпляр, где раздел базы данных каталога не содержит данных, или в табличное пространство, где группа узлов содержит лишь некоторые из разделов базы данных экземпляра. Такие исключения можно задать в параметре EXCEPT PARTS в условии TARGET ENVIRONMENT.
Например, если в экземпляре назначения db2inst5 нет данных в разделе 0 базы данных (это раздел базы данных, содержащий каталог), введите такой синтаксис:
TARGET ENVIRONMENT (INSTANCE “db2inst5” ON “M1” EXCEPT PARTS(0))
IN
При помощи этого параметра можно задать имя базы данных назначения. При перенастройке данных в этом параметре задают базу назначения, куда загружаются переразделенные данные, выгруженные Optim High Performance Unload. Это имя базы данных используется при установлении соединения с Db2 перед загрузкой данных, обратно в экземпляр назначения. Если эта опция не задана, Optim High Performance Unload использует то же имя базы данных, с которого данные выгружались.
REPART
При помощи этой опции можно повлиять на механизм переразделения данных. Если она используется, возможность переразделения скрытым образом выполняет вызов соответствующего API appropriate Db2. Конкретный вызываемый API зависит от размера карты разделов. Есть два возможных способа повлиять на переразделение данных:
  • можно отключить шаг переразделения из обработки данных. Эта возможность может быть полезной в случае переноса данных, если по какой-либо причине недопустим тот шаг переразделения, который выполняется Optim High Performance Unload.
  • можно задать принудительное использование API Db2, соответствующего размеру карты разделов в среде назначения, на шаге переразделения данных. Эта возможность может быть полезной в случае переноса данных, для которого размер карты разделов изменяется от среды источника к среде назначения.
Можно указать три значения:
  • NO: отключает переразделение в данной задаче. При автоматическом переносе в среду DPF данные, считываемые из среды источника, по умолчанию разделяются на несколько потоков. Эти потоки создаются согласно топологии среды назначения и принимается утилитой Db2 Load, запущенной скрытым образом в среде назначения. Если для опции REPART задать NO, шаг переразделения отключается; в результате данные переносятся через один поток, а их переразделение выполняется на уровне утилиты Db2 Load.
  • PMAP_4K: задает, что карта разделов на шаге переразделения использует размер 4 Кбайта. В результате этот шаг выполняется API хэширования данных Db2 с картами разделов по 4 Кбайта.
  • PMAP_32K: задает, что размер карты разделов на шаге переразделения - 32 Кбайта. В результате этот шаг выполняется API хэширования данных Db2 с картами разделов по 32 Кбайта. Это значение допустимо, только если уровень Db2 не меньше V9.7.
По умолчанию размер карты разделов на шаге переразделения определяется конфигурацией среды Db2, из которой выгружаются данные. Благодаря этому переразделенные данные подготовлены для среды назначения Db2, где у карты разделов тот же размер. Если же эти данные нужно загрузить в среду назначения с другим размером карты разделов, загрузка завершится неудачно, поскольку данные не будут разделены ожидаемым образом. В этом случае задайте в опции REPART нужный размер карты разделов для среды назначения Db2, чтобы шаг переразделения Optim High Performance Unload использовал нужный размер карты разделов.

Правила

Задавая условие TARGET ENVIRONMENT для перенастройки, соблюдайте следующие правила синтаксиса:
  • Определение разделов базы данных назначения применяется только в случае переразделения данных. Если переразделение не требуется, условие TARGET ENVIRONMENT игнорируется. Для вызова возможности переразделения данных задается условие TARGET KEYS или TARGET TABLE. Однако информация, определенная в условии TARGET TABLE, несовместима с информацией, определенной условием TARGET ENVIRONMENT, а условие TARGET ENVIRONMENT допустимо только совместно с условием TARGET KEYS.
  • При помощи опций параметра PARTS в условии TARGET KEYS создается шаблон карты разделов базы данных, которые потом применяется, когда Optim High Performance Unload узнает номер раздела базы данных назначения для каждой обрабатываемой строки. Если явным образом задать номера разделов базы данных в параметре PARTS, Optim High Performance Unload использует эти номера. Необходимо, чтобы эти же номера разделов базы данных существовали в файле узлов, указанном в условии TARGET ENVIRONMENT, и не исключались соответствующим необязательным параметром EXCEPT PARTS. При несоответствии номеров генерируется сообщение об ошибке. Если задать параметр PARTS(ALL) или не задать никакой параметр PARTS, шаблон карты разделов базы данных определяется из системы нумерации разделов базы данных в файле узлов, указанном в условии TARGET ENVIRONMENT. В этом случае номера разделов базы данных, заданные в параметре EXCEPT PARTS, исключаются из шаблона карты разделов базы данных.
  • Содержимое файла, указанного для определения раздела базы данных назначения, должно иметь структуру, как в файле db2nodes.cfg. При несоответствии структуры в указанном файле генерируется сообщение об ошибке.
  • Номера разделов базы данных назначения, исключаемые параметром EXCEPT PARTS, должны существовать в файле, указанном для определения разделов базы данных назначения. Если такие не заданы, генерируется сообщение об ошибке.
  • Нужно задать хотя бы один раздел базы данных назначения. Если число разделов назначения базы данных назначения, полученное в результате оценки условия TARGET ENVIRONMENT, равно нулю, генерируется сообщение об ошибке.
  • Если в условии TARGET ENVIRONMENT определено несколько разделов базы данных назначения, нужно вызвать возможность переразделения для обработки строк. Поэтому нужно задать условие TARGET KEYS. Если есть несколько разделов базы данных назначения, а условие TARGET KEYS пропущено, генерируется сообщение об ошибке.