IBM DB2 Universal Database Замечания по выпуску Версия 8.2 FixPak 4 (эквивалентна Версии 8.1 FixPak 11) и последующие пакеты FixPak Перед тем как использовать данный документ и продукт, описанный в нем, прочтите общие сведения под заголовком Замечания. Этот документ содержит информацию, которая является собственностью IBM. Она предоставляется в соответствии с лицензионным соглашением и защищена законами об авторском праве. Информация в данной публикации не включает никаких гарантий на продукт и никакое из утверждений в данном руководстве не следует понимать подобным образом. Заказать публикации IBM можно через Интернет или у местного представителя IBM. * Чтобы заказать публикации через Интернет, перейдите на Web-страницу Центра публикаций IBM (IBM Publications Center): www.ibm.com/shop/publications/order * Чтобы найти местное представительство IBM, перейдите на страницу IBM Directory of Worldwide Contacts по адресу www.ibm.com/planetwide Чтобы заказать публикации DB2 через отдел DB2 Marketing and Sales в Соединенных Штатах или Канаде, позвоните по телефону 1-800-IBM-4YOU (426-4968). Отсылая информацию IBM, вы тем самым даете IBM неисключительное право использовать или распространять эту информацию любым способом, как фирма сочтет нужным, без каких-либо обязательств перед вами. Copyright International Business Machines Corporation 2002, 2005. Все права защищены. Содержание О замечаниях по выпуску Об этом выпуске Новое в этом выпуске Хронология исправлений продукта Вопросы совместимости Совместимость с ранними версиями Совместимость программных продуктов Информация об установке, перенастройке, обновлении и конфигурировании Требования к аппаратному и программному обеспечению Замечания по установке Новые опции мастера по установке DB2 (Windows) Изменения в мастере по установке DB2 (Windows) Ограничения при установке с улучшенной защитой (Windows) Путь каталога не может содержать пробелов (Linux и UNIX) Требования для Red Hat Enterprise Linux 4 Уровни JDK для DB2 UDB (Linux на IA64 и Linux на POWER) Распаковка сжатых установочных образов (Linux и UNIX) DB2 UDB не допускает использование национальных символов в пути установки (Windows) Загрузка и распаковка пакетов FixPaks для нескольких продуктов (Windows) Установка DB2 UDB из установочных образов (Linux и UNIX) Установка DB2 UDB из установочных образов (Windows) Дисковое пространство, необходимое для установки DB2 UDB с помощью файла ответов Ограничения на добавление продуктов с помощью команды db2setup (Linux и UNIX) Инструменты Web DB2 Связывание пакетов Query Patroller после применения пакетов FixPak Установка Query Patroller на уровне FixPak 3 и новее Установка сервера Query Patroller Определение новой группы разделов базы данных в Query Patroller Установка инструментов клиента Query Patroller Повторное создание баз данных из бета-версий Установка файлов MDAC для национальных языковых версий DB2 UDB Лицензионные правила DB2 для DB2 Universal Database Workgroup Server Edition Установка дополнительных азиатских шрифтов (Linux) Конфигурирование Центра разработки для использования комплектов Java Development Kit (Linux) Создание групповых и пользовательских ID в United Linux 1.0 и дистрибуциях SuSE Linux Демон справочной системы не запускается после установки с помощью команды db2_install (UNIX и Linux) Включение Ready for Tivoli (UNIX) Инструмент сокращения установочного образа - db2iprune (Windows) Ограничение установки документации DB2 Universal Database Версии 8 (Windows) Обновление предыдущих установок до последнего уровня (Windows) Системные требования для DB2 .NET Data Provider (Windows) Установка клиентов DB2 Версии 8 и DB2 Connect PE без полномочий администратора (Windows) Замечания по перенастройке Технические замечания по db2updv8 После запуска db2updv8 не поддерживается возврат к Версии 8.1 Перенастройка таблиц EXPLAIN Перенастройка модуля XML Extender из предыдущих версий Перенастройка DB2 Universal Database при использовании DataJoiner или репликации Перенастройка DB2 Universal Database (Windows) Перенастройка базы данных DB2 Версии 8 из 32-битной системы Windows в 64-битную систему Windows Перенастройка в DB2 UDB Версии 8.2.2 из Версии 7 в среде MSCS Перенастройка баз данных (HP-UX на IA64) Информация деинсталляции Деинсталляция DB2 UDB в режиме без вывода сообщений (Windows) Код продукта для удаления Информационного центра DB2в автоматическом режиме (Windows) Известные ограничения, проблемы и обходные приемы Ограничения db2look - Ограничение для табличного пространства автоматического хранения Табличная функция SNAP_GET_DB возвращает неполные результаты IMPORT REPLACE игнорирует условие Not Logged Initially Данные длинных полей и больших объектов нельзя реорганизовать при реорганизации таблицы INPLACE ("на месте") Стратегия блокировок в указателях с блокированием может выглядеть непоследовательной для клиентских программ Экспорт данных ODBC в прикладную программу файлового хранилища Типы данных, не поддерживаемые во встроенном отладчике SQL Центра разработки Структурированные типы в Центре разработки Ограничения Центра разработки в 64-битных операционных системах Центр разработки (Linux) Отладка хранимых процедур с символами двойных кавычек Задание необходимых путей для компиляции процедур Java в Центре разработки Ограничения Центра разработки на одновременное выполнение и отладку хранимых процедур Java Метод DB2SystemMonitor.getServerTimeMicros не поддерживается Должен быть установлен компилятор IBM XL C/C++ среды времени выполнения (Linux на системах iSeries и pSeries, 64-битная) Универсальный драйвер JDBC типа 2 не поддерживается в DB2 UDB Версии 8.2.2 (Linux AMD64 ) Указатели в прикладных программах PHP Ограничение, связанное с ключевым словом ConnectNode конфигурации CLI/ODBC Ограничение, связанное с функцией SQLColumns (CLI) Ограничения на опции связывания для пакетов CLI Ограничение, связанное с утилитой CLI LOAD Не поддерживается создание базы данных каталога инструментов (Linux for AMD64) Не поддерживается создание базы данных каталога инструментов (AIX, операционная среда Solaris и HP-UX) Ограничения на память для DB2 UDB Express и DB2 Workgroup Server Edition V8.2 Планирование периодического запуска процесса хранилища Ограничения поддержки SNA в Версии 8 Сложности и ограничения, связанные с подключаемым модулем защиты для клиентов DB2 UDB (Windows) Ошибки при сообщении об успешной регистрации во время попытки соединения (AIX) Не поддерживается двухчастный ID пользователя (Windows ME) При загрузке или импорте на странице Столбцы не поддерживаются символы DBCS в файлах IXF Инструменты GUI для операционных систем Linux на AMD64 Минимальные параметры дисплея для инструментов с графическим интерфейсом Неправильный показ символов GB18030 в полосе заголовка окна Таблицы Центра каталогов данных не могут быть многораздельными Ограничения Query Patroller при отключении DYN_QUERY_MGMT Таблицы результатов Query Patroller теперь используют схему DB2QPRT Ограничения индикатора работоспособности Известные проблемы и обходные приемы Экспорт в файл IXF с индексами к столбцам, содержащим символы - и + Ошибка CLI0116E или SQL0428N при вызове API db2ReadLog Команда "db2gcf -k" завершается неудачно в DB2 UDB Workgroup Server Edition Ошибка SQL1224 оболочки DRDA (AIX) Не работают горячие клавиши в Microsoft Visual Studio .NET Framework 1.1 Национальная версия на упрощенном китайском (AIX) Национальная версия на упрощенном китайском (Red Hat Linux) Несовместимость менеджера драйверов Merant (UNIX) NFS APAR IY32512 - Недоступные потоки (AIX) Ошибка опции прекомпилятора SQLFLAG(STD) При использовании Sysplex в DB2 Connect нужно включить объединение соединений в пул DB2 Connect Custom Advisor Создание базы данных каталога инструментов завершается неудачно (HP-UX) Вывод индийских символов в инструментах GUI DB2 Инструменты с графическим интерфейсом не поддерживаются для серверов zSeries (Linux) Заключайте условие поиска в Информационном центре DB2 в кавычки, если оно содержит числа При импорте файлов языка тегов не генерируется файл журнала Центра каталогов данных Связывание пакетов Query Patroller Порты недоступны через Query Patroller (Windows) Защищенные среды (Windows) Переименованы программы примеров XML Extender Анализ в XML Extender документов, содержащих неуникальные имена атрибутов и элементов Различия между SNA и TCP/IP при использовании DB2 Connect Изменения в документации Руководство администратора: Реализация Конфигурация автоматического перенаправления клиента (DB2_MAX_CLIENT_CONNRETRIES и DB2_CONNRETRIES_INTERVAL) Пояснение относительно переменной реестра DB2TIMEOUT Каталоги, создаваемые при создании контейнера табличных пространств Автоматическое хранение Определение генерируемого столбца для существующей таблицы Групповые переменные реестра Особенности аутентификации удаленных клиентов Поддержка прямого ввода-вывода (DIO) и параллельного ввода-вывода (CIO) Технология диспетчера связи и автоматическое перенаправление клиентов Особенности автоматического перенаправления клиента при каталогизации на сервере DB2 Connect Поддержка учетной записи локальной системы (Windows) Поддержка двухчастного ID пользователя Подробности аутентификации Kerberos Дополнительная информация для поддержки Kerberos Руководство администратора: Производительность Сравнение переменной реестра DB2_FORCE_FCM_BP в 32-битной и 64-битной средах После создания таблиц рекомендуется запуск RUNSTATS Новый код причины для SQL1169N Стратегии оптимизации для таблиц MDC Пояснения к описанию параметров конфигурации NEWLOGPATH, MIRRORPATH и OVERFLOWLOGPATH Значение DB2_COLLECT_TS_REC_INFO по умолчанию Утилита ограничения ресурсов Выбор способа реорганизации таблицы Поддержка больших страниц для памяти FCM (AIX 5L, 64-битная) В файле, указанном в переменной реестра DB2_RESOURCE_POLICY, можно использовать новый элемент Новые системные переменные среды (Linux) Новая переменная связи в реестре Новая переменная производительности Переменные компилятора SQL Изменения в параметрах конфигурации Файл параметров конфигурации базы данных SQLDBCONF Изменение значения по умолчанию DB2_HASH_JOIN Переменная реестра DB2NTNOCACHE устарела Таблицы объяснения и организация информации объяснений Рекомендации по сбору информации объяснения Дополнительные коды возврата из API db2CfgGet, параметр collate_info Автоматическое задание размера предварительной выборки по умолчанию и значений по умолчанию для изменения Руководство администратора: Планирование Таблицы с кластеризацией по диапазонам Проектирование табличного пространства каталога Поддерживаемые коды регионов и кодовые страницы Функции XA, поддерживаемые DB2 Universal Database Измененные значения TPM и tp_mon_name для строковых форматов xa_open Активация таблиц преобразования для кодовых страниц 923 и 924 Файл таблиц преобразования для кодовых страниц с поддержкой символа евро Справочник по API Разъяснение о структуре записи журнала Параметр oBackupsize функции API db2Backup Поддержка опции SYNCPOINT Новое поле для структуры SQLEDBDESC Поправка о новом поле в структуре SQLB-TBSPQRY-DATA Разработка прикладных программ: Построение и запуск прикладных программ Примеры динамического реконфигурирования (AIX) Поддерживаемые программы разработки Linux Настройка опций прекомпиляции и связывания для процедур SQL Требуется опция компиляции C/C++ (Linux на 64-битном POWER) Команда компиляции и компоновки для хранимых процедур Micro Focus COBOL (HP-UX) Минимальная поддерживаемая версия Micro Focus COBOL (HP-UX) Задание переменных среды для хранимых процедур Micro Focus COBOL (Windows) Разработка прикладных программ: Интерфейс уровня вызовов (CLI) Ключевое слово конфигурации CLI/ODBC Trusted_Connection Изменение диагностической таблицы для функции SQLDescribeParam (CLI) Асинхронное выполнение интерфейса уровня вызовов Атрибут соединения SQL_ATTR_PING_DB Функция SQLBindParameter (CLI) Функция SQLMoreResults (CLI) Дополнительные атрибуты среды Требования для динамических указателей с прокруткой Ключевое слово конфигурации CLI/ODBC RetCatalogAsCurrServer Ключевое слово конфигурации CLI/ODBC ReceiveTimeout Атрибут соединения SQL_ATTR_RECEIVE_TIMEOUT Ключевое слово конфигурации CLI/ODBC Reopt Атрибут оператора и соединения SQL_ATTR_REOPT Ключевое слово конфигурации CLI/ODBC CurrentPackageSet Атрибут соединения SQL_ATTR_CURRENT_PACKAGE_SET Ключевое слово конфигурации CLI/ODBC MapBigintCDefault Ключевое слово конфигурации CLI/ODBC DescribeOutputLevel Разработка прикладных программ: Разработка прикладных программ клиента Соединения типа 4 универсального драйвера JDBC DB2 с DB2 для VM/VSE не поддерживаются Концентратор соединений и балансировка рабочей нагрузки Sysplex универсального драйвера JDBC DB2 Ключевое слово конфигурации CLI/ODBC OleDbReportIsLongForLongTypes Ключевое слово конфигурации CLI/ODBC OleDbSQLColumnsSortByOrdinal Группа свойств DB2 Data Source для IBM DB2 OLE DB Provider Неверный синтаксис URL в синтаксической диаграмме DB2Binder Перенаправление клиентов универсального драйвера JDBC DB2 Настройка свойств конфигурации универсального драйвера JDBC DB2 Удалена функция db2secFreeToken Требуется осторожность при внедрении пользовательских модулей защиты Модули защиты Интерфейсы API модулей защиты Соглашения об именах модулей защиты (Linux и UNIX) Ограничения на библиотеки модулей защиты Поддержка подключаемых модулей GSS-API для универсального драйвера JDBC DB2 Модули защиты GSS-API не поддерживают аутентификации с несколькими потоками Модули защиты GSS-API не поддерживают шифрование и подпись сообщений Неявное завершение транзакций в автономной программе Поддержка распределенных транзакций Разработка прикладных программ: Разработка прикладных программ сервера Несколько наборов результатов процедур общего языкового модуля (CLR) Режимы управления выполнением (условие EXECUTION CONTROL) подпрограмм общего языкового модуля (CLR) Максимальная десятичная точность и масштаб в подпрограммах общего языкового модуля (CLR) Command Reference Разъяснение о параметре команды db2licm - инструмента управления лицензиями Пример команды RESTORE DATABASE для TSM Примеры использования db2demigdbd Исправление замечания об использовании команды db2ckbkp Соглашения об именах для объектов баз данных и для ID Команда REORGCHK Команда REORG INDEXES/TABLE Команда BACKUP DATABASE Перенастройка баз данных db2inidb - команда инициализации зеркальной копии базы данных Замечание об использовании команды db2iupdt Новый параметр команды db2sqljcustomize Новый параметр команды sqlj Изменения в команде мониторинга и устранения неисправностей (db2pd) Изменение в команде SET CLIENT Изменение в команде PRECOMPILE Изменение в команде UPDATE HISTORY FILE Изменения в командах EXPORT и IMPORT Изменение в команде LOAD Модификаторы типов файлов для утилиты загрузки Модификаторы типов файлов для утилиты импорта Команда ATTACH Команда RECOVER DATABASE Команда UPDATE HISTORY FILE db2updv8 - Команда обновления базы данных до текущего уровня версии 8 Форматирование файлов перехвата (Windows) Перемещение данных Файлы связывания, используемые утилитами экспорта, импорта и загрузки Использование импорта с буферизованными операциями вставки При использовании утилиты импорта теряется информация индексов Восстановление данных и высокая доступность Обзор резервного копирования Использование резервного копирования Обзор высокой доступности - восстановления после аварий (High availability disaster recovery, HADR) Поддержка межплатформенного резервного копирования и восстановления Резервное копирование на ленту (Linux) Tivoli Storage Manager Ограничения на значения параметров локального хоста и локальной службы HADR Дополнительные требования к системе для HADR Нереплицируемые операции для HADR HADR не поддерживает журналы на непосредственных устройствах Сравнение монитора ошибок и монитора работоспособности Отключение монитора ошибок Центр хранилищ данных Настройка среды клиента хранилища в операционных системах AIX и Solaris Изменение конфигурации менеджера баз данных перед установкой преобразователей хранилища В Центр хранилищ данных добавлена переменная среды VW_NETRC (UNIX) Центр хранилищ данных DB2 требует базу данных в формате Unicode Определение источников и потребителей хранилища DB2 Изменения в учебном пособии по бизнес-аналитике Задание порога очистки для файлов журналов хранилища Центр хранилищ данных поддерживает загрузку с положения указателя Перенастройка и ограничения управляющих баз данных хранилища в формате Unicode Изменение в формате даты столбца Изменено Определение статистических преобразователей в Центре хранилищ данных Подготовка к установке агентов хранилища Предварительные требования для агента хранилища iSeries DB2 .NET Data Provider Поддержка одновременных активных процессов чтения данных Свойство DB2Connection.ConnectionString DB2 Connect Изменение процесса согласования типа аутентификации через шлюз Новый сценарий защиты Исправления в диаграммах Центр разработки Для Центра разработки DB2 Версии 8.2 требуется отладчик IBM Distributed Debugger Версии 9.2.9 Ограничение на длину в окне Изменить диапазон переменной Центра разработки DB2 Ограничения на драйверы DB2 Universal type 2 и type 4 Инструменты GUI Изменение символа завершения оператора Недоступное состояние базы данных на панели Подробности баз данных Центра управления Генерация опции записи в таблицы по умолчанию (Создать монитор событий) Центр каталогов данных Примеры сценариев конфигурации Конфигурирование Web-сервера Дополнение по установке и настройке Файл конфигурации узлов DB2 - db2nodes.cfg Переменная реестра DB2NOLIOAIO заменена на DB2LINUXAIO (Linux) Сервер прикладных программ для DB2 UDB Включение встроенного сервера прикладных программ DB2 Установка DB2 Web Tools Прямой ввод-вывод на блочном устройстве (Linux) Демон Информационного центра DB2 (Linux и UNIX) Ключевые слова файла ответов и примеры файлов Коды ошибок установки с помощью файла ответов Учетные записи пользователей, необходимые для установки серверов DB2 (Windows) Поддержка асинхронного ввода-вывода (Linux) Команда db2ln изменена для возможности создания связей 64-битной библиотеки DB2 UDB (Linux и UNIX) Query Patroller Изменение поведения класса запросов Изменения определений для состояний управляемых запросов Создание таблиц объяснения до запуска генератора данных хронологии Query Patroller Проверка файлов журнала Query Patroller для хронологического анализа Аварийное завершение генератора данных хронологии Динамическое изменение классов запросов Поведение вложенных запросов Ограничения по типам операторов SQL Ограничение на разрешение экрана при использовании клиента Terminal Services Новая поддержка групп для подачи запросов Ограничения расписания Query Patroller Для использования команды RUN IN BACKGROUND QUERY требуется авторизация Создание алиаса для таблицы результатов У ID изолированного пользователя должен быть доступ для записи в файл qpdiag.log и его каталог Быстрый старт Обновление Информационного центра DB2, установленного на вашем компьютере или на сервере интранета Требования к памяти Пояснения к поддержке клиента DB2 UDB Изменение параметров ядра (Linux) Модификация параметров ядра (операционная среда Solaris) Руководство DB2 Universal Database Express Edition Version 8.2 Basics доступно для загрузки Проверка готовности баз данных к перенастройке Сертификация Common Criteria для DB2 UDB Модуль Spatial Extender Проверка правильности установки Spatial Extender Управляющие подпрограммы SQL В документации указано неверное имя столбца в наборе результатов для табличной функции SNAP_GET_DYN_SQL Для табличных функций монитора снимков есть производные таблицы для конкретной версии Для процедуры GET_DB_CONFIG требуется пользовательское временное табличное пространство с размером страницы не менее 8 Кбайт SQL Reference Полномочия для оператора CREATE PROCEDURE (SQL) EXPLAIN_DIAGNOSTIC: Новая таблица объяснения EXPLAIN_DIAGNOSTIC_DATA: Новая таблица объяснения Схема, используемая возможностью объяснения Строчные представления значений даты и времени Системный монитор Краткое описание индикаторов работоспособности Вывод отсоединенных прикладных программ не требует соединения с концентратором Мониторинг процесса отката времени выполнения XML Extender Изменение параметра для хранимых процедур dxxGenXML, dxxGenXMLClob, dxxRetrieveXML и dxxRetrieveXMLClob Анализ документов XML с преобразованием в данные DB2 UDB Анализ документов размером больше 1 Мбайта Конфигурирование пользовательских функций MQ XML при помощи XML Extender Переменная среды XML Extender DB2DXX_MIN_TMPFILE_SIZE Переопределение пользовательского типа DB2XML.XMLVarchar Приложение A. Структура каталога компакт-диска DB2 UDB FixPak Приложение B. Как связаться с IBM B.1 Информация о продукте Приложение C. Замечания C.1 Товарные знаки О замечаниях по выпуску Содержание Замечания по выпуску содержат последнюю информацию по следующим продуктам DB2 Версии 8: DB2(R) Universal Database Personal Edition DB2(R) Universal Database(TM) Workgroup Server Edition DB2(R) Universal Database(TM) Workgroup Server Unlimited Edition DB2 Universal Database(TM) Enterprise Server Edition DB2 Personal Developer's Edition DB2 Universal Developer's Edition Менеджер хранилищ DB2 DB2 Warehouse Manager Sourcing Agent for z/OS(R) Менеджер связей данных DB2 DB2 Net Search Extender DB2 Spatial Extender DB2 Intelligent Miner(TM) Scoring DB2 Intelligent Miner(TM) Modeling DB2 Intelligent Miner(TM) Visualization DB2 Connect(TM) Application Server Edition DB2 Connect(TM) Enterprise Edition DB2 Connect(TM) Personal Edition DB2 Connect Unlimited Edition DB2 Query Patroller(TM) Разделы в Информационном центре DB2 (http://publib.boulder.ibm.com/infocenter/db2help/) обновляются регулярно, но возможно, не для каждого выпуска. С каждым выпуском поставляются замечания по выпуску, и не исключено, что важная информация будет передана именно в замечаниях по выпуску. Критическая информация оказывается в замечаниях по выпуску в следующих случаях: * Разделы Информационного центра DB2 для этого выпуска не обновляются * Важная информация была обнаружена на поздней стадии цикла разработки, после обновления Информационного центра DB2 Основным источником информации должен быть Информационный центр DB2. Замечания по выпуску надо просмотреть, чтобы проверить последние новости касательно конкретного выпуска вашего продукта DB2. Кроме того, надо просмотреть файл readme пакета FixPak, чтобы познакомиться с конкретными замечаниями касательно установки продукта DB2. Дальнейшие подробности об Информационном центре DB2 приведены в этом разделе под заголовком Дополнительные ресурсы. Информация о версии Наиболее свежая документация доступна в последней версии Информационного центра DB2 через браузер. URL для загрузки свежей версии документации приведен ниже в разделе Дополнительные ресурсы. Пометки в Замечаниях по выпуску DB2 UDB отмечают текст, который был добавлен или изменен. Вертикальная черта (|) отмечает информацию, которая была добавлена или изменена в текущем выпуске. Пути каталога В операционных системах Windows каталоги в пути разделяются обратной дробной чертой (\). В системах Linux и UNIX используется прямая дробная черта (/). Это соглашение соблюдается в Замечаниях по выпуску, когда информация зависит от платформы. Если же информация относится ко всем платформам, приводится только один вариант, и вам, возможно, понадобиться вводить информацию о пути каталога не так, как показано. Например, если у вас система Windows, в пути каталога надо вводить обратную дробную черту (\), даже если в Замечаниях по выпуску указана прямая дробная черта (/). И наоборот, если у вас система Linux или UNIX, в пути каталога надо вводить прямую дробную черту (\), даже если в Замечаниях по выпуску показана обратная дробная черта (\). DB2 Information Integrator Информацию об известных вопросах, связанных с DB2 Information Integrator и соответствующих технологиях, включая системы объединения, SQL-репликацию, Q-репликацию, публикацию событий, Web-службы и управление метаданными, смотрите в Замечаниях по выпуску DB2 Information Integrator. Замечаниях по выпуску DB2 Information Integrator можно найти на странице поддержки DB2 Information Integrator по адресу: http://www.ibm.com/software/data/integration/db2ii/support.html Дополнительные источники Самая свежая версия документации по DB2 находится в Информационном центре DB2 на сайте http://publib.boulder.ibm.com/infocenter/db2help/, а последние изменения включены в данные Замечания по выпуску. Вы можете также установить Информационный центр DB2 на свой компьютер или на сервер интранета с компакт-диска Документация по DB2 в формате HTML, поставляемого с данным продуктом DB2. Установив Информационный центр DB2, надо применить последний пакет FixPak для документации, доступный на сайте поддержки DB2 по адресу http://www.ibm.com/software/data/db2/udb/support/downloadv8_docfix.html. Однако пакеты FixPak для документации DB2 выпускаются не очень часто и могут не отражать последний уровень документации по DB2. Руководства по продуктам DB2 в формате PDF также обновляются не очень часто и могут не отражать последний доступный уровень. Сайт поддержки DB2 UDB содержит технические замечания и служебные заметки, в которых описаны изменения в документации и известные ограничения и обходные приемы, обнаруженные после создания этого документа. Адрес сайта поддержки DB2 UDB - http://www.ibm.com/software/data/db2/udb/support.html. Информация о перенастройке продуктов DB2 доступна по адресу http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21200005 (портал перенастройки DB2). Дополнительную информацию о Центре разработки DB2 и DB2 for z/OS смотрите по адресу http://www.ibm.com/software/data/db2/os390/spb/. Обновление книги Data Links Manager Administration Guide and Reference в формате PDF (номер книги SC27-1221-01), выпущенное одновременно с пакетом FixPak 1, можно загрузить с сайта поддержки DB2: http://www.ibm.com/software/data/db2/udb/support.html. Документацию по продукту DB2 Life Sciences Data Connect можно взять с сайта программного обеспечения IBM: http://www.ibm.com/software/data/db2/lifesciencesdataconnect/ Для получения последней информации о семействе продуктов DB2 оформите бесплатную подписку на журнал DB2 Magazine. Электронная версия журнала доступна по адресу http://www.db2mag.com; там же приводятся и инструкции по подписке. Об этом выпуске Новое в этом выпуске Этот раздел не обновлялся с Версии 8.2 FixPak 3 (эквивалентна Версии 8.1 FixPak 10). Подробности об исправлениях смотрите в разделе Хронология исправлений продукта в Замечаниях по выпуску. Кроме того, описание новых элементов данного выпуска можно найти в файле Readme для исправления FixPak. Хронология исправлений продукта Список исправлений (Authorized Program Analysis Reports, APAR) в этом пакете приведен на Web-странице: http://www.ibm.com/software/data/db2/udb/support/apars.html Вопросы совместимости Пометки отмечают текст, который был добавлен или изменен. Вертикальная черта ( | ) отмечает информацию, которая была добавлена или изменена для Версии 8.2 FixPak 4 (эквивалентна Версии 8.1 FixPak 11). Совместимость с ранними версиями Уровень Fixpak и установка новых продуктов Возможно, вам потребуется установить продукт DB2(R), уровень которого отличается от версии другого продукта DB2(R), установленного в настоящее время на данном компьютере. Продукты DB2 должны быть одного уровня. Если устанавливаемый продукт более позднего уровня, чем версия других продуктов DB2, установленных на том же компьютере, нужно будет обновить существующие продукты DB2 до этого более позднего уровня. Например, если вы устанавливаете DB2 Connect(TM) for iSeries(TM) с уровнем Fixpak 10, а установленные другие продукты DB2 с уровнем Fixpak 9, нужно перед установкой DB2 Connect(TM) for iSeries(TM) с уровнем Fixpak 10 применить Fixpak 10 для установленных в настоящее время продуктов DB2. Если же вы устанавливаете некоторый продукт на компьютер, на котором установлена более поздняя версия какого-то продукта DB2, следуйте таким правилам: В операционных системах Windows(R) Можно использовать пакет Fixpak для установки продукта напрямую в систему в тем же уровнем. После завершения установки можно добавить лицензию при помощи следующей команды: db2licm -a имя_файла где имя_файла - имя файла лицензии, который находится на исходном носителе в каталоге db2\license. Можно также добавить эту лицензию в каталог db2\license пакета Fixpak, тогда эта лицензия будет установлена при установке пакета. В операционных системах UNIX(R) и Linux(R) Предварительные требования Перед установкой дополнительных продуктов или компонентов необходимо остановить: * Существующие экземпляры DB2 * Сервер администратора DB2 (DAS) Нужно остановить те экземпляры и DAS, которые входят в установку DB2, куда будет установлен дополнительный продукт или компонент DB2. Более подробные инструкции смотрите в файле Readme для пакета FixPak. Порядок действий 1. Есть три метода установки дополнительного продукта или компонента с уровнем DB2, меньшим, чем уровень уже установленных в системе продуктов DB2. Выберите один из следующих методов: Запустите программу db2setup Запустите программу db2setup в интерактивном режиме с графическим интерфейсом или же в режиме без вывода сообщений с использованием файла ответов. При установке дополнительного продукта или компонента с помощью db2setup не выполняйте никакие действия по конфигурированию (например, создание экземпляров). Если в текущей системе нет DB2 DAS, а дополнительный продукт или компонент требует или поддерживает DB2 DAS, db2setup установит DB2 DAS в процессе установки. На некоторых платформах при создании DB2 DAS с помощью db2setup могут возникать ошибки. Это ожидаемые ошибки, их можно проигнорировать. Программа db2setup находится на компакт-диске продукта DB2 или в установочном образе для устанавливаемого дополнительного продукта или компонента. Подробная информация об использовании команды db2setup приведена в руководстве Command Reference (Справочник по командам) и документе Дополнение по установке и настройке. Запустите сценарий db2_install Сценарий db2_install устанавливает все компоненты, которые еще не установлены в вашей установке DB2, за исключением дополнительных языков (кроме английского) и компонентов сообщений на этих языках. Поэтому для установки новых продуктов или компонентов следует использовать db2_install, так как при этом не будут обновлены существующие компоненты DB2. Сценарий db2_install находится на компакт-диске продукта DB2 или в установочном образе для устанавливаемого дополнительного продукта или компонента. Подробная информация об использовании сценария db2_install приведена в документе Дополнение по установке и настройке. Используйте системную программу установки Используйте системную программу установки для установки новых продуктов или компонентов. Подробная информация об использовании системной программы установки приведена в документе Дополнение по установке и настройке. 2. После установки дополнительного продукта или компонента нужно выполнить следующие задачи: a. Повторно примените обычный пакет Fixpak для всех ранее установленных продуктов, чтобы у новых и ранее установленных продуктов был один и тот же уровень. Чтобы проиллюстрировать этот сценарий, предположим, что: * Уже установлена DB2 Universal Database(TM) Enterprise Server Edition с уровнем FixPak 10. * Вы устанавливаете DB2 Query Patroller(TM) FixPak 7 согласно инструкциям, приведенным в предыдущем шаге. После установки нужно повторно применить обычный пакет FixPak 10. Прим.: При установке пакета Fixpak вы можете получить сообщение об ошибке такого вида: В этой системе уже установлен пакет db2cliv81. Установка исправления nnnnnnn-nnn завершена аварийно. Перед повторной установкой этого исправления нужно сначала деинсталлировать его. Эта ошибка возникает из-за того, что в системе уже установлен db2cliv81 с тем же уровнем, что и устанавливаемый пакет Fixpak. Эту ошибку можно проигнорировать. Используйте системную программу установки, чтобы подтвердить, что действительно нужно установить компонент или пакет DB2 с тем же уровнем Fixpak. b. Введите команду db2iupdt для обновления существующих экземпляров DB2, относящихся к текущей установке DB2. c. Введите команду dasupdt для обновления DB2 DAS, связанного с текущей установкой DB2. d. При необходимости введите команду db2isetup для создания нового экземпляра DB2 UDB или конфигурирования существующего экземпляра. Подробную информацию об установке пакетов FixPak, обновлении экземпляров и DB2 DAS и других послеустановочных шагах смотрите в файле Readme пакета FixPak. Совместимость баз данных DB2 UDB Версии 8.2 с ранними версиями Базу данных, созданную в DB2 Universal Database Версии 8.2, нельзя использовать на уровне Версии 8.1. С этой базой данных можно работать только на уровне Версии 8.2 или новее. У баз данных, созданные на уровне DB2 UDB Версии 8.2, могут быть дополнительные функциональные возможности, отсутствующие в более ранних версиях. Эти различия могут привести к непредсказуемому и нежелательному поведению системы при попытке переноса новой базы данных в более старый выпуск DB2 UDB. Прим.: Перенести базу данных из Версии 8.2 обратно в Версию 8.1 можно, только если эта база данных была изначально создана в Версии 8.1. Но даже в этом случае обратная перенастройка возможна только после запуска инструмента db2demigdb. Однако вы можете столкнуться с ошибками при использовании встроенных функций, которые были изменены в Версии 8.2. Пояснения к поддержке клиента DB2 UDB В разделе "DB2 client overview" (Обзор клиентов DB2) книги DB2 Quick Beginnings for Clients утверждается: Клиенты DB2 могут подключаться к серверам DB2 одного с ними уровня выпуска, а также к серверам на два выпуска новее или на один выпуск старше. Это утверждение надо скорректировать так: Хотя соединения клиента версии N с серверами версии N + 2 и возможны в некоторых средах, группа поддержки DB2 будет обеспечивать поддержку такой конфигурации только до тех пор, пока версия N обслуживается. Когда обслуживание версии N прекращается, прекращается и поддержка этой конфигурации группой поддержки DB2. Подключение клиентов DB2 Версии 7 к серверам DB2 Версии 8 группой поддержки DB2 больше не обеспечивается, поскольку Версия 7 уже не обслуживается. Изменения в реестре работоспособности при перенастройке из DB2 UDB Версии 8.2 обратно в DB2 UDB Версии 8.1 Любые изменения в реестре, сделанные на уровне DB2 UDB Версии 8.2, будут потеряны при перенастройке обратно в DB2 UDB Версии 8.1. От файла HealthRules2.reg DB2 UDB Версии 8.2 с новыми параметрами реестр вернется к файлу HealthRules.reg Версии 8.1, с параметрами, которые вы использовали до обновления. Альтернативные пакеты FixPak (Linux и UNIX) До DB2 Universal Database (UDB) Версии 8 пакеты FixPak работали только как пакеты обновления для установленных пакетов DB2 UDB или наборов файлов в одном постоянном положении. Это означало, что при установке пакетов FixPak существующие файлы заменялись обновленными, поставляемыми пакетах FixPak. Несколько уровней пакетов FixPak DB2 не могли существовать в одной системе. Теперь DB2 UDB Enterprise Server Edition (ESE) может существовать в одной системе с несколькими уровнями пакетов исправлений (для операционных систем на основе Linux(TM) и UNIX(R)). Эта возможность поддерживается в производственных средах, начиная с Версии 8.1.2; для ее реализации применяются два типа пакетов FixPak: обычные пакеты FixPak * Доступны не только для ESE, но и для всех поддерживаемых продуктов DB2 Версии 8 для соответствующих платформ * Могут устанавливаться непосредственно поверх существующей установки в каталоге /usr/opt/db2_08_01 в AIX или в каталоге /opt/IBM/db2/V8.1 на других платформах * Не могут устанавливаться поверх каких-либо уже установленных альтернативных пакетов FixPak альтернативные пакеты FixPak * Могут устанавливаться как совершенно новые копии DB2 UDB ESE * Устанавливаются в предопределенном месте, отличном от того, которое используется для обычной установки DB2 UDB * Процедура установки графического интерфейса для альтернативных пакетов FixPak не поддерживается Прим.: 1. Не обязательно выполнять множественную установку пакетов FixPak, если в ваших условиях нет такой необходимости. Можно установить несколько пакетов FixPak, если нужно, чтобы в одной системе были экземпляры DB2 UDB ESE Версии 8 с разными уровнями FixPak. Например, можно установить несколько пакетов FixPak, чтобы проверить входящие в пакет FixPak изменения в тестовой среде, не влияя на производственную систему. 2. Начиная с IBM DB2 UDB Enterprise Server Edition (ESE) for Linux and UNIX Версии 8.1.2, в производственной среде поддерживается установка нескольких пакетов исправлений FixPak. 3. В Linux альтернативные пакеты FixPak доступны только на платформах: * x86 (32-битная) * S/390 (31-битная) 4. Для нескольких экземпляров DB2, работающих в одной системе с разными уровнями FixPak, не поддерживаются операции, где используются вызовы Internal Procedure Call (IPC) DB2, например, запросы объединения. У всех экземпляров, участвующих в таких операциях в одной системе, должен быть один и тот же уровень FixPak DB2. 5. Альтернативные пакеты FixPak к DB2 UDB Версии 8 поддерживают только DB2 ESE на поддерживаемых платформах Linux и Unix. Чтобы обновить экземпляр пакета FixPak в такой установке до другого уровня FixPak, используйте одно из следующих действий: * Установите соответствующий обычный пакет FixPak для общедоступной установки и обновите экземпляр, запустив db2iupdt из пути существующей общедоступной установки. * Установите соответствующий альтернативный пакет FixPak в отдельный каталог и обновите экземпляр, запустив db2iupdt из этого каталога. Дополнительную информацию об альтернативных пакетах FixPak смотрите: * в файле Readme последнего пакета FixPak * На сайте поддержки IBM по адресу http://www.ibm.com/software/data/db2/udb/support.html Совместимость данных запросов Query Patroller Версии 8.2.2 с ранними пакетами FixPak Начиная с Версии 8.2.2 (эквивалентна Версии 8.1 Fixpack 9), содержимое таблицы управления Query Patroller TRACK_QUERY_INFO, захваченное в 32-битной среде, можно использовать в 64-битной среде. Эта возможность упрощает работу по перенастройке в 64-битную среду. Информацию, захваченную в таблице управления TRACK_QUERY_INFO Query Patroller Версии 8.2.2, нельзя использовать для генерации данных хронологии запросов или для выполнения задержанных запросов ни в каких ранних уровнях FixPak. Ограничения поддержки прежних версий сервера Центра хранилищ данных Следующие ограничения применяются при поддержке прежних версий сервера для Центра хранилищ данных DB2 Universal Database (UDB) Enterprise Server Edition Версии 8: Поддержка больших объектов * Если вы используете управляющую базу хранилища данных на сервере более ранней версии, чем DB2 UDB Enterprise Server Edition Версии 8, вы не сможете работать с большими объектами. Необходимо обновить управляющую базу хранилища данных до соответствующего уровня или переместить ее в систему, где установлен сервер хранилища данных DB2 UDB Enterprise Server Edition Версии 8, и использовать управляющую базу данных хранилища локально из этой системы. * Чтобы можно было перемещать большие объекты между Центром хранилищ данных и DB2 UDB, необходимо обновить DB2 до DB2 UDB Enterprise Server Edition Версии 8. Поддержка SNA Если вы подключаетесь к источникам и назначениям хранилищ данных с помощью SNA, надо внести в конфигурацию TCP/IP через SNA или использовать агент хранилища данных Windows NT. Поддержка утилит EXPORT и LOAD Утилита загрузки LOAD Центра хранилищ данных Версии 8 не поддерживает загрузку в базу данных Версии 7. Если вы хотите сохранить в качестве назначения базу данных Версии 7, замените операцию LOAD на SQL Select и Insert. Шаги SQL Select и Insert содержат оператор DELETE*, за которым следуют операторы SELECT и INSERT. Для шагов SQL Select и Insert требуется, чтобы база данных записывала все транзакции в журнал. В результате этого производительность шагов SQL Select и Insert ниже, чем производительность утилит EXPORT и LOAD. Для поддержки SQLJ и SQL Assist в DB2 UDB for OS/390 Версии 6 и DB2 UDB for z/OS Версии 7 необходимы исправления APAR Центра разработки При использовании Центра разработки в клиенте разработки программ для DB2 Universal Database (UDB) Версии 8 в операционных системах Windows или UNIX для включения поддержки SQLJ и SQL Assist необходимо установить на сервере следующие исправления APAR: DB2 UDB for z/OS Версии 7 * PQ65125 - обеспечивает поддержку SQLJ для построения хранимых процедур SQLJ Java * PQ76858 - Обеспечивает поддержку SQL Assist DB2 UDB for OS/390 Версии 6 * PQ76858 - Обеспечивает поддержку SQL Assist Из DB2 UDB запускаются две версии SQL Assist Из DB2 Universal Database Версии 8 можно вызвать как Версию 7, так и Версию 8 SQL Assist. Версию 7 можно запустить из Центра хранилищ данных DB2. Все прочие центры запускают последнюю версию - Версию 8. В электронной справке по продукту есть дополнительная информация о SQL Assist Версии 7. Изменение поведения сервера Unicode В Версии 7 серверы Unicode игнорировали любые графические кодовые страницы, сообщаемые программами во время соединения, и предполагали, что используется UCS2 Unicode (кодовая страница 1200). Серверы Unicode Версии 8 теперь принимают во внимание кодовую страницу, указываемую клиентом. Изменения параметров конфигурации базы данных во время перенастройки В DB2 UDB Версии 8.2 используется новый файл параметров конфигурации базы данных SQLDBCONF размером 16 Кбайт. Это отдельный файл по отношению к файлу параметров конфигурации базы данных DB2 UDB Версии 8.1 с именем SQLDBCON и размером 4 Кбайта. После перенастройки в DB2 UDB Версии 8.2 продукт просто переносит в нее содержимое 4-Кбайтного файла Версии 8.1, а изменения параметров конфигурации базы данных регистрирует с помощью 16-Кбайтного файла. Файл Версии 8.1 размером 4 Кбайта сохраняется, но не используется. При перенастройке обратно в DB2 UDB Версии 8.1 продукт DB2 UDB Версии 8.1 вновь начинает регистрировать изменения параметров конфигурации базы данных с помощью 4-Кбайтного файла Версии 8.1. Файл Версии 8.2 размером 16 Кбайт сохраняется, но не распознается продуктом DB2 UDB Версии 8.1. Изменения в 16-Кбайтном файле параметров конфигурации базы данных, сделанные в промежутке между перенастройкой в Версию 8.2 и обратной перенастройкой в Версию 8.1, таким образом, оказываются скрытыми для DB2 UDB более старого выпуска, поскольку эти изменения не записывались в исходный 4-Кбайтный файл. Кроме того, если вы снова выполните перенастройку до DB2 UDB Версии 8.2, продукт DB2 UDB Версии 8.2 обнаружит, что 16-Кбайтный файл конфигурации базы данных уже существует, и вернется к регистрации изменений параметров конфигурации базы данных с помощью 16-Кбайтного файла Версии 8.2. Файл Версии 8.1 размером 4 Кбайта сохраняется, но не распознается продуктом DB2 UDB Версии 8.2. Изменения в 4-Кбайтном файле параметров конфигурации базы данных, сделанные в промежутке между перенастройкой в Версию 8.1 и обратной перенастройкой в Версию 8.2, таким образом, оказываются скрытыми для DB2 UDB более нового выпуска, поскольку эти изменения не записываются в существующий 16-Кбайтный файл. Усовершенствования в сообщениях формата db2diag.log В Версии 8.2 формат файла db2diag.log улучшен во многих отношениях. Этот файл журнала теперь проще читать вручную и анализировать программно. Некоторые усовершенствования: * Каждая запись содержит полный набор информации заголовка * Части сообщения и данных записи журнала четко размечены, что делает ее проще для использования и понимания * Каждая запись снабжается отметкой времени с указанием временной зоны * У каждого поля есть четкое имя, набранное заглавными буквами * Длина строк полей заголовка и сообщения ограничена 80 символами * Добавлены новые поля, в частности, поле уровня серьезности, помогающее найти наиболее важные записи Внесены и другие изменения, в частности, имя поля database изменено на DB. В файл db2diag.log добавлены записи событий, играющие роль диагностических сообщений. Примеры таких событий: * Изменения в реестре профиля * Изменения в параметрах конфигурации У записей событий в поле LEVEL указано "Event". Хотя события - не ошибки, они могут записываться при уровнях диагностики, отличающихся от уровня 4 (информационный уровень) и 3 (уровень предупреждений), в зависимости от важности события. Теперь в журнал записываются переменные реестра профиля db2set и параметры конфигурации DB или DBM Начиная с Версии 8.2, в файле db2diag.log записываются следующие изменения: * изменения реестра профиля db2set * изменения параметров конфигурации базы данных и менеджера баз данных В связи с важностью этих изменений сообщения для них записываются в журнал на высоких диагностических уровнях. Записываемые типы изменений в реестре профиля db2set: Изменение (Modify) Команда db2set имяПеременной=значение записывается в db2diag.log так (после CFG DB2SET:, From: и To: приведены имя переменной, старое значение и новое значение): 2004-04-22-19.19.14.156959-240 I79582C286 LEVEL: Event PID : 2437242 TID : 1 PROC : db2set INSTANCE: db2user NODE : 000 FUNCTION: DB2 UDB, oper system services, db2set_main, probe:40 CHANGE : CFG DB2SET: DB2DBDFT: From: "OLDDB" To: "SAMPLE" Удаление (Delete) Команда db2set -r записывается в db2diag.log так (после CFG DB2SET:, From: и To: приведены имя переменной, старое значение и новое значение): CHANGE : CFG DB2SET: DB2DBDFT: From: "SAMPLE" To: "" Прим.: В последнем примере опущена информация заголовка. Перезадание (Reset) Команда db2set имяПеременной=значение отражается в db2diag.log так: CHANGE : CFG DB2SET: Profile registry was reset Прим.: В последнем примере опущена информация заголовка. Примеры изменения параметров конфигурации DB и DBM - CHANGE : CFG DB SAMPLE: "Maxlocks" From: "10" To: "20" CHANGE : CFG DBM: "Diaglevel" From: "3" To: "1" CHANGE : CFG DBM: Reset to the system defaults Прим.: В последних примерах опущена информация заголовка. Для поиска этих сообщений об изменениях конфигурации используйте инструмент db2diag. Например: * Выбрать все события: db2diag -level event * Выбрать события изменения: db2diag -g "changeevent=" Совместимость программных продуктов JDK 1.4.2 поддерживается DB2 Universal Database for Linux, UNIX и Windows DB2 Universal Database(TM) (UDB) для Linux, UNIX и Windows(R) Версии 8.2.2 (эквивалент Версии 8.1 с пакетом FixPak 9) поддерживает JDK 1.4.2 во всех поддерживаемых DB2 UDB 32-битных и 64-битных средах операционных систем рабочих станций. Эта поддержка включает в себя, в частности, построение и запуск клиентских программ Java(TM), построение и запуск подпрограмм Java(TM) из командной строки, построение и запуск подпрограмм Java(TM) из Центра разработки DB2 (где он поддерживается), а также запуск других инструментов DB2. При установке DB2 UDB Версии 8.2 будет также установлена и последняя поддерживаемая версия Java Development Kit (если она уже не установлена), но только в том случае, если данная установка DB2 UDB не является обновлением установленной ранее DB2 UDB Версии 8. Если обновляется прежняя установка DB2 UDB Версии 8, Java Developer Kit необходимо установить с компакт-диска. В следующей таблице перечислены поддерживаемые 32-битные и 64-битные среды операционных систем рабочих станций DB2 и последний поддерживаемый уровень JDK для каждой из них. Информацию о ранней поддержке JDK смотрите на Web-странице Java Application Development по адресу http://www.ibm.com/software/data/db2/udb/ad/v8/java/. Табл. 1. Поддерживаемые среды DB2 и соответствующие поддерживаемые уровни JDK +----------------------------------+----------------------------------+ | Среда, поддерживаемая DB2 | Последний поддерживаемый уровень | | | JDK | +----------------------------------+----------------------------------+ | 32-битная Windows IA/AMD | JDK 1.4.2 | +----------------------------------+----------------------------------+ | 64-битная Windows IA | JDK 1.4.2 | +----------------------------------+----------------------------------+ | 64-битная Windows AMD/EM64T | JDK 1.4.2 | +----------------------------------+----------------------------------+ | 32-битная AIX(R) 4.3.3 | JDK 1.3.1 SR6 [2] | +----------------------------------+----------------------------------+ | AIX(R) 5 (гибридная [1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Solaris (гибридная, [1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ | HPUX RISC & Itanium (гибридная | JDK 1.4.2.01 | | [1]) | | +----------------------------------+----------------------------------+ | Linux AMD/EM64T 32-, 64-битная | JDK 1.4.2 [3] | | (гибридная [1]) | | +----------------------------------+----------------------------------+ | 32-битная Linux IA | JDK 1.4.2 | +----------------------------------+----------------------------------+ | 64-битная Linux IA | JDK 1.4.2 | +----------------------------------+----------------------------------+ | 31-битная Linux 390 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | 64-битная Linux 390 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux PPC (гибридная, [1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ Прим.: 1. Понятие гибридная означает, что установочный образ содержит и 32-битную, и 64-битную поддержку 2. JDK 1.3.1 Service Release 6 - единственная версия JDK, поддерживаемая для AIX(R) 4.3.3. 3. Для Linux AMD/EM64T (32-битной и 64-битной) с JDK 1.4.2 инструменты графического интерфейса DB2 не поддерживаются. Обновленная процедура для задания параметров Linux Java Environment приведена ниже. Задание параметров среды Java Linux Предварительные требования * Перед реализацией следующих процедур выполните настройку, описанную в теме "Setting up the UNIX(R) Java environment" (Задание параметров среды Java UNIX) из руководства Application Development Guide: Building and Running Applications. * Для команд в следующих инструкциях необходимы полномочия root. Порядок действий Для построения программ Java в Linux с поддержкой JDBC DB2: 1. Установите и сконфигурируйте один из поддерживаемых наборов разработчиков, перечисленных в теме "Linux supported development software" (Программное обеспечение по разработке, поддерживаемое в Linux) из руководства Application Development Guide: Building and Running Applications. Для запуска хранимых процедур или пользовательских функций Java компоновщику времени выполнения Linux нужна возможность доступа к определенным совместно используемым библиотекам Java, а DB2 UDB должна быть в состоянии загрузить и эти библиотеки, и виртуальную Java-машину. Процесс, запускающий хранимые процедуры и пользовательские функции, загружает библиотеки только в защищенное положение, определенное в файле /etc/ld.so.conf. Одно из таких защищенных положений - каталог /usr/lib. В остальных инструкциях указаны библиотеки, для которых требуются символические ссылки в каталоге /usr/lib. 2. Создайте в каталоге /usr/lib символические ссылки, указывающие на совместно используемые библиотеки Java. В зависимости от используемой версии JDK у вас будет ссылка на различные совместно используемые библиотеки: Для IBM(R) Developer Kit 1.3 Создайте символические ссылки libjava.so, libjvm.so и libhpi.so. Вы можете задать эти ссылки, введя как пользователь root следующие команды: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so . ln -fs JAVAHOME/jre/bin/classic/libjvm.so . ln -fs JAVAHOME/jre/bin/libhpi.so . где JAVAHOME - базовый каталог для IBM(R) Developer Kit. Если DB2 UDB не сможет найти эти библиотеки, при попытке запустить подпрограмму Java вы получите код ошибки -4301, а в журнал уведомлений администратора будут записаны сообщения, что библиотеки не найдены. Для IBM(R) Developer Kit 1.4.1 Создайте символические ссылки для libjava.so, libjvm.so, libhpi.so и libjsig.so. Вы можете задать эти ссылки, введя как пользователь root следующие команды: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.so где JAVAHOME - базовый каталог для IBM Developer Kit. Если DB2 UDB не сможет найти эти библиотеки, при попытке запустить подпрограмму Java вы получите код ошибки -4301, а в журнал уведомлений администратора будут записаны сообщения, что библиотеки не найдены. Для IBM Developer Kit 1.4.2 на платформах Linux, за исключением AMD64/EM64T Создайте символические ссылки для libjava.so, libjvm.so, libhpi.so, libjsig.so, libjitc.so, libxhpi.so и libdbgmalloc.so. Вы можете задать эти ссылки, введя как пользователь root следующие команды: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.so ln -fs JAVAHOME/jre/bin/libjitc.so ln -fs JAVAHOME/jre/bin/libxhpi.so ln -fs JAVAHOME/jre/bin/libdbgmalloc.so где JAVAHOME - базовый каталог для IBM Developer Kit. Если DB2 UDB не сможет найти эти библиотеки, при попытке запустить подпрограмму Java вы получите код ошибки -4301, а в журнал уведомлений администратора будут записаны сообщения, что библиотеки не найдены. Для IBM Developer Kit 1.4.2 на платформах Linux AMD64/EM64T Этот комплект разработчика (Developer Kit) отличается от комплекта для других платформ Linux. Следуя инструкциям, приведенным ниже в разделе Альтернативная процедура, поместите в файл /etc/ld.so.conf следующую строку: JAVAHOME/jre/bin где JAVAHOME - базовый каталог для IBM Developer Kit. Если DB2 UDB не сможет найти эти библиотеки, при попытке запустить подпрограмму Java вы получите код ошибки -4301 или -1042. Альтернативная процедура Вместо явного создания ссылок на совместно используемые библиотеки в каталоге /usr/lib можно добавить имя каталога, в котором хранятся совместно используемые библиотеки Java, в файл /etc/ld.so.conf. Для работы с этим файлом требуются полномочия root. После изменения файла /etc/ld.so.conf нужно (от имени пользователя root) ввести команду ldconfig для активации внесенных изменений. Если при выполнении альтернативной процедуры будут обнаружены какие-либо ошибки, создайте ссылки в каталоге /usr/lib по приведенным выше инструкциям. В 64-битных операционных системах требуется исправление Microsoft XP При использовании 64-битной операционной системы Microsoft XP (2600), сконфигурированной для использования протокола NETBIOS с продуктами семейства DB2, нужно получить от Microsoft свежие исправления. Свяжитесь с Microsoft, указав номер в базе Knowledge Base Q317437. Операционные системы Windows XP Операционная система Windows XP Home Edition поддерживается только продуктами DB2 Universal Database (UDB) Personal Edition. Операционная система Windows XP Professional поддерживается следующими продуктами DB2: * DB2 UDB Express Edition * DB2 UDB Personal Edition * DB2 UDB Workgroup Server Edition * DB2 Connect Personal Edition Следующие продукты DB2 поддерживаются в Windows XP только для возможностей разработки и тестирования (для производственных сред требуется Windows 2000 или Windows Server 2003): * DB2 UDB Enterprise Server Edition * DB2 Connect Enterprise Edition Отдельно поставляется опция DB2 UDB HADR В DB2 Universal Database(TM) (UDB) Версии 8.2 заказчики DB2 UDB Workgroup Server Edition и DB2 UDB Express Edition (при лицензировании на основе числа пользователей) не могли устанавливать отдельно поставляемую опцию DB2 UDB HADR (High Availability Disaster Recovery - высокая доступность и восстановление после аварий). Эта проблема решена в пакете исправлений FixPak 1 для Версии 8.2 (эквивалентен FixPak 8 для Версии 8.1). Менеджер хранилищ DB2 (Версия 8.2) и сервер IBM DB2 OLAP Server FP3 и новее Утилиты OLAP в стандартном выпуске Менеджера хранилищ DB2 Версии 8.2 несовместимы с сервером IBM DB2 OLAP Server FP3 (уровень Essbase API 6.5.4) и новее. До разрешения этой проблемы рекомендуется использовать DB2 OLAP Server FP2 (Essbase 6.5.3) или более ранний. Ведение журнала на устройствах прямого ввода-вывода (Linux с ядром 2.6) Для возможности использования журналов на устройствах прямого ввода-вывода до DB2 Universal Database (UDB) Версии 8.2.2 (эквивалентна Версии 8.1 Fixpack 9) физическое устройство необходимо было связать с драйвером непосредственного символьного устройства Linux при помощи утилиты raw. Начиная с DB2 UDB Версии 8.2.2 (эквивалент Версии 8.1 с FixPak 9), работающей на ядре Linux 2.6, непосредственный ввод-вывод для журналов можно задать непосредственно. Например, чтобы использовать раздел устройства /dev/sdb1 для журналов непосредственных устройств базы данных SAMPLE, введите следующую команду: db2 update db cfg for sample using newlogpath /dev/sdb1 Хотя DB2 UDB все еще поддерживает метод использования утилиты raw для прямого ввода-вывода, в последних дистрибутивах эта возможность считается устаревшей и в будущем она может быть удалена. Предпочтительно использовать новый метод - непосредственное задание устройств. Поддержка Red Hat Linux при работе с Центром хранилищ данных DB2 Universal Database Версии 8.2 поддерживает Red Hat Enterprise Linux AS Версий 3 и 2.1. Однако Центр хранилищ данных поддерживает только Red Hat Enterprise Linux AS Версии 2.1. В Центре хранилищ данных используются драйверы DataDirect ODBC, которые не поддерживают Red Hat Enterprise Linux AS Версии 3.1. Поэтому Центр хранилищ данных не поддерживает источники хранилища и потребители хранилища ODBC на узле агента Red Hat Enterprise Linux AS Версии 3.1. При использовании менеджера транзакций WebSphere MQ и DB2 for OS/390 требуется концентратор соединений При работе прикладных программ в среде IBM(R) WebSphere(R) MQ (старое название - IBM MQSeries(R)) система WebSphere(R) MQ может выполнять функции совместимого с XA менеджера транзакций, координирующего все распределенные транзакции с двухфазным принятием. Когда WebSphere(R) MQ действует как такой менеджер транзакций и в качестве источников данных используются продукты семейства DB2, есть некоторые требования к конфигурации. Большинство из этих требований уже указаны в документации. Например, для клиента времени выполнения DB2 нужно задать для параметра DB2 TP_MON_NAME значение "MQ". Однако существует требование к конфигурации, не описанное в документации. Это требование относится только к DB2 Connect, соединяющемуся с источниками данных на серверах DB2 for OS/390(R): При использовании WebSphere MQ для координации распределенных транзакций, включающих серверы DB2 for z/OS(R) и DB2 for iSeries, на шлюзе должен быть включен концентратор соединений DB2 Connect. Концентратор соединений будет включен, если значение параметра конфигурации MAX_CONNECTIONS больше значения MAX_COORDAGENTS. Если концентратор соединений не включен, поведение транзакций будет непредвиденным. Альтернативные таблицы преобразования Unicode для идентификатора кодового набора символов (CCSID) 5039 Кодовая страница Microsoft Japanese Windows Shift-JIS зарегистрирована с идентификатором кодового набора символов IBM (CCSID) 943. Однако на платформе HP-UX кодовая страница Shift-JIS зарегистрирована как CCSID 5039. CCSID 5039 содержит только символы Japanese Industry Standard (JIS) и не допускает дополнительных символов, определенных другими разработчиками. База данных DB2 Universal Database (UDB) с CCSID 5039 в HP-UX позволяет хранить символы Shift-JIS, но при этом применяется преобразование кодовых страниц между CCSID 5039 и CCSID 943. При использовании программ ODBC версии Microsoft возможны ошибки преобразования данных CCSID 5039 в Unicode из-за различий между таблицами преобразования кодовых страниц IBM и Microsoft. Ниже приведен список символов CCSID 5039, которые по-разному преобразуются в символы Unicode при использовании таблиц преобразования (IBM и Microsoft). Таблица преобразования IBM преобразует эти символы согласно стандартам Japanese Industry Standard JISX0208 и JISX0221. Табл. 2. Преобразование символов CCSID 5039 в Unicode +-----------------------+----------------------+----------------------+ | Символ Shift-JIS (имя | Первичный символ IBM | Первичный символ | | символа) | (имя Unicode) | Microsoft (имя | | | | Unicode) | +-----------------------+----------------------+----------------------+ | X'815C' (длинное | U+2014 (длинное | U+2015 | | тире) | тире) | (горизонтальная | | | | черта) | +-----------------------+----------------------+----------------------+ | X'8160' (волнистая | U+301C (волнистая | U+FF5E (длинная | | черта) | черта) | тильда) | +-----------------------+----------------------+----------------------+ | X'8161' (двойная | U+2016 (двойная | U+2225 (знак | | вертикальная черта) | вертикальная черта) | параллельности) | +-----------------------+----------------------+----------------------+ | X'817C' (знак минус) | U+2212 (знак минус) | U+FF0D (длинный | | | | дефис-минус) | +-----------------------+----------------------+----------------------+ Например, символ длинного тире с кодом X'815C' в CCSID 5039 преобразуется в символ Unicode U+2014 при использовании таблицы преобразования IBM или в U+2015 при использовании таблицы преобразования Microsoft. Это может приводить к ошибкам программ ODBC версии Microsoft, которые обработают U+2014 как недопустимый символ. Чтобы предотвратить такие ошибки, в DB2 UDB, наряду с используемой по умолчанию таблицей преобразования из CCSID 5039 в Unicode версии IBM, входит и альтернативная таблица преобразования версии Microsoft. При необходимости можно заменить используемую по умолчанию таблицу преобразования IBM на альтернативную таблицу преобразования Microsoft. Обратите внимание на то, что используемая по умолчанию таблица преобразования из Unicode в CCSID 5039 версии IBM совпадает с версией Microsoft. Замена таблиц преобразования Unicode для идентификатора кодового набора символов (CCSID) 5039 на таблицы преобразования версии Microsoft При преобразовании из CCSID 5039 в Unicode используется таблица преобразования кодовых страниц DB2 Universal Database по умолчанию. Если вы хотите использовать другую версию таблицы преобразования, например, версию Microsoft, необходимо вручную заменить файл таблицы преобразования по умолчанию (.cnv). Предварительные требования Перед заменой существующего файла таблицы преобразования кодовых страниц в каталоге sqllib/conv создайте его резервную копию на случай, если потребуется обратное изменение. В UNIX и Linux каталог sqllib/conv связан с путем установки DB2 UDB. Ограничения Чтобы данное изменение вступило в силу, требуется замена таблицы преобразования на каждом клиенте DB2 UDB, который соединяется с этой же базой данных. Иначе различные клиенты могут сохранять одни и те же символы с разными кодами символов. Порядок действий Чтобы заменить таблицу преобразования из CCSID 5039 в Unicode, используемую DB2 UDB по умолчанию: 1. Скопируйте sqllib/conv/ms/5039ucs2.cnv в sqllib/conv/5039ucs2.cnv 2. Перезапустите DB2 UDB. Альтернативные таблицы преобразования Unicode для идентификатора кодового набора символов (CCSID) 954 Идентификатор кодового набора символов (CCSID) IBM для кодовой страницы Japanese EUC зарегистрирован под CCSID 954. CCSID 954 - обычная кодировка для японских платформ UNIX и Linux. Если программы ODBC версии Microsoft должны соединяться с базой данных DB2 Universal Database (UDB), использующей CCSID 954, возможны ошибки преобразования данных из CCSID 954 в Unicode. Возможные ошибки связаны с различиями между таблицами преобразования кодовых страниц IBM и Microsoft. Таблица преобразований IBM соответствует именам символов, заданным в стандартах Japanese Industry Standard (JIS) JISX0208, JISX0212 и JISX0221. Приведенные ниже символы CCSID 954 по-разному преобразуются в символы Unicode при использовании таблиц преобразования IBM и Microsoft. Табл. 3. Преобразование символов CCSID 954 в Unicode +-----------------------+----------------------+----------------------+ | Символ EUC-JP (имя | Первичный символ IBM | Первичный символ | | символа) | (имя Unicode) | Microsoft (имя | | | | Unicode) | +-----------------------+----------------------+----------------------+ | X'A1BD' (длинное | U+2014 (длинное | U+2015 | | тире) | тире) | (горизонтальная | | | | черта) | +-----------------------+----------------------+----------------------+ | X'A1C1' (волнистая | U+301C (волнистая | U+FF5E (длинная | | черта) | черта) | тильда) | +-----------------------+----------------------+----------------------+ | X'A1C2' (двойная | U+2016 (двойная | U+2225 (знак | | вертикальная черта) | вертикальная черта) | параллельности) | +-----------------------+----------------------+----------------------+ | X'A1DD' (знак минус) | U+2212 (знак минус) | U+FF0D (длинный | | | | дефис-минус) | +-----------------------+----------------------+----------------------+ | X'8FA2C3' | U+00A6 (прерывистая | U+FFE4 (длинная | | (прерывистая черта) | черта) | прерывистая черта) | +-----------------------+----------------------+----------------------+ Например, символ длинного тире с кодом X'A1BD' в CCSID 954 преобразуется в символ Unicode U+2014 при использовании таблицы преобразования IBM или в U+2015 при использовании таблицы преобразования Microsoft. Из-за этого различия в отображении символов один и тот же символ может преобразовываться в разные символы в базе данных DB2 UDB, работающей с Unicode, и в графическом столбце базы данных DB2 UDB, работающей с CCSID 954. Это может приводить к ошибкам программ ODBC версии Microsoft, которые обработают U+2014 как недопустимый символ. Чтобы предотвратить такие ошибки, в DB2 UDB, наряду с используемой по умолчанию таблицей преобразования из CCSID 954 в Unicode версии IBM, входит и альтернативная таблица преобразования версии Microsoft. При необходимости можно заменить используемую по умолчанию таблицу преобразования IBM на альтернативную таблицу преобразования Microsoft. Обратите внимание на то, что используемая по умолчанию таблица преобразования из Unicode в CCSID 954 версии IBM совпадает с версией Microsoft. Замена таблиц преобразования Unicode для идентификатора кодового набора символов (CCSID) 954 на таблицы преобразования версии Microsoft При преобразовании CCSID 954 в Unicode используется таблица преобразования кодовых страниц DB2 Universal Database по умолчанию. Если вы хотите использовать другую версию таблицы преобразования, например, версию Microsoft, необходимо вручную заменить файл таблицы преобразования по умолчанию (.cnv). Предварительные требования Перед заменой существующего файла таблицы преобразования кодовых страниц в каталоге sqllib/conv создайте его резервную копию на случай, если потребуется обратное изменение. В UNIX и Linux каталог sqllib/conv связан с установочным каталогом DB2 UDB. Ограничения Чтобы данное изменение вступило в силу, требуется замена таблицы преобразования на каждом клиенте DB2 UDB, который соединяется с этой же базой данных CCSID 954. Для клиента японской версии Windows, использующего кодовую страницу ANSI Shift-JIS (CCSID 943), необходимо также изменить таблицы преобразования DB2 между CCSID 943 и Unicode с версии по умолчанию на версию Microsoft, Иначе различные клиенты могут сохранять одни и те же символы с разными кодами символов. Порядок действий Чтобы заменить таблицу преобразования из CCSID 954 в Unicode, используемую DB2 UDB по умолчанию: 1. Скопируйте sqllib/conv/ms/0954ucs2.cnv в sqllib/conv/0954ucs2.cnv 2. Перезапустите DB2 UDB. Чтобы заменить таблицы преобразования между CCSID 943 и Unicode, используемые DB2 UDB по умолчанию: 1. Скопируйте sqllib/conv/ms/0943ucs2.cnv в sqllib/conv/0943ucs2.cnv 2. Скопируйте sqllib/conv/ms/ucs20943.cnv в sqllib/conv/ucs20943.cnv 3. Перезапустите DB2 UDB. Альтернативные таблицы преобразования Unicode для идентификатора кодового набора символов (CCSID) 943 При работе с кодовой страницей Microsoft Japanese Windows Shift-JIS, зарегистрированной с идентификатором кодового набора символов IBM (CCSID) 943, возможны две ошибки преобразования символов между CCSID 943 и Unicode. Эти ошибки связаны с различиями между таблицами преобразования кодовых страниц IBM и Microsoft. Для предотвращения таких ошибок в DB2 Universal Database (UDB), наряду с используемыми по умолчанию таблицами преобразования из CCSID 943 в Unicode IBM, входят и альтернативные таблицы преобразования версии Microsoft. Ошибка 1 Исторически сложилось, что в кодовой странице CCSID 943 более 300 символов представлены двумя-тремя различными кодами каждый. Использование редакторов IME (Input Method Editor - редактор метода ввода) и таблиц преобразования кодовых страниц приводит к тому, что употребляется лишь один из эквивалентных кодов. Например, для строчного латинского 'i', используемого как 1 в римских цифрах, есть два эквивалентных кода: X'EEEF' и X'FA40'. При вводе 'i' IME Microsoft Windows всегда генерируют X'FA40'. В целом IBM и Microsoft используют один и тот же первичный код для представления всех символов, кроме следующих 13: Табл. 4. Преобразование символов CCSID 943 Shift-JIS +-----------------------+----------------------+----------------------+ | Название символа (код | Первичный символ | Первичный символ | | символа в Unicode) | Shift-JIS IBM | Shift-JIS Microsoft | +-----------------------+----------------------+----------------------+ | Римская цифра один | X'FA4A' | X'8754' | | (U+2160) | | | +-----------------------+----------------------+----------------------+ | Римская цифра два | X'FA4B' | X'8755' | | (U+2161) | | | +-----------------------+----------------------+----------------------+ | Римская цифра три | X'FA4C' | X'8756' | | (U+2162) | | | +-----------------------+----------------------+----------------------+ | Римская цифра четыре | X'FA4D' | X'8757' | | (U+2163) | | | +-----------------------+----------------------+----------------------+ | Римская цифра пять | X'FA4E' | X'8758' | | (U+2164) | | | +-----------------------+----------------------+----------------------+ | Римская цифра шесть | X'FA4F' | X'8759' | | (U+2165) | | | +-----------------------+----------------------+----------------------+ | Римская цифра семь | X'FA50' | X'875A' | | (U+2166) | | | +-----------------------+----------------------+----------------------+ | Римская цифра восемь | X'FA51' | X'875B' | | (U+2167) | | | +-----------------------+----------------------+----------------------+ | Римская цифра | X'FA52' | X'875C' | | (U+2168) | | | +-----------------------+----------------------+----------------------+ | Римская цифра десять | X'FA53' | X'875D' | | (U+2169) | | | +-----------------------+----------------------+----------------------+ | Иероглиф "ствол" в | X'FA58' | X'FA58' | | скобках, означающий | | | | "Inc." (U+3231) | | | +-----------------------+----------------------+----------------------+ | Знак номера (U+2116) | X'FA59' | X'8782' | +-----------------------+----------------------+----------------------+ | Знак телефона | X'FA5A' | X'8754' | | (U+2121) | | | +-----------------------+----------------------+----------------------+ Продукты IBM, такие как DB2 UDB используют в первую очередь коды IBM, например, X'FA4A' для представления римской цифры один ('I') в верхнем регистре, а продукты Microsoft представляют тот же символ с помощью X'8754'. Прикладная программа ODBC Microsoft вставляет символ 'I' в базу данных DB2 UDB, использующую CCSID 943, как X'8754', а Центр управления DB2 UDB вставляет тот же символ в ту же базу данных с CCSID 943 как X'FA4A'. Однако программы ODBC способны находить только те строки, где 'I' кодируется как X'8754', а Центр управления DB2 UDB находит только строки, где 'I' кодируется как X'FA4A'. Чтобы Центр управления DB2 UDB мог выбрать 'I' в кодировке X'8754', надо заменить таблицы преобразования IBM по умолчанию между CCSID 943 и Unicode на альтернативные таблицы преобразования Microsoft. Ошибка 2 Перечисленные ниже символы CCSID 943 по-разному преобразуются в символы Unicode при использовании таблиц преобразования IBM или Microsoft. Таблица преобразования IBM преобразует эти символы согласно стандартам Japanese Industry Standard JISX0208, JISX0212 и JISX0221. Табл. 5. Преобразование символов CCSID 943 в Unicode +-----------------------+----------------------+----------------------+ | Символ Shift-JIS (имя | Первичный символ IBM | Первичный символ | | символа) | (имя Unicode) | Microsoft (имя | | | | Unicode) | +-----------------------+----------------------+----------------------+ | X'815C' (длинное | U+2014 (длинное | U+2015 | | тире) | тире) | (горизонтальная | | | | черта) | +-----------------------+----------------------+----------------------+ | X'8160' (волнистая | U+301C (волнистая | U+FF5E (длинная | | черта) | черта) | тильда) | +-----------------------+----------------------+----------------------+ | X'8161' (двойная | U+2016 (двойная | U+2225 (знак | | вертикальная черта) | вертикальная черта) | параллельности) | +-----------------------+----------------------+----------------------+ | X'817C' (знак минус) | U+2212 (знак минус) | U+FF0D (длинный | | | | дефис-минус) | +-----------------------+----------------------+----------------------+ | X'FA55' (прерывистая | U+00A6 (прерывистая | U+FFE4 (длинная | | черта) | черта) | прерывистая черта) | +-----------------------+----------------------+----------------------+ Например, символ длинного тире с кодом X'815C' в CCSID 943 при использовании таблицы преобразования IBM преобразуется в символ Unicode U+2014. Однако при использовании таблицы преобразования Microsoft он преобразуется в символ U+2015. Из-за этого различия в отображении символов один и тот же символ может преобразовываться в разные символы в базе данных DB2 UDB, работающей с Unicode. Это может приводить к ошибкам программ ODBC версии Microsoft, которые обработают U+2014 как недопустимый символ. Чтобы избежать этой ошибки, надо заменить используемые по умолчанию таблицы преобразования между CCSID 943 и Unicode IBM на альтернативные таблицы преобразования Microsoft. Использование альтернативных таблиц преобразования между CCSID 943 и Unicode Microsoft следует ограничить закрытыми средами, где и клиенты DB2 UDB, и базы данных DB2 UDB работают с кодовой страницей CCSID 943 и используют одни и те же альтернативные таблицы преобразования Microsoft. Если ваш клиент DB2 UDB использует таблицы преобразования IBM, а другой клиент DB2 UDB использует альтернативные таблицы преобразования Microsoft, и оба этих клиента вставляют данные в одну и ту же базу данных DB2 UDB с CCSID 943, возможно сохранение символа в одной базе данных с разными кодами символа. Замена таблиц преобразования Unicode для идентификатора кодового набора символов (CCSID) 943 на таблицы преобразования версии Microsoft При преобразовании между CCSID 943 и Unicode используются таблицы преобразования кодовых страниц DB2 Universal Database по умолчанию. Если вы хотите использовать другую версию таблиц преобразования, например, версию Microsoft, необходимо вручную заменить файлы таблицы преобразования по умолчанию (.cnv). Предварительные требования Перед заменой существующих файлов таблиц преобразования кодовых страниц в каталоге sqllib/conv создайте их резервные копии на случай, если потребуется обратное изменение. В UNIX и Linux каталог sqllib/conv связан с путем установки DB2 UDB. Ограничения Чтобы данное изменение вступило в силу, требуется замена таблицы преобразования на каждом клиенте DB2 UDB, который соединяется с этой же базой данных. Иначе различные клиенты могут сохранять одни и те же символы с разными кодами символов. Порядок действий Чтобы заменить таблицы преобразования символов между CCSID 943 и Unicode, используемые DB2 UDB по умолчанию: 1. Скопируйте sqllib/conv/ms/0943ucs2.cnv в sqllib/conv/0943ucs2.cnv. 2. Скопируйте sqllib/conv/ms/ucs20943.cnv в sqllib/conv/ucs20943.cnv. 3. Перезапустите DB2 UDB. Операционная система MVS не поддерживается Несмотря на упоминания в документации, операционная система MVS больше не поддерживается в DB2 Universal Database. MVS заменена на z/OS. Операции резервного копирования и восстановления (Linux 390) Если вы используете операционную систему Linux 390, операции резервного копирования и восстановления на несколько ленточных устройств могут не работать. Включение закрепления окон при обращении к Центру разработки при помощи Hummingbird Exceed При обращении к Центру разработки в UNIX с помощью Hummingbird Exceed, надо включить расширение XTEST версии 2.2, иначе вы не сможете перемещать и закреплять окна, перетаскивая полосы их заголовков в Центре разработки. Чтобы включить расширение XTEST: 1. В меню Пуск выберите Программы -> Hummingbird Connectivity 7.0 -> Exceed -> XConfig. Откроется окно XConfig. 2. Необязательно: Если для вашей конфигурации требуется пароль, введите пароль XConfig. 3. Щелкните дважды по значку Protocol (Протокол). Откроется окно Protocol (Протокол). 4. Включите переключатель X Conformance Test Compatibility (Совместимость с X Conformance Test). 5. В окне Protocol (Протокол) нажмите кнопку Extensions... (Расширения...). Откроется окно Protocol Extensions (Расширения протокола). 6. В списке Enable Extensions (Включить расширения) включите переключатель XTEST(X11R6). 7. Нажмите кнопку OK. Информация об установке, перенастройке, обновлении и конфигурировании Пометки отмечают текст, который был добавлен или изменен. Вертикальная черта ( | ) отмечает информацию, которая была добавлена или изменена для Версии 8.2 FixPak 4 (эквивалентна Версии 8.1 FixPak 11). Требования к аппаратному и программному обеспечению Требования к аппаратному и программному обеспечению можно посмотреть на сайте: http://www.ibm.com/software/data/db2/udb/sysreqs.html Замечания по установке На платформах UNIX и Linux эти Замечания по установке относятся только к установке новых продуктов. О применении пакета FixPak смотрите информацию Readme пакета FixPak. На платформах Windows эти Замечания по установке применимы и к установке новых продуктов, и к применению пакетов FixPak. При применении пакета FixPak эти Замечания по установке следует использовать вместе с информацией пакета FixPak. Перед установкой DB2 Universal Database прочтите весь этот раздел. Новые опции мастера по установке DB2 (Windows) Задание пути установки в командной строке Мастер по установке DB2(R) позволяет задать путь установки в командной строке при помощи новой опции: -p Каталог установки Эта опция переопределяет значение, которое может быть задано в файле ответов. Новая опция -p [КАТАЛОГ_УСТАНОВКИ] позволяет изменить путь установки продукта, не редактируя файл ответов. Новая опция NO_CONFIG для установки Если добавить в файл ответов ключевое слово NO_CONFIG, все операции отменяются. Программа установки только задаст переменные среды и выполнит остальные действия базовой настройки, необходимые для создания экземпляров и создания сервера администратора DB2(R) вручную после завершения установки. Никакого дополнительного конфигурирования не выполняется. При задании этой опции в файле ответов ключевые слова, используемые в рабочей установке, проверяются, но соответствующие действия конфигурирования не выполняются. Окна хода выполнения Добавлена опция, позволяющая при автономной установке вывести только окно хода выполнения мастера по установке DB2(R). Новая опция -m может использоваться только в сочетании с параметром -u [файл ответов]. Если задать опцию -m без опции файла ответов, программа установки вернет сообщение о недопустимом аргументе. При задании опции -m выводятся только окна, не требующие дополнительных указаний пользователя. Например, при выполнении команды setup.exe программа установки выводит окна, но не выводит приглашений для ввода информации. По окончании установки окна закрываются и процесс setup.exe завершается. Изменения в мастере по установке DB2 (Windows) Опции мастера по установке DB2 (setup.exe) Файл setup.exe, запускающий установку DB2, теперь перед возвращением дожидается выхода из установки. Это поведение по умолчанию. Опция -w допустима, но этот параметр уже не изменяет поведение мастера по установке DB2. Новая опция -c заставляет мастер по установке DB2 выйти немедленно после запуска установки. При выборе этой опции нельзя получить код возврата установки в результате отслеживания кода возврата файла setup.exe. При совместном задании опций -w и -c возвращается ошибка. Ограничения при установке с улучшенной защитой (Windows) Новая функция DB2 Universal Database(TM) (UDB) Версии 8.2, защищающая доступ к ресурсам DB2, использует функции защиты файловой системы NTFS и функции защиты операционной системы Windows(R). В основном защищенный доступ достигается путем изменения файлов списков управления доступом (ACL, Access Control List) к файлам DB2, значениям реестра и объектам памяти времени выполнения. По умолчанию мастер по установке DB2 включает эту новую функцию защиты. Улучшенную защиту Windows(R) можно отключить, запустив пользовательскую установку и выключив переключатель Улучшенная защита Windows(R) в окне Включить защиту операционной системы для объектов DB2. Единственный рекомендуемый способ отключить новую функцию защиты - ввести команду db2secv82. Команду db2secv82 необходимо ввести немедленно после установки. Дополнительные подробности о команде db2secv82 можно найти в Информационном центре DB2 на сайте http://publib.boulder.ibm.com/infocenter/db2help/. Вы можете установить DB2 UDB с любым ID пользователя, но если этот ID пользователя не принадлежит одной из групп DB2ADMNS, DB2USERS или локальной группе администраторов, он не сможет выполнять никакие команды DB2. Только пользователи, входящие в группу DB2ADMNS, DB2USERS или локальную группу администраторов, имеют доступ к файлам системы DB2, ключам реестра, совместным сетевым ресурсам и службам DB2 на локальном компьютере, на котором работает DB2 UDB. В общем случае у пользователей, входящих в группу DB2ADMNS, а также у пользователей, входящих в локальную группу администраторов, есть полный контроль над ресурсами DB2. У пользователей, входящих в группу DB2USERS, есть доступ для записи и выполнения. Пользователей, которым нужен доступ для чтения (например, для выполнения запросов), надо после установки DB2 UDB Версии 8.2 добавить в группы DB2USERS. Пользователей, которым необходим полный доступ, например, администраторов баз данных, надо добавить в группы DB2ADMNS. Управление пользователями должно выполняться в соответствии с правилами защиты вашей среды. Влияние новых мер защиты на типичную установку При типичной установке DB2 UDB в Windows улучшенная защита включена по умолчанию. По умолчанию DB2 UDB создает группы DB2ADMNS и DB2USERS. В случае конфликта с существующими именами групп вам предложат изменить имена групп. При необходимости вы можете задать свои значения. Если вы решите использовать существующую группу защиты, необходимо изменить ее правила защиты, чтобы они удовлетворяли требованиям для DB2 UDB. Если выбрана существующая группа защиты, в которой уже есть пользователи, их привилегии могут быть расширены. Влияние новых мер защиты на пользовательскую установку или установку пакета FixPak При пользовательской установке или при установке пакета FixPak DB2 UDB в Windows открывается панель Включить защиту операционной системы для объектов DB2. Если вы хотите включить улучшенную защиту Windows, можете принять настройки по умолчанию, нажав кнопку Далее. Если вы хотите отключить улучшенную защиту Windows, можете отключить переключатель Включить защиту операционной системы в окне Включить защиту операционной системы для объектов DB2. Добавление ID пользователей для доступа к DB2 UDB после установки После типичной или пользовательской установки необходимо добавить ID пользователей в соответствующие группы DB2ADMNS и DB2USERS, чтобы предоставить им доступ к DB2 UDB. Чтобы добавить пользователей в соответствующую группу: 1. Запустите Менеджер пользователей и паролей. 2. Выберите из списка имя пользователя, которого вы хотите добавить в группу. 3. Выберите Свойства. В окне Свойства щелкните по вкладке Членство в группах. 4. Включите радиокнопку Другие. 5. Выберите соответствующую группу из выпадающего списка. Как включить улучшенную защиту Windows после установки Если при установке DB2 UDB вы решили не включать новую функцию защиты, это можно сделать после установки, выполнив команду db2secv82.exe. После того, как вы включите эту функцию защиты командой db2secv82.exe, у вас будет две возможности вернуться к прежнему состоянию: Способ 1 Немедленно выполнить команду db2secv82.exe -r снова, пока вы не внесли никаких изменений в систему. Если вы вносили в систему изменения, можно использовать только второй способ. Способ 2 Добавить группу всех пользователей (Everyone) в группы DB2ADMNS и DB2USERS. Добавление группы всех пользователей (Everyone) в эти группы защиты предоставляет всем пользователям все привилегии для использования DB2 UDB. Однако отключение защиты не рекомендуется, чтобы не снижать безопасность. Отключение защиты может лишить некоторых пользователей возможности использовать DB2 UDB, поскольку список управления доступом (ACL), созданный DB2 UDB во время выполнения, перестанет соответствовать ACL, остающемуся в силе для файловой системы. Путь каталога не может содержать пробелов (Linux и UNIX) Если программа db2setup запускается из каталога, путь которого содержит пробелы, установка завершится неудачно со следующим сообщением об ошибке: <файл>: не найден Поместите устанавливаемые модули в каталог, путь которого не содержит пробелов. Требования для Red Hat Enterprise Linux 4 Перед установкой DB2 Universal Database for Linux(TM) в Red Hat Enterprise Linux(R) 4 необходимо установить пакет compat-libstdc++-33. Уровни JDK для DB2 UDB (Linux на IA64 и Linux на POWER) При установке Версии 8.2 DB2 Universal Database (UDB) в Linux программа установки на основе RPM попытается установить IBM Java RPM (IBMJava2-SDK-ppc-1.4.1-2.0.ppc.rpm). Если в системе уже есть RPM более высокого уровня (например, IBMJava2-SDK-ppc-1.5.0-2.0.ppc.rpm), меньший уровень RPM не устанавливается. Однако в этом случае программа установки оставит параметр конфигурации базы данных JDK_PATH, указывающий путь к Java 1.4 - /opt/IBMJava2-14/. В результате не будут работать никакие функции, зависящие от Java, включая установку каталога инструментов DB2. Предварительное требование Выполните от имени владельца экземпляра приведенную ниже команду. Порядок действий 1. Чтобы задать для DB2 UDB нужную программу IBM(R) Developer Kit, введите команду: db2 update dbm cfg using JDK_PATH путь , где путь - путь установки 1.5, например, /opt/IBMJava2-15. Распаковка сжатых установочных образов (Linux и UNIX) Некоторые установочные образы находятся на компакт-дисках продукта в сжатом формате или в формате GZIP. Перед установкой DB2 Universal Database (UDB) из этих форматов надо скопировать установочный образ во временный каталог и распаковать или разархивировать его. Имена сжатых установочных образов и образов в формате GZIP на компакт-диске - ПРОДУКТ.tar.Z или ПРОДУКТ.tar.gz, где ПРОДУКТ - устанавливаемый продукт DB2. Например, если вы устанавливаете DB2 UDB Enterprise Server Edition, сжатый образ на соответствующем компакт-диске может иметь имя ese.tar.Z или ese.tar.gz. Дополнительно к объему дисковой памяти, который необходим для установки продукта, в файловой системе должно быть свободно еще 2 Гбайта для хранения файла tar.Z или tar.gz и несжатого установочного образа. Порядок действий Для распаковки установочных образов выполните следующие действия: 1. Скопируйте сжатый или имеющий формат GZIP установочный образ во временную файловую систему, где свободно не менее 2 гигабайт. 2. Перейдите в каталог, куда вы скопировали установочный образ, введя cd /TMP, где /TMP - каталог, куда вы скопировали сжатый образ. 3. Если расширение файла продукта - *.tar.Z, введите для распаковки установочного образа команду: zcat ПРОДУКТ.tar.Z | tar -xvf - где ПРОДУКТ - устанавливаемый продукт DB2. 4. Если расширение файла продукта - *.tar.gz, введите для распаковки установочного образа команду: gunzip -c ПРОДУКТ.tar.gz | tar -xvf - где ПРОДУКТ - устанавливаемый продукт DB2. Прим.: a. Утилита gunzip входит в комплект установки AIX 5L по умолчанию. Если у вас нет ее, установите набор файлов rpm.rte с установочного носителя AIX 5L. В набор файлов rpm.rte входит и gunzip. b. Можно также загрузить gzip для AIX 5L, куда входит gunzip, с сайта http://www.ibm.com/servers/aix/products/aixos/linux/rpmgroups.html. 5. Чтобы выполнить установку при помощи мастера по установке DB2, смотрите раздел Установка DB2 UDB из установочных образов (Linux и UNIX). DB2 UDB не допускает использование национальных символов в пути установки (Windows) При установке DB2 Universal Database (UDB) в Windows вы можете ввести путь к каталогу для DB2 UDB. Но вводимое имя пути каталога может содержать только латинские символы. Загрузка и распаковка пакетов FixPaks для нескольких продуктов (Windows) Начиная с DB2 Версии 8 для Windows, Fixpak 3, IBM предлагает вместо одного общего пакета FixPak пакеты FixPak для отдельных продуктов. Это изменение относится только к продуктам DB2 Версии 8 на платформах Windows. Если вы устанавливаете несколько продуктов DB2, перед установкой потребуется загрузить и распаковать образ для каждого продукта DB2. Например, если в одной системе Windows установлены DB2 UDB Enterprise Server Edition Версии 8 и DB2 Spatial Extender Версии 8, надо загрузить образы FixPak DB2 UDB Enterprise Server Edition и Spatial Extender. Затем необходимо распаковать в тот же каталог все образы пакетов FixPak. Для установки с использованием графического интерфейса или установки без вывода сообщений надо распаковать все образы. Полные инструкции по установке пакета FixPak смотрите в информации Readme последнего пакета FixPak для DB2 UDB. Установка DB2 UDB из установочных образов (Linux и UNIX) Предварительные требования Перед запуском мастера по установке DB2: * Убедитесь, что в системе выполнены предварительные требования к установке и достаточно оперативной и дисковой памяти. Подробную информацию смотрите в разделе Требования к аппаратному и программному обеспечению. Прим.: В DB2 UDB Версии 8.2.2 (эквивалентна Версии 8.1 Fixpack 9) добавлен новый набор установочных образов для дистрибутивов Linux(R) в архитектурах x86 (32-битный Intel(R) и AMD) и x86-64 (64-битный Intel(R) EM64T и AMD64), основанных на ядре 2.6, например, Red Hat Enterprise Linux 4 и SuSE Linux Enterprise Server 9. * Обязательно прочитайте о предварительных требованиях для установки. Файл install.txt или install.htm расположен на компакт-диске в каталоге: /компакт-диск/doc/язык/, где: * компакт-диск - точка монтирования * язык - пятисимвольный код нужного языка. * Для установки необходимы полномочия root. * Компакт-диск с программным продуктом DB2 должен быть смонтирован в системе. Порядок действий Если установочные образы находятся на компакт-дисках продукта в сжатом формате или в формате GZIP, установочный образ надо распаковать или разархивировать программой gunzip перед установкой DB2 UDB. Подробнее об этом смотрите в разделе Распаковка сжатых установочных образов (Linux и UNIX). Для установки при помощи мастера по установке DB2 введите команду: ./ПРОДУКТ/db2setup , где ПРОДУКТ - устанавливаемый продукт DB2. Например, если вы устанавливаете DB2 UDB Enterprise Server Edition, введите ./ese/db2setup. Откроется панель запуска установки. Выполните действия на панелях установки. Установка DB2 UDB из установочных образов (Windows) Предварительные требования Перед запуском мастера по установке DB2: * Убедитесь, что в системе выполнены предварительные требования к установке и достаточно оперативной и дисковой памяти. Подробную информацию смотрите в разделе Требования к аппаратному и программному обеспечению. * Обязательно прочитайте о предварительных требованиях для установки. Файл install.txt или install.htm расположен на компакт-диске CD в каталоге: x:\doc\язык\ , где: * x - дисковод компакт-диска * язык - пятисимвольный код нужного языка. * Для выполнения установки необходимо создать локальную учетную запись Администратор с необходимыми правами доступа. Для установки при помощи мастера по установке DB вставьте компакт-диск в дисковод. Если включена функция автоматического запуска, появится панель запуска программы установки DB2. Порядок действий Если функция автоматического запуска отключена, мастер по установке DB2 можно запустить вручную: 1. Нажмите кнопку Пуск и выберите Выполнить. 2. В поле Открыть введите следующую команду: x:\setup /i язык где: * x: - дисковод компакт-диска * язык - код используемого языка и территории (например, RU для русского). Параметр /i язык не обязательный. Если его не задать, мастер по установке DB2 Setup запустится на языке вашей операционной системы. 3. Нажмите кнопку OK. Откроется панель запуска установки DB2. Выполните действия на панелях установки. Прим.: Продукт DB2 Run-Time Client Lite использует другие параметры командной строки. Подробности можно найти в Информационном центре DB2 на сайте http://publib.boulder.ibm.com/infocenter/db2help/. Дисковое пространство, необходимое для установки DB2 UDB с помощью файла ответов При установке продукта DB2 Universal Database с помощью файла ответов требуется 1 Мбайт свободного места на диске в каталоге etc. Если вы получите сообщение об ошибке DBI1191I во время установки с помощью файла ответов, это значит, что в корневом каталоге недостаточно свободного дискового пространства. Это сообщение неточно. Проверьте количество свободного дискового пространства в каталоге etc. Надо иметь минимум 1 Мбайт свободного дискового пространства перед повторением установки. Ограничения на добавление продуктов с помощью команды db2setup (Linux и UNIX) После установки продукта DB2 можно добавить дополнительные продукты DB2. Если для добавления продуктов вы используете команду db2setup, учитывайте следующие рекомендации и ограничения. Рекомендации У установленного и добавляемого продуктов должны совпадать уровни кода. Например, уже установлен DB2 Universal Database (UDB) Enterprise Server Edition Версии 8 FixPak 5, и вы хотите добавить продукт DB2 Information Integrator. В этом случае DB2 Information Integrator должен быть также уровня Версия 8 FixPak 5. Ограничения * Если уровень FixPak DB2 выше уровня FixPak добавляемого продукта, такое сочетание разрешено. Однако поскольку уровень FixPak добавляемого продукта меньше уровня FixPak DB2, после установки дополнительного продукта нужно повторно применить пакет FixPak DB2. Инструкции по повторному применению пакета FixPak смотрите в соответствующем файле Readme для этого пакета FixPak. * Если уровень FixPak DB2 ниже уровня FixPak добавляемого продукта, выдается сообщение об ошибке. Уровень FixPak добавляемого продукта не может быть новее, чем у DB2 UDB. В такой ситуации надо сначала обновить до нужного уровня DB2 UDB, а потом устанавливать дополнительный продукт. Смотрите инструкции в соответствующем файле Readme для пакета FixPak. Сочетания уровней при применении команды db2setup показаны в следующей таблице: Табл. 6. Сочетания уровней для команды db2setup +----------+--------------+-------------------------------------------+ | Уровень | Уровень | Допустимость сочетания | | FixPak | FixPak | | | DB2 | дополнитель- | | | | ного продукта| | +----------+--------------+-------------------------------------------+ | Версия 8 | Версия 8 | Да. Это рекомендуемое сочетание. | | FixPak 3 | FixPak 3 | | +----------+--------------+-------------------------------------------+ | Версия 8 | Версия 8 GA | Да, но нужно повторно применить Версию 8 | | FixPak 3 | | FixPak 3. Инструкции по повторному | | | | применению пакета FixPak смотрите на | | | | сайте поддержки DB2 в соответствующем | | | | файле Readme для этого пакета FixPak. | +----------+--------------+-------------------------------------------+ | Версия 8 | Версия 8 | Нет. Перед установкой дополнительного | | FixPak 3 | FixPak 5 | продукта нужно сначала обновить уровень | | | | DB2 (в этом примере до Версии 8 FixPak | | | | 5). Инструкции по установке необходимого | | | | пакета FixPak Версии 8 смотрите на сайте | | | | поддержки DB2 в соответствующем файле | | | | Readme для этого пакета FixPak. | +----------+--------------+-------------------------------------------+ Адрес сайта поддержки DB2 - http://www.ibm.com/software/data/db2/udb/support.html Инструменты Web DB2 Серверы прикладных программ, поддерживаемые Инструментами Web DB2 для следующих языков, должны соответствовать спецификации Servlet 2.3: * Японский * Корейский * Китайский (КНР) * Китайский (Тайвань) * Русский * Польский Связывание пакетов Query Patroller после применения пакетов FixPak Если у вас установлен Query Patroller, после применения пакета FixPak и выполнения задач после установки FixPak выполните следующие действия: 1. Зарегистрируйтесь как пользователь с полномочиями DBADM. 2. Перейдите в соответствующий каталог: * INSTPATH/bnd (Linux и UNIX) * INSTPATH\bnd (Windows) где INSTPATH - путь экземпляра DB2 UDB. 3. Введите следующие команды: db2 connect to имя-базы-данных db2 bind @qpserver.lst blocking all grant public Установка Query Patroller на уровне FixPak 3 и новее Query Patroller - это система управления запросами, применяемая для управления потоком запросов к базе данных DB2 UDB. Начиная с DB2 UDB Версии 8.1.2, DB2 Query Patroller поставляется как отдельный продукт. Он больше не входит в состав DB2 Warehouse Manager. Если у вас установлена DB2 Версии 8 FixPak 3 или новее и вы устанавливаете DB2 Query Patroller базовой версии или версии GA, необходимо повторно применить DB2 UDB FixPak 3 или новее. В противном случае изменения Query Patroller не будут применены к вашему уровню FixPak DB2 UDB. Если вы устанавливаете сервер Query Patroller, надо также обновить экземпляры DB2 UDB после повторного применения уровня DB2 UDB FixPak. После обновления экземпляры нужно перезапустить. Установка сервера Query Patroller При установке сервера Query Patroller обратите внимание на следующее: * Если, используя мастер установки DB2, вы выбрали На основе использования компьютера в окне Выберите тип установки, а затем Сервер в окне Выберите, как будет использоваться этот компьютер, при этом Query Patroller Center устанавливаться не будет. Если вы хотите установить Query Patroller Center, в окне Выберите тип установки необходимо выбрать либо Полная, либо Пользовательская. * В руководстве DB2 Query Patroller(TM) Guide для иллюстрации установки сервера Query Patroller с помощью мастера по установке DB2 использованы панели установки на основе использования компьютера. Вам необязательно выбирать установку сервера Query Patroller на основе использования компьютера. Для сервера Query Patroller можно выбрать как полную установку, так и пользовательскую установку. * Клиенты DB2 с установленными инструментами Query Patroller Client Tools должны соединяться с разделом, на котором установлен сервер Query Patroller. В обычной среде многораздельной базы данных сервер Query Patroller устанавливается на всех разделах, и вы можете выбрать любой раздел в качестве раздела координатора, и это не помешает использовать инструменты клиента Query Patroller. Определение новой группы разделов базы данных в Query Patroller Когда при установке Query Patroller в многораздельной среде вы определяете новое табличное пространство, можно выбрать существующую группу разделов базы данных. Другой вариант - задать для нового табличного пространства новую группу разделов базы данных. Если вы решили задать новую группу разделов базы данных, для нее можно выбрать только один раздел базы данных из списка на панели установки. Если вы хотите добавить в новую группу разделов базы данных другие разделы, это надо сделать вручную после завершения установки. Установка инструментов клиента Query Patroller Клиенты DB2 не требуют установки на них клиентских инструментов Query Patroller для отправки запросов серверу Query Patroller. Повторное создание баз данных из бета-версий Если вы создали базы данных в бета-версии DB2 UDB Версии 8.2, надо создать их повторно в официальной версии Версии 8.2. Пространственные базы данных DB2 Geodetic Extender Версии 8.2 также надо будет создать повторно. Установка файлов MDAC для национальных языковых версий DB2 UDB Если вы не установили национальную версию MDAC (Microsoft Data Access Components) 2.7 до установки национальной версии of DB2 Universal Database (UDB) Версии 8.2, DB2 UDB по умолчанию установит английские файлы MDAC. В результате такой установки в неанглийских операционных системах панели Windows ODBC Data Source Administrator будут выводиться в непереведенном виде. Чтобы исправить эту ошибку, установите пакет "MDAC 2.7 RTM - Refresh" с сайта Microsoft по адресу http://msdn.microsoft.com/data/downloads/updates/default.aspx. Выберите требуемый язык, загрузите нужный исполняемый файл и запустите его. При этой процедуре будут установлены переведенные файлы ODBC Data Source Administrator. Лицензионные правила DB2 для DB2 Universal Database Workgroup Server Edition Лицензионные правила Интернета недействительны для DB2 Universal Database Workgroup Server Edition. Если вам нужна лицензия для пользователей Интернета, необходимо приобрести DB2 Universal Database Workgroup Server Unlimited Edition. Установка дополнительных азиатских шрифтов (Linux) IBM предлагает дополнительные пакеты шрифтов для Linux, содержащие поддержку двухбайтных наборов символов (DBCS) для языков Азии. Эти пакеты шрифтов необходимы при работе с некоторыми версиями Linux, где установлены только обязательные шрифты для вывода символов, специфичных для страны или региона. Если после выполнения команды db2setup в интерфейсе мастера по установке DB2 не выводятся некоторые символы, в вашей системе Linux, возможно, установлены не все необходимые шрифты. Чтобы команда db2setup могла правильно обращаться к шрифтам на установочном компакт-диске: 1. Введите команду: export JAVA_FONTS=//db2/<платформа_linux>/java/jre/lib/fonts где - положение установочного образа, а <платформа_linux> - имя каталога с префиксом Linux. 2. Введите команду db2setup еще раз. Если при работе с инструментами DB2 GUI после установки вы заметите пропуски символов, установите необходимые шрифты, поставляемые с данным продуктом DB2. Эти шрифты можно найти в каталоге fonts любого из следующих компакт-дисков: * IBM(R) Developer Kit, Java(TM) Technology Edition (64-битная версия) для AIX 5L * DB2 Embedded Application Server и прикладные программы (реестр XML, инструменты управления Web и распределенный отладчик Java(TM)) для вашей операционной системы В каталоге fonts есть два вида шрифтов: Times New Roman WorldType и Monotype Sans Duospace WorldType. Для каждой гарнитуры существует шрифт, специфический для страны или региона. Ниже в таблице перечислены восемь шрифтов, поставляемых в сжатом формате в каталоге fonts. Табл. 7. Имена файлов дополнительных азиатских шрифтов +-------------------------+---------------------+---------------------+ | Гарнитура шрифта | Имя файла шрифта | Страна или регион | +-------------------------+---------------------+---------------------+ | Times New Roman WT J | tnrwt_j.zip | Япония и другие | | | | страны или регионы | +-------------------------+---------------------+---------------------+ | Times New Roman WT K | tnrwt_k.zip | Корея | +-------------------------+---------------------+---------------------+ | Times New Roman WT SC | tnrwt_s.zip | Китай (упрощенный | | | | китайский) | +-------------------------+---------------------+---------------------+ | Times New Roman WT TC | tnrwt_t.zip | Тайвань | | | | (традиционный | | | | китайский) | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdj.zip | Япония и другие | | WT J | | страны или регионы | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdk.zip | Корея | | WT K | | | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansds.zip | Китай (упрощенный | | WT SC | | китайский) | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdt.zip | Тайвань | | WT TC | | (традиционный | | | | китайский) | +-------------------------+---------------------+---------------------+ Прим.: Эти шрифты не замещают системные шрифты. Они предназначены для использования совместно с ними или для использования в DB2 Universal Database. У вас нет права продавать или распространять эти шрифты. Порядок действий Для установки дополнительного азиатского шрифта: 1. Распакуйте пакет шрифта. 2. Скопируйте пакет шрифтов в каталог /opt/IBMJava2-141/jre/lib/fonts. Если этот каталог еще не существует, его надо создать. 3. Введите команду: export JAVA_FONTS=/opt/IBMJava2-141/jre/lib/fonts Для страны или региона надо установить минимум один шрифт каждой гарнитуры. В Китае, Корее или Тайване следует использовать версии для страны или региона, в противном случае используйте японскую версию шрифтов. Если в системе достаточно свободного места, установите все восемь шрифтов. Конфигурирование Центра разработки для использования комплектов Java Development Kit (Linux) В некоторых случаях DB2 Universal Database не устанавливает Java Development Kit в операционной системе клиента. Чтобы разрабатывать на этих клиентах хранимые процедуры Java с помощью Центра разработки, надо указать ему положение установленного Java Development Kit. Чтобы задать положение комплекта разработки Java: 1. В Центре разработки выберите пункт меню Проект -> Параметры среды. 2. В записной книжке Параметры среды выберите узел Процесс. 3. В разделе Домашний каталог Java страницы Процесс выберите Уровень JDK, который будет использоваться для построения и запуска хранимых процедур Java. 4. В поле Каталог задайте существующий или доступный каталог путь на клиенте, где установлен выбранный JDK. 5. Если клиентский компьютер используется для разработки хранимых процедур Java на нескольких серверах DB2, вам может понадобиться выбрать дополнительные уровни JDK и задать места их установки, в зависимости от того, на каких уровнях JDK работают эти серверы. При установке Java Development Kit на сервере DB2 для некоторых библиотеки Java могут не быть установлены связи с системным подкаталогом /usr/lib. Такие связи необходимы для построения и выполнения хранимых процедур Java. В подразделе "Настройка среды Java в Linux" раздела О проблемах совместимости в настоящих Замечаниях по выпуску показано, как создавать ссылки на Java Development Kit на клиенте Linux. Создание групповых и пользовательских ID в United Linux 1.0 и дистрибуциях SuSE Linux Чтобы создать ID групп и пользователей для установки DB2 UDB Версии 8.2 в дистрибутивах United Linux 1.0 и SuSE Linux воспользуйтесь, соответственно, командами groupadd и useradd. В Дополнении по установке и конфигурированию Версии 8.2 неправильно указано, что ID групп и пользователей создаются соответственно командами mkgroup и mkuser. Демон справочной системы не запускается после установки с помощью команды db2_install (UNIX и Linux) Если вы устанавливаете Информационный центр DB2 на платформах UNIX или Linux с помощью команды db2_install, демон справочной системы (db2icd) не будет запущен после установки. Для доступа к документации надо запустить демон справочной системы вручную или перезапустить компьютер. Смотрите тему "Демон Информационного центра DB2" в разделе Изменения в документации | Установка и конфигурирование Замечаний по выпуску. Включение Ready for Tivoli (UNIX) Покупая программный продукт IBM с логотипом Ready for Tivoli, вы получаете возможность управлять вашими программными продуктами IBM при помощи всевозможных разновидностей Tivoli. Продукты Tivoli позволяют автоматически находить, отслеживать и учитывать одну или несколько прикладных программ Ready for Tivoli. Программными продуктами IBM Ready for Tivoli можно управлять посредством таких продуктов, как IBM Tivoli Configuration Manager. IBM Tivoli Monitoring for Databases поддерживает все основные базы данных, включая базы данных DB2 Universal Database (UDB), Oracle и Informix. Дополнительную информацию смотрите на сайте IBM по адресу http://www.ibm.com/software/tivoli/ Ready for Tivoli Instrumentation и DB2 UDB Версии 8 Чтобы установить и сконфигурировать инструментальные средства, попросите администратора Tivoli сделать следующее: 1. Файл сигнатур Tivoli Ready для этого продукта DB2 называется xxx.sys. Для пакета FixPak 4 эти файлы подписей будут обновлены для каждого пакета FixPak, а не для выпуска версии. Убедитесь, что файлы подписей установлены в следующем каталоге: %каталог_установки_DB2%/tivready 2. Установить и сконфигурировать программу подключения Tivoli Ready для Tivoli GEM 2.2 на всех компьютерах, за которыми вы собираетесь следить. Загрузить программу подключения Tivoli Ready, а также найти подробные указания по его установке и использованию можно по адресу http://www.ibm.com/software/sysmgmt/products/support/ 3. IBM Tivoli Monitoring for Databases обеспечивает широкие современные возможности управления базами данных. Продукт ITM for Databases использует новый выпуск продукта Distributed Monitoring (называемый IBM Tivoli Monitoring или ITM) и обеспечивает за счет этого значительное расширение возможностей мониторинга. ITM for Databases обеспечивает поддержку DB2 UDB при помощи компонента упреждающего анализа Proactive Analysis Component (PAC). Этот PAC тесно интегрирован с DB2 UDB и обеспечивает готовый набор мониторов для быстрой разработки и активации. Пользовательские мониторы, пороги и задачи может также определять администратор базы данных. Дополнительную информацию смотрите по адресу: http://www.ibm.com/software/tivoli/ Информацию о других продуктах Tivoli смотрите по адресу: http://www.ibm.com/software/tivoli/ Инструмент сокращения установочного образа - db2iprune (Windows) Утилита командной строки db2iprune может уменьшать размер установочного образа продукта DB2 Universal Database (UDB) Windows. Данный инструмент особенно полезен при крупномасштабном внедрении DB2 UDB. Он полезен также при встраивании DB2 UDB в прикладную программу. Инструмент db2iprune состоит из файла ввода и файла программы. Файл ввода (.prn) содержит полный список компонентов, которые можно удалить. Задайте в нем возможности и языковые версии, которые хотите удалить из установочного образа. Затем файл программы (db2iprune.exe) удалит файлы .cab, соответствующие этим возможностям и языкам. Полученный в результате новый, уменьшенный образ DB2 UDB можно установить обычным образом. Пакеты FixPak также можно будет применять обычными методами. При установке пакета FixPak он обнаружит и обновит только те компоненты, которые были установлены после обработки db2iprune. Инструмент db2iprune находится в каталоге \db2\windows\utilities\db2iprune установочного компакт-диска продукта DB2 UDB. В этом же каталоге находится файл Readme. Посмотрите в файле Readme подробные инструкции по использованию db2iprune. Ограничение установки документации DB2 Universal Database Версии 8 (Windows) В Windows не устанавливайте Информационный центр DB2 Universal Database (UDB) Версии 8 (документацию в формате HTML) на рабочую станцию или сервер, где уже установлен продукт a DB2 UDB Версии 7 (или более ранней). Программа установки обнаружит более раннюю версию и удалит продукт. Обновление предыдущих установок до последнего уровня (Windows) Если у вас есть продукт DB2, установленный на уровне ранее Версии 8, установочный образ обнаружит его и обновит до новейшего уровня. Системные требования для DB2 .NET Data Provider (Windows) До запуска программы установки DB2 Universal Database (UDB) с целью установки DB2 .NET Data Provider на вашем компьютере должна быть установлена .NET Framework. Если .NET Framework не установлена, программа установки DB2 UDB не будет регистрировать DB2 .NET Data Provider. Если DB2 UDB установлена, а .NET Framework не установлена, DB2 .NET Data Provider не будет зарегистрирован. Если вы установите .NET Framework позже, можно будет запустить программу db2nmpreg для регистрации провайдера. Эта программа находится в каталоге sqllib\bin. Параметры для нее не требуются. Чтобы зарегистрировать DB2 .NET Data Provider, введите db2nmpreg в любом командном окне. Установка клиентов DB2 Версии 8 и DB2 Connect PE без полномочий администратора (Windows) При установке клиента администратора DB2, клиента разработки прикладных программ DB2 или DB2 Connect Personal Edition файл служб TCP/IP Windows необходимо обновить, если выполнены следующие условия: * При установке выбрана функция хранилища данных * ID пользователя, выполняющего установку, не входит в группу администраторов на компьютере назначения * Программный продукт устанавливается в любой из следующих операционных систем: Windows NT, Windows 2000, Windows XP или Windows Server 2003. Если выполняются все эти условия, нужно добавить в файл служб TCP/IP Windows следующие записи: Табл. 8. Записи, добавляемые в файл служб TCP/IP Windows +----------------------------------+----------------------------------+ | Имя порта | Номер порта | +----------------------------------+----------------------------------+ | vwkernel | 11000/tcp | +----------------------------------+----------------------------------+ | vwd | 11001/tcp | +----------------------------------+----------------------------------+ | vwlogger | 11002/tcp | +----------------------------------+----------------------------------+ Без этих записей Центр хранилищ данных не будет нормально работать. Замечания по перенастройке В дополнение к представленным здесь разделам самую свежую информацию о перенастройке продуктов DB2 можно найти на портале DB2 Migration Portal: http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21200005 Технические замечания по db2updv8 Самую свежую информацию по db2updv8, в том числе важные подробности использования и обходные приемы для возможных проблем, можно найти в технических замечаниях 1178848 по адресу http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21178848 После запуска db2updv8 не поддерживается возврат к Версии 8.1 Если вы запустили команду db2updv8 для обновления системных каталогов до текущего уровня Версии 8 возврат к Версии 8.1 не поддерживается. Перенастройка таблиц EXPLAIN Чтобы создать таблицы объяснения, необходимо выполнить команду db2updv8, если перенастройка происходит в DB2 Universal Database(TM) (UDB) Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9) и выше из DB2 UDB Version 8.2 FixPak 1 (эквивалентна Версии 8.1 FixPak 8) и ниже. Команда db2updv8 создаст функцию EXPLAIN_GET_MSG, что снова позволит запускать EXPLAIN.DDL. Если вы попытаетесь создать таблицы объяснения при помощи EXPLAIN.DDL, не выполнив команду db2updv8, можно получить такое сообщение об ошибке: DB21034E Данная команда обрабатывалась как оператор SQL, поскольку она не является допустимой командой командной строки. При обработке SQL было получено сообщение: SQL0440N Не найдено авторизованной подпрограммы "EXPLAIN_GET_MSG" типа "FUNCTION" с совместимыми аргументами. НОМЕР СТРОКИ=26. SQLSTATE=42884 Перенастройка модуля XML Extender из предыдущих версий Если вы используете предыдущую версию модуля расширения DB2 XML Extender, то чтобы использовать с обновленным выпуском модуля XML Extender существующие базы данных, для которых разрешена поддержка XML, каждую такую базу данных необходимо перенастроить. Каждый из новых пакетов исправлений содержит все изменения из предыдущих пакетов. Перед запуском программы перенастройки создайте резервную копию базы данных. Для перенастройки базы данных с поддержкой XML и столбцов с поддержкой XML выполните следующие действия. 1. В командной строке DB2 введите: db2 connect to имя_базы_данных db2 bind путь_установки_dxx/bnd/@dxxMigv.lst db2 bind путь_установки_dxx/bnd/@dxxbind.lst где dxxinstall - это путь, по которому вы установили DB2 Universal Database. 2. В командной строке DB2 введите: dxxMigv имя_базы_данных Перенастройка DB2 Universal Database при использовании DataJoiner или репликации Если вы хотите перенастроить экземпляр DataJoiner или DB2 Universal Database (UDB) для Linux, UNIX или Windows, где применяются программы Capture или Apply для репликации DB2 UDB, перед перенастройкой экземпляра необходимо подготовить к перенастройке среду репликации. Подробные инструкции по подготовке включены в документацию по перенастройке DB2 DataPropagator Версии 8. Документацию по перенастройке DB2 DataPropagator Версии 8 можно найти по адресу http://www.ibm.com/software/data/dpropr/. Перенастройка DB2 Universal Database (Windows) Описанные ниже шаги показывают правильный порядок выполнения предварительных по перенастройке для DB2 Universal Database (UDB) в Windows. Предварительные требования Перед перенастройкой: 1. Ознакомьтесь с рекомендациями по перенастройке, ограничениями и рекомендациями по свободному пространству. 2. Перед перенастройкой DB2 UDB запишите параметры конфигурации. 3. Перейдите на диагностический уровень ошибок. 4. Проверьте, что базы данных готовы к перенастройке DB2 UDB. 5. Выполните резервное копирование баз данных. 6. При использовании репликации необходимо также создать резервные копии всех файлов журналов DB2 UDB. 7. У вас должны быть полномочия SYSADM. 8. Выключите сервер DB2 для перенастройки DB2 UDB. Прим.: Как и в Версии 8.1, значение по умолчанию переменной реестра DB2_HASH_JOIN - ON. Подробную информацию смотрите в подразделе "Руководство администратора: Производительность" раздела "Изменения в документации". Перенастройка базы данных DB2 Версии 8 из 32-битной системы Windows в 64-битную систему Windows В этом разделе приведены шаги перенастройки 32-битной базы данных DB2 Версии 8 на 32-битном компьютере в 64-битную базу данных в 64-битной операционной системе Windows. Предварительные требования * На 64-битном компьютере должна быть установлена 64-битная версия DB2 Версии 8. * Убедитесь, что в вашей 32-битной системе Windows запущена DB2 Версии 8. Порядок действий Для перенастройки в DB2 Версии 8 для 64-битной Windows: 1. Создайте резервные копии баз данных DB2 Версии 8 в 32-битной системе Windows. 2. Восстановите резервные копии DB2 Версии 8 (созданные на шаге 1) в 64-битной системе Windows. Прим.: Кроме перенастройки DB2 UDB из 32-битной системы в 64-битную, возможны также следующие сценарии перенастройки: * Перенастройка между версиями Windows * Перенастройка между версиями DB2 UDB * Одновременная перенастройка всех компонентов * Обратная перенастройка в 32-битную среду Подробную информацию смотрите в технической публикации IBM Redbook: Scaling DB2 UDB on Windows Server 2003 (Масштабирование DB2 UDB в Windows Server 2003). Эту книгу можно найти по адресу: http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg247019.html Перенастройка в DB2 UDB Версии 8.2.2 из Версии 7 в среде MSCS В этой теме описано, как выполнить перенастройку из DB2 Universal Database(TM) (UDB) Версии 7 в DB2 UDB Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9) в среде Microsoft Cluster Server (MSCS). Предположения: Пример конфигурации ниже будет использован для иллюстрации того, как перенастроить DB2 UDB Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9) в среде MSCS. В этом примере конфигурации есть два компьютера Windows Server 2000 с DB2 UDB Enterprise Server Edition Версии 7. Начальная конфигурация - экземпляр DB2, состоящий из двух разделов. Кроме этого, есть две группы кластеров: * DB2 Group 0: содержит Раздел 0, активный на компьютере A. Здесь же расположен сервер управления (DAS, Administration Server). * DB2 Group 1: содержит Раздел 1, активный на компьютере B. Предварительное требование Перед запуском перенастройки выполните резервное копирование базы данных. Порядок действий Чтобы выполнить перенастройку из DB2 UDB Версии 7 в Версию 8.2.2 (эквивалентна Версии 8.1 FixPak 9) в среде MSCS: 1. Отключите автоматическое восстановление после сбоев. Возможно, в ходе установки понадобится перезапустить компьютер. При этом служба кластера перезапустится автоматически. Поэтому необходимо отключить автоматическое восстановление после сбоев, чтобы оно не выполнялось ни в одной из групп. a. Для отключения автоматического восстановления после сбоев в DB2 Group 0: 1) В окне администратора кластера щелкните правой кнопкой мыши по DB2 Group 0. 2) Выберите Properties (Свойства). Откроется окно свойств DB2 Group 0. 3) На вкладке Failback (Восстановление после сбоев) выберите радиокнопку Prevent failback (Не выполнять восстановление после сбоев). 4) Нажмите кнопку OK. b. Для отключения автоматического восстановления после сбоев в DB2 Group 1: 1) В окне администратора кластера щелкните правой кнопкой по DB2 Group 1. 2) Выберите Properties (Свойства). Откроется окно свойств DB2 Group 1. 3) На вкладке Failback (Восстановление после сбоев) выберите радиокнопку Prevent failback (Не выполнять восстановление после сбоев). 4) Нажмите кнопку OK. 2. Переместите DB2 Group 1 на компьютер A. a. В графическом интерфейсе администратора кластера щелкните по DB2 Group 1. b. Щелкните правой кнопкой мыши и выберите Move Group (Переместить группу). Значение в столбце Owner (Владелец) изменится на компьютер A. 3. Остановите службу кластера на компьютере B. a. В окне Component Services (Службы компонентов) щелкните правой кнопкой по Cluster Service. b. Нажмите кнопку Stop (Остановка). 4. Загрузите и установите DB2 UDB Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9) на компьютер B. Прим.: * Сейчас DB2 UDB по-прежнему работает и доступна на компьютере A. * В ходе процесса установки вам предложат ввести команду db2imigr, чтобы перенастроить экземпляры DB2 на этом компьютере. При выполнении db2imigr может потребоваться перезагрузка компьютера. 5. Переведите ресурсы DB2 на компьютере A в автономный режим. a. Раздел 0, Раздел 1 и DAS - ресурсы на компьютере A. Их нужно отключить по очереди. Чтобы перевести в автономный режим компьютер A: 1) На левой панели окна Cluster Administrator выберите Groups (Группы). 2) Выберите DB2 Group 0. На правой панели окна будут выведены ресурсы этой группы. * Для DB2 Group 0 к ресурсам DB2 относятся Раздел 0 и DAS. 3) На правой панели окна выберите один из ресурсов, щелкните правой кнопкой мыши и выберите Take Offline (Отключить). * Повторите это действие для всех ресурсов DB2 в DB2 Group 0. 4) Выберите DB2 Group 1. На правой панели окна будут выведены ресурсы этой группы. * Для DB2 Group 1 к ресурсам DB2 относится Раздел 1. 5) На правой панели окна щелкните правой кнопкой по этому ресурсу (Partition 1) и выберите Take Offline (Отключить). 6. Запустите службу кластера на компьютере B. Если для установки потребовалось перезапустить ваш компьютер, а в качестве Restart Type (Тип перезапуска) для службы кластера задано automatic (автоматически), пропустите этот шаг, поскольку служба кластера уже запущена. Чтобы запустить службу кластера: a. В окне Component Services (Службы компонентов) щелкните правой кнопкой по Cluster Service. b. Нажмите кнопку Пуск. 7. Переместите DB2 Group 0 и DB2 Group 1 на компьютер B. a. В окне администратора кластера щелкните по DB2 Group 0. b. Щелкните правой кнопкой мыши и выберите Move Group (Переместить группу). Значение в столбце Owner (Владелец) изменится на компьютер B. c. Щелкните по DB2 Group 1. d. Щелкните правой кнопкой мыши и выберите Move Group (Переместить группу). Значение в столбце Owner (Владелец) изменится на компьютер B. 8. Переведите ресурсы DB2 на компьютере B в оперативный режим. a. Теперь Раздел 0, Раздел 1 и DAS - ресурсы на компьютере B. Их нужно включить по очереди. Чтобы перевести эти ресурсы в оперативный режим: 1) На левой панели окна Cluster Administrator выберите Groups (Группы). 2) Выберите DB2 Group 0. На правой панели окна будут выведены ресурсы этой группы. * Для DB2 Group 0 к ресурсам DB2 относятся Раздел 0 и DAS. 3) На правой панели окна выберите один из ресурсов, щелкните правой кнопкой мыши и выберите Bring Online (Включить). * Повторите это действие для всех ресурсов DB2 в DB2 Group 0. 4) Выберите DB2 Group 1. На правой панели окна будут выведены ресурсы этой группы. * Для DB2 Group 1 к ресурсам DB2 относится Раздел 1. 5) На правой панели окна щелкните правой кнопкой по этому ресурсу (Partition 1) и выберите Bring Online (Включить). b. Перенастройте все экземпляры DB2 и все базы данных DB2. 1) Перенастройте все экземпляры DB2 при помощи команды db2imigr: a) Чтобы найти все экземпляры DB2, выполните команду db2ilist. b) Для перенастройки каждого экземпляра DB2 выполните команду db2imigr. Эта команда находится в каталоге sqllib\bin; ее необходимо выполнить для каждого экземпляра DB2. 2) Перенастройте все базы данных DB2 командой migrate database. 9. Остановите службу кластера на компьютере A. a. В окне Component Services (Службы компонентов) щелкните правой кнопкой по Cluster Service. b. Нажмите кнопку Stop (Остановка). 10. Загрузите и установите DB2 UDB Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9) на компьютер A. Прим.: * Сейчас DB2 по-прежнему работает и доступна на компьютере A. * В процессе установки вам может потребоваться перезагрузка компьютера. * Нет необходимости выполнять команды db2imigr и migrate database на компьютере A, поскольку вы уже выполнили их на компьютере B. 11. Запустите службу кластера на компьютере A. Если для установки потребовалось перезапустить ваш компьютер, а в качестве Restart Type (Тип перезапуска) задано automatic (автоматически), пропустите этот шаг, поскольку служба кластера уже запущена. Чтобы запустить службу кластера: a. В окне Component Services (Службы компонентов) щелкните правой кнопкой по Cluster Service. b. Нажмите кнопку Пуск. 12. Переместите DB2 Group 0 на компьютер A. a. В окне администратора кластера щелкните по DB2 Group 0. b. Щелкните правой кнопкой мыши и выберите Move Group (Переместить группу). Значение в столбце Owner (Владелец) изменится на компьютер A. Этим будет восстановлена исходная конфигурация среды MSCS. 13. Если на шаге 1 вы отключили автоматическое восстановление после сбоев, теперь его надо включить. a. Чтобы включить автоматическое восстановление после сбоев в DB2 Group 0: 1) В графическом интерфейсе администратора кластера щелкните правой кнопкой по DB2 Group 0. 2) Выберите Properties (Свойства). Откроется окно свойств DB2 Group 0. 3) На вкладке Failback (Восстановление после сбоев) выберите радиокнопку Allow failback (Разрешить восстановление после сбоев). 4) Нажмите кнопку OK. b. Чтобы включить автоматическое восстановление после сбоев в DB2 Group 1: 1) В окне администратора кластера щелкните правой кнопкой по DB2 Group 1. 2) Выберите Properties (Свойства). Откроется окно свойств DB2 Group 1. 3) На вкладке Failback (Восстановление после сбоев) выберите радиокнопку Allow failback (Разрешить восстановление после сбоев). 4) Нажмите кнопку OK. Перенастройка баз данных (HP-UX на IA64) Перенастройка баз данных для DB2 Universal Database (UDB) for HP-UX на IA64 для всех выпусков Версии 8.x не поддерживается. Восстановление образа резервной копии DB2 Версии 7 в экземпляре Версии 8 для DB2 UDB for HP-UX на IA64 не поддерживается. Информация деинсталляции Деинсталляция DB2 UDB в режиме без вывода сообщений (Windows) Чтобы удалить продукты DB2 в автоматическом режиме при помощи команды msiexec: msiexec /x <код_продукта> /qn , где <код_продукта> - код удаляемого продукта. Вот список кодов продуктов DB2: DB2 Universal Database Enterprise Server Edition (ESE) {D8F53726-C7AD-11D4-9155-00203586D551} DB2 Universal Database Workgroup Server Edition (WSE) {7A28F948-4945-4BD1-ACC2-ADC081C24830} DB2 Universal Database Express Edition (EXP) {58169F10-CA30-4F40-8C6D-C6DA8CE47E16} DB2 Universal Database Personal Edition (PE) {C0AA883A-72AE-495F-9601-49F2EB154E93} DB2 Warehouse Manager (WM) {84AF5B86-19F9-4396-8D99-11CD91E81724} DB2 Data Links Manager (DLM) {1D16CA65-F7D9-47E5-BB26-C623A44832A3} Relational Connect (RCON) {273F8AB8-C84B-4EE6-85E7-D7C5270A6D08} DB2 Connect Enterprise Edition (CEE) {9C8DFB63-66DE-4299-AC6B-37D799A728A2} DB2 Connect Personal Edition (CPE) {F1912044-6E08-431E-9B6D-90ED10C0B739} DB2 Administration Client (ADMCL) {ABD23811-AA8F-416B-9EF6-E54D62F21A49} DB2 Application Development Client (ADCL) {68A40485-7F7F-4A91-9AB6-D67836E15CF2} DB2 Run-Time Client (RTCL) {63F6DCD6-0D5C-4A07-B27C-3AE3E809D6E0} DB2 7 (RTLITE) {07C9CEE7-4529-4E60-95D3-6B6EF6AC0E81} DB2 Eclipse Documentation (DOCE) {FE2D4758-041C-4E4E-95B3-529E4E1EAF3E} DB2 Query Patroller (QP) {7A8BE511-8DF3-4F22-B61A-AF0B8755E354} Life Sciences Data Connect (LSDC) {DD30AEB3-4323-40D7-AB39-735A0523DEF3} DB2 Cube Views(TM) (CUBE) {C8FEDF8F-84E8-442F-A084-0A0F6A772B52} DB2 Spatial Extender (SE) {F6846BF9-F4B5-4BB2-946D-3926795D5749} Пример Если вы хотите удалить DB2 UDB Enterprise Edition, введите команду msiexec /x {D8F53726-C7AD-11D4-9155-00203586D551} /qn Перечисленные ниже коды продуктов DB2 больше не поддерживаются в DB2 UDB Версии 8.2: * WMC {5FEA5040-22E2-4760-A88C-73DE82BE4B6E} * DOC {73D99978-A255-4150-B4FD-194ECF4B3D7C} Код продукта для удаления Информационного центра DB2в автоматическом режиме (Windows) При удалении Информационного центра DB2 в автоматическом режиме в Windows укажите следующий код продукта: {FE2D4758-041C-4E4E-95B3-529E4E1EAF3E} Известные ограничения, проблемы и обходные приемы В этом разделе изложены известные на настоящий момент ограничения, проблемы и обходные приемы только для данного выпуска. Эти ограничения могут быть применимы или же неприменимы к другим выпускам этого продукта. Кроме того, сайт поддержки DB2 содержит технические замечания и служебные заметки, в которых описаны изменения в документации и известные ограничения и обходные приемы, обнаруженные после создания этого документа. Адрес сайта поддержки DB2 - http://www.ibm.com/software/data/db2/udb/support.html. Пометки отмечают текст, который был добавлен или изменен. Вертикальная черта ( | ) отмечает информацию, которая была добавлена или изменена для Версии 8.2 FixPak 4 (эквивалентна Версии 8.1 FixPak 11). Ограничения db2look - Ограничение для табличного пространства автоматического хранения Команда db2look успешно работает с базами данных, использующими табличное пространство автоматического хранения. Однако она не показывает информацию о параметрах табличного пространства, относящихся к автоматическому хранению. Табличная функция SNAP_GET_DB возвращает неполные результаты При вызове в среде DPF (Database Partitioning Feature - возможность разделения баз данных) со входным параметром -2 (глобальный снимок) табличная функция SNAP_GET_DB возвращает неполные результаты для следующих четырех столбцов: * FIRST_ACTIVE_LOG * LAST_ACTIVE_LOG * CURRENT_ACTIVE_LOG * CURRENT_ARCHIVE_LOG Эти элементы нельзя суммировать для глобального снимка. Чтобы получить полный набор значений для этих элементов снимка, табличную функцию SNAP_GET_DB надо вызывать по отдельности для каждого раздела. IMPORT REPLACE игнорирует условие Not Logged Initially В команде IMPORT опция REPLACE игнорирует операторы CREATE TABLE с условием NOT LOGGED INITIALLY (NLI) и операторы ALTER TABLE с условием ACTIVATE NOT LOGGED INITIALLY. Если импорт при помощи действия REPLACE выполняется в одной транзакции с оператором CREATE TABLE или ALTER TABLE, использующем условие NLI, импорт проигнорирует условие NLI. Все операции вставки будут записываться. Обходной прием 1 Удалите содержимое таблицы при помощи оператора DELETE, затем запустите импорт при помощи оператора INSERT. Обходной прием 2 Удалите и пересоздайте таблицу, затем запустите импорт при помощи оператора INSERT. Это ограничение относится к DB2 UDB Версии 7 и DB2 UDB Версии 8. Данные длинных полей и больших объектов нельзя реорганизовать при реорганизации таблицы INPLACE ("на месте") При реорганизации таблицы на месте, то есть в оперативном режиме, нельзя реорганизовать данные длинных полей и больших объектов. Данные длинных полей и больших объектов можно реорганизовать при помощи классической, автономной реорганизации таблицы, задав параметр LONGLOBDATA в команде REORG TABLE. Однако следует отметить, что реорганизация данных длинных полей и больших объектов, возвращая в систему свободное место, вместе с тем не улучшает кластеризации и к тому же может существенно увеличить время, необходимое для выполнения реорганизации. Стратегия блокировок в указателях с блокированием может выглядеть непоследовательной для клиентских программ Для уровня изоляции Стабильностью на уровне указателя (CS) та строка, которая связана с текущей позицией курсора на сервере баз данных, всегда блокируется. При заблокированной выборке возможен возврат нескольких строк в один буфер. В большинстве случаев последняя строка, обработанная на стороне сервера, не уместится, и будет разбита на два буфера. Прикладная программа не увидит разбитую строку, пока не будет получен второй буфер. Поэтому ни одна из возвращенных прикладной программе строк не будет заблокирована. В том редком случае, когда последняя строка, обработанная на стороне сервера, уместится полностью, позиция курсора останется на последней строке буфера, а это значит, что последняя строка, возвращенная прикладной программе, будет заблокирована. Экспорт данных ODBC в прикладную программу файлового хранилища Экспорт данных ODBC в прикладную программу файлового хранилища не поддерживает следующие типы данных Sybase: * BIT * BINARY * VARBINARY Типы данных, не поддерживаемые во встроенном отладчике SQL Центра разработки Следующие типы данных не поддерживаются в отладчике SQL, встроенном в Центр разработки: * Для DB2 Universal Database (UDB) для Linux, UNIX, и Windows, не поддерживаются типы данных CHAR FOR BIT DATA, VARCHAR FOR BIT DATA и GRAPHIC. * Для DB2 UDB для z/OS не поддерживается тип данных GRAPHIC; типы данных BLOB и CLOB не поддерживаются в качестве параметров. Типы BLOB и CLOB для локальных переменных поддерживаются. Структурированные типы в Центре разработки Центр разработки больше не поддерживает создание структурированные типы. Ограничения Центра разработки в 64-битных операционных системах Отладка хранимых процедур Java для 64-битного сервера не поддерживается Центром разработки. Отладка хранимых процедур SQL поддерживается в 64-битных операционных системах Windows. Для 64-битных серверов не поддерживается создание пользовательских функций OLE DB или XML. Центр разработки (Linux) Центр разработки нельзя использовать для отладки хранимых процедур Java, работающих в каком-либо дистрибутиве Linux (32- или 64-битном, Intel, zSeries или iSeries). Отладка хранимых процедур с символами двойных кавычек Центр разработки не поддерживает отладку хранимых процедур, у которых в имени процедуры, схеме или уникальном имени используются символы двойной кавычки ("). Задание необходимых путей для компиляции процедур Java в Центре разработки Цент разработки не сможет компилировать процедуры Java, если ему не сообщить, где установлены версии набора разработчика. Каталоги по умолчанию для ваших версий набора разработчика записываются в файл $HOME/.ibm/db2/dc/DB2DC.settings при первом запуске Центра разработки. Вы можете либо скопировать эти имена каталогов каталоги в свой файл $USER.settings и изменить этот файл при помощи редактора Unicode, либо создать символические связи с каталогами наборов для разработки в их положениях по умолчанию. Ограничения Центра разработки на одновременное выполнение и отладку хранимых процедур Java Центр разработки не поддерживает одновременное выполнение и отладку хранимых процедур Java. В центре разработки можно либо выполнять несколько хранимых процедур Java одновременно, либо отлаживать одну хранимую процедуру Java. Нельзя выполнять хранимую процедуру Java во время отладки другой хранимой процедуры Java. По умолчанию значение параметра конфигурации менеджера баз данных KEEPFENCED равно YES; это требуется для отладки хранимых процедур SQL. При значении параметра KEEPFENCED YES (по умолчанию) процесс подпрограммы остается активным и возникает конфликт портов виртуальной Java-машины. Когда для этого параметра конфигурации менеджера баз данных используется значение по умолчанию KEEPFENCED=YES, в следующих ситуациях в хранимых процедурах Java будут возникать исключительные ситуации JVM и ошибки: * В Центре разработки выполняется построение хранимой процедуры Java одновременно с ее отладкой * Один пользователь выполняет хранимую процедуру Java, а другой пользователь отлаживает хранимую процедуру Java, пока исходная хранимая процедура Java выполняется * Один пользователь отлаживает хранимую процедуру Java, а другой пользователь выполняет хранимую процедуру Java, пока исходная хранимая процедура Java отлаживается Чтобы обойти это ограничение, задайте для параметра конфигурации менеджера баз данных KEEPFENCED значение NO с помощью следующих команд: db2 update dbm cfg using KEEPFENCED NO db2stop db2start Если для KEEPFENCED задано значение NO, процесс db2fmp завершит свою работу, когда вызов хранимой процедуры Java будет завершен, а для обработки следующего вызова подпрограммы DB2 Universal Database запустит новый процесс db2fmp. Благодаря этому, когда вы начнете отладку хранимой процедуры Java, никакая виртуальная Java-машина не будет работать в режиме отладки. Значение KEEPFENCED=YES требуется для построения хранимых процедур SQL с целью отладки и для отладки хранимых процедур SQL. При значении KEEPFENCED=NO можно строить и выполнять хранимые процедуры SQL, но нельзя отлаживать их. Метод DB2SystemMonitor.getServerTimeMicros не поддерживается Метод универсального драйвера JDBC DB2(R) DB2SystemMonitor.getServerTimeMicros() в настоящее время не поддерживается для серверов DB2(R) Universal Database(TM) для Linux(TM), UNIX(R) и Windows(R). Метод DB2SystemMonitor.getServerTimeMicros() возвращает 0 при соединении с серверами DB2(R) Universal Database(TM) for Linux, UNIX и Windows(R). Должен быть установлен компилятор IBM XL C/C++ среды времени выполнения (Linux на системах iSeries и pSeries, 64-битная) Перед установкой 64-битной DB2 for Linux в iSeries(TM) и pSeries(R) должны быть выполнены следующие требования: * Нужно работать на устройствах iSeries(TM) или pSeries(R), поддерживаемых дистрибутивом Linux. * Нужно работать с одним из двух дистрибутивов: * SUSE LINUX Enterprise Server (SLES) 9 или * Red Hat Enterprise Linux 3 Update 3 (Taroon) * Необходимо загрузить и установить компонент IBM(R) XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment. Дополнительную информацию смотрите на сайте http://www.ibm.com/support/docview.wss?uid=swg24007906 или выполните следующие действия: 1. Зайдите на страницу поддержки XL C/C++: http://www.ibm.com/software/awdtools/xlcpp/support/ 2. Под заголовком "Self Help: Download" (Самообслуживание: Загрузить) выберите "Latest Updates (PTFs)" (Последние обновления (PTF)) 3. Под заголовком "Linux" выберите "XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment" (XL C/C++ Advanced Edition V7.0 для среды времени выполнения Linux) 4. Следуйте инструкциям на странице "XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment". Универсальный драйвер JDBC типа 2 не поддерживается в DB2 UDB Версии 8.2.2 (Linux AMD64 ) DB2 Universal Database(TM) (UDB) Версии 8.2.2 (эквивалентна Версии 8.1 Fixpack 9) в Linux AMD64 не поддерживает универсальный драйвер JDBC типа 2. Такая поддержка планируется в будущих пакетах FixPack. Поддержка JDBC в Версии 8.2.2 доступна при использовании универсального драйвера JDBC типа 4 и драйвера Legacy JDBC типа 2 (COM.ibm.db2.jdbc.app.DB2Driver). Указатели в прикладных программах PHP Когда интерпретатор PHP создает указатель от имени прикладной программы, по умолчанию он создается как управляемый с клавиатуры указатель с прокруткой. В некоторых случаях это может приводить к возврату непредвиденных результатов. Во избежание подобных ситуаций задайте явно условие "FOR READ ONLY" во всех операторах SELECT, используемых для изменения данных. Другой способ - включите в параметры конфигурации CLI "Patch2=6", "Patch2=42" или "DisableKeysetCursor=1". Однако у всех этих способов есть и другие последствия. Подробную информацию об этих ключевых словах конфигурации смотрите в документации CLI Guide and Reference. Ограничение, связанное с ключевым словом ConnectNode конфигурации CLI/ODBC Ключевое слово ConnectNode не влияет на Центр управления. Центр управления всегда соединяется с узлом каталога, заданным параметром SQL_CONN_CATALOG_NODE. Ограничение, связанное с функцией SQLColumns (CLI) Функция SQLColumns() не поддерживает возврат данных от алиаса некоторого алиаса. При применении функции SQLColumns() к алиасу алиаса возвращается пустой набор результатов. Ограничения на опции связывания для пакетов CLI Некоторые опции связывания могут не действовать при связывании пакетов CLI с любыми из следующих файлов списков: db2cli.lst, ddcsmvs.lst, ddcs400.lst , ddcsvm.lst или ddcsvse.lst. Поскольку пакеты CLI используются прикладными программами CLI, ODBC, JDBC, OLE DB, .NET и ADO, изменения в пакетах CLI влияют на прикладные программы всех этих типов. В связи с этим при связывании пакетов CLI по умолчанию поддерживаются лишь некоторые из опций связывания. Поддерживаемые опции: ACTION, COLLECTION, CLIPKG, OWNER и REPLVER. Все остальные опции связывания, влияющие на пакеты CLI, игнорируются. Чтобы создать пакеты CLI с опциями связывания, которые по умолчанию не поддерживаются, задайте опцию связывания COLLECTION с ID собрания, отличным от ID собрания по умолчанию - NULLID. Тогда все заданные опции связывания будут приняты. Например, чтобы создать пакеты CLI с опцией связывания KEEPDYNAMIC YES, которая по умолчанию не поддерживается, введите команду: db2 bind @db2cli.lst collection newcolid keepdynamic yes Чтобы прикладные программы CLI/ODBC имели доступ к пакетам CLI, созданным в новом собрании, задайте новый ID собрания в ключевом слове CurrentPackageSet CLI/ODBC в файле инициализации db2cli.ini. Для перезаписи пакетов CLI, которые уже существуют под конкретным ID собрания, выполните любое действие из перечисленных ниже: * Отбросьте существующий пакет CLI перед выполнением команды связывания для данного ID собрания * Задайте в команде связывания опцию связывания ACTION REPLACE Ограничение, связанное с утилитой CLI LOAD Утилита CLI LOAD не поддерживает маркеры параметров, если подготовленный оператор для вставки данных содержит условие SELECT. До Версии 8.2 FixPak 3 (эквивалентна V8.1 Fixpak 10) утилита CLI LOAD не позволяла задавать столбцы назначения, если оператор INSERT включает условие VALUES. Теперь же, начиная с Версии 8.2 FixPak 3 (эквивалентна V8.1 Fixpak 10), утилита CLI LOAD позволяет задавать столбцы назначения в операторе INSERT с условием VALUES. Например, следующий оператор теперь поддерживается CLI LOAD: INSERT into tableA (col1, col2, col3) VALUES (?, ?, ?) Не поддерживается создание базы данных каталога инструментов (Linux for AMD64) Не поддерживается создание базы данных каталога инструментов под 64-битным экземпляром DB2 Universal Database (UDB) в Linux (AMD64). Не пытайтесь создавать каталог инструментов под 64-битным экземпляром любым из следующих методов: * Установка DB2 UDB * Обновление 64-битного экземпляра с помощью команды db2isetup * Выполнение команды CREATE TOOLS CATALOG в процессоре командной строки после завершения установки. Создание базы данных каталога инструментов под 32-битным экземпляром в Linux (AMD64) поддерживается для Версии 8.1.4. Не поддерживается создание базы данных каталога инструментов (AIX, операционная среда Solaris и HP-UX) Создание каталога инструментов не поддерживается при установке DB2 Universal Database (UDB) для 64-битных экземпляров на гибридных 64-битных платформах. Гибридными платформами считаются: * AIX * Операционная среда Solaris * HP-UX * Прочие платформы, где поддерживаются как 32-, так и 64-битные экземпляры Если нужно создать каталог инструментов для 64-битного экземпляра, это можно сделать после установки DB2 UDB, используя команду командной строки CREATE TOOLS CATALOG CLP или Центр управления. Для этой операции нужно будет также установить 64-битный IBM Developer Kit for Java. Дополнительную информацию смотрите в разделе "DB2 Administration Server" руководства DB2 Administration Guide. Ограничения на память для DB2 UDB Express и DB2 Workgroup Server Edition V8.2 Для следующих продуктов есть ограничения на память: * IBM DB2 Universal Database (UDB) Express Edition (Опция именованного пользователя). Максимальный объем памяти на один сервер - 4 Гбайта. * IBM DB2 UDB Express Edition (Опция CPU). Максимальный объем памяти на один сервер - 4 Гбайта. * IBM DB2 UDB Workgroup Server Edition. Максимальный объем памяти на один сервер - 16 Гбайт. * IBM DB2 UDB Workgroup Server Unlimited Edition. Максимальный объем памяти на один сервер - 16 Гбайт. Планирование периодического запуска процесса хранилища При планировании периодического запуска процесса хранилища надо определить максимальное время выполнения всех рабочих шагов в этом процессе и соответственно спланировать интервалы запуска. Если время выполнения процесса превысит запланированное, все последующие запуски этого процесса в расписании будут отменены без повторного планирования. Ограничения поддержки SNA в Версии 8 Из DB2 Universal Database (UDB) Enterprise Server Edition (ESE) Версии 8 для операционных систем Windows и UNIX и из DB2 Connect Enterprise Edition (CEE) Версии 8 для операционных систем Windows и UNIX была удалена поддержка следующих функций: * Возможность использования многоузлового изменения (двухфазного принятия) с помощью SNA. Программы, которым требуется многоузловое изменение (двухфазное принятие), должны использовать протокол TCP/IP. Многоузловое изменение (двухфазное принятие) с помощью TCP/IP на хост или сервер баз данных iSeries доступно в нескольких выпусках. Хост или программы iSeries, требующие поддержки многоузлового изменения (двухфазного принятия), могут использовать новую возможность поддержки многоузлового изменения (двухфазного принятия) TCP/IP в DB2 UDB ESE, Версия 8. * Серверы DB2 UDB ESE или DB2 CEE больше не поддерживают соединения с клиентом с помощью SNA. Версия 8, FixPak 1 DB2 UDB позволяет программам 32-битных версий AIX, операционной среды Solaris, HP-UX и Windows обращаться к серверам баз данных хоста или iSeries с использованием SNA. Это позволяет программам обращаться к серверам баз данных хоста или iSeries с помощью SNA, но только с использованием однофазного принятия. * Поддержка Sysplex с DB2 UDB для z/OS обеспечивается только при использовании TCP/IP. Поддержка Sysplex при использовании SNA не обеспечивается. * Поддержка изменения пароля при использовании связи SNA с серверами баз данных хостов более не обеспечивается. * В следующей версии DB2 UDB и DB2 Connect SNA больше не будет поддерживаться совсем. Сложности и ограничения, связанные с подключаемым модулем защиты для клиентов DB2 UDB (Windows) При разработке подключаемых модулей защиты для внедрения на клиентах DB2 в операционных системах Windows не выгружайте вспомогательные библиотеки в функции завершения подключаемого модуля. Это ограничение относится ко всем типам клиентских подключаемых модулей защиты, в том числе к подключаемым модулям группы, ID пользователя и пароля, Kerberos и GSS-API. Это ограничение вызвано ошибкой DB2 Universal Database при выгрузке подключаемых модулей защиты в клиентах DB2 в операционных системах Windows. Ошибки при сообщении об успешной регистрации во время попытки соединения (AIX) При использовании аутентификации операционной системы в AIX, после успешной аутентификации DB2 Universal Database (UDB) пытается сообщить AIX об успешной регистрации во время установления соединения. До Версии 8 FixPak 5, если DB2 UDB не удавалось это сделать, соединение разрывалось, несмотря на то, что сама аутентификация была успешной. Начиная с Версии 8 FixPak 5 разрешено сохранять соединение, а ошибка записывается в файл db2diag.log. Не поддерживается двухчастный ID пользователя (Windows ME) ID пользователя из двух частей в операторе CONNECT и команде ATTACH, например, имя-домена\имя-пользователя, не поддерживается в Windows ME. При загрузке или импорте на странице Столбцы не поддерживаются символы DBCS в файлах IXF Если вы используете мастер по загрузке или записную книжку Импорт для задания загрузки или импорта из входного файла, содержащего символы DBCS, на странице Столбцы имена столбцов этого файла могут выводиться неправильно. Инструменты GUI для операционных систем Linux на AMD64 Инструменты GUI, поставляемые вместе с DB2 Universal Database (UDB) - это графические утилиты на основе Java. Примеры инструментов GUI в DB2 UDB: * Центр управления * Информационный центр * Ассистент конфигурирования * Центр разработки Поскольку в настоящее время для операционных систем Linux на AMD64 нет 64-битных Java(TM) SDK или Runtime Environment, для использования этих инструментов их необходимо запускать из 32-битного экземпляра DB2 UDB. Тем не менее эти инструменты можно использовать для управления базами данных в локальных и удаленных 64-битных экземплярах. Например, чтобы использовать Центр управления, сначала нужно создать 32-битный экземпляр. Создав 32-битный экземпляр, вручную внесите в каталог локальный 64-битный экземпляр, которым хотите управлять. Дополнительную информацию по DB2 для Linux на AMD64 можно найти по адресу: ftp://ftp.software.ibm.com/software/data/pubs/papers/linuxamd64.pdf Минимальные параметры дисплея для инструментов с графическим интерфейсом Для правильной работы таких инструментов с графическим интерфейсом, как Центр управления, разрешение дисплея должно быть не менее 800 на 600 пикселей. Кроме того, надо использоваться палитру, содержащую не менее 32 цветов. Неправильный показ символов GB18030 в полосе заголовка окна Если у вас в полосе заголовка окна есть символы из китайской схемы кодировки символов GB18030, они могут выводиться в виде вопросительных знаков или квадратиков. Таблицы Центра каталогов данных не могут быть многораздельными Таблицы, которые использует менеджер каталогов данных, должны находиться в одном разделе базы данных. Существует много способов размещения таблиц в одном разделе. Одним из возможных подходов является следующая процедура. 1. Откройте окно процессора командной строки DB2 и введите следующие команды: a. CREATE DATABASE PARTITION GROUP имя_группы_разделов ON DBPARTITIONNUM номер_раздела b. CREATE REGULAR TABLESPACE имя_табличного_пространства IN DATABASE PARTITION GROUP имя_группы_разделов MANAGED BY SYSTEM USING ('имя') где для обеих команд используется одно и то же имя_группы_разделов. 2. Выберите Пуск -> Программы -> IBM DB2 -> Инструменты установки -> Мастер по управлению каталогом данных. 3. На странице Опции укажите имя табличного пространства в поле Табличное пространство. Ограничения Query Patroller при отключении DYN_QUERY_MGMT Если параметр конфигурации базы данных DYN_QUERY_MGMT отключен, Query Patroller не может выполнять следующие действия: * Освобождение задержанных запросов * Перевод выполняемого запроса или запроса из очереди из активного в фоновый режим Если вы пытаетесь освободить задержанный запрос или перевести запрос из активного режима в фоновый, когда для DYN_QUERY_MGMT задано значение DISABLE, выводится сообщение об ошибке: состояние запроса не меняется. Если задержанные запросы запланированы к запуску, но в момент, когда они должны начать выполняться, DYN_QUERY_MGMT отключен, в файл qpdiag.log записывается сообщение об ошибке, и запросы остаются в задержанном состоянии. Таблицы результатов Query Patroller теперь используют схему DB2QPRT Начиная с FixPak 5, все новые таблицы результатов создаются в схеме DB2QPRT, а не в схеме передающего запрос. Привилегия DROPIN для схемы DB2QPRT дается операторам, профили которых созданы до установки FixPak 5 и содержат: * Привилегию MONITORING с полномочиями редактирования * Привилегию HISTORICAL ANALYSIS с полномочиями редактирования Привилегия DROPIN для схемы DB2QPRT дается, когда Query Patroller первый раз создает таблицу результатов в этой схеме. Операторам, которым привилегия MONITORING с полномочиями редактирования или привилегия HISTORICAL ANALYSIS с полномочиями редактирования предоставлена после установки FixPak 5, также предоставляется привилегия DROPIN для схемы DB2QPRT при создании или изменении их профилей. Ограничения индикатора работоспособности Монитор работоспособности не может выполнять действия для индикатора работоспособности db2.db2_op_status, если этот индикатор перешел в нерабочее состояние. Такое состояние может возникнуть, например, когда экземпляр, за которым следит индикатор, становится неактивным в результате явного требования остановки или ненормального завершения работы. Если вы хотите, чтобы экземпляр автоматически перезапускался после ненормального завершения работы, нужно сконфигурировать монитор отказов, чтобы обеспечить высокую доступность этого экземпляра. Известные проблемы и обходные приемы Экспорт в файл IXF с индексами к столбцам, содержащим символы - и + Когда в команде export заданы формат файла IXF и условие SELECT *, по мере необходимости выполняется сбор индексной информации. Ошибка и ее причина Если заданные в индексе имена столбцов содержат символы - или +, индексная информация не будет собрана, и вы получите код SQL SQL27984W. Экспорт будет продолжен, и на экспортируемые данные это не повлияет. Однако индексная информация не будет сохранена в файле IXF. Обходной прием Если вы будете создавать таблицу снова при помощи команды import с параметром CREATE, индексы не будут воссозданы. Чтобы все-таки создать индексы, используйте утилиту db2look. Ошибка CLI0116E или SQL0428N при вызове API db2ReadLog Ошибка и ее причина Вызов API db2ReadLog из прикладной программы может привести к ошибке при отключении программы от базы данных, если перед отключением не выполнены принятие или откат: * Ошибка CLI0116E может быть сгенерирована, если API db2ReadLog вызывается из прикладной программы CLI. * Ошибка SQL0428N может быть сгенерирована, если API db2ReadLog вызывается из встроенной прикладной программы SQL, написанной на C. Обходной прием 1 Для невстроенных прикладных программ SQL включите режим автопринятия перед вызовом API db2ReadLog. Обходной прием 2 Выполните операторы COMMIT или ROLLBACK после вызова API db2ReadLog, но до отключения от базы данных. Команда "db2gcf -k" завершается неудачно в DB2 UDB Workgroup Server Edition Ошибка и ее причина Обычно команда db2gcf запускает, останавливает или производит мониторинг экземпляраDB2 Universal Database (UDB) из автоматического сценария, например из кластера HA (высокой доступности). Использование системной команды db2gcf с параметром -k в DB2 UDB Workgroup Server приводит к ошибке. Обходной прием Команда "db2gcf -k" работает только на DB2 UDB Enterprise Server Edition; она не работает на DB2 UDB Workgroup Server Edition. Ошибка SQL1224 оболочки DRDA (AIX) Если 32-битный сервер DB2 Universal Database (UDB) запущен в системе AIX, и у запущенной в той же системе программы есть несколько локальных соединений с базой данных через оболочку DRDA, программа может получить следующую ошибку: SQL1822N Неожиданный код ошибки "-1224" получен от источника данных "W3_SERVER2". Соответствующий текст и элементы - func="DriverConnect" msg="SQL1224N Агент базы данных для обслуживания требования не удалось запустить или его работа прервана в результате закрытия системы базы данных или команды force. " SQLSTATE=560BD Чтобы предотвратить эту ошибку, добавьте в файл конфигурации объединения (instance_directory/cfg/db2dj.ini) следующую запись: EXTSHM=ON Прим.: При добавлении записей в файл конфигурации объединения для вступления изменений в силу надо остановить и перезапустить DB2 UDB. Другой способ - можно каталогизировать локальную базу данных DB2 UDB как узел TCP/IP. Например: CATALOG TCPIP NODE my_node REMOTE my_host SERVER 123; CATALOG DB mydb AT NODE my_node; CREATE WRAPPER drda; CREATE SERVER my_server TYPE DB2/UDB VERSION 8 WRAPPER drda AUTHORIZATION "my_id" PASSWORD "my_pw" OPTIONS(ADD DBNAME 'MYDB'); Не работают горячие клавиши в Microsoft Visual Studio .NET Framework 1.1 Если в Microsoft Visual Studio .NET Framework 1.1 не работают горячие клавиши, можно взять исправление с сайта Microsoft. Это исправление можно найти в Microsoft Knowledge Base, статья Q836745. Национальная версия на упрощенном китайском (AIX) В AIX изменен кодовый набор национальной версии упрощенного китайского Zh_CN на: * AIX Версии 5.1.0000.0011 или новее * AIX Версии 5.1.0 со служебным уровнем 2 или выше Кодовый набор изменен с GBK (кодовая страница 1386) на GB18030 (кодовая страница 5488 или 1392). Так как DB2 Universal Database (UDB) для AIX сразу поддерживала кодовый набор GBK и кодовый набор GB18030 через Unicode, по умолчанию DB2 UDB будет использовать для кодового набора Zh_CN ISO 8859-1 (кодовая страница 819), и, кроме того, в некоторых операциях будет принимать по умолчанию территорию Соединенные Штаты (US). Чтобы обойти это ограничение, есть две возможности: * Можно переопределить для этой национальной версии кодовый набор с GB18030 на GBK, а код территории - с США на Китай (для него ID территории - CN, а код территории - 86). * Можно использовать другую национальную версию для упрощенного китайского. Если вы выбрали первую возможность, введите следующие команды: db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start Если вы выбрали вторую возможность, измените национальную версию с Zh_CN либо на ZH_CN, либо на zh_CN. Для национальной версии ZH_CN используется кодовый набор Unicode (UTF-8), а для zh_CN - eucCN (кодовая страница 1383). Национальная версия на упрощенном китайском (Red Hat Linux) В Red Hat Версии 8 и новее (включая Red Hat Enterprise Linux [RHEL] версии 2.1 и 3) изменен кодовый набор по умолчанию для упрощенного китайского с GBK (кодовая страница 1386) на GB18030 (кодовая страница 5488 или 1392). Так как DB2 Universal Database (UDB) для Linux сразу поддерживала кодовый набор GBK и кодовый набор GB18030 через Unicode, DB2 UDB будет использовать по умолчанию кодовый набор ISO 8859-1 (кодовая страница 819), и, кроме того, в некоторых операциях будет принимать по умолчанию территорию Соединенные Штаты (US). Чтобы обойти это ограничение, есть две возможности: * Можно переопределить кодовый набор по умолчанию для Red Hat с GB18030 на GBK, а код территории - с США на Китай (для него ID территории - CN, а код территории - 86). * Можно использовать другую национальную версию для упрощенного китайского. Если вы выбрали первую возможность, введите следующие команды: db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start Если вы выбрали вторую возможность, введите одну из следующих команд: export LANG=zh_CN.gbk export LANG=zh_CN export LANG=zh_CN.utf8 где с zh_CN связан кодовый набор eucCN или кодовая страница 1383, а с zh_CN.utf8 - кодовая страница 1208. Несовместимость менеджера драйверов Merant (UNIX) Существует несовместимость поддержки Unicode при обращении Merant Driver Manager к драйверу DB2 ODBC в UNIX. Эта несовместимость приводит к тому, что Merant Driver Manager использует Unicode, даже когда прикладная программа не требует этого. Это может вызвать ошибки таких компонентов, как Центр хранилищ данных, Менеджер каталогов данных и MQSI, которым требуется Merant Driver Manager для поддержки источников данных других поставщиков (не IBM). Пока эта проблема не решена окончательно, можно использовать другую библиотеку драйверов ODBC DB2 без поддержки Unicode. Альтернативная библиотека драйверов ODBC DB2 без поддержки Unicode поставляется с DB2 Universal Database (UDB) Версия 8.1 для AIX, HP-UX и операционной среды Solaris. Чтобы использовать эту библиотеку, надо сделать ее копию, задав для нее то же имя, что и для исходной библиотеки драйверов ODBC DB2. Прим.: Альтернативная библиотека (_36) содержит функции Unicode, необходимые драйверу DB2 JDBC. Эта библиотека позволяет прикладным программам JDBC (в том числе WebSphere Application Server) успешно работать с DB2 UDB. Чтобы перейти к использованию библиотеки ODBC без поддержки Unicode в AIX, HP-UX или операционной среде Solaris, следуйте приведенным ниже указаниям. Поскольку эти действия выполняются вручную, их нужно повторять при каждом обновлении продукта, в том числе после применения последующих пакетов FixPak или уровней модификации. Порядок действий AIX Чтобы создать альтернативную библиотеку в AIX: 1. Зарегистрировавшись как владелец экземпляра, с помощью команды db2stop force завершите работу всех экземпляров базы данных. 2. Зарегистрировавшись с ID экземпляра сервера администратора (DAS) DB2, с помощью команды db2admin stop force завершите работу экземпляра DAS. 3. Сделайте резервную копию исходного файла db2.o из каталога /usr/lpp/db2_81/lib. 4. Зарегистрировавшись как пользователь root, выполните команду slibclean. 5. Скопируйте файл db2_36.o на место файла db2.o, сохранив для него владельца и разрешения. Используйте следующую команду: cp db2_36.o db2.o -r--r--r-- bin:bin for db2.o Чтобы вернуться к исходному объекту, сделайте те же действия, используя созданную резервную копию вместо файла db2_36.o. Операционная среда Solaris Чтобы создать альтернативную библиотеку в операционной среде Solaris: 1. Зарегистрировавшись как владелец экземпляра, с помощью команды db2stop force завершите работу всех экземпляров базы данных. 2. Зарегистрировавшись с ID экземпляра сервера администратора (DAS) DB2, с помощью команды db2admin stop force завершите работу экземпляра DAS. 3. Сделайте резервную копию исходного файла libdb2.so.1 из каталога /opt/IBMdb2/V8.1/lib. 4. Скопируйте файл libdb2_36.so.1 на место файла libdb2.so.1, сохранив для него владельца и разрешения. Используйте следующую команду: cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1 5. Выполните команду db2iupdt <экземпляр> для каждого экземпляра базы данных и команду dasupdt <экземпляр_das> для экземпляра DAS. Чтобы вернуться к исходному объекту, сделайте те же действия, используя созданную резервную копию вместо файла libdb2_36.so.1. HP-UX PA-RISC Чтобы создать альтернативную библиотеку в HP-UX PA-RISC: 1. С помощью команды db2stop force завершите работу всех экземпляров базы данных. 2. С помощью команды db2admin stop force завершите работу экземпляра сервера администратора (DAS) DB2. 3. Сделайте резервную копию исходного файла libdb2.sl из каталога /opt/IBMdb2/V8.1/lib. 4. Скопируйте файл libdb2_36.sl на место файла libdb2.sl, сохранив для него владельца и разрешения. Для согласованности используйте команду: cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl 5. Выполните команду db2iupdt <экземпляр> для каждого экземпляра базы данных и команду dasupdt <экземпляр_das> для экземпляра DAS. Чтобы вернуться к исходному объекту, сделайте те же действия, используя созданную резервную копию вместо файла libdb2_36.sl. HP-UX на IA64 Чтобы создать альтернативную библиотеку в HP-UX на IA64: 1. С помощью команды db2stop force завершите работу всех экземпляров базы данных. 2. С помощью команды db2admin stop force завершите работу экземпляра сервера администратора (DAS) DB2. 3. Сделайте резервную копию исходного файла libdb2.so из каталога /opt/IBMdb2/V8.1/lib. 4. Скопируйте файл libdb2_36.so на место файла libdb2.so, сохранив для него владельца и разрешения. Для согласованности используйте команду: cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so 5. Выполните команду db2iupdt <экземпляр> для каждого экземпляра базы данных и команду dasupdt <экземпляр_das> для экземпляра DAS. Чтобы вернуться к исходному объекту, сделайте те же действия, используя созданную резервную копию вместо файла libdb2_36.so. Другие операционные системы UNIX Если вам требуется помощь с DB2 UDB и Merant Driver Manager в других операционных системах UNIX, обратитесь в службу поддержки IBM. NFS APAR IY32512 - Недоступные потоки (AIX) AIX 5 NFS APAR IY32512 может привести к ошибке команды остановки db2stop в системах с большим числом разделов. На сервере, который получает много запросов на блокировку уже заблокированных файлов, демон блокировки может перестать отвечать. Такая ситуация происходит, когда все доступные потоки блокировки выделены для потоков, ожидающие снятия блокировок, и поэтому нет доступного потока, который мог бы принять работу при поступлении требования на снятие блокировки. Если возникла такая ситуация, остановленные узлы надо перезапустить. Есть обходной прием DB2 Universal Database для этой ситуации - останавливать узлы по одному при помощи опции NODENUM команды db2stop. Ошибка опции прекомпилятора SQLFLAG(STD) Использование опции прекомпилятора SQLFLAG(STD) приводит к следующей ошибке: Abend C6 occurred while running Precompile program DSNHPC (Аварийное завершение C6 при выполнении программы прекомпиляции DSNHPC). Если Центр разработки используется для создания хранимых процедур SQL для работы в DB2 Universal Database for z/OS Версии 8, удалите опцию прекомпилятора SQLFLAG (STD). При использовании Sysplex в DB2 Connect нужно включить объединение соединений в пул Ошибка и ее причина DB2 Connect(TM) не отдает соединение другому элементу утилиты распределенных данных (DDF) при закрытии подключенного элемента DDF из группы совместного использования данных в OS390. Если включен Sysplex, DB2 Connect(TM) передает соединения другим элементам DDF согласно списку серверов. DB2 Connect Version 8 Sysplex предназначался для работы с пулом агентов. Список серверов Sysplex освобождается, если нет агентов и нет соединений с базой данных. Поэтому для поддержания списка серверов Sysplex необходимо оставить хотя бы один агент. Обходной прием Включите объединение соединений в пул следующей командой: db2 update dbm cfg using num_poolagents число db2stop db2start , где число - максимальное число агентов, допускаемое в пуле экземпляра DB2. Объединение соединений в пул включено, когда число больше 0. Рекомендации Задайте num_poolagents равным -1, что будет исправлено на половину величины, присвоенной параметру конфигурации maxagents DB2 Connect Custom Advisor Хотя в документации DB2 Connect User's Guide утверждается обратное, DB2 Connect Custom Advisor в Версии 8.2 больше не поддерживается. Создание базы данных каталога инструментов завершается неудачно (HP-UX) Ошибка и ее причина При установке DB2 Universal Database (UDB) Версии 8.2 в HP-UX, команда CREATE TOOLS CATALOG завершается неудачно с кодом SQLCODE -22209, если она выполняется в 32-битном экземпляре и параметр конфигурации DB2 Administration Server jdk_path указывает на HP-UX SDK 1.4. Эта ошибка возникает из-за того, что по умолчанию DB2 UDB Версии 8.2 устанавливает HP-UX SDK 1.4, но 32-битный экземпляр Версии 8.2 для успешного выполнения команды CREATE TOOLS CATALOG требует HP-UX SDK 1.3. Эта ошибка может также возникнуть при установке DB2 UDB Версии 8.1 FixPak 7, если вы вручную обновили параметр конфигурации DB2 Administration Server jdk_path, так что он стал указывать на HP-UX SDK 1.4, или если вы отбросили и заново создали сервер администратора DB2 (DAS). В обоих случаях ошибка возникает из-за того, что параметр конфигурации jdk_path указывает на HP-UX SDK 1.4. Для успешной работы 32-битного экземпляра DB2 UDB Версии 8.2 требуется HP-UX SDK 1.3. Обходной прием 1 Создайте каталог инструментов в 64-битном экземпляре. Обходной прием 2 Создайте каталог инструментов в 32-битном экземпляре, выполнив следующие действия: 1. Загрузите HP-UX SDK 1.3 с сайта HP-UX: http://www.hp.com/products1/unix/java/ 2. Установите HP-UX SDK 1.3. 3. Измените параметр конфигурации DB2 Administration Server jdk_path, чтобы он указывал на HP-UX SDK 1.3. Например: db2 update admin config using JDK_PATH /opt/java1.3 4. Перезапустите сервер администратора DB2. db2admin stop db2admin start 5. Выполните снова команду CREATE TOOLS CATALOG в 32-битном экземпляре. Вывод индийских символов в инструментах GUI DB2 Если у вас возникают проблемы при выводе индийских символов в инструментах GUI DB2, в вашей системе, это, возможно, значит, что у вас установлены не все шрифты. В пакет DB2 Universal Database (UDB) входят перечисленные ниже пропорциональные шрифты IBM TrueType и OpenType для языков Индии. Эти шрифты можно найти в каталоге font на любом из следующих компакт-дисков: * IBM Developer Kit, Java Technology Edition (64-битный) для AIX 5L * DB2 Embedded Application Server и прикладные программы (реестр XML, инструменты управления Web и распределенный отладчик Java) для вашей операционной системы Эти шрифты предназначены только для использования с DB2 UDB. Вам не разрешается произвольное использование или распространение этих шрифтов: Табл. 9. Индийские шрифты, прилагаемые к DB2 UDB +-----------------------+----------------------+----------------------+ | Гарнитура | Начертание | Имя файла шрифта | +-----------------------+----------------------+----------------------+ | Devanagari MT for IBM | Среднее | devamt.ttf | +-----------------------+----------------------+----------------------+ | Devanagari MT for IBM | Жирное | devamtb.ttf | +-----------------------+----------------------+----------------------+ | Tamil | Среднее | TamilMT.ttf | +-----------------------+----------------------+----------------------+ | Tamil | Жирное | TamilMTB.ttf | +-----------------------+----------------------+----------------------+ | Telugu | Среднее | TeluguMT.ttf | +-----------------------+----------------------+----------------------+ | Telugu | Жирное | TeleguMTB.ttf | +-----------------------+----------------------+----------------------+ Подробные инструкции по установке этих шрифтов и исправлению файла font.properties можно найти в разделе Internationalization документации по комплекту IBM Development Kit for Java. Кроме того, индийские шрифты, которые можно использовать с инструментами графического интерфейса DB2, поставляются со следующими продуктами Microsoft: * Операционная система Microsoft Windows 2000 * Операционная система Microsoft Windows XP * Microsoft Publisher * Microsoft Office Инструменты с графическим интерфейсом не поддерживаются для серверов zSeries (Linux) За исключением мастера по установке DB2, инструменты с графическим интерфейсом не будут работать на серверах zSeries с операционной системой Linux. Это ограничение относится и ко всем компонентам, запускаемым с панели установки, таким как Краткий обзор. Если вы хотите использовать инструменты с графическим интерфейсом в таких системах, установите инструменты управления на клиентской системе с иной конфигурацией и используйте этот клиент для обращения к серверу zSeries. Заключайте условие поиска в Информационном центре DB2 в кавычки, если оно содержит числа Для получения правильного результата поиска в Информационном центре DB2 необходимо заключать в кавычки условия поиска, содержащие числа. Например, при поиске с приведенным ниже условием вы не получите никаких результатов: 1.4.1 Но вы получите соответствующие результаты, если заключите условие поиска в кавычки: "1.4.1" При поиске с приведенным ниже условием вы получите лишние темы: DB20000I А при поиске с приведенным ниже условием вы получите то, что нужно: "DB20000I" При импорте файлов языка тегов не генерируется файл журнала Центра каталогов данных Если при импорте файлов языка тегов в Центр каталогов данных не генерируется файл журнала Центра каталогов данных, выполните следующие действия по исправлению ошибки: При запуске db2icmimport из командной строки: * Если выходные файлы (.xml, .out, .err, .log) не генерируются, возможно, в командной строке есть ошибка. Проверьте правильность первых пяти аргументов (ID пользователя, пароль, база данных, каталог и файл языка тегов). Чтобы посмотреть синтаксис команды, введите db2icmimport. Если ошибку не удалось исправить, измените db2icmimport, чтобы захватывать вывод db2javit; для этого укажите опцию -g сохранения вывода в файл. Например: db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\myimport.trc" ... * Если не генерируется файл журнала, это обычно объясняется ошибкой синтаксического анализа. Посмотрите файл .xml и файл .out. Если можете, вставьте команду ":COMMIT.CHKPID(DEBUG)" в начало файла языка тегов. Эта команда генерирует отладочные сообщения и проверяет файлы .xml и .out на наличие ошибок синтаксического анализа. * После завершения синтаксического анализа сообщения об ошибках должны появиться в файле .log. Если генерируются отладочные сообщения, посмотрите информацию в файлах .log и .out. * Всегда проверяйте файл .err, чтобы узнать, не было ли ошибок времени выполнения. При импорте файла языка тегов при помощи графического интерфейса Центра каталогов данных: * При импорте файла языка тегов при помощи графического интерфейса файлы .out или .err не генерируются. * Если файл .log или .xml генерируется, используйте для отладки эти файлы. * Если файлы .log или .xml не генерируются или не помогают в решении проблемы, запустите процесс импорта из командной строки, чтобы получить больше информации. Связывание пакетов Query Patroller Если после применения пакета FixPak не выполнено связывание пакетов Query Patroller, пользователь без полномочий DBADM и соответствующих привилегий Query Patroller может получать следующее сообщение об ошибке при использовании Центра Query Patroller или командной строки Query Patroller: SQL0001N - Binding or precompilation did not complete successfully. (SQL0001N - Связывание или прекомпиляция не были завершены успешно.) При использовании Центра Query Patroller сообщение об ошибке SQL0001N записывается в файл qpdiag.log. При использовании командной строки Query Patroller сообщение об ошибке SQL0001N выводится на консоль. Предусмотрен программный код для запуска автоматического связывания. Однако автоматическое связывание невозможно, если у соединяющегося пользователя нет необходимых привилегий для выполнения всех операторов в пакетах Query Patroller. Признак этой проблемы - отсутствие папок в Центре Query Patroller. Чтобы исправить эту ошибку, пользователь с полномочиями DBADM или необходимыми привилегиями должен вручную выполнить связывание пакетов qpserver.lst после применения пакета FixPak. Порты недоступны через Query Patroller (Windows) Ошибка и ее причина Поданные запросы в Query Patroller могут получать код SQL -29007, когда не остается доступных портов в Windows XP или Windows 2003. Вероятность этой ошибки возрастает с ростом числа клиентов, обращающихся к Query Patroller. Обходной прием Задайте следующие переменные реестра Windows: MaxUserPort=65534 TcpTimedWaitDelay=30 и перезапустите систему, чтобы изменения вступили в силу. Подробности о задании переменных реестра Windows можно найти на сайте Microsoft(R) Help and Support по адресу http://support.microsoft.com/. Защищенные среды (Windows) Если вы - не администратор системы Windows, при работе с DB2 Universal Database (UDB) в Windows у вас могут возникать проблемы с разрешениями для файлов. Если вы получаете сообщение об ошибке SQL1035N, SQL1652N или SQL5005C, возможные причины и обходные приемы указаны ниже: Пользователь не имеет достаточных полномочий для каталога sqllib Ошибка и ее причина При попытке открыть командное окно или процессор командной строки DB2 пользователь получает сообщение об ошибке SQL1035N или SQL1652N. Код DB2 UDB (основные файлы) установлены в каталоги с ограниченными разрешениями на запись, однако некоторым инструментам DB2 UDB требуется писать в каталог DB2INSTPROF и создавать в нем файлы. Обходной прием Создайте новый каталог, для которого вы можете дать пользователям как минимум разрешение MODIFY, и либо используйте команду db2set -g db2tempdir, чтобы указать на этот каталог, либо задайте переменную системной среды Windows db2tempdir. У пользователя недостаточно полномочий для записи в каталог sqllib\<каталог_экземпляра>, хотя этот пользователь и принадлежит к группе SYSADM_GROUP Ошибка и ее причина При попытке изменения файла конфигурации менеджера баз данных (update dbm cfg) пользователь получает сообщение о системной ошибке SQL5005C. У пользователя нет разрешений NTFS на запись в каталог sqllib\каталог_экземпляра, хотя этот пользователь и принадлежит к группе SYSADM_GROUP. Первый обходной прием Дайте пользователям как минимум полномочия MODIFY для каталога каталог_экземпляра на уровне файловой системы. Второй обходной прием Создайте новый каталог, для которого вы можете дать пользователю как минимум полномочия MODIFY. При помощи команды db2set db2instprof задайте ссылку на этот каталог. Вам надо будет либо пересоздать экземпляр, чтобы информация сохранялась в новом каталоге экземпляра, заданном переменной db2instprof, либо переписать содержимое старого каталога экземпляра в новый. Переименованы программы примеров XML Extender Имена некоторых программ примеров XML Extender могут совпадать с именами других установленных программ. Если случайно запустить другую программу с тем же именем, что и имя программы примера XML Extender, это может привести к повреждению ваших файлов XML. В следующем списке приведены старые имена программ примеров XML Extender, а также новые заменяющие их имена программ, которые не будут вызывать конфликтов. Используйте эти новые имена программ примеров вместо старых, чтобы избежать повреждения файлов XML. Табл. 10. Замена программ примеров для XML Extender (Windows) +----------------------------------+----------------------------------+ | Старая программа (не надо | Новая программа (используйте | | использовать) | вместо старой) | +----------------------------------+----------------------------------+ | insertx.exe | dxxisrt.exe | +----------------------------------+----------------------------------+ | retrieve.exe | dxxretr.exe | +----------------------------------+----------------------------------+ | retrieve2.exe | dxxretr2.exe | +----------------------------------+----------------------------------+ | retrievec.exe | dxxretrc.exe | +----------------------------------+----------------------------------+ | shred.exe | dxxshrd.exe | +----------------------------------+----------------------------------+ | tests2x.exe | dxxgenx.exe | +----------------------------------+----------------------------------+ | tests2xb.exe | dxxgenxb.exe | +----------------------------------+----------------------------------+ | tests2xc.exe | dxxgenxc.exe | +----------------------------------+----------------------------------+ Табл. 11. Замена программ примеров для XML Extender (Linux и UNIX) +----------------------------------+----------------------------------+ | Старая программа (не надо | Новая программа (используйте | | использовать) | вместо старой) | +----------------------------------+----------------------------------+ | insertx | dxxisrt | +----------------------------------+----------------------------------+ | retrieve | dxxretr | +----------------------------------+----------------------------------+ | retrieve2 | dxxretr2 | +----------------------------------+----------------------------------+ | retrievec | dxxretrc | +----------------------------------+----------------------------------+ | shred | dxxshrd | +----------------------------------+----------------------------------+ | tests2x | dxxgenx | +----------------------------------+----------------------------------+ | tests2xb | dxxgenxb | +----------------------------------+----------------------------------+ | tests2xc | dxxgenxc | +----------------------------------+----------------------------------+ Использование новых программ примеров с примерами файлов sqx Исходный код (файлы .sqx) для перечисленных выше исполняемых файлов находится в подкаталоге samples\db2xml\c каталога установки. Для исходных файлов пока использованы старые имена. Если вы внесли изменения в исходный код, скопируйте вновь скомпилированные исполняемые файлы (со старыми именами) в каталог sqllib\bin. В системах Windows нужно сделать дополнительную копию, дать ей новое имя, указанное выше, и скопировать в каталог bin. Обе копии заменят существующие файлы в каталоге bin. Например, после компиляции новой версии shred.exe, нужно сделать две копии и заменить ими файлы в каталоге bin: одна копия с именем shred.exe и другая - переименованная в dxxshrd.exe. На платформах Linux и UNIX нужно только заменить файл со старым именем на новую скомпилированную версию. При создании из этих примеров новых исполнимых файлов необходимо скопировать эти новые файлы из каталога \SQLLIB\samples\db2xml\c\ в каталог \SQLLIB\bin\, а затем сделать дополнительную копию, переименовав их в соответствии с приведенной выше таблицей. Анализ в XML Extender документов, содержащих неуникальные имена атрибутов и элементов Теперь можно анализировать документы с неуникальными именами атрибутов или неуникальными именами элементов, отображающихся на другие столбцы (этой же или другой таблицы), не получая ошибки DXXQ045E. Ниже показан пример документа XML с неуникальными именами атрибутов и неуникальными именами элементов: John Smith Jane Doe xxxx-xxxx 2 12.50 yyyy-yyyy 4 24.99 Сопровождающий файл DAD, в котором задается отображение повторяющихся элементов и атрибутов на другие столбцы, выглядит так:
order_tab.order_id=detail_tab.order_id
detail_tab" />
После анализа показанного выше документа содержимое таблицы будет выглядеть так: ORDER _TAB: ORDER_ID CUST_ID CUST_NAME SALESP_ID SALESP_NAME 0001-6789 1111 John Smith 1234 Jane Doe DETAIL_TAB: ORDER_ID ITEMNO QUANTITY UNIT_PRICE 0001-6789 xxxx-xxxx 2 12.50 0001-6789 yyyy-yyyy 4 24.99 Прим.: Чтобы отобразить несколько элементов и атрибутов на один и тот же столбец одной таблицы, определите для этой таблицы алиас и используйте этот алиас в элементе <таблица> DAD для одного из этих отображений. Различия между SNA и TCP/IP при использовании DB2 Connect Если для соединения с системой OS/390 используется SNA, при установлении нового соединения в слое VTAM хоста автоматически запускается принятие. Такое автоматическое принятие позволяет перевести поток на стороне хоста в неактивной состояние; этот поток немедленной становится неактивным. Однако при соединении с системой OS/390 с использованием TCP/IP автоматическое принятие не выполняется. Чтобы сделать поток на стороне хоста неактивным, программа должна после соединения сама явным образом инициировать принятие. Если явное принятие не будет выполнено, для потока начинается отсчет срока бездействия. Предлагаемый обходной прием - переписать программу так, чтобы она выполняла явное принятие, когда поток после соединения бездействует. Изменения в документации Пометки отмечают текст, который был добавлен или изменен. Вертикальная черта ( | ) отмечает информацию, которая была добавлена или изменена для Версии 8.2 FixPak 4 (эквивалентна Версии 8.1 FixPak 11). Руководство администратора: Реализация Конфигурация автоматического перенаправления клиента (DB2_MAX_CLIENT_CONNRETRIES и DB2_CONNRETRIES_INTERVAL) По умолчанию функция автоматического перенаправления клиента повторяет попытки соединения с базой данных до 10 минут. Однако при помощи следующих переменных среды можно более точно сконфигурировать повтор попыток соединения: * DB2_MAX_CLIENT_CONNRETRIES: Максимальное число попыток соединения для функции автоматического перенаправления клиента. * DB2_CONNRETRIES_INTERVAL: Интервал в секундах между последовательными попытками соединения. Если задать 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) должны конфигурировать автоматическое перенаправление клиента при помощи следующих двух свойств источника данных: * maxRetriesForClientReroute: Это свойство позволяет ограничить число повторных попыток при неудаче первичного соединения с сервером. Свойство используется, только если задано свойство retryIntervalForClientReroute. * retryIntervalForClientReroute: Это свойство задает время задержки (в секундах) перед повторной попыткой соединения. Свойство используется, только если задано свойство maxRetriesForClientReroute. Пояснение относительно переменной реестра DB2TIMEOUT Переменная реестра 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. Это значит, что только у владельца есть доступ на чтение, запись и выполнение. Рассмотрим следующий сценарий с несколькими экземплярами: 1. Используя ту же структуру каталогов, что в предыдущем примере, предположим, что уровни каталогов /project/user_data не существуют. 2. Пользователь user1 создает экземпляр, который по умолчанию называется user1, затем создает базу данных, а затем - табличное пространство, один из контейнеров которого - /project/user_data/container1. 3. Пользователь user2 создает экземпляр, который по умолчанию называется user2, затем создает базу данных, а затем пытается создать табличное пространство, один из контейнеров которого - /project/user_data/container2. Поскольку при первом требовании DB2 UDB создала уровни каталогов /project/user_data с маской разрешений 700, у пользователя user2 нет доступа к этим уровням каталогов, и он не может создать в этих каталогах container2. В этом случае операция CREATE TABLESPACE завершается неудачно. Есть два способа разрешить этот конфликт: 1. Создать каталог /project/user_data до создания табличных пространств и задать разрешения, позволяющие создать табличные пространства и пользователю user1, и пользователю user2. Если все уровни каталога табличного пространства существуют, DB2 UDB не изменяет доступа к ним. 2. Когда пользователь user1 создаст /project/user_data/container1, задать для /project/user_data разрешения, позволяющие создать табличное пространство пользователю user2. Автоматическое хранение Формат имен контейнеров изменен; при этом изменены также ID табличных пространств и ID контейнеров. Новый формат: <путь хранения>/<экземпляр>/NODE#### /T####### /C#######. где: * /T####### - ID табличного пространства. Например: T0000003. * /C####### ID контейнера. Например: C0000012. Определение генерируемого столбца для существующей таблицы Начиная с DB2(R) Universal Database Версии 8.2.2 (эквивалентной Версии 8.1 FixPak 9), генерируемые столбцы можно использовать в индексах уникальности. Генерируемые столбцы нельзя использовать в ограничениях, реляционных ограничениях, первичных ключах и глобальных временных таблицах. Таблицы, созданные с опцией LIKE, и материализованные производные таблицы не наследуют свойства генерируемых столбцов. Групповые переменные реестра Если задать DB2WORKLOAD=SAP, пользовательское табличное пространство SYSTOOLSPACE и пользовательское временное табличное пространство SYSTOOLSTEMPSPACE не будут создаваться автоматически. Эти табличные пространства используются для таблиц, автоматически создаваемых следующими мастерами, утилитами или функциями: * Автоматическое обслуживание * Советчик по структуре * Информационная панель базы данных Центра управления * Хранимая процедура SYSINSTALLOBJECTS (если не задан входной параметр табличного пространства) * Хранимая процедура GET_DBSIZE_INFO Без табличных пространств SYSTOOLSPACE и SYSTOOLSTEMPSPACE нельзя использовать эти мастера, утилиты или функции. Чтобы можно было использовать эти мастера, утилиты или функции, выполните одно из следующих действий: * Вручную создайте SYSTOOLSPACE (только на узле каталога, если используется DPF). Например: CREATE REGULAR TABLESPACE SYSTOOLSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSPACE') * При вызове SYSINSTALLOBJECTS для создания объектов задавайте правильное табличное пространство для каждого из следующих имен инструментов: "DB2AC", "POLICY" и "STMG_DBSIZE_INFO" Выполнив одно из этих действий, создайте пользовательское временное табличное пространство (также только на узле каталога, если используется DPF). Например: CREATE USER TEMPORARY TABLESPACE SYSTOOLSTMPSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSTMPSPACE') Когда табличное пространство SYSTOOLSPACE и временное табличное пространство SYSTOOLSTEMPSPACE созданы, можно использовать указанные выше мастера, утилиты или функции. Особенности аутентификации удаленных клиентов Тип аутентификации DATA_ENCRYPT_CMP позволяет клиентам из предыдущих выпусков, не поддерживающим шифрование данных, соединяться с сервером, используя аутентификацию SERVER_ENCRYPT вместо DATA_ENCRYPT. Этот тип аутентификации не работает, если выполняются три следующих условия: * Уровень клиента - Версия 7.2. * Уровень шлюза - Версия 8 FixPak 7 или новее. * Уровень сервера - Версия 8 FixPak 7 или новее. В этом случае клиент не сможет соединяться с сервером. Чтобы он мог соединяться с сервером, нужно либо обновить клиент до Версии 8, либо использовать шлюз Версии 8 FixPak 6 или более ранней. Поддержка прямого ввода-вывода (DIO) и параллельного ввода-вывода (CIO) Прямой ввод-вывод (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 где: * Имя хоста TCP/IP компонента диспетчера связи - DThostname * Имя хоста TCP/IP сервера 1 DB2 Connect - GWYhostname1 * Имя хоста TCP/IP сервера 2 DB2 Connect - GWYhostname2 * Имя хоста TCP/IP сервера DB2 z/OS - zOShostname Клиент вносится в каталог с использованием диспетчера связи 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: * sqlcode -20157 * sqlcode -1768 (код причины = 7) Особенности автоматического перенаправления клиента при каталогизации на сервере DB2 Connect Необходимо иметь в виду следующие два вопроса, касающихся связи с альтернативным сервером при помощи сервера DB2 Connect: * Первый вопрос касается использования сервера DB2 Connect для доступа к базе данных хоста или iSeries от имени как удаленных, так и локальных клиентов. В таких ситуациях возможна неопределенность касательно информации о связи с альтернативным сервером в записи системного каталога баз данных. Для уменьшения неопределенности рассмотрите возможность внести в системный каталог баз данных две записи, представляющие одну и ту же базу данных хоста или iSeries. Добавьте в каталог одну запись для удаленных клиентов, а другую - для локальных. * Второй вопрос - это то, что информация об альтернативном сервере, возвращаемая сервером назначения, сохраняется только в кэше. Если процесс DB2 завершит работу, информация кэша будет утрачена, а с ней и информация об альтернативном сервере. Поддержка учетной записи локальной системы (Windows) Прикладные программы, работающие в контексте учетной записи локальной системы (local system account, LSA), поддерживаются на всех платформах Windows, кроме Windows ME. Поддержка двухчастного ID пользователя Оператор CONNECT и команда ATTACH поддерживают двухчастные ID пользователей. Спецификатор ID пользователя, совместимого с SAM, - это имя в стиле NetBIOS, у которого максимальная длина - 15 символов. Эта возможность не поддерживается в Windows ME. Подробности аутентификации Kerberos Kerberos и принципалы клиентов Можно переопределить имя принципала сервера Kerberos, используемое сервером DB2(R) Universal Database (UDB) в операционных системах UNIX(R) и Linux(TM). Задайте в переменной среды DB2_KRB5_PRINCIPAL нужное полное имя принципала сервера. Затем нужно перезапустить экземпляр, поскольку DB2 UDB распознает имя принципала сервера только после запуска db2start. Дополнительная информация для поддержки Kerberos Предварительные требования Linux Предварительные требования для поддержки Kerberos Linux неточно описаны в документации. Существующий модуль защиты Kerberos DB2 поддерживается сервером Red Hat Enterprise Linux Advanced Server 3 с клиентом IBM Network Authentication Service (NAS) 1.4. Совместимость с zSeries и iSeries Для соединения с zSeries и iSeries база данных должна быть каталогизирована с явно заданными именами параметров AUTHENTICATION KERBEROS и TARGET PRINCIPAL. Ни zSeries, ни iSeries не поддерживают множественную аутентификацию. Вопросы Windows * В связи со способом, которым Windows обнаруживает и выводит некоторые ошибки, в указанных ниже условиях может возникать неожиданная ошибка модуля защиты клиента (SQL30082N, код возврата 36): * Истек срок действия учетной записи * Недопустимый пароль * Истек срок действия пароля * Изменение пароля по требованию администратора * Отключенная учетная запись Далее, во всех случаях в журнале администратора DB2 или в журнале db2diag.log будет записано "Logon failed" или "Logon denied". * Если имя учетной записи домена определено также локально, соединения, в которых явно задано имя домена и пароль, завершатся неудачно со следующей ошибкой: The Local Security Authority cannot be contacted Эта ошибка возникает из-за того, что Windows сначала ищет локального пользователя. Проблему решает указание полного спецификатора пользователя в строке соединения. Например: name@DOMAIN.IBM.COM * В учетных записях Windows не допускается символ @, поскольку модуль Kerberos DB2 считает этот символ разделителем домена. * При совместной работе с другими платформами (не Windows) убедитесь, что все учетные записи сервера домена Windows и все учетные записи клиентов Windows сконфигурированы для использования шифрования DES. Если учетная запись, используемая для запуска службы DB2, не сконфигурирована для использования шифрования DES, сервер DB2 не сможет принять контексты Kerberos. В частности, DB2 Universal Database вызовет неожиданную ошибку модуля сервера и запишет в журнал, что API AcceptSecurityContext вернул SEC_I_CONTINUE_NEEDED (0x00090312L). Чтобы определить, сконфигурированы ли учетные записи Windows для использования шифрования DES, посмотрите панель Свойства учетной записи в меню Active Directory. После изменения свойств учетной записи может потребоваться перезапуск. * Если и клиент, и сервер находятся в системе Windows, службу DB2 можно запустить при помощи учетной записи локальной системы. Но если клиент и сервер находятся на разных доменах, соединение может завершиться неудачно с ошибкой недопустимого имени принципала назначения. Обходной прием - явная каталогизация имени принципала назначения на клиенте с указанием полного имени хоста сервера и полного имени домена в следующем формате: хост/<имя хоста сервера>@<имя домена сервера> Например: host/myhost.domain.ibm.com@DOMAIN.IBM.COM Если этого не сделать, надо будет запускать службу DB2 под допустимой учетной записью домена. Руководство администратора: Производительность Сравнение переменной реестра DB2_FORCE_FCM_BP в 32-битной и 64-битной средах Когда включена переменная реестра DB2_FORCE_FCM_BP, остается на один сегмент меньше совместно используемой памяти для прочих нужд, в частности, для пулов буферов баз данных. Таким образом, включение переменной реестра DB2_FORCE_FCM_BP уменьшает максимальный размер пулов буферов баз данных. Обратите внимание на то, что поскольку в 64-битной среде доступно много сегментов совместно используемой памяти, уменьшение их числа является проблемой только в 32-битных средах. После создания таблиц рекомендуется запуск RUNSTATS При первом создании таблицы для статистики системного каталога задается значение -1, означающее, что для этой таблицы нет статистики. До сбора статистики DB2 UDB использует при компиляции и оптимизации операторов SQL значения по умолчанию. Обновление статистики таблицы или индекса может завершиться неудачно, если новые значения не соответствуют значениям по умолчанию. Поэтому перед тем, как вручную обновлять статистику для таблицы или индекса, надо вызывать команду runstats для этой таблицы или индекса. Новый код причины для SQL1169N У сообщения об ошибке SQL SQL1169N введен новый код причины 5, означающий, что столбец таблицы объяснений слишком мал. * Объяснение для кода причины 5: Столбец таблицы объяснения слишком мал. В файл db2diag.log будут записаны сообщения с именем схемы, именем таблицы, именем столбца и требуемым размером столбца для хранения данных, сгенерированных утилитой объяснения. * Действие пользователя: Решите, поместится ли столбец требуемого размера в таблицу и базу данных. Если это так, увеличьте размер столбца при помощи оператора ALTER TABLE. Стратегии оптимизации для таблиц MDC Следующий текст является обновлением главы Руководство администратора: Производительность, Глава 6. Компилятор SQL. Развертывание MDC можно использовать, даже если в план оптимизации включен индекс RID, независимо от наличия условия WHERE в операторе DELETE. В результате из списка условий, выполнение которых позволяет использовать развертывание и более эффективный способ удаления строк, надо убрать условие "Индекс RID не был выбран оптимизатором для поиска строк, которые надо удалить, если оператор DELETE содержит условие WHERE". Далее, можно определить, действует ли развертывание MDC, по выводу db2expln, содержащему словосочетание "Cell Delete". Обратите внимание на то, что db2exfmt не показывает этой информации. Следующий текст - обновление для приложения Приложение A. Переменные реестра и среды DB2: Надо изменить описание DB2_MDC_ROLLOUT, убрав из списка условие "Индекс RID не был выбран оптимизатором для поиска строк, которые надо удалить, если оператор DELETE содержит условие WHERE". Пояснения к описанию параметров конфигурации NEWLOGPATH, MIRRORPATH и OVERFLOWLOGPATH При изменении значений параметров конфигурации newlogpath, mirrorpath или overflowlogpath в среде DB2 UDB Enterprise Server Edition к имени пути будет приписан номер узла, независимо от числа узлов в системе. Это относится и к однораздельным, и к многораздельным системам в среде DB2 UDB Enterprise Server Edition. Значение DB2_COLLECT_TS_REC_INFO по умолчанию Значение DB2_COLLECT_TS_REC_INFO по умолчанию - ON. В DB2 UDB Версии 8.1 FixPak 7 значение по умолчанию переменной реестра DB2_COLLECT_TS_REC_INFO было изменено на ON. В текущей документации ошибочно указано, что значение по умолчанию для этой переменной - OFF. Утилита ограничения ресурсов Экземпляр ограничителя ресурсов состоит из утилиты-клиента и одного или нескольких демонов. Каждый запускаемый экземпляр ограничителя ресурсов связан с определенным экземпляром менеджера баз данных. По умолчанию при запуске ограничителя ресурсов соответствующий демон запускается в каждом разделе многораздельной базы данных. Однако, можно запустить демон только в одном из разделов. Прим.: 1. Снимки запросов, создаваемые ограничителем ресурсов во время работы, могут повлиять на производительность. Для увеличения производительности увеличьте интервал работы ограничителя ресурсов - это уменьшит нагрузку на процессор. 2. Демоны ограничителей ресурсов генерируют при работе ЛОКАЛЬНЫЕ снимки в локальный экземпляр. Поэтому, любые правила, содержащие условия setlimit, применяются к выводу от ЛОКАЛЬНОГО снимка, а не к сводному результату от ГЛОБАЛЬНЫХ снимков. Каждый демон ограничителя ресурсов собирает информацию о прикладных программах, работающих с базой данных. Затем демон ограничителя ресурсов проверяет, соответствует ли эта информация правилам, указанным в файле конфигурации ограничителя ресурсов. Выбор способа реорганизации таблицы При оценке применения реорганизации таблицы на месте (вместо классической реорганизации) учтите, что для реорганизации таблицы на месте требуется больше пространства журнала. Так как в процессе реорганизации на месте все операции регистрируются в журнале для восстановления в случае непредвиденного сбоя, то для ее выполнения требуется больше пространства журнала, чем для классической реорганизации. Размер пространства журнала, необходимого для реорганизации на месте может в несколько раз превышать размер реорганизованной таблицы. Объем необходимого пространства зависит от числа перемещаемых строк и числа и размера индексов таблицы. Совет: Реорганизацию на месте следует выбирать, если система работает непрерывно с минимальными перерывами на обслуживание. Во время динамической реорганизации таблицы DMS можно запустить оперативное резервное копирование табличного пространства, в котором располагается эта таблица. На стадии усечения для операции реорганизации может иметь место ожидание блокировок. Подробная информация по применению этих способов реорганизации приведена в описании синтаксиса команды REORG TABLE. Поддержка больших страниц для памяти FCM (AIX 5L, 64-битная) В 64-битной системе AIX(R) 5L переменная реестра DB2_LARGE_PAGE_MEM теперь поддерживает ключевое слово FCM. По умолчанию в 64-битной системе AIX(R) 5L(TM) память FCM располагается в наборе памяти СУБД. Однако если включена переменная реестра DB2_FORCE_FCM_BP, память FCM располагается в своем собственном наборе памяти. В 64-битной системе AIX 5L(TM) переменная реестра DB2_LARGE_PAGE_MEM поддерживает спецификацию набора памяти СУБД. Если память FCM располагается в наборе памяти СУБД, и для этого набора памяти включена поддержка больших страниц, память FCM будет располагаться на больших страницах. Если же память FCM располагается в своем собственном наборе памяти, чтобы включить для нее поддержку больших страниц, в переменную реестра DB2_LARGE_PAGE_MEM надо добавить ключевое слово FCM. В файле, указанном в переменной реестра DB2_RESOURCE_POLICY, можно использовать новый элемент Начиная с DB2 Universal Database(TM) (UDB) Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9), в файле конфигурации, заданном в переменной реестра DB2_RESOURCE_POLICY, можно использовать элемент SCHEDULING_POLICY. Элемент SCHEDULING_POLICY можно использовать на некоторых платформах для выбора: * Правил планировщика операционной системы, используемых сервером DB2 UDB Прим.: Возможность задавать правила планировщика операционной системы теперь есть и в DB2 for AIX(R). Ранее эта возможность была доступна только в DB2 UDB for Windows(R) (при помощи переменной реестра DB2NTPRICLASS). * Приоритетов операционной системы, используемых отдельными агентами сервера DB2 Переменные реестра DB2PRIORITIES и DB2NTPRICLASS можно использовать по отдельности для управления правилами планировщика операционной системы и задания приоритетов агентов DB2. Однако если задать элемент SCHEDULING_POLICY в файле конфигурации правил управления ресурсами, в нем можно задать как правила планировщика, так и приоритеты соответствующих агентов. Пример 1 Выбор правил планировщика AIX SCHED_FIFO2 и повышение приоритета для процессов записи и чтения журнала db2: SCHED_FIFO2 60 db2loggr 56 db2loggw 56 Пример 2 Замена переменной DB2NTPRICLASS=H в Windows. HIGH_PRIORITY_CLASS Новые системные переменные среды (Linux) В FixPak 8 добавлены системные переменные среды DB2_MAPPED_BASE и DB2DBMSADDR. Использовать эти переменные реестра рекомендуется только опытным пользователям. DB2_MAPPED_BASE Имя переменной DB2_MAPPED_BASE Значения 0 ИЛИ шестнадцатеричный виртуальный адрес в 31-битном или 32-битном диапазоне адресов ИЛИ NULL (не задана) Операционные системы Linux на x86 и Linux на zSeries (31-битная) Описание Переменную реестра DB2_MAPPED_BASE можно использовать для увеличения размера непрерывного пространства виртуальных адресов, доступного для процесса DB2 Universal Database (UDB), изменив положение адреса подключения совместно используемых библиотек для конкретного процесса. Непрерывность пространства виртуальных адресов важна для максимизации доступного для DB2 UDB объема совместной памяти базы данных. Эта переменная действует только в дистрибутивах, содержащих файл mapped_base в каталоге идентификации процесса в файловой системе процесса. Если эта переменная не задана, DB2 UDB попытается использовать для положения совместно используемых библиотек виртуальный адрес 0x10000000. В этой переменной реестра можно также задать любой виртуальный адрес (в шестнадцатеричной форме) в диапазоне 31- и 32-битного адресного пространства. Прим.: Неверный адрес может вызвать серьезные проблемы с DB2 UDB - от невозможности запустить DB2 UDB до невозможности соединиться с базой данных. Неверный адрес - это адрес, попадающий в область памяти, которая уже используется или предназначена для другого использования. Чтобы исправить такую проблему, задайте для переменной DB2_MAPPED_BASE пустое значение следующей командой: db2set DB2_MAPPED_BASE= В файле db2diag.log может быть записано несколько копий следующего сообщения, так как это изменение должно быть выполнено для каждого логического узла: ADM0506I DB2 has automatically updated the "mapped_base" kernel parameter from "0x40000000(hex) 1073741824(dec)" to the recommended value "0x10000000(hex) 268435456(dec)". (ADM0506I DB2 автоматически изменила значение параметра ядра "mapped_base" с "0x40000000(hex) 1073741824(dec)" на рекомендованное значение "0x10000000(hex) 268435456(dec)".) Это сообщение выводится только при успешном задании переменной реестра; в нем указывается адрес, на который перемещены совместно используемые библиотеки. DB2DBMSADDR Имя переменной DB2DBMSADDR Значения Виртуальные адреса в диапазоне от 0x09000000 до 0xB0000000 с шагом 0x10000 Операционные системы Linux на x86 и Linux на zSeries (31-битная) Описание Задает адрес по умолчанию совместной памяти базы данных в шестнадцатеричном формате. Прим.: Неверный адрес может вызвать серьезные проблемы с DB2 UDB - от невозможности запустить DB2 UDB до невозможности соединиться с базой данных. Пример неверного адреса - адрес, попадающий в область памяти, которая уже используется или предназначена для другого использования. Чтобы исправить эту проблему, задайте для переменной DB2DBMSADDR пустое значение следующей командой: db2set DB2DBMSADDR= Эту переменную можно задавать вместе с DB2_MAPPED_BASE или отдельно для тонкой настройки адресного пространства процессов DB2 UDB. Эта переменная изменяет положение совместной памяти экземпляра с его текущего положения по виртуальному адресу 0x20000000 на заданное новое положение. Новая переменная связи в реестре В Версии 8.2 добавлена переменная реестра DB2TCP_CLIENT_RCVTIMEOUT. Табл. 12. Переменные связи +---------------------------+-------------+---------------------------+ | Имя переменной | Операционные| Значения | | | системы | | +---------------------------------------------------------------------+ | Описание | +---------------------------+-------------+---------------------------+ | DB2TCP_CLIENT_RCVTIMEOUT | Все | По умолчанию - 0 (не | | | | задано) | | | | Значения: от 0 до 32767 | | | | секунд | +---------------------------------------------------------------------+ | Задает срок в секундах ожидания клиентом получения данных | | программой приема TCP/IP. | | Сообщения об истечении срока не будет, если переменная реестра не | | задана или если задано значение 0. Если программа приема TCP/IP | | вернет данные до истечения заданного срока, прикладная программа | | продолжит работу как обычно. Если срок истечет до возврата данных, | | соединение будет закрыто. | | | | Прим.: Эта переменная реестра применима только к клиенту DB2 и на | | стороне клиента DB2. Она не применяется к серверу DB2. | +---------------------------------------------------------------------+ Новая переменная производительности В Версии 8.2 добавлена переменная производительности DB2_LARGE_PAGE_MEM. Табл. 13. Переменные производительности +---------------------------+-------------+---------------------------+ | Имя переменной | Операционные| Значения | | | системы | | +---------------------------------------------------------------------+ | Описание | +---------------------------+-------------+---------------------------+ | DB2_LARGE_PAGE_MEM | AIX 5.x | По умолчанию - NULL | | | (только | Используйте *, чтобы | | | 64-битная) | указать, что все | | | | соответствующие регионы | | | Linux | памяти должны | | | | использовать память с | | | | большими страницами, или | | | | перечислите через запятую | | | | конкретные регионы | | | | памяти. Доступные регионы | | | | зависят от операционной | | | | системы. В 64-битной AIX | | | | 5.x можно задать | | | | следующие регионы: DB, | | | | DBMS, PRIVATE. В Linux | | | | можно задать следующий | | | | регион: DB. | +---------------------------------------------------------------------+ | Память с большими страницами поддерживается только для DB2 | | Universal Database (UDB) for AIX 5L (64-битное издание) и DB2 UDB | | for Linux. | | Переменная реестра DB2_LARGE_PAGE_MEM используется для включения | | поддержки больших страниц при работе в AIX 5.x или в любой | | архитектуре Linux с соответствующей поддержкой ядра. Эта переменная | | реестра заменяет устаревшую переменную реестра DB2_LGPAGE_BP, | | которую можно использовать только для включения памяти с большими | | страницами для совместного региона памяти базы данных. Теперь это | | можно включить, задав переменную DB2_LARGE_PAGE_MEM=DB. | | Документацию, где упоминается включение больших страниц при помощи | | переменной реестра DB2_LGPAGE_BP, теперь следует читать как | | DB2_LARGE_PAGE_MEM=DB. | | Использование больших страниц предназначено в первую очередь для | | повышения производительности в программах с интенсивными | | вычислениями. Программы, часто обращающиеся к памяти и использующие | | большие объемы виртуальной памяти, при применении больших страниц | | могут работать производительнее. Чтобы включить использование | | больших страниц в DB2 UDB, надо сначала сконфигурировать | | использование больших страниц в операционной системе. | | Включение собственных больших страниц существенно увеличит | | использование памяти DB2 UDB, поскольку каждый агент DB2 UDB займет | | не менее 1 большой страницы физической памяти (16 Мбайт). Чтобы | | включить большие страницы для собственной памяти агента в 64-битной | | DB2 UDB for AIX (параметр DB2_LARGE_PAGE_MEM=PRIVATE), необходимо | | выполнение следующих условий, помимо конфигурирования больших | | страниц в операционной системе: | | * Владелец экземпляра должен обладать возможностями | | CAP_BYPASS_RAC_VMM и CAP_PROPOGATE. | | * Ядро должно поддерживать интерфейсы, которые допускают, чтобы | | процесс изменял свой размер страниц во время выполнения. . | | В 64-битной DB2 UDB for AIX включение этой переменной уменьшает | | размер сегмента совместной памяти, сводя к минимуму требования | | памяти для базы данных. По умолчанию создается сегмент 64 Гбайт: | | подробности смотрите в информации о параметре размера совместной | | памяти баз данных (параметр конфигурации базы данных | | database_memory). Использование этой возможности позволяет избежать | | выделения совместной оперативной памяти сверх ожидаемой | | потребности. | | При задании этой переменной будет ограничена возможность | | динамического изменения конфигурации, связанного с увеличением | | общего объема совместной памяти базы данных (например, увеличения | | размера пулов буферов). | | В Linux есть дополнительное требование - доступность библиотеки | | libcap.so. Чтобы эта опция работала, необходимо установить данную | | библиотеку. Если эта опция будет включена, а библиотеки в системе | | не будет, DB2 UDB выключит большие страницы ядра и продолжит | | работать, как раньше. | | В Linux для проверки доступности больших страниц ядра введите | | команду: | | cat /proc/meminfo | | | | Если возможность доступна, должны появиться следующие три строки | | (числа будут зависеть от объема памяти, сконфигурированного на | | вашем компьютере): | | HugePages_Total: 200 | | HugePages_Free: 200 | | Hugepagesize: 16384 KB | | | | Если вы не увидите этих строк, или если значение HugePages_Total - | | 0, требуется конфигурирование операционной системы или ядра. | +---------------------------------------------------------------------+ Переменные компилятора SQL Следующее изменение относится к теме "Переменные компилятора SQL" в Приложении A "Переменные реестра DB2 и среды" книги Руководство администратора: Производительность: Если для одной или обеих переменных компилятора DB2 DB2_MINIMIZE_LISTPREFETCH и DB2_INLIST_TO_NLJN задано значение ON, эти переменные будут активны, даже если задано REOPT(ONCE). Изменения в параметрах конфигурации Ниже указаны изменения в документации по параметрам конфигурации: authentication - Тип аутентификации Параметр конфигурации менеджера баз данных Тип аутентификации (authentication) может также иметь следующие значения: * DATA_ENCRYPT Сервер принимает зашифрованные схемы аутентификации типа SERVER и зашифрованные пользовательские данные. Аутентификация работает точно так же, как при типе аутентификации SERVER_ENCRYPT. При этом типе аутентификации шифруются следующие пользовательские данные: * Операторы SQL. * Переменные данные программ SQL. * Выходные данные сервера, обрабатываемые оператором SQL, включая описание этих данных. * Некоторые или все данные набора ответов на запрос. * Поток данных больших объектов (LOB). * Дескрипторы SQLDA. * DATA_ENCRYPT_CMP Сервер принимает зашифрованные схемы аутентификации типа SERVER и зашифрованные пользовательские данные. Кроме того, этот тип аутентификации обеспечивает совместимость с ранними продуктами, не поддерживающими тип аутентификации DATA_ENCRYPT. Этим продуктам разрешено устанавливать соединение с помощью типа аутентификации SERVER_ENCRYPT и без шифрования пользовательских данных. Продукты, поддерживающие новый тип аутентификации, должны использовать его. Этот тип аутентификации допустим только в файле конфигурации менеджера баз данных сервера; он недопустим в команде CATALOG DATABASE. util_impact_lim - Правила влияния для экземпляра Начиная с DB2 Universal Database Версии 8.2, значение по умолчанию параметра конфигурации менеджера баз данных Правила влияния для экземпляра (util_impact_lim) изменено со 100 на 10. sysadm_group, sysmaint_group, sysctrl_group, sysmon_group Все следующие параметры конфигурации менеджера баз данных могут на всех платформах содержать имена групп (длиной до 30 байтов): * Имя группы с полномочиями администратора системы (sysadm_group) * Имя группы с полномочиями обслуживания системы (sysmaint_group) * Имя группы с полномочиями управления системой (sysctrl_group) * Имя группы с полномочиями мониторинга системы (sysmon_group) Таблица в теме "Обзор параметров конфигурации менеджера баз данных" содержит неверные типы данных для этих параметров конфигурации менеджера баз данных. Правильный тип данных для всех этих параметров - char(30). estore_seg_sz - Размер сегмента расширения памяти Максимальный размер для параметра конфигурации базы данных Размер сегмента расширения памяти (estore_seg_size) на платформах на основе Windows равен 16777216. hadr_timeout - Значение срока ожидания HADR Правильное максимальное значение для параметра конфигурации базы данных Значение срока ожидания HADR (hadr_timeout) - 4294967295. locklist - Максимальный объем списка блокировок В документации сказано, что максимальное значение для параметра конфигурации базы данных Максимальный объем списка блокировок (locklist) для 64- и 32-битных серверов Windows, обслуживающих только локальных клиентов, равно 60000. Это неверное значение; правильное число - 524288. num_db_backups - Число резервных копий базы данных Неверно указан диапазон значений для параметра конфигурации базы данных Число резервных копий базы данных (num_db_backups). Правильный диапазон: 0 - 32767. Файл параметров конфигурации базы данных SQLDBCONF После перенастройки DB2 Universal Database (UDB) из Версии 8.1 в Версию 8.2, DB2 UDB использует новый файл параметров конфигурации базы данных с именем SQLDBCONF и размером 16 Кбайт. (В Версии 8.1 файл параметров конфигурации базы данных имел размер только 4 Кбайта и назывался SQLDBCON). Изменение значения по умолчанию DB2_HASH_JOIN В Версии 8.1 переменная реестра DB2_HASH_JOIN имела по умолчанию значение ON. Используйте эту переменную хеш-объединения, настроив ее значение для оптимальной производительности. Оптимальная производительность хеш-объединения обеспечивается в том случае, если удается избежать хеш-циклов и переполнения с записью на диск. Для повышения производительности хеш-объединения оцените максимальный объем доступной памяти для параметра sheapthres и настройте значение параметра sortheap. Увеличьте его значение в пределах ограничения, заданного параметром sheapthres, чтобы исключить как можно больше хеш-циклов и переполнений с записью на диск. Дополнительную информацию смотрите в теме "Методы объединения" в книге Руководство администратора: Производительность. Переменная реестра DB2NTNOCACHE устарела Функции DB2NTNOCACHE доступны теперь на уровне табличного пространства путем задания условия NO FILE SYSTEM CACHING в операторе CREATE TABLESPACE или ALTER TABLESPACE. Использование этого условия описано в справочнике SQL Reference. В следующем выпуске переменная реестра DB2NTNOCACHE будет удалена. Таблицы объяснения и организация информации объяснений Таблицы объяснения могут применяться совместно несколькими пользователями. Но задавать таблицы объяснения можно для одного пользователя, а для дополнительных пользователей для указания заданных таблиц использовать алиасы с тем же именем. Другой вариант - задать таблицы объяснения в схеме SYSTOOLS. Функция объяснения использует по умолчанию схему SYSTOOLS, если не найдено других таблиц объяснения или алиасов под ID сеанса пользователя для динамического SQL или ID авторизации оператора для статического SQL. Каждый пользователь, имеющий в совместном пользовании общие таблицы объяснения, должен иметь разрешение на вставку в эти таблицы. Следует также ограничить разрешения на чтение для общих таблиц объяснения - обычно можно ограничить теми пользователями, которые анализируют информацию объяснения. Рекомендации по сбору информации объяснения Данные объяснения собираются, если эта опция указана при компиляции оператора SQL. Перед тем, как включить эту опцию, подумайте, как будет использоваться собранная информация. Захват информации из таблиц объяснения * Динамические операторы SQL: Информация объяснения захватывается в следующих ситуациях: * Специальный регистр CURRENT EXPLAIN MODE имеет значение: * YES: Компилятор SQL захватывает данные объяснения и выполняет оператор SQL. * EXPLAIN: Компилятор SQL захватывает данные объяснения, но не выполняет оператор SQL. * RECOMMEND INDEXES: Компилятор SQL захватывает данные объяснения, рекомендуемые индексы помещаются в таблицу ADVISE_INDEX, но оператор SQL не выполняется. * EVALUATE INDEXES: Компилятор SQL использует индексы, помещенные пользователем в таблицу ADVISE_INDEX для вычисления. Все динамические операторы, выполняемые в режиме EVALUATE INDEXES, объясняются так, как если бы эти виртуальные индексы были доступны. Если виртуальные индексы улучшают производительность операторов, компилятор SQL потом выбирает использование этих индексов. Иначе эти индексы игнорируются. Результаты EXPLAIN позволяют определить целесообразность применения предложенных индексов. * REOPT: Компилятор SQL захватывает данные объяснения для статических или динамических операторов SQL во время реоптимизации оператора во время выполнения, когда доступны действительные значения переменных хоста, специальных регистров или маркеры параметров. * В команде BIND или PREP была указана опция EXPLAIN ALL. Компилятор SQL захватывает данные объяснения для динамического SQL во время выполнения, даже если для специального регистра CURRENT EXPLAIN MODE задано NO. Кроме того, выполняется оператор SQL и возвращаются результаты запроса. Дополнительные коды возврата из API db2CfgGet, параметр collate_info Параметр информации упорядочивания можно вывести только при помощи API db2CfgGet. Его нельзя вывести при помощи процессор командной строки или Центр управления. Тип конфигурации База данных Тип параметра Информационный Этот параметр содержит 260 байт информации об упорядочении для базы данных. Первые 256 байтов задают последовательность упорядочения базы данных, где байт "n" содержит вес сортировки кода символа с десятичным представлением "n" в кодовой странице базы данных. Последние 4 байта содержат внутреннюю информацию о типе последовательности упорядочения. Последние четыре байта collate_info - целое число. Это целое число зависит от порядка разделения на байты на данной платформе. Возможные значения: * 0 - Последовательность содержит неуникальные веса * 1 - Все веса последовательности уникальны * 2 - Последовательность является последовательностью идентификации, строки которой сравниваются побайтно. * 3 - Последовательность - NLSCHAR, используемая для сортировки в базах данных с тайским набором символов TIS620-1 (кодовая страница 874). * 4 - Последовательность - IDENTITY_16BIT, реализующая алгоритм схемы "CESU-8 Compatibility Encoding Scheme for UTF-16: 8-Bit" (совместимая схема кодирования для UTF-16, 8-битная); ее спецификация включена в отчет Unicode Technical Report #26, доступный на сайте Unicode Technical Consortium http://www.unicode.org. * X'8001' - Последовательность - UCA400_NO, которая реализует алгоритм UCA (Unicode Collation Algorithm, Алгоритм упорядочивания Unicode), основанный на стандарте Unicode Standard версии 4.00 с неявно заданной нормализацией ON. * X'8002' - Последовательность - UCA400_LTH, которая реализует алгоритм UCA (Unicode Collation Algorithm, Алгоритм упорядочивания Unicode), основанный на стандарте Unicode Standard версии 4.00, и сортирует тайские символы, как принято в королевском тайском словаре (Royal Thai Dictionary). * X'8003' - Последовательность - UCA400_LSK, которая реализует алгоритм UCA (Unicode Collation Algorithm, Алгоритм упорядочивания Unicode), основанный на стандарте Unicode Standard версии 4.00, и правильно сортирует все словацкие символы. Если вы используете эту внутреннюю информацию, то при ее передаче на другую платформу необходимо выполнить реверсирование байтов. Последовательность упорядочения можно задать во время создания базы данных. Автоматическое задание размера предварительной выборки по умолчанию и значений по умолчанию для изменения Начиная с DB2 Universal Database (UDB) Версии 8.2, можно использовать для табличного пространства размер предварительной выборки AUTOMATIC. DB2 UDB автоматически изменяет размер предварительной выборки, когда в табличном пространстве изменяется число контейнеров. Синтаксис переменной реестра DB2_PARALLEL_IO расширен для возможности распознавания контейнеров с различными характеристиками параллелизма ввода-вывода. При использовании расширенного синтаксиса у контейнеров для различных табличных пространств могут быть различные характеристики ввода-вывода. Характеристика параллелизма ввода-вывода каждого табличного пространства используется, если для табличного пространства задается автоматический размер предварительной выборки (AUTOMATIC). Если переменная реестра DB2_PARALLEL_IO включена, но расширенный синтаксис, идентифицирующий конкретные характеристики параллелизма ввода-вывода, не используется, предполагается уровень параллелизма по умолчанию. По умолчанию используется уровень параллелизма RAID 5 (6+1). Информация о размере предварительной выборки, используемая оптимизатором, обновляется только при выполнении оператора ALTER TABLESPACE, который изменяет размер предварительной выборки табличного пространства или число контейнеров (при помощи ADD/DROP/BEGIN NEW STRIPE SET/ADD TO NEW STRIPE SET). Если в параметрах реестра изменяется число физических дисков на контейнер, для обновления информации оптимизатора надо запустить оператор ALTER TABLESPACE <имя_табличного_пространства> PREFETCHSIZE AUTOMATIC (если только обновление информации оптимизатора не было уже задано в операторе ALTER TABLESPACE). Если табличное пространство перенаправляется или восстанавливается для возможности использования другого числа контейнеров, обновите информацию оптимизатора при помощи оператора ALTER TABLESPACE <имя_табличного_пространства> PREFETCHSIZE AUTOMATIC. Если в табличном пространстве есть несколько наборов полос, для вычисления размера предварительной выборки используется максимальное число контейнеров по нескольким наборам полос. Если вычисленный размер предварительной выборки превышает максимальный размер (32767 страниц), в качестве размера предварительной выборки используется наибольшее кратное числа контейнеров, которое меньше этого максимума. В среде DB2 UDB Enterprise Server Edition, если для табличного пространства используется автоматический размер предварительной выборки (AUTOMATIC), размеры предварительной выборки могут отличаться в разных разделах базы данных. Причина в том, что в разных разделах базы данных число контейнеров, используемое при вычислении размеров предварительной выборки, может быть различным. При генерации плана доступа для запроса оптимизатор использует размер предварительной выборки из первого раздела в группе разделов базы данных. Руководство администратора: Планирование Таблицы с кластеризацией по диапазонам Таблицы с кластеризацией по диапазонам нельзя создавать в базе данных с несколькими разделами. Проектирование табличного пространства каталога При создании базы данных определяются три табличных пространства, в том числе табличное пространство SYSCATSPACE для таблиц системного каталога. Размер страницы по умолчанию для всех табличных пространств задается при создании базы данных. Если выбран размер страницы больше 4096 (4 Kбайта), размер страницы для таблиц каталога ограничивается размером строки, который был бы при использовании для табличного пространства каталога с размером страницы 4 Kбайта. Размер страницы по умолчанию для базы данных сохраняется как информационный параметр конфигурации базы данных с именем pagesize. Поддерживаемые коды регионов и кодовые страницы В приложении B "Поддержка национальных языков (NLS)" в книге Руководство администратора: Планирование в теме "Поддерживаемые коды регионов и кодовые страницы" приведены таблицы для каждого региона. В двух таблицах необходимы изменения: Китай (КНР), код региона: CN В таблице "Китай (КНР), код региона: CN" нужно изменить кодовую страницу для строки GBK для Linux с 1383 на 1386. Тем самым эта строка должна выглядеть так: 1386 D-4 GBK 86 zh_CN.GBK Linux(R) Япония, код региона: JP Исправлена таблица для "Япония, код региона: JP". Должно быть удалено следующее имя национальной версии: 954 D-1 eucJP 81 japanese Solaris Ниже показана исправленная таблица: Табл. 14. Япония, код региона: JP +----------+----------+----------+----------+---------------+---------+ | Кодовая | Группа | Кодовый | Код | Национальная | Операци-| | страница | | набор | региона | версия | онная | | | | | | | система | +----------+----------+----------+----------+---------------+---------+ | 932 | D-1 | IBM-932 | 81 | Ja_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | Ja_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | | 81 | ja_JP | AIX | | | | IBM-eucJP| | | | | | | | | | | +----------+----------+----------+----------+---------------+---------+ | 1208 | N-1 | UTF-8 | 81 | JA_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 930 | D-1 | IBM-930 | 81 | - | Хост | +----------+----------+----------+----------+---------------+---------+ | 939 | D-1 | IBM-939 | 81 | - | Хост | +----------+----------+----------+----------+---------------+---------+ | 5026 | D-1 | | 81 | - | Хост | | | | IBM-5026 | | | | +----------+----------+----------+----------+---------------+---------+ | 5035 | D-1 | | 81 | - | Хост | | | | IBM-5035 | | | | +----------+----------+----------+----------+---------------+---------+ | 1390 | D-1 | | 81 | - | Хост | +----------+----------+----------+----------+---------------+---------+ | 1399 | D-1 | | 81 | - | Хост | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.eucJP | HP-UX | +----------+----------+----------+----------+---------------+---------+ | 5039 | D-1 | SJIS | 81 | ja_JP.SJIS | HP-UX | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | EUC-JP | 81 | ja_JP | Linux | +----------+----------+----------+----------+---------------+---------+ | 932 | D-1 | IBM-932 | 81 | - | OS/2 | +----------+----------+----------+----------+---------------+---------+ | 942 | D-1 | IBM-942 | 81 | - | OS/2 | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | - | OS/2 | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja | SCO | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP | SCO | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.EUC | SCO | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.eucJP | SCO | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | ja_JP.PCK | Solaris | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja | Solaris | +----------+----------+----------+----------+---------------+---------+ | 1208 | N-1 | UTF-8 | 81 | ja_JP.UTF-8 | Solaris | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | - | Windows | +----------+----------+----------+----------+---------------+---------+ | 1394 | D-1 | | 81 | - | | +----------+----------+----------+----------+---------------+---------+ Функции XA, поддерживаемые DB2 Universal Database DB2 Universal Database (UDB) поддерживает спецификацию XA91, определенную в документе X/Open CAE Specification Distributed Transaction Processing: The XA Specification, со следующими исключениями: * Асинхронные службы Спецификация XA позволяет интерфейсу использовать асинхронные службы, поэтому результат требования может быть проверен позднее. Менеджер баз данных требует, чтобы требования вызывались в синхронном режиме. * Регистрация Интерфейс XA предусматривает два способа регистрации менеджера ресурсов: статическую регистрацию и динамическую регистрацию. DB2 UDB поддерживает и динамическую, и статическую регистрацию. DB2 UDB содержит два переключателя: * db2xa_switch для динамической регистрации * db2xa_switch_static для статической регистрации * Передача транзакций DB2 UDB не поддерживает передачу транзакций от одного управляющего потока другому. Использование и положение переключателя XA Как требуется для интерфейса XA, менеджер баз данных содержит внешние переменные C db2xa_switch и db2xa_switch_static типа xa_switch_t для возврата структуры переключателя XA в TM. Кроме адресов различных функций XA, возвращаются следующие поля: Поле Значение name Имя продукта менеджера баз данных. Например, DB2 UDB for AIX. flags Для db2xa_switch задано TMREGISTER | TMNOMIGRATE Явно устанавливает, что DB2 UDB использует динамическую регистрацию и что менеджер транзакций не должен использовать передачу связей. Неявно устанавливает, что асинхронная работа не поддерживается. Для db2xa_switch_static задано TMNOMIGRATE Явно устанавливает, что DB2 UDB использует динамическую регистрацию и что менеджер транзакций не должен использовать передачу связей. Неявно устанавливает, что асинхронная работа не поддерживается. version Должна равняться нулю. Использование переключателя XA в DB2 Universal Database Архитектура XA требует, чтобы менеджер ресурсов задал переключатель, который бы предоставил менеджеру транзакций XA доступ к программам xa_ менеджера ресурсов. В переключателе менеджера ресурсов используется структура под названием xa_switch_t. Этот переключатель содержит имя менеджера ресурсов, непустые указатели на точки входа XA менеджера ресурсов, флаг и номер версии. Системы на основе Linux и UNIX Переключатель для DB2 Universal Database (UDB) можно получить одним из двух способов: * Через дополнительный уровень косвенной ссылки. В программе на языке C это можно выполнить, определив макрокоманду: #define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch) до использования db2xa_switch или db2xa_switch_static. * Вызвав db2xacic или db2xacicst DB2 UDB содержит эти API, которые возвращают адрес структуры db2xa_switch или db2xa_switch_static. Прототип этой функции: struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( ) При использовании любого из этих методов нужно связать свою программу с библиотекой libdb2. Windows NT Указатель на структуру xa_switch, db2xa_switch или db2xa_switch_static экспортируется как данные DLL. Это означает, что прикладная программа Windows NT, использующая такую структуру, должна ссылаться на нее одним из трех способов: * Через дополнительный уровень косвенной ссылки. В программе на языке C это можно выполнить, определив макрокоманду: #define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch) до использования db2xa_switch или db2xa_switch_static. * Если используется компилятор Microsoft Visual C++, db2xa_switch или db2xa_switch_static можно определить как: extern __declspec(dllimport) struct xa_switch_t db2xa_switch extern __declspec(dllimport) struct xa_switch_t db2xa_switch_static * Вызвав db2xacic или db2xacicst DB2 UDB содержит этот API, который возвращает адрес структуры db2xa_switch или db2xa_switch_static. Прототип этой функции: struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( ) При использовании любого из этих методов нужно связать свою программу с библиотекой db2api.lib. Пример кода на языке C Приведенный ниже код программы иллюстрирует различные способы обращения к db2xa_switch или db2xa_switch_static через программу C на любой платформе DB2 UDB. Не забудьте связать свою программу с соответствующей библиотекой. #include #include struct xa_switch_t * SQL_API_FN db2xacic( ); #ifdef DECLSPEC_DEFN extern __declspec(dllimport) struct xa_switch_t db2xa_switch; #else #define db2xa_switch (*db2xa_switch) extern struct xa_switch_t db2xa_switch; #endif main( ) { struct xa_switch_t *foo; printf ( "%s \n", db2xa_switch.name ); foo = db2xacic(); printf ( "%s \n", foo->name ); return ; } Измененные значения TPM и tp_mon_name для строковых форматов xa_open Столбец Внутренние параметры следующей таблицы был изменен, чтобы он отражал значения потока управления (thread of control - TOC). TOC - это объект, с которым связываются все соединения XA DB2 UDB: * Если задано значение T, все соединения XA DB2 UDB, сформированные под конкретным потоком операционной системы, уникальны для данного потока. Несколько потоков не могут совместно использовать соединения DB2 UDB. Каждый поток операционной системы должен сформировать свой собственный набор соединений XA DB2 UDB. * Если задано значение P, все соединения XA DB2 UDB уникальны в процессе операционной системы, и все соединения XA могут совместно использоваться потоками операционной системы. Табл. 15. Допустимые значения для параметров TPM и tp_mon_name +-----------------+----------------+----------------------------------+ | Значение TPM | Монитор | Внутренние параметры | | | транзакций | | +-----------------+----------------+----------------------------------+ | CICS | IBM TxSeries | AXLIB=libEncServer (для Windows) | | | CICS | =/usr/lpp/encina/lib/libEncServ | | | | er | | | | (для систем Linux и UNIX) | | | | HOLD_CURSOR=T | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | ENCINA | Монитор IBM | AXLIB=libEncServer (для Windows) | | | TxSeries | =/usr/lpp/encina/lib/libEncServ | | | Encina | er | | | | (для систем Linux и UNIX) | | | | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | MQ | IBM MQSeries | AXLIB=mqmax | | | | (для Windows) | | | | =/usr/mqm/lib/libmqmax_r.a | | | | (для потоковых программ AIX) | | | | =/usr/mqm/lib/libmqmax.a | | | | (для непотоковых программ AIX) | | | | =/opt/mqm/lib/libmqmax.so | | | | (для Solaris) | | | | =/opt/mqm/lib/libmqmax_r.sl | | | | (для потоковых программ HP) | | | | =/opt/mqm/lib/libmqmax.sl | | | | (для непотоковых программ HP) | | | | =/opt/mqm/lib/libmqmax_r.so | | | | (для потоковых программ Linux) | | | | =/opt/mqm/lib/libmqmax.so | | | | (для непотоковых программ Linux) | | | | HOLD_CURSOR=F | | | | CHAIN_END=F | | | | SUSPEND_CURSOR=F | | | | TOC=P | +-----------------+----------------+----------------------------------+ | CB | IBM Component | AXLIB=somtrx1i (для Windows) | | | Broker | =libsomtrx1 | | | | (для систем Linux и UNIX) | | | | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | SF | IBM San | AXLIB=ibmsfDB2 | | | Francisco | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | TUXEDO | BEA Tuxedo | AXLIB=libtux | | | | HOLD_CURSOR=F | | | | CHAIN_END=F | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | MTS | Microsoft | Конфигурировать DB2 UDB для MTS | | | Transaction | необязательно. MTS определяется | | | Server | автоматически драйвером ODBC DB2 | | | | UDB. | +-----------------+----------------+----------------------------------+ | JTA | Java | Конфигурировать DB2 UDB для | | | Transaction | серверов Enterprise Java Servers | | | API | (EJS), например, для сервера IBM | | | | WebSphere, необязательно. | | | | Драйвер JDBC DB2 UDB определяет | | | | эту среду автоматически. Поэтому | | | | значение TPM игнорируется. | +-----------------+----------------+----------------------------------+ Активация таблиц преобразования для кодовых страниц 923 и 924 Приведенная ниже таблица содержит список всех файлов таблиц преобразования кодовых страниц, связанных с кодовыми страницами 923 и 924. Имена этих файлов имеют вид XXXXYYYY.cnv или ibmZZZZZ.ucs, где XXXXX - номер исходной кодовой страницы, а YYYY - номер целевой кодовой страницы. Файл с именем ibmZZZZZ.ucs содержит таблицы для преобразования кодовой страницы ZZZZZ в Unicode и наоборот. Порядок действий Для того чтобы активировать таблицу преобразования кодовой страницы, переименуйте или скопируйте соответствующий файл таблицы преобразования, присвоив ему новое имя, указанное во втором столбце. Например, для того чтобы при работе клиента 8859-1/15 (Latin 1/9) с базой данных Windows 1252 поддерживался символ евро, переименуйте или скопируйте следующие файлы таблиц преобразования из каталога sqllib/conv/: * 09231252.cnv в 08191252.cnv * 12520923.cnv в 12520819.cnv * ibm00923.ucs в ibm00819.ucs Табл. 16. Файлы таблиц преобразования для кодовых страниц 923 и 924 +----------------------------------+----------------------------------+ | Файлы таблиц преобразования 923 | Новое имя | | и 924 в каталоге sqllib/conv/ | | +----------------------------------+----------------------------------+ | 04370923.cnv | 04370819.cnv | +----------------------------------+----------------------------------+ | 08500923.cnv | 08500819.cnv | +----------------------------------+----------------------------------+ | 08600923.cnv | 08600819.cnv | +----------------------------------+----------------------------------+ | 08630923.cnv | 08630819.cnv | +----------------------------------+----------------------------------+ | 09230437.cnv | 08190437.cnv | +----------------------------------+----------------------------------+ | 09230850.cnv | 08190850.cnv | +----------------------------------+----------------------------------+ | 09230860.cnv | 08190860.cnv | +----------------------------------+----------------------------------+ | 09231043.cnv | 08191043.cnv | +----------------------------------+----------------------------------+ | 09231051.cnv | 08191051.cnv | +----------------------------------+----------------------------------+ | 09231114.cnv | 08191114.cnv | +----------------------------------+----------------------------------+ | 09231252.cnv | 08191252.cnv | +----------------------------------+----------------------------------+ | 09231275.cnv | 08191275.cnv | +----------------------------------+----------------------------------+ | 09241252.cnv | 10471252.cnv | +----------------------------------+----------------------------------+ | 10430923.cnv | 10430819.cnv | +----------------------------------+----------------------------------+ | 10510923.cnv | 10510819.cnv | +----------------------------------+----------------------------------+ | 11140923.cnv | 11140819.cnv | +----------------------------------+----------------------------------+ | 12520923.cnv | 12520819.cnv | +----------------------------------+----------------------------------+ | 12750923.cnv | 12750819.cnv | +----------------------------------+----------------------------------+ | ibm00923.ucs | ibm00819.ucs | +----------------------------------+----------------------------------+ Файл таблиц преобразования для кодовых страниц с поддержкой символа евро Ниже приведен список таблиц преобразования, поддерживающих символ денежной единицы евро. Если вы хотите отключить поддержку символа евро, загрузите файл таблицы преобразования, указанный в столбце под названием "Файлы таблиц преобразования". Арабский +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1046, 9238 | 08641046.cnv, | | | | 10460864.cnv, | | | | IBM00864.ucs | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1256, 5352 | 08641256.cnv, | | | | 12560864.cnv, | | | | IBM00864.ucs | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1200, 1208, 13488, | IBM00864.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 864, 17248 | 10460864.cnv, | | | | 08641046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1089 | 10461089.cnv, | | | | 10891046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1256, 5352 | 10461256.cnv, | | | | 12561046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1200, 1208, 13488, | IBM01046.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1089 | 1046, 9238 | 10891046.cnv, | | | | 10461089.cnv | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 864, 17248 | 12560864.cnv, | | | | 08641256.cnv, | | | | IBM01256.ucs | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 1046, 9238 | 12561046.cnv, | | | | 10461256.cnv, | | | | IBM01256.ucs | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 1200, 1208, 13488, | IBM01256.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Балтия +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 921, 901 | 1257 | 09211257.cnv, | | | | 12570921.cnv, | | | | IBM00921.ucs | +-------------------+----------------------+--------------------------+ | 921, 901 | 1200, 1208, 13488, | IBM00921.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 921, 901 | 12570921.cnv, | | | | 09211257.cnv, | | | | IBM01257.ucs | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 922, 902 | 12570922.cnv, | | | | 09221257.cnv, | | | | IBM01257.ucs | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 1200, 1208, 13488, | IBM01257.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Беларусь +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 1131, 849 | 1251, 5347 | 11311251.cnv, | | | | 12511131.cnv | +-------------------+----------------------+--------------------------+ | 1131, 849 | 1283 | 11311283.cnv | +-------------------+----------------------+--------------------------+ Кириллица +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 855, 872 | 866, 808 | 08550866.cnv, | | | | 08660855.cnv | +-------------------+----------------------+--------------------------+ | 855, 872 | 1251, 5347 | 08551251.cnv, | | | | 12510855.cnv | +-------------------+----------------------+--------------------------+ | 866, 808 | 855, 872 | 08660855.cnv, | | | | 08550866.cnv | +-------------------+----------------------+--------------------------+ | 866, 808 | 1251, 5347 | 08661251.cnv, | | | | 12510866.cnv | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 855, 872 | 12510855.cnv, | | | | 08551251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 866, 808 | 12510866.cnv, | | | | 08661251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1124 | 12511124.cnv, | | | | 11241251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1125, 848 | 12511125.cnv, | | | | 11251251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1131, 849 | 12511131.cnv, | | | | 11311251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1200, 1208, 13488, | IBM01251.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Эстония +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 922, 902 | 1257 | 09221257.cnv, | | | | 12570922.cnv, | | | | IBM00922.ucs | +-------------------+----------------------+--------------------------+ | 922, 902 | 1200, 1208, 13488, | IBM00922.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Греческий +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 813, 4909 | 869, 9061 | 08130869.cnv, | | | | 08690813.cnv, | | | | IBM00813.ucs | +-------------------+----------------------+--------------------------+ | 813, 4909 | 1253, 5349 | 08131253.cnv, | | | | 12530813.cnv, | | | | IBM00813.ucs | +-------------------+----------------------+--------------------------+ | 813, 4909 | 1200, 1208, 13488, | IBM00813.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 869, 9061 | 813, 4909 | 08690813.cnv, | | | | 08130869.cnv | +-------------------+----------------------+--------------------------+ | 869, 9061 | 1253, 5349 | 08691253.cnv, | | | | 12530869.cnv | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 813, 4909 | 12530813.cnv, | | | | 08131253.cnv, | | | | IBM01253.ucs | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 869, 9061 | 12530869.cnv, | | | | 08691253.cnv, | | | | IBM01253.ucs | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 1200, 1208, 13488, | IBM01253.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Иврит +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 856, 9048 | 862, 867 | 08560862.cnv, | | | | 08620856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 916 | 08560916.cnv, | | | | 09160856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 1255, 5351 | 08561255.cnv, | | | | 12550856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 1200, 1208, 13488, | IBM0856.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 862, 867 | 856, 9048 | 08620856.cnv, | | | | 08560862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 916 | 08620916.cnv, | | | | 09160862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 1255, 5351 | 08621255.cnv, | | | | 12550862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 1200, 1208, 13488, | IBM00862.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 916 | 856, 9048 | 09160856.cnv, | | | | 08560916.cnv | +-------------------+----------------------+--------------------------+ | 916 | 862, 867 | 09160862.cnv, | | | | 08620916.cnv | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 856, 9048 | 12550856.cnv, | | | | 08561255.cnv, | | | | IBM01255.ucs | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 862, 867 | 12550862.cnv, | | | | 08621255.cnv, | | | | IBM01255.ucs | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 1200, 1208, 13488, | IBM01255.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Latin-1 +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 437 | 850, 858 | 04370850.cnv, | | | | 08500437.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 437 | 08500437.cnv, | | | | 04370850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 860 | 08500860.cnv, | | | | 08600850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 1114, 5210 | 08501114.cnv, | | | | 11140850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 1275 | 08501275.cnv, | | | | 12750850.cnv | +-------------------+----------------------+--------------------------+ | 860 | 850, 858 | 08600850.cnv, | | | | 08500860.cnv | +-------------------+----------------------+--------------------------+ | 1275 | 850, 858 | 12750850.cnv, | | | | 08501275.cnv | +-------------------+----------------------+--------------------------+ Latin-2 +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 852, 9044 | 1250, 5346 | 08521250.cnv, | | | | 12500852.cnv | +-------------------+----------------------+--------------------------+ | 1250, 5346 | 852, 9044 | 12500852.cnv, | | | | 08521250.cnv, | | | | IBM01250.ucs | +-------------------+----------------------+--------------------------+ | 1250, 5346 | 1200, 1208, 13488, | IBM01250.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Упрощенный китайский +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 837, 935, 1388 | 1200, 1208, 13488, | 1388ucs2.cnv | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1386 | 1200, 1208, 13488, | 1386ucs2.cnv, | | | 17584 | ucs21386.cnv | +-------------------+----------------------+--------------------------+ Традиционный китайский +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 937, 835, 1371 | 950, 1370 | 09370950.cnv, | | | | 0937ucs2.cnv | +-------------------+----------------------+--------------------------+ | 937, 835, 1371 | 1200, 1208, 13488, | 0937ucs2.cnv | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1114, 5210 | 850, 858 | 11140850.cnv, | | | | 08501114.cnv | +-------------------+----------------------+--------------------------+ Таиланд +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 874, 1161 | 1200, 1208, 13488, | IBM00874.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Турецкий +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 857, 9049 | 1254, 5350 | 08571254.cnv, | | | | 12540857.cnv | +-------------------+----------------------+--------------------------+ | 1254, 5350 | 857, 9049 | 12540857.cnv, | | | | 08571254.cnv, | | | | IBM01254.ucs | +-------------------+----------------------+--------------------------+ | 1254, 5350 | 1200, 1208, 13488, | IBM01254.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Украина +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 1124 | 1251, 5347 | 11241251.cnv, | | | | 12511124.cnv | +-------------------+----------------------+--------------------------+ | 1125, 848 | 1251, 5347 | 11251251.cnv, | | | | 12511125.cnv | +-------------------+----------------------+--------------------------+ Unicode +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 813, 4909 | IBM00813.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 862, 867 | IBM00862.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 864, 17248 | IBM00864.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 874, 1161 | IBM00874.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 921, 901 | IBM00921.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 922, 902 | IBM00922.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1046, 9238 | IBM01046.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1250, 5346 | IBM01250.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1251, 5347 | IBM01251.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1253, 5349 | IBM01253.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1254, 5350 | IBM01254.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1255, 5351 | IBM01255.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1256, 5352 | IBM01256.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1386 | ucs21386.cnv, | | 13488, 17584 | | 1386ucs2.cnv | +-------------------+----------------------+--------------------------+ Вьетнамский +-------------------+----------------------+--------------------------+ | CCSID/CPGID | CCSID/CPGID клиента | Файлы таблиц | | сервера баз | базы данных | преобразования | | данных | | | +-------------------+----------------------+--------------------------+ | 1258, 5354 | 1129, 1163 | 12581129.cnv | +-------------------+----------------------+--------------------------+ Справочник по API Разъяснение о структуре записи журнала Это исправление документации относится к Примечанию 3 для Таблицы 103. Структура записи журнала для добавления/удаления/не-изменения длинного поля в разделе Записи журнала о работе с длинными полями в теме под заголовком Записи журнала DB2 UDB. Текст Примечания 3 следует читать так: 3. Длина данных длинного поля в секторах по 512 байт (действительная длина данных указывается в первых 4 байтах дескриптора LF, который записывается в последующей записи журнала о вставке/удалении/изменении как часть форматированной записи пользовательских данных). Длина этого поля всегда положительна. Менеджер длинных полей никогда не записывает в журнал записи о вставке, удалении или изменении данных длинных полей с нулевой длиной. Параметр oBackupsize функции API db2Backup В DB2 Версии 8 параметр oBackupsize для API db2Backup относится к полным резервным копиям, а не к разностным или инкрементным резервным копиям. Параметр oBackupsize - размер образа резервной копии (Мбайт). Поддержка опции SYNCPOINT В Версии 8 игнорируется опция SYNCPOINT для API sqlesetc, sqleqryc и sqlaprep; она доступна только для обратной совместимости. Новое поле для структуры SQLEDBDESC В API sqlecrea добавлено новое поле для поддержки прямого ввода/вывода. Имя поля Unsigned char sqlfscaching Описание Кэширование файловой системы Значения 0 Кэширование файловой системы включено для текущего табличного пространства 1 Кэширование файловой системы отключено для текущего табличного пространства другой код Кэширование файловой системы включено для текущего табличного пространства Поправка о новом поле в структуре SQLB-TBSPQRY-DATA В структуру SQLB-TBSPQRY-DATA было добавлено новое поле unsigned char fsCaching. Это новое поле поддерживает прямой ввод-вывод. Хотя в документации указан 32-битный размер, правильный размер - 31-битный. Разработка прикладных программ: Построение и запуск прикладных программ Примеры динамического реконфигурирования (AIX) С DB2 Universal Database(TM) (UDB) Версии 8.2 FixPak 3 (эквивалентна Версии 8.1 Fixpak 10) поставляется новый файл примера ibm_db2_sln_upart_smt. Имя и описание этого файла приведено в следующей таблице. Табл. 17. Примеры сценариев динамического реконфигурирования +-----------------+---------------------------------------------------+ | Имя сценария | Описание файла | | примера | | +-----------------+---------------------------------------------------+ | ibm_db2_sln_upa | Этот сценарий динамического реконфигурирования | | rt_smt | оболочки Korn для AIX упрощает использование | | | возможностей DLPAR (Dynamic Logical Partitioning | | | - динамическое логическое разбиение), которые | | | поставляются с AIX Версии 5.3, работающей в | | | системах pSeries(R) на основе POWER5, например, в | | | p5 570 и p5 590. Этот сценарий аналогичен | | | сценарию динамического реконфигурирования | | | ibm_db2_sln, но оптимизирован для поддержки | | | функций POWER5(TM) и AIX V5.3, таких как | | | микроразбиение и SMT. Дополнительную информацию | | | можно найти в самом сценарии динамического | | | реконфигурирования. | +-----------------+---------------------------------------------------+ Сценарий примера ibm_db2_sln_upart_smt находится в каталоге sqllib/samples/DLPAR в DB2 UDB for AIX. Поддерживаемые программы разработки Linux Подробную информацию по установке смотрите в "установочных образах ядра Linux 2.6" в Замечаниях по выпуску DB2 UDB Версии 8.2.2 (раздел Новое в этом выпуске). В следующей таблице перечислены архитектуры Linux, поддерживаемые в DB2 уровня FixPak 9. Обновления этой информации смотрите на сайте по адресу: http://www.ibm.com/db2/linux/validate Табл. 18. Linux на Intel(R) x86 (32-битная) +-----------------------------+---------+---------+-------------------+ | Дистрибутив | Ядро | Библио- | Комментарии | | | | тека | | +-----------------------------+---------+---------+-------------------+ | Conectiva Linux Enterprise | 2.4.19 | glibc | На основе United | | Edition (CLEE) | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | LINX Rocky Secure Server | 2.4.21 | glibc | | | 2.1 | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Red Flag Advanced Server | 2.4.21- | glibc | | | 4.0 | as.2 | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | Red Flag Function Server | 2.4.20- | glibc | | | 4.0 | 8smp | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.9-e | glibc | | | 2.1 AS/ES/WS | 16 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Требуется также | | (RHEL) 4 | | .3.3 | пакет | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SCO Linux 4.0 | 2.4.19 | glibc | На основе United | | | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Pro 8.0 | 2.4.18 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | SuSE Pro 8.1 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.7 | glibc | | | Server (SLES) 7 | | 2.2.2 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19 | glibc | Проверена до | | Server (SLES) 8 | | 2.2.5 | уровня SuSE | | | | | Service Pack 2 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux 7 Server | 2.4.9 | glibc | | | | | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux 8 Server | 2.4.18- | glibc | | | | 5 | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux Enterprise | 2.4.19 | glibc | | | Server 8 | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Табл. 19. Linux на Intel(R) x86 (32-битная), дистрибутивы за исключением Enterprise (более не поддерживаются поставщиками) +-----------------------------+---------+---------+-------------------+ | Дистрибутив | Ядро | Библио- | Комментарии | | | | тека | | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.2 | 2.4.9-3 | glibc | | | | 4 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.3 | 2.4.18 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Red Hat 8.0 | 2.4.18- | glibc | | | | 14 | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | SuSE 7.3 | 2.4.10 | glibc | | | | | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ Табл. 20. Linux на s/390 и zSeries(R) (31-битная версия ядра поддерживается на s/390, 64-битная - на zSeries) +-----------------------------+---------+---------+-------------------+ | Дистрибутив | Ядро | Библио- | Комментарии | | | | тека | | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.2 | 2.4.9-3 | glibc | | | | 8 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Требуется также | | (RHEL) 4 | | .3.3 | пакет | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.7-5 | glibc | compat.rpm | | Server (SLES) 7 | 8 | 2.2.4 | содержит | | | | | libstdc++ 6.1. | | | | | Используйте JDK | | | | | 1.3.1 SR 1 для | | | | | Java(TM) | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19 | glibc | На основе United | | Server (SLES) 8 | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbo Linux Enterprise | 2.4.19 | glibc | На основе United | | Server (TLES) 8 | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Табл. 21. Linux на x86-64 +-----------------------------+---------+---------+-------------------+ | Дистрибутив | Ядро | Библио- | Комментарии | | | | тека | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Требуется также | | (RHEL) 4 | | .3.3 | пакет | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19- | glibc | | | Server (SLES) 8.0 | SMP | 2.2.5-1 | | | | | 6 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ Табл. 22. Linux на POWER(TM) (iSeries и pSeries(R)) +-----------------------------+---------+---------+-------------------+ | Дистрибутив | Ядро | Библио- | Комментарии | | | | тека | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Требуется также | | (RHEL) 4 | | .3.3 | пакет | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Enterprise Server | 2.4.19- | glibc | На основе United | | (SLES) 8 | 16 | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux Enterprise | 2.4.19- | glibc | На основе United | | Server 8 | 16 | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Табл. 23. Linux на IA64 +-----------------------------+---------+---------+-------------------+ | Дистрибутив | Ядро | Библио- | Комментарии | | | | тека | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.18- | glibc | | | 2.1 AS/ES/WS | e.12smp | | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Требуется также | | (RHEL) 4 | | .3.3 | пакет | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19- | glibc | На основе United | | Server (SLES) 8 | SMP | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Дистрибутивы DB2 UDB для Linux на основе ядра Linux 2.6 для Intel(R) x86 поддерживают следующие языки программирования и компиляторы: C GNU/Linux gcc версии 3.3 C++ GNU/Linux g++ версии 3.3 COBOL Micro Focus COBOL Server Express Версии 2.2 с пакетом Service Pack 1 Java(TM) IBM(R) Developer Kit and Runtime Environment for Linux, Java(TM) 2 Technology Edition, Версии 1.3.1 и 1.4.1 служебный выпуск 1, 32-битная версия Прим.: При установке DB2 UDB устанавливается также последняя поддерживаемая версия этого комплекта разработчика (если она еще не установлена); но она не устанавливается при обновлении предыдущей установки DB2 UDB Версии 8. При обновлении предыдущей установки DB2 UDB Версии 8 нужно вручную установить поддерживаемый комплект разработчика с компакт-диска. Perl Perl 5.004_04 или новее, DBI 0.93 или новее PHP PHP 4.3.4 или новее REXX Object REXX Interpreter for Linux Версии 2.1 32-битные экземпляры в дистрибутивах DB2 UDB для Linux на основе ядра Linux 2.6 для x86-64 поддерживают следующие языки программирования и компиляторы: C GNU/Linux gcc версии 3.3 Прим.: Для генерации 32-битных прикладных программ и подпрограмм (хранимых процедур и пользовательских функций) нужно использовать опцию компилятора "-m32". C++ GNU/Linux g++ версии 3.3 Прим.: 1. Эти версии компилятора GNU/Linux g++ не воспринимают целочисленные параметры для некоторых функций fstream. Более подробную информацию смотрите в документации по компилятору. 2. Для генерации 32-битных прикладных программ и подпрограмм (хранимых процедур и пользовательских функций) нужно использовать опцию компилятора "-m32". Java IBM(R) Developer Kit and Runtime Environment for Linux x86, Java 2 Technology Edition, Версия 1.3.1 служебный выпуск 4, 32-битная версия, и Версия 1.4.1 служебный выпуск 1, 32-битная версия. Прим.: При установке DB2 UDB устанавливается также последняя поддерживаемая версия этого комплекта разработчика (если она еще не установлена); но она не устанавливается при обновлении предыдущей установки DB2 UDB Версии 8. При обновлении предыдущей установки DB2 UDB Версии 8 нужно вручную установить поддерживаемый комплект разработчика с компакт-диска. Perl Perl 5.8 PHP PHP 4.3.4 или новее 64-битные экземпляры в дистрибутивах DB2 UDB для Linux на основе ядра Linux 2.6 для x86-64 поддерживают следующие языки программирования и компиляторы: C GNU/Linux gcc версии 3.3 C++ GNU/Linux g++ версии 3.3 Прим.: Эти версии компилятора GNU/Linux g++ не воспринимают целочисленные параметры для некоторых функций fstream. Более подробную информацию смотрите в документации по компилятору. Java В настоящее время DB2 UDB не поддерживает никакие 64-битные комплекты разработчика Java для Linux на x86-64. Perl Perl 5.8 PHP PHP 4.3.4 или новее Настройка опций прекомпиляции и связывания для процедур SQL Опции прекомпиляции и связывания для процедур SQL можно настроить, используя переменную реестра DB2 на уровне экземпляра DB2_SQLROUTINE_PREPOPTS при помощи команды: db2set DB2_SQLROUTINE_PREPOPTS=<опции> Помимо опций, описанных в документации Версии 8.2, допускается опция REOPT: BLOCKING {UNAMBIG | ALL | NO} DATETIME {DEF | USA | EUR | ISO | JIS | LOC} DEGREE {1 | степень-параллелизма | ANY} DYNAMICRULES {BIND | RUN} EXPLAIN {NO | YES | ALL} EXPLSNAP {NO | YES | ALL} FEDERATED {NO | YES} INSERT {DEF | BUF} ISOLATION {CS | RR | UR | RS | NC} QUERYOPT уровень-оптимизации REOPT {ALWAYS | NONE | ONCE} VALIDATE {RUN | BIND} Требуется опция компиляции C/C++ (Linux на 64-битном POWER) При использовании gcc/g++ для построения прикладных программ и подпрограмм C/C++ для 64-битного экземпляра в DB2 Universal Database for Linux на платформе POWER требуется опция компилятора "-m64". При использовании xlc/xlC для построения прикладных программ и подпрограмм C/C++ для 64-битного экземпляра в DB2 Universal Database for Linux на платформе POWER требуется опция компилятора "-q64". Команда компиляции и компоновки для хранимых процедур Micro Focus COBOL (HP-UX) В документации DB2 Universal Database Версии 8.2 неправильно описана команда компиляции и компоновки для хранимых процедур, использующих Micro Focus COBOL в HP-UX. В действующем сценарии sqllib/samples/cobol_mf/bldrtn приведена правильная команда компиляции. Команды компиляции и компоновки теперь объединены в одну команду, в которой опция -y задает, что требуемый выход - совместно используемая библиотека. Минимальная поддерживаемая версия Micro Focus COBOL (HP-UX) Минимальная поддерживаемая версия компилятора и времени выполнения Micro Focus COBOL в HP-UX - Micro Focus Server Express 2.2 - Service Pack 1 плюс пакет Fixpack22.02_14 for HP-UX PA-RISC 11.x (32/64bit). Этот пакет Fixpack доступен с сайта Micro Focus Support Line http://supportline.microfocus.com . Задание переменных среды для хранимых процедур Micro Focus COBOL (Windows) Для запуска внешних подпрограмм Micro Focus COBOL в Windows необходимо убедиться, что переменные среды Micro Focus COBOL заданы на постоянной основе как системные переменные. Порядок действий Чтобы задать переменные среды как системные переменные: 1. Откройте Панель управления 2. Выберите Система 3. Выберите вкладку Дополнительно 4. Нажмите кнопку Переменные среды 5. Добавьте переменные в список Системные переменные Задания переменных среды в списке Переменные среды пользователя, в командной строке или в сценарии недостаточно. Разработка прикладных программ: Интерфейс уровня вызовов (CLI) Ключевое слово конфигурации CLI/ODBC Trusted_Connection Описание ключевого слова: Позволяет выполнять соединение с текущим пользователем, прошедшим аутентификацию. Синтаксис: Trusted_Connection=Yes Прим.: Это ключевое слово не действует, если оно задано в файле db2cli.ini. Его надо указывать в строке соединения SQLDriverConnect(). Значение по умолчанию: DB2 CLI использует информацию об ID пользователя и пароле, указанную в строке соединения SQLDriverConnect(), а не о текущем пользователе. Замечания по использованию: Прикладные программы DB2 CLI, соединяющиеся с базой данных, обычно делают это при помощи функции SQLDriverConnect(). Один из входных аргументов этой функции - DriverCompletion; его значение определяет, когда будет открыто окно. Возможные значения DriverCompletion: * SQL_DRIVER_PROMPT: Диалоговое окно выводится всегда. * SQL_DRIVER_COMPLETE: Диалоговое окно выводится, только если в строке соединения недостаточно информации. * SQL_DRIVER_COMPLETE_REQUIRED: Диалоговое окно выводится, только если в строке соединения недостаточно информации. Требуется ввод только обязательной информации. Пользователю надо ввести только требуемую информацию. * SQL_DRIVER_NOPROMPT: Пользователь не должен вводить никакой информации. Выполняется попытка соединения с информацией, содержащейся в строке соединения. Если информации недостаточно, возвращается SQL_ERROR. Прим.: Дополнительные подробности о DriverCompletion можно найти в документации по SQLDriverConnect(). Для некоторых программ, например, в среде Kerberos, требуется, чтобы пользователь мог соединиться с сервером DB2 UDB без задания ID пользователя или пароля. Если прикладная программа использует в вызове SQLDriverConnect() опцию SQL_DRIVER_NO_PROMPT, выполняется попытка соединения без аутентификации пользователя. В данном случае это ключевое слово необязательно. В случае участия прикладной программы независимого производителя, если эта программа использует уровень интерактивности, отличный от SQL_DRIVER_NO_PROMPT, DB2 CLI открывает окно для ввода отсутствующей информации. Если задать для Trusted_Connection значение Yes, указав его во входной строке соединения для SQLDriverConnect() ("Trusted_Connection=Yes"), DB2 CLI будет игнорировать любые ID пользователя и пароли (в том числе пустые строки), указанные в строке соединения, а также уровень интерактивности функции соединения. DB2 CLI пытается соединиться с базой данных, используя текущий ID пользователя. Если попытка соединения не удалась, пользователь должен ввести ID пользователя и пароль. Это ключевое слово используется только в строке соединения для SQLDriverConnect(); при его задании в файле db2cli.ini оно игнорируется. Изменение диагностической таблицы для функции SQLDescribeParam (CLI) Функция SQLDescribeParam() возвращает описание маркера параметра, связанного с подготовленным оператором SQL. В диагностическую таблицу добавлено SQLSTATE HYC00. Диагностика Табл. 24. Значение SQLSTATE функции SQLDescribeParam +--------+-------------------+----------------------------------------+ |SQLSTATE| Описание | Объяснение | | | | | +--------+-------------------+----------------------------------------+ | HYC00 | Драйвер | Хранимые процедуры функций схем | | | неработоспособен | недоступны на сервере. Установите | | | | хранимые процедуры функций схем на | | | | сервере и убедитесь, что они доступны. | +--------+-------------------+----------------------------------------+ Асинхронное выполнение интерфейса уровня вызовов Интерфейс уровня вызовов DB2 (DB2 CLI) может запустить поднабор функций асинхронно. Драйвер DB2 CLI возвращает управление программе после вызова функции, но до завершения выполнения функции. При каждом вызове функция возвращает значение SQL_STILL_EXECUTING, пока ее выполнение не будет завершено, после чего она возвратит другое значение, например, SQL_SUCCESS. Асинхронное выполнение имеет смысл только в однопоточных операционных системах. Программы, запускаемые в многопоточных операционных системах, должны выполнять функции в отдельных потоках. Асинхронное выполнение возможно для функций, которые отправляют на сервер обычные требования и ожидают после этого ответа. Выполнение функций в асинхронном режиме благодаря возврату управления программе позволяет избежать ожидания. Программа после этого может выполнять другие задачи или возвратить управление операционной системе и при помощи прерывания периодически опрашивать функцию, пока не будет возвращен код возврата, отличный от SQL_STILL_EXECUTING. Поддержка асинхронного выполнения CLI включена в DB2 Universal Database (UDB), начиная с Версии 8.2 FixPak 1 (эквивалентна Версии 8.1 FixPak 8). Документацию по этой возможности смотрите в Информационном центре DB2 UDB Версии 7 на странице http://publib.boulder.ibm.com/infocenter/db2v7luw/index.jsp. Вся информация в документации для Версии 7 применима к версии 8.2 FixPak 1 (эквивалентна Версии 8.1 FixPak 8) и новее. В Информационном центре DB2 Версии 8 документации об этой возможности нет. Атрибут соединения SQL_ATTR_PING_DB SQL_ATTR_PING_DB (DB2 CLI v8.2) SQL_ATTR_PING_DB - это 32-битное целое, используемое с функцией SQLGetConnectAttr() для получения времени ответа сети для существующего соединения между клиентом DB2 UDB и сервером DB2 UDB. Время ответа сообщается в микросекундах. Если соединение было предварительно установлено, а затем отброшено базой данных, передается значение 0. Если соединение было закрыто программой, передается SQLSTATE 08003. Этот атрибут соединения может возвращать функция SQLGetConnectAttr(), но задать его этой функцией нельзя. Любая попытка задать этот атрибут приведет к SQLSTATE HYC00 (Драйвер неработоспособен). Функция SQLBindParameter (CLI) В документации по функции SQLBindParameter описание в разделе Входной параметр неправильно. Вот правильное описание: Входной параметр Значение ColumnSize 0 означает, что DB2 CLI будет использовать для типа SQL, заданного в качестве размера столбца или параметра хранимой процедуры, максимальную длину. DB2 CLI будет выполнять все необходимые преобразования, используя этот размер. Функция SQLMoreResults (CLI) В документации для функции SQLMoreResults атрибут оператора SQL_ATTR_ROW_ARRAY_SIZE назван неверно. Правильный атрибут оператора - SQL_ATTR_PARAMSET_SIZE. Раздел Использование следует читать так: Эта функция используется для возврата набора нескольких результатов последовательным методом при выполнении: * Параметризированного запроса с массивом значений входных параметров, заданных при помощи атрибута оператора SQL_ATTR_PARAMSET_SIZE и SQLBindParameter() Дополнительные атрибуты среды Кроме существующих атрибутов соединения CLI, в качестве атрибутов среды CLI поддерживаются также следующие атрибуты: * SQL_ATTR_INFO_ACCTSTR * SQL_ATTR_INFO_APPLNAME * SQL_ATTR_INFO_USERID * SQL_ATTR_INFO_WRKSTNNAME Информацию об этих атрибутах смотрите в документации по атрибутам соединения CLI в Информационном центре DB2 или в справочном руководстве CLI Guide and Reference Volume 2. Требования для динамических указателей с прокруткой Для выполнения операций изменения и удаления строк в наборах результатов динамических указателей с прокруткой в оператор UPDATE или DELETE должны входить все столбцы хотя бы одного ключа уникальности базовой таблицы. Это может быть первичный ключ или любой другой ключ уникальности. Ключевое слово конфигурации CLI/ODBC RetCatalogAsCurrServer Описание ключевого слова: Функции каталогизации возвращают для столбцов каталога вместо пустого значения значение CURRENT SERVER. Синтаксис ключевого слова db2cli.ini: RetCatalogAsCurrServer= 0 | 1 Значение по умолчанию: Если СУБД назначения возвращает для столбцов каталога пустое значение, значение CURRENT SERVER не подставляется. Замечания по использованию: Если функции каталогизации для СУБД назначения возвращают для столбцов каталога пустое значение, задание для RetCatalogAsCurrServer значения 1 приводит к тому, что СУБД возвращает не пустое значение, а значение CURRENT SERVER. * 0 = Функции каталогизации возвращают для столбцов каталога пустое значение (по умолчанию). * 1 = Функции каталогизации возвращают для столбцов каталога вместо пустого значения значение CURRENT SERVER. Например, функция каталогизации SQLTables() возвращает набор результатов с пустыми значениями в столбце TABLE_CAT. Задание для RetCatalogAsCurrServer значения 1 приведет к тому, что СУБД возвратит в столбце TABLE_CAT значение CURRENT SERVER. Прим.: Это ключевое слово поддерживается DB2 UDB для Linux, UNIX(R) и Windows(R) Версии 8.2 FixPak 3 (эквивалентна Версии 8.1 FixPak 10) и новее. Ключевое слово конфигурации CLI/ODBC ReceiveTimeout Описание ключевого слова: Задает срок ожидания ответа от сервера в секундах в установленном соединении перед прекращением попытки и генерацией ошибки истечения срока ожидания связи. Синтаксис ключевого слова db2cli.ini: ReceiveTimeout = 0 | 1 | 2 | ... | 32767 Значение по умолчанию: Время ожидания клиентом ответа от сервера в установленном соединении не ограничено. Эквивалентный атрибут соединения: SQL_ATTR_RECEIVE_TIMEOUT Замечания по использованию: Значение по умолчанию 0 указывает, что клиент ожидает ответа неограниченно долго. Срок ожидания ответа не влияет на процесс установления соединения; он поддерживается только для TCP/IP и игнорируется для всех других протоколов. Атрибут соединения SQL_ATTR_RECEIVE_TIMEOUT SQL_ATTR_RECEIVE_TIMEOUT (DB2 CLI v8) 32-битное целое число, задающее срок ожидания ответа от сервера в секундах в установленном соединении перед прекращением попытки и генерацией ошибки истечения срока ожидания связи. Значение по умолчанию 0 указывает, что клиент ожидает ответа неограниченно долго. Срок ожидания ответа не влияет на процесс установления соединения; он поддерживается только для TCP/IP и игнорируется для всех других протоколов. Поддерживаемые значения - целые числа от 0 до 32767. Ключевое слово конфигурации CLI/ODBC Reopt Описание ключевого слова: Разрешает оптимизацию или повторную оптимизацию запросов для операторов SQL, содержащих специальные регистры или маркеры параметров. Синтаксис ключевого слова db2cli.ini: Reopt = 2 | 3 | 4 Значение по умолчанию: Во время выполнения запроса его оптимизация не производится. Для специальных регистров и маркеров параметров используются выбранные компилятором оценочные значения по умолчанию. Эквивалентный атрибут оператора и соединения: SQL_ATTR_REOPT Замечания по использованию: При оптимизации для специальных регистров и маркеров параметров вместо выбранных компилятором оценочных значений по умолчанию используются значения, доступные во время выполнения запроса. Допустимые значения этого ключевого слова: * 2 = SQL_REOPT_NONE. Это значение по умолчанию. Во время выполнения запроса его оптимизация не производится. Для специальных регистров и маркеров параметров используются выбранные компилятором оценочные значения по умолчанию. Для выполнения динамических операторов SQL используется набор пакетов по умолчанию "NULLID". * 3 = SQL_REOPT_ONCE. Оптимизация запроса во время его выполнения производится однократно - при первом выполнении этого запроса. Используется набор пакетов "NULLIDR1", при связывании которого использована опция REOPT ONCE. * 4 = SQL_REOPT_ALWAYS. При каждом выполнении запроса производится его оптимизация или повторная оптимизация. Используется набор пакетов "NULLIDRA", при связывании которого использована опция REOPT ALWAYS. "NULLIDR1" и "NULLIDRA" - зарезервированные имена наборов пакетов; когда они используются, неявно применяются опции REOPT ONCE и REOPT ALWAYS, соответственно. Эти наборы пакетов нужно явно создать следующими командами: db2 bind db2clipk.bnd collection NULLIDR1 db2 bind db2clipk.bnd collection NULLIDRA Если заданы оба ключевых слова Reopt и CurrentPackageSet, приоритет имеет CurrentPackageSet. Атрибут оператора и соединения SQL_ATTR_REOPT SQL_ATTR_REOPT (DB2 CLI v8) 32-битное целое число, разрешающее оптимизацию запросов для операторов SQL, содержащих специальные регистры или маркеры параметров. При оптимизации для специальных регистров и маркеров параметров вместо выбранных компилятором оценочных значений по умолчанию используются значения, доступные во время выполнения запроса. Допустимые значения этого атрибута: * 2 = SQL_REOPT_NONE. Это значение по умолчанию. Во время выполнения запроса его оптимизация не производится. Для специальных регистров и маркеров параметров используются выбранные компилятором оценочные значения по умолчанию. Для выполнения динамических операторов SQL используется набор пакетов по умолчанию "NULLID". * 3 = SQL_REOPT_ONCE. Оптимизация запроса во время его выполнения производится однократно - при первом выполнении этого запроса. Используется набор пакетов "NULLIDR1", при связывании которого использована опция REOPT ONCE. * 4 = SQL_REOPT_ALWAYS. При каждом выполнении запроса производится его оптимизация или повторная оптимизация. Используется набор пакетов "NULLIDRA", при связывании которого использована опция REOPT ALWAYS. "NULLIDR1" и "NULLIDRA" - зарезервированные имена наборов пакетов; когда они используются, неявно применяются опции REOPT ONCE и REOPT ALWAYS, соответственно. Эти наборы пакетов нужно явно создать следующими командами: db2 bind db2clipk.bnd collection NULLIDR1 db2 bind db2clipk.bnd collection NULLIDRA Атрибуты SQL_ATTR_REOPT и SQL_ATTR_CURRENT_PACKAGE_SET нельзя использовать совместно: если один из них задан, другой недопустим. Ключевое слово конфигурации CLI/ODBC CurrentPackageSet Описание ключевого слова: После каждого соединения передает оператор SET CURRENT PACKAGESET. Синтаксис ключевого слова db2cli.ini: CurrentPackageSet = имя_схемы Значение по умолчанию: Это условие не добавлено. Эквивалентный атрибут соединения: SQL_ATTR_CURRENT_PACKAGE_SET Замечания по использованию: Эта опция передает оператор SET CURRENT PACKAGESET SQL со значением CurrentPackageSet после каждого соединения с базой данных. По умолчанию это условие не добавляется. Оператор SQL SET CURRENT PACKAGESET задает имя схемы (идентификатор собрания), используемое для выборки пакета для последующих операторов SQL. Прикладные программы CLI/ODBC передают динамические операторы SQL. С помощью этой опции можно управлять привилегиями, используемыми для выполнения этих операторов: * Выберите схему для использования при выполнении операторов SQL из прикладных программ CLI/ODBC. * Убедитесь, что у объектов в этой схеме есть необходимые привилегии, и затем выполните соответствующие операции повторного связывания. * Задайте эту схему в опции CurrentPackageSet. Теперь операторы SQL из прикладных программ CLI/ODBC будут выполняться под указанной схемой и использовать заданные в ней привилегии. Следующие имена наборов пакетов зарезервированы: "NULLID", "NULLIDR1", "NULLIDRA". Если заданы оба ключевых слова Reopt и CurrentPackageSet, приоритет имеет CurrentPackageSet. Атрибут соединения SQL_ATTR_CURRENT_PACKAGE_SET SQL_ATTR_CURRENT_PACKAGE_SET (DB2 CLI v5) Символьная строка с нулевым символом-ограничителем, задающая имя схемы (идентификатор собрания), используемое для выборки пакета для последующих операторов SQL. Если задать этот атрибут, будет передан оператор SQL SET CURRENT PACKAGESET. Если этот атрибут задан перед соединением, оператор SQL SET CURRENT PACKAGESET передается во время соединения. Прикладные программы CLI/ODBC передают динамические операторы SQL. С помощью этого атрибута соединения можно управлять привилегиями, используемыми для выполнения этих операторов: * Выберите схему для использования при выполнении операторов SQL из прикладных программ CLI/ODBC. * Убедитесь, что у объектов в этой схеме есть необходимые привилегии, и затем выполните соответствующие операции повторного связывания. Обычно нужно выполнить связывание пакетов CLI (sqllib/bnd/db2cli.lst) с опцией COLLECTION . Дополнительную информацию смотрите в описании команды BIND. * Задайте эту схему в опции CURRENTPACKAGESET. Теперь операторы SQL из прикладных программ CLI/ODBC будут выполняться под указанной схемой и использовать заданные в ней привилегии. Другой способ задания имени схемы - задание ключевого слова конфигурации CLI/ODBC CURRENTPACKAGESET. Следующие имена наборов пакетов зарезервированы: "NULLID", "NULLIDR1", "NULLIDRA". Атрибуты SQL_ATTR_REOPT и SQL_ATTR_CURRENT_PACKAGE_SET нельзя использовать совместно: если один из них задан, другой недопустим. Ключевое слово конфигурации CLI/ODBC MapBigintCDefault Описание ключевого слова: Задать тип C по умолчанию столбцов BIGINT и маркеров параметров. Синтаксис ключевого слова db2cli.ini: MapBigintCDefault = 0 | 1 | 2 Значение по умолчанию: Тип C по умолчанию для данных BIGINT - SQL_C_BIGINT. Замечания по использованию: MapBigintCDefault управляет типом C, который используется, когда для столбцов BIGINT и маркеров параметров задается SQL_C_DEFAULT. Это ключевое слово следует использовать преимущественно с прикладными программами Microsoft, такими как Microsoft Access, которые не могут обрабатывать 8-байтные целые числа. MapBigintCDefault задают так: * 0 - тип C по умолчанию SQL_C_BIGINT * 1 - тип C по умолчанию SQL_C_CHAR * 2 - тип C по умолчанию SQL_C_WCHAR Это ключевое слово влияет на поведение функций CLI, в которых мог быть задан тип C SQL_C_DEFAULT, таких как SQLBindParameter(), SQLBindCol() и SQLGetData(). Ключевое слово конфигурации CLI/ODBC DescribeOutputLevel Описание ключевого слова: Задать уровень описательной информации выходного столбца, который был затребован драйвером CLI во время запросов подготовки или описания. Синтаксис ключевого слова db2cli.ini: DescribeOutputLevel = 0 | 1 | 2 | 3 Значение по умолчанию: Требовать описательную информацию, перечисленную в уровне 2 раздела Табл. 25. Замечания по использованию: Это ключевое слово управляет количеством информации, которое требуется драйверу CLI при требовании подготовки или описания. По умолчанию, когда сервер получает требование описания, в качестве столбцов набора результатов он возвращает информацию, содержащуюся в уровне 2 раздела Табл. 25. Но прикладная программа может и не нуждаться во всей этой информации, а может нуждаться в дополнительной информации. Задание уровня, удовлетворяющего потребностям прикладной программы, в ключевом слове DescribeOutputLevel может повысить производительность, поскольку между клиентом и сервером будет передаваться только тот минимум описательных данных, который требуется для прикладной программы. Слишком низкое значение параметра DescribeOutputLevel может повлиять на работоспособность прикладной программы (в зависимости от требований прикладной программы). В этой ситуации может оказаться, что функции CLI, использованные для получения описательной информации, не вернули ошибку, но возвращенная информация неполна. Поддерживаемые значения DescribeOutputLevel: * 0 - никакая описательная информация программе клиента не возвращается * 1 - программе клиента возвращается описательная информация, соответствующая уровню 1 (смотрите раздел Табл. 25) * 2 - (по умолчанию) программе клиента возвращается описательная информация, соответствующая уровню 2 (смотрите раздел Табл. 25) * 3 - программе клиента возвращается описательная информация, соответствующая уровню 3 (смотрите раздел Табл. 25) В приведенной ниже таблице перечислены поля описательной информации, возвращаемой сервером в ответ на требование подготовки или описания. Эти поля объединены в уровни; управляет уровнем описательной информации, возвращаемой по требованию драйвера CLI, ключевое слово конфигурации DescribeOutputLevel CLI/ODBC. Прим.: Не все уровни описательной информации поддерживаются всеми серверами DB2. Серверы DB2, которые поддерживают все уровни описательной информации: DB2 Universal Database (UDB) for Linux, UNIX и Windows Версии 8 и новее, DB2 UDB for z/OS Версии 8 и новее и DB2 UDB for iSeries Версии 5 Выпуск 3 и новее. Все остальные серверы DB2 поддерживают только значения 2 и 0 для DescribeOutputLevel. Табл. 25. Уровни описательной информации +-----------------------+----------------------+----------------------+ | Уровень 1 | Уровень 2 | Уровень 3 | +-----------------------+----------------------+----------------------+ | SQL_DESC_COUNT | все поля уровня 1 и: | все поля уровней 1 | | SQL_COLUMN_COUNT | SQL_DESC_NAME | и 2 и: | | SQL_DESC_TYPE | SQL_DESC_LABEL | SQL_DESC_BASE_COLUMN | | SQL_DESC_CONCISE_TYPE | SQL_COLUMN_NAME | _NAME | | SQL_COLUMN_LENGTH | SQL_DESC_UNNAMED | SQL_DESC_UPDATABLE | | SQL_DESC_OCTET_LENGTH | SQL_DESC_TYPE_NAME | SQL_DESC_AUTO_UNIQUE | | SQL_DESC_LENGTH | SQL_DESC_DISTINCT_TY | _VALUE | | SQL_DESC_PRECISION | PE | SQL_DESC_SCHEMA_NAME | | SQL_COLUMN_PRECISION | SQL_DESC_REFERENCE_T | SQL_DESC_CATALOG_NAM | | SQL_DESC_SCALE | YPE | E | | SQL_COLUMN_SCALE | SQL_DESC_STRUCTURED_ | SQL_DESC_TABLE_NAME | | SQL_DESC_DISPLAY_SIZE | TYPE | SQL_DESC_BASE_TABLE_ | | SQL_DESC_NULLABLE | SQL_DESC_USER_TYPE | NAME | | SQL_COLUMN_NULLABLE | SQL_DESC_LOCAL_TYPE_ | | | SQL_DESC_UNSIGNED | NAME | | | SQL_DESC_SEARCHABLE | SQL_DESC_USER_DEFINE | | | SQL_DESC_LITERAL_SUFF | D_ | | | IX | TYPE_CODE | | | SQL_DESC_LITERAL_PREF | | | | IX | | | | SQL_DESC_CASE_SENSITI | | | | VE | | | | SQL_DESC_FIXED_PREC_S | | | | CALE | | | +-----------------------+----------------------+----------------------+ Разработка прикладных программ: Разработка прикладных программ клиента Соединения типа 4 универсального драйвера JDBC DB2 с DB2 для VM/VSE не поддерживаются Универсальный драйвер JDBC DB2 не поддерживает соединения типа 4 с базами данных DB2 для VM/VSE. В разделах руководства Руководство по разработке прикладных программ: Программирование клиентских прикладных программ (Application Development Guide: Programming Client Applications) и информационного центра DB2 UDB "Настройка среды Java в Windows" (Setting up the Windows Java environment) и "Установка универсального драйвера JDBC DB2" (Installing the DB2 Universal JDBC Driver) ошибочно указано, что универсальный драйвер JDBC DB2 поддерживает соединения типа 4 с базами данных DB2 для VM/VSE. Концентратор соединений и балансировка рабочей нагрузки Sysplex универсального драйвера JDBC DB2 Программы Java, использующие для обращения к серверам DB2 UDB for z/OS(R) Соединения универсального драйвера JDBC DB2 типа 4, могут использовать преимущества функций концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2. Эти функции аналогичны функциям концентратора соединений и балансировки рабочей нагрузки Sysplex для DB2 Connect. Концентратор соединений универсального драйвера JDBC DB2 может снизить требования к ресурсам серверов баз данных DB2 UDB for z/OS(R) для поддержки большого числа клиентских прикладных программ благодаря использованию для объектов соединений одного и того же физического соединения, что позволяет уменьшить общее число физических соединений с сервером баз данных. Балансировка рабочей нагрузки Sysplex универсального драйвера JDBC DB2 может повысить доступность группы совместного использования данных, поскольку этот драйвер позволяет часто получает информацию о состоянии элементов в группе совместно используемых данных. Драйвер использует эту информацию для определения элемента совместно используемых данных, в который следует маршрутизировать следующую транзакцию. При помощи балансировки рабочей загрузки Sysplex сервер DB2 UDB for z/OS и WLM for z/OS (Workload Manager - менеджер рабочей нагрузки) гарантируют эффективное распределение работы по элементам группы совместно используемых данных, а при сбое одного из элементов - передачу работы другому элементу группы. Универсальный драйвер JDBC DB2 использует для поддержки концентратора соединений и балансировки рабочей нагрузки Sysplex транспортные объекты и глобальный пул транспортных объектов. Для каждого соединения с сервером баз данных существует один транспортный объект. При включении поддержки концентратора соединений и балансировки рабочей нагрузки Sysplex надо задать максимальное число физических соединений с сервером баз данных, существующих одновременно, задав для этого максимальное число транспортных объектов. На уровне драйвера нужно указать предельное число транспортных объектов в свойствах конфигурации универсального драйвера JDBC DB2. На уровне соединений можно включить или отключить поддержку концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2 и задать предельное число транспортных объектов при помощи свойств DataSource. Глобальный пул транспортных объектов можно отслеживать одним из следующих способов: * При помощи трассировки, задаваемой свойствами конфигурации универсального драйвера JDBC DB2 * При помощи интерфейса прикладного программирования Свойства конфигурации универсального драйвера JDBC DB2 для концентратора соединений и балансировки рабочей нагрузки Sysplex Каждое из следующих свойств конфигурации используется для концентратора соединений и балансировки рабочей нагрузки Sysplex db2.jcc.dumpPool Задает типы статистических показателей, записываемых для событий глобального транспортного пула наряду с записываемой сводной статистикой. Глобальный транспортный пул используется для концентратора соединений и балансировки рабочей нагрузки Sysplex. В свойстве db2.jcc.dumpPool используется тип данных integer (int.). Перед записью каких-либо показателей статистики нужно также задать свойства конфигурации для записи статистики db2.jcc.dumpPoolStatisticsOnSchedule и db2.jcc.dumpPoolStatisticsOnScheduleFile. При помощи свойства db2.jcc.dumpPool можно задать один или несколько типов статистических показателей: * DUMP_REMOVE_OBJECT (шестнадцатеричное: X'01', десятичное: 1) * DUMP_GET_OBJECT (шестнадцатеричное: X'02', десятичное: 2) * DUMP_WAIT_OBJECT (шестнадцатеричное: X'04', десятичное: 4) * DUMP_SET_AVAILABLE_OBJECT (шестнадцатеричное: X'08', десятичное: 8) * DUMP_CREATE_OBJECT (шестнадцатеричное: X'10', десятичное: 16) * DUMP_SYSPLEX_MSG (шестнадцатеричное: X'20', десятичное: 32) * DUMP_POOL_ERROR (шестнадцатеричное: X'80', десятичное: 128) Для трассировки нескольких типов событий сложите значения типов событий, которые нужно трассировать. Например, вы хотите трассировать события DUMP_GET_OBJECT и DUMP_CREATE_OBJECT. Числовые эквиваленты этих значений - 2 и 16, поэтому для db2.jcc.dumpPool нужно задать значение 18. Значение по умолчанию 0 означает, что для глобального транспортного пула будет записываться только сводная статистика. db2.jcc.dumpPoolStatisticsOnSchedule Задает частоту (в секундах) записи статистических показателей глобального транспортного пула в файл, указанный в свойстве конфигурации db2.jcc.dumpPoolStatisticsOnScheduleFile. Глобальный транспортный пул используется для концентратора соединений и балансировки рабочей нагрузки Sysplex. Значение по умолчанию (-1) означает, что статистические показатели глобального транспортного пула записываться не будут. db2.jcc.dumpPoolStatisticsOnScheduleFile Задает имя файла, в который записываются статистические показатели глобального транспортного пула. Глобальный транспортный пул используется для концентратора соединений и балансировки рабочей нагрузки Sysplex. Если свойство конфигурации db2.jcc.dumpPoolStatisticsOnScheduleFile не задано, статистические показатели глобального транспортного пула не записываются. db2.jcc.maxTransportObjectIdleTime Задает срок в секундах, в течение которого неиспользуемый транспортный объект должен оставаться в глобальном пуле транспортных объектов перед тем, как его можно будет удалить из пула. Транспортные объекты используются для концентратора соединений и балансировки рабочей нагрузки Sysplex. По умолчанию для свойства конфигурации db2.jcc.maxTransportObjectIdleTime используется значение 60. Если для свойства db2.jcc.maxTransportObjectIdleTime задать значение меньше нуля, неиспользуемые транспортные объекты будут удаляться из пула немедленно. Это не рекомендуется, поскольку может привести к серьезному снижению производительности. db2.jcc.maxTransportObjectWaitTime Задает максимальный срок в секундах, в течение которого программа ожидает транспортный объект, если достигнуто значение db2.jcc.maxTransportObjects. Транспортные объекты используются для концентратора соединений и балансировки рабочей нагрузки Sysplex. Если программа ожидает дольше, чем задано значением db2.jcc.maxTransportObjectWaitTime, глобальный пул транспортных объектов генерирует исключительную ситуацию SQLException. По умолчанию для свойства конфигурации db2.jcc.maxTransportObjectWaitTime используется значение -1. Любое отрицательное значение означает, что программы ожидают бесконечно долго. db2.jcc.maxTransportObjects Задает верхний предел для числа транспортных объектов в глобальном пуле транспортных объектов для концентратора соединений и балансировки рабочей нагрузки Sysplex. Когда число транспортных объектов в пуле достигает значения свойства db2.jcc.maxTransportObjects, транспортные объекты, не использовавшиеся дольше значения свойства db2.jcc.maxTransportObjectIdleTime, удаляются из пула. По умолчанию для свойства конфигурации db2.jcc.maxTransportObjects используется значение -1, означающее отсутствие ограничения на число транспортных объектов в глобальном пуле транспортных объектов. db2.jcc.minTransportObjects Задает нижний предел для числа транспортных объектов в глобальном пуле транспортных объектов для концентратора соединений и балансировки рабочей нагрузки Sysplex. Когда создается JVM, в пуле нет транспортных объектов. Транспортные объекты добавляются в пул по мере требования. По достижении значения свойства db2.jcc.minTransportObjects число транспортных объектов в глобальном пуле транспортных объектов никогда не становится меньше значения свойства db2.jcc.minTransportObjects в течение срока существования данной JVM. По умолчанию для свойства конфигурации the db2.jcc.minTransportObjects используется значение 0. Любое неположительное значение означает, что глобальный пул транспортных объектов может стать пустым. Свойства DataSource универсального драйвера JDBC DB2 для концентратора соединений и балансировки рабочей нагрузки Sysplex Каждое из следующих свойств DataSource универсального драйвера JDBC DB2 используется для концентратора соединений и балансировки рабочей нагрузки Sysplex enableConnectionConcentrator Указывает, включена ли функция концентратора соединений универсального драйвера JDBC DB2. Функция концентратора соединений доступна только для соединений с серверами DB2 UDB for z/OS. В свойстве enableConnectionConcentrator используется тип данных boolean. Значение по умолчанию - false. Однако если для свойства enableSysplexWLB задано значение true, по умолчанию используется значение true. enableSysplexWLB Указывает, включена ли функция балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2. Функция функция балансировки рабочей нагрузки Sysplex только для соединений с серверами DB2 UDB for z/OS. В свойстве enableSysplexWLB используется тип данных boolean. Значение по умолчанию - false. Однако если для свойства enableSysplexWLB задано значение true, для свойства enableConnectionConcentrator по умолчанию используется значение true. maxTransportObjects Задает максимальное число транспортных объектов, которые могут использоваться для всех соединений со связанным о объектом DataSource. Транспортные объекты используются для концентратора соединений и балансировки рабочей нагрузки Sysplex. Если в свойстве enableConnectionConcentrator или enableSysplexWLB не включено использование концентратора соединений или балансировки рабочей нагрузки Sysplex, значение свойства maxTransportObjects игнорируется. В этом свойстве используется тип данных integer (int.). Если транспортный объект недоступен в глобальном пуле транспортных объектов, а значение свойства maxTransportObjects не достигнуто, пул создает новый транспортный объект. Если значение свойства maxTransportObjects достигнуто, программа ожидает в течение срока, задаваемого свойством конфигурации db2.jcc.maxTransportObjectWaitTime. Если по истечении этого срока в пуле все еще нет доступных транспортных объектов, пул генерирует исключительную ситуацию SQLException. Свойство maxTransportObjects не переопределяет свойство конфигурации db2.jcc.maxTransportObjects. Свойство maxTransportObjects не влияет на соединения от других объектов DataSource. Если значение maxTransportObjects больше значения db2.jcc.maxTransportObjects, maxTransportObjects не увеличивает значение свойства db2.jcc.maxTransportObjects. По умолчанию для свойства maxTransportObjects используется значение -1, означающее, что число транспортных объектов для DataSource ограничено только значением db2.jcc.maxTransportObjects для драйвера. Пример включения функций концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2 в WebSphere Application Server Следующая процедура - это пример включения функций концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2 в WebSphere(R) Application Server. Предварительные требования Требования для сервера: * WLM for z/OS * DB2 UDB for OS/390(R) and z/OS Версии 7 или новее Требования для клиента: * Универсальный драйвер JDBC DB2 с уровнем FixPak 10 * WebSphere(R) Application Server Версии 5.1 или новее Порядок действий Чтобы включить функции концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2 в WebSphere Application Server: 1. Проверьте, что у универсального драйвера JDBC DB2 правильный уровень, обеспечивающий поддержку функций концентратора соединений и балансировки рабочей нагрузки Sysplex; введите для этого в командной строке z/OS или в UNIX(R) System Services команду: java com.ibm.db2.jcc.DB2Jcc -version Найдите в выводе такую строку: [ibm][db2][jcc] Driver: IBM DB2 JDBC Universal Driver Architecture n n Где n должно быть 2.7 или новее. 2. Задайте свойства конфигурации универсального драйвера JDBC DB2, чтобы включить поддержку концентратора соединений или балансировки рабочей нагрузки Sysplex для всех экземпляров DataSource, созданных под этим драйвером. Задайте свойства конфигурации в файле DB2JccConfiguration.properties. a. Создайте файл DB2JccConfiguration.properties или отредактируйте существующий файл DB2JccConfiguration.properties. b. Задайте следующие свойства конфигурации: * db2.jcc.minTransportObjects * db2.jcc.maxTransportObjects * db2.jcc.maxTransportObjectWaitTime * db2.jcc.dumpPool * db2.jcc.dumpPoolStatisticsOnScheduleFile Начните с параметров, аналогичных следующим: db2.jcc.minTransportObjects=0 db2.jcc.maxTransportObjects=1500 db2.jcc.maxTransportObjectWaitTime=-1 db2.jcc.dumpPool=0 db2.jcc.dumpPoolStatisticsOnScheduleFile= /home/WAS/logs/srv1/poolstats c. Добавьте путь каталога для файла DB2JccConfiguration.properties в classpath универсального драйвера JDBC DB2 WebSphere Application Server. 3. Задайте свойства источника данных универсального драйвера JDBC DB2, чтобы включить функции концентратора соединений или балансировки рабочей нагрузки Sysplex. На консоли администратора WebSphere Application Server задайте для источника данных, используемого программой при соединении с сервером баз данных, следующие свойства: * enableSysplexWLB * enableConnectionConcentrator * maxTransportObjects Предположим, вам нужна функция концентратора соединений и функция балансировки рабочей нагрузки Sysplex. Начните с параметров, аналогичных следующим: Табл. 26. Пример параметров свойств источника данных для функций концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2 +-------------------------+-------------------------------------------+ | Свойство Значение | +-------------------------+-------------------------------------------+ | enableSysplexWLB true1 | +-------------------------+-------------------------------------------+ | maxTransportObjects 100 | +---------------------------------------------------------------------+ | Прим.: | | 1. Для свойства enableConnectionConcentrator задается по умолчанию | | значение true, поскольку для свойства enableSysplexWLB задано | | значение true. | +---------------------------------------------------------------------+ 4. Перезапустите WebSphere Application Server. Методы слежения за функциями концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2 Чтобы отслеживать функции концентратора соединений и балансировки рабочей нагрузки Sysplex универсального драйвера JDBC DB2, нужно отслеживать глобальный пул транспортных объектов. Глобальный пул транспортных объектов можно отслеживать одним из следующих способов: * При помощи трассировки, задаваемой свойствами конфигурации универсального драйвера JDBC DB2 * При помощи интерфейса прикладного программирования Свойства конфигурации для слежения за глобальным пулом транспортных объектов Свойства конфигурации db2.jcc.dumpPool, db2.jcc.dumpPoolStatisticsOnSchedule и db2.jcc.dumpPoolStatisticsOnScheduleFile управляют трассировкой глобального пула транспортных объектов. Например, при использовании следующего набора параметров свойств конфигурации сообщения об ошибках Sysplex и сообщения об ошибках пула дампа будут записываться каждые 60 секунд в файл /home/WAS/logs/srv1/poolstats: db2.jcc.dumpPool=DUMP_SYSPLEX_MSG|DUMP_POOL_ERROR db2.jcc.dumpPoolStatisticsOnSchedule=60 db2.jcc.dumpPoolStatisticsOnScheduleFile=/home/WAS/logs/srv1/poolstats Запись в файле статистики пула выглядит примерно так: time Scheduled PoolStatistics npr:2575 nsr:2575 lwroc:439 hwroc:1764 coc:372 aooc:362 rmoc:362 nbr:2872 tbt:857520 tpo:10 Смысл полей: npr Общее число требований, выданных универсальным драйвером JDBC DB2 пулу с момента создания пула. nsr Число успешных требований, выданных универсальным драйвером JDBC DB2 пулу с момента создания пула. Требование считается успешным, если пул возвратил объект. lwroc Число объектов, использованных повторно, но отсутствовавших в пуле. Такое может произойти, если объект соединения освобождает транспортный объект в конце транзакции. Если объекту соединения позднее требуется транспортный объект и если исходный транспортный объект не использовался никаким другим объектом соединения, объект соединения может использовать этот транспортный объект. hwroc Число объектов, использованных повторно из пула. coc Число объектов, созданных универсальным драйвером JDBC DB2 с момента создания пула. aooc Число объектов, которые удалены из пула после истечения времени простоя, заданного в свойстве конфигурации db2.jcc.maxTransportObjectIdleTime. rmoc Число объектов, удаленных из пула с момента его создания. nbr Число требований, выданных пулу универсальным драйвером JDBC DB2, но заблокированных пулом из-за достижения его максимальной емкости. Заблокированное требование может быть успешным, если объект возвратился в пул до того, как превышено значение конфигурации db2.jcc.maxTransportObjectWaitTime и сгенерирована исключительная ситуация. tbt Общее время в миллисекундах для заблокированных пулом требований. Это время может быть значительно больше времени выполнения программы, если программа использует несколько потоков. tpo Число объектов, находящихся в текущий момент в пуле. Интерфейсы API для слежения за глобальным пулом транспортных объектов Можно написать свои программы для сбора статистики по глобальному пулу транспортных объектов. Такие программы создают объекты в классе DB2PoolMonitor и вызывают методы для получения информации о пуле. Например, следующий код создает объект для слежения за глобальным пулом транспортных объектов: import com.ibm.db2.jcc.DB2PoolMonitor; DB2PoolMonitor transportObjectPoolMonitor = DB2PoolMonitor.getPoolMonitor (DB2PoolMonitor.TRANSPORT_OBJECT); После создания объекта DB2PoolMonitor для слежения за глобальным пулом транспортных объектов можно применить следующие методы. getMonitorVersion Формат: public int getMonitorVersion() Получает версию класса DB2PoolMonitor, поставляемого с универсальным драйвером JDBC DB2. totalRequestsToPool Формат: public int totalRequestsToPool() Получает общее число требований, выданных универсальным драйвером JDBC DB2 пулу с момента создания пула. successfullRequestsFromPool Формат: public int successfullRequestsFromPool() Получает число успешных требований, выданных универсальным драйвером JDBC DB2 пулу с момента создания пула. Требование считается успешным, если пул возвратил объект. numberOfRequestsBlocked Формат: public int numberOfRequestsBlocked() Получает число требований, выданных пулу универсальным драйвером JDBC DB2, которые пул заблокировал из-за достижения своей максимальной емкости. Заблокированное требование может быть успешным, если объект возвратился в пул до того, как превышено значение конфигурации db2.jcc.maxTransportObjectWaitTime и сгенерирована исключительная ситуация. totalTimeBlocked Формат: public long totalTimeBlocked() Получает общее время в миллисекундах для заблокированных пулом требований. Это время может быть значительно больше времени выполнения программы, если программа использует несколько потоков. lightWeightReusedObjectCount Формат: public int lightWeightReusedObjectCount() Получает число объектов, использованных повторно, но отсутствовавших в пуле. Такое может произойти, если объект соединения освобождает транспортный объект в конце транзакции. Если объекту соединения позднее требуется транспортный объект и если исходный транспортный объект не использовался никаким другим объектом соединения, объект соединения может использовать этот транспортный объект. heavyWeightReusedObjectCount Формат: public int heavyWeightReusedObjectCount() Получает число объектов, использованных повторно из пула. createdObjectCount Формат: public int createdObjectCount() Получает число объектов, созданных универсальным драйвером JDBC DB2 с момента создания пула. agedOutObjectCount Формат: public int agedOutObjectCount() Получает число объектов, удаленных из пула после превышения времени простоя, заданного в свойстве конфигурации db2.jcc.maxTransportObjectIdleTime. removedObjectCount Формат: public int removedObjectCount() Получает число объектов, удаленных из пула с момента его создания. totalPoolObjects Формат: public int totalPoolObjects() Число объектов, находящихся в текущий момент в пуле. Ключевое слово конфигурации CLI/ODBC OleDbReportIsLongForLongTypes Ключевое слово OleDbReportIsLongForLongTypes поддерживается следующими серверами баз данных: * DB2 UDB for z/OS Версии 6 с исправлением PTF UQ93891 * DB2 UDB for z/OS Версии 7 с исправлением PTF UQ93889 * DB2 UDB for z/OS Версии 8 с исправлением PTF UQ93890 * DB2 UDB для Linux, UNIX и Windows Версии 8.2 (эквивалентна Версии 8.1 FixPak 7) и новее Описание ключевого слова: Принуждает OLE DB устанавливать для типов LONG флаг DBCOLUMNFLAGS_ISLONG. Синтаксис ключевого слова db2cli.ini: OleDbReportIsLongForLongTypes = 0 | 1 Эквивалентный атрибут оператора: SQL_ATTR_REPORT_ISLONG_FOR_LONGTYPES_OLEDB Значение по умолчанию: У типов LONG (LONG VARCHAR, LONG VARCHAR FOR BIT DATA, LONG VARGRAPHIC и LONG VARGRAPHIC FOR BIT DATA) не установлен флаг DBCOLUMNFLAGS_ISLONG, что может привести к тому, что такие столбцы будут использоваться с условии WHERE. Замечания по использованию: Механизм указателя клиента OLE DB и OLE DB .NET Data Provider's CommandBuilder генерируют операторы update и delete на основе информации о столбцах, которую сообщает IBM DB2 OLE DB Provider. Если сгенерированный оператор содержит тип LONG в условии WHERE, при выполнении этого оператора возникнет ошибка, так как типы LONG нельзя использовать в запросе поиска с операцией равенства. Если для ключевого слова OleDbReportIsLongForLongTypes задано значение 1, сообщая информацию о типах LONG (LONG VARCHAR, LONG VARCHAR FOR BIT DATA, LONG VARGRAPHIC и LONG VARGRAPHIC FOR BIT DATA) IBM DB2 OLE DB Provider будет устанавливать флаг DBCOLUMNFLAGS_ISLONG. Это предотвращает использование длинных столбцов в условии WHERE. Ключевое слово конфигурации CLI/ODBC OleDbSQLColumnsSortByOrdinal Ключевое слово OleDbSQLColumnsSortByOrdinal поддерживается следующими серверами баз данных: * DB2 UDB for z/OS Версии 6 с исправлением PTF UQ93891 * DB2 UDB for z/OS Версии 7 с исправлением PTF UQ93889 * DB2 UDB for z/OS Версии 8 с исправлением PTF UQ93890 * DB2 UDB для Linux, UNIX и Windows Версии 8.2 (эквивалентна Версии 8.1 FixPak 7) и новее Описание ключевого слова: Принуждает функцию OLE DB IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) возвращать набор строк, отсортированных по столбцу ORDINAL_POSITION. Синтаксис ключевого слова db2cli.ini: OleDbSQLColumnsSortByOrdinal = 0 | 1 Эквивалентный атрибут оператора: SQL_ATTR_SQLCOLUMNS_SORT_BY_ORDINAL_OLEDB Значение по умолчанию: IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) возвращает набор строк, отсортированных по столбцам TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. Замечания по использованию: Спецификация Microsoft OLE DB требует, чтобы функция IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) возвращала набор строк, отсортированных по столбцам TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. IBM DB2 OLE DB Provider ведет себя в соответствии с этой спецификацией. Однако прикладные программы, использующие провайдер Microsoft ODBC Bridge (MSDASQL) обычно написаны таким образом, что им требуется набор строк, отсортированных по столбцу ORDINAL_POSITION. Если задать для ключевого слова OleDbSQLColumnsSortByOrdinal значение 1, провайдер будет возвращать набор строк, отсортированных по столбцу ORDINAL_POSITION. Группа свойств DB2 Data Source для IBM DB2 OLE DB Provider Для IBM DB2 OLE DB Provider добавлена новая группа свойств: DB2 Data Source. Набор свойств для DB2 Data Source - DBPROPSET_DB2DATASOURCE. GUID для этого набора свойств - {0x8a80412a,0x7d94,0x4fec,{0x87,0x3e,0x6c,0xd1,0xcd,0x42,0x0d,0xcd}} DBPROPSET_DB2DATASOURCE содержит три свойства: * DB2PROP_REPORTISLONGFORLONGTYPES * DB2PROP_RETURNCHARASWCHAR * DB2PROP_SORTBYORDINAL DB2PROP_REPORTISLONGFORLONGTYPES #define DB2PROP_REPORTISLONGFORLONGTYPES 4 Группа свойств: DB2 Data Source Набор свойств: DB2PROPSET_DATASOURCE Тип: VT_BOOL Типовой R/W: R/W Описание: Устанавливает флаг IsLong для длинных типов Механизм указателя клиента OLE DB и OLE DB .NET Data Provider's CommandBuilder генерируют операторы update и delete на основе информации о столбцах, которую сообщает IBM DB2 OLE DB Provider. Если сгенерированный оператор содержит тип LONG в условии WHERE, при выполнении этого оператора возникнет ошибка, так как типы LONG нельзя использовать в запросе поиска с операцией равенства. Табл. 27. Значения DB2PROP_REPORTISLONGFORLONGTYPES +----------------+----------------------------------------------------+ | Значения | Описание | +----------------+----------------------------------------------------+ | VARIANT_TRUE | При этом значении IBM DB2 OLE DB Provider, сообщая | | | информацию о типах LONG (LONG VARCHAR, LONG | | | VARCHAR FOR BIT DATA, LONG VARGRAPHIC и LONG | | | VARGRAPHIC FOR BIT DATA), устанавливает флаг | | | DBCOLUMNFLAGS_ISLONG. Это предотвращает | | | использование длинных столбцов в условии WHERE. | +----------------+----------------------------------------------------+ | VARIANT_FALSE | Флаг DBCOLUMNFLAGS_ISLONG не устанавливается для | | | типов LONG VARCHAR, LONG VARCHAR FOR BIT DATA, | | | LONG VARGRAPHIC и LONG VARGRAPHIC FOR BIT DATA. | | | Это значение по умолчанию. | +----------------+----------------------------------------------------+ DB2PROP_RETURNCHARASWCHAR #define DB2PROP_RETURNCHARASWCHAR 2 Группа свойств: DB2 Data Source Набор свойств: DB2PROPSET_DATASOURCE Тип: VT_BOOL Типовой R/W: R/W Описание: Возвращать символы как WChar Табл. 28. Значения DB2PROP_RETURNCHARASWCHAR +----------------+----------------------------------------------------+ | Значения | Описание | +----------------+----------------------------------------------------+ | VARIANT_TRUE | OLE DB описывает столбцы типов CHAR, VARCHAR, LONG | | | VARCHAR и CLOB как DBTYPE_WSTR. Кодовой страницей | | | данных в ISequentialStream будет считаться UCS-2. | | | Это значение по умолчанию. | +----------------+----------------------------------------------------+ | VARIANT_FALSE | OLE DB описывает столбцы типов CHAR, VARCHAR, LONG | | | VARCHAR и CLOB как DBTYPE_STR. Кодовой страницей | | | данных в ISequentialStream будет считаться | | | локальная кодовая страница клиента. | +----------------+----------------------------------------------------+ DB2PROP_SORTBYORDINAL #define DB2PROP_SORTBYORDINAL 3 Группа свойств: DB2 Data Source Набор свойств: DB2PROPSET_DATASOURCE Тип: VT_BOOL Типовой R/W: R/W Описание: Сортировка по порядковому номеру. Спецификация Microsoft OLE DB требует, чтобы функция IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) возвращала набор строк, отсортированных по столбцам TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. IBM DB2 OLE DB Provider ведет себя в соответствии с этой спецификацией. Однако прикладные программы, использующие провайдер Microsoft ODBC Bridge (MSDASQL) обычно написаны таким образом, что им требуется набор строк, отсортированных по столбцу ORDINAL_POSITION. Табл. 29. Значения DB2PROP_SORTBYORDINAL +----------------+----------------------------------------------------+ | Значения | Описание | +----------------+----------------------------------------------------+ | VARIANT_TRUE | Провайдер будет возвращать набор строк, | | | отсортированных по столбцу ORDINAL_POSITION. | +----------------+----------------------------------------------------+ | VARIANT_FALSE | Провайдер будет возвращать набор строк, | | | отсортированных по столбцам TABLE_CATALOG, | | | TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. Это | | | значение по умолчанию. | +----------------+----------------------------------------------------+ Неверный синтаксис URL в синтаксической диаграмме DB2Binder В теме "Установка универсального драйвера JDBC DB2" в синтаксической диаграмме DB2Binder неверно определен синтаксис URL для универсального драйвера JDBC DB2. Правильный синтаксис этого URL для DB2Binder показан на следующей диаграмме: Синтаксис DB2Binder +----------------------------------------------------------------------+ | >>-java--com.ibm.db2.jcc.DB2Binder------------------------------> | | | | >---url jdbc:db2://сервер-+---------+-/база-данных--------------> | | '-:--порт-' | | | | >---user ID-пользователя---password пароль----------------------> | | | | >--+-------------------+--+--------------------------+----------> | | '--size целое-число-' '--collection имя-собрания-' | | | | >--+------------------------------------+--+-------+----------->< | | | .-,-----------------. | '--help-' | | | V | | | | '--tracelevel ---опция-трассировки-+-' | +----------------------------------------------------------------------+ Перенаправление клиентов универсального драйвера JDBC DB2 Возможность автоматического перенаправления клиента в DB2 Universal Database (UDB) для Linux, UNIX, и Windows позволяет клиентским прикладным программам восстанавливать работоспособность после потери связи с сервером, благодаря чему они могут продолжать работу после минимального перерыва. При каждой блокировке сервера все соединенные с ним клиенты получают ошибку связи, которая прекращает соединение и приводит к ошибке прикладной программы. Для высокой доступности следует иметь резервную поддержку установки или восстановления после отказов. (Восстановление после отказов означает способность одного сервера принимать на себя операции при отказе другого сервера.) В любом случае клиент универсального драйвера JDBC DB2 попытается восстановить соединение с первоначальным сервером, который может работать на узле восстановления при отказах, или с новым сервером. После восстановления соединения прикладная программа получит сообщение об исключительной ситуации SQL, информирующее об ошибке транзакции, но сможет продолжить работу со следующей транзакции. Ограничения * Поддержка перенаправления клиента универсального драйвера JDBC DB2 доступна только для соединений с использованием интерфейса javax.sql.DataSource. * Чтобы клиентская прикладная программа могла восстановиться после потери соединения, на сервере должно быть задано положение альтернативного сервера. Администратор базы данных задает альтернативный сервер при помощи команды UPDATE ALTERNATE SERVER FOR DATABASE. Порядок действий Когда администратор базы данных задал в экземпляре сервера положение альтернативного сервера для конкретной базы данных, положения первичного и альтернативного серверов возвращаются клиенту во время соединения. Универсальный драйвер JDBC DB2 создает экземпляр объекта DB2ClientRerouteServerList типа Referenceable и сохраняет его в своей временной памяти. При потере соединения универсальный драйвер JDBC DB2 пытается восстановить соединение, используя возвращенную с сервера информацию о серверах. Свойство DataSource clientRerouteServerListJNDIName обеспечивает дополнительную поддержку перенаправления клиента прямо на клиенте; у свойства clientRerouteServerListJNDIName две функции: * Оно позволяет сохранять информацию об альтернативном сервере на различных JVM * Оно обеспечивает информацию о положении альтернативного сервера в случае, когда первое соединение с сервером не работает Свойство clientRerouteServerListJNDIName задает ссылку JNDI на экземпляр DB2ClientRerouteServerList в репозитории JNDI с информацией об альтернативном сервере. После успешного соединения с первичным сервером полученная с него информация об альтернативном сервере перезаписывает информацию, содержавшуюся в clientRerouteServerListJNDIName. Если определено свойство clientRerouteServerListJNDIName, универсальный драйвер JDBC DB2 попытается передать обновленную информацию на склад JNDI при восстановлении после отказа. Если задано значение clientRerouteServerListJNDIName, для соединения будет использоваться информация о первичном сервере, заданная в DB2ClientRerouteServerList. Если первичный сервер не задан, будет использоваться информация serverName, заданная в источнике данных. DB2ClientRerouteServerList - это последовательная функция bean Java с четырьмя свойствами: * alternateServerName * alternatePortNumber * primaryServerName * primaryPortNumber Для доступа к этим свойствам определены методы получения и задания. Определение класса DB2ClientRerouteServerList: package com.ibm.db2.jcc; public class DB2ClientRerouteServerList implements java.io.Serializable, javax.naming.Referenceable { public String[] alternateServerName; public synchronized void setAlternateServerName(String[] alternateServer); public String[] getAlternateServerName(); public int[] alternatePortNumber; public synchronized void setAlternatePortNumber(int[] alternatePortNumberList); public int[] getAlternatePortNumber(); public synchronized void setPrimaryServerName (String primaryServerName); public String getPrimaryServerName (); public synchronized void setPrimaryPortNumber (int primaryPortNumber) public int getPrimaryPortNumber (); } Новое соединение, установленное при восстановлении после отказа, конфигурируется с исходными свойствами источника данных, за исключением имени сервера и номера порта. Кроме того, когда универсальный драйвер JDBC DB2 выполняет восстановление после отказа, восстанавливаются и все специальные регистры DB2 UDB, которые были изменены во время исходного соединения. При отказе соединения универсальный драйвер JDBC DB2 сначала пытается восстановить соединение с первичным сервером. Если это не удается, драйвер пытается соединиться с альтернативным положением (восстановление после отказа). После восстановления соединения, драйвер передает прикладной программе объект исключительной ситуации java.sql.SQLException с кодом SQLCODE -4498, указывая прикладной программе, что соединение было заново установлено с альтернативным сервером. Прикладная программа может повторить транзакцию. Как сделать DB2ClientRerouteServerList постоянным Чтобы сконфигурировать постоянное хранение DB2ClientRerouteServerList: 1. Создайте экземпляр DB2ClientRerouteServerList и свяжите его с реестром JNDI. Например: // Создать начальный контекст для задания имен InitialContext registry = new InitialContext(); // Создать объект DB2ClientRerouteServerList DB2ClientRerouteServerList address=new DB2ClientRerouteServerList(); // Задать номер порта и имя сервера для первичного сервера address.setPrimaryPortNumber(50000); address.setPrimaryServerName("mvs1.sj.ibm.com"); // Задать номер порта и имя сервера для альтернативного сервера int[] port = {50002}; String[] server = {"mvs3.sj.ibm.com"}; address.setAlternatePortNumber(port); address.setAlternateServerName(server); registry.rebind("serverList", address); 2. Задайте имя JNDI объекта DB2ClientRerouteServerList в качестве значения свойства DataSource clientRerouteServerListJNDIName. Например: datasource.setClientRerouteServerListJNDIName("serverList"); Настройка свойств конфигурации универсального драйвера JDBC DB2 Свойства конфигурации универсального драйвера JDBC DB2 позволяют задавать значения свойств, действующих на уровне драйвера. Эти параметры применяются прикладными программами и экземплярами DataSource. Эти параметры можно изменить, не изменяя исходный код прикладной программы и характеристики DataSource. Параметры свойств конфигурации универсального драйвера JDBC DB2 задаются в следующем формате: свойство=значение Если свойство конфигурации начинается с db2.jcc.override, оно применимо ко всем соединениям и переопределяет все одноименные свойства Connection и DataSource. Если свойство конфигурации начинается с db2.jcc или db2.jcc.default, оно используется только по умолчанию. Параметры свойств Connection и DataSource переопределяют это значение. Порядок действий Чтобы задать свойства конфигурации: * Задайте свойства конфигурации как системные свойства Java. Эти параметры переопределяют все остальные. Для автономных программ Java параметры конфигурации можно задать как системные свойства Java, задав -Dсвойство=значение для каждого свойства конфигурации при выполнении команды java. * Задайте свойства конфигурации в ресурсе, имя которого вы задаете в системном свойстве Java db2.jcc.propertiesFile. Например, можно задать имя абсолютного пути в качестве значения db2.jcc.propertiesFile. Для автономных программ Java параметры конфигурации можно задавать как опцию -Ddb2.jcc.propertiesFile=путь при выполнении команды java. * Задайте свойства конфигурации как ресурс с именем DB2JccConfiguration.properties. Чтобы найти DB2JccConfiguration.properties, используйте стандартный поиск ресурсов Java. Универсальный драйвер JDBC DB2 ищет этот ресурс только в том случае, если не задано системное свойство Java db2.jcc.propertiesFile. DB2JccConfiguration.properties может быть автономным файлом или входить в файл JAR. Если DB2JccConfiguration.properties - автономный файл, путь к DB2JccConfiguration.properties должен быть включен в CLASSPATH. Если DB2JccConfiguration.properties - часть файла JAR, файл JAR должен быть задан в CLASSPATH. Можно задать следующие свойства конфигурации универсального драйвера JDBC DB2. Все свойства необязательные. db2.jcc.override.traceFile Включает в универсальном драйвере JDBC DB2 трассировку кода драйвера Java и задает базовое имя файлов трассировки. Задайте полное имя файла в качестве значения свойства db2.jcc.override.traceFile. Свойство db2.jcc.override.traceFile переопределяет свойство traceFile для объекта Connection или DataSource. Например, если задать db2.jcc.override.traceFile, как показано ниже, в универсальном драйвере JDBC DB2 будет включена трассировка кода Java в файл с именем /SYSTEM/tmp/jdbctrace: db2.jcc.override.traceFile=/SYSTEM/tmp/jdbctrace Свойства трассировки следует задавать под руководством службы программной поддержки IBM. db2.jcc.sqljUncustomizedWarningOrException Задает действие универсального драйвера JDBC DB2 при запуске ненастроенной прикладной программы SQLJ. В db2.jcc.sqljUncustomizedWarningOrException могут принимать следующие значения: 0 При запуске ненастроенной прикладной программы SQLJ универсальный драйвер JDBC DB2 не генерирует ни предупреждения, ни исключительную ситуацию. Это значение по умолчанию. 1 При запуске ненастроенной прикладной программы SQLJ универсальный драйвер JDBC DB2 генерирует предупреждение. 2 При запуске ненастроенной прикладной программы SQLJ универсальный драйвер JDBC DB2 генерирует исключительную ситуацию. Удалена функция db2secFreeToken Функция db2secFreeToken (Освободить память, удерживаемую маркером) больше не входит в API модуля аутентификации пользователя db2secGssapiServerAuthFunctions_1. Требуется осторожность при внедрении пользовательских модулей защиты Целостность установки DB2 Universal Database (UDB) может быть нарушена при внедрении модулей защиты, которые неверно написаны или недостаточно проверены и протестированы. DB2 UDB предпринимает меры предосторожности против многих типичных ошибок, но не может гарантировать полного сохранения целостности при внедрении пользовательских модулей защиты. Модули защиты Если вы используете свои пользовательские модули защиты, можно использовать ID пользователя до 255 символов в операторе соединения, передаваемый через CLP или динамический оператор SQL. Интерфейсы API модулей защиты Для интерфейсов API db2secGetGroupsForUser, db2secValidatePassword и db2secGetAuthIDs входной параметр dbname может быть пустым, и соответствующий входной параметр длины dbnamelen будет равен 0. Соглашения об именах модулей защиты (Linux и UNIX) В настоящее время для библиотек написанных пользователями модулей защиты на всех платформах Linux и UNIX принято расширение .so. В AIX библиотеки модулей защиты могут иметь расширение .a или .so. Если в библиотеке существуют обе версии модулей, используется версия .a. Для HP-UX в PA-RISC библиотеки модулей защиты могут иметь расширение .sl или .so. Если в библиотеке существуют обе версии модулей, используется версия .sl. На всех остальных платформах Linux и UNIX для библиотек модулей защиты поддерживается только расширение имени файла .so. Ограничения на библиотеки модулей защиты В AIX библиотеки модулей защиты могут иметь расширение файла .a или .so. Механизм, используемый для загрузки библиотеки модулей, зависит от используемого расширения: Библиотеки модулей с расширением файла .a Библиотеки модулей с расширением файла .a считаются архивами, содержащими в качестве элементов совместно используемых объектов. Эти элементы должны называться shr.o (32-битные) или shr64.o (64-битные). Один архив может содержать и 32-битные, и 64-битные элементы, что позволяет внедрять его на платформах обоих типов. Например, для построения библиотеки модулей в стиле 32-битного архива введите: xlc_r -qmkshrobj -o shr.o MyPlugin.c -bE:MyPlugin.exp ar rv MyPlugin.a shr.o Библиотеки модулей с расширением файла .so Библиотеки модулей с расширением файла .so считаются динамически загружаемыми совместно используемыми объектами. Такой объект может быть 32-битным или 64-битным в зависимости от опций компилятора и компоновщика, используемых при его построении. Например, для построения 32-битной библиотеки модулей: xlc_r -qmkshrobj -o MyPlugin.so MyPlugin.c -bE:MyPlugin.exp На всех платформах, кроме AIX, библиотеки модулей защиты всегда считаются динамически загружаемыми совместно используемыми объектами. Поддержка подключаемых модулей GSS-API для универсального драйвера JDBC DB2 Начиная с выпуска DB2 UDB Версии 8.2 для Linux, UNIX и Windows, появилась возможность создавать собственные механизмы аутентификации в виде подключаемых модулей (загружаемых библиотек). Механизм DB2 UDB загружает подключаемые модули и использует их для аутентификации пользователей. Чтобы обеспечить поддержку пользовательских программ, написанных на Java, универсальный драйвер JDBC DB2 поддерживает подключаемые модули защиты, начиная с DB2 UDB Версии 8.2 FixPak 4. Для прикладных программ Java, использующих подключаемый модуль аутентификации при помощи универсального драйвера JDBC DB2, пользователи должны реализовать собственный подключаемый модуль, расширив абстрактный класс com.ibm.db2.jcc.DB2JCCPlugin и задав следующие свойства: * ID пользователя и пароль: учетные данные пользователя, используемые для аутентификации * Имя подключаемого модуля: задает имя подключаемого модуля на стороне сервера * Механизм защиты: надо выбрать защиту с помощью подключаемых модулей * Подключаемый модуль: задает подключаемый модуль на стороне прикладной программы клиента Обратите внимание на следующий пример: java.util.Properties properties = new java.util.Properties(); properties.put("user", "db2admin"); properties.put("password", "admindb2"); properties.put("pluginName", "gssapi_simple"); properties.put("securityMechanism", new String(""+com.ibm.db2.jcc.DB2BaseDataSource.PLUGIN_SECURITY+"")); properties.put("plugin", new JCCSimpleGSSPlugin()); Connection con = java.sql.DriverManager.getConnection(url, properties); Модули защиты GSS-API не поддерживают аутентификации с несколькими потоками При аутентификации GSS-API передаются один маркер с клиента на сервер и один маркер с сервера на клиент. Эти маркеры получаются из gss_init_sec_context() на клиенте и из gss_accept_sec_context() на сервере. Если модули GSS-API попытаются создать дополнительные потоки, возникнет непредвиденная ошибка модуля защиты и соединение не будет установлено. Модули защиты GSS-API не поддерживают шифрование и подпись сообщений Шифрование и подпись сообщений недоступны в модулях защиты GSS-API. Неявное завершение транзакций в автономной программе Независимо от операционной системы при любом завершении программы (нормальном и аварийном) неявно выполняется откат незавершенных единиц работы. Поддержка распределенных транзакций В документе Что нового для DB2 Universal Database (UDB) Версии 8.2 в разделе Усовершенствование универсального драйвера JDBC DB2 приведена неверная информация о поддержке распределенных транзакций. Последнее предложение этого раздела неверно. Вот правильный вариант: В DB2 UDB Версии 8.2 обеспечивает поддержку обработки распределенных транзакций в соответствии со спецификацией XA. Эта поддержка реализует спецификации Java 2 Platform Enterprise Edition (J2EE) Java Transaction Service (JTS) и Java Transaction API (JTA). Разработка прикладных программ: Разработка прикладных программ сервера Несколько наборов результатов процедур общего языкового модуля (CLR) Максимальное число результатов, которые могут возвращать процедуры общего языкового модуля (common language runtime, CLR), ограничено. Предельное число результатов определяется максимальным числом объектов DB2DataReader, которые DB2 .NET Data Provider может одновременно поддерживать открытыми в одном соединении. Поддержка одновременных активных процессов чтения данных позволяет открывать в соединении несколько объектов DB2DataReader. Поэтому процедура CLR может возвращать несколько наборов результатов. Режимы управления выполнением (условие EXECUTION CONTROL) подпрограмм общего языкового модуля (CLR) Администратор базы данных или разработчик прикладной программы может защитить сборочные модули, связанные с внешними подпрограммами DB2 Universal Database (UDB), от нежелательного вмешательства, ограничив действия подпрограмм во время выполнения. Подпрограммы CLR DB2 .NET поддерживают спецификацию режима управления выполнением, в которой задаются типы действий, которые разрешено выполнять подпрограмме. Во время выполнения DB2 UDB способна определить, что подпрограмма пытается выполнить действия, которые не разрешены ее режимом управления выполнением, и это может помочь при определении вмешательства в сборочный модуль. Чтобы задать режим управления выполнением подпрограммы CLR, задайте необязательное условие EXECUTION CONTROL в операторе создания подпрограммы. Допустимые режимы: * SAFE * FILEREAD * FILEWRITE * NETWORK * UNSAFE Чтобы изменить режим управления выполнением в существующей подпрограмме CLR, выполните оператор ALTER PROCEDURE или ALTER FUNCTION. Если условие EXECUTION CONTROL для подпрограммы CLR не задано, по умолчанию она выполняется в самом жестком из режимов управления выполнением - SAFE. Подпрограммы, созданные с этим режимом управления выполнением могут обращаться только к ресурсам, управляемым менеджером баз данных. В менее жестких режимах управления выполнением подпрограмме разрешается доступ к файлам в локальной файловой системе (FILEREAD или FILEWRITE) или в сети. Режим управления выполнением UNSAFE задает, что поведение подпрограммы никак не ограничивается. Подпрограммам, определенным с режимом UNSAFE, разрешено выполнять двоичный код. Эти режимы управления представляют иерархию разрешенных действий, в которой расположенный выше режим включает действия более низких уровней иерархии. Например, режим управления выполнением NETWORK разрешает подпрограмме обращаться к файлам в сети, файлам в локальной файловой системе и ресурсам под управлением менеджера баз данных. Используйте возможно более жесткий режим управления выполнением; режим UNSAFE лучше не использовать. Если DB2 UDB определит, что во время выполнения подпрограмма CLR пытается выполнить действие, не разрешенное ее режимом управления выполнением, DB2 UDB вернет ошибку (SQLSTATE 38501). Условие EXECUTION CONTROL можно задавать только для подпрограмм LANGUAGE CLR. Сфера применимости условия EXECUTION CONTROL ограничена самой подпрограммой .NET CLR и не распространяется на вызываемые ей подпрограммы. Максимальная десятичная точность и масштаб в подпрограммах общего языкового модуля (CLR) В DB2 Universal Database (UDB) тип данных DECIMAL представлен с точностью 31 цифр и масштабом 28 цифр. Для типа данных .NET CLR System.Decimal точность ограничена 29 цифрами, а масштаб - 28 цифрами. Таким образом, внешние подпрограммы CLR DB2 UDB не должны назначать переменным с типом данных System.Decimal значения больше (2^96)-1 (это наибольшее число, которое можно представить при точности 29 цифр и масштабе 28 цифр). Если происходит подобное присваивание, DB2 UDB генерирует ошибку времени выполнения (SQLSTATE 22003, SQLCODE -413). При выполнении оператора CREATE, если задан параметр типа данных DECIMAL с масштабом больше 28, DB2 UDB генерирует ошибку (SQLSTATE 42611, SQLCODE -604). Command Reference Разъяснение о параметре команды db2licm - инструмента управления лицензиями Это исправление документации относится к параметру -p команды db2licm. Ключевое слово MEASURED более недопустимо; оно игнорируется DB2. Пример команды RESTORE DATABASE для TSM В примере для TSM (пример 6) пропущены одинарные кавычки у опций TSM; этот пример следует читать так: * Задание строки с ограничителями: db2 restore db sample use TSM options "'-fromnode bar -fromowner dmcinnis'" Примеры использования db2demigdbd Ниже приведены примеры использования db2demigdbd, сгруппированные по операционным системам. Чтобы выполнить обратную перенастройку файлов системного каталога баз данных в UNIX и Linux: db2demigdbd $HOME/sqllib 1 Чтобы выполнить обратную перенастройку файлов локального системного каталога баз данных в UNIX и Linux: db2demigdbd ~/user/NODE0000 1 Чтобы выполнить обратную перенастройку системы и всех файлов локального каталога баз данных в экземпляре в UNIX и Linux: db2demigdbd $HOME/sqllib 2 Чтобы выполнить обратную перенастройку файлов системного каталога баз данных в Windows: db2demigdbd d:\sqllib\db2 1 где db2 - текущий экземпляр. Чтобы выполнить обратную перенастройку файлов локального системного каталога баз данных в Windows: db2demigdbd d:\db2\NODE0000 1 Чтобы выполнить обратную перенастройку системы и всех файлов локального каталога баз данных в экземпляре в Windows: db2demigdbd d:\sqllib\db2 2 Замечания по использованию: Если вы запустили команду db2updv8 для обновления системных каталогов до текущего уровня Версии 8 возврат к Версии 8.1 не поддерживается. Дополнительная информация: Пример использования команды в середе DPF (Database Partitioning Feature - возможность разделения данных) смотрите в техническом замечании по адресу http://www.ibm.com/support/docview.wss?rs=71&uid=swg21217949 Исправление замечания об использовании команды db2ckbkp Опция '-p' выводит число страниц для каждого типа объектов. Однако если резервная копия была сделана для данных из табличных пространств DMS, команда db2ckbkp с опцией '-p' не выводит число страниц для всех различных типов объектов. В этом случае выводится только общее число всех страниц (SQLUDMSTABLESPACEDATA). Для табличных пространств DMS выводятся нулевые значения SQLUDMSLOBDATA и SQLUDMSLONGDATA. Пример отрывка вывода команды db2ckbkp -p с резервной копией, сделанной для данных из табличных пространств DMS: SQLUDMSTABLESPACEDATA (0c): 87 SQLUDMSLOBDATA (0e): 0 SQLUDMSLONGDATA (0f): 0 Соглашения об именах для объектов баз данных и для ID Для имен объектов менеджера баз данных, например, баз данных и таблиц, применяются следующие соглашения. * Символьные строки, представляющие имена объектов менеджера баз данных, могут содержать любые из следующих символов: a-z, A-Z, 0-9, @, # и $. * Если не указано иное, можно вводить имена в нижнем регистре, однако менеджер баз данных будет обрабатывать их как набранные в верхнем регистре. Исключение из этого соглашения - символьные строки, представляющие имена в SNA (Systems Network Architecture). Многие значения регистрозависимы, например, имена логических устройств (partner_lu и local_lu). Имя должно вводиться точно так же, как оно выглядит в определениях SNA, соответствующих этим терминам. * Имя или алиас базы данных - уникальная символьная строка, содержащая от одной до восьми букв, цифр или символов из указанного выше набора. Базы данных каталогизируются в системе и в локальных каталогах баз данных с указанием их алиасов в одном поле и фактических имен в другом. Для большинства функций менеджер баз данных использует имя, введенное в поле алиаса в каталогах баз данных. Исключения - CHANGE DATABASE COMMENT и CREATE DATABASE, где надо указать путь к каталогу. * Имя или алиас таблицы или производной таблицы - идентификатор SQL, который должен быть уникальной символьной строкой длиной от 1 до 128 символов. Длина имен столбцов - от 1 до 30 символов. Полное имя таблицы имеет вид схема.имя_таблицы. Схема - это уникальный ID пользователя, под которым создана таблица. Для объявленной временной таблицы надо использовать имя схемы SESSION. * Длина локальных алиасов для удаленных узлов, каталогизируемых в каталоге узлов, не должна превышать 8 символов. * Первый символ в строке должен быть буквой или одним из символов @, # или $, но не цифрой; строка не может начинаться с последовательностей символов SYS, DBM или IBM. Для имен ID пользователей и ID аутентификации применяются следующие соглашения. * Символьные строки, представляющие имена объектов менеджера баз данных, могут содержать любые из следующих символов: a-z, A-Z, 0-9, @, # и $. * Кроме того, ID пользователей и групп могут содержать любые из следующих символов, если это поддерживается подключаемым модулем защиты: _, !, %, (, ), {, }, -, ., ^. * При вводе в командной строке ID пользователей и групп, содержащие следующие символы, надо указывать в кавычках: !, %, (, ), {, }, -, ., ^. * Первый символ в строке должен быть буквой или одним из символов @, # или $, но не цифрой; строка не может начинаться с последовательностей символов SYS, DBM или IBM. * Длина ID аутентификации не должна превышать 30 символов в 32-битные операционные системы Windows и 8 символов в других операционных системах. * Длина ID групп не должна превышать 30 символов. Команда REORGCHK Формулы статистики индекса, используемые в команде REORGCHK, были исправлены. Ниже приводятся новые формулы и объяснения к ним: * Формула F5: 100 * (KEYS * (ISIZE + LEAF_REC_OVERHEAD) + (CARD - KEYS) * DUPKEYSIZE ) / ((NLEAF - NUM EMPTY LEAFS - 1) * (INDEXPAGESIZE - 96) > MIN(50, (100 - PCTFREE)) где LEAF_REC_OVERHEAD = 9, а DUPKEYSIZE = 5. Если свободное пространство в индексе превышает 50 процентов (или превышает значение PCTFREE%, если PCTFREE больше 50), рекомендуется реорганизация. Эта формула проверяется, только если значение NLEAF - NUM EMPTY LEAFS - 1 больше нуля. (Из значения NLEAF вычитается единица, поскольку конечная выделенная страница обычно не заполнена.) * Формула F6: (100 - PCTFREE) * [ Floor((100 - min(10, PCTFREE)) / 100 * (INDEXPAGESIZE - 96) / (ISIZE + NONLEAF_REC_OVERHEAD)) ** (NLEVELS - 2)] * (INDEXPAGESIZE - 96) / (KEYS * (ISIZE + LEAF_REC_OVERHEAD) + (CARD - KEYS) * DUPKEYSIZE) < 100 где NONLEAF_REC_OVERHEAD = 12. Позволяет определить, даст ли повторное создание индекса дерево с меньшим числом уровней. Эта формула проверяет отношение между объемом пространства в дереве индекса с числом уровней на единицу меньше, чем у текущего дерева индекса, и необходимым объемом пространства. Если удается создать дерево с меньшим на единицу числом уровней и оставить при этом доступное PCTFREE, рекомендуется реорганизация. Фактическое число записей индекса должно превышать 90% (или 100 - PCTFREE) от числа записей, которые может обработать дерево индекса NLEVELS - 1 (проверяется, только если NLEVELS > 1). Прим.: Все формулы основаны на статистических показателях. Статистические показатели и результаты этих формул - всего лишь оценки. При просмотре результатов команды REORGCHK надо помнить об этом. Команда REORG INDEXES/TABLE Реорганизует индекс или таблицу. Опция REORG INDEXES ALL FOR TABLE имя-таблицы реорганизует все определенные на таблице индексы при помощи перестройки данных индексов в нефрагментированные, физически непрерывные страницы. Если задана опция CLEANUP ONLY, выполняется очистка без перестройки индексов. При попытке применить эту команду для индексов на объявленных временных таблицах будет возвращена ошибка SQLSTATE 42995. Опция REORG TABLE имя-таблицы реорганизует таблицу; она перестраивает строки, устраняя фрагментированные данные, и сжимает информацию. Реорганизация таблицы выполняется одним из двух методов: Классическая реорганизация На первой стадии реорганизации таблицы к данным разрешен только ограниченный доступ для чтения. Реорганизация на месте К данным разрешен доступ на протяжении всей реорганизации, но без гарантии оптимального упорядочивания данных. Реорганизация таблицы на месте может выполняться только для таблицы с индексами типа 2 и без расширенных индексов. При выборе любого из типов реорганизации после реорганизации таблицы выполняется обновление индексов для этой таблицы. Однако в методе реорганизации на месте индекс будет реорганизован не оптимально, и позже может потребоваться реорганизовать индексы для снижения их фрагментации и освобождения пространства объектов индекса. Пример Для классической (автономной) реорганизации REORG TABLE, подобной методу по умолчанию в DB2 Universal Database(TM) (UDB) Версии 7, введите команду: db2 reorg table employee index empid allow no access indexscan longlobdata Прим.: В DB2 UDB Версии 8 опции по умолчанию иные. Замечания по использованию В DB2 UDB есть два способа реорганизации таблицы: классический и на месте. В общем случае, классическая реорганизация таблицы выполняется быстрее, но может применяться только в том случае, если во время ее выполнения прикладные программы могут работать без доступа для записи. Если это ограничение неприемлемо в вашей среде, можно воспользоваться реорганизацией на месте, которая, хоть и занимает больше времени, но может выполняться в фоновом режиме с сохранением нормального доступа к данным. Классическая реорганизация таблицы выполняется быстрее, особенно если не требуется реорганизация больших объектов и данных типа LONG. Кроме того, после реорганизации таблицы обновляются индексы. Прикладные программы, использующие таблицу только для чтения, могут обращаться к исходной копии таблицы на всех стадиях реорганизации, кроме последней, на которой постоянная таблица заменяет теневую копию таблицы и обновляются индексы. Реорганизация таблицы на месте занимает больше времени и не обеспечивает идеального упорядочивания данных, но позволяет прикладным программам обращаться к таблицы в процессе реорганизации. Кроме того, пользователь с соответствующими правами доступа может приостановить реорганизацию таблицы на месте и возобновить ее позже, задав схему и имя таблицы. Измененные ограничения Утилита REORG не поддерживает использование псевдонимов. * Команда REORG TABLE не поддерживается для объявленных временных таблиц. * Команду REORG TABLE нельзя использовать для производных таблиц. * Реорганизация таблицы несовместима с таблицами с кластеризацией по диапазонам. * Во время реорганизации таблицы в автономном режиме нельзя запустить оперативное резервное копирование табличного пространства, в котором располагается эта таблица. * Во время динамической реорганизации таблицы SMS можно запустить оперативное резервное копирование табличного пространства, в котором располагается эта таблица. * Во время динамической реорганизации таблицы DMS можно запустить оперативное резервное копирование табличного пространства, в котором располагается эта таблица. На стадии усечения для операции реорганизации может иметь место ожидание блокировок. * В команде REORG TABLE нельзя использовать индекс, основанный на расширении индекса. Команда BACKUP DATABASE Замечания по использованию Обратите внимание на следующие ограничения: * Запуск оперативного резервного копирования табличного пространства DMS допускается, когда таблица в этом же табличном пространстве реорганизуется в оперативном режиме. На стадии усечения для операции реорганизации может иметь место ожидание блокировок. * Запуск оперативного резервного копирования табличного пространства SMS не допускается, когда таблица в этом же табличном пространстве реорганизуется в оперативном режиме. Обе операции требуют монопольной блокировки. Перенастройка баз данных Ограничения В документации Версии 8 сказано, что перенастройка базы данных не требуется, если база данных была перенастроена на уровень DB2 Версии 8 FixPak. Это не совсем точное утверждение. Перенастройка базы данных при применении пакета FixPak не требуется, если база данных на уровне Версии 8 (Версия 8.1, или 8.2, или последующий уровень Fixpak). В Версии 8.2 внесены изменения в структуру файлов каталога базы данных; программа перенастройки автоматически вносит эти изменения при обновлении из Версии 7 или Версии 8.1 в Версию 8.2. Однако при возврате с Версии 8.2 к Версии 8.1 нужно запустить db2demigdbd для восстановления структуры файлов каталога базы данных. Если это не сделать, при попытке обращения к базе данных возникнет ошибка SQL10004. db2inidb - команда инициализации зеркальной копии базы данных Не используйте команду db2 connect to база_данных, пока не выполните команду db2inidb база_данных as mirror. Попытка соединиться с базы данных отделенной зеркальной копии до ее инициализации приводит к стиранию файлов журнала, необходимых для восстановления с повтором транзакций. Соединение переводит базу данных назад в то состояние, в котором она была при приостановке этой базы данных. Если база данных помечена как согласованная в момент приостановки, DB2 Universal Database делает вывод, что восстановление после сбоя для нее не требуется и очищает журналы для будущего использования. В этом случае попытка повтора транзакций вызывает ошибку SQL4970. Замечание об использовании команды db2iupdt Начиная с Версии 8.2, при обновлении экземпляра DB2 Universal Database при помощи команды db2iupdt необходимо сначала остановить все выполняемые в этом экземпляре процессы DB2. Новый параметр команды db2sqljcustomize У команды db2sqljcustomize появился новый параметр. db2sqljcustomize - команда настройщика профиля SQLJ DB2 -storebindoptions Сохраняет значение -bindoptions и значения -staticpositioned в последовательном профиле. Если эти значения не заданы при вызове инструмента dbsqljbind, используются значения, сохраненные в последовательном профиле. При вызове редактора свойств с файлом .grp значения сохраняются в отдельных файлах .ser. Хранящиеся значения можно посмотреть при помощи инструмента db2sqljprint. Новый параметр команды sqlj У команды sqlj появился новый параметр. sqlj - команда транслятора SQLJ DB2 -db2optimize Задает, что транслятор SQLJ генерирует код для класса контекста соединения, оптимизированного для DB2 Universal Database. Эта опция оптимизирует код для пользовательского контекста, а не для контекста по умолчанию. При запуске транслятора SQLJ с этой опцией для компиляции генерируемой прикладной программы Java файл универсального драйвера JDBC DB2 db2jcc.jar должен быть задан в CLASSPATH. Изменения в команде мониторинга и устранения неисправностей (db2pd) Команда мониторинга и устранения неисправностей DB2 (db2pd) получает информацию из наборов памяти DB2 UDB. В системную команду db2pd внесены следующие усовершенствования: Новый параметр -hadr Введенный в Версии 8.2 (эквивалентной Версии 8.1 FixPak 7) параметр -hadr выводит информацию о HADR (High Availability Disaster Recovery, высокая доступность - восстановление после аварий). Описания всех элементов отчета есть в справочнике System Monitor Guide and Reference в разделе о высокой доступности и восстановлении после аварий. Новый параметр -utilities Введенный в Версии 8.2 (эквивалентной Версии 8.1 FixPak 7) параметр -utilities выводит информацию об утилитах. Описания всех элементов отчета есть в справочнике System Monitor Guide and Reference в разделе утилит. Новый параметр -activestatements Введенный в Версии 8.2.2 (эквивалентной Версии 8.1 FixPak 9) параметр -activestatements возвращает информацию об активных операторах. Возвращается следующая информация: AppHandl Хэндл прикладной программы, использующей активный оператор (включая узел и индекс). UOW-ID Идентификатор единицы работы для прикладной программы, связанной с AppHandl, в которой стал активным оператор. StmtID Идентификатор оператора в единице работы. AnchID Идентификатор для хэш-привязки динамического SQL кэша пакетов. StmtUID Уникальный идентификатор для динамического SQL кэша пакетов в хэш-привязке. EffISO Действующий уровень изоляции оператора. EffLockTOut Действующее значение срока ожидания для оператора. EffDegree Действующая степень параллелизма оператора. StartTime Время начала выполнения оператора. LastRefTime Время последнего использования оператора в прикладной программе. Новая опция wait для параметра -locks Начиная с Версии 8.2.2 (эквивалентной Версии 8.1 FixPak 9), можно задать для параметра -locks опцию wait, чтобы вернуть только информацию о блокировках в состоянии ожидания и блокировках, которых ожидают программы. Параметр -applications возвращает новые поля Начиная с Версии 8.2.2 (эквивалентной Версии 8.1 FixPak 9), параметр -applications возвращает четыре новых поля: C-AnchID Это новое поле содержит идентификатор для хэш-привязки динамического SQL кэша пакетов для текущего оператора. Если текущего оператора нет, значение этого поля равно 0. Текущий идентификатор хэш-привязки содержит ненулевое значение, только когда прикладная программа выполняет требование оператора, например, требование FETCH для указателя. Когда выполнение требования завершено, идентификатору присваивается значение 0. Для статических операторов SQL идентификатору также присваивается значение 0. C-StmtUID Это новое поле содержит уникальный идентификатор для динамического SQL кэша пакетов в хэш-привязке для текущего оператора. Если текущего оператора нет, значение этого поля равно 0. Текущий уникальный идентификатор оператора содержит ненулевое значение, только когда прикладная программа выполняет требование оператора. Когда выполнение требования завершено, идентификатору присваивается значение 0. Для статических операторов SQL идентификатору также присваивается значение 0. L-AnchID Это новое поле содержит идентификатор хэш-привязки динамического SQL кэша пакетов для последнего выполненного оператора прикладной программы. Если последнего выполненного оператора нет (например, перед выполнением динамических операторов SQL), значение этого поля равно 0. Для статических операторов SQL идентификатору также присваивается значение 0. Значение присваивается идентификатору последней хэш-привязки после завершения выполнения каждого требования; это значение сохраняется до завершения выполнения следующего требования. L-StmtUID Это новое поле содержит уникальный идентификатор для динамического SQL кэша пакетов в хэш-привязке для последнего выполненного оператора прикладной программы. Если последнего выполненного оператора нет или если последний выполнявшийся оператор был статическим оператором SQL, значение этого поля равно 0. Значение присваивается идентификатору последнего оператора после завершения выполнения текущего требования; это значение сохраняется до завершения выполнения следующего требования. Изменение в команде SET CLIENT Команда SET CLIENT задает параметры соединения для внутреннего процесса. Параметр SYNCPOINT этой команды в Версии 8 игнорируется. Параметр SYNCPOINT оставлен только для обратной совместимости. Изменение в команде PRECOMPILE Команда PRECOMPILE обрабатывает исходный файл прикладной программы, содержащий встроенные операторы SQL. Генерируется модифицированный исходный файл, содержащий вызовы языка хоста для этих операторов SQL, и, по умолчанию, в базе данных создается пакет. Параметр SYNCPOINT этой команды в Версии 8 игнорируется. Параметр SYNCPOINT оставлен только для обратной совместимости. Изменение в команде UPDATE HISTORY FILE Изменяет положение, тип устройства или комментарий в записи файла хронологии. Параметр STATUS этой команды задает новое состояние для записи. Предыдущая версия документации содержит неверное утверждение, что параметр STATUS команды может принимать значение "I", при котором запись отмечается как неактивная. Допустимые значения: A Отмечает запись как активную. E Отмечает запись как устаревшую. Изменения в командах EXPORT и IMPORT Весь подраздел "Требуемое соединение" для команд EXPORT и IMPORT должен выглядеть так: Требуемое соединение База данных. Если разрешено неявное соединение, устанавливается соединение с базой данных по умолчанию. Для доступа утилит к серверам баз данных Linux, UNIX, или Windows с клиентов Linux, UNIX, или Windows должно использоваться прямое соединение через механизм, а не соединение через шлюз DB2 Connect или обратную связь. Изменение в команде LOAD Полная информация о значении AUTOSELECT параметра INDEXING MODE должна выглядеть так: INDEXING MODE AUTOSELECT Утилита загрузки автоматически выберет режим REBUILD или INCREMENTAL. Решение принимается на основе объема загружаемых данных и глубины дерева индекса. Информация о глубине дерева индекса хранится в объекте индекса. Для получения этой информации не нужно вызывать RUNSTATS. AUTOSELECT - это режим индексации по умолчанию. Модификаторы типов файлов для утилиты загрузки Изменена команда SET INTEGRITY в описании модификатора "generatedoverride". Описание модификатора "usedefaults" также изменено. Внесены следующие изменения: Табл. 30. Допустимые модификаторы типов файлов для загрузки: Все форматы файлов +-------------------+-------------------------------------------------+ | Модификатор | Описание | +-------------------+-------------------------------------------------+ | generatedoverride | Этот модификатор указывает утилите загрузки, | | | что нужно принять заданные пользователем данные | | | для всех генерируемых столбцов таблицы (что | | | противоположно обычным правилам для таких типов | | | столбцов). Это удобно при перенастройке данных | | | из системы баз данных или при загрузке в | | | таблицу данных, восстановленных при помощи | | | команды ROLLFORWARD DATABASE с опцией RECOVER | | | DROPPED TABLE. Если используется этот | | | модификатор, все строки, не содержащие данных | | | или содержащие пустые значения (NULL) для | | | генерируемых столбцов, не допускающих пустые | | | значения, будут отвергнуты (SQL3116W). | | | Прим.: Когда используется этот модификатор, | | | таблица переводится в состояние CHECK PENDING. | | | Чтобы вывести эту таблицу из состояния CHECK | | | PENDING, не проверяя заданные пользователем | | | значения, введите после операции загрузки | | | следующую команду: | | | SET INTEGRITY FOR < имя-таблицы > GENERATED | | | COLUMN | | | IMMEDIATE UNCHECKED | | | Чтобы вывести эту таблицу из состояния CHECK | | | PENDING, запустив проверку заданных | | | пользователем значений, введите после операции | | | загрузки следующую команду: | | | SET INTEGRITY FOR < имя-таблицы > IMMEDIATE | | | CHECKED. | | | | | | Этот модификатор нельзя использовать вместе с | | | модификаторами generatedmissing или | | | generatedignore. | +-------------------+-------------------------------------------------+ | usedefaults | Если для столбца таблицы назначения задан | | | исходный столбец, но в нем нет данных для одной | | | или нескольких строк, загружаются значения по | | | умолчанию. Примеры отсутствующих данных: | | | * Для файлов DEL: значения столбца задается | | | идущими подряд разделителями столбцов (",,") | | | или двумя разделителями столбцов, между | | | которыми стоит произвольное число пробелов (", | | | ,"). | | | * Для файлов DEL/ASC/WSF: В строке заданы не | | | все столбцы или длина строки недостаточна для | | | исходной спецификации. | | | Прим.: Для файлов ASC пустые (NULL) значения | | | столбцов не считаются отсутствующими и вместо | | | них не подставляются значения по умолчанию. | | | Пустые значения столбцов NULL представляются | | | одними пробелами для числовых столбцов и | | | столбцов даты, времени и отметки времени или | | | при помощи индикатора пустого значения для | | | столбца любого типа. | | | Если этот модификатор не задан и исходный | | | столбец не содержит данных для строки, | | | выполняется одно из следующих действий: | | | * Для файлов DEL/ASC/WSF: Если столбец | | | допускает пустые значения, загружается пустое | | | значение (NULL). Если столбец не допускает | | | пустые значения, утилита отвергает эту строку. | +-------------------+-------------------------------------------------+ Модификаторы типов файлов для утилиты импорта Описание модификаторов "usedefaults" и "codepage=x" изменено следующим образом: Табл. 31. Допустимые модификаторы типов файлов для импорта: Все форматы файлов +-------------------+-------------------------------------------------+ | Модификатор | Описание | +-------------------+-------------------------------------------------+ | usedefaults | Если для столбца таблицы назначения задан | | | исходный столбец, но в нем нет данных для одной | | | или нескольких строк, загружаются значения по | | | умолчанию. Примеры отсутствующих данных: | | | * Для файлов DEL: значения столбца задается | | | идущими подряд разделителями столбцов (",,") | | | или двумя разделителями столбцов, между | | | которыми стоит произвольное число пробелов (", | | | ,"). | | | * Для файлов DEL/ASC/WSF: В строке заданы не | | | все столбцы или длина строки недостаточна для | | | исходной спецификации. | | | Прим.: Для файлов ASC пустые (NULL) значения | | | столбцов не считаются отсутствующими и вместо | | | них не подставляются значения по умолчанию. | | | Пустые значения столбцов NULL представляются | | | одними пробелами для числовых столбцов и | | | столбцов даты, времени и отметки времени или | | | при помощи индикатора пустого значения для | | | столбца любого типа. | | | Если этот модификатор не задан и исходный | | | столбец не содержит данных для строки, | | | выполняется одно из следующих действий: | | | * Для файлов DEL/ASC/WSF: Если столбец | | | допускает пустые значения, загружается пустое | | | значение (NULL). Если столбец не допускает | | | пустые значения, утилита отвергает эту строку. | +-------------------+-------------------------------------------------+ Табл. 32. Допустимые модификаторы типов файлов для импорта: Форматы файлов ASCII (ASC/DEL) +-------------------+-------------------------------------------------+ | Модификатор | Описание | +-------------------+-------------------------------------------------+ | codepage=x | x - символьная строка ASCII. Ее значение | | | интерпретируется как кодовая страница данных в | | | выходном наборе данных. При операции импорта | | | выполняется преобразование символьных данных из | | | этой кодовой страницы в кодовую страницу | | | прикладной программы. | | | Применяются следующие правила: | | | * Для данных, содержащих только символы DBCS | | | (графические), смешанные символы DBCS или | | | символы EUC, могут использоваться только | | | разделители из диапазона от x00 до x3F | | | включительно. | | | * В nullindchar должны быть заданы символы из | | | стандартного набора ASCII в диапазоне кодов от | | | x20 до x7F включительно. Эти символы считаются | | | символами и кодами ASCII. | | | | | | Прим.: | | | 1. Модификатор codepage нельзя использовать | | | вместе с модификатором lobsinfile. | | | 2. Если при преобразовании данных из кодовой | | | страницы прикладной программы в кодовую | | | страницу базы данных происходит расширение | | | данных, возможны усечение данных и их потеря. | +-------------------+-------------------------------------------------+ Команда ATTACH Параметр USER команды ATTACH задает идентификатор аутентификации. При подключении к экземпляру DB2 Universal Database в операционной системе Windows имя пользователя можно задать в формате, совместимом с Microsoft Windows NT Security Account Manager (SAM). Спецификатор должен быть именем в стиле NetBIOS, с максимальной длиной 15 символов. Например, domainname\username. Команда RECOVER DATABASE В разделе примеров документации по команде RECOVER DATABASE для Версии 8.2 приведен неверный формат отметки времени гггг:мм:дд:чч:мм:сс. Правильный формат - гггг-мм-дд-чч.мм.сс Команда UPDATE HISTORY FILE Команда UPDATE HISTORY FILE обновляет положение, тип устройства, комментарий или состояние в записи файла хронологии. Изменение в синтаксисе команды >>-UPDATE HISTORY--+-FOR--часть-объекта-+--WITH-----------------> '-EID--eid-----------' >--+-LOCATION--новое-положение--DEVICE TYPE--новый-тип-устройства-+->< +-COMMENT--новый-комментарий-----------------------------------+ '-STATUS--новое-состояние--------------------------------------' Измененные параметры команды FORчасть-объекта Задает идентификатор обновляемой записи хронологии. Это отметка времени с необязательным последовательным номером от 001 до 999. Прим.: Не может использоваться для обновления состояния записи. Для обновления состояния записи вместо этого задайте EID. STATUS новое-состояние Задает новое состояние для записи. Обновить состояние можно только для записей резервного копирования. Допустимые значения: A Активна. Большинство записей активны. I Неактивна. Неактивны записи резервного копирования, которые больше не входят в активную цепочку записей журнала. E Устарела. Флаг устаревших получают образы резервных копий, которые больше не требуются, потому что число активных образов превысило NUM_DB_BACKUPS. D Меткой D - удаленные (deleted) должны помечаться образы резервных копий, ставшие недоступными для восстановления. db2updv8 - Команда обновления базы данных до текущего уровня версии 8 Эта команда обновляет системные каталоги в базе данных для поддержки текущего уровня: * Вносит информацию о новых подпрограммах, поставляемых с текущим менеджером баз данных * Каталогизирует процедуры схемы ODBC/CLI/JDBC как доверенные процедуры, чтобы повысить производительность и масштабируемость * Исправляет две опечатки в возвращаемых параметрах табличной функции SYSPROC.SNAPSHOT_QUIESCERS: * OUIESCER_TBS_ID исправлено на QUIESCER_TBS_ID * OUIESCER_STATE исправлено на QUIESCER_STATE * Исправляет дескрипторы столбцов больших объектов, чтобы бит "logged" был согласован с таблицами каталогов * Создает производную таблицу SYSIBM.SYSREVTYPEMAPPINGS * Обновляет определения производных таблиц SYSSTAT.COLUMNS и SYSSTAT.TABLES * Делает изменяемым столбец SYSCOLDIST.DISTCOUNT * Сбрасывает флаги столбца SYSINDEXES.TBSPACEID * Исправляет длины параметров 17 табличных функций. Полный список функций смотрите в теме Column expansion for snapshot UDFs в разделе Documentation updates | SQL Administrative Routines Замечаний по выпуску Версии 8.2 * Включает следующие встроенные подпрограммы: * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * HEALTH_TBS_INFO * HEALTH_TBS_HI * HEALTH_TBS_HI_HIS * HEALTH_CONT_INFO * HEALTH_CONT_HI * HEALTH_CONT_HI_HIS * GET_WRAP_CFG_C * LIST_FILES_C * ODBC_DISCOVERY * HEALTH_HI_REC * EXEC_DB2_SCRIPT * HEALTH_HI_REC * EXEC_DB2_SCRIPT * ADMIN_LIST_HIST * GET_DBM_CONFIG * Заменяет 33 пользовательские функции снимка SYSPROC на THREADSAFE: * SNAPSHOT_DBM * SNAPSHOT_FCM * SNAPSHOT_FCMNODE * SNAPSHOT_SWITCHES * SNAPSHOT_APPL_INFO * SNAPSHOT_APPL * SNAPSHOT_STATEMENT * SNAPSHOT_LOCKWAIT * SNAPSHOT_AGENT * SNAPSHOT_SUBSECT * SNAPSHOT_DATABASE * SNAPSHOT_BP * SNAPSHOT_LOCK * SNAPSHOT_TABLE * SNAPSHOT_DYN_SQL * SNAPSHOT_TBS * SNAPSHOT_TBS_CFG * SNAPSHOT_QUIESCERS * SNAPSHOT_CONTAINER * SNAPSHOT_RANGES * SNAPSHOT_TBREORG * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * HEALTH_TBS_INFO * HEALTH_TBS_HI * HEALTH_TBS_HI_HIS * HEALTH_CONT_INFO * HEALTH_CONT_HI * HEALTH_CONT_HI_HIS * Изменяет длины параметров следующих функций: * SQLCACHE_SNAPSHOT * SNAPSHOT_APPL_INFO * SNAPSHOT_STATEMENT * SNAPSHOT_LOCKWAIT * SNAPSHOT_DATABASE * SNAPSHOT_BP * SNAPSHOT_LOCK * SNAPSHOT_TABLE * SNAPSHOT_TBREORG * SNAPSHOT_SUBSECT * SNAPSHOT_DYN_SQL * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * DB_PARTITIONS * GROUPS_FOR_USER * DB_PARTITION * Изменяет следующие функции так, что в них используется схема db2schema вместо прежней db2schem и позволяет им изменять данные SQL: * SQLTABLES * SQLTABLEPRIVILEGES * SQLSTATISTICS * SQLSPECIALCOLUMNS * SQLPROCEDURES * SQLPROCEDURECOLS * SQLPRIMARYKEYS * SQLFOREIGNKEYS * SQLCOLUMNS * SQLCOLPRIVILEGES * Изменяет следующие функции так, что в них используется схема db2schema вместо прежней db2schem: * SQLUDTS * SQLGETTYPEINFO Авторизация sysadm Требуемое соединение База данных. Эта команда автоматически устанавливает соединение с указанной базой данных. Синтаксис команды >>-db2updv8-- -d--имя-базы-данных-------------------------------> >--+-----------------------------------+--+-----+-------------->< '- -u--ID_пользователя-- -p--пароль-' '- -h-' Параметры команды -d имя-базы-данных Задает имя изменяемой базы данных. -u id-пользователя Задает ID пользователя. -p пароль Задает пароль пользователя. -h Выводит справку. Если указана эта опция, все остальные опции игнорируются и выводится только справочная информация. Пример После установки текущего уровня (пакета FixPak или новой версии) обновите системный каталог в базе данных примера, введя команду: db2updv8 -d база-данных-примера Замечания по использованию 1. Эту команду можно использовать только в базе данных, работающей в DB2 Universal Database Версии 8.1.2 или новее. Если ввести команду несколько раз, сообщений об ошибке не появляется, но все обновления каталогов применяются только один раз. 2. Чтобы включить новые встроенные функции, все прикладные программы должны отсоединиться от базы данных, а база данных, если она была активна, должна быть деактивирована. Форматирование файлов перехвата (Windows) Появился новый инструмент db2xprt.exe для форматирования файлов перехвата (*.TRP). Этот инструмент форматирует двоичные файлы перехвата DB2 Universal Database в файл в читаемом формате ASCII. Файлы перехвата по умолчанию находятся в каталоге экземпляра (DB2INSTPROF) или же в каталоге данных диагностики, если задан параметр конфигурации менеджера баз данных DIAGPATH. Авторизация У вас должно быть право доступа к каталогу DIAGPATH. Синтаксис команды >>-db2xprt--+----------+--+----+--+----+------------------------> +-/p--путь-+ '-/m-' '-/n-' '-/v-------' >--входной-файл--+---------------+----------------------------->< '-выходной-файл-' Параметры команды /p путь Через точку с запятой (;) указываются пути к положению двоичных файлов и файлов PDB. /v Выводит информацию о версии. /m Форматирует дамп памяти вместе с остатком файла перехвата. /n Форматирует данные безотносительно к информации о номерах строк. infile Задает входной файл. outfile Задает выходной файл. Перемещение данных Файлы связывания, используемые утилитами экспорта, импорта и загрузки Для утилиты импорта добавлен новый файл связывания db2uImpInsUpdate.bnd с уровнем изоляции по умолчанию Стабильность чтения (RS). Утилита импорта использует этот файл связывания, только когда задана опция INSERT_UPDATE. Для опций INSERT, REPLACE и CREATE утилита импорта по-прежнему использует файл db2uimpm.bnd. При связывании файла связывания db2uImpInsUpdate.bnd нельзя использовать опцию INSERT BUF. Если для связывания db2uImpInsUpdate.bnd использована опция INSERT BUF, при попытке выполнить операцию IMPORT INSERT_UPDATE возникнет следующая ошибка утилиты импорта: SQL3525: Опция "INSERT_UPDATE" несовместима с опцией "INSERT BUF BIND ON DB2UIMPINSUPDATE.BND". Использование импорта с буферизованными операциями вставки В книге Data Movement Utilities Guide and Reference для Версии 8.2 сказано: Буферизованные операции вставки нельзя использовать с операциями импорта, для которых задан параметр INSERT_UPDATE. A new bind file (db2uimpm2.bnd) is introduced to enforce this restriction. Поскольку добавлен новый файл связывания, это предложение должно выглядеть так: Буферизованные операции вставки нельзя использовать с операциями импорта, для которых задан параметр INSERT_UPDATE. Для применения этого ограничения добавлен новый файл связывания (db2uImpInsUpdate.bnd). При использовании утилиты импорта теряется информация индексов Утилиту импорта можно использовать для воссоздания таблицы, сохраненной утилитой экспорта. В документе Data Movement в теме "Using import to recreate an exported table" (Использование импорта для повторного создания экспортированной таблицы) указаны атрибуты исходной таблицы, которые не сохраняются. Кроме атрибутов, указанных в документации, не сохраняются также следующие атрибуты: * Информация индекса: * Включаемые столбцы (если они есть) * Имя индекса, если это индекс первичного ключа * Упорядочение по убыванию, если это индекс первичного ключа (по умолчанию используется упорядочение по возрастанию) Восстановление данных и высокая доступность Обзор резервного копирования Обратите внимание на следующие ограничения: * Запуск оперативного резервного копирования табличного пространства DMS допускается, когда таблица в этом же табличном пространстве реорганизуется в оперативном режиме. На стадии усечения для операции реорганизации может иметь место ожидание блокировок. * Запуск оперативного резервного копирования табличного пространства SMS не допускается, когда таблица в этом же табличном пространстве реорганизуется в оперативном режиме. Обе операции требуют монопольной блокировки. Использование резервного копирования Для утилиты резервного копирования действуют следующие ограничения: * Операция резервного копирования табличного пространства и операция восстановления табличного пространства не могут выполняться одновременно, даже если табличные пространства разные. * Для возможности восстановления базы данных с повтором транзакций в среде многораздельных баз данных нужно регулярно выполнять резервное копирование базы данных по списку узлов и у вас должен быть как минимум один образ резервной копии для остальной части узлов в системе (даже для узлов, не содержащих пользовательских данных для этой базы данных). Образ резервной копии раздела базы данных на сервере раздела базы данных, не содержащем для этой базы данных пользовательских данных, требуется в двух ситуациях: * Если после последнего резервного копирования в систему базы данных был добавлен сервер раздела базы данных, и на нем требуется выполнить восстановление с повтором транзакций. * Если используется восстановление до заданного момента времени, которое требует, чтобы все разделы базы данных в системе находились в состоянии отложенного повтора транзакций. * Операции оперативного резервного копирования для табличных пространств DMS несовместимы со следующими операциями: * загрузка * реорганизация (только в автономном режиме); в копируемом табличном пространстве может использоваться оперативная реорганизация таблицы, хотя на стадии усечения для операции реорганизации могут существовать ожидания блокировок. * отбрасывание табличного пространства * усечение таблицы * создание индекса * операции CREATE TABLE и ALTER TABLE с опцией NOT LOGGED INITIALLY Обзор высокой доступности - восстановления после аварий (High availability disaster recovery, HADR) При выполнении команд START HADR, STOP HADR или TAKEOVER HADR могут генерироваться соответствующие коды ошибки: SQL01767N, SQL01769N или SQL01770N с кодом причины 98. Этот код причины указывает, что на сервере, на котором запущена эта команда, не установлена лицензия для HADR. Чтобы исправить эту проблему, установите действительную лицензию HADR при помощи команды db2licm или же установите версию сервера, в дистрибутив которой входит действительную лицензия HADR. Поддержка межплатформенного резервного копирования и восстановления DB2 Universal Database (UDB) поддерживает операции межплатформенного резервного копирования и восстановления. Базы данных, созданные в DB2 UDB Версии 8 на платформе 32-битной Windows можно восстанавливать в DB2 UDB Версии 8 на платформе 64-битной Windows, и наоборот. Базы данных, созданные в DB2 UDB Версии 8 на платформе 32-битной Linux x86, можно восстанавливать в DB2 UDB Версии 8 на платформе 64-битной Linux x86-64 или IA64, и наоборот. Базы данных, созданные в DB2 UDB Версии 8 на платформах AIX, HP-UX, Linux PPC, Linux zSeries или операционной среды Solaris в 32-битной или 64-битной версии, можно восстанавливать в DB2 UDB Версии 8 на платформах AIX, HP-UX, Linux PPC, Linux zSeries или операционной среды Solaris (32-битной или 64-битной). Резервное копирование на ленту (Linux) Максимальный размер блока для ленточных устройств 3480 и 3490 ограничен в Linux 61440 байтами Табл. 33. Ограничение максимального размера блока для ленточных устройств 3480 и 3490 в Linux +-----------------+-----------------+----------------+----------------+ | Устройство | Подсоединение | Максимальный | Ограничение | | | | размер блока | размера буфера | | | | | DB2 (в | | | | | страницах по 4 | | | | | Кбайта) | +-----------------+-----------------+----------------+----------------+ | 3480 | s370 | 61440 | 15 | +-----------------+-----------------+----------------+----------------+ | 3490 | s370 | 61440 | 15 | +-----------------+-----------------+----------------+----------------+ Tivoli Storage Manager При вызове команды BACKUP DATABASE или RESTORE DATABASE можно указать, что для управления операциями резервного копирования и восстановления базы данных и табличного пространства должен применяться продукт Tivoli Storage Manager (TSM). Версия API клиента TSM должна быть не ниже 4.2.0, кроме следующих случаев: * 64-битные системы Solaris, в которых необходим API клиента TSM версии 4.2.1. * 64-битные системы Windows NT, в которых необходим API клиента TSM версии 5.1. * 32-битные системы Linux для iSeries и pSeries, для которых минимальная версия API клиента TSM - 5.1.5 * 64-битные системы Linux для iSeries и pSeries, для которых минимальная версия API клиента TSM - 5.3 * 64-битные системы Linux на AMD Opteron, для которых минимальная версия API клиента TSM - 5.2.0. * 64-битные системы Linux для zSeries, для которых минимальная версия API клиента TSM - 5.2.2. Ограничения на значения параметров локального хоста и локальной службы HADR Порты HADR_LOCAL_SVC и HADR_REMOTE_SVC (параметры локального хоста и локальной службы HADR, задаваемые при подготовке команды update database configuration) не должны использоваться другими службами. Если параметры конфигурируются из командной строки Linux или UNIX, необходимо задать те же значения в файле /etc/services. Дополнительные требования к системе для HADR Если вы создадите табличное пространство в первичной базе данных, и в резервной базе данных из-за недоступности контейнеров не будет выполнено воспроизведение по журналу, первичная база данных не получит сообщения об ошибке, свидетельствующего о невоспроизведении по журналу. Чтобы убедиться в отсутствии ошибок воспроизведения по журналу, при создании новых табличных пространств надо следить за журналом db2diag.log и журналом администратора на резервной базе данных. Если произойдет передача нагрузки, созданное вами новое табличное пространство окажется недоступно на новой первичной базе данных. Для восстановления в этой ситуации восстановите это табличное пространство на новой первичной базе данных из образа резервной копии. В приведенном ниже примере табличное пространство MY_TABLESPACE восстанавливается на базе данных MY_DATABASE перед тем, как оно используется в качестве новой первичной базы данных: 1. db2 connect to my_database 2. db2 list tablespaces show detail Прим.: Выполните команду db2 list tablespaces show detail, чтобы вывести состояние всех табличных пространств и получить номер ID табличного пространства, необходимый на шаге 5. 3. db2 stop hadr on database my_database 4. db2 "restore database my_database tablespace (my_tablespace) online redirect" 5. db2 "set tablespace containers for my_tablespace_ID_# ignore rollforward container operations using (path '/my_new_container_path/')" 6. db2 "restore database my_database continue" 7. db2 rollforward database my_database to end of logs and stop tablespace "(my_tablespace)" 8. db2 start hadr on database my_database as primary Нереплицируемые операции для HADR В документации Версии 8.2 утверждается: Объекты типов BLOB и CLOB; однако пространство для таких объектов будет выделено в резервной базе данных. Следует читать: Незарегистрированные в журнале двоичные и символьные большие объекты не реплицируются; однако пространство для таких объектов будет выделено в резервной базе данных. HADR не поддерживает журналы на непосредственных устройствах HADR не поддерживает использование прямого ввода-вывода (прямой доступ к дискам) для файлов журналов базы данных. В случае обнаружения журналов на непосредственных устройствах при запуске HADR командой START HADR или путем перезапуска базы данных после конфигурирования HADR соответствующая команда завершится неудачно с сообщением SQL1768N, код причины "9". Сравнение монитора ошибок и монитора работоспособности Монитор работоспособности и монитор ошибок - инструменты, работающие с одним экземпляром базы данных. Монитор работоспособности при помощи индикаторов работоспособности оценивает работоспособность по определенным аспектам производительности менеджера баз данных или производительности баз данных. Индикатор работоспособности измеряет работоспособность по некоторому аспекту определенного класса объектов базы данных, например, табличных пространств. Для определения работоспособности данного класса объектов базы данных можно оценивать индикаторы работоспособности по определенным критериям. Кроме того, индикаторы работоспособности могут генерировать оповещения, уведомляющие вас, если индикатор превысит пороговое значение или укажет, что объект базы данных находится в ненормальном состоянии. В отличие от монитора работоспособности, монитор ошибок отвечает только за поддержку работы экземпляра, за которым он наблюдает. В случае неожиданного прерывания работы наблюдаемого экземпляра DB2 UDB монитор ошибок перезапускает этот экземпляр. Монитор ошибок недоступен в Windows. Отключение монитора ошибок Чтобы отключить монитор ошибок для экземпляра базы данных DB2INST1, введите в окне команд DB2 UDB команду: db2fm -i db2inst1 -f no Прим.: Если файл реестра монитора ошибок не существует, применяются значения по умолчанию. В системах UNIX, чтобы убедиться, что монитор ошибок для DB2INST1 больше не работает, введите команду: ps -ef|grep -i fm В системах Linux введите команду: ps auxw|grep -i fm Если вы увидите строку, содержащую слова db2fmd и DB2INST1, это значит, что для этого экземпляра монитор ошибок все еще работает. Чтобы выключить монитор ошибок, введите от имени владельца экземпляра команду: db2fm -i db2inst1 -D Центр хранилищ данных Настройка среды клиента хранилища в операционных системах AIX и Solaris В операционных системах AIX и Solaris перед запуском клиента хранилища необходимо правильно настроить национальную версию. Чтобы задать национальную версию, введите в командной строке команду: export LC_ALL=<национальная_версия> Пример: export LC_ALL=Ru_RU, где Ru_RU - локальная национальная версия. Если эта переменная среды не задана, графические программы могут работать неправильно и вызывать ошибки Java. Изменение конфигурации менеджера баз данных перед установкой преобразователей хранилища В руководстве DB2 Warehouse Manager Standard Edition Installation Guide Версии 8.2 в теме "Updating the database manager configuration before installing warehouse transformers" (Изменение конфигурации менеджера баз данных перед установкой преобразователей хранилища) дана неверная инструкция изменить параметр path для SDK. На самом деле следует изменить параметр path для JDK. При помощи процессора командной строки измените конфигурацию менеджера баз данных для экземпляра DB2 назначения перед установкой преобразователей хранилища. Порядок действий Чтобы изменить конфигурацию менеджера баз данных перед установкой преобразователей хранилища: 1. Задайте для параметра path к JDK (JDK_PATH) подкаталог, где установлен комплект JDK: UPDATE DATABASE MANAGER CONFIGURATION USING JDK_PATH путь Здесь путь - подкаталог, где установлен комплект JDK. Прим.: Не включайте в JDK_path каталог bin. При использовании назначения DB2 Universal Database Версии 7.2 (или более ранней) с установленными преобразователями следует изменить не JDK_PATH, а JDK11_PATH. 2. Задайте для параметра размера кучи виртуальной Java-машины (JAVA_HEAP_SZ) значение 4096: UPDATE DATABASE MANAGER CONFIGURATION USING JAVA_HEAP_SZ 4096 В Центр хранилищ данных добавлена переменная среды VW_NETRC (UNIX) Начиная с Версии 8.2 FixPak 10 Центра хранилищ данных (эквивалентна Версии 8.1 FixPak 3), в операционных системах UNIX можно задать переменную среды VW_NETRC (за исключением системы Linux). Если для переменной среды VW_NETRC задать значение off, можно управлять файлом .netrc вручную. Информацию о правильном формате файла .netrc смотрите в документации своей операционной системы. Работающие параллельные пользовательские программы FTP могут повредить файл .netrc. Если нужно запустить действия параллельной пользовательской программы FTP, для переменной среды VW_NETRC можно задать значение off (VW_NETRC=OFF). Добавьте эту переменную среды в ваш профиль демона агентов для удаленных агентов и в файл IWH.environment для агента по умолчанию или локального агента. Центр хранилищ данных DB2 требует базу данных в формате Unicode После установки DB2 Universal Database Версии 8.1 FixPak 7 или более нового надо запустить утилиту обслуживания управляющей базы данных хранилища, чтобы создать новую управляющую базу данных хранилища в формате Unicode. Предварительные требования Чтобы создать и сохранить копию существующей управляющей базы данных хранилища, на вашей рабочей станции должно быть достаточно места для хранения этой копии, а также вдвое больший свободный объем для хранения временных файлов. Например, если объем существующей управляющей базы данных хранилища - 10 Мбайт, на том же экземпляре должно быть свободно не менее 30 Мбайт. Порядок действий Чтобы создать новую управляющую базу данных хранилища в формате Unicode: 1. Запустите инструмент обслуживания управляющей базы данных хранилища: * В Windows: Нажмите кнопку Пуск и выберите Программы -> IBM DB2-> Инструменты настройки -> Менеджер управляющей базы данных хранилища. * В AIX: Запустите сценарий db2wcdbm. 2. Введите имя существующей управляющей базы данных хранилища. Вас попросят ввести имя новой управляющей базы данных хранилища. При этом будет создана новая управляющая база данных хранилища в формате Unicode. Определение источников и потребителей хранилища DB2 Следующее изменение влияет на две темы документации Центра хранилищ данных: * Определение источников хранилища DB2 * Определение потребителя хранилища По умолчанию при определении источника или потребителя хранилища возвращается 250 таблиц. Однако можно задать число возвращаемых таблиц при помощи новой переменной среды VWS_MAX_TABLELIST. Максимальное число возвращаемых таблиц - 40000. Это число может быть меньше в зависимости от размера имен таблиц в списке. Рекомендуется задавать число много меньше 40000. Изменения в учебном пособии по бизнес-аналитике Проверка регистрации баз данных DWCTBC и TBC_MD как источников данных ODBC В Версии 8 управляющая база данных TBC_MD, используемая в этой обучающей программе, не обязательно должна быть системным источником данных ODBC. Однако база данных назначения или исходная база данных DWCTBC должна быть системным источником данных ODBC. Открытие записной книжки Определить источник хранилища Процедура открытия записной книжки Определить источник хранилища для источника Tutorial Relational Source изменена. Порядок действий Для того чтобы открыть записную книжку Определить источник хранилища для источника Tutorial Relational Source, выполните следующие действия: 1. В окне Центр хранилищ данных щелкните правой кнопкой мыши по папке Источники хранилищ. 2. Выберите Определить --> ODBC --> DB2 --> Семейство DB2. Откроется записная книжка Определить источник хранилища. Открытие записной книжки Определить потребитель хранилища Процедура открытия записной книжки Определить потребитель хранилища изменена. Порядок действий Для того чтобы открыть записную книжку Определить потребитель хранилища, выполните следующие действия: 1. Из окна Центр хранилищ данных дважды щелкните мышью по папке Потребители хранилища. 2. Выберите Определить --> ODBC --> DB2 --> Семейство DB2. Откроется записная книжка Определить потребитель хранилища. Задание порога очистки для файлов журналов хранилища Записи сохраняются в файле журнала, пока не будет достигнуто определенное предельное число записей. По умолчанию предельное число записей равно 1000. Обычно каждое выполняемое задание создает от 12 до 15 записей журнала. Задайте для порога очистки значение в соответствии с вашими потребностями, для чего измените значение поля Очищать журнал, когда общее число записей равно на вкладке Сервер страницы Свойства хранилища. Центр хранилищ данных поддерживает загрузку с положения указателя В качестве источника для шага загрузки DB2 Universal Database теперь можно использовать производную таблицу или таблицу, при этом генерируется команда LOAD FROM CURSOR. Для отображения столбцов в мастере для загрузки с положения указателя нужно выбрать радиокнопку Отображать столбцы по именам столбцов входного файла. Перенастройка и ограничения управляющих баз данных хранилища в формате Unicode В Центре хранилищ данных, начиная с Версии 8.2, управляющая база данных хранилища должна быть базой данных Unicode. Если у вас управляющая база данных хранилища в формате Unicode от Центра хранилищ данных версии ранее 8.2, все равно надо создать новую управляющую базу данных Unicode, используя инструмент Обслуживание управляющей базы хранилища. При перенастройке управляющей базы данных хранилища от Центра хранилищ данных версии ранее 8.2 инструмент Обслуживание управляющей базы хранилища запускает команду db2move, чтобы переместить данные в новую управляющую базу данных Unicode. Во время этого процесса появляется окно с информацией о ходе выполнения команды db2move. Такую перенастройку надо выполнить только один раз. Центр хранилищ данных не поддерживает Unicode на серверах Sybase. Изменение в формате даты столбца Изменено Изменен формат столбца Изменено в подробном виде главного окна Центра хранилищ данных. Дата в столбце Изменено выводится в формате вашей национальной версии и включает значение времени. Данное изменение формата даты гарантирует правильную работу сортировки объектов по столбцу Изменено. Данное изменение применимо к большинству списков объектов Центра хранилищ данных, выводимых в окне перемещения по дереву и в окне подробностей, как то: * Темы * Процессы * Схемы хранилища * Узлы агентов хранилища * Программы * Шаги * Ресурсы данных * Пользователи * Группы пользователей Определение статистических преобразователей в Центре хранилищ данных Чтобы выполнять преобразования ваших статистических данных, определите нужные статистические преобразователи. Порядок действий Чтобы определить статистические преобразователи: 1. Откройте окно Модель процесса. 2. Щелкните по значку преобразований и выберите из списка один из доступных преобразователей. 3. Свяжите выбранный преобразователь с источником хранилища и назначением хранилища, как требуется правилами данного преобразователя. У каждого преобразователя есть свои правила связывания с источником хранилища и целью хранилища. Дополнительную информацию смотрите в документации по отдельным преобразователям. Подготовка к установке агентов хранилища При установке менеджера хранилищ DB2 необходимо, чтобы сервер хранилищ, клиент хранилищ и все агенты хранилищ находились на одном уровне версии и пакета FixPack. Предварительные требования для агента хранилища iSeries Чтобы использовать агент хранилища iSeries для Менеджера хранилищ DB2 в системах V5R2 и V5R3, требуется исправление PTF: PTF SI13558 Это PTF базы данных разрешает CLI в iSeries обрабатывать данные Unicode. DB2 .NET Data Provider Поддержка одновременных активных процессов чтения данных Теперь DB2 .NET Data Provider поддерживает использование одновременных активных процессов чтения данных. Это означает, что можно одновременно обращаться к данным из нескольких экземпляров DB2DataReader, использующих один экземпляр DB2Connection. Каждый экземпляр DB2DataReader должен быть связан со своим собственным экземпляром DB2Command. Чтобы использовать такой связанный экземпляр DB2Command для каких-либо других целей, нужно явно вызвать метод DB2DataReader.Close. Свойство DB2Connection.ConnectionString Добавлено новое ключевое слово для свойства DB2Connection.ConnectionString: CurrentSchema Схема, используемая после успешного соединения. В случае успешного соединения на сервер DB2 посылается оператор SET CURRENT SCHEMA. Это позволяет прикладной программе называть объекты SQL без указания имени схемы. DB2 Connect Изменение процесса согласования типа аутентификации через шлюз Начиная с DB2 Connect(TM) Версии 8.2.2 (эквивалентного Версии 8.1 FixPak 9) шлюз более не является пассивным участником процесса согласования типа аутентификации. Теперь он играет активную роль. Тип аутентификации, заданный в записи каталога баз данных на шлюзе, переопределяет тип аутентификации, внесенный в каталог на клиенте. На всех трех участниках (клиент, шлюз и сервер) должны быть заданы совместимые типы аутентификации. Если тип аутентификации, внесенный в каталог на шлюзе, не задан в записи каталога баз данных, у сервера по умолчанию будет затребован тип аутентификации SERVER. Но если сервер не поддерживает тип аутентификации SERVER, будет выполняться согласование типа аутентификации между клиентом и сервером. Такое поведение отличается от поведения клиента, который по умолчанию использует тип аутентификации SERVER_ENCRYPT, если тип аутентификации не задан. Тип аутентификации, внесенный в каталог на шлюзе, не используется, если на клиенте в API SET CLIENT задана опция DB2NODE или SQL_CONNECT_NODE. В этих случаях согласование выполняется только между клиентом и сервером. Сервер, в конфигурации менеджера баз данных которого задан тип аутентификации SERVER_ENCRYPT, более не принимает соединения или подключения от клиентов, требующих аутентификацию SERVER. Новый сценарий защиты Добавлен новый сценарий защиты для соединений APPC: Аутентификация GSSPLUGIN Защита нет Проверка Механизм подключаемого модуля защиты API GSS Исправления в диаграммах В приведенных ниже темах DB2 Connect Enterprise Edition содержались неправильные диаграммы: * Доступ к данным DB2 хоста или iSeries при помощи DB2 Connect Enterprise Edition * Доступ к данным DB2 из Web при помощи Java В следующей таблице описаны поправки к диаграммам в теме "Доступ к данным DB2 хоста или iSeries при помощи DB2 Connect Enterprise Edition". Табл. 34. Исправления диаграмм в теме "Доступ к данным DB2 хоста или iSeries при помощи DB2 Connect Enterprise Edition" +-------------------+-------------------------------------------------+ | Положение в теме | Исправление | +-------------------+-------------------------------------------------+ | Пояснения ко всем | * Упоминания о "DB2 for OS/390 V5R1" следует | | четырем | читать "DB2 for OS/390 V6 и новее". | | диаграммам | * Упоминания о "DB2 for AS/400 V4R2" следует | | | читать "DB2 for iSeries V5R1 и новее". | +-------------------+-------------------------------------------------+ | Первая диаграмма | Все упоминания о "APPC" и "SNA Communications | | (Рисунок 1: DB2 | Support" ошибочны. SNA/APPC в качестве | | Connect | входящего протокола для клиента времени | | Enterprise | выполнения DB2 не поддерживается серверами DB2 | | Edition) | Linux, Unix и Windows, включая DB2 Connect | | | Enterprise Edition. | +-------------------+-------------------------------------------------+ В следующей таблице описаны поправки к диаграммам в теме "Доступ к данным DB2 из Web при помощи Java". Табл. 35. Поправки к диаграммам в теме "Доступ к данным DB2 из Web при помощи Java" +-------------------+-------------------------------------------------+ | Положение в теме | Исправление | +-------------------+-------------------------------------------------+ | Пояснение | * Упоминания о "DB2 for OS/390 V5R1" следует | | | читать "DB2 for OS/390 V6 и новее". | | | * Упоминания о "DB2 for AS/400 V4R2" следует | | | читать "DB2 for iSeries V5R1 и новее". | +-------------------+-------------------------------------------------+ Центр разработки Для Центра разработки DB2 Версии 8.2 требуется отладчик IBM Distributed Debugger Версии 9.2.9 Для Центра разработки DB2 Версии 8.2 теперь требуется отладчик IBM Distributed Debugger Версии 9.2.9. Если у вас не установлена Версия 9.2.9 отладчика Distributed Debugger, вы не сможете отлаживать хранимые процедуры Java в Центре разработки. Distributed Debugger Версии 9.2.9 более не поддерживается в операционных средах Solaris. Дополнительную информацию о Distributed Debugger смотрите на его сайте по адресу http://www.ibm.com/software/awdtools/debugger. Ограничение на длину в окне Изменить диапазон переменной Центра разработки DB2 При изменении длины переменной в диалоговом окне Изменить диапазон переменной Центра разработки DB2 можно задавать длину не более 1024 байт. Это ограничение в настоящее время документировано в сообщении, которое выводится только на английском языке. Ограничения на драйверы DB2 Universal type 2 и type 4 В Версии 8.2 добавлена поддержка, позволяющая пользователям соединяться с базой данных DB2 Universal Database (UDB) из Центра разработки при помощи драйверов DB2 Universal Type 2 и Type 4. Но если вы попытаетесь использовать один из этих драйверов для соединения с сервером iSeries или же с сервером DB2 UDB Версии 8.1 и ранее, вы увидите следующее сообщение об ошибке: Попытка соединения с <база-данных> завершилась неудачно. Универсальный драйвер IBM DB2 (JCC) не найден. Дополнительную информацию о том, какие драйверы следует использовать, чтобы не получать данное сообщение об ошибке, смотрите в теме "Драйверы JDBC" в Информационного центра DB2. Инструменты GUI Изменение символа завершения оператора Начиная с DB2 Universal Database (UDB) Версии 8.2 FixPak 1 (эквивалентной Версии 8.1 FixPak 8), можно изменять символ завершения оператора в сценарии, выполняющемся в процессоре командной строки (CLP) или Редакторе команд. Такое изменение "на лету" аналогично методу, доступному в в настоящее время в DB2 UDB for OS/390. В следующем примере показано, как можно изменить символ завершения после каждого оператора: connect to gilroy user newton using password; select * from newton.department; --#SET TERMINATOR : select * from newton.employee: --#SET TERMINATOR @ select * from newton.department@ --#SET TERMINATOR ; select * from newton.department; --#SET TERMINATOR & terminate& Возможность изменять символ завершения оператора важна, когда сценарий содержит составные операторы. В следующем примере DB2 UDB считает, что первый символ точки с запятой, обнаруженный в составном операторе CREATE TRIGGER - это символ завершения всего этого оператора CREATE TRIGGER. Но на самом деле это не так. Этот символ точки с запятой представляет собой лишь символ завершения для одного из операторов внутри составного оператора CREATE TRIGGER. CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END; CONNECT RESET; TERMINATE; В следующем примере показано, как можно изменить символ завершения оператора внутри этого сценария, чтобы получить нужный результат: CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; --#SET TERMINATOR @ CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END@ --#SET TERMINATOR ; CONNECT RESET; Если не требуется, чтобы ваши сценарии выполнялись локально в DB2 for OS/390, или ваши сценарии DB2 UDB не соединяются с OS/390, не рекомендуется использовать --#SET TERMINATOR для изменения символов завершения оператора. Вместо этого следует использовать существующие опции -tdX или ;--. Опция -tdX позволяет задать символ завершения при вызове сценария командой процессора командной строки. Символом 'X' здесь обозначен символ, который будет использоваться в качестве символа завершения оператора. Например, в команде: db2 -tvf test.txt -td& При выполнении сценария из файла test.txt в качестве символа завершения оператора будет использоваться символ &. Если этот сценарий содержит составной оператор CREATE TRIGGER, его можно записать так: CONNECT TO SAMPLE& DROP TRIGGER newton.NWTTRIGGER& CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END& CONNECT RESET& TERMINATE& Прим.: Опцию -tdX нельзя использовать в Редакторе команд. Этот сценарий, содержащий составной оператор CREATE TRIGGER, можно также переписать, используя опцию ;--. Он будет выглядеть так: CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0');-- insert into newton.nwttable values( -1, '-1');-- END; CONNECT RESET; TERMINATE; Недоступное состояние базы данных на панели Подробности баз данных Центра управления На панели подробностей Центра управления можно посмотреть информацию о ваших базах данных. Выбор базы данных в дереве объектов или на панели содержимого выводит сводку ее состояния. В некоторых ситуациях информация о базе данных может быть недоступна. Некоторые причины такой недоступности описаны в следующей таблице. Табл. 36. Причины недоступности состояния базы данных +--------------------+------------------------------------------------+ | Элемент состояния | Возможные причины недоступности состояния | | базы данных | | +--------------------+------------------------------------------------+ | Последнее | * Для этой базы не выполнялось резервное | | резервное | копирование. | | копирование | * Пользователь не имеет требуемых для доступа | | | к этой информации полномочий. | +--------------------+------------------------------------------------+ | Размер | * База данных версий до Версии 8.2. | | | * Пользователь не имеет требуемых для доступа | | | к этой информации полномочий. | +--------------------+------------------------------------------------+ | Емкость | * База данных версий до Версии 8.2. | | | * База данных содержит несколько разделов. | | | * Пользователь не имеет требуемых для доступа | | | к этой информации полномочий. | +--------------------+------------------------------------------------+ | Работоспособность | * Монитор работоспособности не включен. | | | * Длительная задержка. От момента активации | | | базы данных до того момента, когда становится | | | доступно состояние ее работоспособности, | | | должно пройти около 5 минут. | +--------------------+------------------------------------------------+ | Обслуживание | * База данных версий до Версии 8.2. | +--------------------+------------------------------------------------+ Генерация опции записи в таблицы по умолчанию (Создать монитор событий) В диалоговом окне Опции вывода, которое запускается из окна Создать монитор событий, добавлена кнопка Генерировать. Нажатие кнопки Генерировать создает опцию запись в таблицы по умолчанию. Результат эквивалентен синтаксису, генерируемому командой db2evtbl. Генерируемая опция показывает пользователю, какие таблицы и элементы данных будут включены в создаваемый монитор событий. Пользователи могут изменять эту команду в соответствии с потребностями. Генерируемый синтаксис исходит из имени монитора событий и типов событий, заданных в окне Создать монитор событий. Имя монитора событий и типы событий надо задать до того, как генерировать синтаксис опции вывода. Если изменить имя монитора или типы событий после генерации опции вывода, появится сообщение, напоминающее пользователю о необходимости перегенерировать опцию вывода перед созданием монитора событий. Если опцию вывода не перегенерировать, таблицы событий будут сгенерированы исходя из имени монитора событий, заданного ранее. Центр каталогов данных Примеры сценариев конфигурации В Центр каталогов данных для Web с сервером DB2 Embedded Application Server входят примеры сценариев ICCConfig.jacl и ICCConfig.properties. Эти примеры сценариев (каталог sqllib\samples\icweb) можно использовать для конфигурирования Центра каталогов данных для Web с сервером WebSphere Application Server 5. Конфигурирование Web-сервера При конфигурировании Центра каталогов данных для Web с сервером DB2 Embedded Application Server, если ваши метаданные содержат URL файлов на сервере, эти URL необходимо отобразить в правильное положение с помощью алиасов в конфигурации Web-сервера. Кроме того, надо отобразить ссылки на справку и авторские права. При использовании встроенного сервера прикладных программ DB2, даже если вам не нужно подключаться к Web-серверу, для правильной работы этих ссылок необходим правильно сконфигурированный и работающий Web-сервер. Дополнение по установке и настройке Файл конфигурации узлов DB2 - db2nodes.cfg Параметр resourcesetname поддерживается только в AIX, HP-UX, операционной среде Solaris и Linux. В операционных системах Linux столбец resourcesetname определяет число, соответствующее узлу NUMA (Non-Uniform Memory Access - неоднородный доступ к памяти) в системе. В дополнение к ядру 2.6 с поддержкой правил NUMA должна быть доступна системная утилита numactl. Дополнительную информацию о поддержке NUMA в операционных системах Linux смотрите на странице man в разделе numact1. Пример использования resourcesetname в операционных системах Linux Этот пример показывает, как сконфигурировать четырехузловой компьютер NUMA, где каждый логический узел связан с узлом NUMA. Порядок действий 1. Убедитесь, что возможности NUMA существуют в системе. 2. Введите следующую команду: $ numactl --hardware Вывод этой команды аналогичен следующему: available: 4 nodes (0-3) node 0 size: 1901 MB node 0 free: 1457 MB node 1 size: 1910 MB node 1 free: 1841 MB node 2 size: 1910 MB node 2 free: 1851 MB node 3 size: 1905 MB node 3 free: 1796 MB 3. В этом примере в системе четыре узла NUMA. Чтобы связать с узлом NUMA каждый узел MLN (Multiple Logical Node) в системе, отредактируйте файл db2nodes.cfg: 0 hostname 0 hostname 0 1 hostname 1 hostname 1 2 hostname 2 hostname 2 3 hostname 3 hostname 3 Переменная реестра DB2NOLIOAIO заменена на DB2LINUXAIO (Linux) Начиная с Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9), использовать переменную реестра DB2 Universal Database (UDB) DB2NOLIOAIO не рекомендуется. Для пользователей Linux переменная реестра DB2NOLIOAIO заменена на DB2LINUXAIO. * Чтобы включить поддержку асинхронного ввода/вывода (AIO) в Linux, введите следующую команду: db2set DB2LINUXAIO=true и перезапустите DB2 UDB. Прим.: Чтобы использовать AIO, пользователи должны установить libaio-0.3.98 или новее, а ядро должно поддерживать AIO. * Чтобы отключить поддержку асинхронного ввода-вывода (AIO) в Linux, введите команду: db2set DB2LINUXAIO=false и перезапустите DB2 UDB. Сервер прикладных программ для DB2 UDB Сервер прикладных программ для DB2 Universal Database (UDB) больше не поддерживает удаленное управление и хранимые процедуры. Темы, в которые внесены изменения: Включение сервера прикладных программ для DB2 UDB При включении базы данных: * Соединяется с заданной базой данных * Создает и заполняет таблицы метаданных * Изменяет параметры конфигурации менеджера баз данных JDK_PATH и JAVA_HEAP_SZ * Устанавливает программу DB2 Web Services. Предварительное требование В Linux после установки сервера прикладных программ и перед его включением нужно задать среду Java Linux. Подробную информацию о задании среды Java Linux смотрите в своей книге Application Development Guide: Building and Running Applications. Порядок действий Чтобы включить сервер прикладных программ для DB2 UDB: 1. Зарегистрируйтесь на сервере DB2 как root в операционных системах Linux или UNIX или как пользователь с привилегиями Администратор в операционных системах Windows. 2. В операционных системах на основе Linux и UNIX введите следующую команду: . /путь_экземпляра_db2/sqllib/профиль_db2 где путь_экземпляра_db2 - это каталог, в котором создан экземпляр DB2 UDB. 3. Введите одну из следующих команд: * В операционных системах Linux и UNIX: путь_установки_сервера_прикладных_программ/bin/enable.sh -db алиас_базы_данных -user пользователь_базы_данных -password пароль_базы_данных -db2path путь_sqllib -instance имя_экземпляра -easpath путь_eas -fencedid ID_изолированного_пользователя * Для операционных систем Windows: путь_установки_сервера_прикладных_программ\bin\enable -db алиас_базы_данных -user пользователь_базы_данных -password пароль_базы_данных -db2path путь_sqllib -instance имя_экземпляра -easpath путь_eas где: * алиас_базы_данных - алиас включаемой базы данных. * пользователь_базы данных - ID пользователя, используемый при соединении с базой данных. * пароль_базы_данных - пароль для ID пользователя, используемого при соединении с базой данных. * путь_sqllib - путь к каталогу SQLLIB экземпляра DB2 UDB. Этот путь используется при обновлении DB2EAS с применением необходимых файлов JAR. * имя_экземпляра - имя экземпляра DB2 UDB. * путь_eas - путь к встроенному серверу прикладных программ. * ID_изолированного_пользователя - ID для изолированного пользователя. После включения сервера прикладных программ для DB2 UDB он запускается автоматически. Локальный запуск сервера прикладных программ для DB2 UDB Сервер прикладных программ следует запускать с использованием ID изолированного пользователя только для систем, создающих службы Web в среде .NET или запускающие реестр метаданных XML (XMR - XML Metadata Registry). Удаленный запуск сервера прикладных программ для DB2 UDB Этот раздел удален. Сервер прикладных программ для DB2 UDB более не поддерживает удаленное управление. Локальная остановка сервера прикладных программ для DB2 UDB Сервер прикладных программ следует останавливать с использованием ID изолированного пользователя только для систем, создающих службы Web в среде .NET или запускающие реестр метаданных XML (XMR - XML Metadata Registry). Удаленная остановка сервера прикладных программ для DB2 UDB Этот раздел удален. Сервер прикладных программ для DB2 UDB более не поддерживает удаленное управление. Деинсталляция сервера прикладных программ для DB2 UDB Этот раздел удален. Сервер прикладных программ для DB2 UDB более не поддерживает удаленное управление. Включение встроенного сервера прикладных программ DB2 Включенная база данных встроенного сервера прикладных программ DB2 должна находиться в 32-битном экземпляре. Базы данных, к которым обращается встроенный сервер прикладных программ DB2, могут находиться в 32-битных и 64-битных экземплярах. Установка DB2 Web Tools Для серверов прикладных программ, использующих JDK 1.4, больше не требуется настройка переменной CLASSPATH при установке DB2 Web Tools. Все зависимости, включая зависимости анализатора XML и преобразователя, теперь устанавливаются при помощи модуля Web; они буду загружены из каталога WEB-INF\lib согласно спецификации J2EE. Данное изменение касается двух информационных тем: * Установка DB2 Web Tools на серверах прикладных программ WebLogic * Установка DB2 Web Tools на других серверах прикладных программ Темы, в которые внесены изменения: Установка DB2 Web Tools на серверах прикладных программ WebLogic В этом разделе описана процедура установки и настройки продукта DB2 Web Tools (включающего Центр команд для Web и Центр работоспособности для Web) на BEA WebLogic 7.0. Эти инструменты работают в качестве Web-приложений на Web-сервере и обеспечивают доступ к серверам DB2 при помощи браузеров. Предварительные требования Перед установкой DB2 Web Tools на сервере WebSphere убедитесь, что установлены следующие программы: * Сервер прикладных программ BEA WebLogic 7.0. * IBM DB2 Administration Client Версии 8. * Браузер с поддержкой HTML 4.0. Прим.: DB2 Web Tools тестировались с Netscape 4.x, Netscape 6.x, Netscape 7.x, Mozilla 1.x, Internet Explorer 5.x, Opera 6.x, Konqueror 3.x (Linux) и EudoraWeb 2.x (Palm OS). При использовании браузеров, не прошедших проверку, может потребоваться добавление в конфигурацию сервлета явной ссылки. Ограничения При установке DB2 Web Tools действуют следующие ограничения: * Не поддерживаются многие преобразования для языков и кодовых страниц между серверам среднего уровня и серверами DB2. Несмотря на то, что для вывода используется язык, выбранный для сервера, некоторые символы могут выводиться неправильно. * Чтобы видеть оповещения работоспособности для баз данных, табличных пространств и контейнеров табличных пространств в Web-центре работоспособности, необходимо, чтобы базы данных были каталогизированы на Web-сервере прикладных программ. * Кнопки браузера (Стоп, Назад, Хронология) при использовании DB2 Web Tools не работают. * При использовании Netscape Navigator 4 совместно с DB2 Web Tools возможно неправильное обновление экрана браузера. Если у вас возникла эта проблема, вы можете обновить экран, свернув и снова развернув окно. Для восстановления вывода можно также скрыть окно браузера под каким-либо другим окном, а затем снова вынести его на передний план. * Чтобы назначить свой собственный алиас для какой-либо системы, узла экземпляра или базы данных DB2 Universal Database (UDB), нужно явно каталогизировать их на сервере прикладных программ при помощи Ассистента конфигурирования DB2 или Центра управления DB2. * При первом запуске инициализация DB2 Web Tools требует значительно большего времени, чем при дальнейших запусках. Большая часть времени ожидания приходится на процесс автоматической каталогизации. Если вы не хотите использовать функции автоматической каталогизации, вы можете сократить время ожидания, отключив автоматическую каталогизацию в конфигурации сервлета. Прим.: Параметры конфигурации сервлета доступны в файле дескриптора внедрения web.xml. Имена параметров и значения по умолчанию меняются с каждым выпуском. Некоторые серверы прикладных программ могут допускать изменение этих параметров при помощи своих интерфейсов или путем непосредственного редактирования файла web.xml. * При работе браузера на настольном или портативном компьютере выходной буфер (буфер результатов) имеет абсолютное ограничение 1 Мбайт, даже если для него сконфигурирована большая емкость. Если браузер работает на персональном цифровом ассистенте (PDA) предельный размер - 1 килобайт. * В операционных системах Linux, UNIX, и Windowsпрограмма DB2 Web Tools автоматически находит и каталогизирует все системы, которые находятся в одной сети TCP/IP с сервером прикладных программ. У систем одной сети TCP/IP совпадают первые три цифры их IP-адресов. Инструменты пытаются внести в каталог узлы системы DB2 UDB, используя исходное имя удаленного хоста TCP/IP. Если при этом обнаруживается повторение имен, инструменты назначают случайное уникальное имя. Вы должны явно внести в каталог на сервере прикладных программ все другие серверы администраторов DB2, которые хотите сделать доступными. К ним относятся любые использующие TCP/IP серверы, находящиеся в другой сети TCP/IP по отношению к серверу прикладных программ, а также любые серверы, не использующие TCP/IP. * В операционных системах Linux, UNIX, и Windows программа DB2 Web Tools пытается автоматически найти и каталогизировать все узлы экземпляра и базы данных DB2 UDB, которые находятся в каталогизированных системах DB2 UDB. Удаленный экземпляр может быть сконфигурирован для нескольких протоколов связи, поэтому каталог будет содержать отдельную запись для каждого протокола, поддерживаемого автоматически каталогизированным экземпляром. Если при этом обнаруживается повторение имен, инструменты назначают случайное уникальное имя. Порядок действий Для установки DB2 Web Tools на серверах прикладных программ WebLogic выполните следующие действия: 1. Установите программу DB2 Web Tools с помощью консоли администрирования WebLogic, выполнив следующие действия: a. Запустите консоль администрирования WebLogic. b. На левой панели выберите домен -> установка -> Web-программ. c. Щелкните по ссылке Конфигурировать новую Web-программу для установки Web-программы DB2 Web Tools. d. Найдите файл Sqllib\tools\web\db2wa.war в списке файлов файловой системы. e. Щелкните на опции select (выбрать), указанной рядом с именем файла db2wa.war. f. Выберите в списке доступных серверов тот сервер, на котором будет выполняться DB2 Web Tools, а затем нажмите кнопку со стрелкой, чтобы переместить его в список серверов назначения. Прим.: Обязательно нужно сохранить исходное имя файла db2wa, так как оно используется в программе DB2 Web Tools. g. Нажмите кнопку Настроить и установить. h. Подождите, пока сервер прикладных программ обновит состояние установки Web-программы. В случае успешного выполнения операции должно быть показано Deployed=true 2. Вызовите Web-программу DB2 Web Tools, расположенную по адресу: http://имя_сервера:порт_сервера_прикладных_программ/db2wa Например, http://имя_сервера:7001/db2wa. Установка DB2 Web Tools на других серверах прикладных программ В этом разделе описана процедура установки и настройки продукта DB2 Web Tools (включающего Центр команд для Web и Центр работоспособности для Web) на других серверах прикладных программ, например, Tomcat 4.0 и Macromedia JRun 4.0. Эти инструменты работают в качестве Web-приложений на Web-сервере и обеспечивают доступ к серверам DB2 при помощи браузеров. Предварительные требования Перед установкой DB2 Web Tools убедитесь, что установлены следующие программы: * Сервер прикладных программ, например: * Tomcat 4.0 Servlet/JSP Container (http://jakarta.apache.org/tomcat/) * Macromedia JRun 4.0 * IBM DB2 Administration Client Версии 8. * Браузер с поддержкой HTML 4.0. Ограничения При установке DB2 Web Tools действуют следующие ограничения: * Не поддерживаются многие преобразования для языков и кодовых страниц между серверам среднего уровня и серверами DB2. Несмотря на то, выводятся символы языка, выбранного для сервера, некоторые символы могут выводиться неправильно. * Чтобы видеть оповещения работоспособности для баз данных, табличных пространств и контейнеров табличных пространств в Web-центре работоспособности, необходимо, чтобы базы данных были каталогизированы на Web-сервере прикладных программ. * Кнопки браузера (Стоп, Назад, Хронология) при использовании DB2 Web Tools не работают. * При использовании Netscape Navigator 4 совместно с DB2 Web Tools возможно неправильное обновление экрана браузера. При возникновении этой ошибки можно обновить вывод браузера, свернув и вновь восстановив окно. Для восстановления вывода можно также скрыть окно браузера под каким-либо другим окном, а затем снова вынести его на передний план. * Чтобы назначить свой собственный алиас для какой-либо системы, узла экземпляра или базы данных DB2 UDB, нужно явно каталогизировать их на сервере прикладных программ при помощи Ассистента конфигурирования DB2 или Центра управления DB2. * При первом запуске инициализация DB2 Web Tools требует значительно большего времени, чем при дальнейших запусках. Большая часть времени ожидания приходится на процесс автоматической каталогизации. Если вы не хотите использовать функции автоматической каталогизации, вы можете сократить время ожидания, отключив автоматическую каталогизацию в конфигурации сервлета. Прим.: Параметры конфигурации сервлета доступны в файле дескриптора внедрения web.xml. Имена параметров и значения по умолчанию меняются с каждым выпуском. Некоторые серверы прикладных программ могут допускать изменение этих параметров при помощи своих интерфейсов или путем непосредственного редактирования файла web.xml. * При использовании браузера настольного или портативного компьютера абсолютный максимальный размер буфера вывода (результатов) - 1 Мбайт, даже если в конфигурации задан больший размер. Если браузер работает на персональном цифровом ассистенте (PDA) предельный размер - 1 килобайт. * В операционных системах Linux, UNIX, и Windowsпрограмма DB2 Web Tools автоматически находит и каталогизирует все системы, которые находятся в одной сети TCP/IP с сервером прикладных программ. У систем одной сети TCP/IP совпадают первые три цифры их IP-адресов. Инструменты пытаются внести в каталог узлы системы DB2 UDB, используя исходное имя удаленного хоста TCP/IP. Если при этом обнаруживается повторение имен, инструменты назначают случайное уникальное имя. Вы должны явно внести в каталог на сервере прикладных программ все другие серверы администраторов DB2, которые хотите сделать доступными. К ним относятся любые использующие TCP/IP серверы, находящиеся в другой сети TCP/IP по отношению к серверу прикладных программ, а также любые серверы, не использующие TCP/IP. * В операционных системах Linux, UNIX, и Windows программа DB2 Web Tools пытается автоматически найти и каталогизировать все узлы экземпляра и базы данных DB2 UDB, которые находятся в каталогизированных системах DB2 UDB. Удаленный экземпляр может быть сконфигурирован для нескольких протоколов связи, поэтому каталог будет содержать отдельную запись для каждого протокола, поддерживаемого автоматически каталогизированным экземпляром. Если при этом обнаруживается повторение имен, инструменты назначают случайное уникальное имя. Порядок действий Ниже описаны процедуры установки программы DB2 Web Tools с помощью таких серверов прикладных программ, как Tomcat 4.0 и Macromedia JRun 4.0: Tomcat 4.0 1. Подготовьте файл конфигурации Tomcat 4.0 (CLASSPATH), выполнив следующие действия: a. Создайте новую переменную системы или среды CATALINA_HOME, содержащую путь к Tomcat 4.0 (имя корневого каталога). Например, D:\jakarta-tomcat-4.0.3. b. Убедитесь, что продукт Tomcat Servlet/JSP Container работает: 1) Запустите Tomcat, вызвав сценарий startup.bat из каталога bin продукта Tomcat. 2) Введите в окне браузера адрес основной Web-страницы: http://localhost:8080/. 2. Установите DB2 Web Tools на сервере Tomcat Servlet/JSP Container. Для этого перейдите в установочный каталог DB2 Web Tools (Sqllib\tools\web\db2wa.war) и скопируйте файл db2wa.war в соответствующий каталог Tomcat (каталог webapps). 3. Запустите DB2 Web Tools на сервере Tomcat Servlet/JSP Container, выполнив следующие действия: a. Откройте окно команд DB2 и перейдите в каталог bin Tomcat. b. Запустите Tomcat с помощью сценария startup.bat и убедитесь, что в каталог webapps был добавлен новый каталог (db2wa). Прим.: При запуске startup.bat из окна ввода команд переменная DB2PATH не устанавливается. Чтобы разрешить задание DB2PATH, в строке CLASSPATH вместо переменной среды %DB2PATH% нужно явно указать каталог установки DB2 UDB. c. Прикладная программа DB2 Web Tools будет расположена по адресу http://localhost:8080/db2wa. Для работы с ней необходим браузер, поддерживающий HTML 4.0. JRun 1. Подготовьте новый сервер прикладных программ для программы DB2 Web Tools, выполнив следующие задачи: Рекомендации Создавать новый сервер прикладных программ не обязательно, хотя это и рекомендуется сделать. Для тестирования можно воспользоваться сервером по умолчанию. В этом случае нужно настроить переменную classpath в JVM и зарегистрировать прикладную программу. a. Запустите JRun Management Console и войдите в систему как администратор сервера прикладных программ. b. Создайте новый сервер прикладных программ с помощью задачи Создать новый сервер, ссылка на которую расположена в правом верхнем углу основной страницы. В качестве имени хоста оставьте значение localhost. c. Введите имя нового сервера (DB2WebToolsServer) и щелкните по ссылке Каталог сервера JRun. В поле будет автоматически подставлено значение. d. Нажмите кнопку Create Server (Создать сервер). e. Запишите сгенерированные значения или введите новые значения для следующих параметров: * URL провайдера JNDI * Номер порта Web-сервера. Этот порт будет указываться в URL программы DB2 Web Tools (т.е. http://localhost:номер_порта_web_сервера/db2wa) * Номер порта Proxy для подключения через Web f. При необходимости отметьте опцию update port numbers (обновить номера портов) и закройте окно. 2. Зарегистрируйте DB2 Web Tools на сервере прикладных программ JRun, выполнив следующие задачи: a. Запустите сервер прикладных программ, предназначенный для Web-программы DB2 Web Tools (DB2WebToolsServer, сервер по умолчанию или любой другой, за исключением сервера admin). b. Щелкните на Web Applications (Прикладные программы для Web), а затем нажмите Add (Добавить). c. Найдите раздел Файл установки и выберите файл Sqllib\tools\web\db2wa.war в каталоге установки DB2 UDB. d. Нажмите кнопку Deploy (Установить) и убедитесь, что путь к контексту равен /db2wa. e. Выберите сервер прикладных программ и убедитесь, что программа DB2 Web Tools присутствует в разделе Web Applications (Прикладные программы для Web). Не нажимайте кнопку Apply (Применить) на этой странице. f. Щелкните по ссылке Home, показанной на панели, расположенной в верхнем левом углу основной страницы. g. Перезапустите в просмотре Home сервер прикладных программ, содержащий DB2 Web Tools (DB2WebToolsServer). Прикладная программа DB2 Web Tools будет расположена по адресу http://localhost:номер_порта_web_сервера/db2wa. Для работы с ней необходим браузер, поддерживающий HTML 4.0. Прямой ввод-вывод на блочном устройстве (Linux) Теперь прямой ввод-вывод поддерживается и на файловых системах, и на блочных устройствах для дистрибутивов Linux с ядром 2.6. Прямой ввод-вывод на блочных устройствах - это альтернатива заданию контейнеров устройств для прямого доступа к дискам или прямого ввода-вывода. По производительности прямой ввода-вывод эквивалентен методу непосредственного символьного устройства. DB2 Universal Database (UDB) включает прямой ввод-вывод при открытии табличного пространства, если в операторе CREATE TABLESPACE в качестве пути контейнера задано имя блочного устройства. Ранее та же производительность достигалась при использовании метода непосредственного ввода-вывода, для которого требовалось связывать блочное устройство с символьным устройством при помощи утилиты raw. Табл. 37. Сравнение прямого ввода-вывода и непосредственного ввода-вывода +----------------------------------+----------------------------------+ | Непосредственный ввод-вывод с | Непосредственный ввод-вывод с | | использованием блочного | использованием драйвера | | устройства с прямым | символьного устройства и утилиты | | вводом-выводом (новый метод) | raw (старый метод) | +----------------------------------+----------------------------------+ | CREATE TABLESPACE dms1 | CREATE TABLESPACE dms1 | | MANAGED BY DATABASE | MANAGED BY DATABASE | | USING (DEVICE '/dev/sda5' | USING (DEVICE '/dev/raw/raw1' | | 11170736) | 11170736) | +----------------------------------+----------------------------------+ Хотя DB2 UDB все еще поддерживает метод с использованием утилиты raw для непосредственного ввода-вывода, в последних дистрибутивах эта возможность не рекомендуется, и в будущем может быть удалена. Предпочтительно использовать новый метод - непосредственное задание устройств. Рекомендации Если вы хотите использовать прямой доступ к диску, создавайте контейнеры устройств DMS при помощи прямого ввода-вывода, чтобы избежать в будущем проблем при перенастройке. Прим.: Прямой ввод-вывод не поддерживается DB2 UDB в Linux/390. Демон Информационного центра DB2 (Linux и UNIX) Демон Информационного центра DB2 отвечает за управление сервером документации DB2. Этот демон, входящий в состав установки Информационного центра DB2, состоит из двух файлов: * db2icd - сценарий инициализации * db2ic.conf - файл конфигурации Эти файлы устанавливаются в следующих положениях: AIX /etc/db2icd /var/db2/v81/db2ic.conf HP /sbin/init.d/db2icd /var/opt/db2/v81/db2ic.conf Операционная среда Solaris /etc/init.d/db2icd /var/db2/v81/db2ic.conf Linux /etc/init.d/db2icd /var/db2/v81/db2ic.conf Запуск и остановка демона Информационного центра (AIX, операционная среда Solaris, HP, Linux) Единственный случай, когда следует запускать или останавливать демон вручную - это когда вы хотите изменить переменные конфигурации демона. Обычно же демон запускается при запуске системы согласно уровням запуска, созданным при установке Информационного центра DB2. Порядок действий Для остановки и запуска демона Информационного центра: 1. Остановите демон, если он запущен. Введите в командной строке: INIT_DIR/db2icd stop где INIT_DIR - путь установки файла db2icd, который вы вывели ранее. 2. Измените переменные демона, отредактировав файл db2ic.conf. В настоящее время можно изменить номер порта TCP, по которому доступна документация, и положение временного рабочего пространства, используемого демоном во время работы. 3. Запустите демон. Введите в командной строке: INIT_DIR/db2icd start где INIT_DIR - путь установки файла db2icd, который вы вывели ранее. После запуска демон будет использовать новые переменные среды. Кроме того, есть опция для закрытия и немедленного перезапуска демона. Введите в командной строке: INIT_DIR/db2icd restart где INIT_DIR - путь установки файла db2icd, который вы вывели ранее. В любое время вы можете проверить состояние демона. Введите в командной строке: INIT_DIR/db2icd status где INIT_DIR - путь установки файла db2icd, который вы вывели ранее. Демон вернет текущее состояние и выведет ID активного процесса или процессов демона. Ключевые слова файла ответов и примеры файлов Для установки Информационного центра DB2 Версии 8.2 при помощи файла ответов используйте следующую информацию: Ключевое слово файла ответов (PROD) INFORMATION_CENTER Имя файла ответов db2doce.rsp Коды ошибок установки с помощью файла ответов Следующий код ошибки используется только для Windows и не применяется в операционных системах Linux и UNIX. 3010 Установка выполнена успешно, но для ее завершения требуется перезапуск системы. Учетные записи пользователей, необходимые для установки серверов DB2 (Windows) Увеличивать квоты В операционных системах Windows XP и Windows Server 2003 право пользователя Увеличивать квоты заменено на Регулировать квоты памяти для процесса. Права пользователей, предоставляемые программой установки DB2 - Отлаживать программы Программа установки DB2 не предоставляет пользователям право Отлаживать программы. Программа установки DB2 предоставляет пользователям следующие права: * Действовать как часть операционной системы * Создавать объекты маркеров * Блокировать страницы в памяти * Регистрироваться как служба * Увеличивать квоты * Заменять маркер уровня процесса Поддержка асинхронного ввода-вывода (Linux) Поддержка асинхронного ввода-вывода (Asynchronous I/O, AIO) теперь доступна в Linux (ядро 2.6 и некоторые из ядер 2.4) для непосредственных устройств и файловых систем O_DIRECT. AIO увеличивает производительность очистки страниц. AIO можно включить и отключить в Linux командой db2set. Чтобы использовать AIO, пользователи должны установить libaio-0.3.98 или новее, а ядро должно поддерживать AIO. Кроме того, пользователи должны запустить команду db2set DB2LINUXAIO=true и перезапустить DB2 Universal Database. Команда db2ln изменена для возможности создания связей 64-битной библиотеки DB2 UDB (Linux и UNIX) В прежних уровнях DB2 Universal Database (UDB) Версии 8 команда db2ln создавала определенные связи DB2 в подкаталогах /usr/lib и /usr/include. На платформах, поддерживающих и 32-битные, и 64-битные экземпляры DB2 UDB эти связи указывают на библиотеку или включают файлы в DB2DIR/lib64 или DB2DIR/include64 по умолчанию, где DB2DIR - каталог установки DB2 UDB Версии 8. Если опция по умолчанию нежелательна, можно задать разрядность, введя команду db2ln с флагом -w: db2ln -w 32|64 Эта команда предотвращает сосуществование на одних и тех же платформах 32-битных и 64-битных экземпляров DB2 UDB. Начиная с DB2 UDB Версии 8.2, команда db2ln создает связи 64-битной библиотеки DB2 на этих платформах в соответствующих каталогах. В этом случае флаг -w используется только для заполнения каталога /usr/include. Когда команда db2ln создает связи для файлов библиотеки DB2 UDB, на поддерживаемых платформах создаются и 32-битные, и 64-битные связи. Эта команда допускает одновременное существование и работу 32-битных и 64-битных экземпляров. В некоторых дистрибутивах Linux поставляется команда разработки rpm libc с библиотекой /usr/lib/libdb2.so или /usr/lib64/libdb2.so. Эта библиотека используется для реализации Sleepycat Software's Berkeley DB, и она не связана с IBM DB2 UDB. Однако данный файл препятствует работе команды db2ln и команды db2rmln. Команда db2ln не перезаписывает этот файл, а команда db2rmln не удаляет его. В этом случае для возможности компиляции программ с использованием DB2 UDB процессам компиляции и компоновки необходимо задать полный путь к заголовкам и библиотекам DB2 UDB соответственно. Этот метод рекомендуется, поскольку он позволяет осуществлять компиляцию и компоновку для нескольких выпусков DB2 UDB на одном компьютере. Подробности об ограничениях при использовании команды db2ln смотрите в руководстве Установка и конфигурирование DB2 UDB Версии 8.2. Query Patroller Изменение поведения класса запросов При выполнении следующих задач из Центра Query Patroller или командной строки Query Patroller выводится предупреждение: * Добавление класса запросов * Удаление класса запросов * Изменение максимальной стоимости запроса для класса запросов Это предупреждение выглядит так: DQP1024W Creation, change, or removal of a query class will not take effect until the Query Patroller server is restarted. (Создание изменение или удаление класса запросов не вступит в силу, пока не будет перезапущен сервер Query Patroller.) В книге DB2 Query Patroller(TM) Guide: Installation, Administration, and Usage для Версии 8.2 сказано также, что необходимо перезапустить сервер Query Patroller после создания, изменения или удаления классов запросов, чтобы изменения вступили в силу. Указанные выше предупреждение и утверждение в книге теперь не совсем верны. Изменения, внесенные при выполнении перечисленных выше задач для класса запросов, вступают в силу немедленно, если нет выполняемых или внесенных в очередь запросов. Если есть выполняемые или внесенные в очередь запросы, включая вновь переданные запросы, изменения классов запросов вступят в силу после завершения выполнения этих запросов. Если вы не хотите ждать завершения выполнения всех внесенных в очередь и выполняющихся запросов, перезапустите сервер Query Patroller. Прим.: Как и в предыдущих версиях Query Patroller, изменение максимального числа запросов для класса запросов всегда вступает в силу немедленно. Изменения определений для состояний управляемых запросов Смыслы состояний запроса Отменен и Выполнен изменены следующим образом: Отменен Запрос отменен из Центра Query Patroller или командной строки Query Patroller администратором, передающим или оператором, в профиле которого есть привилегия MONITORING с полномочиями редактирования. В состояние отменен запросы можно перевести только из состояний выполняется, задержан, освобожден и в очереди. Выполнен Запрос успешно выполнен. Прим.: Хотя сам запрос выполнен без ошибок, прикладная программа может получать сообщение об ошибке, если выполнение запроса вызвало внешнее событие, например, запуск прикладной программы (командой DB2 force). Создание таблиц объяснения до запуска генератора данных хронологии Query Patroller Если при запуске генератора данных хронологии (historical data generator) для Query Patroller таблицы объяснения не существуют, генератор создаст их. Однако настоятельно рекомендуется создать таблицы объяснения до запуска генератора данных хронологии. Создавая таблицы объяснения, поместите их в одном разделе. Создание таблиц объяснения в том же разделе повысит производительность утилиты объяснения. Это повысит также производительность генератора данных хронологии. Проверка файлов журнала Query Patroller для хронологического анализа Если в столбце Explain Run (Запуск объяснения) отчета Query Activity over Time (Активность запросов по времени) хронологического анализа указано состояние Ran unsuccessfully (Неудачное выполнение), данные хронологии для этого запроса не сгенерированы. Поэтому такой запрос не появится в отчетах и диаграммах хронологического анализа. Как сказано в документации Версии 8, для определения причин неудачи запроса надо проверить файл qpuser.log. Кроме этого, проверьте файл qpdiag.log. Аварийное завершение генератора данных хронологии После запуска и аварийного завершения генератора данных хронологии при следующей попытке его запуска вы получите ошибку. Примеры аварийного завершения: * Неожиданная остановка DB2 Universal Database * Выполнение команды db2stop force * Выполнение команды killdb2 После аварийного завершения генератора данных хронологии перед попыткой повторного его запуска необходимо ввести следующую команду: qp -d база_данных generate historical_data stop где база_данных - база данных, для которой выполняется команда. Динамическое изменение классов запросов Для некоторых операций с классами запросов более не требуется останавливать и перезапускать Query Patroller, чтобы изменения вступили в силу. В следующей таблице активным запросом называется запрос в состоянии Выполняется или В очереди. Табл. 38. Условия, при которых вступают в силу изменения класса запросов +----------------------------------+----------------------------------+ | Тип изменения | Условия, при которых изменение | | | вступает в силу | +----------------------------------+----------------------------------+ | Добавление, удаление или | Если нет активных запросов, | | изменение класса запросов. | изменения вступают в силу | | | немедленно. | +----------------------------------+----------------------------------+ | Изменение класса запросов, при | Вступает в силу немедленно, даже | | котором изменяется только | если есть активные запросы. | | значение Максимальное число | | | запросов. | | +----------------------------------+----------------------------------+ | Изменение класса запросов, при | Если есть активные запросы, | | котором изменяется только | изменение вступит в силу: | | значение Максимальная стоимость | * После остановки и перезапуска | | запроса. | Query Patroller или | | | * Когда не будет более активных | | | запросов. | | | Прим.: Когда отложено вступление | | | в силу изменения значения | | | Максимальная стоимость запроса, | | | последующие любые изменения | | | классов запросов не вступят в | | | силу, пока не будет выполняться | | | одно из указанных выше условий. | +----------------------------------+----------------------------------+ | Добавление или удаление класса | Если есть активные запросы, | | запросов. | добавление или удаление вступит | | | в силу: | | | * После остановки и перезапуска | | | Query Patroller или | | | * Когда не будет более активных | | | запросов. | +----------------------------------+----------------------------------+ Поведение вложенных запросов Вложенные запросы не могут вноситься в очередь. Вместо этого они запускаются немедленно по превышении порога, который для обычных запросов вызывает внесение в очередь. Ограничения по типам операторов SQL В противоположность тому, что указано в более ранней документации, могут вноситься в очередь запросы со следующими операторами: * Запросы, содержащие статические операторы SQL с переменными хоста * Запросы, содержащие функцию значения идентификации (IDENTITY_VAL_LOCAL) или функцию значения последовательности, такую как NEXT VALUE FOR или PREVIOUS VALUE FOR Ограничение на разрешение экрана при использовании клиента Terminal Services При использовании клиента Terminal Services с разрешением 640x480 для соединения с удаленным настольным компьютером, на котором работает Центр Query Patroller, окно предпочтений передачи запросов может выглядеть пустым. Для правильного отображения окна предпочтений передачи запросов необходимо разрешение экрана выше 640x480. Новая поддержка групп для подачи запросов Начиная с Версии 8.2, DB2 Universal Database (UDB) поддерживает группы пользователей, отличные от групп операционной системы. С этим связано небольшое изменение в выпадающем списке Использовать профиль пользователя в окне предпочтений передачи запросов в Центре Query Patroller. Если вы зарегистрировались, но не имеете полномочий DBADM или привилегий редактирования для управление пользователями Query Patroller, вы можете добавлять и изменять предпочтения передачи запросов только для себя. В этом случае в выпадающем списке Использовать профиль пользователя помимо групп операционной системы, к которым вы принадлежите, будут существующие профили пользователей ваших групп DB2 UDB. Если вы зарегистрировались, и у вас есть полномочия DBADM или привилегии редактирования для управление пользователями Query Patroller, вы можете добавлять и изменять предпочтения передачи запросов для других пользователей. В этом случае в выпадающем списке Использовать профиль пользователя будут все существующие профили групповых пользователей. Ограничения расписания Query Patroller При работе с расписаниями в Центре Query Patroller в окне Расписание можно сохранять расписания в файл и затем импортировать их. Если у вас есть расписание, сохраненное на уровне пакета FixPak 6 или ранее, вы не можете импортировать данное расписание при помощи Версии 8.2 и новее. Это ограничение связано с различиями между уровнями JDK при преобразовании объектов Java в последовательную форму, которые появились, начиная с DB2 UDB Версии 8.2. Для использования команды RUN IN BACKGROUND QUERY требуется авторизация Для запуска команды RUN IN BACKGROUND QUERY необходимо быть пользователем, подавшим сам запрос. Создание алиаса для таблицы результатов Как и в Query Patroller Версии 8.1 FixPak 5, Query Patroller больше не создает таблиц результата в схеме, соответствующей ID авторизации передающего запрос. Вместо этого Query Patroller начал создавать таблицы результатов в общей схеме DB2QPRT. Чтобы на таблицы результатов можно было ссылаться при помощи схемы пользователя, в Query Patroller Версии 8.2 появилась опция автоматического создания алиаса для каждой новой таблицы результатов, создаваемой Query Patroller. Таблица результатов создается в схеме DB2QPRT, а алиас создается в схеме, соответствующей ID авторизации пользователя. Чтобы включить или отключить эту опцию, введите команду UPDATE QP_SYSTEM с опцией CREATE_RESULT_TABLE_ALIASES: >>-UPDATE QP_SYSTEM USING---------------------------------------> >--+-DEFAULT------------------------------+-------------------->< '-CREATE_RESULT_TABLE_ALIASES--+-'Y'-+-' '-'N'-' Удаление ничейных алиасов таблиц результатов Алиасы, созданные при помощи опции CREATE_RESULT_TABLE_ALIASES, автоматически отбрасываются, когда отбрасывается таблица результатов. Но есть две ситуации, в которых таблица результатов может оказаться отброшена без соответствующего алиаса. * Когда таблица результатов отбрасывается вручную, без использования qp в командной строке или Центра Query Patroller. * Когда таблица результатов отбрасывается при помощи команды qp в командной строке или из Центра Query Patroller от имени пользователя, не передававшего запрос и не имеющего полномочий DBADM. Чтобы вычистить алиасы, не соответствующие таблицам результатов, создана новая команда - REMOVE RESULT_TABLE_ALIASES. Эта команда выполняется при каждой очистке таблиц результата, что происходит автоматически как часть расписания очистки таблиц результата Query Patroller. Команда REMOVE RESULT_TABLE_ALIASES получает список алиасов для очистки при помощи следующего запроса: with a as (select tabschema, tabname from syscat.tables where type = 'A' and tabname like 'QUERY%_RESULTS'), t as (select tabname from syscat.tables where type = 'T' and tabname like 'QUERY%_RESULTS') select all tabschema, tabname from a where not exists (select * from t where t.tabname=a.tabname) Предварительные требования У вас должны быть полномочия DBADM. Порядок действий 1. Введите команду REMOVE RESULT_TABLE_ALIASES Это команда удалит все алиасы, оставшиеся после отбрасывания соответствующих таблиц результатов. Эти алиасы были созданы Query Patroller для таблиц результатов. Синтаксис команды >>-REMOVE RESULT_TABLE_ALIASES--------------------------------->< Прим.: О вводе команд Query Patroller из интерфейса командной строки и об общем синтаксисе команд Query Patroller смотрите в справке интерфейса командной строки Query Patroller. У ID изолированного пользователя должен быть доступ для записи в файл qpdiag.log и его каталог Query Patroller использует некоторые хранимые процедуры, которые могут записывать сообщения в файл журнала qpdiag.log. Поэтому у ID изолированного пользователя должен быть доступ для записи в файл qpdiag.log и в каталог, в котором находится этот файл. Быстрый старт Обновление Информационного центра DB2, установленного на вашем компьютере или на сервере интранета Чтобы обновить информационный центр DB2, установленный на локальном компьютере, можно загрузить последний пакет FixPack для документации по DB2 со страницы http://www.ibm.com/software/data/db2/udb/support/downloadv8_docfix.html. Однако пакеты FixPack для документации по DB2 выпускаются редко и могут не отражать текущее состояние документации по DB2. Последняя версия документации по DB2 всегда доступна в версии информационного центра DB2, расположенной по адресу: http://publib.boulder.ibm.com/infocenter/db2help/ Требования к памяти Для DB2 Universal Database (UDB) требуется не менее 256 Мбайт оперативной памяти. Для системы, в которой работают только DB2 UDB и инструменты DB2 GUI, требуется не менее 512 Мбайт оперативной памяти. Однако для повышения производительности рекомендуется 1 Гбайт оперативной памяти. В эти требования не включена дополнительная память, которая потребуется для прочих программ вашей системы. При определении требований к объему памяти учтите следующее: * Требования к памяти для поддержки клиентов DB2 приведены в расчете на 5 одновременных соединений клиентов. На каждые следующие 5 соединений требуется дополнительно 16 Мбайт оперативной памяти. * Требования к памяти зависят от размера и сложности системы баз данных, а также от степени активности базы данных и числа клиентов, обращающихся к системе. * В операционных системах Linux рекомендуется (хотя и не обязательно), чтобы пространство подкачки было как минимум вдвое больше объема оперативной памяти. Пояснения к поддержке клиента DB2 UDB В разделе "DB2 clients" (Обзор клиентов DB2) руководства DB2 Quick Beginnings for Clients для Версии 8.1 сказано: DB2 clients can connect to DB2 servers two releases later or one release earlier than the client's release level, as well as to servers at the same release level. (Клиенты DB2 могут подключаться к серверам DB2 одного с ними уровня выпуска, а также к серверам на два выпуска новее или на один выпуск старше.) Это утверждение надо скорректировать так: Хотя соединения клиента версии N с серверами версии N + 2 и возможны в некоторых средах, группа поддержки DB2 будет обеспечивать поддержку такой конфигурации только до тех пор, пока версия N обслуживается. Когда обслуживание версии N прекращается, прекращается и поддержка этой конфигурации группой поддержки DB2. Подключение клиентов DB2 Версии 7 к серверам DB2 Версии 8 группой поддержки DB2 больше не обеспечивается, поскольку Версия 7 уже не обслуживается. Изменение параметров ядра (Linux) Перед установкой DB2 UDB следует рассмотреть возможность изменения параметров ядра Linux. При необходимости DB2 Universal Database (UDB) автоматически увеличивает предельные параметры IPC. В зависимости от конкретной конфигурации вам может потребоваться увеличить эти предельные параметры еще больше. Предварительные требования Для обновления параметров ядра вам нужны права доступа root. Порядок действий Для обновления параметров ядра: Red Hat и SuSE В системах с ядром 2.4.x по умолчанию установлено значение параметра очереди сообщений (msgmni), позволяющее создать только несколько одновременных соединений с DB2 UDB. Кроме того, для работы с DB2 UDB нужно изменить параметры массива семафоров. Для проверки значений сегмента общей памяти, массива семафоров и очереди сообщений введите команду ipcs -l. Ниже показан пример вывода команды ipcs -l: # ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 // SHMMNI max seg size (kbytes) = 262144 // SHMMAX max total shared memory (kbytes) = 8388608 // SHMALL min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 1024 // SEMMNI max semaphores per array = 250 max semaphores system wide = 256000 max ops per semop call = 32 semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 1024 // MSGMNI max size of message (bytes) = 65535 // MSGMAX default max size of queue (bytes) = 16384 // MSGMNB где max semaphores system wide = max number of arrays x max semaphores/array Для 32-битного ядра Linux измените параметры ядра, добавив следующие записи в файл конфигурации системы по умолчанию /etc/sysctl.conf: kernel.msgmni = 1024 kernel.sem = "250 256000 32 1024" kernel.shmmax=268435456 Для 64-битного ядра Linux измените параметры ядра, добавив следующие записи в файл конфигурации системы по умолчанию /etc/sysctl.conf: kernel.msgmni = 1024 kernel.sem = "250 256000 32 1024" kernel.shmmax=1073741824 Вызовите sysctl с параметром -p, чтобы загрузить значения sysctl из файла /etc/sysctl.conf: sysctl -p Записи файла sysctl.conf будут прочитаны при загрузке сценарием инициализации сети. Для некоторых дистрибутивов продукта может потребоваться добавить команду sysctl -p в один из файлов инициализации системы (например, rc.local), чтобы параметры ядра устанавливались после каждой перезагрузки. Модификация параметров ядра (операционная среда Solaris) Ниже приведено исправление к теме "Modifying kernel parameters (Solaris Operating Environment)" (Модификация параметров ядра (операционная среда Solaris)) руководства Quick Beginnings for DB2 Servers: Для нормальной работы DB2 Universal Database (UDB) рекомендуется изменить параметры конфигурации ядра системы. Чтобы получить рекомендации по параметрам ядра, можно использовать утилиту db2osconf. Для использования команды db2osconf нужно сначала установить DB2 UDB. Утилиту db2osconf можно запускать только из каталога $DB2DIR/bin. После модификации параметров ядра необходимо перезагрузить систему. Руководство DB2 Universal Database Express Edition Version 8.2 Basics доступно для загрузки IBM DB2 Universal Database Express (DB2 UDB Express) - самый новый член семейства продуктов DB2 Universal Database Версии 8. Он сочетает в себе мощность, функциональность и надежность системы управления реляционными базами данных DB2 UDB - популярного продукта IBM - с простотой упаковки, установки и внедрения для решения задач управления данными в малом и среднем бизнесе при минимальных затратах. DB2 UDB Express разработана для заказчиков с минимальным опытом работы с базами данных, которым требуется простая в установке система, хорошо интегрируемая с используемыми ими программами. Это многопользовательская версия DB2 UDB, поддерживающая локальные и удаленные прикладные программы автономно и в локальной сети. Чтобы получить дополнительную информацию о DB2 UDB Express, загрузите книги Quick Beginnings for DB2 Express Edition и DB2 Universal Database Express Edition Version 8.2 Basics с Web-страницы руководств для продуктов DB2 UDB по адресу http://www.ibm.com/software/data/db2/udb/support/manualsv8.html Проверка готовности баз данных к перенастройке В версии 8.2 данной темы - как проверить готовность баз данных к перенастройке - содержится следующее предварительное требование: Предварительные требования Убедитесь, что в файле migration.log, находящемся в домашнем каталоге владельца экземпляра, есть следующий текст: Работающая версия DB2CKMIG: ВЕРСИЯ 8. На самом деле данная проверка является шагом, выполняемом в конце процедуры, после перенастройки. Сертификация Common Criteria для DB2 UDB Достоверная информация о конфигурациях DB2 UDB, сертифицированных для Common Criteria, есть здесь: http://niap.nist.gov/cc-scheme Модуль Spatial Extender Проверка правильности установки Spatial Extender Пример программы runGseDemo позволяет познакомиться с прикладным программированием для DB2 Spatial Extender. Описание шагов, выполняемых примером программы при создании баз для пространственных данных и при выполнении пространственного анализа данных в этой базе, смотрите в теме "Пример программы DB2 Spatial Extender" ("The DB2 Spatial Extender sample program"). Эта тема есть в Информационном центре и в руководстве Spatial Extender and Geodetic Extender User's Guide and Reference. DB2 Spatial Extender содержит еще одну программу примера, seBankDemoRunBankDemo, которая демонстрирует, как добавлять пространственные возможности в существующую информационную систему. Дополнительную информацию об этих примерах программ смотрите в файлах README в следующих каталогах: Windows ~\sqllib\samples\spatial ~\sqllib\samples\spatial\bank Linux и UNIX ~/sqllib/spatial ~/sqllib/spatial/bank Управляющие подпрограммы SQL В документации указано неверное имя столбца в наборе результатов для табличной функции SNAP_GET_DYN_SQL В Информационном центре DB2 Версии 8.2.2 (эквивалентна Версии 8.1 FixPak 9) в разделе о табличной функции SNAP_GET_DYN_SQL есть ошибка в описании набора результатов для этой табличной функции. Один из столбцов ошибочно назван STMT_TXT. Правильное имя этого выходного столбца - STMT_TEXT. Для табличных функций монитора снимков есть производные таблицы для конкретной версии Для следующих табличных функций, которые появились в DB2 Universal Database Версии 8.2.2 (эквивалентной Версии 8.1 FixPak 9) производные таблицы определены для конкретной версии: * SNAP_GET_CONTAINER * SNAP_GET_DB * SNAP_GET_DYN_SQL * SNAP_GET_STO_PATHS * SNAP_GET_TAB * SNAP_GET_TBSP * SNAP_GET_TBSP_PART Это следующие производные таблицы для конкретной версии: * SYSCATV82.SNAPCONT * SYSCATV82.SNAPDB * SYSCATV82.SNAPDYNSQL * SYSCATV82.SNAPSTOPATHS * SYSCATV82.SNAPTAB * SYSCATV82.SNAPTBSPACE * SYSCATV82.SNAPTBSPACEPART Поскольку таблицы результатов, создаваемые табличными функциями монитора снимков, могут изменяться от выпуска к выпуску, для работы с ними рекомендуется использовать производные таблицы для конкретной версии. Каждая такая производная таблица содержит все столбцы таблицы результатов соответствующей табличной функции монитора снимков. Для процедуры GET_DB_CONFIG требуется пользовательское временное табличное пространство с размером страницы не менее 8 Кбайт Для процедуры GET_DB_CONFIG требуется пользовательское временное табличное пространство с размером страницы не менее 8 Кбайт. Приведенный в документации пример использования процедуры GET_DB_CONFIG нужно заменить на следующий пример. Из процессора командной строки измените значения параметров конфигурации базы данных logretain и userexit. Получите исходные (на диске) и измененные (в памяти) значения, вызвав процедуру GET_DB_CONFIG. UPDATE DB CFG USING LOGRETAIN RECOVERY USEREXIT YES CALL SYSPROC.GET_DB_CONFIG() Ниже показан пример части выходных данных этого вызова процедуры. Result set 1 -------------- DBCONFIG_TYPE ... LOGRETAIN ... USEREXIT... ------------- ----------- ----------- 0 1 1 1 0 0 2 record(s) selected. Return Status = 0 SQL Reference Полномочия для оператора CREATE PROCEDURE (SQL) Если у ID авторизации для этого оператора есть полномочия SYSADM, но нет полномочий DBADM, этот ID неявным образом получает полномочия DBADM для создания процедуры. Этот относится только к оператору создания процедуры SQL, но не к оператору создания внешней процедуры. EXPLAIN_DIAGNOSTIC: Новая таблица объяснения Таблица EXPLAIN_DIAGNOSTIC содержит записи для каждого диагностического сообщения, сгенерированного для конкретного экземпляра объясненного оператора в таблице EXPLAIN_STATEMENT. Табличная функция EXPLAIN_GET_MSGS запрашивает таблицы объяснения EXPLAIN_DIAGNOSTIC и EXPLAIN_DIAGNOSTIC_DATA и возвращает форматированные сообщения. Табл. 39. Таблица EXPLAIN_DIAGNOSTIC Имя столбца | Тип | Допус | Кл | Описание | данных | тимос | юч | | | ть | 1 | | | пусты | | | | х | | | | значе | | | | ний | | --------------+----------+-------+----+------------------------------ EXPLAIN_REQU | VARCHAR( | Нет | PK | ID авторизации пользователя, ESTER | 128) | | , | потребовавшего объяснение. | | | FK | --------------+----------+-------+----+------------------------------ EXPLAIN_TIME | TIMESTAM | Нет | PK | Время запуска требования | P | | , | объяснения. | | | FK | --------------+----------+-------+----+------------------------------ SOURCE_NAME | VARCHAR( | Нет | PK | Имя выполняемого пакета при | 128) | | , | объяснении динамического | | | FK | оператора или имя исходного | | | | файла при объяснении | | | | статического оператора SQL. --------------+----------+-------+----+------------------------------ SOURCE_SCHEM | VARCHAR( | Нет | PK | Схема или спецификатор A | 128) | | , | источника требования | | | FK | объяснения. --------------+----------+-------+----+------------------------------ SOURCE_VERSI | VARCHAR( | Нет | PK | Версия источника требования ON | 64) | | , | объяснения. | | | FK | --------------+----------+-------+----+------------------------------ EXPLAIN_LEVE | CHAR(1) | Нет | PK | Уровень информации L | | | , | объяснения, к которой | | | FK | относится эта строка. | | | | Допустимые значения: | | | | * O: Исходный текст (как он | | | | был введен пользователем) | | | | * P: Выбор плана (PLAN | | | | SELECTION) --------------+----------+-------+----+------------------------------ STMTNO | INTEGER | Нет | PK | Номер оператора в пакете, к | | | , | которому относится эта | | | FK | информация объяснения. Для | | | | динамических операторов SQL | | | | имеет значение 1. Для | | | | статических операторов SQL | | | | это значение совпадает со | | | | значением в производной | | | | таблице каталога | | | | SYSCAT.STATEMENTS. --------------+----------+-------+----+------------------------------ SECTNO | INTEGER | Нет | PK | Номер раздела в пакете, | | | , | содержащем этот оператор | | | FK | SQL. Для динамических | | | | операторов SQL этот номер | | | | раздела указывает раздел для | | | | этого оператора во время | | | | выполнения. Для статических | | | | операторов SQL это значение | | | | совпадает со значением в | | | | производной таблице каталога | | | | SYSCAT.STATEMENTS. --------------+----------+-------+----+------------------------------ DIAGNOSTIC_I | INTEGER | Нет | PK | ID диагностики для D | | | | конкретного экземпляра | | | | оператора в таблице | | | | EXPLAIN_STATEMENT. --------------+----------+-------+----+------------------------------ CODE | INTEGER | Нет | Не | Уникальный номер, | | | т | назначенный каждому | | | | сообщению диагностики. API | | | | сообщений может использовать | | | | этот номер для получения | | | | полного текста | | | | диагностического сообщения. 1. PK означает, что столбец является частью первичного ключа; FK означает, что столбец является частью внешнего ключа. EXPLAIN_DIAGNOSTIC_DATA: Новая таблица объяснения Таблица EXPLAIN_DIAGNOSTIC_DATA содержит маркеры сообщений для конкретных диагностических сообщений, записанных в таблице EXPLAIN_DIAGNOSTIC. Маркеры сообщений содержат дополнительную информацию о выполнении оператора SQL, для которого сгенерировано сообщение. Табличная функция EXPLAIN_GET_MSGS запрашивает таблицы объяснения EXPLAIN_DIAGNOSTIC и EXPLAIN_DIAGNOSTIC_DATA и возвращает форматированные сообщения. Табл. 40. Таблица EXPLAIN_DIAGNOSTIC_DATA Имя столбца | Тип | Допус | Кл | Описание | данных | тимос | юч | | | ть | 1 | | | пусты | | | | х | | | | значе | | | | ний | | --------------+----------+-------+----+------------------------------ EXPLAIN_REQU | VARCHAR( | Нет | FK | ID авторизации пользователя, ESTER | 128) | | | потребовавшего объяснение. --------------+----------+-------+----+------------------------------ EXPLAIN_TIME | TIMESTAM | Нет | FK | Время запуска требования | P | | | объяснения. --------------+----------+-------+----+------------------------------ SOURCE_NAME | VARCHAR( | Нет | FK | Имя выполняемого пакета при | 128) | | | объяснении динамического | | | | оператора или имя исходного | | | | файла при объяснении | | | | статического оператора SQL. --------------+----------+-------+----+------------------------------ SOURCE_SCHEM | VARCHAR( | Нет | FK | Схема или спецификатор A | 128) | | | источника требования | | | | объяснения. --------------+----------+-------+----+------------------------------ SOURCE_VERSI | VARCHAR( | Нет | FK | Версия источника требования ON | 64) | | | объяснения. --------------+----------+-------+----+------------------------------ EXPLAIN_LEVE | CHAR(1) | Нет | FK | Уровень информации L | | | | объяснения, к которой | | | | относится эта строка. | | | | Допустимые значения: | | | | * O: Исходный текст (как он | | | | был введен пользователем) | | | | * P: Выбор плана (PLAN | | | | SELECTION) --------------+----------+-------+----+------------------------------ STMTNO | INTEGER | Нет | FK | Номер оператора в пакете, к | | | | которому относится эта | | | | информация объяснения. Для | | | | динамических операторов SQL | | | | имеет значение 1. Для | | | | статических операторов SQL | | | | это значение совпадает со | | | | значением в производной | | | | таблице каталога | | | | SYSCAT.STATEMENTS. --------------+----------+-------+----+------------------------------ SECTNO | INTEGER | Нет | FK | Номер раздела в пакете, | | | | содержащем этот оператор | | | | SQL. Для динамических | | | | операторов SQL этот номер | | | | раздела указывает раздел для | | | | этого оператора во время | | | | выполнения. Для статических | | | | операторов SQL это значение | | | | совпадает со значением в | | | | производной таблице каталога | | | | SYSCAT.STATEMENTS. --------------+----------+-------+----+------------------------------ DIAGNOSTIC_I | INTEGER | Нет | PK | ID диагностики для D | | | | конкретного экземпляра | | | | оператора в таблице | | | | EXPLAIN_STATEMENT. --------------+----------+-------+----+------------------------------ ORDINAL | INTEGER | Нет | Не | Позиция маркера в полном | | | т | тексте сообщения. --------------+----------+-------+----+------------------------------ TOKEN | VARCHAR( | Да | Не | Маркер сообщения для вставки | 1000) | | т | в полный текст сообщения; | | | | может быть усечен. --------------+----------+-------+----+------------------------------ TOKEN_LONG | BLOB(3M) | Да | Не | Более подробная информация | | | т | (если доступна). 1. PK означает, что столбец является частью первичного ключа; FK означает, что столбец является частью внешнего ключа. Схема, используемая возможностью объяснения При задании заполняемых таблиц объяснения функция объяснения использует в качестве схемы следующие ID: * ID авторизации сеанса для динамического оператора SQL * ID авторизации оператора для статического оператора SQL Схему можно связать с набором таблиц объяснения или алиасами, указывающими на набор таблиц объяснения в другой схеме. Если в данной схеме не найдено таблиц объяснений, функция объяснения пытается найти таблицы объяснения в схеме SYSTOOLS и использовать их. Строчные представления значений даты и времени Строки времени Строчные представление времени - это строка, начинающаяся с цифры и имеющая длину не менее 4 символов. Строка может оканчиваться пробелами; ноль в начале числа часов можно опускать; секунды можно опустить полностью. Если секунды опущены, считается, что неявно задано 0 секунд. Таким образом, 13:30 эквивалентно 13:30:00. Допустимые форматы для строк времени перечислены в следующей таблице. Для каждого формата указывается имя и соответствующая аббревиатура. Табл. 41. Форматы строчного представления времени +---------------------------+-------------+-------------+-------------+ | Имя формата | Аббревиатур | Формат | Пример | | | а | времени | | +---------------------------+-------------+-------------+-------------+ | Международная организация | ISO | чч.мм.сс | 13.30.05 | | по стандартизации | | | | +---------------------------+-------------+-------------+-------------+ | Американский стандарт IBM | USA | чч:мм AM | 1:30 PM | | | | или PM | | +---------------------------+-------------+-------------+-------------+ | Европейский стандарт IBM | EUR | чч.мм.сс | 13.30.05 | +---------------------------+-------------+-------------+-------------+ | Японский промышленный | JIS | чч:мм:сс | 13:30:05 | | стандарт н.э. | | | | +---------------------------+-------------+-------------+-------------+ | Стандарт узла | LOC | Зависит от | - | | | | кода | | | | | территории | | | | | прикладной | | | | | программы | | +---------------------------+-------------+-------------+-------------+ Начиная с Версии 8.2, "AM" и "PM" можно задавать и в нижнем, и в верхнем регистре. Системный монитор Краткое описание индикаторов работоспособности В Информационном центре DB2 для Версии 8.2.2 в разделе "Краткое описание индикаторов работоспособности" неправильно назван идентификатор индикатора работоспособности для автоматического использования памяти базы данных - db.db_auto_storage_util. Правильный идентификатор для этого индикатора работоспособности - db.auto_storage_util. Вывод отсоединенных прикладных программ не требует соединения с концентратором При вводе команды list applications можно видеть отсоединенные прикладные программы, даже если не включено соединение с концентратором. Мониторинг процесса отката времени выполнения Мониторинг процесса отката времени выполнения выводит информацию о событиях отката, используя снимки прикладных программ. Есть два типа событий отката: Откат единицы работы Включает явный (запущенный пользователем) и неявный (принудительный) откат всей транзакции. Откат точек сохранения Включает точки сохранения уровня оператора и прикладной программы. Вложенные точки сохранения считаются одной единицей, и используется самая внешняя точка сохранения. Выводится информация о времени начала события отката, об общей необходимой работе и о выполненной работе. Работа измеряется в байтах. Общая работа - это диапазон потока журнала, охватываемый откатом транзакции или точки сохранения. Выполненная работа - это относительная позиция записи в потоке журнала, до которой откат уже выполнен. Выполненная работа обновляется после обработки каждой записи журнала. Обновления происходят неравномерно, поскольку записи журнала не одинаковы по размеру. Пример отчета, выводимого командой GET SNAPSHOT FOR ALL APPLICATIONS Снимок программы Хэндл прикладной программы = 6 Состояние программы = Выполняется откат Время начала = 02/20/2004 12:49:27.713720 Выполненная работа = 1024000 байт Общая работа = 4084000 байт Снимок программы Хэндл прикладной программы = 10 Состояние программы = Откат до точки сохранения Время начала = 02/20/2004 12:49:32.832410 Выполненная работа = 102400 байт Общая работа = 2048000 байт Прим.: Если в момент снимка откат не активен, элементы не выводятся. XML Extender Изменение параметра для хранимых процедур dxxGenXML, dxxGenXMLClob, dxxRetrieveXML и dxxRetrieveXMLClob Изменено описание параметра override для следующих хранимых процедур: * dxxGenXML() * dxxGenXMLClob() * dxxRetrieveXML() * dxxRetrieveXMLClob() Внесено следующее изменение: Параметры Табл. 42. Параметр override для хранимых процедур dxxGenXML, dxxGenXMLClob, dxxRetrieveXML и dxxRetrieveXMLClob +-----------+--------------------------------------------+------------+ | Параметр | Описание | Входной/вы | | | | ходной | | | | параметр | +-----------+--------------------------------------------+------------+ | override | Переопределяет условие в файле DAD. | IN | | | Входное значение основывается на типе | | | | overrideType. | | | | * NO_OVERRIDE: Пустая строка. | | | | * SQL_OVERRIDE: Допустимый оператор SQL. | | | | При применении этого типа overrideType | | | | требуется использование в файле DAD | | | | отображения SQL. Входной оператор SQL | | | | переопределяет SQL_stmt в файле DAD. | | | | * XML_OVERRIDE: Строка, содержащая одно | | | | или несколько выражений, разделенных | | | | словом AND. При применении этого типа | | | | overrideType требуется использование в | | | | файле DAD отображения RDB_node. | | +-----------+--------------------------------------------+------------+ Анализ документов XML с преобразованием в данные DB2 UDB Ограничения на размер таблицы анализа документов При анализе документов XML используется отображение RDB_node для задания способа анализа документа XML с преобразованием в таблицы DB2 UDB, при котором значения элементов и атрибутов извлекаются из документа и сохраняются в строках таблицы. Значения из каждого документа XML хранятся в одной или нескольких таблицах DB2 UDB. Для каждого документа XML каждую таблицу можно разбить максимум на 10240 строк. Например, при анализе документа XML с преобразованием в пять таблиц каждая из таблиц может содержать для этого конкретного документа до 10240 строк. Если таблица содержит строки для нескольких документов, для каждого из этих документов в таблице может быть до 10240 строк. На число в таблице влияет использование элементов с несколькими вхождениями (элементов, пути положений которых в структуре XML могут встречаться несколько раз). Например, документ с 20 вхождениями элемента , может проанализирован с преобразованием в 20 строк в таблице. При использовании элементов с несколькими вхождениями имейте в виду, что для одного документа XML одна таблица может быть разбита максимум на 10240 строк. Анализ документов размером больше 1 Мбайта Для анализа документов размером больше 1 Мбайта не требуется отбрасывать и заново создавать хранимую процедуру dxxShredXML. Для анализа документов, размер которых больше 1 Мбайта, вызывайте хранимую процедуру dxxShredXML100MB, которая может разделять на части документы размером до 100 Мбайт. Процедура dxxShredXML100MB может обрабатывать большие документы, но для ее успешной работы, возможно, нужно увеличить объем других ресурсов. Для запуска этой хранимой процедуры в примере программы dxxshrd используйте новый флаг " -large". Например: dxxshrd -large mydb xxx.xml Если используется DB2 Universal Database версии ранее Версии 8 FixPak 6, нужно запустить dxxMigv для перенастройки XML Extender в текущий уровень, чтобы можно было запускать эту новую хранимую процедуру. Конфигурирование пользовательских функций MQ XML при помощи XML Extender Перед использованием пользовательских функций MQ XML их надо сконфигурировать и включить. Предварительные требования Установите пользовательские функции, как описано в теме "Установка функций DB2 WebSphere MQ", которую можно найти в Информационном центре или в руководстве IBM DB2 Information Integrator Application Developer's Guide. Порядок действий Чтобы сконфигурировать и включить пользовательские функции MQ XML при помощи XML Extender: 1. Откройте окно командной строки DB2. 2. Соединитесь с базой данных, которая будет использовать пользовательские функции MQ XML, введя команду: db2 connect to <база-данных> 3. Перейдите в каталог bnd пути установки DB2 Universal Database, например: * SQLLIB/bnd (Linux и UNIX) * C:\Program Files\IBM\SQLLIB\bnd (Windows) 4. Свяжите базу данных с XML Extender, введя команду: db2 bind @dbxxbind.lst 5. Свяжите базу данных, чтобы XML Extender использовал пользовательские функции MQ XML, используя команду: db2 bind mqxml.bnd 6. Свяжите базу данных с CLI, введя команду: db2 bind @db2cli.lst Переменная среды XML Extender DB2DXX_MIN_TMPFILE_SIZE DB2 XML Extender может помещать большие документы во временные файлы, чтобы при обработке не использовать много памяти. В системах с большим объемом физической памяти вы можете избежать перемещения документов во временные файлы и уменьшить число операций ввода-вывода. Переменная среды DB2DXX_MIN_TMPFILE_SIZE указывает XML Extender использовать буферы памяти вместо временных файлов при обработке документов меньше заданного значения. Переменная применима только на сервере. Если в многораздельной среде участвует несколько физических узлов, можно задать разные значения переменной на разных узлах, что позволяет точно отразить объем установленной памяти на каждом компьютере. Если данная переменная среды не задана, документы больше 128 Кбайт при обработке будут автоматически помещаться во временные файлы. Документы меньше 128 Кбайт будут обрабатываться в памяти. Переопределение пользовательского типа DB2XML.XMLVarchar Можно переопределить пользовательский тип DB2XML.XMLVarchar, задав до 32 Кбайт. Чтобы изменить размер пользовательского типа XMLVarchar, создайте этот тип до включения XML Extender в базе данных. Дополнительную информацию смотрите в разделе DB2 XML Extender Administration and Programming. Приложение A. Структура каталога компакт-диска DB2 UDB FixPak Операционные системы Windows Файлы на компакт-диске FixPak находятся в следующих каталогах: Табл. 43. Файлы Windows +------------------+--------------------------------------------------+ | Файлы | Положение | +------------------+--------------------------------------------------+ | Файлы продуктов | x:\db2 | | DB2: | | +------------------+--------------------------------------------------+ | Предварительные | x:\doc\<язык>\install.txt | | условия для | | | установки: | | +------------------+--------------------------------------------------+ | Предварительные | x:\doc\<язык>\install.htm | | условия для | | | установки | | | (HTML): | | +------------------+--------------------------------------------------+ | Файлы лицензий: | x:\db2\license | +------------------+--------------------------------------------------+ | Замечания по | x:\doc\<язык>\release.txt | | выпуску: | | +------------------+--------------------------------------------------+ | Замечания по | x:\doc\<язык>\db2ir\index.htm | | выпуску (HTML): | | +------------------+--------------------------------------------------+ где: * x: - дисковод компакт-диска * <язык> - пятисимвольный код нужного языка, как указано в Табл. 45 Операционные системыUNIX Файлы на компакт-диске FixPak находятся в следующих каталогах: Табл. 44. Файлы UNIX +------------------+--------------------------------------------------+ | Файлы | Положение | +------------------+--------------------------------------------------+ | Файлы продуктов | /cdrom/db2 | | DB2: | | +------------------+--------------------------------------------------+ | Предварительные | /cdrom/doc/<язык>/install.txt | | условия для | | | установки: | | +------------------+--------------------------------------------------+ | Предварительные | /cdrom/doc/<язык>/install.htm | | условия для | | | установки | | | (HTML): | | +------------------+--------------------------------------------------+ | Файлы лицензий: | /cdrom/db2/license | +------------------+--------------------------------------------------+ | Замечания по | /cdrom/doc/<язык>/release.txt | | выпуску: | | +------------------+--------------------------------------------------+ | Замечания по | /cdrom/doc/<язык>/db2ir/index.htm | | выпуску (HTML): | | +------------------+--------------------------------------------------+ где: * /компакт-диск - точка монтирования * <язык> - пятисимвольный код нужного языка, как указано в Табл. 45 Ниже в таблице перечислены каталоги языков и соответствующие языки. Табл. 45. Имена каталогов и соответствующие языки +----------------+----------------------------------------------------+ | Каталог | Язык | +----------------+----------------------------------------------------+ | ar_AA | Арабский | +----------------+----------------------------------------------------+ | bg_BG | Болгарский | +----------------+----------------------------------------------------+ | cs_CZ | Чешский | +----------------+----------------------------------------------------+ | da_DK | Датский | +----------------+----------------------------------------------------+ | de_DE | Немецкий | +----------------+----------------------------------------------------+ | el_GR | Греческий | +----------------+----------------------------------------------------+ | en_US | Английский | +----------------+----------------------------------------------------+ | es_ES | Испанский | +----------------+----------------------------------------------------+ | fi_FI | Финский | +----------------+----------------------------------------------------+ | fr_FR | Французский | +----------------+----------------------------------------------------+ | hr_HR | Хорватский | +----------------+----------------------------------------------------+ | hu_HU | Венгерский | +----------------+----------------------------------------------------+ | it_IT | Итальянский | +----------------+----------------------------------------------------+ | iw_IL | Иврит | +----------------+----------------------------------------------------+ | ja_JP | Японский | +----------------+----------------------------------------------------+ | ko_KR | Корейский | +----------------+----------------------------------------------------+ | nl_NL | Голландский | +----------------+----------------------------------------------------+ | no_NO | Норвежский | +----------------+----------------------------------------------------+ | pl_PL | Польский | +----------------+----------------------------------------------------+ | pt_BR | Бразильский португальский | +----------------+----------------------------------------------------+ | pt_PT | Португальский | +----------------+----------------------------------------------------+ | ro_RO | Румынский | +----------------+----------------------------------------------------+ | ru_RU | Русский | +----------------+----------------------------------------------------+ | sk_SK | Словацкий | +----------------+----------------------------------------------------+ | sl_SI | Словенский | +----------------+----------------------------------------------------+ | sv_SE | Шведский | +----------------+----------------------------------------------------+ | tr_TR | Турецкий | +----------------+----------------------------------------------------+ | zh_CN | Китайский (КНР) | +----------------+----------------------------------------------------+ | zh_TW | Китайский (Тайвань) | +----------------+----------------------------------------------------+ Прим.: 1. Имена каталогов могут выводиться буквами верхнего или нижнего регистра в зависимости от операционной системы. 2. Перечисленные выше каталоги могут отсутствовать на компакт-диске, поскольку не на всех компакт-дисках есть все языковые каталоги. 3. Начиная с Версии 8.2, Замечания по установке включены в качестве раздела в Замечания по выпуску. Приложение B. Как связаться с IBM В Соединенных Штатах позвоните по одному из следующих номеров: * 1-800-IBM-SERV (1-800-426-7378), чтобы обратиться в службу поддержки заказчиков * 1-888-426-4343, чтобы узнать о доступных формах обслуживания. * 1-800-IBM-4YOU (426-4968), чтобы обратиться в отдел маркетинга и продаж DB2 В Канаде позвоните по одному из следующих номеров: * 1-800-IBM-SERV (1-800-426-7378), чтобы обратиться в службу поддержки заказчиков * 1-800-465-9600, чтобы узнать о доступных формах обслуживания. * 1-800-IBM-4YOU (1-800-426-4968), чтобы обратиться в отдел маркетинга и продаж DB2 Адрес отделения IBM в вашей стране или регионе можно найти на странице IBM Directory of Worldwide Contacts в Интернете по адресу http://www.ibm.com/planetwide B.1 Информация о продукте Информацию о продуктах DB2 Universal Database можно получить по телефону или в Интернете по адресу http://www.ibm.com/software/data/db2/udb Этот сайт содержит свежую информацию по технической библиотеке, заказу книг, загружаемые продукты, группы новостей, пакеты FixPaks, новости и ссылки на ресурсы в Интернете. Если вы находитесь в США, позвоните по одному из следующих номеров: * 1-800-IBM-CALL (1-800-426-2255), чтобы заказать продукты или получить общую информацию. * 1-800-879-2755, чтобы заказать публикации. Информацию о том, как связаться с IBM из других стран, смотрите на странице IBM Worldwide по адресу www.ibm.com/planetwide Приложение C. Замечания IBM может предлагать описанные продукты, услуги и возможности не во всех странах. Сведения о продуктах и услугах, доступных в настоящее время в вашей стране, можно получить в местном представительстве IBM. Любые ссылки на продукты, программы или услуги IBM не означают явным или неявным образом, что можно использовать только продукты, программы или услуги IBM. Разрешается использовать любые функционально эквивалентные продукты, программы или услуги, если при этом не нарушаются права IBM на интеллектуальную собственность. Однако ответственность за оценку и проверку работы любых продуктов, программ и услуг других фирм лежит на пользователе. Фирма IBM может располагать патентами или рассматриваемыми заявками на патенты, относящимися к предмету данного документа. Получение этого документа не означает предоставления каких-либо лицензий на эти патенты. Запросы по поводу лицензий следует направлять в письменной форме по адресу: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. По поводу лицензий, связанных с использованием наборов двухбайтных символов (DBCS), обращайтесь в отдел интеллектуальной собственности IBM в вашей стране/регионе или направьте запрос в письменной форме по адресу: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan Следующий абзац не применяется в Великобритании или в любой другой стране/регионе, где подобные заявления противоречат местным законам: КОРПОРАЦИЯ INTERNATIONAL BUSINESS MACHINES ПРЕДСТАВЛЯЕТ ДАННУЮ ПУБЛИКАЦИЮ "КАК ЕСТЬ" БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ПРЕДПОЛАГАЕМЫЕ ГАРАНТИИ СОВМЕСТИМОСТИ, РЫНОЧНОЙ ПРИГОДНОСТИ И СООТВЕТСТВИЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. В некоторых странах для определенных сделок подобные оговорки не допускаются; таким образом, это утверждение может не относиться к вам. Данная информация может содержать технические неточности и типографские опечатки. Периодически в информацию вносятся изменения, они будут включены в новые издания этой публикации. Фирма IBM может в любое время без уведомления вносить изменения и усовершенствования в продукты и программы, описанные в этой публикации. Любые ссылки в данной информации на сайты, не принадлежащие IBM, приводятся только для удобства и никоим образом не означают поддержки IBM этих сайтов. Материалы этих сайтов не являются частью данного продукта IBM, и вы можете использовать их только на собственную ответственность. IBM может использовать или распространять присланную вами информацию любым способом, как фирма сочтет нужным, без каких-либо обязательств перед вами. Если обладателю лицензии на данную программу понадобятся сведения о возможности: (i) обмена данными между независимо разработанными программами и другими программами (включая данную) и (ii) совместного использования таких данных, он может обратиться по адресу: IBM Canada Limited Office of the Lab Director 8200 Warden Avenue Markham, Ontario L6G 1C7 CANADA Такая информация может быть предоставлена на определенных условиях (в некоторых случаях к таким условиям может относиться оплата). Лицензированная программа, описанная в данном документе, и все лицензированные материалы, доступные с ней, предоставляются IBM на условиях IBM Customer Agreement (Соглашения IBM с заказчиком), Международного соглашения о лицензиях на программы IBM или эквивалентного соглашения. Приведенные данные о производительности измерены в контролируемой среде. Таким образом, результаты, полученные в других операционных средах, могут существенно отличаться от них. Некоторые показатели измерены получены в системах разработки и нет никаких гарантий, что в общедоступных системах эти показатели будут теми же. Более того, некоторые результаты могут быть получены путем экстраполяции. Реальные результаты могут отличаться от них. Пользователи должны проверить данные для своих конкретных сред. Информация о продуктах других фирм получена от поставщиков этих продуктов, из их опубликованных объявлений или из других общедоступных источников. Фирма IBM не проверяла эти продукты и не может подтвердить точность измерений, совместимость или прочие утверждения о продуктах других фирм. Вопросы о возможностях продуктов других фирм следует направлять поставщикам этих продуктов. Все утверждения о будущих планах и намерениях IBM могут быть изменены или отменены без уведомлений, и описывают исключительно цели фирмы. Эта информация может содержать примеры данных и отчетов, иллюстрирующие типичные деловые операции. Чтобы эти примеры были правдоподобны, в них включены имена лиц, названия компаний и товаров. Все эти имена и названия вымышлены и любое их сходство с реальными именами и адресами полностью случайно. ЛИЦЕНЗИЯ НА КОПИРОВАНИЕ: Эта информация может содержать примеры прикладных программ на языках программирования, иллюстрирующих приемы программирования для различных операционных платформ. Разрешается копировать, изменять и распространять эти примеры программ в любой форме без оплаты фирме IBM для целей разработки, использования, сбыта или распространения прикладных программ, соответствующих интерфейсу прикладного программирования операционных платформ, для которых эти примера программ написаны. Эти примеры не были всесторонне проверены во всех возможных условиях. Поэтому IBM не может гарантировать их надежность, пригодность и функционирование. Каждая копия программ примеров или программ, созданных на их основе, должна содержать следующее замечание об авторских правах: (C) (название вашей фирмы) (год). Части этого кода построены на основе примеров программ IBM Corp. (C) Copyright IBM Corp. _вставьте год или годы_. Все права защищены. C.1 Товарные знаки Следующие термины, используемые по крайней мере в одном из документов библиотеки документации DB2 UDB, являются товарными знаками корпорации International Business Machines в Соединенных Штатах и/или в других странах. ACF/VTAM iSeries AISPO LAN Distance AIX MVS AIXwindows MVS/ESA AnyNet MVS/XA APPN Net.Data AS/400 NetView BookManager OS/390 C Set++ OS/400 C/370 PowerPC CICS pSeries Database 2 QBIC DataHub QMF DataJoiner RACF DataPropagator RISC System/6000 DataRefresher RS/6000 DB2 S/370 DB2 Connect SP DB2 Extenders SQL/400 DB2 OLAP Server SQL/DS DB2 Information Integrator System/370 DB2 Query Patroller System/390 DB2 Universal Database SystemView Distributed Relational Tivoli Database Architecture VisualAge DRDA VM/ESA eServer VSE/ESA Extended Services VTAM FFST WebExplorer First Failure Support Technology WebSphere IBM WIN-OS/2 IMS z/OS IMS/ESA zSeries Следующие термины, используемые по крайней мере в одном из документов библиотеки документации DB2 UDB, являются товарными знаками или зарегистрированными товарными знаками других компаний: Microsoft, Windows, Windows NT и логотип Windows - товарные знаки Microsoft Corporation в Соединенных Штатах и в других странах. Intel и Pentium - товарные знаки Intel Corporation в Соединенных Штатах и/или других странах. Java и все товарные знаки на основе Java - товарные знаки Sun Microsystems, Inc. в Соединенных Штатах и/или в других странах. UNIX - зарегистрированный товарный знак The Open Group в Соединенных Штатах и в других странах. Linux - товарный знак Линуса Торвальдса в Соединенных Штатах и/или других странах. Названия других компаний, продуктов и услуг могут быть товарными знаками или марками сервиса других фирм.