IBM DB2 Universal Database Замечания по выпуску Версия 8.2 FixPak 1 (эквивалентна Версии 8.1 FixPak 8) Перед тем как использовать данный документ и продукт, описанный в нем, прочтите общие сведения под заголовком Замечания. Этот документ содержит информацию, которая является собственностью 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 - 2004. Все права защищены. Содержание О замечаниях по выпуску Об этом выпуске Новое в этом выпуске Усовершенствования в DB2 UDB Workgroup Server Edition и DB2 UDB Workgroup Server Unlimited Edition Поддержка DB2 UDB на платформах Windows AMD64 Создание 32-битных и 64-битных экземпляров Новая переменная реестра: DB2_ASYNC_IO_MAXFILOP Новое пользовательское табличное пространство SMS для индикаторов автоматического обслуживания и работоспособности обслуживания Хронология исправлений продукта Совместимость с ранними версиями Совместимость баз данных DB2 UDB Версии 8.2 с ранними версиями Пояснения к поддержке клиента DB2 UDB Изменения в реестре работоспособности при перенастройке из DB2 UDB Версии 8.2 обратно в DB2 UDB Версии 8.1 Альтернативные пакеты FixPak (Linux и UNIX) Ограничения поддержки прежних версий сервера Центра хранилищ данных Для поддержки SQLJ и SQL Assist в DB2 UDB for OS/390 Версии 6 и DB2 UDB for z/OS Версии 7 необходимы исправления APAR Центра разработки Из DB2 UDB запускаются две версии SQL Assist Изменение поведения сервера Unicode Изменения параметров конфигурации базы данных во время перенастройки Усовершенствования в сообщениях формата db2diag.log Теперь в журнал записываются переменные реестра профиля db2set и параметры конфигурации DB или DBM Совместимость программных продуктов В 64-битных операционных системах требуется исправление Microsoft XP Операционные системы Windows XP Отдельно поставляется опция DB2 UDB HADR Менеджер хранилищ DB2 (Версия 8.2) и сервер IBM DB2 OLAP Server FP3 и новее Поддержка Red Hat Linux при работе с Центром хранилищ данных Альтернативные таблицы преобразования Unicode для идентификатора кодового набора символов (CCSID) 5039 Замена таблиц преобразования Unicode для идентификатора кодового набора символов (CCSID) 5039 на таблицы преобразования версии Microsoft Альтернативные таблицы преобразования Unicode для идентификатора кодового набора символов (CCSID) 954 Замена таблиц преобразования Unicode для идентификатора кодового набора символов (CCSID) 954 на таблицы преобразования версии Microsoft Альтернативные таблицы преобразования Unicode для идентификатора кодового набора символов (CCSID) 943 Замена таблиц преобразования Unicode для идентификатора кодового набора символов (CCSID) 943 на таблицы преобразования версии Microsoft Операционная система MVS не поддерживается Операции резервного копирования и восстановления (Linux 390) Включение закрепления окон при обращении к Центру разработки при помощи Hummingbird Exceed Информация об установке, перенастройке, обновлении и конфигурировании Требования к аппаратному и программному обеспечению Замечания по установке Путь каталога не может содержать пробелов (Linux и UNIX) Уровни JDK для DB2 UDB (Linux на IA64 и Linux на PowerPC) Распаковка сжатых установочных образов (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) Инструмент сокращения установочного образа (Windows) Ограничение установки документации DB2 Universal Database Версии 8 в формате HTML (Windows) Обновление предыдущих установок до последнего уровня (Windows) Системные требования для DB2 .NET Data Provider (Windows) Установка клиентов DB2 Версии 8 и DB2 Connect PE без полномочий администратора (Windows) Замечания по перенастройке Перенастройка DB2 Universal Database (Windows) Перенастройка DB2 Universal Database при использовании DataJoiner или репликации Перенастройка базы данных DB2 Версии 8 из 32-битной системы Windows в 64-битную систему Windows Перенастройка модуля XML Extender из предыдущих версий Перенастройка баз данных (HP-UX на IA64) Информация деинсталляции Деинсталляция DB2 UDB в режиме без вывода сообщений (Windows) Код продукта для удаления Информационного центра DB2в автоматическом режиме (Windows) Ограничения IMPORT REPLACE игнорирует условие Not Logged Initially Экспорт данных ODBC в прикладную программу файлового хранилища Типы данных, не поддерживаемые во встроенном отладчике SQL Центра разработки Структурированные типы в Центре разработки Ограничения Центра разработки в 64-битных операционных системах Центр разработки (Linux) Отладка хранимых процедур с символами двойных кавычек Задание необходимых путей для компиляции процедур Java в Центре разработки Ограничения Центра разработки на одновременное выполнение и отладку хранимых процедур Java Указатели в прикладных программах PHP Процедура AM_GET_LOCK_RPT не поддерживается в среде многораздельной базы данных (AIX) Не поддерживаются четыре подпрограммы SQL управления Ограничения на опции связывания для пакетов CLI Ограничение на задание имен столбцов в CLI LOAD Ошибки при сообщении об успешной регистрации во время попытки соединения (AIX) Ограничения поддержки SNA в Версии 8 Не поддерживается создание базы данных каталога инструментов (Linux for AMD64) Не поддерживается создание базы данных каталога инструментов (AIX, операционная среда Solaris и HP-UX) Ограничения на память для DB2 UDB Express и DB2 Workgroup Server Edition V8.2 Ограничения экземпляра 64-битного сервера DB2 UDB Workgroup Server Edition Планирование периодического запуска процесса хранилища При загрузке или импорте на странице Столбцы не поддерживаются символы DBCS в файлах IXF Сложности и ограничения, связанные с подключаемым модулем защиты для клиентов DB2 UDB (Windows) Не поддерживается двухчастный ID пользователя (Windows ME) Минимальные параметры дисплея для инструментов с графическим интерфейсом Таблицы Центра каталогов данных не могут быть многораздельными Неправильный показ символов GB18030 в полосе заголовка окна Ограничения Query Patroller при отключении DYN_QUERY_MGMT Таблицы результатов Query Patroller теперь используют схему DB2QPRT Ограничения индикатора работоспособности Известные проблемы и обходные приемы Инструмент db2nkill не поставляется с DB2 UDB Workgroup Server Edition Команда "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) DB2 Connect Custom Advisor Создание базы данных каталога инструментов завершается неудачно (HP-UX) Вывод индийских символов в инструментах GUI DB2 Инструменты с графическим интерфейсом не поддерживаются для серверов zSeries (Linux) Заключайте условие поиска в Информационном центре DB2 в кавычки, если оно содержит числа При импорте файлов языка тегов не генерируется файл журнала Центра каталогов данных Связывание пакетов Query Patroller Порты недоступны через Query Patroller (Windows) Защищенные среды (Windows) Переименованы программы примеров XML Extender Использование новых программ примеров с примерами файлов sqx Анализ в XML Extender документов, содержащих неуникальные имена атрибутов и элементов Различия между SNA и TCP/IP при использовании DB2 Connect Изменения в документации Руководство администратора: Реализация Особенности аутентификации удаленных клиентов Поддержка прямого ввода-вывода (DIO) и параллельного ввода-вывода (CIO) Технология диспетчера связи и автоматическое перенаправление клиентов Особенности автоматического перенаправления клиента при каталогизации на сервере DB2 Connect Поддержка учетной записи локальной системы (Windows) Поддержка двухчастного ID пользователя Дополнительная информация для поддержки Kerberos Руководство администратора: Производительность Новые системные переменные среды (Linux) Новая переменная связи в реестре Новая переменная производительности Переменные компилятора SQL Изменения в параметрах конфигурации Файл параметров конфигурации базы данных SQLDBCONF Изменение значения по умолчанию DB2_HASH_JOIN Переменная реестра DB2NTNOCACHE устарела Таблицы объяснения и организация информации объяснений Рекомендации по сбору информации объяснения Дополнительные коды возврата из API db2CfgGet, параметр collate_info Автоматическое задание размера предварительной выборки по умолчанию и значений по умолчанию для изменения Руководство администратора: Планирование Поддерживаемые коды регионов и кодовые страницы Функции XA, поддерживаемые DB2 Universal Database Измененные значения TPM и tp_mon_name для строковых форматов xa_open Активация таблиц преобразования для кодовых страниц 923 и 924 Файл таблиц преобразования для кодовых страниц с поддержкой символа евро Справочник по API Поддержка опции SYNCPOINT Новое поле для структуры SQLEDBDESC Поправка о новом поле в структуре SQLB-TBSPQRY-DATA Разработка прикладных программ: Построение и запуск прикладных программ Настройка опций прекомпиляции и связывания для процедур SQL Требуется опция компиляции C/C++ (Linux на 64-битном PowerPC) Команда компиляции и компоновки для хранимых процедур Micro Focus COBOL (HP-UX) Минимальная поддерживаемая версия Micro Focus COBOL (HP-UX) Задание переменных среды для хранимых процедур Micro Focus COBOL (Windows) Разработка прикладных программ: Интерфейс уровня вызовов (CLI) Ключевое слово конфигурации CLI/ODBC MapBigintCDefault Ключевое слово конфигурации CLI/ODBC DescribeOutputLevel Разработка прикладных программ: Разработка прикладных программ клиента Ключевое слово конфигурации 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 не поддерживают аутентификации с несколькими потоками Модули защиты GSS-API не поддерживают шифрование и подпись сообщений Неявное завершение транзакций в автономной программе Поддержка распределенных транзакций Разработка прикладных программ: Разработка прикладных программ сервера Режимы управления выполнением (условие EXECUTION CONTROL) общих языковых подпрограмм времени выполнения (Common language run time, CLR) Максимальная десятичная точность и масштаб в общих языковых подпрограммах времени выполнения (common language run time, CLR) Command Reference db2inidb - команда инициализации зеркальной копии базы данных Замечание об использовании команды db2iupdt db2pd - Команда мониторинга и отладки DB2 Новый параметр команды db2sqljcustomize Новый параметр команды sqlj Изменение в команде 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 не поддерживает журналы на непосредственных устройствах Центр хранилищ данных Определение источников и потребителей хранилища DB2 Изменения в учебном пособии по бизнес-аналитике Задание порога очистки для файлов журналов хранилища Центр хранилищ данных поддерживает загрузку с положения указателя Перенастройка и ограничения управляющих баз данных хранилища в формате Unicode Изменение в формате даты столбца Изменено Определение статистических преобразователей в Центре хранилищ данных Предварительные требования для агента хранилища iSeries DB2 .NET Data Provider Свойство DB2Connection.ConnectionString DB2 Connect Новый сценарий защиты Исправления в диаграммах Центр разработки Ограничения на драйверы DB2 Universal type 2 и type 4 Инструменты GUI Изменение символа завершения оператора Недоступное состояние базы данных на панели Подробности баз данных Центра управления Генерация опции записи в таблицы по умолчанию (Создать монитор событий) Центр каталогов данных Примеры сценариев конфигурации Конфигурирование Web-сервера Дополнение по установке и настройке Сервер прикладных программ для DB2 UDB Включение встроенного сервера прикладных программ DB2 Установка DB2 Web Tools Прямой ввод-вывод на блочном устройстве (Linux) Демон Информационного центра DB2 (Linux и UNIX) Ключевые слова файла ответов и примеры файлов Коды ошибок установки с помощью файла ответов Учетные записи пользователей, необходимые для установки серверов DB2 (Windows) Поддержка асинхронного ввода-вывода (Linux) Команда db2ln изменена для возможности создания связей 64-битной библиотеки DB2 UDB (Linux и UNIX) Справочник по сообщениям Изменения сообщения ADM Изменения в сообщениях CLP Изменения сообщений DBI Добавления и изменения для сообщений SQL Query Patroller Изменения определений для состояний управляемых запросов Создание таблиц объяснения до запуска генератора данных хронологии Query Patroller Проверка файлов журнала Query Patroller для хронологического анализа Аварийное завершение генератора данных хронологии Динамическое изменение классов запросов Поведение вложенных запросов Ограничения по типам операторов SQL Ограничение на разрешение экрана при использовании клиента Terminal Services Новая поддержка групп для подачи запросов Ограничения расписания Query Patroller Для использования команды RUN IN BACKGROUND QUERY требуется авторизация Создание алиаса для таблицы результатов У ID изолированного пользователя должен быть доступ для записи в файл qpdiag.log и его каталог Быстрый старт Проверка готовности баз данных к перенастройке Сертификация Common Criteria для DB2 UDB Модуль Spatial Extender Проверка правильности установки Spatial Extender Управляющие подпрограммы SQL Процедура EXEC_DB2_SCRIPT не существует GET_DB_CONFIG - это хранимая процедура Расширены столбцы для пользовательских функций снимка SQL Reference Оператор CONNECT Схема, используемая возможностью объяснения Строчные представления значений даты и времени Системный монитор Вывод отсоединенных прикладных программ не требует соединения с концентратором Мониторинг процесса отката времени выполнения XML Extender Анализ документов размером больше 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 Universal Database Personal Edition DB2 Universal Database Workgroup Server Edition DB2 Universal Database Workgroup Server Unlimited Edition DB2 Universal Database Enterprise Server Edition DB2 Personal Developer's Edition DB2 Universal Developer's Edition Менеджер хранилищ DB2 DB2 Warehouse Manager Sourcing Agent for z/OS Менеджер связей данных DB2 DB2 Net Search Extender DB2 Spatial Extender DB2 Intelligent Miner Scoring DB2 Intelligent Miner Modeling DB2 Intelligent Miner Visualization DB2 Connect Application Server Edition DB2 Connect Enterprise Edition DB2 Connect Personal Edition DB2 Connect Unlimited Edition DB2 Query Patroller Информация о версии Наиболее свежая документация доступна в последней версии Информационного центра DB2 через браузер. URL для загрузки свежей версии документации приведен ниже в разделе Дополнительные ресурсы. Пометки в документации Информационного центра DB2 отмечают текст, который был добавлен или изменен с момента выпуска документации для Версии 8.1 в формате PDF. Вертикальная черта (|) отмечает информацию, которая была добавлена с момента первого выпуска Версии 8.1. Цифровые индикаторы, например, 1 или 2, указывают, что была добавлена информация для пакета FixPak или уровня выпуска, заканчивающегося этой же цифрой. Примеры: * 1 указывает, что информация была добавлена или изменена в пакете FixPak 1 * 2 указывает, что информация была изменена для Версии 8.1.2. * 8 указывает, что информация была изменена для Версии 8.2 FixPak 1 (эквивалентна Версии 8.1 FixPak 8) Пути каталога В операционных системах 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 Дополнительные источники Обновление книги 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 в формате HTML, вызовите Информационный центр DB2 в формате HTML по адресу http://publib.boulder.ibm.com/infocenter/db2help/. Другой вариант - установить Информационный центр DB2 в формате HTML в вашей системе; образ компакт-диска DB2 HTML Documentation (Документация DB2 в формате HTML) можно получить на том же сайте. Исправления в документацию DB2 в формате HTML вносятся в каждом выпуске. Чтобы получить самый свежий вариант документации, вызовите Информационный центр DB2 в формате HTML или загрузите с него образ компакт-диска DB2 HTML Documentation (Документация DB2 в формате HTML) для установки в вашей системе. Документация в формате PDF обновляется реже, чем Информационный центр в формате HTML. Дополнительную информацию о Центре разработки DB2 и DB2 for z/OS смотрите по адресу http://www.ibm.com/software/data/db2/os390/spb/. Для получения последней информации о семействе продуктов DB2 оформите бесплатную подписку на журнал DB2 Magazine. Электронная версия журнала доступна по адресу http://www.db2mag.com; там же приводятся и инструкции по подписке. Об этом выпуске Новое в этом выпуске В этом разделе дается краткий обзор усовершенствований, появившихся в настоящем выпуске DB2 Universal Database. Усовершенствования в DB2 UDB Workgroup Server Edition и DB2 UDB Workgroup Server Unlimited Edition Пакет FixPak 1 DB2 Universal Database (UDB) Версии 8.2 (эквивалентен FixPak 8 для Версии 8.1) обеспечивает 64-битную поддержку для DB2 UDB Workgroup Server Edition (WSE) и DB2 UDB Workgroup Server Unlimited Edition (WSUE) на платформах: * AIX 5L * HP-UX 11i * Linux for AMD64 * Linux for IA64 * Linux for PowerPC * Операционная среда Solaris * 64-битные версии систем Windows Server 2003 на основе Itanium * 64-битная версия Windows XP Одно из преимуществ 64-битной поддержки - большее адресное пространство для текста программы, переменных, общей памяти и пула буферов. Поддержка DB2 UDB на платформах Windows AMD64 Теперь продукты DB2 поддерживаются на следующих платформах Windows AMD64: * Windows XP, 64-битная версия * Windows Server 2003 64-битная версия Создание 32-битных и 64-битных экземпляров 32-битные экземпляры можно создавать для любого продукта DB2 UDB Версии 8.2 на 64-битной платформе. 64-битные экземпляры можно создавать для всех продуктов DB2 UDB Версии 8.2, кроме DB2 UDB Personal Edition и DB2 Connect Personal Edition. Новая переменная реестра: DB2_ASYNC_IO_MAXFILOP В пакете FixPak 1 для Версии 8.2 (эквивалентен FixPak 8 для Версии 8.1) добавлена новая общая переменная реестра. Имя переменной DB2_ASYNC_IO_MAXFILOP Операционная система Все Значения По умолчанию: значение MAXFILOP (параметр конфигурации). Значения: От MAXFILOP до MAX_INT. Описание С помощью параметра MAXFILOP управляемые единицы ядра (engine dispatchable units - EDU) DB2, например, агенты, запросы предварительной выборки, чистильщики страниц, записывающие данные в табличные пространства и считывающие их оттуда, ограничивают число хэндлов файлов, которые можно в данный момент открыть для процесса или потока. Поскольку большая часть ввода и вывода в системах осуществляется EDU, выполняющими эти функции асинхронно по отношению к агентам (чистильщикам страниц и запросам предварительной выборки), этим EDU выгоднее использовать более высокие значения для числа хэндлов файлов на одну EDU, чем задано MAXFILOP. Это особенно актуально для систем с большим количеством файлов. Эта переменная реестра позволяет задать верхний предел числа хэндлов файлов, превышающий значение MAXFILOP для чистильщиков страниц и предварительных выборок. Новое пользовательское табличное пространство SMS для индикаторов автоматического обслуживания и работоспособности обслуживания Новое пользовательское табличное пространство SMS, SYSTOOLSPACE, создается по умолчанию процессом db2hmon для хранения таблиц, используемых индикаторами автоматического обслуживания и работоспособности обслуживания. Это табличное пространство создается в каталоге базы данных по умолчанию. Если вы не хотите, чтобы таблицы, используемые индикаторами автоматического обслуживания и работоспособности обслуживания, были созданы в табличном пространстве SYSTOOLSPACE, можно создать таблицы автоматического обслуживания в выбранном вами табличном пространстве. Однако перед созданием этих таблиц при помощи вызовов хранимых процедур надо отбросить таблицы в SYSTOOLSPACE и само табличное пространство SYSTOOLSPACE. Если вам не нужно табличное пространство SYSTOOLSPACE, можно, имея соответствующие полномочия, удалить его с помощью оператора SQL DROP. Прежде чем удалить это табличное пространство, убедитесь, что в нем нет таблиц. Если в отбрасываемом табличном пространстве есть таблицы, они будут автоматически воссозданы вместе с табличным пространством при следующем запуске базы данных. Чтобы создать нужные таблицы в выбранном вами табличном пространстве, выполните вызовы хранимых процедур: CALL SYSINSTALLOBJECTS('DB2AC','C','<имя_табличного_пространства>', NULL) CALL SYSINSTALLOBJECTS('POLICY','C','<имя_табличного_пространства>', NULL) где имя_табличного_пространства - выбранное вами табличное пространство со страницами по 4 Кбайта. Если пользовательского временного табличного пространства не существует, автоматическая реорганизация вместе с индикатором работоспособности Требуется реорганизация автоматически создадут пользовательское временное табличное пространство SYSTOOLSTMPSPACE. Хронология исправлений продукта Список исправлений (Authorized Program Analysis Reports, APAR) в этом пакете приведен на Web-странице: http://www.ibm.com/software/data/db2/udb/support.html Совместимость с ранними версиями Совместимость баз данных 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 и возможно в некоторых средах, конфигурация с таким соединением поддерживается только до тех пор, пока версия N обслуживается. Когда обслуживание версии N прекращается, прекращается и поддержка этой конфигурации. Подключение клиентов DB2 Версии 6 к серверам DB2 Версии 8 больше не поддерживается, поскольку Версия 6 уже не обслуживается. Аналогично серверам DB2 UDB более новых версий, клиенты версии N могут соединяться с сервером версии N - 1, если только обслуживание сервера версии N - 1 не прекращено. Изменения в реестре работоспособности при перенастройке из 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 (ESE) несколько уровней пакетов исправлений могут сосуществовать в одной системе. Эта возможность поддерживается в производственных средах, начиная с Версии 8.1.2; для ее реализации применяются два типа пакетов FixPak: обычные пакеты FixPak * Доступны не только для ESE, но и для всех поддерживаемых продуктов DB2 Версии 8 для соответствующих платформ * Могут устанавливаться непосредственно поверх существующей установки в каталоге /usr/opt/db2_08_01 в AIX или в каталоге /opt/IBM/db2/V8.1 на других платформах альтернативные пакеты FixPak * Могут устанавливаться как совершенно новые копии DB2 UDB ESE * Устанавливаются в предопределенном месте, отличном от того, которое используется для обычной установки DB2 UDB Прим.: 1. Не обязательно выполнять множественную установку пакетов 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-битная) Чтобы обновить экземпляр пакета FixPak в такой установке до другого уровня FixPak, используйте одно из следующих действий: * Установите соответствующий обычный пакет FixPak для общедоступной установки и обновите экземпляр, запустив db2iupdt из пути существующей общедоступной установки. * Установите соответствующий альтернативный пакет FixPak в отдельный каталог и обновите экземпляр, запустив db2iupdt из этого каталога. Дополнительную информацию о загрузке альтернативных пакетов FixPak смотрите на сайте поддержки IBM http://www.ibm.com/software/data/db2/udb/support.html. Ограничения поддержки прежних версий сервера Центра хранилищ данных Следующие ограничения применяются при поддержке прежних версий сервера для Центра хранилищ данных 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, изменения в реестре профиля db2set и в параметрах конфигурации базы данных и менеджера баз данных заносятся в файл журнала db2diag.log. В связи с важностью этих сообщений они записываются на высоких диагностических уровнях. Записываемые типы изменений в реестре профиля 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=" Совместимость программных продуктов В 64-битных операционных системах требуется исправление Microsoft XP Если вы работаете с операционной системой 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 Connect Enterprise Edition Прим.: DB2 Connect Enterprise Edition поддерживается в Windows XP только для целей разработки и тестирования. Для производственной среды требуется Windows 2000 или Windows Server 2003. Отдельно поставляется опция DB2 UDB HADR В DB2 Universal Database (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) или более ранний. Поддержка Red Hat Linux при работе с Центром хранилищ данных DB2 Universal Database Версии 8.2 поддерживает Red Hat Enterprise Linux AS Версии 3.1 и 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. Альтернативные таблицы преобразования 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. Табл. 1. Преобразование символов 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. Табл. 2. Преобразование символов 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: Табл. 3. Преобразование символов 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. Табл. 4. Преобразование символов 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. Информация об установке, перенастройке, обновлении и конфигурировании Требования к аппаратному и программному обеспечению Требования к аппаратному и программному обеспечению можно посмотреть на сайте: http://www.ibm.com/software/data/db2/udb/sysreqs.html Замечания по установке На платформах UNIX и Linux эти Замечания по установке относятся только к установке новых продуктов. О применении пакета FixPak смотрите информацию Readme пакета FixPak. На платформах Windows эти Замечания по установке применимы и к установке новых продуктов, и к применению пакетов FixPak. При применении пакета FixPak эти Замечания по установке следует использовать вместе с информацией пакета FixPak. Перед установкой DB2 Universal Database прочтите весь этот раздел. Путь каталога не может содержать пробелов (Linux и UNIX) Если программа db2setup запускается из каталога, путь которого содержит пробелы, установка завершится неудачно со следующим сообщением об ошибке: <файл>: не найден Поместите устанавливаемые модули в каталог, путь которого не содержит пробелов. Уровни JDK для DB2 UDB (Linux на IA64 и Linux на PowerPC) При установке Версии 8.2 DB2 Universal Database (UDB) в Linux программа установки на основе RPM попытается установить пакет IBM Java RPM (IBMJava2-SDK-1.4.1.-2.0.i386.rpm). Прим.: DB2 UDB в Linux for IA64 поддерживает только Java 1.3.1. Самую свежую информацию о SDK Linux смотрите на Web-странице IBM Developer Kit for Linux по адресу: http://www.ibm.com/developerworks/java/jdk/linux/tested.html. Если в системе уже есть RPM более высокого уровня (например, IBMJava2-SDK-1.5.0.-2.0.i386.rpm), меньший уровень RPM не устанавливается. Однако в этом случае программа установки оставит параметр конфигурации базы данных JDK_PATH, указывающий путь к Java 1.4 - /opt/IBMJava2-14/. В результате не будут работать никакие функции, зависящие от Java, включая установку каталога инструментов DB2. Предварительное требование Выполните от имени владельца экземпляра приведенную ниже команду. Порядок действий 1. Чтобы задать для DB2 UDB нужную программу IBM 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. Например, если в одной системе Windows установлены DB2 UDB Enterprise Server Edition Версии 8 и DB2 Spatial Extender Версии 8, надо загрузить образы FixPak DB2 UDB Enterprise Server Edition и Spatial Extender. Каждый образ надо распаковать в общем родительском каталоге. Для установки с использованием графического интерфейса или установки без вывода сообщений надо распаковать все образы. Полные инструкции по установке пакета FixPak смотрите в информации Readme последнего пакета FixPak для DB2 UDB. Установка DB2 UDB из установочных образов (Linux и UNIX) Предварительные требования Перед запуском мастера по установке DB2: * Убедитесь, что в системе выполнены предварительные требования к установке и достаточно оперативной и дисковой памяти. Подробную информацию смотрите в разделе Требования к аппаратному и программному обеспечению. * Обязательно прочитайте о предварительных требованиях для установки. Файл 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 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 показаны в следующей таблице: Табл. 5. Сочетания уровней для команды 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 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 Developer Kit, Java Technology Edition (64-битная версия) для AIX 5L * DB2 Embedded Application Server и прикладные программы (реестр XML, инструменты управления Web и распределенный отладчик Java) для вашей операционной системы В каталоге fonts есть два вида шрифтов: Times New Roman WorldType и Monotype Sans Duospace WorldType. Для каждой гарнитуры существует шрифт, специфический для страны или региона. Ниже в таблице перечислены восемь шрифтов, поставляемых в сжатом формате в каталоге fonts. Табл. 6. Имена файлов дополнительных азиатских шрифтов +-------------------------+---------------------+---------------------+ | Гарнитура шрифта | Имя файла шрифта | Страна или регион | +-------------------------+---------------------+---------------------+ | 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 Development Kit на клиенте Linux: # Создаем ссылки на файлы .so cd /usr/lib ln -s /opt/IBMJava2-131/jre/bin/libhpi.so ln -s /opt/IBMJava2-131/jre/bin/libjava.so ln -s /opt/IBMJava2-131/jre/bin/libjitc.so ln -s /opt/IBMJava2-131/jre/bin/libxhpi.so ln -s /opt/IBMJava2-131/jre/bin/libzip.so ln -s /opt/IBMJava2-131/jre/bin/classic/libjvm.so Создание групповых и пользовательских 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/ Инструмент сокращения установочного образа (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 в формате HTML (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 следующие записи: Табл. 7. Записи, добавляемые в файл служб TCP/IP Windows +----------------------------------+----------------------------------+ | Имя порта | Номер порта | +----------------------------------+----------------------------------+ | vwkernel | 11000/tcp | +----------------------------------+----------------------------------+ | vwd | 11001/tcp | +----------------------------------+----------------------------------+ | vwlogger | 11002/tcp | +----------------------------------+----------------------------------+ Без этих записей Центр хранилищ данных не будет нормально работать. Замечания по перенастройке Перенастройка 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 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 Версии 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 Перенастройка модуля 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 имя_базы_данных Перенастройка баз данных (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 Run-Time Client Lite (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 (CUBE) {C8FEDF8F-84E8-442F-A084-0A0F6A772B52} DB2 Spatial Extender (SE) {F6846BF9-F4B5-4BB2-946D-3926795D5749} Пример Если вы хотите удалить DB2 UDB Enterprise Edition, введите команду msiexec /x <код_продукта> /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} Ограничения 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. Экспорт данных 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, но нельзя отлаживать их. Указатели в прикладных программах PHP Когда интерпретатор PHP создает указатель от имени прикладной программы, по умолчанию он создается как управляемый с клавиатуры указатель с прокруткой. В некоторых случаях это может приводить к возврату непредвиденных результатов. Во избежание подобных ситуаций задайте явно условие "FOR READ ONLY" во всех операторах SELECT, используемых для изменения данных. Другой способ - включите в параметры конфигурации CLI "Patch2=6", "Patch2=42" или "DisableKeysetCursor=1". Однако у всех этих способов есть и другие последствия. Подробную информацию об этих ключевых словах конфигурации смотрите в документации CLI Guide and Reference. Процедура AM_GET_LOCK_RPT не поддерживается в среде многораздельной базы данных (AIX) Процедура AM_GET_LOCK_RPT не поддерживается в среде многораздельной базы данных в AIX 32. Для получения тех же самых данных мониторинга можно вызвать табличные функции SNAPSHOT_APPL, SNAPSHOT_APPL_INFO, SNAPSHOT_LOCK и SNAPSHOT_LOCKWAIT напрямую. Не поддерживаются четыре подпрограммы SQL управления В этом выпуске не поддерживаются следующие подпрограммы SQL управления: * процедура APP * процедура INSTALLAPP * процедура SERVER * процедура UNINSTALLAPP Ограничения на опции связывания для пакетов 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 Если оператор INSERT в утилите CLI LOAD содержит условие VALUES, нельзя задавать столбцы назначения. Например, следующий оператор поддерживается CLI LOAD: INSERT into tableA VALUES (?, ?, ?) Но использование этого оператора, в котором заданы столбцы назначения, не поддерживается в утилите CLI LOAD: INSERT into tableA (col1, col2, col3) VALUES (?, ?, ?) Ошибки при сообщении об успешной регистрации во время попытки соединения (AIX) При использовании аутентификации операционной системы в AIX, после успешной аутентификации DB2 Universal Database (UDB) пытается сообщить AIX об успешной регистрации во время установления соединения. До Версии 8 FixPak 5, если DB2 UDB не удавалось это сделать, соединение разрывалось, несмотря на то, что сама аутентификация была успешной. Начиная с Версии 8 FixPak 5 разрешено сохранять соединение, а ошибка записывается в файл db2diag.log. Ограничения поддержки 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 больше не будет поддерживаться совсем. Не поддерживается создание базы данных каталога инструментов (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 Гбайт. Ограничения экземпляра 64-битного сервера DB2 UDB Workgroup Server Edition DB2 Universal Database (UDB) Workgroup Server Edition и DB2 UDB Workgroup Server Unlimited Edition не лицензированы для экземпляров 64-битного сервера. Эти продукты позволяют создать: * 32-битные экземпляры сервера * 32- или 64-битные экземпляры клиентов Планирование периодического запуска процесса хранилища При планировании периодического запуска процесса хранилища надо определить максимальное время выполнения всех рабочих шагов в этом процессе и соответственно спланировать интервалы запуска. Если время выполнения процесса превысит запланированное, все последующие запуски этого процесса в расписании будут отменены без повторного планирования. При загрузке или импорте на странице Столбцы не поддерживаются символы DBCS в файлах IXF Если вы используете мастер по загрузке или записную книжку Импорт для задания загрузки или импорта из входного файла, содержащего символы DBCS, на странице Столбцы имена столбцов этого файла могут выводиться неправильно. Сложности и ограничения, связанные с подключаемым модулем защиты для клиентов DB2 UDB (Windows) При разработке подключаемых модулей защиты для внедрения на клиентах DB2 в операционных системах Windows не выгружайте вспомогательные библиотеки в функции завершения подключаемого модуля. Это ограничение относится ко всем типам клиентских подключаемых модулей защиты, в том числе к подключаемым модулям группы, ID пользователя и пароля, Kerberos и GSS-API. Это ограничение вызвано ошибкой DB2 Universal Database при выгрузке подключаемых модулей защиты в клиентах DB2 в операционных системах Windows. Не поддерживается двухчастный ID пользователя (Windows ME) ID пользователя из двух частей в операторе CONNECT и команде ATTACH, например, имя-домена\имя-пользователя, не поддерживается в Windows ME. Минимальные параметры дисплея для инструментов с графическим интерфейсом Для правильной работы таких инструментов с графическим интерфейсом, как Центр управления, разрешение дисплея должно быть не менее 800 на 600 пикселей. Кроме того, надо использоваться палитру, содержащую не менее 32 цветов. Таблицы Центра каталогов данных не могут быть многораздельными Таблицы, которые использует менеджер каталогов данных, должны находиться в одном разделе базы данных. Существует много способов размещения таблиц в одном разделе. Одним из возможных подходов является следующая процедура. 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. На странице Опции укажите имя табличного пространства в поле Табличное пространство. Неправильный показ символов GB18030 в полосе заголовка окна Если у вас в полосе заголовка окна есть символы из китайской схемы кодировки символов GB18030, они могут выводиться в виде вопросительных знаков или квадратиков. Ограничения 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, если этот индикатор перешел в нерабочее состояние. Такое состояние может возникнуть, например, когда экземпляр, за которым следит индикатор, становится неактивным в результате явного требования остановки или ненормального завершения работы. Если вы хотите, чтобы экземпляр автоматически перезапускался после ненормального завершения работы, нужно сконфигурировать монитор отказов, чтобы обеспечить высокую доступность этого экземпляра. Известные проблемы и обходные приемы Инструмент db2nkill не поставляется с DB2 UDB Workgroup Server Edition Ошибка и ее причина Инструмент db2nkill не поставляется с DB2 Universal Database (UDB) Workgroup Server Edition Версии 8. Это может привести к различным проблемам, например, к ошибке при выполнении команды "db2gcf -k". Например, при попытке выполнить команду "db2gcf -k -i psustr -p 0 -L" вы получите следующий ответ: Instance : psustr DB2 Kill : Failure Partition 0 : Failure Соответствующая запись в файле db2diag.log выглядит так: 2003-07-06-22.11.40.241991 pid:26366 tid:1 level:2 Common - Generic Control Facility - gcf_kill() probe:220 impact 0x900002C1 DB2 kill service failed data #1 (36 bytes) 'psustr', 0 : could not be killed. Обходной прием Тот же сценарий будет выполнен без ошибок на DB2 UDB Enterprise Server Edition. Используйте инструмент db2nkill, поставляемый с DB2 UDB Enterprise Server Edition Версии 8. Команда "db2gcf -k" завершается неудачно в DB2 UDB Workgroup Server Edition Ошибка и ее причина Обычно команда db2gcf запускает, останавливает или производит мониторинг экземпляраDB2 Universal Database (UDB) из автоматического сценария, например из кластера HA (высокой доступности). Инструмент db2nkill не поставляется с DB2 UDB Workgroup Server Версии 8. Это приводит к ошибке при использовании db2gcf с параметром команды -k. Обходной прием Команда "db2gcf -k" работает без ошибок в Enterprise Server Edition (ESE), так как db2nkill входит в DB2 UDB ESE Версии 8. Ошибка SQL1224 оболочки DRDA (AIX) Если 32-битный сервер DB2 Universal Database (UDB) запущен в системе AIX, и у запущенной в той же системе программы есть несколько локальных соединений с базой данных через оболочку DRDA, программа может получить следующую ошибку: SQL1822N Неожиданный код ошибки "-1224" получен от источника данных "W3_SERVER2". Соответствующий текст и элементы - func="DriverConnect" msg="SQL1224N A database agent" 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). 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. Вам не разрешается произвольное использование или распространение этих шрифтов: Табл. 8. Индийские шрифты, прилагаемые к 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. Если эта ситуация возникает, задайте переменные реестра следующим образом: MaxUserPort=65534 TcpTimedWaitDelay=30 и перезапустите систему, чтобы изменения вступили в силу. Защищенные среды (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. Табл. 9. Замена программ примеров для 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 | +----------------------------------+----------------------------------+ Табл. 10. Замена программ примеров для 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 автоматическое принятие не выполняется. Чтобы сделать поток на стороне хоста неактивным, программа должна после соединения сама явным образом инициировать принятие. Если явное принятие не будет выполнено, для потока начинается отсчет срока бездействия. Предлагаемый обходной прием - переписать программу так, чтобы она выполняла явное принятие, когда поток после соединения бездействует. Изменения в документации Руководство администратора: Реализация Особенности аутентификации удаленных клиентов Тип аутентификации 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 Предварительные требования 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_CONTINUTE_NEEDED (0x00090312L). Чтобы определить, сконфигурированы ли учетные записи Windows для использования шифрования DES, посмотрите панель Свойства учетной записи в меню Active Directory. После изменения свойств учетной записи может потребоваться перезапуск. * Если и клиент, и сервер находятся в системе Windows, службу DB2 можно запустить при помощи учетной записи локальной системы. Но если клиент и сервер находятся на разных доменах, соединение может завершиться неудачно с ошибкой недопустимого имени принципала назначения. Обходной прием - явная каталогизация имени принципала назначения на клиенте с указанием полного имени хоста сервера и полного имени домена в следующем формате: хост/<имя хоста сервера>@<имя домена сервера> Например: host/myhost.domain.ibm.com@DOMAIN.IBM.COM Если этого не сделать, надо будет запускать службу DB2 под допустимой учетной записью домена. Руководство администратора: Производительность Новые системные переменные среды (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 попытается использовать для положения совместно используемых библиотек виртуальный адрес 0x20000000. В этой переменной реестра можно также задать любой виртуальный адрес (в шестнадцатеричной форме) в диапазоне 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 "0x20000000(hex) 536870912(dec)". (ADM0506I DB2 автоматически изменила значение параметра ядра "mapped_base" с "0x40000000(hex) 1073741824(dec)" на рекомендованное значение "0x20000000(hex) 536870912(dec)".) Это сообщение выводится только при успешном задании переменной реестра; в нем указывается адрес, на который перемещены совместно используемые библиотеки. DB2DBMSADDR Имя переменной DB2DBMSADDR Значения Виртуальные адреса в диапазоне от 0x09000000 до 0xB0000000 с шагом 0x10000 Операционные системы Linux на x86 и Linux на zSeries (31-битная) Описание Задает адрес по умолчанию совместной памяти базы данных в шестнадцатеричном формате. Прим.: Неверный адрес может вызвать серьезные проблемы с DB2 UDB - от невозможности запустить DB2 UDB до невозможности соединиться с базой данных. Пример неверного адреса - адрес, попадающий в область памяти, которая уже используется или предназначена для другого использования. Чтобы исправить эту проблему, задайте для переменной DB2DBMSADDR пустое значение следующей командой: db2set DB2DBMSADDR= Эту переменную можно задавать вместе с DB2_MAPPED_BASE или отдельно для тонкой настройки адресного пространства процессов DB2 UDB. Эта переменная изменяет положение совместной памяти экземпляра с его текущего положения по виртуальному адресу 0x10000000 на заданное новое положение. Новая переменная связи в реестре В Версии 8.2 добавлена переменная реестра DB2TCP_CLIENT_RCVTIMEOUT. Табл. 11. Переменные связи +---------------------------+-------------+---------------------------+ | Имя переменной | Опер. | Значения | | | системы | | +---------------------------------------------------------------------+ | Описание | +---------------------------+-------------+---------------------------+ | DB2TCP_CLIENT_RCVTIMEOUT | Все | По умолчанию - 0 (не | | | | задано) | | | | Значения: от 0 до 32767 | | | | секунд | +---------------------------------------------------------------------+ | Задает срок в секундах ожидания клиентом получения данных | | программой приема TCP/IP. | | Сообщения об истечении срока не будет, если переменная реестра не | | задана или если задано значение 0. Если программа приема TCP/IP | | вернет данные до истечения заданного срока, прикладная программа | | продолжит работу как обычно. Если срок истечет до возврата данных, | | соединение будет закрыто. | | | | Прим.: Эта переменная реестра применима только к клиенту DB2 и на | | стороне клиента DB2. Она не применяется к серверу DB2. | +---------------------------------------------------------------------+ Новая переменная производительности В Версии 8.2 добавлена переменная производительности DB2_LARGE_PAGE_MEM. Табл. 12. Переменные производительности +---------------------------+-------------+---------------------------+ | Имя переменной | Опер. | Значения | | | системы | | +---------------------------------------------------------------------+ | Описание | +---------------------------+-------------+---------------------------+ | 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), размеры предварительной выборки могут отличаться в разных разделах базы данных. Причина в том, что в разных разделах базы данных число контейнеров, используемое при вычислении размеров предварительной выборки, может быть различным. При генерации плана доступа для запроса оптимизатор использует размер предварительной выборки из первого раздела в группе разделов базы данных. Руководство администратора: Планирование Поддерживаемые коды регионов и кодовые страницы В приложении B "Поддержка национальных языков (NLS)" в книге Руководство администратора: Планирование в теме "Поддерживаемые коды регионов и кодовые страницы" приведены таблицы для каждого региона. В двух таблицах необходимы изменения: Китай (КНР), код региона: CN В таблице "Китай (КНР), код региона: CN" нужно изменить кодовую страницу для строки GBK для Linux с 1383 на 1386. Тем самым эта строка должна выглядеть так: 1386 D-4 GBK 86 zh_CN.GBK Linux Япония, код региона: JP Исправлена таблица для "Япония, код региона: JP". Должно быть удалено следующее имя национальной версии: 954 D-1 eucJP 81 japanese Solaris Ниже показана исправленная таблица: Табл. 13. Япония, код региона: JP +----------+----------+----------+----------+---------------+---------+ | Кодовая | Группа | Кодовый | Код | Национальная | Операци | | страница | | набор | региона | версия | онная | | | | | | | система | +----------+----------+----------+----------+---------------+---------+ | 932 | D-1 | IBM-932 | 81 | Ja_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | Ja_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | IBM-euc | 81 | ja_JP | AIX | | | | JP | | | | +----------+----------+----------+----------+---------------+---------+ | 1208 | N-1 | UTF-8 | 81 | JA_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 930 | D-1 | IBM-930 | 81 | - | Хост | +----------+----------+----------+----------+---------------+---------+ | 939 | D-1 | IBM-939 | 81 | - | Хост | +----------+----------+----------+----------+---------------+---------+ | 5026 | D-1 | IBM-502 | 81 | - | Хост | | | | 6 | | | | +----------+----------+----------+----------+---------------+---------+ | 5035 | D-1 | IBM-503 | 81 | - | Хост | | | | 5 | | | | +----------+----------+----------+----------+---------------+---------+ | 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 могут совместно использоваться потоками операционной системы. Табл. 14. Допустимые значения для параметров 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 Табл. 15. Файлы таблиц преобразования для кодовых страниц 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 Поддержка опции 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-битный. Разработка прикладных программ: Построение и запуск прикладных программ Настройка опций прекомпиляции и связывания для процедур 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-битном PowerPC) Требуется опция компиляции "-m64", чтобы 64-битный экземпляр DB2 Universal Database for Linux на PowerPC мог строить прикладные программы и подпрограммы DB2 C/C++. Команда компиляции и компоновки для хранимых процедур 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 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 раздела Табл. 16. Замечания по использованию: Это ключевое слово управляет количеством информации, которое требуется драйверу CLI при требовании подготовки или описания. По умолчанию, когда сервер получает требование описания, в качестве столбцов набора результатов он возвращает информацию, содержащуюся в уровне 2 раздела Табл. 16. Но прикладная программа может и не нуждаться во всей этой информации, а может нуждаться в дополнительной информации. Задание уровня, удовлетворяющего потребностям прикладной программы, в ключевом слове DescribeOutputLevel может повысить производительность, поскольку между клиентом и сервером будет передаваться только тот минимум описательных данных, который требуется для прикладной программы. Слишком низкое значение параметра DescribeOutputLevel может повлиять на работоспособность прикладной программы (в зависимости от требований прикладной программы). В этой ситуации может оказаться, что функции CLI, использованные для получения описательной информации, не вернули ошибку, но возвращенная информация неполна. Поддерживаемые значения DescribeOutputLevel: * 0 - никакая описательная информация программе клиента не возвращается * 1 - программе клиента возвращается описательная информация, соответствующая уровню 1 (смотрите раздел Табл. 16) * 2 - (по умолчанию) программе клиента возвращается описательная информация, соответствующая уровню 2 (смотрите раздел Табл. 16) * 3 - программе клиента возвращается описательная информация, соответствующая уровню 3 (смотрите раздел Табл. 16) В приведенной ниже таблице перечислены поля описательной информации, возвращаемой сервером в ответ на требование подготовки или описания. Эти поля объединены в уровни; управляет уровнем описательной информации, возвращаемой по требованию драйвера 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. Табл. 16. Уровни описательной информации +-----------------------+----------------------+----------------------+ | Уровень 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 | | | +-----------------------+----------------------+----------------------+ Разработка прикладных программ: Разработка прикладных программ клиента Ключевое слово конфигурации CLI/ODBC OleDbReportIsLongForLongTypes Описание ключевого слова: Принуждает 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 Описание ключевого слова: Принуждает функцию 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 нельзя использовать в запросе поиска с операцией равенства. Табл. 17. Значения 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 Табл. 18. Значения 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. Табл. 19. Значения 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 не поддерживают аутентификации с несколькими потоками При аутентификации 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). Разработка прикладных программ: Разработка прикладных программ сервера Режимы управления выполнением (условие EXECUTION CONTROL) общих языковых подпрограмм времени выполнения (Common language run time, CLR) В качестве администратора базы данных или разработчика прикладной программы вы, возможно, захотите защитить сборки, связанные с внешними подпрограммами DB2 Universal Database (UDB), от нежелательного вмешательства, ограничив действия подпрограмм времени выполнения. Подпрограммы DB2 .NET CLR поддерживают спецификацию режима управления выполнением, в которой задаются типы разрешенных действий времени выполнения подпрограммы. Во время выполнения 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 и не распространяется на вызываемые ей подпрограммы. Максимальная десятичная точность и масштаб в общих языковых подпрограммах времени выполнения (common language run time, 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 db2inidb - команда инициализации зеркальной копии базы данных Не используйте команду db2 connect to база_данных, пока не выполните команду db2inidb база_данных as mirror. Попытка соединиться с базы данных отделенной зеркальной копии до ее инициализации приводит к стиранию файлов журнала, необходимых для восстановления с повтором транзакций. Соединение переводит базу данных назад в то состояние, в котором она была при приостановке этой базы данных. Если база данных помечена как согласованная в момент приостановки, DB2 Universal Database делает вывод, что восстановление после сбоя для нее не требуется и очищает журналы для будущего использования. В этом случае попытка повтора транзакций вызывает ошибку SQL4970. Замечание об использовании команды db2iupdt Начиная с Версии 8.2, при обновлении экземпляра DB2 Universal Database при помощи команды db2iupdt необходимо сначала остановить все выполняемые в этом экземпляре процессы DB2. db2pd - Команда мониторинга и отладки DB2 У команды db2pd появились дополнительные параметры: -hadr Сообщает информацию HADR (high availability disaster recovery - высокая доступность и восстановление после аварий). Описания всех элементов отчета есть в справочнике System Monitor Guide and Reference в разделе о высокой доступности и восстановлении после аварий. -utilities Выводит информацию об утилитах. Описания всех элементов отчета есть в справочнике System Monitor Guide and Reference в разделе утилит. Новый параметр команды 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. Изменение в команде 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" также изменено. Внесены следующие изменения: Табл. 20. Допустимые модификаторы типов файлов для загрузки: Все форматы файлов +-------------------+-------------------------------------------------+ | Модификатор | Описание | +-------------------+-------------------------------------------------+ | 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" изменено следующим образом: Табл. 21. Допустимые модификаторы типов файлов для импорта: Все форматы файлов +-------------------+-------------------------------------------------+ | Модификатор | Описание | +-------------------+-------------------------------------------------+ | usedefaults | Если для столбца таблицы назначения задан | | | исходный столбец, но в нем нет данных для одной | | | или нескольких строк, загружаются значения по | | | умолчанию. Примеры отсутствующих данных: | | | * Для файлов DEL: значения столбца задается | | | идущими подряд разделителями столбцов (",,") | | | или двумя разделителями столбцов, между | | | которыми стоит произвольное число пробелов | | | (", ,"). | | | * Для файлов DEL/ASC/WSF: В строке заданы не | | | все столбцы или длина строки недостаточна для | | | исходной спецификации. | | | Прим.: Для файлов ASC пустые (NULL) значения | | | столбцов не считаются отсутствующими и вместо | | | них не подставляются значения по умолчанию. | | | Пустые значения столбцов NULL представляются | | | одними пробелами для числовых столбцов и | | | столбцов даты, времени и отметки времени или | | | при помощи индикатора пустого значения для | | | столбца любого типа. | | | Если этот модификатор не задан и исходный | | | столбец не содержит данных для строки, | | | выполняется одно из следующих действий: | | | * Для файлов DEL/ASC/WSF: Если столбец | | | допускает пустые значения, загружается пустое | | | значение (NULL). Если столбец не допускает | | | пустые значения, утилита отвергает эту строку. | +-------------------+-------------------------------------------------+ Табл. 22. Допустимые модификаторы типов файлов для импорта: Форматы файлов 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 * Заменяет 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 Авторизация 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 Задает выходной файл. Перемещение данных При использовании утилиты импорта теряется информация индексов Утилиту импорта можно использовать для воссоздания таблицы, сохраненной утилитой экспорта. В документе Data Movement в теме "Using import to recreate an exported table" (Использование импорта для повторного создания экспортированной таблицы) указаны атрибуты исходной таблицы, которые не сохраняются. Кроме атрибутов, указанных в документации, не сохраняются также следующие атрибуты: * Информация индекса: * Включаемые столбцы (если они есть) * Имя индекса, если это индекс первичного ключа * Упорядочение по убыванию, если это индекс первичного ключа (по умолчанию используется упорядочение по возрастанию) Восстановление данных и высокая доступность Обзор высокой доступности - восстановления после аварий (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 байтами Табл. 23. Ограничение максимального размера блока для ленточных устройств 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.2.2 * 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 Следующее изменение влияет на две темы документации Центра хранилищ данных: * Определение источников хранилища 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. Свяжите выбранный преобразователь с источником хранилища и назначением хранилища, как требуется правилами данного преобразователя. У каждого преобразователя есть свои правила связывания с источником хранилища и целью хранилища. Дополнительную информацию смотрите в документации по отдельным преобразователям. Предварительные требования для агента хранилища iSeries Чтобы использовать агент хранилища iSeries для Менеджера хранилищ DB2 в системах V5R2 и V5R3, требуется исправление PTF: PTF SI13558 Это PTF базы данных разрешает CLI в iSeries обрабатывать данные Unicode. DB2 .NET Data Provider Свойство DB2Connection.ConnectionString Добавлено новое ключевое слово для свойства DB2Connection.ConnectionString: CurrentSchema Схема, используемая после успешного соединения. В случае успешного соединения на сервер DB2 посылается оператор SET CURRENT SCHEMA. Это позволяет прикладной программе называть объекты SQL без указания имени схемы. DB2 Connect Новый сценарий защиты Добавлен новый сценарий защиты для соединений APPC: Аутентификация GSSPLUGIN Защита нет Проверка Механизм подключаемого модуля защиты API GSS Исправления в диаграммах В приведенных ниже темах DB2 Connect Enterprise Edition содержались неправильные диаграммы: * Доступ к данным DB2 хоста или iSeries при помощи DB2 Connect Enterprise Edition * Доступ к данным DB2 из Web при помощи Java В следующей таблице описаны поправки к диаграммам в теме "Доступ к данным DB2 хоста или iSeries при помощи DB2 Connect Enterprise Edition". Табл. 24. Исправления диаграмм в теме "Доступ к данным 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". Табл. 25. Поправки к диаграммам в теме "Доступ к данным DB2 из Web при помощи Java" +-------------------+-------------------------------------------------+ | Положение в теме | Исправление | +-------------------+-------------------------------------------------+ | Пояснение | * Упоминания о "DB2 for OS/390 V5R1" следует | | | читать "DB2 for OS/390 V6 и новее". | | | * Упоминания о "DB2 for AS/400 V4R2" следует | | | читать "DB2 for iSeries V5R1 и новее". | +-------------------+-------------------------------------------------+ Центр разработки Ограничения на драйверы 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; Недоступное состояние базы данных на панели Подробности баз данных Центра управления На панели подробностей Центра управления можно посмотреть информацию о ваших базах данных. Выбор базы данных в дереве объектов или на панели содержимого выводит сводку ее состояния. В некоторых ситуациях информация о базе данных может быть недоступна. Некоторые причины такой недоступности описаны в следующей таблице. Табл. 26. Причины недоступности состояния базы данных +--------------------+------------------------------------------------+ | Элемент состояния | Возможные причины недоступности состояния | | базы данных | | +--------------------+------------------------------------------------+ | Последнее | * Для этой базы не выполнялось резервное | | резервное | копирование. | | копирование | * Пользователь не имеет требуемых для доступа | | | к этой информации полномочий. | +--------------------+------------------------------------------------+ | Размер | * База данных версий до Версии 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 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. Табл. 27. Сравнение прямого ввода-вывода и непосредственного ввода-вывода +----------------------------------+----------------------------------+ | Прямой ввод-вывод (новой метод) | Непосредственный ввод-вывод | | | (старый метод) | +----------------------------------+----------------------------------+ | 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, он устарел, и его поддержка может быть удалена в будущих версиях ядра. Рекомендации Если вы хотите использовать прямой доступ к диску, создавайте контейнеры устройств 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 поставляется команда libc RPM с библиотекой /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. Справочник по сообщениям Изменения сообщения ADM ADM12504E В описании сообщения ADM12504E ошибочно предполагается, что имя экземпляра на первичной базе данных должно соответствовать имени экземпляра на резервной базе данных. ADM12504E Невозможно установить соединение между первичной и резервной базами данных HADR, так как не совпадают имена экземпляров DB2. Исправьте параметр конфигурации HADR_REMOTE_INST. Для HADR не требуется, чтобы имя экземпляра на первичной базе данных соответствовало имени экземпляра на резервной. Изменения в сообщениях CLP DB21015E Очередь запросов внутренней обработки процессора командной строки или входная очередь не созданы за отведенное время. Объяснение Или значения переменных среды DB2BQTRY и DB2BQTIME слишком малы, или не удалось запустить программу внутренней обработки процессора командной строки "db2bp". Программа "db2bp" должна находиться в правильном каталоге установки программы-менеджера баз данных, а пользователи должны иметь разрешение на выполнение для этого файла. На платформах Linux и UNIX убедитесь, что в файловой системе хватает блоков файлов и Inodes. Действия пользователя Исправьте ошибку и повторите команду. Изменения сообщений DBI DBI1060E Недопустимое имя пакета <"имя-пакета"> Объяснение: Введено неправильное имя пакета. Такого пакета не существует, или имя введено неправильно. Действия пользователя: Убедитесь, что пакет с таким именем есть на дистрибутиве. Если он существует, проверьте правильность написания имени. Все имена пакетов надо вводить в нижнем регистре. Добавления и изменения для сообщений SQL SQL0121N Имя назначения "<имя>" присваивается несколько раз в одном операторе SQL. Объяснение Одно и то же имя назначения "<имя>" задано несколько раз в качестве аргумента OUT или INOUT в операторе CALL, или в списке столбцов оператора INSERT, в левой части присваивания в условии SET оператора UPDATE или в левой части оператора присваивания. Имя назначения задает столбец, параметр SQL, переменную SQL или новую временную переменную. Обратите внимание на то, что эта ошибка может возникнуть при добавлении или обновлении данных в производной таблице, когда более одного столбца в этой производной таблице основаны на том же столбце основной таблицы. Оператор невозможно обработать. Действия пользователя Исправьте синтаксис оператора так, чтобы каждое имя задавалось один раз. sqlcode : -121 SQL0270N Функция не поддерживается (код причины = "<код-причины>") Объяснение 74 Изменение поля состояния в файле хронологии восстановления по отметке времени не допускается. Действия пользователя 74 Изменяйте поле состояния в файле хронологии восстановления только по EID. Объяснение 75 Автоматический сбор статистики не поддерживается на системе с несколькими разделами базы данных, на системе с включенным режимом SMP или на системе объединения. Действия пользователя 75 Отключите автоматический сбор статистики для этой базы данных, задав OFF для параметров конфигурации базы данных AUTO_STATS_PROF и AUTO_PROF_UPD. Или перейдите к системе с одним разделом баз данных, где не включен режим SMP, и которая не является системой объединения. SQL0494W Число наборов результата больше числа локаторов. Объяснение Число локаторов наборов результатов, заданное в операторе ASSOCIATE LOCATORS, меньше числа наборов результатов, возвращенных хранимой процедурой. Возвращены значения для первых "n" локаторов , где "n" - число переменных локаторов наборов результатов, заданное в операторе SQL. Оператор SQL выполнен успешно. Действия пользователя Увеличьте число переменных локаторов наборов результатов, заданное в операторе SQL. sqlcode : +494 sqlstate : 01614 SQL1227N Объяснение Код причины 4 Значения размеров буфера в PAGE_FETCH_PAIRS должны идти в порядке возрастания. Кроме того, для 32-битных экземпляров любое значение размера буфера в записи PAGE_FETCH_PAIRS не может превышать 524287 или числа страниц в соответствующей таблице. Для 64-битных экземпляров любое значение размера буфера в записи PAGE_FETCH_PAIRS не может превышать числа страниц в таблице или 2147483674. SQL1271W SQL1271W База данных "<имя>" восстановлена, но одно или несколько табличных пространств на узлах "<список-узлов>" отключены. Объяснение Это сообщение может возникнуть после аварийного восстановления, восстановления базы данных с повтором транзакций на уровне базы данных или восстановления с повтором транзакций на уровне табличного пространства. Для восстановления с повтором на уровне базы данных база доступна для использования, если была задана опция STOP. Одно или несколько табличных пространств на указанных узлах недоступны. Такая ситуация может возникнуть в следующих случаях: * При восстановлении одного или нескольких табличных пространств возникли ошибки ввода-вывода. * Возможно, для одного или нескольких табличных пространств после восстановления требуется определить хранение. * Одно или несколько табличных пространств невозможно использовать, их необходимо отбросить. * Одно или несколько табличных пространств переведены в автономное состояние. * Восстановление дополнительных табличных пространств производится в то время, когда уже идет восстановление с повтором транзакций на уровне табличных пространств. * Повтор транзакций с базой данных происходит после предыдущего восстановления табличного пространства с повтором транзакций до момента времени, в результате чего все включенные табличные пространства переводятся в состояние отложенного восстановления. Какие табличные пространства находятся в автономном состоянии на указанном узле или узлах, можно узнать при помощи команды LIST TABLESPACES или утилиты db2dart. Дополнительную информацию о конкретных табличных пространствах можно найти в журнале уведомлений администратора. Если в конце списка узлов выводится ",...", полный список узлов можно найти в журнале уведомлений администратора. Прим.: Если используется сервер многораздельных баз данных, номера узлов указывают, на каких узлах произошла ошибка. В противном случае эти номера не имеют смысла и их надо игнорировать. Действия пользователя Исправьте или восстановите при необходимости табличные пространства и запустите восстановление с повтором транзакций. Если ошибка повторится, попробуйте запустить восстановление с повтором транзакций на уровне табличного пространства в статическом режиме. SQL1768N Невозможно запустить HADR. Код причины = "<код-причины>" Объяснение: 9 В базе данных сконфигурировано использование журналов на непосредственных устройствах. Действия пользователя: 9 Переконфигурируйте базу данных, чтобы использовать хранение файлов журналов только в файловых системах, и не использовать устройства непосредственного ввода-вывода (устройства прямого доступа к диску). Смотрите обсуждение параметров конфигурации базы данных logpath и newlogpath в разделе Руководство администратора: Производительность. SQL1790W Не найдено табличное пространство по умолчанию с размером страницы по крайней мере "<размер-страницы>". Объяснение Порядок действий NNSTAT не смогла создать таблицу SYSPROC.FED_STATS для хранения хронологии запущенного оператора. Не удается найти табличное пространство с достаточным размером страницы (по крайней мере "<размер-страницы>"). Действия пользователя Убедитесь, что существует табличное пространство с размером страницы, равным как минимум "<размер-страницы>". sqlcode: +1790 sqlstate: 01670 SQL1791N Заданное определение сервера, схема или псевдоним имя-объекта не существуют. Объяснение Процедура NNSTAT принимает как входной параметры определение сервера, схему и псевдоним; один или несколько из этих объектов, включая имя-объекта, не удалось найти. Действия пользователя Задайте существующее определение сервера, схему или псевдоним и введите оператор снова. sqlcode: -1791 sqlstate: 42704 SQL2316W Строка команды Runstats для данного профиля статистики превысила максимальный размер. Данная строка команды Runstats будет усечена до максимально допустимого размера и сохранена в таблице каталога SYSIBM.SYSTABLE. Объяснение Максимальный размер столбца STATISTICS_PROFILE - 32768 байт. Если размер строки команды Runstats для данного профиля статистики превышает это значение, строка команды Runstats усекается до максимально допустимого размера. Утилита продолжает работу. Действия пользователя Посмотрите профиль статистики в столбце STATISTICS_PROFILE таблицы каталога SYSIBM.SYSTABLES. Если существующий профиль вас не удовлетворяет, еще раз запустите утилиту RUNSTATS и задайте опцию UPDATE PROFILE или UPDATE PROFILE ONLY, чтобы изменить профиль. Информацию об опциях утилиты RUNSTATS смотрите в ее документации. SQL3705N Заданное значение параметра buffer size (размер буфера) недопустимо. Размер буфера должен быть либо 0, либо целым числом от 8 до 250000 включительно. Если используется несколько буферов, их суммарный размер не должен превосходить 250000. SQL5099N Для ошибки SQL5099N добавлен новый код причины: 17 - Невозможно отключить архивирование журнала, когда база данных находится в состоянии отложенного повтора транзакций. SQL20290N В оператор SQL входит подпрограмма "<имя-подпрограммы>" (особое имя "<особое-имя>"), которую нельзя выполнить на разделе "<номер-раздела>". Объяснение Подпрограмма "<имя-подпрограммы>" (особое имя "<особое-имя>") вызвана с недопустимым номером раздела "<номер-раздела>". Действия пользователя Задайте в качестве номера раздела -1, чтобы выполнить подпрограмму на текущем разделе. sqlcode: -20290 sqlstate: 560CA SQL22025N Для хранимой процедуры reorgchk задан недопустимый входной аргумент. Объяснение Для данной хранимой процедуры в качестве первого аргумента поддерживаются только 'T' и 'S'. Если в качестве первого аргумента задано 'T', второй аргумент данной хранимой процедуры должен быть полным именем таблицы, например, <схема.имя-таблицы>. Действия пользователя Повторите вызов с допустимыми входными аргументами. SQL27994W Длина столбца специального регистра по умолчанию меньше длины столбца назначения. При загрузке возможно усечение значений, соответствующих этому столбцу (<номер-столбца>). Объяснение Для столбца "<номер-столбца>" задано значение SESSION_USER, CURRENT_USER, SYSTEM_USER или CURRENT_SCHEMA, но этот столбец был определен с длиной меньше 128 байт (только для SESSION_USER), или вставляемое в этот столбец значение-столбца превышает длину назначения после преобразования кодовой страницы. Значение-столбца может быть усечено при загрузке. Действия пользователя Если стандарты системы не допускают ID пользователей (SESSION_USER), превышающих по длине столбец, это предупреждение можно игнорировать. Чтобы оно не появлялось более, увеличьте длину столбца как минимум до 128 байт. Если причина в том, что преобразование кодовой страницы привело к росту данного столбца регистра по умолчанию, увеличьте длину столбца до значения, отвечающего этому росту. 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, чтобы изменения вступили в силу. В следующей таблице активным запросом называется запрос в состоянии Выполняется или В очереди. Табл. 28. Условия, при которых вступают в силу изменения класса запросов +----------------------------------+----------------------------------+ | Тип изменения | Условия, при которых изменение | | | вступает в силу | +----------------------------------+----------------------------------+ | Добавление, удаление или | Если нет активных запросов, | | изменение класса запросов. | изменения вступают в силу | | | немедленно. | +----------------------------------+----------------------------------+ | Изменение класса запросов, при | Вступает в силу немедленно, даже | | котором изменяется только | если есть активные запросы. | | значение Максимальное число | | | запросов. | | +----------------------------------+----------------------------------+ | Изменение класса запросов, при | Если есть активные запросы, | | котором изменяется только | изменение вступит в силу: | | значение Максимальная стоимость | * После остановки и перезапуска | | запроса. | 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 и в каталог, в котором находится этот файл. Быстрый старт Проверка готовности баз данных к перенастройке В версии 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 Процедура EXEC_DB2_SCRIPT не существует В настоящее время документация содержит описание процедуры с именем EXEC_DB2_SCRIPT. Эта процедура не входит в продукт, поэтому ее описание следует игнорировать. GET_DB_CONFIG - это хранимая процедура GET_DB_CONFIG - это хранимая процедура, а не табличная функция. В документации неверно указано, что процедура GET_DB_CONFIG является табличной функцией. Ниже представлено правильное описание. Схема - SYSPROC. Процедура GET_DB_CONFIG возвращает информацию конфигурации базы данных. Эта процедура не получает никаких аргументов. Она возвращает один набор результатов с двумя строками, содержащими отдельный столбец для каждого параметра. Строка со значением 0 в столбце DBCONFIG_TYPE содержит значения параметров конфигурации базы данных, сохраненные на диске. Строка со значением 1 в столбце DBCONFIG_TYPE содержит текущие значения параметров конфигурации базы данных, хранящиеся в памяти. Этой процедуре требуется пользовательское временное табличное пространство, используемое для создания глобальной временной таблицы для сохранения набора результатов. Расширены столбцы для пользовательских функций снимка В пользовательских функциях снимка размер столбцов типов VARCHAR и символьный большой объект (CLOB) изменен в соответствии со стандартами максимальных имен объектов баз данных. Табл. 29. Расширенные столбцы для пользовательских функций +---------------------------------------------------------------------+ | Пользовательская функция | +---------------------------+--------------------+--------------------+ | Имя столбца | Существующее | Измененное | | | определение | определение | | | столбца | столбца | +---------------------------------------------------------------------+ | SYSFUN.SQLCACHE_SNAPSHOT | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | STMT_TEXT | CLOB(64K) | CLOB(16M) | +---------------------------------------------------------------------+ | SNAPSHOT_APPL_INFO | +---------------------------+--------------------+--------------------+ | APPL_NAME | VARCHAR(255) | VARCHAR(256) | +---------------------------+--------------------+--------------------+ | APPL_ID | VARCHAR(32) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | AUTH_ID | VARCHAR(30) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | CLIENT_NNAME | VARCHAR(20) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | CLIENT_PRDID | VARCHAR(20) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | INPUT_DB_ALIAS | VARCHAR(20) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | CLIENT_DB_ALIAS | VARCHAR(20) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | DB_PATH | VARCHAR(256) | VARCHAR(1024) | +---------------------------+--------------------+--------------------+ | EXECUTION_ID | VARCHAR(20) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | CORR_TOKEN | VARCHAR(32) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | TPMON_CLIENT_USERID | VARCHAR(20) | VARCHAR(256) | +---------------------------+--------------------+--------------------+ | TPMON_CLIENT_WKSTN | VARCHAR(20) | VARCHAR(256) | +---------------------------+--------------------+--------------------+ | TPMON_CLIENT_APP | VARCHAR(20) | VARCHAR(256) | +---------------------------+--------------------+--------------------+ | TPMON_ACC_STR | VARCHAR(100) | VARCHAR(200) | +---------------------------------------------------------------------+ | SNAPSHOT_STATEMENT | +---------------------------+--------------------+--------------------+ | CURSOR_NAME | VARCHAR(31) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | CREATOR | VARCHAR(32) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | PACKAGE_NAME | VARCHAR(20) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | STMT_TEXT | CLOB(64K) | CLOB(16M) | +---------------------------------------------------------------------+ | SNAPSHOT_LOCKWAIT | +---------------------------+--------------------+--------------------+ | TABLE_NAME | VARCHAR(35) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | TABLE_SCHEMA | VARCHAR(32) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | APPL_ID_HOLDING_LK | VARCHAR(32) | VARCHAR(128) | +---------------------------------------------------------------------+ | SNAPSHOT_DATABASE | +---------------------------+--------------------+--------------------+ | INPUT_DB_ALIAS | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | DB_PATH | VARCHAR(256) | VARCHAR(1024) | +---------------------------------------------------------------------+ | SNAPSHOT_BP | +---------------------------+--------------------+--------------------+ | BP_NAME | VARCHAR(20) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | INPUT_DB_ALIAS | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | DB_PATH | VARCHAR(256) | VARCHAR(1024) | +---------------------------------------------------------------------+ | SNAPSHOT_LOCK | +---------------------------+--------------------+--------------------+ | TABLE_NAME | VARCHAR(35) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | TABLE_SCHEMA | VARCHAR(32) | VARCHAR(128) | +---------------------------------------------------------------------+ | SNAPSHOT_TABLE | +---------------------------+--------------------+--------------------+ | TABLE_NAME | VARCHAR(35) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | TABLE_SCHEMA | VARCHAR(32) | VARCHAR(128) | +---------------------------------------------------------------------+ | SNAPSHOT_TBREORG | +---------------------------+--------------------+--------------------+ | TABLE_NAME | VARCHAR(35) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | TABLE_SCHEMA | VARCHAR(32) | VARCHAR(128) | +---------------------------------------------------------------------+ | SNAPSHOT_SUBSECT | +---------------------------+--------------------+--------------------+ | STMT_TEXT | CLOB(64K) | CLOB(16M) | +---------------------------------------------------------------------+ | SNAPSHOT_DYN_SQL | +---------------------------+--------------------+--------------------+ | STMT_TEXT | CLOB(64K) | CLOB(16M) | +---------------------------------------------------------------------+ | HEALTH_DBM_INFO | +---------------------------+--------------------+--------------------+ | SERVER_INSTANCE_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------------------------------------------------+ | HEALTH_DBM_HI | +---------------------------+--------------------+--------------------+ | SERVER_INSTANCE_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------------------------------------------------+ | HEALTH_DBM_HI_HIS | +---------------------------+--------------------+--------------------+ | SERVER_INSTANCE_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------------------------------------------------+ | HEALTH_DB_INFO | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | INPUT_DB_ALIAS | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ | DB_PATH | VARCHAR(256) | VARCHAR(1024) | +---------------------------------------------------------------------+ | HEALTH_DB_HI | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------------------------------------------------+ | HEALTH_DB_HI_HIS | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------------------------------------------------+ | HEALTH_DB_HIC | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------------------------------------------------+ | HEALTH_DB_HIC_HIS | +---------------------------+--------------------+--------------------+ | DB_NAME | VARCHAR(8) | VARCHAR(128) | +---------------------------+--------------------+--------------------+ Прим.: В определениях STMT_TEXT для подпрограмм SNAPSHOT_DYN_SQL, SNAPSHOT_STATEMENT, SNAPSHOT_SUBSECT и SQLCACHE_SNAPSHOT размер увеличен до CLOB(16M) только для совместимости с будущим расширением. Реальные текстовые данные на выходе операторов по-прежнему будут усекаться до 64 Кбайт. SQL Reference Оператор CONNECT При явном соединении с сервером Windows в полях TO имя-авторизации и USER переменная-хоста имя можно задать в формате, совместимом с Microsoft Windows NT Security Account Manager (SAM). Спецификатор должен быть именем в стиле NetBIOS, с максимальной длиной 15 символов. Например, 'Domain\User'. Схема, используемая возможностью объяснения При задании заполняемых таблиц объяснений в качестве схемы возможность объяснения использует следующие ID: * ID авторизации сеанса для динамического оператора SQL * ID авторизации оператора для статического оператора SQL Схему можно связать с набором таблиц объяснения, или алиасами, указывающими на набор таблиц объяснения в другой схеме. Если в данной схеме не найдено таблиц объяснений, возможность объяснения пытается найти таблицы объяснения в схеме SYSTOOLS и использовать их. Строчные представления значений даты и времени Строки времени Строчные представление времени - это строка, начинающаяся с цифры и имеющая длину не менее 4 символов. Строка может оканчиваться пробелами; ноль в начале числа часов можно опускать; секунды можно опустить полностью. Если секунды опущены, считается, что неявно задано 0 секунд. Таким образом, 13:30 эквивалентно 13:30:00. Допустимые форматы для строк времени перечислены в следующей таблице. Для каждого формата указывается имя и соответствующая аббревиатура. Табл. 30. Форматы строчного представления времени +---------------------------+-------------+-------------+-------------+ | Имя формата | Аббревиатура| Формат | Пример | | | | времени | | +---------------------------+-------------+-------------+-------------+ | Международная организация | 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" можно задавать и в нижнем, и в верхнем регистре. Системный монитор Вывод отсоединенных прикладных программ не требует соединения с концентратором При вводе команды 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 Анализ документов размером больше 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 находятся в следующих каталогах: Табл. 31. Файлы 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: - дисковод компакт-диска * <язык> - пятисимвольный код нужного языка, как указано в Табл. 33 Операционные системы UNIX Файлы на компакт-диске FixPak находятся в следующих каталогах: Табл. 32. Файлы 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): | | +------------------+--------------------------------------------------+ где: * /компакт-диск - точка монтирования * <язык> - пятисимвольный код нужного языка, как указано в Табл. 33 Ниже в таблице перечислены каталоги языков и соответствующие языки. Табл. 33. Имена каталогов и соответствующие языки +----------------+----------------------------------------------------+ | Каталог | Язык | +----------------+----------------------------------------------------+ | 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 может в любое время без уведомления вносить изменения и усовершенствования в продукты и программы, описанные в этой публикации. Любые ссылки в данной информации на Web-сайты, не принадлежащие IBM, приводятся только для удобства и никоим образом не означают поддержки IBM этих Web-сайтов. Материалы этих Web-сайтов не являются частью данного продукта 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 в Соединенных Штатах и в других странах. Sleepycat и названия продуктов Sleepycat Software, упоминаемые здесь - товарные знаки или зарегистрированные товарные знаки Sleepycat Software, Inc. Названия других компаний, продуктов и услуг могут быть товарными знаками или марками сервиса других фирм.