Замечания по выпуску


8.8 Приложение A. Переменные реестра DB2 и переменные среды

Следующие переменные реестра являются новыми или требуют изменения:

8.8.1 Таблица новых и измененных переменных реестра


Табл. 6. Переменные реестра
Имя переменной Операционная система Значения
Описание
DB2MAXFSCRSEARCH Все По умолчанию=5

Значения: -1, от 1 до 33554

Задает число записей управления свободным пространством, которые ищутся при добавлении записи в таблицу. Значение по умолчанию - искать пять записей управления свободным пространством. Изменяя это значение, можно улучшить скорость операций вставки за счет повторного использования пространства или наоборот. Используйте большие значения, чтобы улучшить повторное использование пространства. Используйте небольшие значения, чтобы улучшить скорость операций вставки. Если задано значение -1, менеджер баз данных будет искать все записи управления свободным пространством.
DLFM_TSM_MGMTCLASS AIX, Windows NT, Solaris По умолчанию: класс управления TSM по умолчанию

Значения: любой допустимый класс управления TSM

Задает класс управления TSM, который должен использоваться для архивирования и получения связанных файлов. Если значение этой переменной не задано, используется класс управления TSM по умолчанию.
DB2_CORRELATED_PREDICATES Все По умолчанию: YES

Значения: YES или NO

Значение по умолчанию для этой переменной - YES. Если по соответствующим столбцам в объединении существуют индексы уникальности, и для этой переменной реестра задано значение YES, оптимизатор пытается выявить и компенсировать корреляцию предикатов объединения. Если для этой переменной реестра задано значение YES, оптимизатор использует информацию KEYCARD статистики индексов уникальности, чтобы выявить случаи корреляции, и динамически настраивает совместную избирательность коррелирующих предикатов, таким образом получая более точную оценку размера и стоимости объединения.
DB2_VI_DEVICE Windows NT По умолчанию=null

Значения: nic0 или VINIC

Задает символическое имя устройства или Virtual Interface Provider Instance, связанного с платой сетевого интерфейса Network Interface Card (NIC). Все независимые производители оборудования (Independent hardware vendors, IHV) производят собственные NIC. На одном компьютере Windows NT можно установить только одну (1) NIC; несколько логических узлов на одном физическом компьютере будут совместно использовать одну и ту же NIC. Символическое имя устройства "VINIC" должно задаваться в верхнем регистре; его можно использовать только для соединений Synfinity. Для всех других поддерживаемых в настоящее время реализаций используйте в качестве символического имени устройства имя "nic0".
DB2_SELECTIVITY Все По умолчанию=NO

Значения: YES или NO

Эта переменная реестра управляет тем, где может использоваться условие SELECTIVITY. Подробности об условии SELECTIVITY смотрите в разделе Language Elements, Search Conditions справочника SQL Reference.

Если эта переменная реестра имеет значение YES, условие SELECTIVITY можно указывать для базового предиката, по крайней мере одно из выражений которого содержит переменные хоста.

DB2_UPDATE_PART_KEY Все По умолчанию: YES

Значения: YES или NO

Для пакета исправлений FixPak 3 и новее значение по умолчанию - YES. Эта переменная реестра задает, разрешено или нет изменение ключа разделения.
DB2_BLOCK_ON_LOG_DISK_FULL Все По умолчанию=NO

Значения: YES или NO

С помощью этой переменной реестра DB2 можно предотвратить генерирование сообщений об ошибках заполнения диска ("disk full"), когда DB2 не может создать новый файл журнала по действующему пути журналов.

Вместо этого DB2 будет пытаться создавать файл журнала каждые 5 минут, пока операция не завершится успешно. После каждой попытки DB2 записывает сообщение в файл db2diag.log. Единственный способ убедиться, что программа зависает из-за переполнения диска - это следить за файлом db2diag.log.

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

DB2_INDEX_2BYTEVARLEN Все По умолчанию=NO

Значения: YES или NO

Эта переменная реестра позволяет задавать в качестве части ключа индекса столбцы длиной более 255 байт. У индексов, созданных до задания для этой переменной реестра значения YES, для ключей по-прежнему останется предельное ограничение 255. Индексы, созданные после задания для данной переменной реестра значения YES, будут вести себя как двухбайтные индексы, если для этой переменной реестра вновь задать значение NO.

Изменения для этой переменной реестра влияют на несколько операторов SQL, в том числе CREATE TABLE, CREATE INDEX и ALTER TABLE. Дополнительную информацию об этих операторах смотрите в изменениях для справочника SQL Reference.

DB2_FORCE_FCM_BP AIX По умолчанию=NO

Значения: YES или NO

Задает, откуда выделяются ресурсы менеджера FCM. Его ресурсы могут выделяться либо из сегмента совместно используемой памяти менеджера баз данных, либо из отдельного сегмента. Эту переменную реестра следует использовать, если на одном компьютере есть несколько логических узлов. В системе многораздельной базы данных с разрешенной симметричной многопроцессорной обработкой (SMP) значение этой переменной среды реестра не влияет на установление связи. В этом случае связь всегда осуществляется через совместно используемую память. Однако от этой переменной зависит число сегментов совместно используемой памяти, которое будет использовать DB2.
DB2_AWE Windows 2000 По умолчанию: Null

Значения: <запись>[; <запись>;...], где <запись>=<ID пула буферов>, <число физических страниц>, <число окон адресации>

Позволяет DB2 UDB в Windows 2000 выделять пулы буферов, где используется до 64 Гбайт памяти. Для поддержки пулов буферов Address Windowing Extensions (AWE) нужно правильно сконфигурировать Windows 2000. Надо установить для данного пользователя в Windows 2000 "lock pages in memory"-right, и задать эту переменную реестра в DB2. При задании этой переменной нужно знать ID пула буферов, который будет использоваться для поддержки AWE. Кроме того, надо определить выделяемое число физических страниц и число окон адресации.

Информацию об определении числа выделяемых физических страниц и числа окон адресации смотрите выше в данном документе: "Глава 8. Производительность работы", раздел "Управление пулом буферов базы данных".
Прим.:Если поддержка AWE включена, расширенная память (ESTORE) не может использоваться ни для каких пулов буферов в базе данных. Пулы буферов, на которые действует эта переменная, должны уже существовать в SYSIBM.SYSBUFFERPOOLS.

DB2_STPROC_LOCKUP_FIRST Все По умолчанию=NO

Значения: YES или NO

Эта переменная реестра раньше называлась DB2_DARI_LOOKUP_ALL.
DB2MEMDISCLAIM AIX По умолчанию: YES

Значения: YES или NO

В AIX память, используемая процессами DB2, может иметь некоторое связанное пространство подкачки. Это пространство подкачки может оставаться зарезервированным, даже если была освобождена связанная с ним память. Резервирование пространства подкачки зависит от правил управления выделением настраиваемой виртуальной памяти системы AIX. Эта переменная реестра задает, будут ли агенты DB2 явно требовать, чтобы AIX отсоединяла зарезервированное пространство подкачки от освобожденной памяти.

Значение "YES" предполагает меньшие требования к пространству подкачки и возможно меньшую активность диска, связанную с подкачкой. Значение "NO" предполагает большие требования к пространству подкачки и возможно большую активность диска, связанную с подкачкой. В некоторых ситуациях, например, при избыточном пространстве подкачки и избыточной реальной памяти, где подкачки никогда не происходит, значение NO обеспечит небольшое улучшение производительности.

DB2MEMMAXFREE Все По умолчанию: 8388608 байт

Значения: от 0 до 232-1 байт

Эта переменная реестра управляет максимальным объемом неиспользуемой памяти в байтах, сохраняемой процессами DB2.
DB2_ANTIJOIN Все По умолчанию: NO - в среде EEE

По умолчанию: YES - в других средах (не EEE)

Значения: YES или NO

Для сред DB2 Universal Database EEE: Если задать YES, оптимизатор будет искать возможности преобразования подзапросов NOT EXISTS в антиобъединения, которые DB2 может обрабатывать более эффективно. Для других сред (не EEE): Если задать NO, оптимизатор ограничит возможности преобразования подзапросов NOT EXISTS в антиобъединения.
NEWLOGPATH2 UNIX По умолчанию=NO

Значения: YES или NO

Этот параметр позволяет задать, будет ли использоваться второй путь для реализации двойной регистрации в журналах. Путь, который будет использоваться, генерируется добавлением символа '2' к текущему значению 'LOGPATH'.

DB2DOMAINLIST Windows NT По умолчанию: Null

Значения: один или несколько допустимых доменов Windows NT (через запятую)

Определяет один или несколько доменов Windows NT. Требования на соединение или подключение будут приниматься только от пользователей, принадлежащих этим доменам.

Эту переменную реестра следует использовать только в чистой среде доменов Windows NT с серверами DB2 и клиентами, где запускается DB2 Universal Database Версии 7.1 (или новее).

DB2_LIKE_VARCHAR Все По умолчанию: Y,N

Значения: Y, N, S, константа с плавающей запятой от 0 до 6,2

Управляет собранием и использованием статистики подэлементов. Это статистика о содержимом данных в столбцах, когда структура данных имеет вид последовательностей подполей и подэлементов, разделенных пробелами.

От этой переменной реестра зависит, как оптимизатор поступает с предикатом данной формы:

   COLUMN LIKE '%xxxxxx%'

где xxxxxx - любая строка символов.

Следующий синтаксис показывает, как используется эта переменная реестра:

   db2set DB2_LIKE_VARCHAR=[Y|N|S|num1] [,Y|N|S|num2]
где
  • Элемент перед запятой или единственный элемент справа от предиката означает следующее (только для столбцов без позитивной статистики подэлементов):
    • S - Оптимизатор оценивает длину каждого элемента в сериях элементов, сочлененных в форме столбца на основе длины строки, заключенной в символы %.
    • Y - Значение по умолчанию. Использовать для параметра алгоритма значение по умолчанию 1,9. Использовать с параметром алгоритма алгоритм подэлементов с переменной длиной.
    • N - Использовать алгоритм подэлементов с постоянной длиной.
    • num1 - Использовать num1 в качестве параметра алгоритма с алгоритмом подэлементов с переменной длиной.
  • Элемент после запятой означает следующее:
    • N - Значение по умолчанию. Не собирать статистику использования подэлементов.
    • Y - Собирать статистику подэлементов. Использовать алгоритм подэлементов с переменной длиной, использующий собранную статистику совместно со значением по умолчанию 1,9 для параметра алгоритма в случае столбцов с позитивной статистикой подэлементов.
    • num2 - Собирать статистику подэлементов. Использовать алгоритм подэлементов с переменной длиной, использующий собранную статистику совместно со значением num2 в качестве параметра алгоритма для столбцов с позитивной статистикой подэлементов.
DB2_PINNED_BP AIX, HP-UX По умолчанию=NO

Значения: YES или NO

Эта переменная используется для хранения глобальной памяти базы данных (включая пулы буферов), связанной с базой данных, в главной памяти на нескольких операционных системах AIX. Хранение этой глобальной памяти базы данных в главной памяти системы позволяет улучшить производительность базы данных.

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

При работе с HP-UX в 64-битной среде, кроме изменения этой переменной реестра, нужно также предоставить привилегию MLOCK группе экземпляра DB2. Для этого пользователь с правами доступа ROOT должен выполнить следующее:

  1. Добавить группу экземпляра DB2 в файл /etc/privgroup. Например, если группа экземпляра DB2 принадлежит группе db2iadm1, в файл /etc/privgroup надо добавить следующую строку:

    db2iadm1 MLOCK

  2. Выполнить следующую команду:

    setprivgrp -f /etc/privgroup

DB2_RR_TO_RS Все По умолчанию=NO

Значения: YES или NO

Блокировка следующего ключа гарантирует уровень изоляции Многократное чтение (RR), автоматически блокируя следующий ключ для всех операторов INSERT и DELETE и следующее большее значение ключа для набора результатов для операторов SELECT. Для операторов UPDATE, которые изменяют части ключей в индексе, исходное значение ключа удаляется, а новое значение - вставляется. Блокировка следующего значения при этом производится и для вставки ключа, и для удаления ключа. Блокировка следующего ключа требуется для обеспечения стандартного многократного чтения ANSI и SQL92 и используется в DB2 по умолчанию.

Если ваша программа останавливается или зависает, надо проверить информацию снимка для нее. Если есть подозрение, что проблема связана с блокировкой следующего ключа, можно включить переменную реестра DB2_RR_TO_RS, принимая во внимание следующие условия. Переменную DB2_RR_TO_RS можно включить, если никакие программы не полагаются на эффекты многократного чтения(RR) и если при просмотре приемлем пропуск непринятых удалений. Такой пропуск повлияет на уровни изоляции Многократное чтение (RR), Стабильность чтения (RS) и Стабильность на уровне указателя (CS). (Для уровня изоляции Чтение непринятого (UR) блокировка строк не используется.)

Если переменная DB2_RR_TO_RS включена, поведение RR при просмотре не может быть гарантировано, поскольку при вставке и удалении ключей индекса блокировка следующего ключа не выполняется. На таблицы каталогов эта опция не влияет.

Другой эффект включения переменной DB2_RR_TO_RS - пропуск при просмотре удаленных, но непринятых строк, даже если эти строки могут быть отобраны для просмотра.


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]