По умолчанию функция автоматического перенаправления клиента повторяет |попытки соединения с базой данных до 10 минут. Однако при помощи следующих переменных среды можно более точно сконфигурировать |повтор попыток соединения:
|Если задать DB2_MAX_CLIENT_CONNRETRIES, но не задать |DB2_CONNRETRIES_INTERVAL, значение DB2_CONNRETRIES_INTERVAL по умолчанию равно 30.
|Если не задать DB2_MAX_CLIENT_CONNRETRIES, но задать |DB2_CONNRETRIES_INTERVAL, значение DB2_MAX_CLIENT_CONNRETRIES по умолчанию равно 10.
|Если DB2_MAX_CLIENT_CONNRETRIES и DB2_CONNRETRIES_INTERVAL не заданы, |функция автоматического перенаправления клиента по умолчанию работает, как описано выше.
|Примечание:
|Пользователи соединений типа 4 универсального драйвера JDBC DB2(R) |должны конфигурировать автоматическое перенаправление клиента при помощи |следующих двух свойств источника данных:
|Переменная реестра DB2TIMEOUT более не поддерживается. Этот параметр использовался для управления сроком ожидания при долгих запросах SQL для |клиентов Windows(R) 3.x и клиентов Macintosh. По умолчанию эта возможность была выключена.
| | |При создании контейнеров табличных пространств DB2 UDB создает все уровни каталогов, если они еще не существуют.
|Например, если задан контейнер /project/user_data/container1, а |каталог /project не существует, DB2 UDB создаст каталоги |/project и /project/user_data.
|Начиная с DB2 UDB Версии 8.2 FixPak 4, все каталоги, создаваемые DB2 UDB, создаются с маской разрешений 700. Это значит, что только у владельца есть доступ на чтение, запись и выполнение.
|Рассмотрим следующий сценарий с несколькими экземплярами:
|Поскольку при первом требовании DB2 UDB создала уровни каталогов |/project/user_data с маской разрешений 700, у пользователя user2 нет |доступа к этим уровням каталогов, и он не может создать в этих каталогах |container2. | В этом случае операция CREATE TABLESPACE завершается неудачно.
|Есть два способа разрешить этот конфликт:
|Формат имен контейнеров изменен; при этом изменены также ID табличных пространств и ID контейнеров. Новый формат:
<путь хранения>/<экземпляр>/NODE#### /T####### /C#######.<EXT>
где:
Начиная с DB2(R) Universal Database Версии 8.2.2 (эквивалентной Версии 8.1 FixPak 9), генерируемые столбцы можно использовать в индексах уникальности.
Генерируемые столбцы нельзя использовать в ограничениях, реляционных ограничениях, первичных ключах и глобальных временных таблицах. Таблицы, созданные с опцией LIKE, и материализованные производные таблицы не наследуют свойства генерируемых столбцов.
Если задать DB2WORKLOAD=SAP, пользовательское табличное пространство SYSTOOLSPACE и пользовательское временное табличное пространство SYSTOOLSTEMPSPACE не будут создаваться автоматически. Эти табличные пространства используются для таблиц, автоматически создаваемых следующими мастерами, утилитами или функциями:
Без табличных пространств SYSTOOLSPACE и SYSTOOLSTEMPSPACE нельзя использовать эти мастера, утилиты или функции.
Чтобы можно было использовать эти мастера, утилиты или функции, выполните одно из следующих действий:
CREATE REGULAR TABLESPACE SYSTOOLSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSPACE')
Выполнив одно из этих действий, создайте пользовательское временное табличное пространство (также только на узле каталога, если используется DPF). Например:
CREATE USER TEMPORARY TABLESPACE SYSTOOLSTMPSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSTMPSPACE')
Когда табличное пространство SYSTOOLSPACE и временное табличное пространство SYSTOOLSTEMPSPACE созданы, можно использовать указанные выше мастера, утилиты или функции.
Тип аутентификации DATA_ENCRYPT_CMP позволяет клиентам из предыдущих выпусков, не поддерживающим шифрование данных, соединяться с сервером, используя аутентификацию SERVER_ENCRYPT вместо DATA_ENCRYPT. Этот тип аутентификации не работает, если выполняются три следующих условия:
В этом случае клиент не сможет соединяться с сервером. Чтобы он мог соединяться с сервером, нужно либо обновить клиент до Версии 8, либо использовать шлюз Версии 8 FixPak 6 или более ранней.
Прямой ввод-вывод (DIO) повышает производительность памяти, поскольку при нем не используется кэширование на уровне файловой системы. Это уменьшает затраты времени процессора и увеличивает объем памяти, доступной для экземпляра базы данных.
При параллельном вводе-выводе (CIO) используются преимущества DIO, а также упрощается преобразование в последовательную форму при операциях записи данных.
DB2 Universal Database (UDB) поддерживает DIO и CIO в AIX и поддерживает DIO в HP-UX, операционной среде Solaris, Linux и Windows.
Ключевые слова NO FILE SYSTEM CACHING и FILE SYSTEM CACHING в операторах SQL CREATE TABLESPACE и ALTER TABLESPACE позволяют задать, нужно ли использовать DIO или CIO для табличного пространства. Если задано ключевое слово NO FILE SYSTEM CACHING, DB2 UDB пытается, если это возможно, использовать CIO. В случаях, когда CIO не поддерживается (например, если используется JFS), вместо него используется DIO.
Дополнительную информацию смотрите в статье "Improve database performance on file system containers in IBM DB2 UDB Stinger using Concurrent I/O on AIX", которую можно найти по адресу:
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0408lee/
Следующая информация входит в книгу Руководство администратора: Реализация Приложение B "Использование автоматического перенаправления клиентов":
Возможность автоматического перенаправление клиента DB2 Universal Database для Linux, UNIX, и Windows позволяет клиентским прикладным программам восстанавливать работоспособность после потери связи с сервером, автоматически восстанавливая соединение клиента с сервером, благодаря чему они могут продолжать работу после минимального перерыва.
При обрыве соединения клиента с сервером, приходящие от клиента требования повторного соединения направляются диспетчером связи (например, WebSphere EdgeServer) на заданный набор систем
Технологию диспетчера связи можно использовать в средах такого типа:
Клиент -> Диспетчер связи -> (сервер 1 DB2 Connect или сервер 2 DB2 Connect) -> DB2 z/OS
где:
Клиент вносится в каталог с использованием диспетчера связи DThostname, чтобы применить технологию диспетчера связи для доступа к одному из серверов DB2 Connect. Промежуточный диспетчер связи решает, какой сервер использовать - GWYhostname1 или GWYhostname2. Когда это решение принято, клиенту предоставляется прямое соединение с одним из этих двух шлюзов DB2 Connect. Когда установлено соединение гнезда с выбранным сервером DB2 Connect, получается обычное соединение клиента с сервером DB2 Connect и затем с DB2 z/OS.
Например, пусть диспетчер связи выбрал сервер GWYhostname2. Получается следующая среда связи:
Клиент -> Сервер 2 DB2 Connect -> DB2 z/OS
При сбоях связи диспетчер связи не восстанавливает соединение. Если вы хотите включить для базы данных функцию автоматического перенаправления клиентов в такой среде, нужно сконфигурировать в качестве диспетчера связи (DThostname) альтернативный сервер для соответствующих баз данных на сервере DB2 Connect (сервер 1 DB2 Connect или сервер 2 DB2 Connect). Теперь если сервер 1 DB2 Connect по какой-либо причине станет недоступен, запустится автоматическое перенаправление клиентов и соединение клиента будет устанавливаться заново с использованием диспетчера связи в качестве и первичного, и альтернативного сервера. Это позволяет совместно использовать возможности диспетчера связи с функцией автоматического перенаправления клиентов DB2. Если в качестве альтернативного сервера задать другое имя хоста (не хост диспетчера связи), клиенты по-прежнему смогут использовать функцию автоматического перенаправления клиентов. Однако клиенты будут устанавливать соединения напрямую с заданным альтернативным сервером и не будут использовать технологию диспетчера связи и ее преимущества.
Функция автоматического перенаправления клиентов перехватывает следующие sqlcodes:
Необходимо иметь в виду следующие два вопроса, касающихся связи с альтернативным сервером при помощи сервера DB2 Connect:
Прикладные программы, работающие в контексте учетной записи локальной системы (local system account, LSA), поддерживаются на всех платформах Windows, кроме Windows ME.
Оператор CONNECT и команда ATTACH поддерживают двухчастные ID пользователей. Спецификатор ID пользователя, совместимого с SAM, - это имя в стиле NetBIOS, у которого максимальная длина - 15 символов. Эта возможность не поддерживается в Windows ME.
Можно переопределить имя принципала сервера Kerberos, используемое сервером DB2(R) Universal Database (UDB) в операционных системах UNIX(R) и Linux(TM). Задайте в переменной среды DB2_KRB5_PRINCIPAL нужное полное имя принципала сервера. Затем нужно перезапустить экземпляр, поскольку DB2 UDB распознает имя принципала сервера только после запуска db2start.
Предварительные требования для поддержки Kerberos Linux неточно описаны в документации. Существующий модуль защиты Kerberos DB2 поддерживается сервером Red Hat Enterprise Linux Advanced Server 3 с клиентом IBM Network Authentication Service (NAS) 1.4.
Для соединения с zSeries и iSeries база данных должна быть каталогизирована с явно заданными именами параметров AUTHENTICATION KERBEROS и TARGET PRINCIPAL.
Ни zSeries, ни iSeries не поддерживают множественную аутентификацию.
Далее, во всех случаях в журнале администратора DB2 или в журнале db2diag.log будет записано "Logon failed" или "Logon denied".
The Local Security Authority cannot be contactedЭта ошибка возникает из-за того, что Windows сначала ищет локального пользователя. Проблему решает указание полного спецификатора пользователя в строке соединения. Например:
name@DOMAIN.IBM.COM
Чтобы определить, сконфигурированы ли учетные записи Windows для использования шифрования DES, посмотрите панель Свойства учетной записи в меню Active Directory. После изменения свойств учетной записи может потребоваться перезапуск.
хост/<имя хоста сервера>@<имя домена сервера>Например:
host/myhost.domain.ibm.com@DOMAIN.IBM.COMЕсли этого не сделать, надо будет запускать службу DB2 под допустимой учетной записью домена.