Замечания по выпуску IBM(R) DB2(R) Universal Database Замечания по выпуску Версия 7.2/Версия 7.1 FixPak 4 © Copyright International Business Machines Corporation 2000, 2001. All rights reserved. Note to U.S. Government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule contract with IBM Corp. ------------------------------------------------------------------------ Содержание * Содержание * Предисловие ------------------------------------------------------------------------ Прочтите прежде всего * Замечания по продуктам o 1.1 Поддерживаемые процессоры для DB2 Версии 7 для Solaris o 1.2 Исправление китайской национальной версии для Red Flag Linux o 1.3 Дополнительный параметр национальной версии для DB2 for Linux в средах Linux с японским и упрощенным китайским языком o 1.4 Ошибка Центра управления в Microsoft Internet Explorer o 1.5 Потеря функции Центра управления o 1.6 Компакт-диск Netscape не поставляется с DB2 UDB o 1.7 Ошибка в файлах Readme XML o 1.8 Новые усовершенствования обработки деловой информации в DB2 Версии 7.2 o 1.9 FixPak 2A и новее приводят к проблемам на сервере OLAP IBM DB2 * Замечания об электронной документации (форматы HTML, PDF и поиск) o 2.1 Поддерживаемые браузеры Web в операционной системе Windows 2000 o 2.2 Поиск электронной информации DB2 в Solaris o 2.3 Переключение NetQuestion for OS/2 на использование TCP/IP o 2.4 Сообщения об ошибках при попытке запуска Netscape o 2.5 Требования к конфигурации для Adobe Acrobat Reader в системах на основе UNIX o 2.6 Справочник SQL поставляется в виде одного файла PDF ------------------------------------------------------------------------ Установка и конфигурирование * Общая информация по установке, перенастройке и конфигурированию o 3.1 Загрузка установочных пакетов для всех поддерживаемых клиентов DB2 o 3.2 Дополнительный необходимый уровень исправления для Solaris o 3.3 Поддержка каталога LDAP Netscape + 3.3.1 Расширение схемы LDAP Netscape o 3.4 Установка DB2 в Windows 2000 o 3.5 Запуск DB2 в режиме Administration Windows 2000 Terminal Server o 3.6 Microsoft SNA Server и поддержка многоузлового изменения SNA (двухфазного принятия) o 3.7 Определите ID пользователя и пароль в IBM Communications Server для Windows NT (CS/NT) + 3.7.1 Определение узла o 3.8 Программа установки DB2 может зависнуть, если не подключен съемный диск o 3.9 Ошибка SQL1035N при использовании CLP в Windows 2000 o 3.10 Проблемы перенастройки производных таблиц, в определении которых использованы специальные регистры o 3.11 Поддержка протокола IPX/SPX в Windows 2000 o 3.12 Остановка процессов DB2 перед обновлением предыдущей версии DB2 o 3.13 После установки DB2 выполните db2iupdt, если уже установлен другой продукт DB2 o 3.14 Задание среды Linux для запуска Центра управления DB2 o 3.15 DB2 Universal Database Enterprise Edition и DB2 Connect Enterprise Edition для Linux на S/390 o 3.16 Возможная потеря данных в Linux for S/390 o 3.17 Интеграция с рабочим столом Gnome и KDE для DB2 on Linux o 3.18 DB2 Universal Database Enterprise - Extended Edition for UNIX Quick Beginnings o 3.19 Параметр ядра shmseg для HP-UX o 3.20 Перенастройка управляющих баз данных IBM Visual Warehouse o 3.21 Перенастройка индексов уникальности с использованием команды db2uiddl o 3.22 Ошибка при установке 64-битной версии в AIX + 3.22.1 Установка с помощью SMIT o 3.23 Ошибки при перенастройке o 3.24 Активация лицензий IBM(R) DB2(R) Connect + 3.24.1 Установка лицензионного ключа и задание типа лицензии при помощи Центра лицензий + 3.24.2 Установка лицензионного ключа и задание типа лицензии при помощи команды db2licm + 3.24.3 Особенности лицензий для распределенных установок o 3.25 Доступ к управляющим базам данных хранилища o 3.26 Пробные программные продукты на компакт-дисках с Enterprise Edition для UNIX o 3.27 Пробные программные продукты на компакт-дисках с DB2 Connect Enterprise Edition для UNIX o 3.28 Исправление к информации о поддержке кодовых страниц и языков * Data Links Manager Quick Beginnings (Менеджер связей данных - Быстрый старт) o 4.1 Поддержка в AIX 5.1 o 4.2 Ошибка запуска Dlfm с сообщением: "Ошибка получения afsfid для префикса" o 4.3 Задание класса Tivoli Storage Manager для файлов архивов o 4.4 Требования к дисковому пространству для DFS Client Enabler o 4.5 Мониторинг процессов внутренней обработки менеджера файлов связей данных в AIX o 4.6 Установка и конфигурирование менеджера связей данных DB2 для AIX: Особенности установки в средах DCE-DFS o 4.7 Ошибка выполнения команды "dlfm add_prefix" o 4.8 В редких случаях, когда демон копирования не останавливается командой dlfm stop o 4.9 Установка и конфигурирование менеджера связей данных DB2 для AIX: Использование утилиты db2setup для установки менеджера связей данных DB2 в AIX o 4.10 Установка и конфигурирование менеджера связей данных DB2 для AIX: Задачи после установки в DCE-DFS o 4.11 Установка и конфигурирование менеджера связей данных DB2 для AIX: Ручная установка менеджера связей данных DB2 с помощью SMIT o 4.12 Установка и конфигурирование Client Enabler DFS для связей данных DB2 o 4.13 Установка и конфигурирование менеджера связей данных DB2 для Solaris o 4.14 Привилегии группы администратора в связях данных в Windows NT o 4.15 Минимизация записи в журнал при установке фильтра файловой системы связей данных (Data File System Filter - DLFF) + 4.15.1 Запись сообщений в журнал после установки o 4.16 Восстановление столбцов DATALINK o 4.17 Отбрасывание Менеджера связей данных o 4.18 Деинсталляция компонентов DLFM с использованием SMIT может удалить дополнительные наборы файлов o 4.19 Before You Begin/Determine Hostname (Прежде, чем вы начнете/Определение имени хоста) o 4.20 Работа с менеджером файлов связей данных: очистка после удаления менеджера связей данных DB2 из базы данных DB2 o 4.21 Действия пользователя при возникновении ошибки dlfm Client_conf o 4.22 DLFM1001E (Новое сообщение об ошибке) o 4.23 Опция задания файла конфигурации DLFM o 4.24 Ошибка при работе сценария связей данных/DFS dmapp_prestart в AIX o 4.25 Интеграция Tivoli Space Manager Integration с Data Links + 4.25.1 Ограничения o 4.26 Глава 4. Installing and Configuring DB2 Data Links Manager for AIX (Установка и конфигурирование менеджера связей данных DB2 для AIX) + 4.26.1 Общие замечания по установке + 4.26.1.1 Перенастройка менеджера файлов DB2 Версии 5.2 в Менеджер связей данных DB2 Версии 7 o 4.27 Глава 6. Verifying the Installation on AIX (Проверка установки в AIX) + 4.27.1 Обходные приемы в средах NFS * Дополнение по установке и настройке o 5.1 Глава 5. Установка клиентов DB2 в операционных системах UNIX + 5.1.1 Параметры конфигурации ядра HP-UX o 5.2 Глава 12. Выполнение ваших прикладных программ + 5.2.1 Связывание утилит базы данных при использовании клиента времени выполнения + 5.2.2 Доступ к DB2 с использованием ODBC из клиентов UNIX o 5.3 Глава 24. Настройка системы объединения на работу с несколькими источниками данных + 5.3.1 Системы объединения + 5.3.2 Ограничение + 5.3.3 Установка DB2 Relational Connect + 5.3.3.1 Установка DB2 Relational Connect на серверах Windows NT + 5.3.3.2 Установка DB2 Relational Connect на серверах UNIX o 5.4 Глава 26. Доступ к источникам данных Oracle + 5.4.1 Ошибки документации o 5.5 Доступ к источникам данных Sybase (новая глава) + 5.5.1 Добавление источников данных Sybase на сервер объединения + 5.5.1.1 Шаг 1: Задание переменных среды и изменение реестра профиля + 5.5.1.2 Шаг 2: Компоновка DB2 с программным обеспечением клиента Sybase (только для AIX и Solaris) + 5.5.1.3 Шаг 3: Перезапуск экземпляра DB2 + 5.5.1.4 Шаг 4: Создание и настройка файла интерфейсов + 5.5.1.5 Шаг 5: Создание оболочки + 5.5.1.6 Шаг 6 (необязательный): Задание переменной среды DB2_DJ_COMM + 5.5.1.7 Шаг 7: Создание сервера + 5.5.1.8 Шаг 8 (необязательный): Задание опции сервера CONNECTSTRING + 5.5.1.9 Шаг 9: Создание отображения пользователей + 5.5.1.10 Шаг 10: Создание псевдонимов для таблиц и производных таблиц + 5.5.2 Задание кодовых страниц Sybase o 5.6 Обращение к источникам данных Microsoft SQL Server с использованием ODBC (новая глава) + 5.6.1 Добавление на сервер объединения источников данных Microsoft SQL Server + 5.6.1.1 Шаг 1: Задание переменных среды (только для AIX) + 5.6.1.2 Шаг 2: Запуск сценария оболочки (только для AIX) + 5.6.1.3 Шаг 3 (необязательный): Задание переменной среды DB2_DJ_COMM + 5.6.1.4 Шаг 4: Перезапуск экземпляра DB2 (только для AIX) + 5.6.1.5 Шаг 5: Создание оболочки + 5.6.1.6 Шаг 6: Создание сервера + 5.6.1.7 Шаг 7: Создание отображения пользователей + 5.6.1.8 Шаг 8: Создание псевдонимов для таблиц и производных таблиц + 5.6.1.9 Шаг 9 (необязательный): Получение трассировок ODBC + 5.6.2 Обзор кодовых страниц Microsoft SQL Server o 5.7 Доступ к источникам данных Informix (новая глава) + 5.7.1 Добавление источников данных Informix на сервер объединения + 5.7.1.1 Шаг 1: Задание переменных среды и изменение реестра профиля + 5.7.1.2 Шаг 2: Компоновка DB2 с программным обеспечением клиента Informix + 5.7.1.3 Шаг 3: Перезапуск экземпляра DB2 + 5.7.1.4 Шаг 4: Создание файла Informix sqlhosts + 5.7.1.5 Шаг 5: Создание оболочки + 5.7.1.6 Шаг 6 (необязательный): Задание переменной среды DB2_DJ_COMM + 5.7.1.7 Шаг 7: Создание сервера + 5.7.1.8 Шаг 8: Создание отображения пользователей + 5.7.1.9 Шаг 9: Создание псевдонимов для таблиц, производных таблиц и синонимов Informix ------------------------------------------------------------------------ Управление * Administration Guide o 6.1 Доступные обновления * Руководство администратора: Планирование o 7.1 Глава 8. Физическая структура базы данных + 7.1.1 Table Space Design Considerations + 7.1.1.1 Оптимизация производительности табличного пространства при размещении данных на дисковом массиве o 7.2 Приложение D. Поддержка национальных языков (NLS) + 7.2.1 Поддержка кода страны/региона и кодовой страницы: + 7.2.2 Импорт/Экспорт/Загрузка - Ограничения для кодовых страниц 1394 и 5488 * Руководство администратора: Производительность o 8.1 Схемы системных временных таблиц o 8.2 Глава 8. Производительность работы + 8.2.1 Блочный пул буферов + 8.2.1.1 Примеры блочных пулов буферов o 8.3 Глава 10. Увеличение числа процессоров в конфигурации + 8.3.1 Проблемы при добавлении узлов в многораздельную базу данных o 8.4 Приложение A. Переменные реестра DB2 и переменные среды * Administering Satellites Guide and Reference (Справочное роуководство по управлению сателлитами) o 9.1 Настройка Версии 7.2 DB2 Personal Edition и DB2 Workgroup Edition в качестве сателлитов + 9.1.1 Предварительные требования + 9.1.1.1 Особенности установки + 9.1.2 Конфигурирование системы Версии 7.2 для синхронизации + 9.1.3 Установка FixPak 2 или новее в систему Версии 6 Enterprise Edition + 9.1.3.1 Обновление Версии 6 DB2 Enterprise Edition для использования в качестве сервера управления DB2 + 9.1.4 Обновление Центра управления и Центра управления сателлитами Версии 6 * Command Reference o 10.1 Доступные обновления o 10.2 db2updv7 - обновление базы данных до уровня текущего пакета FixPak Версии 7 o 10.3 REBIND + Missing value o 10.4 db2inidb - инициализировать зеркальную копию базы данных * Справочное руководство по восстановлению данных и высокой доступности o 11.1 Справочное руководство по восстановлению данных и высокой доступности в электронном виде o 11.2 Новое поведение резервного копирования и восстановления при LOGRETAIN=CAPTURE o 11.3 NEWLOGPATH2 теперь называется DB2_NEWLOGPATH2 o 11.4 Выбор метода резервного копирования для менеджера связей данных DB2 в AIX и в Solaris * Data Movement Utilities Guide and Reference (Справочное руководство по утилитам перемещения данных) o 12.1 Поддержка кодовых страниц для утилит импорта, экспорта и загрузки o 12.2 db2relocatedb (новая команда) + db2relocatedb - переместить базу данных o 12.3 Глава 2. Import + 12.3.1 Использованием импорта с буферизованными вставками o 12.4 Глава 3. Load + 12.4.1 Состояния отложенных действий после операции загрузки + 12.4.2 Ограничения загрузки + 12.4.3 Модификатор типа файла totalfreespace o 12.5 Глава 4. AutoLoader + 12.5.1 Для запуска AutoLoader при значении Authentication YES необходим rexecd o 12.6 AutoLoader может зависать при ветвлении потоков o 12.7 Приложение C. Export/Import/Load Utility File Formats (Форматы файлов утилит Export/Import/Load) * Replication Guide and Reference (Справочное руководство по репликации) o 13.1 Репликация и серверы других типов (не IBM) o 13.2 Репликация в Windows 2000 o 13.3 Известная ошибка при сохранении файлов SQL o 13.4 Обслуживание DB2 o 13.5 Утилита DDU в Web o 13.6 Глава 3. Data Replication Scenario (Сценарии репликации данных) + 13.6.1 Сценарии репликации o 13.7 Глава 5. Planning for Replication (Планирование репликации) + 13.7.1 Имена столбцов и таблиц + 13.7.2 Репликация столбцов DATALINK + 13.7.3 Ограничения на большие объекты + 13.7.4 Планирование репликации o 13.8 Глава 6. Setting up Your Replication Environment (Настройка среды репликации) + 13.8.1 Предварительное требование для повсеместного изменения + 13.8.2 Настройка среды репликации o 13.9 Глава 8. Problem Determination (Диагностика ошибок) o 13.10 Глава 9. Capture and Apply for AS/400 (Программы Capture и Apply для AS/400) o 13.11 Глава 10. Capture and Apply for OS/390 (Программы Capture и Apply для OS/390) + 13.11.1 Prerequisites for DB2 DataPropagator for OS/390 (Предварительные условия для DB2 DataPropagator for OS/390) + 13.11.2 UNICODE and ASCII Encoding Schemes on OS/390 (Схемы кодировки UNICODE и ASCII в OS/390) + 13.11.2.1 Choosing an Encoding Scheme (Выбор схемы кодировки) + 13.11.2.2 Setting Encoding Schemes (Задание схем кодировки) o 13.12 Глава 11. Capture and Apply for UNIX platforms (Программы Capture и Apply для платформ UNIX) + 13.12.1 Задание переменных среды для программ Capture и Apply в системах UNIX и Windows o 13.13 Глава 14. Table Structures (Структуры таблиц) o 13.14 Глава 15. Capture and Apply Messages (Сообщения программ Capture и Apply) o 13.15 Приложение A. Starting the Capture and Apply Programs from Within an Application (Запуск программ Capture и Apply из прикладной программы) * System Monitor Guide and Reference (Справочное руководство по системному монитору) o 14.1 db2ConvMonStream * Troubleshooting Guide (Руководство по устраниению неисправностей) o 15.1 Запуск DB2 в Windows 95, Windows 98 и Windows ME, когда пользователь не зарегистрирован в системе o 15.2 Глава 1. Good Troubleshooting Practices (Правильные приемы диагностики) + 15.2.1 Средства анализа ошибок и сбора информации о среде + 15.2.1.1 Собираемая информация + 15.2.1.2 Просмотр файла detailed_system_info.html + 15.2.1.3 Постраничный просмотр синтаксиса db2support o 15.3 Глава 2. Troubleshooting the DB2 Universal Database Server (Диагностика ошибок сервера DB2 Universal Database) o 15.4 Глава 8. Troubleshooting DB2 Data Links Manager (Устранение неисправностей менеджера связей данных DB2) * Using DB2 Universal Database on 64-bit Platforms (Использование DB2 Universal Database на 64-битных платформах) o 16.1 Глава 5. Configuration (Конфигурирование) + 16.1.1 LOCKLIST + 16.1.2 shmsys:shminfo_shmmax o 16.2 Глава 6. Restrictions (Ограничения) * XML Extender Administration and Programming (Управление и программирование XML Extender) * MQSeries o 18.1 Установка и конфигурирование функций DB2 MQSeries + 18.1.1 Установка MQSeries + 18.1.2 Установка MQSeries AMI + 18.1.3 Включение функций DB2 MQSeries o 18.2 Модели передачи сообщений MQSeries o 18.3 Структура сообщения o 18.4 Обзор функций MQSeries + 18.4.1 Ограничения + 18.4.2 Коды ошибок o 18.5 Использование сценариев + 18.5.1 Базовая передача сообщений + 18.5.2 Отправка сообщений + 18.5.3 Прием сообщений + 18.5.4 Возможности соединения программ друг с другом + 18.5.4.1 Взаимодействие требование/ответ + 18.5.4.2 Публикация/подписка o 18.6 enable_MQFunctions + enable_MQFunctions o 18.7 disable_MQFunctions + disable_MQFunctions ------------------------------------------------------------------------ Инструменты управления * Центр управления o 19.1 Возможность управления серверами DB2 Server for VSE and VM o 19.2 Поддержка Java 1.2 для Центра управления o 19.3 Ошибка "Неверный ярлык" при использовании электронной справки в операционной системе Windows o 19.4 Клавиши быстрого вызова не работают o 19.5 Центр управления в виде Java в OS/2 o 19.6 Ошибка "Доступ к файлу запрещен" при попытке просмотреть завершенное задание в журнале операционной системы Windows o 19.7 Соединение для проверки многоузлового изменения o 19.8 Центр управления для DB2 for OS/390 o 19.9 Необходимое исправление для Центра управления для OS/390 o 19.10 Изменения в окне Создать географический слой o 19.11 Информация по устранению неисправностей для Центра управления DB2 o 19.12 Устранение неисправностей для Центра управления в системах на основе UNIX o 19.13 Возможные проблемы со всплывающими справками в OS/2 o 19.14 Справка для параметра конфигурации jdk11_path o 19.15 Системная ошибка Solaris (SQL10012N) при использовании Центра сценариев или журнала o 19.16 Справка для файла DPREPL.DFT o 19.17 Запуск нескольких апплетов Центра управления o 19.18 Электронная справка для Центра управления, выполняемого как апплет o 19.19 Выполнение Центра управления в режиме апплета (Windows 95) o 19.20 Работа с большими результатами запросов * Информационный центр o 20.1 Ошибка "Неверный ярлык" в операционной системе Windows o 20.2 Открытие внешних ссылок Web в Netscape Navigator, если Netscape уже открыт (системы на основе UNIX) o 20.3 Проблемы запуска Информационного центра * Мастера o 21.1 Задание размера экстента в мастере по созданию базы данных o 21.2 Мастер поддержки MQSeries o 21.3 Мастер поддержки OLE DB ------------------------------------------------------------------------ Возможности для бизнеса * Business Intelligence Tutorial (Учебник Business Intelligence Tutorial) o 22.1 Исправленный учебник Business Intelligence Tutorial * DB2 Universal Database - Quick Tour * Центр хранилищ данных Administration Guide o 24.1 Доступные обновления o 24.2 Усовершенствования сервера хранилищ o 24.3 Обновлено управление программами преобразования ETI.Extract(R) при помощи Менеджера хранилищ DB2 o 24.4 Импорт и экспорт метаданных с помощью CWMI (Common Warehouse Metadata Interchange - общий обмен метаданными хранилищ) + 24.4.1 Введение + 24.4.2 Импорт метаданных + 24.4.3 Изменение ваших метаданных после запуска утилиты импорта + 24.4.4 Экспорт метаданных o 24.5 Утилита импорта/экспорта метаданных языка меток + 24.5.1 Определения ключей + 24.5.2 Расписания шагов и процессов o 24.6 Информация о шаге SAP + 24.6.1 Задержка при указании выходных параметров для шага SAP + 24.6.2 Значения входных параметров совместно используются шагами SAP + 24.6.3 Ошибка нарушения доступа при запуске шага SAP o 24.7 Информация о соединителе SAP + 24.7.1 Ограничения на установку соединителя SAP + 24.7.2 Производительность BAPI GetDetail * Начальный комплект OLAP DB2 o 25.1 Web-сайт сервера OLAP o 25.2 Поддерживаемые служебные уровни операционных систем o 25.3 Установка Начального комплекта OLAP DB2 в UNIX o 25.4 Дополнительная настройка для операционной среды Solaris o 25.5 Дополнительная настройка для всех операционных систем o 25.6 Конфигурирование ODBC для Начального комплекта OLAP + 25.6.1 Конфигурирование источников данных в системах UNIX + 25.6.1.1 Конфигурирование переменных среды ODBC + 25.6.1.2 Редактирование файла odbc.ini + 25.6.1.3 Добавление источника данных в файл odbc.ini + 25.6.1.4 Пример параметров ODBC для DB2 + 25.6.1.5 Пример параметров ODBC для Oracle + 25.6.2 Конфигурирование каталога метаданных OLAP в системах UNIX + 25.6.3 Конфигурирование источников данных в системах Windows + 25.6.4 Конфигурирование каталога метаданных OLAP в системах Windows + 25.6.5 После конфигурирования источника данных o 25.7 Регистрация с рабочего стола Начального комплекта OLAP + 25.7.1 Пример регистрации для Начального комплекта o 25.8 Создание и конфигурирование вручную баз данных примера для Начального комплекта OLAP o 25.9 Перенастройка прикладных программ в Начальный комплект OLAP Версии 7.2 o 25.10 Известные проблемы и ограничения o 25.11 Отсутствие файлов EQD встраиваемого модуля OLAP для электронных таблиц * Information Catalog Manager Administration Guide (Руководство администратора Менеджера каталогов данных) o 26.1 Утилита инициализации менеджера каталогов данных + 26.1.1 + 26.1.2 Вопросы лицензирования + 26.1.3 Вопросы установки o 26.2 Усовершенствования в менеджере каталогов данных o 26.3 Несовместимость между Менеджером каталогов данных и Sybase в среде Windows o 26.4 Доступ к каталогам данных DB2 Версии 5 при помощи менеджера каталогов данных DB2 Версии 7 o 26.5 Конфигурирование каталога данных o 26.6 Обмен метаданными с другими продуктами o 26.7 Обмен метаданными при помощи командами flgnxoln o 26.8 Обмен метаданными при помощи команды MDISDGC o 26.9 Вызов программ * Information Catalog Manager Programming Guide and Reference (Справочное руководство по программированию Менеджера каталогов данных) o 27.1 Коды причин Менеджера каталогов данных * Information Catalog Manager User's Guide (Руководство пользователя Менеджера каталогов данных) * Менеджер каталогов данных: Сообщения o 29.1 Исправления сообщений FLG + 29.1.1 Сообщение FLG0260E + 29.1.2 Сообщение FLG0051E + 29.1.3 Сообщение FLG0003E + 29.1.4 Сообщение FLG0372E + 29.1.5 Сообщение FLG0615E * Менеджер каталогов данных: Электронная справка o 30.1 Менеджер каталогов данных для Web * DB2 Warehouse Manager Installation Guide (Руководство по установке Менеджера каталогов данных) o 31.1 Доступные обновления руководства DB2 Warehouse Manager Installation Guide o 31.2 Требования к программному обеспечению для преобразователей хранилища o 31.3 Соединитель для SAP R/3 + 31.3.1 Предварительные требования для установки o 31.4 Соединитель для Web + 31.4.1 Предварительные требования для установки * Query Patroller Administration Guide (Руководство администратора Query Patroller) o 32.1 Клиент DB2 Query Patroller - это отдельный компонент o 32.2 Перенастройка из Версии 6 DB2 Query Patroller с использованием dqpmigrate o 32.3 Включение управления запросами o 32.4 Положение табличного пространства для управляющих таблиц o 32.5 Новые параметры команды dqpstart o 32.6 Новый параметр команды iwm_cmd o 32.7 Новая переменная реестра: DQP_RECOVERY_INTERVAL o 32.8 Запуск QueryAdministrator o 32.9 Управление пользователями o 32.10 Создание очереди заданий o 32.11 Использование интерфейса командной строки o 32.12 Замечания по Query Enabler o 32.13 DB2 Query Patroller Tracker может возвратить пустую страницу столбцов o 32.14 Query Patroller и средства репликации o 32.15 Улучшения производительности Query Patroller o 32.16 Потеря привилегии EXECUTE для пользователей Query Patroller, созданных в версии 6 o 32.17 Ограничения Query Patroller o 32.18 Приложение B. Troubleshooting DB2 Query Patroller Clients (Устранение неисправностей клиентов DB2 Query Patroller) ------------------------------------------------------------------------ Разработка прикладных программ * Administrative API Reference (Справочник по API управления) o 33.1 db2ArchiveLog (новый API) + db2ArchiveLog o 33.2 db2ConvMonStream o 33.3 db2DatabasePing (новый API) + db2DatabasePing - проверка связи с базой данных o 33.4 db2HistData o 33.5 db2HistoryOpenScan o 33.6 db2XaGetInfo (новый API) + db2XaGetInfo - Получить информацию для менеджера ресурсов o 33.7 db2XaListIndTrans (новый API, заменяющий sqlxphqr) + db2XaListIndTrans - Получить список неоднозначных транзакций o 33.8 db2GetSnapshot - получить снимок o 33.9 Запись журнала Forget o 33.10 sqlaintp - Получить сообщение об ошибке o 33.11 sqlbctcq - Закрыть запрос к контейнеру табличного пространства o 33.12 sqleseti - Задать информацию о клиенте o 33.13 sqlubkp - резервное копирование базы данных o 33.14 sqlureot - реорганизовать таблицу o 33.15 sqlurestore - восстановить базу данных o 33.16 Ошибка документации о поддержке расширенной совместно используемой памяти AIX o 33.17 SQLFUPD + 33.17.1 locklist o 33.18 SQLEDBDESC * Application Building Guide o 34.1 Доступные обновления * Application Development Guide o 35.1 Доступные обновления o 35.2 IBM OLE DB Provider для DB2 UDB * CLI Guide and Reference (Справочное руководство по интерфейсу командной строки) o 36.1 Связывание утилит базы данных при использовании клиента времени выполнения o 36.2 Использование статического SQL в прикладных программах CLI o 36.3 Ограничения статического профилирования JDBC/ODBC/CLI o 36.4 Преобразования ADT o 36.5 Глава 1. Introduction to CLI (Введение в CLI) + 36.5.1 Различия между CLI и встроенным SQL DB2 o 36.6 Глава 3. Using Advanced Features (Использование дополнительных возможностей) + 36.6.1 Writing Multi-Threaded Applications + 36.6.2 Написание прикладной программы Unicode CLI DB2 + 36.6.2.1 Функции Unicode + 36.6.2.2 Новые типы данных и действительные преобразования + 36.6.2.3 Устаревшее значение ключевого слова для исправления + 36.6.2.4 Литералы в базах данных Unicode + 36.6.2.5 Новые ключевые слова для конфигурации CLI + 36.6.3 Microsoft Transaction Server (MTS) как монитор транзакций + 36.6.4 Scrollable Cursors (Указатели с возможностью прокрутки) + 36.6.4.1 Поддержка указателей с возможностью прокрутки на стороне сервера для OS/390 + 36.6.5 Using Compound SQL (Использование составного SQL) + 36.6.6 Using Stored Procedures + 36.6.6.1 Написание хранимой процедуры в CLI + 36.6.6.2 Хранимые процедуры и автоматическое связывание CLI o 36.7 Глава 4. Configuring CLI/ODBC and Running Sample Applications (Конфигурирование CLI/ODBC и запуск программ примеров) + 36.7.1 Ключевые слова конфигурации o 36.8 Глава 5. DB2 CLI Functions (Функции CLI DB2) + 36.8.1 Параметр SQLBindFileToParam - Связать ссылку файла большого объекта с большим объектом + 36.8.2 SQLColAttribute - Возврат атрибутов столбца + 36.8.3 SQLGetInfo - Получить общую информацию + 36.8.4 SQLGetLength - Получение длины строчного значения + 36.8.5 SQLNextResult - Связать следующий набор результатов с другим хэндлом оператора + 36.8.5.1 Назначение + 36.8.5.2 Синтаксис + 36.8.5.3 Аргументы функции + 36.8.5.4 Использование + 36.8.5.5 Коды возврата + 36.8.5.6 Диагностика + 36.8.5.7 Ограничения + 36.8.5.8 Ссылки + 36.8.6 SQLSetStmtAttr - Задать опции, связанные с оператором o 36.9 Приложение C. DB2 CLI and ODBC (CLI DB2 и ODBC) + 36.9.1 Прикладные программы Unicode ODBC + 36.9.1.1 Сравнение прикладных программ ODBC Unicode и не Unicode o 36.10 Приложение D. Extended Scalar Functions (Расширенные скалярные функции) + 36.10.1 Date and Time Functions (Функции даты и времени) o 36.11 Приложение K. Using the DB2 CLI/ODBC/JDBC Trace Facility (Использование возможности трассировки CLI/ODBC/JDBC DB2) * Справочник по сообщениям o 37.1 Доступные обновления * SQL Reference (Справочник по SQL) o 38.1 Доступные обновления SQL Reference o 38.2 Функции MQSeries теперь поддерживают данные CLOB o 38.3 Глава 3. Language Elements (Элементы языка) + 38.3.1 Расширение типов данных + 38.3.2 Преобразование типов данных + 38.3.3 Назначения и сравнения + 38.3.3.1 Назначения строк + 38.3.3.2 Сравнение строк + 38.3.4 Правила для типов данных результатов + 38.3.4.1 Символьные и графические строки в базе данных Unicode + 38.3.5 Rules for String Conversions (Правила преобразования строк) + 38.3.6 Expressions (Выражения) + 38.3.6.1 With the Concatenation Operator (С операцией конкатенации) + 38.3.7 Predicates o 38.4 Глава 4. Functions (Функции) + 38.4.1 Включение новых функций и процедур + 38.4.2 Scalar Functions (Скалярные функции) + 38.4.2.1 MQPUBLISH + 38.4.2.2 MQREADCLOB + 38.4.2.3 MQRECEIVECLOB + 38.4.2.4 MQSEND + 38.4.3 Скалярные функции и Unicode + 38.4.4 Table Functions (Табличные функции) + 38.4.4.1 MQREADALLCLOB + 38.4.4.2 MQRECEIVEALLCLOB o 38.5 Глава 6. SQL Statements (Операторы SQL) + 38.5.1 Длинные ключи индекса для баз данных Unicode + 38.5.1.1 ALTER TABLE + 38.5.1.2 CREATE INDEX + 38.5.1.3 CREATE TABLE * Обновления для Unicode o 39.1 Введение + 39.1.1 Базы данных Unicode и прикладные программы DB2 + 39.1.2 Обновление документации ------------------------------------------------------------------------ Соединение с хост-системами * Руководство пользователя по DB2 Connect (DB2 Connect User's Guide) o 40.1 Увеличение скорости передачи данных DB2 Connect + 40.1.1 Дополнительные блоки запросов + 40.1.2 Изменение размеров окна RFC-1323 * Дополнение по возможностям соединений o 41.1 Настройка сервера прикладных программ в среде VM o 41.2 Параметры PATCH1 и PATCH2 и конфигурации CLI/ODBC/JDBC ------------------------------------------------------------------------ Дополнительная информация * Дополнительная информация o 42.1 DB2 Everywhere называется теперь DB2 Everyplace o 42.2 Специальные возможности DB2 UDB Версии 7 + 42.2.1 Ввод с клавиатуры и навигация + 42.2.1.1 Ввод с клавиатуры + 42.2.1.2 Фокус ввода с клавиатуры + 42.2.2 Средства облегчения работы с экраном + 42.2.2.1 Высококонтрастный режим + 42.2.2.2 Параметры шрифтов + 42.2.2.3 Независимость от цвета + 42.2.3 Альтернативные средства предупреждения + 42.2.4 Совместимость с технологиями для людей с физическими недостатками + 42.2.5 Удобный формат документации o 42.3 Необходима мышь o 42.4 При попытке связывания из клиента времени выполнения DB2 возникает ошибка "Не найдены файлы связывания" o 42.5 Поиск SEARCH o 42.6 Окна памяти для HP-UX 11 o 42.7 Деинсталляция Client Enabler DFS DB2 o 42.8 Аутентификация клиента в Windows NT o 42.9 Ограничения системы объединения o 42.10 Ограничения систем объединения с многораздельными таблицами MPP o 42.11 Ограничение DataJoiner o 42.12 Менеджер каталогов данных на иврите для Windows NT o 42.13 Ошибка запуска SPM SNA DB2 после загрузки Windows o 42.14 Требования к учетным записям для DB2 в Windows NT и Windows 2000 o 42.15 Необходимость принятия всех пользовательских программ, которые будут использованы в Центре хранилищ данных (Data Warehouse Center - DWC) o 42.16 Кэширование на стороне клиента в Windows NT o 42.17 Life Sciences Data Connect - Новые оболочки o 42.18 Усовершенствование SQL Assist o 42.19 Справка для команд BACKUP и RESTORE o 42.20 "Менеджер хранилищ данных" следует читать как "Менеджер хранилищ данных DB2" ------------------------------------------------------------------------ Приложения * Приложение A. Замечания o A.1 Товарные знаки * Индекс ------------------------------------------------------------------------ Предисловие Добро пожаловать в систему DB2 Universal Database Версии 7.2! Прим.:Для облегчения чтения Замечаний по выпуску используйте моноширинный шрифт. Сайт поддержки DB2 Universal Database и DB2 Connect регулярно обновляется. Самую свежую информацию смотрите по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Этот файл содержит информацию, которая не была доступна при подготовке руководств DB2, о следующих продуктах: IBM DB2 Universal Database Personal Edition, Версия 7.2 IBM DB2 Universal Database Workgroup Edition, Версия 7.2 IBM DB2 Universal Database Enterprise Edition, Версия 7.2 IBM DB2 Data Links Manager, Версия 7.2 IBM DB2 Universal Database Enterprise - Extended Edition, Версия 7.2 IBM DB2 Query Patroller, Версия 7.2 IBM DB2 Personal Developer's Edition, Версия 7.2 IBM DB2 Universal Developer's Edition, Версия 7.2 IBM DB2 Data Warehouse Manager, Версия 7.2 IBM DB2 Relational Connect, Версия 7.2 Для следующих продуктов поставляется отдельный файл Замечаний по выпуску READCON.TXT: IBM DB2 Connect Personal Edition, Версия 7.2 IBM DB2 Connect Enterprise Edition, Версия 7.2 Документацию по DB2 Life Sciences Data Connect можно загрузить с сайта программ IBM: http://www.ibm.com/software/data/db2/lifesciencesdataconnect/library.html. Информацию об этом продукте можно посмотреть на странице http://www.ibm.com/software/data/db2/lifesciencesdataconnect. Следующие книги были обновлены; свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Информация этих замечаний дополняет данные ссылки. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. Administration Guide Application Building Guide Application Development Guide Command Reference Справочное руководство по восстановлению данных и высокой доступности Data Warehouse Center Administration Guide Справочник по сообщениям SQL Reference DB2 Warehouse Manager Installation Guide В книге "Что нового" содержится обзор некоторых основных усовершенствований DB2 в Версии 7.2. Если у вас нет Версии 7.2 книги "Что нового", ее можно взять по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Чтобы получать самую свежую информацию о продуктах семейства DB2, подпишитесь на журнал "DB2 magazine" (подписка бесплатная). Электронная версия этого журнала доступна по адресу http://www.db2mag.com; на этом же сайте можно найти инструкции о том, как запросить подписку. Прим.:В этих Замечаниях по выпуску все ссылки на Windows NT относятся также к Windows 2000, если не сказано обратного. Прим.:Вертикальная черта (|) на левом поле страницы отмечает строки, измененные с момента первой публикации данных Замечаний по выпуску. ------------------------------------------------------------------------ Прочтите прежде всего ------------------------------------------------------------------------ Замечания по продуктам ------------------------------------------------------------------------ 1.1 Поддерживаемые процессоры для DB2 Версии 7 для Solaris Не поддерживаются версии процессоров более ранние, чем UltraSparc. ------------------------------------------------------------------------ 1.2 Исправление китайской национальной версии для Red Flag Linux Если вы используете сервер Red Flag Linux Версии 1.1 с упрощенным китайским языком, получите у Red Flag исправление национальной версии для упрощенного китайского. Без исправления национальной версии для упрощенного китайского для Версии 1.1 DB2 не узнает, что для упрощенного китайского используется кодовая страница 1386. ------------------------------------------------------------------------ 1.3 Дополнительный параметр национальной версии для DB2 for Linux в средах Linux с японским и упрощенным китайским языком Чтобы в системе Linux с японским или упрощенным китайским языком можно было использовать инструменты GUI Java, требуется дополнительный параметр национальной версии. Без этого параметра не могут правильно выводиться японские и китайские символы. Включите в профиль пользователя следующую команду или выполняйте ее из командной строки перед каждым запуском Центра управления. Для систем с японским языком: export LC_ALL=ja_JP Для систем с упрощенным китайским языком: export LC_ALL=zh_CN ------------------------------------------------------------------------ 1.4 Ошибка Центра управления в Microsoft Internet Explorer Существует ошибка, вызываемая установками опций защиты Internet Explorer (IE). Центр управления использует jar без подписи, поэтому доступ к системной информации отключается менеджером защиты. Чтобы устранить эту ошибку, переконфигурируйте опции защиты IE следующим образом: 1. Выберите Свойства обозревателя в меню Вид (IE4) или в меню Сервис (IE5). 2. На странице Безопасность выберите Зона надежных узлов (IE4) или Надежные узлы (IE5). 3. Нажмите кнопку Добавить узлы (IE4) или Узлы (IE5). 4. Добавьте к списку надежных узлов Web-сервер Центра управления. Если Web-сервер Центра управления находится в том же самом домене, может оказаться полезным добавить только имя Web-сервера (без имени домена). Например: http://ccWebServer.ccWebServerDomain http://ccWebServer Прим.:При вводе этого URL надо либо задать префикс https://, либо отменить опцию Требовать верификации сервера (https:) для всех сайтов в этой зоне, чтобы добавить этот сайт 5. Нажмите кнопку OK. 6. Нажмите кнопку Параметры...(IE4) или Пользовательский уровень... (IE5).. 7. Найдите Язык Java --> Разрешения Java (IE4) или Java --> Java Permissions (IE5) и выберите Специальная (IE4) или Custom (IE5). 8. Нажмите кнопку Правила для языка Java. 9. Выберите страницу Разрешения правки (Edit Permissions). 10. Найдите Неподписанное содержимое -> Запустить неподписанное содержимое -> Дополнительные неподписанные разрешения -> Системные сведения (Unsigned Content -> Run Unsigned Content -> Additional Unsigned Permissions -> System Information) и выберите Включить (Enable). 11. Нажмите кнопку OK в каждом открытом окне. ------------------------------------------------------------------------ 1.5 Потеря функции Центра управления С устаревшими клиентами Центра управления при применении FixPak 2 к серверу DB2 не должно быть никаких проблем. Однако в DB2 Версии 7.2 устаревшие клиенты Центра управления почти полностью теряют работоспособность. "Предыдущие уровни" в данном случае подразумевают любые клиенты Версии 6 с FixPak ранее 6 и любые клиенты Версии 7 с FixPak ранее 2. Клиентов Версии 5 это не касается. Для исправления рекомендуем обновить все затронутые клиенты. Клиенты версии 6 должны быть обновлены до FixPak 6 или более позднего, а клиенты версии 7 - до FixPak 2 или более позднего. ------------------------------------------------------------------------ 1.6 Компакт-диск Netscape не поставляется с DB2 UDB Компакт-диск Netscape более не поставляется с DB2 UDB. Продукты Netscape можно получить по адресу http://www.netscape.com. ------------------------------------------------------------------------ 1.7 Ошибка в файлах Readme XML В файле README.TXT для DB2 XML Extender Версии 7.1 в разделе "Considerations" сказано следующее: 3. The default version of DB2 UDB is DB2 UDB Version 7.1. If you wish to use DB2 UDB Version 6.1 on AIX and Solaris, you should ensure that you are running with DB2 UDB V6.1 instance and with the DB2 UDB V6.1 libraries. Это неверно. Модуль расширения DB2 XML Extender поддерживается только в DB2 Версии 7.1 и 7.2. В файлах readme.aix, readme.nt и readme.sun список требований к программному обеспечению выглядит так: * DB2 UDB 6.1 with FP1_U465423 or higher (AIX) * DB2 Universal Database Version 6.1 or higher with FixPak 3 installed (NT) * DB2 UDB Version 6.1 with FixPak FP1_U465424 or higher (Sun) Это неверно. Для DB2 XML Extender необходима DB2 Версии 7.1 или 7.2. ------------------------------------------------------------------------ 1.8 Новые усовершенствования обработки деловой информации в DB2 Версии 7.2 В книге Что нового Версии 7.2 и в некоторой другой документации есть ссылки на новые усовершенствования обработки деловой информации в Версии 7.2. Эти усовершенствования будут доступны позже. ------------------------------------------------------------------------ 1.9 FixPak 2A и новее приводят к проблемам на сервере OLAP IBM DB2 Если вы используете сервер OLAP IBM DB2 в UNIX, вы можете столкнуться с проблемами после установки FixPak 2A в DB2 Universal Database V7. FixPak 2A и более новые устанавливают новые драйверы ODBC с поддержкой UNICODE, но сервер OLAP DB2 не поддерживает эти новые драйверы. Обходной прием для сервера OLAP DB2 - задать в ваших файлах ODBC использование других (не UNICODE) драйверов ODBC. Эти драйверы (не UNICODE) переименованы - к их именам добавляется "_36". Например, драйвер для Solaris libdb2.so переименован в libdb2_36.so. Дополнительную информацию об изменении драйверов ODBC смотрите в разделе "Loading and Configuring ODBC for the SQL Interface" в Главе 4 "Installing on AIX, Solaris Operating Environment, and HP-UX" руководства OLAP Setup and User's Guide. ------------------------------------------------------------------------ Замечания об электронной документации (форматы HTML, PDF и поиск) ------------------------------------------------------------------------ 2.1 Поддерживаемые браузеры Web в операционной системе Windows 2000 В Windows 2000 рекомендуется использовать Microsoft Internet Explorer. При использовании Netscape учтите следующее: * При использовании Netscape в Windows 2000 для поиска в электронной информации DB2 может потребоваться длительное время. Netscape будет использовать все доступные ресурсы процессора и может работать очень долго. Хотя в конце концов результаты поиска могут быть возвращены, рекомендуется после запуска поиска изменить фокус, щелкнув по другому окну. Через некоторое время будут возвращены результаты поиска. * Вы можете также заметить, что когда в Центре управления запрошена справка, она правильно выводится в окне браузера Netscape, однако если оставить окно браузера открытым и впоследствии запросить справку из другой части Центра управления, содержимое окна браузера не изменится. Если закрыть окно браузера и снова запросить справку, она будет показана правильно. Эту ошибку можно исправить, выполнив шаги, описанные в разделе 2.4, Сообщения об ошибках при попытке запуска Netscape. Эту проблему можно также обойти, закрывая окно браузера перед запросом справки Центра управления. * При запросе справки Центра управления или темы из Информационного центра вы можете получить сообщение об ошибке. Чтобы исправить эту ошибку, выполнив шаги, описанные в разделе 2.4, Сообщения об ошибках при попытке запуска Netscape. ------------------------------------------------------------------------ 2.2 Поиск электронной информации DB2 в Solaris При возникновении ошибок поиска электронной информации DB2 в Solaris проверьте параметры ядра в файле /etc/system. Здесь показаны минимальные значения параметров ядра, требуемые для системы поиска DB2 NetQuestion: semsys:seminfo_semmni 256 semsys:seminfo_semmap 258 semsys:seminfo_semmns 512 semsys:seminfo_semmnu 512 semsys:seminfo_semmsl 50 shmsys:shminfo_shmmax 6291456 shmsys:shminfo_shmseg 16 shmsys:shminfo_shmmni 300 Чтобы задать параметр ядра, добавьте в конец файла /etc/system такую строку: set <имя_семафора> = значение Чтобы новые или измененные значения вступили в силу, необходимо перезагрузить систему. ------------------------------------------------------------------------ 2.3 Переключение NetQuestion for OS/2 на использование TCP/IP Инструкции по переключению NetQuestion на использование TCP/IP в системах OS/2 неполны. Указанные в этих инструкциях файлы *.cfg находятся в подкаталоге данных каталога установки NetQuestion. Чтобы узнать каталог установки NetQuestion, можно использовать одну из следующих команд: echo %IMNINSTSRV% //для установок SBCS echo %IMQINSTSRV% //для установок DBCS ------------------------------------------------------------------------ 2.4 Сообщения об ошибках при попытке запуска Netscape Если при попытке запуска Netscape вы получили следующие сообщения об ошибках: Не найден файл <путь файла> (или один из его компонентов). Проверьте правильность пути и имени файла и убедитесь, что доступны все необходимые библиотеки. Не удалось открыть "D:\Program Files\SQLLIB\CC\..\doc\html\db2help\XXXXX.htm" выполните следующие действия для исправления этой ошибки в системах Windows NT, 95 или 98 (что нужно сделать в Windows 2000, смотрите ниже): 1. В меню Пуск выберите Программы --> Проводник. Откроется Проводник Windows. 2. В Проводнике Windows выберите Вид --> Параметры. Откроется записная книжка Параметры. 3. Щелкните по вкладке Типы файлов. Откроется страница Типы файлов. 4. В поле Зарегистрированные типы выберите Netscape Hypertext Document и нажмите кнопку Изменить. Откроется окно Изменение свойств типа. 5. В поле Действия выберите "open". 6. Нажмите кнопку Изменить. Откроется окно Изменение действия для типа. 7. Выключите переключатель Использовать DDE. 8. Убедитесь, что в самом конце строки в поле Приложение, исполняющее действие находится "%1" (включая кавычки и пробел перед первой кавычкой). Если такие сообщения получены в системе Windows 2000, выполните следующие действия: 1. В меню Пуск выберите Проводник Windows. Откроется Проводник Windows. 2. В Проводнике Windows выберите Средства --> Параметры папок. Откроется записная книжка Параметры папок. 3. Щелкните по вкладке Типы файлов. 4. На странице Типы файлов в поле Зарегистрированные типы выберите HTM Netscape Hypertext Document и нажмите кнопку Дополнительные. Откроется окно Изменение свойств типа. 5. В поле Действия выберите "open". 6. Нажмите кнопку Изменить. Откроется окно Изменение действия для типа. 7. Выключите переключатель Использовать DDE. 8. Убедитесь, что в самом конце строки в поле Приложение, исполняющее действие находится "%1" (включая кавычки и пробел перед первой кавычкой). 9. Нажмите кнопку OK. 10. Повторите шаги с 4 по 8 для типов файлов HTML Netscape Hypertext Document и SHTML Netscape Hypertext Document. ------------------------------------------------------------------------ 2.5 Требования к конфигурации для Adobe Acrobat Reader в системах на основе UNIX Для платформ на основе UNIX Acrobat Reader предлагается только для работы с английским языком, поэтому при попытке открыть файлы PDF с другими национальными языками могут возникнуть ошибки. В сообщениях об ошибках может говориться об ошибках доступа к шрифтам или об ошибках выделения содержимого файла PDF, но на самом деле эти ошибки вызваны тем, что английская версия Acrobat Reader может нормально работать в UNIX только в английской национальной среде. Чтобы просмотреть такие файлы PDF, перед запуском английской версии Acrobat Reader переключитесь на английскую национальную среду, для чего выполните следующие действия: * Отредактируйте файл сценария запуска Acrobat Reader, добавив в него после оператора #!/bin/sh следующую строку: LANG=C;export LANG Это обеспечит правильное поведение Acrobat Reader при его запуске другими прикладными программами (например, из Netscape Navigator или из меню справки прикладной программы). * Введите в командной строке LANG=C, чтобы задать английскую среду для прикладной программы Acrobat Reader. Чтобы получить дополнительную информацию, обратитесь в Adobe Systems (http://www.Adobe.com). ------------------------------------------------------------------------ 2.6 Справочник SQL поставляется в виде одного файла PDF В приложении "Использование библиотеки DB2" в каждой книге указано, что Справочник SQL доступен в формате PDF в виде двух отдельных томов. Это неверно. Хотя в печатном виде книга состоит из двух томов и два соответствующих номера форм правильны, существует только один файл PDF, содержащий оба тома. Имя этого файла PDF - db2s0x70. ------------------------------------------------------------------------ Установка и конфигурирование Частичное содержание * Общая информация по установке, перенастройке и конфигурированию o 3.1 Загрузка установочных пакетов для всех поддерживаемых клиентов DB2 o 3.2 Дополнительный необходимый уровень исправления для Solaris o 3.3 Поддержка каталога LDAP Netscape + 3.3.1 Расширение схемы LDAP Netscape o 3.4 Установка DB2 в Windows 2000 o 3.5 Запуск DB2 в режиме Administration Windows 2000 Terminal Server o 3.6 Microsoft SNA Server и поддержка многоузлового изменения SNA (двухфазного принятия) o 3.7 Определите ID пользователя и пароль в IBM Communications Server для Windows NT (CS/NT) + 3.7.1 Определение узла o 3.8 Программа установки DB2 может зависнуть, если не подключен съемный диск o 3.9 Ошибка SQL1035N при использовании CLP в Windows 2000 o 3.10 Проблемы перенастройки производных таблиц, в определении которых использованы специальные регистры o 3.11 Поддержка протокола IPX/SPX в Windows 2000 o 3.12 Остановка процессов DB2 перед обновлением предыдущей версии DB2 o 3.13 После установки DB2 выполните db2iupdt, если уже установлен другой продукт DB2 o 3.14 Задание среды Linux для запуска Центра управления DB2 o 3.15 DB2 Universal Database Enterprise Edition и DB2 Connect Enterprise Edition для Linux на S/390 o 3.16 Возможная потеря данных в Linux for S/390 o 3.17 Интеграция с рабочим столом Gnome и KDE для DB2 on Linux o 3.18 DB2 Universal Database Enterprise - Extended Edition for UNIX Quick Beginnings o 3.19 Параметр ядра shmseg для HP-UX o 3.20 Перенастройка управляющих баз данных IBM Visual Warehouse o 3.21 Перенастройка индексов уникальности с использованием команды db2uiddl o 3.22 Ошибка при установке 64-битной версии в AIX + 3.22.1 Установка с помощью SMIT o 3.23 Ошибки при перенастройке o 3.24 Активация лицензий IBM(R) DB2(R) Connect + 3.24.1 Установка лицензионного ключа и задание типа лицензии при помощи Центра лицензий + 3.24.2 Установка лицензионного ключа и задание типа лицензии при помощи команды db2licm + 3.24.3 Особенности лицензий для распределенных установок o 3.25 Доступ к управляющим базам данных хранилища o 3.26 Пробные программные продукты на компакт-дисках с Enterprise Edition для UNIX o 3.27 Пробные программные продукты на компакт-дисках с DB2 Connect Enterprise Edition для UNIX o 3.28 Исправление к информации о поддержке кодовых страниц и языков * Data Links Manager Quick Beginnings (Менеджер связей данных - Быстрый старт) o 4.1 Поддержка в AIX 5.1 o 4.2 Ошибка запуска Dlfm с сообщением: "Ошибка получения afsfid для префикса" o 4.3 Задание класса Tivoli Storage Manager для файлов архивов o 4.4 Требования к дисковому пространству для DFS Client Enabler o 4.5 Мониторинг процессов внутренней обработки менеджера файлов связей данных в AIX o 4.6 Установка и конфигурирование менеджера связей данных DB2 для AIX: Особенности установки в средах DCE-DFS o 4.7 Ошибка выполнения команды "dlfm add_prefix" o 4.8 В редких случаях, когда демон копирования не останавливается командой dlfm stop o 4.9 Установка и конфигурирование менеджера связей данных DB2 для AIX: Использование утилиты db2setup для установки менеджера связей данных DB2 в AIX o 4.10 Установка и конфигурирование менеджера связей данных DB2 для AIX: Задачи после установки в DCE-DFS o 4.11 Установка и конфигурирование менеджера связей данных DB2 для AIX: Ручная установка менеджера связей данных DB2 с помощью SMIT o 4.12 Установка и конфигурирование Client Enabler DFS для связей данных DB2 o 4.13 Установка и конфигурирование менеджера связей данных DB2 для Solaris o 4.14 Привилегии группы администратора в связях данных в Windows NT o 4.15 Минимизация записи в журнал при установке фильтра файловой системы связей данных (Data File System Filter - DLFF) + 4.15.1 Запись сообщений в журнал после установки o 4.16 Восстановление столбцов DATALINK o 4.17 Отбрасывание Менеджера связей данных o 4.18 Деинсталляция компонентов DLFM с использованием SMIT может удалить дополнительные наборы файлов o 4.19 Before You Begin/Determine Hostname (Прежде, чем вы начнете/Определение имени хоста) o 4.20 Работа с менеджером файлов связей данных: очистка после удаления менеджера связей данных DB2 из базы данных DB2 o 4.21 Действия пользователя при возникновении ошибки dlfm Client_conf o 4.22 DLFM1001E (Новое сообщение об ошибке) o 4.23 Опция задания файла конфигурации DLFM o 4.24 Ошибка при работе сценария связей данных/DFS dmapp_prestart в AIX o 4.25 Интеграция Tivoli Space Manager Integration с Data Links + 4.25.1 Ограничения o 4.26 Глава 4. Installing and Configuring DB2 Data Links Manager for AIX (Установка и конфигурирование менеджера связей данных DB2 для AIX) + 4.26.1 Общие замечания по установке + 4.26.1.1 Перенастройка менеджера файлов DB2 Версии 5.2 в Менеджер связей данных DB2 Версии 7 o 4.27 Глава 6. Verifying the Installation on AIX (Проверка установки в AIX) + 4.27.1 Обходные приемы в средах NFS * Дополнение по установке и настройке o 5.1 Глава 5. Установка клиентов DB2 в операционных системах UNIX + 5.1.1 Параметры конфигурации ядра HP-UX o 5.2 Глава 12. Выполнение ваших прикладных программ + 5.2.1 Связывание утилит базы данных при использовании клиента времени выполнения + 5.2.2 Доступ к DB2 с использованием ODBC из клиентов UNIX o 5.3 Глава 24. Настройка системы объединения на работу с несколькими источниками данных + 5.3.1 Системы объединения + 5.3.2 Ограничение + 5.3.3 Установка DB2 Relational Connect + 5.3.3.1 Установка DB2 Relational Connect на серверах Windows NT + 5.3.3.2 Установка DB2 Relational Connect на серверах UNIX o 5.4 Глава 26. Доступ к источникам данных Oracle + 5.4.1 Ошибки документации o 5.5 Доступ к источникам данных Sybase (новая глава) + 5.5.1 Добавление источников данных Sybase на сервер объединения + 5.5.1.1 Шаг 1: Задание переменных среды и изменение реестра профиля + 5.5.1.2 Шаг 2: Компоновка DB2 с программным обеспечением клиента Sybase (только для AIX и Solaris) + 5.5.1.3 Шаг 3: Перезапуск экземпляра DB2 + 5.5.1.4 Шаг 4: Создание и настройка файла интерфейсов + 5.5.1.5 Шаг 5: Создание оболочки + 5.5.1.6 Шаг 6 (необязательный): Задание переменной среды DB2_DJ_COMM + 5.5.1.7 Шаг 7: Создание сервера + 5.5.1.8 Шаг 8 (необязательный): Задание опции сервера CONNECTSTRING + 5.5.1.9 Шаг 9: Создание отображения пользователей + 5.5.1.10 Шаг 10: Создание псевдонимов для таблиц и производных таблиц + 5.5.2 Задание кодовых страниц Sybase o 5.6 Обращение к источникам данных Microsoft SQL Server с использованием ODBC (новая глава) + 5.6.1 Добавление на сервер объединения источников данных Microsoft SQL Server + 5.6.1.1 Шаг 1: Задание переменных среды (только для AIX) + 5.6.1.2 Шаг 2: Запуск сценария оболочки (только для AIX) + 5.6.1.3 Шаг 3 (необязательный): Задание переменной среды DB2_DJ_COMM + 5.6.1.4 Шаг 4: Перезапуск экземпляра DB2 (только для AIX) + 5.6.1.5 Шаг 5: Создание оболочки + 5.6.1.6 Шаг 6: Создание сервера + 5.6.1.7 Шаг 7: Создание отображения пользователей + 5.6.1.8 Шаг 8: Создание псевдонимов для таблиц и производных таблиц + 5.6.1.9 Шаг 9 (необязательный): Получение трассировок ODBC + 5.6.2 Обзор кодовых страниц Microsoft SQL Server o 5.7 Доступ к источникам данных Informix (новая глава) + 5.7.1 Добавление источников данных Informix на сервер объединения + 5.7.1.1 Шаг 1: Задание переменных среды и изменение реестра профиля + 5.7.1.2 Шаг 2: Компоновка DB2 с программным обеспечением клиента Informix + 5.7.1.3 Шаг 3: Перезапуск экземпляра DB2 + 5.7.1.4 Шаг 4: Создание файла Informix sqlhosts + 5.7.1.5 Шаг 5: Создание оболочки + 5.7.1.6 Шаг 6 (необязательный): Задание переменной среды DB2_DJ_COMM + 5.7.1.7 Шаг 7: Создание сервера + 5.7.1.8 Шаг 8: Создание отображения пользователей + 5.7.1.9 Шаг 9: Создание псевдонимов для таблиц, производных таблиц и синонимов Informix ------------------------------------------------------------------------ Общая информация по установке, перенастройке и конфигурированию ------------------------------------------------------------------------ 3.1 Загрузка установочных пакетов для всех поддерживаемых клиентов DB2 Установочные пакеты для всех поддерживаемых клиентов DB2, в том числе для клиентов DB2 более ранних версий (до Версии 7), можно загрузить с сайта IBM DB2 Client Application Enabler Pack по адресу http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/download.d2w/report. ------------------------------------------------------------------------ 3.2 Дополнительный необходимый уровень исправления для Solaris Для DB2 Universal Database Версии 7 для Solaris Версии 2.6 кроме исправлений, перечисленных в руководстве DB2 for UNIX Quick Beginnings, требуется исправление 106285-02 или более новое. ------------------------------------------------------------------------ 3.3 Поддержка каталога LDAP Netscape Для сервера LDAP Netscape поддерживаются уровни v4.12 или новее 2. 3.3.1 Расширение схемы LDAP Netscape Сервер каталогов Netscape позволяет программам расширять схему, добавляя определения атрибутов и классов объектов в два файла - slapd.user_oc.conf и slapd.user_at.conf. Эти два файла находятся в каталоге <путь_установки_Netscape>\slapd-<имя_компьютера>\config. В файл slapd.user_at.conf добавляются следующие атрибуты DB2: ############################################################################ # # IBM DB2 Universal Database V7.2 # Определения атрибутов # ############################################################################ attribute binProperty 1.3.18.0.2.4.305 bin attribute binPropertyType 1.3.18.0.2.4.306 cis attribute cesProperty 1.3.18.0.2.4.307 ces attribute cesPropertyType 1.3.18.0.2.4.308 cis attribute cisProperty 1.3.18.0.2.4.309 cis attribute cisPropertyType 1.3.18.0.2.4.310 cis attribute propertyType 1.3.18.0.2.4.320 cis attribute systemName 1.3.18.0.2.4.329 cis attribute db2nodeName 1.3.18.0.2.4.419 cis attribute db2nodeAlias 1.3.18.0.2.4.420 cis attribute db2instanceName 1.3.18.0.2.4.428 cis attribute db2Type 1.3.18.0.2.4.418 cis attribute db2databaseName 1.3.18.0.2.4.421 cis attribute db2databaseAlias 1.3.18.0.2.4.422 cis attribute db2nodePtr 1.3.18.0.2.4.423 dn attribute db2gwPtr 1.3.18.0.2.4.424 dn attribute db2additionalParameters 1.3.18.0.2.4.426 cis attribute db2ARLibrary 1.3.18.0.2.4.427 cis attribute db2authenticationLocation 1.3.18.0.2.4.425 cis attribute db2databaseRelease 1.3.18.0.2.4.429 cis attribute DCEPrincipalName 1.3.18.0.2.4.443 cis В файл slapd.user_oc.conf надо добавить определения классов объектов DB2: ############################################################################ # # IBM DB2 Universal Database V7.2 # Определения классов объектов # ############################################################################ objectclass eProperty oid 1.3.18.0.2.6.90 requires objectClass allows cn, propertyType, binProperty, binPropertyType, cesProperty, cesPropertyType, cisProperty, cisPropertyType objectclass eApplicationSystem oid 1.3.18.0.2.6.8 requires objectClass, systemName objectclass DB2Node oid 1.3.18.0.2.6.116 requires objectClass, db2nodeName allows db2nodeAlias, host, db2instanceName, db2Type, description, protocolInformation objectclass DB2Database oid 1.3.18.0.2.6.117 requires objectClass, db2databaseName, db2nodePtr allows db2databaseAlias, description, db2gwPtr, db2additionalParameters, db2authenticationLocation, DCEPrincipalName, db2databaseRelease, db2ARLibrary После добавления определения схемы DB2 надо перезапустить сервер каталогов, чтобы внесенные изменения вступили в силу. ------------------------------------------------------------------------ 3.4 Установка DB2 в Windows 2000 В Windows 2000 при установке поверх более ранней версии DB2 или повторной установке текущей версии убедитесь, что для опций восстановления для всех служб DB2 задано значение "Не выполнять никаких действий". ------------------------------------------------------------------------ 3.5 Запуск DB2 в режиме Administration Windows 2000 Terminal Server Начиная с DB2 UDB Версии 7.1 FixPak 3, DB2 может работать в режиме Administration Windows 2000 Terminal Server. Ранее DB2 нельзя было запускать в сеансе клиента режима Administration Windows 2000 Terminal Server. ------------------------------------------------------------------------ 3.6 Microsoft SNA Server и поддержка многоузлового изменения SNA (двухфазного принятия) Прикладные программы хоста и AS/400 не могут обращаться к серверам DB2 UDB, используя двухфазное принятие SNA, если в качестве продукта SNA используется Microsoft SNA Server. Во всех публикациях по DB2 UDB, в которых указывается, что такие обращения поддерживаются, содержат неверную информацию. Требуется IBM Communications Server for Windows NT Версии 5.02 или более поздней. Прим.:Прикладные программы, обращающиеся к серверам баз данных хоста или AS/400 с помощью DB2 UDB for Windows, могут использовать двухфазное принятие SNA, если применяется Microsoft SNA Server Версии 4 Service Pack 3 или более поздний. ------------------------------------------------------------------------ 3.7 Определите ID пользователя и пароль в IBM Communications Server для Windows NT (CS/NT) Если для соединения удаленных клиентов DB2 с сервером DB2 используется протокол связи APPC и в качестве продукта SNA используется CS/NT, убедитесь, что в файле конфигурации CS/NT правильно заданы следующие ключевые слова. Обычно этот файл находится в каталоге x:\ibmcs\private. 3.7.1 Определение узла TG_SECURITY_BEHAVIOR Этот параметр позволяет пользователю определить, как узел обрабатывает информацию защиты, содержащуюся в команде ATTACH, если менеджер транзакций не сконфигурирован для защиты IGNORE_IF_NOT_DEFINED Этот параметр позволяет пользователю определить, содержит ли команда ATTACH параметры защиты, и игнорировать их, если менеджер транзакций не сконфигурирован для защиты. Если используется параметр IGNORE_IF_NOT_DEFINED, не нужно определять в CS/NT ID пользователя и пароль. VERIFY_EVEN_IF_NOT_DEFINED Этот параметр позволяет пользователю определить, содержит ли команда ATTACH параметры защиты, и проверить их, даже если TP не сконфигурирован для защиты. Эта опция принимается по умолчанию. Если используется параметр VERIFY_EVEN_IF_NOT_DEFINED, в CS/NT нужно определить ID пользователя и пароль. Чтобы определить в CS/NT ID пользователя и пароль, выполните следующие действия: 1. Пуск --> Программы --> IBM Communications Server --> Конфигурация узла SNA. Откроется окно Введение в конфигурацию Communications Server. 2. Выберите файл конфигурации, который нужно изменить. Нажмите кнопку Далее. Откроется окно Выбор сценария конфигурации. 3. Выберите CPI-C, APPC или эмуляцию 5250. Нажмите кнопку Завершить. Откроется окно узел SNA Communications Server. 4. Щелкните по символу [+] рядом с CPI-C и APPC. 5. Щелкните по символу [+] рядом с Защитой LU6.2. 6. Щелкните правой кнопкой мыши по Пароли пользователей и выберите Создать. Откроется окно Определение пароля для ID пользователя. 7. Заполните поля ID пользователя и пароль. Нажмите кнопку OK. Нажмите кнопку Завершить, чтобы принять изменения. ------------------------------------------------------------------------ 3.8 Программа установки DB2 может зависнуть, если не подключен съемный диск Программа установки DB2 может зависнуть после выбора типа установки, если используется компьютер со съемным диском, который не подключен. Чтобы исправить эту ошибку, запустите программу setup с опцией -a: setup.exe -a ------------------------------------------------------------------------ 3.9 Ошибка SQL1035N при использовании CLP в Windows 2000 Если DB2 установлена в каталоге, к которому доступ для записи есть только у некоторых пользователей (например, у администраторов), обычный пользователь при попытке использования процессора командной строки DB2 может получить ошибку SQL1035N. Во избежание этой ошибки DB2 необходимо устанавливать в каталог, к которому доступ для записи есть у всех пользователей. ------------------------------------------------------------------------ 3.10 Проблемы перенастройки производных таблиц, в определении которых использованы специальные регистры После перенастройки базы данных нельзя использовать производные таблицы, для определения столбцов которых использованы специальные регистры USER или CURRENT SCHEMA. Например: create view v1 (c1) as values user В Версии 5 специальные регистры USER и CURRENT SCHEMA имели тип данных CHAR(8), но начиная с Версии 6 они определены как VARCHAR(128). Если в этом примере производная таблица создана в Версии 5, столбец c1 имеет тип данных CHAR и после перенастройки базы данных он также будет иметь тип данных CHAR. Если эта производная таблица используется после перенастройки, этот столбец будет вычисляться во время выполнения и это вызовет ошибку из-за несовпадения типов данных. Решение проблемы: отбросить и заново создать эту производную таблицу. Перед ее отбрасыванием сохраните оператор, использованный для ее создания, запросив производную таблицу каталога SYSCAT.VIEWS. Например: select text from syscat.views where viewname='<>' ------------------------------------------------------------------------ 3.11 Поддержка протокола IPX/SPX в Windows 2000 Эта информация относится к главе Планирование установки вашей книги Быстрый старт, к разделу под заголовком "Возможные сценарии связи клиент-сервер". Опубликованная схема поддержки протокола не вполне правильна. Не поддерживается соединение клиента Windows 2000 с сервером в OS/2 или системе на основе UNIX при помощи IPX/SPX. Также не поддерживается соединение клиента OS/2 или клиента в системе на основе UNIX с сервером Windows 2000 при помощи IPX/SPX. ------------------------------------------------------------------------ 3.12 Остановка процессов DB2 перед обновлением предыдущей версии DB2 Эта информация относится к сведениям о перенастройке в вашей книге DB2 for Windows Быстрый старт. При обновлении предыдущей версии DB2 на компьютере с системой Windows программа установки выдает сообщение, содержащее список процессов, удерживающих в памяти модули DLL DB2. После этого вы можете вручную остановить процессы, указанные в этом списке, или можете позволить программе установки автоматически завершить эти процессы. Чтобы избежать потери данных, рекомендуется вручную завершить все процессы DB2 перед установкой. Лучший способ убедиться, что процессы DB2 не выполняются - проверить запущенные в системе процессы, используя панель Windows Службы. В панели Windows Службы убедитесь, что не запущены службы DB2, службы OLAP или службы хранилища данных. Прим.:Одновременно в системе Windows может работать только одна версия DB2. Например, нельзя одновременно запустить на одном компьютере Windows DB2 Версии 7 и DB2 Версии 6. При установке DB2 Версии 7 на компьютере, на котором установлена DB2 Версии 6, программа установки удалит в процессе установки DB2 Версии 6. Дополнительную информацию о перенастройке из предыдущих версий DB2 смотрите в соответствующем руководстве Quick Beginnings. ------------------------------------------------------------------------ 3.13 После установки DB2 выполните db2iupdt, если уже установлен другой продукт DB2 Следующую информацию надо добавить к документации по установке в вашей книге Быстрый старт. При установке DB2 UDB Версии 7 в системах на основе UNIX, в которых уже установлен продукт DB2, нужно будет выполнить команду db2iupdt, чтобы обновить те экземпляры, которые должны использовать новые возможности этого продукта. Некоторые возможности не будут доступны, пока не будет выполнена эта команда. ------------------------------------------------------------------------ 3.14 Задание среды Linux для запуска Центра управления DB2 Следующую информацию надо включить в главу "Установка Центра управления DB2" книги Быстрый старт. Запустив программу установки DB2 в системе Linux и вернувшись в окно терминала, введите следующие команды, чтобы задать правильную среду для работы Центра управления DB2: su -l <имя экземпляра> export JAVA_HOME=/usr/jdk118 export DISPLAY=<имя компьютера>:0 Затем откройте еще одно окно терминала и введите команды: su root xhost +<имя компьютера> Закройте это окно терминала и вернитесь в окно терминала, в котором вы зарегистрировались как владелец экземпляра, и введите команду: db2cc чтобы запустить Центр управления. ------------------------------------------------------------------------ 3.15 DB2 Universal Database Enterprise Edition и DB2 Connect Enterprise Edition для Linux на S/390 DB2 Universal Database Enterprise Edition и DB2 Connect Enterprise Edition теперь доступны для Linux на S/390. Перед установкой Linux на компьютер S/390 необходимо ознакомиться с требованиями к программному обеспечению и аппаратуре: Аппаратура S/390 9672 Generation 5 или более новое, Multiprise 3000. Программное обеспечение * SuSE Linux v7.0 for S/390 или Turbolinux Server 6 for zSeries and S/390 * уровень ядра 2.2.16 с исправлениями для S/390 (смотрите ниже) * glibc 2.1.3 * libstdc++ 6.1 Для Linux на S/390 требуются следующие исправления: * в настоящее время исправления не требуются. Последние исправления смотрите в Интернете по адресу http://www.software.ibm.com/data/db2/linux. Примечания: 1. Поддерживаются только 32-битные Linux для платформы Intel и Linux на S/390. 2. Под Linux/390 в DB2 Версии 7 недоступны: o DB2 UDB Enterprise - Extended Edition o модули расширения DB2 o Менеджер связей данных o Клиент управления DB2 o Поддержка изменения пароля o Поддержка LDAP ------------------------------------------------------------------------ 3.16 Возможная потеря данных в Linux for S/390 При использовании DB2 on Linux for S/390 с ядром 2.2 количество доступной памяти RAM на компьютере Linux надо ограничить величиной не более 1 Гбайта. Это ограничение предотвращает возможную потерю данных в DB2 из-за ошибки в ядре Linux. Это затрагивает только DB2 on Linux for S/390, но не Linux на системах Intel. Исправление ядра можно получить по адресу http://www10.software.ibm.com/developerworks/opensource/linux390/alpha_src.html; после применения этого исправления можно использовать более 1 Гбайта памяти RAM. ------------------------------------------------------------------------ 3.17 Интеграция с рабочим столом Gnome и KDE для DB2 on Linux DB2 теперь содержит набор утилит для создания папок рабочего стола и значков DB2 запуска часто используемых инструментов DB2 с рабочих столов Gnome и KDE для поддерживаемых дистрибутивов Linux в системах Intel. Эти утилиты устанавливаются в DB2 Версии 7.2 по умолчанию; после установки их можно использовать для создания или удаления значков рабочего стола для одного или нескольких выбранных пользователей. Чтобы добавить набор значков рабочего стола для одного или нескольких пользователей, используйте следующую команду: db2icons <пользователь1> [<пользователь2> <пользователь3>...] Прим.:Обратите внимание на то, что если значки генерируются при работающей среде рабочего стола Gnome или KDE, пользователю может понадобиться дать вручную команду обновления рабочего стола, чтобы увидеть новые значки. Чтобы удалить набор значков рабочего стола для одного или нескольких пользователей, используйте следующую команду: db2rmicons <пользователь1> [<пользователь2> <пользователь3>...] Прим.:Чтобы генерировать или удалять значки для других пользователей, у вас должны быть соответствующие полномочия. Обычно db2icons и db2rmicons можно использовать для создания и удаления значков для себя, если вы обычный пользователь, и для других, если вы - пользователь root или же другой пользователь с правом писать в домашние каталоги указанных пользователей. ------------------------------------------------------------------------ 3.18 DB2 Universal Database Enterprise - Extended Edition for UNIX Quick Beginnings В Главе 5. Installing and Configuring DB2 Universal Database on Linux (Установка и конфигурирование DB2 Universal Database в Linux должно быть указано, что у каждого физического узла в кластере Linux EEE уровни ядра, glibc и libstdc++ должны совпадать. Пробную версию DB2 EEE for Linux можно получить на Web-сайте http://www6.software.ibm.com/dl/db2udbdl/db2udbdl-p ------------------------------------------------------------------------ 3.19 Параметр ядра shmseg для HP-UX Информация об изменении параметров конфигурации ядра HP-UX в книге Quick Beginnings (Быстрый старт) неверна. Рекомендуемое значение параметра ядра shmseg для HP-UX следует игнорировать. Вместо этого следует использовать значение HP-UX по умолчанию (120). ------------------------------------------------------------------------ 3.20 Перенастройка управляющих баз данных IBM Visual Warehouse Информация о перенастройке активной управляющей базы данных хранилища при типовой установке DB2 Universal Database Версии 7 в Windows NT и Windows 2000 содержится в руководстве DB2 Universal Database: Быстрый старт для Windows. Если нужно перенастроить несколько управляющих баз данных хранилища, для перенастройки дополнительных баз данных необходимо использовать окно Менеджер управляющей базы данных хранилища. В каждый момент времени активной может быть только одна управляющая база данных хранилища. Если база данных, перенастроенная последней - это не та база данных, которую нужно использовать при следующей регистрации в Центре хранилищ данных, с помощью окна Менеджер управляющей базы данных хранилища зарегистрируйте в качестве активной нужную базу данных. ------------------------------------------------------------------------ 3.21 Перенастройка индексов уникальности с использованием команды db2uiddl В главе DB2 Post-installation Migration Tasks (Задания после перенастройки DB2) руководств DB2 Quick Beginnings (Быстрый старт) в разделе Optional Post-Migration Tasks (Необязательные задания после перенастройки) утверждается, что вы должны использовать командуdb2uiddl для перенастройки индексов уникальности из DB2 Версии 5.x и DB2 Версии 6. Это неверно. Команда db2uidddl необходима для перенастройки индексов уникальности только при перенастройке из версииDB2 до версии 5. ------------------------------------------------------------------------ 3.22 Ошибка при установке 64-битной версии в AIX При использовании db2setup для установки 64-битного образа AIX DB2 в существующей операционной системе AIX проверьте совместимость версий AIX, иначе установка завершится неудачно. Образы DB2 для AIX Версии 5 нельзя установить в операционной системе AIX Версии 4. Попытка установить 64-битный образ DB2 для AIX Версии 4 DB2 в операционной системеAIX Версии 5 также приведет к ошибке установки. При попытке установки несовместимых 64-битных версий AIX утилита db2setup обнаружит несоответствие при проверке предварительных условий и выдаст сообщение об ошибке: DBI1009E Несоответствие версий образа и AIX. Чтобы не столкнуться с этой ошибкой, проверьте, правильную ли 64-битную версию для AIX вы устанавливаете. 3.22.1 Установка с помощью SMIT При использовании SMIT вы получите ошибку, если вместо версии DB2для AIX Версии 4 возьмете DB2 для AIX Версии 5, однако обратное неверно. Поэтому пользователи 64-битной AIX Версии 5 должны проверить, что устанавливают правильную версию. Если удается запустить db2setup без сообщения об ошибке, проверка совместимости версий AIX была выполнена успешно. Прим.:Эта несовместимость не затрагивает 32-битные версии AIX. ------------------------------------------------------------------------ 3.23 Ошибки при перенастройке Во время перенастройки в файле db2diag.log появляются записи об ошибках (база данных не перенастроена), даже если перенастройка выполнена успешно; эти сообщения можно проигнорировать. ------------------------------------------------------------------------ 3.24 Активация лицензий IBM(R) DB2(R) Connect Программы установки DB2 Connect Enterprise Edition, DB2 Connect Unlimited Edition и DB2 Connect Web Starter Kit не устанавливают лицензии на эти продукты. После установки эти продукты будут работать в течении 90 дней в режиме Try-and-Buy, поскольку файлы лицензий отсутствуют. После 90-дневного периода установленный продукт перестанет работать, если вы не активировали правильную лицензию. Чтобы активировать лицензию для вашего продукта, можно использовать либо DB2 License Center, либо команду db2licm. 3.24.1 Установка лицензионного ключа и задание типа лицензии при помощи Центра лицензий 1. Запустите Центр управления DB2 и выберите в меню ИнструментыЦентр лицензий. 2. Выберите систему, для которой вы устанавливаете лицензию. В поле Установленные продукты будет показано имя продукта, который вы установили. 3. Из меню Лицензия выберите Добавить. 4. В окне Добавить лицензию выберите радиокнопку Из файла и выберите файл лицензии: o На серверах Windows: x:\db2\license\connect\имя_файла_лицензии, где x: - буква дисковода CD-ROM с компакт-диском продукта DB2 Connect. o На серверах UNIX: /db2/license/connect/имя_файла_лицензии где имя_файла_лицензии для DB2 Connect Enterprise Edition и DB2 Connect Unlimited Edition - db2conee.lic, а для DB2 Connect Web Starter Kit - db2consk.lic. 5. Нажмите кнопку Применить, чтобы добавить лицензионный ключ. 6. Выберите тип лицензии. o Для DB2 Connect Unlimited Edition и DB2 Connect Web Starter Kit: В Центре лицензий из меню Лицензия выберите Изменить. В окне Изменить лицензию включите переключатель Измеряемое использование. Нажмите кнопку OK, чтобы закрыть окно Изменить лицензию и вернуться в Центр лицензий. Прим.:Для DB2 Connect Web Starter Kit проверьте, что дата истечения срока использования на 270 дней позже даты установки продукта. o Для DB2 Connect Enterprise Edition: В Центре лицензий из меню Лицензия выберите Изменить. В окне Изменить лицензию выберите тип приобретенной вами лицензии. + Если вы приобрели лицензию на число одновременных пользователей, выберите Одновременные пользователи DB2 Connect и введите число приобретенных пользовательских лицензий. Прим.:Для DB2 Connect Enterprise Edition лицензия дается на одного пользователя. Дополнительные пользовательские лицензии DB2 Connect надо приобретать отдельно. + Если вы приобрели лицензию зарегистрированных пользователей, выберите Зарегистрированные пользователи DB2 Connect и нажмите кнопку OK, чтобы закрыть окно Изменить лицензию и вернуться в Центр лицензий. Откройте вкладку Пользователи и добавьте ID всех пользователей, для которых вы приобрели лицензию. 3.24.2 Установка лицензионного ключа и задание типа лицензии при помощи команды db2licm Вместо Центра лицензий можно использовать для добавления лицензионного ключа команду db2licm. Чтобы добавить лицензионный ключ при помощи команды db2licm: 1. На серверах Windows введите команду: db2licm -a x:\db2\license\connect\имя_файла_лицензии где x: - дисковод CD-ROM с компакт-диском DB2 Connect. На серверах UNIX введите команду: db2licm -a db2/license/connect/имя_файла_лицензии где имя_файла_лицензии для DB2 Connect Enterprise Edition и DB2 Connect Unlimited Edition - db2conee.lic, а для DB2 Connect Web Starter Kit - db2consk.lic. Прим.:Для DB2 Connect Web Starter Kit проверьте, что дата истечения срока использования на 270 дней позже даты установки продукта. 2. Задайте тип лицензии: o Для DB2 Connect Unlimited Edition и DB2 Connect Web Starter Kit: Введите команду: db2licm -p db2conee measured o Для DB2 Connect Enterprise Edition: Если вы приобрели лицензию на число одновременно работающих пользователей, введите следующие команды: db2licm -p db2conee concurrent db2licm -u N где N - число лицензий для одновременно работающих пользователей, которые вы приобрели. Если вы приобрели лицензии на зарегистрированных пользователей, введите команду: db2licm -p db2conee registered 3.24.3 Особенности лицензий для распределенных установок Если вы создаете образ для распределенной установки, вам специально надо подготовить установку лицензии после установки. Добавьте в сценарии распределенной установки описанные выше команды db2licm. ------------------------------------------------------------------------ 3.25 Доступ к управляющим базам данных хранилища При типовой установке DB2 Версии 7 в Windows NT вместе с сервером хранилища данных создается управляющая база данных хранилища DB2 Версии 7. Если установлена управляющая база данных хранилища Visual Warehouse, перед перенастройкой метаданных этой управляющей базы данных хранилища для использования Центром хранилищ данных DB2 Версии 7 необходимо обновить содержащий эту базу данных сервер DB2 в DB2 Версии 7. Необходимо перенастроить все управляющие базы данных хранилища, которые нужно использовать в Версии 7. Метаданные в активной управляющей базе данных хранилища перенастраиваются в Версию 7 в процессе установки DB2 Версии 7. Для перенастройки метаданных в других управляющих базах данных хранилища используйте утилиту перенастройки управляющей базы данных хранилища, для вызова которой в Windows NT выберите Пуск --> Программы --> IBM DB2 --> Менеджер управляющей базы данных хранилища. Информацию о перенастройке управляющих баз данных хранилища смотрите в руководстве DB2 Universal Database for Windows: Быстрый старт. ------------------------------------------------------------------------ 3.26 Пробные программные продукты на компакт-дисках с Enterprise Edition для UNIX На компакт-дисках с DB2 Universal Database (UDB) Enterprise Edition (EE) для платформ на основе UNIX Версии 6 и Версии 7 находится 90-дневная пробная версия DB2 Connect Enterprise Edition (CEE). Поскольку функции DB2 Connect встроены в программный продукт DB2 UDB EE, чтобы пользоваться этими функциями, в системах, в которых установлена DB2 UDB EE, программный продукт DB2 CEE устанавливать не требуется. Если вы установили 90-дневную пробную версию DB2 CEE и хотите обновить ее до лицензированной версии, необходимо купить программный продукт DB2 CEE и установить лицензионный ключ DB2 CEE. Переустанавливать программный продукт не требуется. Указания по установке лицензионного ключа приводятся в книге Quick Beginnings (Быстрый старт) для DB2 EE или DB2 CEE для платформы UNIX. Если вы установили пробную версию программного продукта CEE при установке EE и не хотите устанавливать CEE постоянно, пробную 90-дневную версию CEE можно удалить, как описано ниже. Если вы удалили пробную версию Connect EE, функции DB2 Connect останутся вам доступны через DB2 EE. Чтобы удалить DB2 Connect Версии 7, деинсталлируйте (в зависимости от платформы) следующие наборы файлов: * В AIX деинсталлируйте набор файлов db2_07_01.clic. * В NUMA-Q и Solaris Operating Environments деинсталлируйте пакет db2clic71. * В Linux деинсталлируйте RPM db2clic71-7.1.0-x. * В HP-UX деинсталлируйте набор файлов DB2V7CONN.clic. Чтобы удалить DB2 Connect Версии 6, деинсталлируйте (в зависимости от платформы) следующие наборы файлов: * В AIX деинсталлируйте набор файлов db2_06_01.clic. * В NUMA-Q и Solaris Operating Environments деинсталлируйте пакет db2cplic61. * В Linux деинсталлируйте RPM db2cplic61-6.1.0-x. * В HP-UX деинсталлируйте набор файлов DB2V6CONN.clic. ------------------------------------------------------------------------ 3.27 Пробные программные продукты на компакт-дисках с DB2 Connect Enterprise Edition для UNIX На компакт-дисках с DB2 Connect Enterprise Edition (EE) для платформ на основе UNIX Версии 6 и Версии 7 находится 90-дневная пробная версия DB2 Universal Database (UDB) Enterprise Edition (EE). 90-дневная пробная версия DB2 UDB EE поставляется для ее оценки и не требуется для работы DB2 Connect. Если вы установили 90-дневную пробную версию DB2 UDB EE и хотите обновить ее до лицензированной версии, необходимо купить программный продукт DB2 UDB EE и установить лицензионный ключ DB2 UDB EE. Переустанавливать программный продукт не требуется. Указания по установке лицензионного ключа приводятся в книге Quick Beginnings (Быстрый старт) для DB2 EE или DB2 CEE для платформы UNIX. Если вы установили пробную версию программного продукта UDB EE при установке Connect EE и не хотите постоянной установки UDB EE, пробную 90-дневную версию EE можно удалить в соответствии со следующими указаниями. Удаление пробной версии DB2 UDB EE не оказывает влияния на работу DB2 Connect EE. Чтобы удалить DB2 UDB EE Версии 7, деинсталлируйте (в зависимости от платформы) следующие наборы файлов: * В AIX деинсталлируйте набор файлов db2_07_01.elic. * В NUMA-Q и Solaris Operating Environments деинсталлируйте пакет db2elic71. * В Linux деинсталлируйте RPM db2elic71-7.1.0-x. * В HP-UX деинсталлируйте набор файлов DB2V7ENTP.elic. Чтобы удалить DB2 UDB EE Версии 6, деинсталлируйте (в зависимости от платформы) следующие наборы файлов: * В AIX деинсталлируйте набор файлов db2_06_01.elic. * В NUMA-Q и Solaris Operating Environments деинсталлируйте пакет db2elic61. * В Linux деинсталлируйте RPM db2elic61-6.1.0-x. * В HP-UX деинсталлируйте набор файлов DB2V6ENTP.elic. ------------------------------------------------------------------------ 3.28 Исправление к информации о поддержке кодовых страниц и языков Таблица о поддержке кодовых страниц и языков в приложении National Language Support (Поддержка национальных языков) руководств Quick Beginnings (Быстрый старт) содержит следующие ошибки: * Заголовок столбца "Код страны" следует читать "Код страны/региона" * Заголовок столбца "Язык" следует читать "Язык/сценарий" * Код Словении - "sl", а не "si", как указано в таблице ------------------------------------------------------------------------ Data Links Manager Quick Beginnings (Менеджер связей данных - Быстрый старт) ------------------------------------------------------------------------ 4.1 Поддержка в AIX 5.1 Компоненты Менеджер файлов связей данных и Фильтр файлов теперь полностью поддерживаются в AIX 5.1. Все средства и инструкции, относящиеся к связям данных и ранее применимые к предыдущим выпускам AIX, теперь полностью применимы к AIX 5.1. ------------------------------------------------------------------------ 4.2 Ошибка запуска Dlfm с сообщением: "Ошибка получения afsfid для префикса" Обратитесь в Службу поддержки IBM, если для менеджера связей данных, работающего в среде DCE-DFS, возникает ошибка запуска dlfm с сообщением: Ошибка получения afsfid для префикса Эта ошибка может возникнуть, если набор файлов DFS, зарегистрированный в менеджере связей данных с помощью "dlfm add_prefix", удален. ------------------------------------------------------------------------ 4.3 Задание класса Tivoli Storage Manager для файлов архивов Чтобы задать, какой класс управления TSM должен использоваться для файлов архивов, задайте соответствующее имя класса управления в переменной реестра DB2 DLFM_TSM_MGMTCLASS. ------------------------------------------------------------------------ 4.4 Требования к дисковому пространству для DFS Client Enabler DFS Client Enabler - это дополнительный компонент, который можно выбрать при установке клиента или сервера DB2 Universal Database. Нельзя установить DFS Client Enabler, не устанавливая продукт клиента или сервера DB2 Universal Database, даже если DFS Client Enabler работает сам по себе и не требуются клиент или сервер DB2 UDB. Если DFS Client Enabler устанавливается при установке клиента времени выполнения DB2, кроме 2 Мбайт дискового пространства, необходимых для кода DFS Client Enabler, нужно зарезервировать дополнительные 40 Мбайт. Если DFS Client Enabler устанавливается при установке клиента администратора DB2 или сервера DB2, потребуется больший объем дискового пространства. Дополнительную информацию о требуемом дисковом пространстве для продуктов DB2 Universal Database смотрите в руководстве DB2 for UNIX Quick Beginnings. ------------------------------------------------------------------------ 4.5 Мониторинг процессов внутренней обработки менеджера файлов связей данных в AIX Изменены выходные данные команды dlfm see. Когда эта команда используется для отслеживания процессов внутренней обработки менеджера файлов связей данных в AIX, возвращаемые ей выходные данные будут выглядеть так: PID PPID PGID RUNAME UNAME ETIME DAEMON NAME 17500 60182 40838 dlfm root 12:18 dlfm_copyd_(dlfm) 41228 60182 40838 dlfm root 12:18 dlfm_chownd_(dlfm) 49006 60182 40838 dlfm root 12:18 dlfm_upcalld_(dlfm) 51972 60182 40838 dlfm root 12:18 dlfm_gcd_(dlfm) 66850 60182 40838 dlfm root 12:18 dlfm_retrieved_(dlfm) 67216 60182 40838 dlfm dlfm 12:18 dlfm_delgrpd_(dlfm) 60182 1 40838 dlfm dlfm 12:18 dlfmd_(dlfm) DLFM SEE request was successful. Имя в скобках - это имя экземпляра dlfm, в данном случае "dlfm". ------------------------------------------------------------------------ 4.6 Установка и конфигурирование менеджера связей данных DB2 для AIX: Особенности установки в средах DCE-DFS В разделе "Предварительные требования для установки" должна быть добавлена новая информация: Необходимо также установить или e-fix for DFS 3.1, или PTF set 1 (когда он станет доступным). Этот e-fix доступен по адресу: http://www.transarc.com/Support/dfs/datalinks/efix_dfs31_main_page.html А также: Перед установкой менеджера связей данных должен быть запущен клиент dfs. Используйте db2setup или smitty. В разделе "Файл keytab" есть ошибка, которую надо исправить так: Файл keytab, содержащий информацию о принципалах и паролях, должен называться datalink.ktb и .... В примере ниже используется правильное имя datalink.ktb. Раздел "Keytab file" надо переставить ниже "DCE-DFS Post-Installation Task", так как этот файл нельзя создать, пока не будет создан экземпляр DLMADMIN. В разделе "Data Links File Manager servers and clients" должно быть указано, что сервер менеджера связей данных должен быть установлен до установки клиентов менеджера связей данных. Должен быть добавлен новый раздел "Каталог резервного копирования": Если для резервного копирования используется локальная файловая система, каталог должен быть задан в файловой системе DFS. Убедитесь, что администратор DFS создал этот набор файлов DFS. Он не должен быть набором файлов DMLFS. ------------------------------------------------------------------------ 4.7 Ошибка выполнения команды "dlfm add_prefix" Для менеджера связей данных, работающего в среде DCE/DFS, может возникать ошибка команды dlfm add_prefix с кодом возврата -2061 (ошибка создания резервной копии). Если это произошло, выполните следующие действия: 1. Остановите процесс демона менеджера связей данных командой dlfm stop. 2. Остановите процессы DB2 командой dlfm stopdbm. 3. Получите права корневого пользователя DCE, выполнив команду dce_login root. 4. Запустите процессы DB2 командой dlfm startdbm. 5. Зарегистрируйте набор файлов на менеджере связей данных с помощью команды dlfm add_prefix. 6. Запустите процесс демона менеджера связей данных командой dlfm start. ------------------------------------------------------------------------ 4.8 В редких случаях, когда демон копирования не останавливается командой dlfm stop В очень редких случаях dlfm_copyd (демон копирования) не останавливается, когда пользователь выполняет команду dlfm stop или при аварийном завершении работы. В этом случае перед перезапуском dlfm выполните команду dlfm shutdown. ------------------------------------------------------------------------ 4.9 Установка и конфигурирование менеджера связей данных DB2 для AIX: Использование утилиты db2setup для установки менеджера связей данных DB2 в AIX В разделе "DB2 database DLFM_DB created" (База данных DB2 DLFM_DB создана) база данных DLFM_DB не создается в среде DCE_DFS. Это необходимо сделать после установки. В разделе "DCE-DFS pre-start registration for DMAPP" (Регистрация DCE-DFS в DMAPP перед запуском) текст шага 2 надо изменить на следующий: 2. В /opt/dcelocal/tcl/user_cmd.tcl добавлены команды, обеспечивающие запуск DMAPP при запуске DFS. ------------------------------------------------------------------------ 4.10 Установка и конфигурирование менеджера связей данных DB2 для AIX: Задачи после установки в DCE-DFS Должен быть добавлен следующий новый раздел "Завершение установки менеджера связей данных": Для завершения установки на сервере связей данных нужно выполнить следующие действия: 1. Создайте файл keytab, как это описано в подразделе "Keytab file" (Файл keytab) раздела "Additional Installation Considerations in DCE-DFS Environment" (Дополнительные особенности истановки в среде DCE-DFS) главы "Installing and Configuring DB2 Data Links Manager for AIX" (Установка и конфигурирование менеджера связей данных DB2 для AIX). 2. Зарегистрировавшись как пользователь root, введите следующие команды для запуска DMAPP: stop.dfs all start.dfs all 3. Выполните команду "dlfm setup", используя права пользователя root DCE: a. Зарегистрируйтесь как администратор менеджера связей данных DLMADMIN. b. В качестве пользователя root введите команду dce_login. c. Введите команду: dlfm setup. Для завершения установки на клиенте связей данных нужно выполнить следующие действия: 1. Создайте файл keytab, как это описано в подразделе "Keytab file" (Файл keytab) раздела "Additional Installation Considerations in DCE-DFS Environment" (Дополнительные особенности истановки в среде DCE-DFS) главы "Installing and Configuring DB2 Data Links Manager for AIX" (Установка и конфигурирование менеджера связей данных DB2 для AIX). 2. Зарегистрировавшись как пользователь root, введите следующие команды для запуска DMAPP: stop.dfs all start.dfs all ------------------------------------------------------------------------ 4.11 Установка и конфигурирование менеджера связей данных DB2 для AIX: Ручная установка менеджера связей данных DB2 с помощью SMIT В разделе "SMIT Post-installation Tasks" (Задачи после установки при помощи SMIT) измените шаг 7, указав в нем, что команда "dce_login root" должна выполняться перед командой "dlfm setup". Шаг 11 не нужен. Этот шаг выполняется автоматически после выполнения шага 6 (dlfm server_conf) или 8 (dlfm client_conf). Удалите также шаг 12 (dlfm start). Для завершения установки выполните следующие действия: 1. Создайте файл keytab, как это описано в подразделе "Keytab file" (Файл keytab) раздела "Additional Installation Considerations in DCE-DFS Environment" (Дополнительные особенности истановки в среде DCE-DFS) главы "Installing and Configuring DB2 Data Links Manager for AIX" (Установка и конфигурирование менеджера связей данных DB2 для AIX). 2. Зарегистрировавшись как пользователь root, введите следующие команды для запуска DMAPP: stop.dfs all start.dfs all ------------------------------------------------------------------------ 4.12 Установка и конфигурирование Client Enabler DFS для связей данных DB2 В разделе "Configuring a DFS Client Enabler" (Конфигурирование DFS Client Enabler) добавьте в шаг 2 следующую информацию: Обычно конфигурирование завершается командами "secval". Однако может также понадобиться перезагрузка компьютера. Если возникли ошибки при обращении к файлам READ PERMISSION DB, перезагрузите компьютер, на котором только что был установлен Client Enabler DFS DB2. ------------------------------------------------------------------------ 4.13 Установка и конфигурирование менеджера связей данных DB2 для Solaris После установки менеджера связей данных DB2 для Solaris необходимо выполнить следующие действия: 1. Добавить к файлу /etc/system следующие три строки: set dlfsdrv:glob_mod_pri=0x100800 set dlfsdrv:glob_mesg_pri=0xff set dlfsdrv:ConfigDlfsUid=UID где UID - ID пользователя dlfm. 2. Перезагрузить компьютер, чтобы изменения вступили в силу. ------------------------------------------------------------------------ 4.14 Привилегии группы администратора в связях данных в Windows NT В Windows NT пользователь dlmadmin имеет те же самые привилегии для файлов, связанных с использованием DataLinks, что и пользователь root в UNIX для большинства функций. Эти два набора привилегий сравниваются в следующей таблице. Операция Unix (root) Windows NT (dlmadmin) Переименование Да Да Доступ к файлу без Да Да маркера Удаление Да Нет (смотрите примечание ниже) Изменение Да Нет (смотрите примечание ниже) Прим.:NTFS отменяет разрешение этих операций для файлов с доступом только для чтения. Пользователь dlmadmin может успешно выполнять эти операции, включив для файла разрешение на запись. ------------------------------------------------------------------------ 4.15 Минимизация записи в журнал при установке фильтра файловой системы связей данных (Data File System Filter - DLFF) Можно минимизировать запись в журнал при установке фильтра файловой системы связей данных (DLFF), изменив файл dlfs_cfg. Файл dlfs_cfg передается процедуре strload для загрузки драйвера и параметров конфигурации. Этот файл расположен в каталоге /usr/lpp/db2_07_01/cfg/. Через символическую связь этот файл можно также найти в каталоге /etc. Формат файла dlfs_cfg следующий: d <имя-драйвера> <номер vfs> <глобальный приоритет сообщений> <глобальный приоритет модулей> - 0 1 где: d Параметр d указывает, что драйвер должен быть загружен. имя-драйвера Имя-драйвера - полный путь загружаемого драйвера. Например, полный путь для DB2 Версии 7: /usr/lpp/db2_07_01/bin/dlfsdrv. Имя драйвера - dlfsdrv. номер vfs Это запись vfs для DLFS в /etc/vfs. id dlfm Это ID пользователя администратора менеджера связей данных. глобальный приоритет сообщений Это конфигурируемый параметр в драйвере DLFS. Он определяет список категорий сообщений, которые будут записываться в файл системного журнала. глобальный приоритет модулей Это конфигурируемый параметр в драйвере DLFS. Он определяет список подпрограмм драйвера, операций VFS и операций Vnode, которые будут записываться в файл системного журнала. 0 1 0 1 - младшие цифры для создания неклонированных узлов для этого драйвера. Имена узлов создаются путем присоединения младших цифр к имени клонированного узла драйвера. Может быть задано не больше пяти младших цифр (0-4). Реальный пример может выглядеть так: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,255,-1 - 0 1 Сообщения, записываемые в журнал, зависит от установок для глобального приоритета сообщений и от глобального приоритета модулей. Для минимизации записи в журнал можно изменить значение для глобального приоритета сообщений. Для приоритета сообщений можно использовать четыре значения: #define LOG_EMERGENCY 0x01 #define LOG_TRACING 0x02 #define LOG_ERROR 0x04 #define LOG_TROUBLESHOOT 0x08 У большинства сообщений в DLFF в качестве приоритета сообщений используется LOG_TROUBLESHOOT. Несколько альтернативных примеров конфигурации: Если вам необходимы аварийные сообщения и сообщения об ошибках, установите для глобального приоритета сообщений значение 5 (1+4) в файле конфигурации dlfs_cfg: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,5,-1 - 0 1 Если требуются только сообщения об ошибках, установите для глобального приоритета сообщений 4: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,4,-1 - 0 1 Если вам не требуется запись в журнал для DLFS, установите для глобального приоритета сообщений 0: d /usr/lpp/db2_07_01/bin/dlfsdrv 14,208,0,-1 - 0 1 4.15.1 Запись сообщений в журнал после установки При необходимости записывать в журнал сообщения об аварийных ситуациях, ошибках и предупреждениях после установки следует изменить файл dlfs_cfg. Файл dlfs_cfg расположен в каталоге /usr/lpp/db2_07_01/cfg. Для глобального приоритета сообщений должно быть установлено 255 (максимальный приоритет) или 13 (8+4+1). При установке для приоритета 13 (8+4+1) будет записываться информация об аварийных ситуациях, ошибках и предупреждениях. После установки глобального приоритета сообщений демонтируйте файловую систему фильтра DLFS и перезагрузите драйвер dlfsdrv, чтобы во время загрузки были установлены новые значения приоритета. После перезагрузки драйвера dlfsdrv файловая система фильтра DLFS должна быть перемонтирована. Прим.:Установки для dlfs_cfg будут оставаться для всех последующих загрузок драйвера dlfsdrv до тех пор, пока файл dlfs_cfg не будет снова изменен. ------------------------------------------------------------------------ 4.16 Восстановление столбцов DATALINK При выполнении восстановления резервной копии, сделанной в отключенном режиме после восстановления базы данных, с повтором транзакций или без повтора, не выполняется обработка быстрого согласования. В таких случаях все таблицы со столбцами DATALINK, зависящими от связей файлов, переводятся в состояние отложенного согласования связей данных (DRP). ------------------------------------------------------------------------ 4.17 Отбрасывание Менеджера связей данных Теперь для заданной базы данных можно отбросить Менеджер связей данных DB2. Обработка некоторых относящихся к связям данных требований SQL, а также таких утилит, как резервное копирование/восстановление, включает в себя обмен данными со всеми DLM, сконфигурированными для базы данных. Раньше в DB2 не было возможности отбрасывать сконфигурированный DLM даже тогда, когда он не работал. Это приводило к дополнительной затрате ресурсов при обработке SQL и утилит. После добавления DLM механизм базы данных связывается с ним при обработке требований, что может приводить к неудачному выполнению некоторых требований SQL (например, отбросить таблицу/табличное пространство/базу данных). ------------------------------------------------------------------------ 4.18 Деинсталляция компонентов DLFM с использованием SMIT может удалить дополнительные наборы файлов Перед установкой DB2 (Версии 5, 6 или 7) на компьютер с AIX, на котором установлен менеджер связей данных, выполните следующие шаги: 1. В качестве пользователя root сделайте копию /etc/vfs, используя команду: cp -p /etc/vfs /etc/vfs.bak 2. Деинсталлируйте DB2. 3. В качестве пользователя root замените /etc/vfs на резервную копию, сделанную на шаге 1: cp -p /etc/vfs.bak /etc/vfs ------------------------------------------------------------------------ 4.19 Before You Begin/Determine Hostname (Прежде, чем вы начнете/Определение имени хоста) Вам надо определить имена для каждого из серверов DB2 и серверов связей данных. Эти имена хостов понадобятся для проверки установки. При соединении с менеджером файлов связей данных (DLFM) DB2 сервер DB2 UDB внутренним образом посылает ему следующую информацию: * Имя базы данных * Имя экземпляра * Имя хоста Затем DLFM сравнивает эту информацию со своими внутренними таблицами, чтобы определить, разрешать ли соединение. Соединение будет разрешено только в том случае, если сочетание имени базы данных, имени экземпляра и имени хоста зарегистрировано на нем при помощи команды dlfm add_db. Имя хоста, которое использовалось в команде dlfm add_db, должно точно совпадать с именем хоста, внутренним образом посланным с сервера DB2 UDB. Используйте точное имя хоста, которое можно узнать так: 1. Введите на вашем сервере DB2 команду hostname. Допустим, это команда возвращает имя db2server. 2. В зависимости от платформы сделайте следующее: o На AIX введите команду host db2server, где db2server - имя, полученное на предыдущем шаге. Эта команда должна вернуть примерно следующее: db2server.services.com is 9.11.302.341, Aliases: db2server o В Windows NT введите команду nslookup db2server, где db2server - имя, полученное на предыдущем шаге. Эта команда должна вернуть примерно следующее: Server: dnsserv.services.com Address: 9.21.14.135 Name: db2server.services.com Address: 9.21.51.178 o В Solaris введите cat /etc/hosts | grep 'имя-хоста'. Если имя хоста указано в /etc/hosts без имени домена, эта команда должна вернуть примерно следующее: 9.112.98.167 db2server loghost Если имя хоста указано с именем домена, вывод будет выглядеть так: 9.112.98.167 db2server.services.com loghost При регистрации в базе данных в команде dlfm add_db в качестве имени хоста используйте db2server.services.com. Если вместо него в команде dlfm add_db указать другой алиас, внутреннее соединение сервера DB2 с DLFM завершится неудачно. Сервер связей данных регистрируется на базе данных DB2 при помощи команды DB2 "add datalinks manager for database алиас_базы_данных using node имя_хоста port номер_порта". Имя хоста - это имя сервера связей данных. В этой команде можно использовать любой допустимый алиас сервера связей данных. Значения DATALINK, которые ссылаются на этот сервер связей данных, должны содержать в URL имя хоста, то есть точное имя, которое было использовано в команде "add datalinks manager", надо использовать и при назначении URL столбцам DATALINK. Использование другого алиаса вызовет ошибку при выполнении оператора SQL. ------------------------------------------------------------------------ 4.20 Работа с менеджером файлов связей данных: очистка после удаления менеджера связей данных DB2 из базы данных DB2 Когда менеджер связей данных DB2 удаляется из базы данных командой DROP DATALINKS MANAGER, сама эта команда не очищает соответствующую информацию в менеджере связей данных DB2. Пользователи могут явно запустить отсоединение файлов, связанных с базой данных, и сборку мусора информации копирования. Для этого используется команда dlfm drop_dlm. Эта команда запускает асинхронное удаление всей информации для определенной базы данных. Чтобы эта команда сработала, менеджер связей данных DB2 должен быть запущен. Крайне важно использовать эту команду только после удаления менеджера связей данных DB2 из базы данных, иначе важная информация о менеджера связей данных DB2 будет потеряна безвозвратно. Чтобы запустить удаление связей и чистку мусора информации резервного копирования для определенной базы данных: 1. Войдите в систему как администратор менеджера связей данных DB2. 2. Введите команду: dlfm drop_dlm база-данных экземпляр имя-хоста где: база-данных - имя удаленной базы данных DB2 UDB; экземпляр - имя экземпляра, в котором находится эта база данных; и имя-хоста - имя хоста сервера DB2 UDB, на котором находится эта база данных. 3. Выйдите из системы. Полный сценарий использования, где показан контекст выполнения этой команды, смотрите в справочнике Command Reference. Для этой команды введен новый код ошибки (смотрите раздел 4.22, DLFM1001E (Новое сообщение об ошибке)). ------------------------------------------------------------------------ 4.21 Действия пользователя при возникновении ошибки dlfm Client_conf Если на клиенте DLFM по какой-либо причине возникает ошибка dlfm client_conf, она может быть вызвана устаревшими записями в каталогах DB2. Чтобы исправить ошибку, выполните следующие команды: db2 uncatalog db <имя_базы_данных> db2 uncatalog node <алиас узла> db2 terminate Затем вновь выполните dlfm client_conf. ------------------------------------------------------------------------ 4.22 DLFM1001E (Новое сообщение об ошибке) DLFM1001E: Ошибка при обработке drop_dlm. Причина: Менеджер связей данных не смог запустить отсоединение связей и сборку мусора для указанной базы данных. Это могло произойти по одной из следующих причин: * Менеджер связей данных не работает. * В команде задано неверное сочетание базы данных, имени экземпляра и имени хоста. * Ошибка одной из служб компонентов менеджера связей данных. Действия: Выполните следующие действия: 1. Убедитесь, что менеджер связей данных работает. Если он еще не работает, запустите его. 2. Убедитесь, что сочетание базы данных, имени экземпляра и имени хоста соответствует зарегистрированной базе данных. Это можно сделать при помощи команды "dlfm list registered databases" в менеджере связей данных. 3. Если ошибка повторяется, посмотрите информацию в файле db2diag.log, чтобы проверить, не зарегистрирована ли ошибка одной из служб компонентов (например, службы управления соединениями, службы управления транзакциями и т.п.). Запишите код ошибки из db2diag.log и предпримите действия для этого кода ошибки. ------------------------------------------------------------------------ 4.23 Опция задания файла конфигурации DLFM Опция задания dlfm.cfg для DFLM исключена. Ссылки на эту опцию в документации надо игнорировать. ------------------------------------------------------------------------ 4.24 Ошибка при работе сценария связей данных/DFS dmapp_prestart в AIX Если команда /usr/sbin/cfgdmepi -a "/usr/lib/drivers/dmlfs.ext" завершается неудачно с кодом возврата 1 при выполнении сценария связей данных/DFS dmapp_prestart, установите DFS 3.1 ptfset1, чтобы исправить cfgdmepi. ------------------------------------------------------------------------ 4.25 Интеграция Tivoli Space Manager Integration с Data Links Менеджер связей данных DB2 теперь может использовать функциональные возможности Tivoli Space Manager. Клиентская программа Tivoli Space Manager Hierarchical Storage Manager (HSM) автоматически переносит подходящие файлы на место хранения, поддерживая заданный уровень свободного места в локальных файловых системах. При обращении к перенесенным файлам они вызываются автоматически; пользователь также может переносить на хранение и вызывать заданные файлы. Эта новая возможность поможет пользователям с файловыми системами, где хранятся большие файлы, которые надо периодически перемещать на носитель длительного хранения, и пространством этих файловых систем надо управлять на регулярной основе. Для многих пользователей Tivoli Space Manager дает возможность управлять такими носителями длительного хранения. Поддержка Tivoli Space Manager в менеджере связей данных DB2 повышает гибкость управления пространством для файлов DATALINK. Вместо предварительного размещения достаточной памяти в файловой системе менеджера связей данных для всех возможных файлов, Tivoli Space Manager позволяет размещать управляемую менеджером связей данных файловую систему, периодически корректируемую без риска ее переполнения при обычном использовании. Добавление поддержки связей данных и HSM к файловой системе При регистрации файловой системы с Hierarchical Storage Management (HSM) надо сначала добавить поддержку HSM, а затем - менеджера файлов связей данных. 1. Добавьте поддержку HSM при помощи команды "dsmmigfs add /fs". 2. Добавьте поддержку DLM при помощи команды "dlfmfsmd /fs". Поддержка связей данных для файловой системы отражается в следующих строках файла/etc/filesystems для файловой системы HSM: vfs = dlfs mount = false options = rw,Basefs=fsm nodename = - Добавление поддержки связей данных для существующей файловой системы HSM Добавьте поддержку DLM при помощи команды "dlfmfsmd /fs". Добавление поддержки HSM для существующей файловой системы с поддержкой связей данных 1. Добавьте поддержку HSM при помощи команды "dsmmigfs add /fs". 2. Добавьте поддержку DLM при помощи команды "dlfmfsmd /fs". Удаление поддержки связей данных из файловой системы с поддержкой связей данных и HSM Удалите поддержку связей данных при помощи команды "dlfmfsmd -j /fs". Удаление поддержки HSM из файловой системы с поддержкой связей данных и HSM 1. Удалите поддержку HSM при помощи команды "dsmmigfs remove /fs". 2. Удалите поддержку связей данных при помощи команды "dlfmfsmd -j /fs". 3. Добавьте поддержку DLM при помощи команды "dlfmfsmd /fs". Удаление поддержки связей данных и HSM из файловой системы с поддержкой связей данных и HSM 1. Удалите поддержку HSM при помощи команды "dsmmigfs remove /fs". 2. Удалите поддержку связей данных при помощи команды "dlfmfsmd -j /fs". 4.25.1 Ограничения В настоящее время эта функция поддерживается только в AIX. Избирательное перемещение (dsmmigrate) и вызов связанных файлов FC (базы данных разрешений на чтение) может выполняться только пользователем root. Избирательное перемещение может выполнять только владелец файла, то есть в случае файлов базы данных разрешений на чтение - администратор менеджера связей данных (dlfm). Для обращения к этим файлам необходим маркер со стороны базы данных хоста. Единственный пользователь, которому такой маркер не требуется - это пользователь "root". Для пользователя "root" проще выполнять избирательное перемещение и вызов файлов базы данных разрешений на чтение. Пользователь dlfm может выполнить перемещение файла FC при помощи действующего маркера только один раз. При повторной попытке перемещения (после вызова) операция завершится неудачно с сообщением об ошибке "ANS1028S Internal program error. Please see your service representative." (Внутренняя ошибка программы. Обратитесь к представителю по обслуживанию.)Запуск dsmmigrate для файла FC другим пользователем (не root) завершится неудачно. Это ограничение малосущественно, поскольку обычно к этим файлам на сервере обращаются именно администраторы. Системные вызовы stat и statfs показывают тип Vfs как fsm, а не dlfs, хотя dlfs устанавливается поверх fsm. Это нормальное поведение демонов dsmrecalld, которые выполняют вызовы statfs для файловой системы, проверяя, является ли тип Vfs fsm или нет. Команда "dsmls" не выводит ничего, если файл с минимальным номером inode связан с FC (базой данных разрешений на чтение) Команда dsmls подобна команде ls и выводит список файлов, управляемых TSM. Никаких действий пользователя не требуется ------------------------------------------------------------------------ 4.26 Глава 4. Installing and Configuring DB2 Data Links Manager for AIX (Установка и конфигурирование менеджера связей данных DB2 для AIX) 4.26.1 Общие замечания по установке 4.26.1.1 Перенастройка менеджера файлов DB2 Версии 5.2 в Менеджер связей данных DB2 Версии 7 Информация в шаге 3 неверна. Шаг 3 должен выглядеть так: "3. Как администратор DLFM, выполните команду /usr/lpp/db2_07_01/adm/db2dlmmg. ------------------------------------------------------------------------ 4.27 Глава 6. Verifying the Installation on AIX (Проверка установки в AIX) 4.27.1 Обходные приемы в средах NFS В этом разделе описаны обходные приемы для известных проблем при запуске Менеджера связей данных DB2 для AIX в средах NFS, не включенные в последнюю версию документации. Эти проблемы связаны с NFS и не относятся к Менеджеру связей данных DB2 или к DB2 Universal Database. Дополнительная информация о кэшах NFS У клиента NFS для AIX есть два различных кэша. Клиент NFS поддерживает кэш с атрибутами файлов и каталогов, к которым в последнее время выполнялись обращения. Кроме того, клиент может поддерживать кэш для данных. Процесс кэширования атрибутов иногда порождает ненормальную ситуацию на клиенте NFS после связывания файла READ PERMISSION DB. При этом пользователи, соединившиеся с компьютером до связывания файла READ PERMISSION DB, иногда могут обращаться к этому файлу без маркера управления доступом. Для снижения риска несанкционированного доступа к файлам используйте один из следующих методов: o Выполните команду touch для этого файла перед выполнением оператора SQL INSERT, устанавливающего связь. o Выполните команду touch для каталога, содержащего этот файл. o Выполните команду mount с одним из пяти параметров конфигурации кэша атрибутов (actimeo, acregmin, acregmax, acdirmin, acdirmax), чтобы минимизировать время сохранения атрибутов в кэше после изменения файла или каталога. Эффект несанкционированного доступа к файлам READ PERMISSION DB более вероятен при тестировании функций связей данных, поскольку при этом связан только один файл и активность NFS низка. В производственной среде, когда активность NFS высока и атрибуты NFS не остаются надолго в кэше, такой доступ маловероятен. ------------------------------------------------------------------------ Дополнение по установке и настройке ------------------------------------------------------------------------ 5.1 Глава 5. Установка клиентов DB2 в операционных системах UNIX 5.1.1 Параметры конфигурации ядра HP-UX В рекомендации по заданию параметров конфигурации ядра HP-UX ошибочно утверждается, что для параметров msgmbn и msgmax следует задавать значение 65535 или больше. Оба значения должны быть равны 65535. ------------------------------------------------------------------------ 5.2 Глава 12. Выполнение ваших прикладных программ 5.2.1 Связывание утилит базы данных при использовании клиента времени выполнения Клиент времени выполнения нельзя использовать для связывания утилит базы данных (import, export, reorg и процессор командной строки) или файлов связывания CLI DB2 с базами данных, чтобы они могли использоваться с этими базами данных. Вместо него нужно использовать клиент администратора DB2 или клиент разработки прикладных программ DB2. Прежде чем утилиты базы данных и файлы связывания CLI DB2 можно будет использовать с базой данных, они должны быть связаны с этой базой данных. Если в сетевой среде используется несколько клиентов, работающих в разных операционных системах или имеющих разные уровни версий или служб DB2, необходимо связать утилиты один раз для каждой комбинации операционной системы и версии DB2. 5.2.2 Доступ к DB2 с использованием ODBC из клиентов UNIX В главе 12 ("Выполнение ваших прикладных программ") сказано, что если с прикладной программой клиента ODBC или SDK ODBC установлен менеджер драйверов ODBC, необходимо изменить содержимое файла odbcinst.ini. Это не совсем так. Не нужно изменять odbcinst.ini, если установлен продукт Merant ODBC Driver Manager. ------------------------------------------------------------------------ 5.3 Глава 24. Настройка системы объединения на работу с несколькими источниками данных 5.3.1 Системы объединения Система объединения DB2 - это особый тип распределенной системы управления базами данных (СУБД). Система объединения позволяет запрашивать и получать данные, расположенные на других СУБД. Один оператор SQL может обращаться к нескольким СУБД или отдельным базам данных. Например, можно объединить данные, находящиеся в таблице DB2 Universal Database, таблице Oracle и в производной таблице Sybase. Система объединения DB2 состоит из сервера, экземпляра DB2 (базы данных, которая будет служить базой данных объединения) и одного или нескольких источников данных. База данных объединения содержит записи каталога, идентифицирующие источники данных и их характеристики. Источник данных состоит из СУБД и самих данных. Поддерживаются следующие источники: * Oracle * Sybase * Microsoft SQL Server * Informix * СУБД семейства DB2 Universal Database (например, DB2 for OS/390, DB2 for AS/4000 и DB2 for Windows) Серверы объединения DB2 Universal Database подключаются к источникам данных и получают из них данные, используя протоколы, называемые оболочками. Используемая оболочка зависит от операционной системы, на которой работает экземпляр DB2. Для идентификации таблиц и производных таблиц, находящихся на этих источниках данных, используются псевдонимы. Программы могут обращаются к базе данных объединения, как и к любой другой базе данных DB2. Когда система объединения сконфигурирована, к информации источников данных можно обращаться так, как если бы данные находились в одной локальной базе данных. Пользователи и программы посылают запросы в эту базу данных объединения, а она получает данные от источников данных. Система объединения DB2 работает с некоторыми ограничениями. В DB2 Версии 7 распределенные запросы ограничены только операциями чтения. Кроме того, нельзя применять к псевдонимам утилиты (LOAD, REORG, REORGCHK, IMPORT, RUNSTATS и т.п.) Однако, работая через промежуточный сервер, операторы DDL и DML можно передать непосредственно системам управления базами данных, используя диалект SQL этого источника данных. 5.3.2 Ограничение Новые оболочки в Версии 7.2 (например, Informix в AIX, HP и Solaris; Oracle в Linux, HP и Solaris; Sybase в AIX и Solaris; Microsoft SQL Server в AIX и NT) недоступны в данном пакете FixPak; вы должны приобрести DB2 Relational Connect Версии 7.2. 5.3.3 Установка DB2 Relational Connect В этом разделе приводятся инструкции по установке DB2 Relational Connect на сервере, который вы будете использовать в качестве сервера системы объединения. Relational Connect требуется для доступа к источникам данных Oracle, Sybase, Microsoft SQL Server и Informix. Для доступа к источникам данных семейства DB2 Universal Database DB2 Relational Connect не требуется. Прежде, чем устанавливать DB2 Relational Connect: * Убедитесь, что на этом сервере объединения установлена либо DB2 Universal Database Enterprise Edition, либо DB2 Universal Database Enterprise - Extended Edition. На серверах DB2 for UNIX: Если в своих распределенных запросах вы собираетесь использовать базы данных семейства DB2, при установке DB2 Universal Database должна быть выбрана опция источников данных Распределенное объединение для DB2. Чтобы убедиться, что эта опция задана, проверьте, что параметр FEDERATED имеет значение YES. Значение этого параметра можно посмотреть, введя команду GET DATABASE MANAGER CONFIGURATION, которая выводит все параметры и их текущие значения. * Убедитесь, что на вашем сервере объединения установлено программное обеспечение клиента для данного источника данных. 5.3.3.1 Установка DB2 Relational Connect на серверах Windows NT 1. Зарегистрируйтесь на сервере объединения с учетной записью пользователя, которую вы создали для установки DB2 Universal Database. 2. Завершите все запущенные программы, чтобы программа настройки могла изменить файлы, как это требуется. 3. Вызовите программу установки. Ее можно вызвать автоматически или вручную. Если программа установки не запускается автоматически, или если вы хотите запустить ее на другом языке, вызовите ее вручную. o Чтобы вызвать программу установки автоматически: a. Вставьте компакт-диск DB2 Relational Connect в дисковод. b. Функция автозапуска автоматически запустит программу установки. Будет определен язык системы, и загрузится программа установки для этого языка. o Чтобы вызвать программу установки вручную: a. Нажмите кнопку Пуск и выберите Выполнить. b. В окне Открыть введите следующую команду: x:\setup /i язык где: x - Буква дисковода компакт-дисков. язык - Код вашей страны/региона (например, RU для русского). c. Нажмите кнопку OK. Откроется панель запуска установки. 4. Чтобы начать установку, нажмите кнопку Установить. 5. Следуйте подсказкам программы установки. Когда установка завершится, DB2 Relational Connect будет установлена в каталоге с другими продуктами DB2. o На серверах DB2 для операционной среды Solaris этот каталог называется /opt/IBMdb2/V7.1 o На серверах DB2 for HP-UX этот каталог называется /opt/IBMdb2/V7.1 o На серверах DB2 for Linux этот каталог называется /usr/IBMdb2/V7.1 5.3.3.2 Установка DB2 Relational Connect на серверах UNIX Чтобы установить DB2 Relational Connect на сервере объединения UNIX, воспользуйтесь утилитой db2setup. Замечание: Экраны, появляющиеся при использовании утилиты db2setup зависят от того, что уже установлено на сервере объединения. Для данных шагов предполагается, что Relational Connect не установлена. 1. Войдите в систему как пользователь root. 2. Вставьте и смонтируйте компакт-диск продукта DB2. Информацию о монтировании компакт-диска смотрите в руководстве DB2 for UNIX Quick Beginnings. 3. Перейдите в каталог, где смонтирован компакт-диск, введя команду cd /cdrom, где cdrom - точка монтирования компакт-диска вашего продукта. 4. Введите команду ./db2setup. Через несколько секунд откроется окно установки DB2 Версии 7. Это окно содержит список установленных на данный момент компонентов и компонентов, установка которых возможна. 5. Переместите выделение на распределенное объединение, которое собираетесь установить, например на Распределенное объединение для источников данных Informix, и выберите его, нажав клавишу пробела. Рядом с выбранным значением появляется звездочка. 6. Нажмите кнопку OK. Откроется окно Создать службы DB2. 7. Поскольку сервер объединения уже содержит экземпляр DB2, выберите опцию Не создавать экземпляр DB2 и нажмите кнопку OK. 8. Если вы выберите Не создавать сервер администратора, появится предупреждающее сообщение. Нажмите кнопку OK. В окне утилиты установки DB2 выводится сводный отчет о том, что будет установлено. Так как Relational Connect еще не установлена, в отчете будет два пункта: o сигнатура продукта для DB2 Relational Connect o распределенное объединение для источника данных, который вы выбрали 9. Нажмите кнопку Далее. Откроется окно с предупреждением, что это последняя возможность остановить установку Relational Connect. Нажмите кнопку OK, чтобы продолжить установку. Выполнение установки может занять несколько минут. 10. В окне утилиты установки DB2 выводится отчет о состоянии, где говорится, какие компоненты были успешно установлены. Нажмите кнопку OK. Откроется окно утилиты установки DB2. Для выхода из утилиты выберите Закрыть, а затем нажмите кнопку OK. Когда установка завершится, DB2 Relational Connect будет установлена в каталоге вместе с другими продуктами DB2. o На серверах DB2 for AIX этот каталог называется /usr/lpp/db2_07_01. o На серверах DB2 для операционной среды Solaris этот каталог называется /opt/IBMdb2/V7.1. o На серверах DB2 for HP-UX этот каталог называется /opt/IBMdb2/V7.1. o На серверах DB2 for Linux этот каталог называется /usr/IBMdb2/V7.1. ------------------------------------------------------------------------ 5.4 Глава 26. Доступ к источникам данных Oracle Помимо поддержки оболочек в AIX и Windows NT, DB2 Universal Database теперь поддерживает оболочку Oracle в Linux, операционной среде Solaris и HP-UX. Эта поддержка ограничена Oracle Версии 8. Чтобы получить доступ к оболочкам для этих платформ, вставьте компакт-диск DB2 Relational Connect Версии 7.2 и выберите Распределенное объединение для источников данных Oracle. После установки DB2 Relational Connect источник данных Oracle можно добавить на сервер объединения: 1. Установите и сконфигурируйте клиентское программное обеспечение Oracle на сервере объединения DB2. 2. Задайте переменные среды источника данных, внеся изменения в файл db2dj.ini и введя команду db2set. 3. Если вы используете сервер объединения DB2 на платформе UNIX, запустите сценарий djxlink, чтобы скомпоновать библиотеки Oracle для SQL*Net или Net8 под ваш сервер объединения DB2. 4. Убедитесь, что в файл SQL*Net или Net8 tnsnames.ora внесены изменения. 5. Перезапустите экземпляр DB2. 6. Создайте оболочку. 7. Необязательно: Задайте переменную среды DB2_DJ_COMM. 8. Создайте сервер. 9. Создайте отображение пользователей. 10. Создайте псевдонимы для таблиц и производных таблиц. Подробные указания по этим действиям, включая задание переменных среды, даются в Главе 26. Настройка системы объединения на работу с источниками данных Oracle книги Дополнение по установке и настройке DB2. Эта информация доступна также в сети по адресу http://www.ibm.com/software/data/db2/relconnect/. 5.4.1 Ошибки документации Раздел "Добавление источников данных Oracle в систему объединения" содержит следующие ошибки: * В этой книге между шагом 2 и 3 следует вставить дополнительный шаг. Первые три шага должны выглядеть следующим образом: 1. Установите и сконфигурируйте программное обеспечение клиента Oracle на сервере объединения DB2, руководствуясь документацией Oracle. 2. Задайте переменные среды источника данных: внесите изменения в файл db2dj.ini и введите команду db2set. Команда db2set приводит реестр профиля DB2 в соответствие с вашими настройками. Подробные инструкции по заданию переменных среды приводятся в Главе 26. Настройка системы объединения на работу с источниками данных Oracle книги Дополнение по установке и настройке DB2. 3. Если вы используете сервер объединения DB2 на платформе UNIX, запустите сценарий djxlink, чтобы скомпоновать библиотеки Oracle для SQL*Net или Net8 под ваш сервер объединения DB2. В зависимости от платформы сценарий djxlink находится в каталоге: /usr/lpp/db2_07_01/bin - в AIX /opt/IBMdb2/V7.1/bin - в операционной среде Solaris /usr/IBMdb2/V7.1/bin - в Linux Запускайте сценарий djxlink только по окончании установки клиентского программного обеспечения Oracle на сервере объединения DB2. 4. Продолжайте выполнять шаги с третьего шага, как написано в этой книге. * В документации рекомендуется задать: DB2_DJ_INI = sqllib/cfg/db2dj.ini Это неверно, правильное значение: DB2_DJ_INI = $INSTHOME/sqllib/cfg/db2dj.ini ------------------------------------------------------------------------ 5.5 Доступ к источникам данных Sybase (новая глава) Перед тем, как добавить в сервер объединения источники данных Sybase, на сервере объединения DB2 необходимо установить и сконфигурировать клиентское программное обеспечение Sybase Open Client. Особенности установки программного обеспечения Open Client подробно описаны в установочных процедурах в документации, поставляемой с программным обеспечением баз данных Sybase. Не забудьте включить в установку хранимые процедуры каталога и библиотеки Sybase Open Client. Чтобы настроить свой сервер объединения на доступ к данным, хранимым в источниках данных Sybase, нужно: 1. Установить DB2 Relational Connect Версии 7.2. Смотрите раздел 5.3.3, Установка DB2 Relational Connect. 2. Добавить источники данных Sybase на сервер объединения. 3. Задать кодовые страницы Sybase. В этой главе обсуждаются шаги 2 и 3. Указания этой главы относятся к операционным средам Windows NT, AIX и Solaris. Особенности конкретных платформ оговариваются специально. 5.5.1 Добавление источников данных Sybase на сервер объединения Чтобы добавить источник данных Sybase на сервер объединения: 1. Задайте переменные среды и изменить реестр профиля. 2. Скомпонуйте DB2 с программным обеспечением клиента Sybase (только для AIX и Solaris). 3. Перезапустите экземпляр DB2. 4. Создайте и настройте файл интерфейсов. 5. Создайте оболочку. 6. Необязательно: Задайте переменную среды DB2_DJ_COMM. 7. Создайте сервер. 8. Необязательно: Задайте опцию сервера CONNECTSTRING 9. Создайте отображение пользователей. 10. Создайте псевдонимы для таблиц и производных таблиц. Эти шаги подробно объясняются в данном разделе. 5.5.1.1 Шаг 1: Задание переменных среды и изменение реестра профиля Задайте переменные среды источника данных: внесите изменения в файл db2dj.ini и введите команду db2set. В файле db2dj.ini содержится информация о конфигурации программного обеспечения клиента Sybase, установленного на вашем сервере объединения. Команда db2set приводит реестр профиля DB2 в соответствие с вашими настройками. В системе многораздельной базы данных можно использовать один файл db2dj.ini для всех узлов определенного экземпляра сервера или же отдельные файлы db2dj.ini для одного или нескольких узлов экземпляра сервера. В системе однораздельных баз данных может быть только один файл db2dj.ini на один экземпляр сервера. Чтобы задать переменные среды: 1. Отредактируйте файл db2dj.ini в каталоге sqllib/cfg, задав следующую переменную среды: SYBASE="<домашний каталог Sybase>" где <домашний каталог Sybase> - каталог установки клиента Sybase. 2. Измените файл .profile экземпляра DB2, задав переменную среды Sybase. Для этого введите следующие команды: export PATH="$SYBASE/bin:$PATH" export SYBASE="<домашний каталог Sybase>" где <домашний каталог Sybase> - каталог установки клиента Sybase. 3. Запустите на выполнение .profile экземпляра DB2, введя: . .profile 4. Введите команду db2set, чтобы внести сделанные изменения в реестр профиля DB2. Синтаксис этой команды db2set зависит от структуры вашей системы баз данных. Этот шаг необходим, только если вы используете файл db2dj.ini в одной из следующих структур систем баз данных: Если вы используете файл db2dj.ini в системе однораздельных баз данных или хотите применить файл db2dj.ini только к текущему узлу, введите: db2set DB2_DJ_INI = sqllib/cfg/db2dj.ini Если вы используете файл db2dj.ini в системе многораздельной базы данных и хотите применить значения в файле db2dj.ini ко всем узлам в пределах данного экземпляра, введите: db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini Если вы используете файл db2dj.ini в системе многораздельной базы данных и хотите применить значения в файле db2dj.ini к конкретному узлу, введите: db2set -i ЭКЗЕМПЛЯРx 3 DB2_DJ_INI = sqllib/cfg/node3.ini где: ЭКЗЕМПЛЯРx - Имя нужного экземпляра. 3 - Номер узла, указанный в файле db2nodes.cfg. node3.ini - Измененный и переименованный вариант файла db2dj.ini. 5.5.1.2 Шаг 2: Компоновка DB2 с программным обеспечением клиента Sybase (только для AIX и Solaris) Для возможности доступа к источникам данных Sybase сервер объединения DB2 нужно скомпоновать с библиотеками клиента. В процессе компоновки создается оболочка для каждого источника данных, с которым будет связываться сервер объединения. Запуская сценарий djxlink, вы создаете библиотеку оболочки. Чтобы запустить сценарий djxlink, введите: djxlink 5.5.1.3 Шаг 3: Перезапуск экземпляра DB2 Чтобы гарантировать задание переменных среды в программе, перезапустите экземпляр DB2. При перезапуске экземпляра DB2 вы обновляете его, и внесенные изменения вступают в силу. Чтобы перезапустить экземпляр DB2, введите следующую команду: На серверах DB2 для Windows NT: NET STOP имя_экземпляра NET START имя_экземпляра На серверах DB2 для AIX и Solaris: db2stop db2start 5.5.1.4 Шаг 4: Создание и настройка файла интерфейсов Чтобы создать и настроить файл интерфейсов, нужно создать этот файл и сделать его доступным. 1. Чтобы создать файл интерфейсов, включающий в себя данные для всех серверов Sybase Open Server, к которым вы хотите получить доступ, воспользуйтесь утилитой, поставляемой с Sybase. Дополнительную информацию об использовании этой утилиты смотрите в документации по установке Sybase. В Windows NT этот файл обычно называется sql.ini. Переименуйте этот файл из sql.ini в interfaces, чтобы он назывался одинаково во всех платформах. Если вы не переименуете sql.ini в interfaces, надо будет воспользоваться параметром IFILE или опцией CONNECTSTRING, которые объясняются в шаге 8. В системах AIX и Solaris этот файл называется <домашний_каталог_экземпляра>/sqllib/interfaces. 2. Сделайте файл интерфейсов доступным для DB2. На серверах DB2 для Windows NT: Поместите этот файл в каталог %DB2PATH% экземпляра DB2. На серверах DB2 для AIX и Solaris: Поместите этот файл в каталог %HOME/sqllib% экземпляра DB2. Воспользуйтесь командой ln для компоновки с файлом из каталога $HOME/sqllib экземпляра DB2. Например: ln -s -f /home/sybase/interfaces /home/db2djinst1/sqllib 5.5.1.5 Шаг 5: Создание оболочки С помощью оператора CREATE WRAPPER задайте оболочку, которая будет использоваться для работы с источниками данных Sybase. Оболочка - это механизм, посредством которого серверы объединения подключаются к источникам данных и получают от них данные. В DB2 включены две оболочки для Sybase - CTLIB и DBLIB. Ниже приводится пример оператора CREATE WRAPPER: CREATE WRAPPER CTLIB где CTLIB - имя оболочки по умолчанию, используемое с программным обеспечением Sybase Open Client. Оболочку CTLIB можно использовать на серверах Windows NT, AIX и Solaris. Имя оболочки по умолчанию можно заменить на выбранное вами имя. Однако в этом случае придется включить параметр LIBRARY и указать имя библиотеки оболочки для сервера объединения в операторе CREATE WRAPPER. Дополнительно об именах библиотек оболочек смотрите в информации об операторе CREATE WRAPPER в справочнике DB2 SQL Reference. 5.5.1.6 Шаг 6 (необязательный): Задание переменной среды DB2_DJ_COMM Чтобы улучшить производительность при обращении к источнику данных Sybase, задайте переменную среды DB2_DJ_COMM. Эта переменная определяет, загружается ли оболочка при инициализации сервера объединения. Задайте переменную среды DB2_DJ_COMM, чтобы включить библиотеку оболочки, соответствующую оболочке, заданной вами на предыдущем этапе; например: На серверах DB2 for Windows NT: db2set DB2_DJ_COMM='ctlib.dll' На серверах DB2 for AIX: db2set DB2_DJ_COMM='libctlib.a' На серверах DB2 for Solaris: db2set DB2_DJ_COMM='libctlib.so' Слева и справа от знака равенства (=) не должно быть пробелов. Дополнительную информацию об именах библиотек оболочек смотрите в справочнике DB2 SQL Reference. Информацию о переменной среды DB2_DJ_COMM смотрите в руководстве Administration Guide. 5.5.1.7 Шаг 7: Создание сервера Задайте каждый сервер Sybase, к источникам данных которого вы намереваетесь обращаться, с помощью оператора CREATE SERVER; например: CREATE SERVER сервер_Sybase TYPE SYBASE VERSION 12.0 WRAPPER имя_оболочки OPTIONS (NODE 'узел_Sybase', DBNAME'база_данных_Sybase') где: сервер_Sybase - Имя, присваиваемое серверу Sybase. Это имя должно быть уникальным. SYBASE - Тип источника данных, доступ к которому вы конфигурируете. Sybase - единственный поддерживаемый источник данных. 12.0 - Версия Sybase, к которой производится подключение. Поддерживаются версии 10.0, 11.0, 11.1, 11.5, 11.9 и 12.0. имя_оболочки Имя оболочки, которое вы задали в операторе CREATE WRAPPER. 'узел_Sybase' - Имя узла, на котором расположен сервер_Sybase. Возьмите это значение из файла интерфейсов. Оно регистрозависимо. Хотя имя узла указывается как необязательный параметр, при работе с источниками данных Sybase его задание необходимо. Информацию о дополнительных опциях смотрите в справочнике DB2 SQL Reference. 'база_данных_Sybase' - Имя базы данных Sybase, к которой хотите получить доступ. 5.5.1.8 Шаг 8 (необязательный): Задание опции сервера CONNECTSTRING Задайте предельные значения для срока ожидания, путь и имя для файла интерфейсов, а также размер пакета файла интерфейсов. Предельные значения для срока ожидания используются в Sybase Open Client для прерывания запросов и ответов, которые выполняются слишком долго. Эти предельные значения можно задать в DB2 с помощью опции CONNECTSTRING оператора CREATE SERVER OPTION DDL. С помощью опции CONNECTSTRING задается: * Срок ожидания для запросов SQL. * Срок ожидания для ответа по регистрации. * Путь и имя для файла интерфейсов. * Размер пакета. .-;-------------------------------------------. V | >>----+---------------------------------------+--+------------->< +-TIMEOUT-- = --время_в_секундах--------+ +-LOGIN_TIMEOUT-- = --время_в_секундах--+ +-IFILE-- = --"строка"------------------+ +-PACKET_SIZE-- = --размер_в_байтах-----+ '-;-------------------------------------' TIMEOUT Задает число секунд, которое DB2 Universal Database будет ждать ответ от Sybase Open Client на любой оператор SQL. Значение время_в_секундах - положительное целое число в диапазоне целых числе DB2 Universal Database. Задаваемое вами значение для срока ожидания зависит от используемой оболочки. Все серверы Windows NT, AIX и Solaris могут использовать оболочку DBLIB. Значение по умолчанию для оболочки DBLIB - 0. На серверах Windows NT, AIX и Solaris это значение по умолчанию для DBLIB заставляет DB2 Universal Database ожидать ответ неопределенно долгое время. LOGIN_TIMEOUT Задает время в секундах, которое DB2 Universal Database будет ждать ответ от Sybase Open Client на запрос по регистрации. Значения по умолчанию такие же, как и для TIMEOUT. IFILE Задает путь и имя для файла интерфейсов Sybase Open Client. Путь, который указывается в строке, должен быть заключен в двойные кавычки ("). На серверах Windows NT значение по умолчанию - %DB2PATH%. На серверах AIX и Solaris значение по умолчанию - sqllib/interfaces в домашнем каталоге экземпляра DB2 Universal Database. PACKET_SIZE Задает размер пакета файла интерфейсов в байтах. Если источник данных не поддерживает заданный размер пакета, соединение завершится неудачно. Если каждая запись очень большая (например, при вставке строк в большие таблицы), увеличение размера пакета значительно улучшает производительность. Размер в байтах - числовое значение. Дополнительную информацию смотрите в справочных руководствах Sybase. Примеры: На серверах Windows NT задайте значение срока ожидания 60 секунд и имя файла интерфейсов C:\etc\interfaces, введя следующее: CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;LOGIN_TIMEOUT=5;IFILE="C:\etc\interfaces";' На серверах AIX и Solaris задайте значение срока ожидания 60 секунд и имя файла интерфейсов /etc/interfaces, введя: CREATE SERVER OPTION connectstring FOR SERVER sybase1 SETTING 'TIMEOUT=60;PACKET_SIZE=4096;IFILE="/etc/interfaces";' 5.5.1.9 Шаг 9: Создание отображения пользователей Если ID или пароль пользователя на сервере объединения отличен от ID или пароля пользователя в источнике данных Sybase, создайте отображение локального ID пользователя на ID и пароль, заданные в источнике данных Sybase, с помощью оператора CREATE USER MAPPING, например: CREATE USER MAPPING FOR пользователь_DB2 SERVER сервер_Sybase OPTIONS ( REMOTE_AUTHID 'пользователь_Sybase', REMOTE_PASSWORD 'пар0ль') где: пользователь_DB2 - Локальный ID пользователя, для которого создается отображение на ID пользователя, заданный в источнике данных Sybase. сервер_Sybase - Имя источника данных Sybase, заданное в операторе CREATE SERVER. 'пользователь_Sybase' - ID пользователя в источнике данных Sybase, с которым устанавливается соответствие идентификатора пользователь_DB2. Значение этого параметра регистрозависимо. 'пар0ль' - Пароль пользователя "пользователь_Sybase". Значение этого параметра регистрозависимо. Подробную информацию о дополнительных опциях смотрите в справочнике DB2 SQL Reference. 5.5.1.10 Шаг 10: Создание псевдонимов для таблиц и производных таблиц Назначьте псевдонимы для всех производных таблиц и таблиц, находящихся в источнике данных Sybase. Эти псевдонимы будут использоваться при запросах источника данных Sybase. Псевдонимы Sybase регистрозависимы. Заключите имена схем и таблиц в двойные кавычки ("). Ниже приводится пример использования оператора CREATE NICKNAME: CREATE NICKNAME SYBSALES FOR SYBSERVER."salesdata"."europe" где: SYBSALES - Уникальный псевдоним таблицы или производной таблицы Sybase. SYBSERVER."salesdata"."europe" - Трехчастный идентификатор в формате: имя_источника_данных."имя_удаленной_схемы"."имя_удаленной_таблицы" Повторите данный шаг для каждой таблицы и производной таблицы, для которой хотите создать псевдоним. После создания псевдонима DB2 будет использовать соединение для запроса каталога источника данных. При таком запросе происходит проверка вашего соединения с источником данных. Если соединение не работает, вы получаете сообщение об ошибке. Более подробную информацию об операторе CREATE NICKNAME смотрите в справочникеDB2 SQL Reference. Более подробная информация о псевдонимах в целом приводится в руководстве DB2 Administration Guide 5.5.2 Задание кодовых страниц Sybase Этот шаг необходим, только если сервер объединения DB2 и сервер Sybase запускаются с разными кодовыми страницами. Для источников данных, где используется тот же кодовый набор, что и в DB2, преобразование не требуется. Ниже в таблице приводятся эквивалентные опции Sybase для общих кодовых страниц поддержки национальных языков (NLS). Необходимо, чтобы источник данных Sybase был сконфигурирован в соответствии с этими эквивалентами, либо чтобы программа клиента могла распознавать несовпадения и помечать их как ошибки или выполнять отображение данных с помощью собственной семантики. Если не удается найти ни одной таблицы преобразования из исходной кодовой страницы в кодовую страницу назначения, DB2 выдает сообщение об ошибке. Дополнительную информацию смотрите в документации по Sybase. Табл. 1. Опции кодовых страниц Sybase Кодовая Эквивалентная опция Sybase страница 850 cp850 897 sjis 819 iso_1 912 iso_2 1089 iso_6 813 iso_7 916 iso_8 920 iso_9 ------------------------------------------------------------------------ 5.6 Обращение к источникам данных Microsoft SQL Server с использованием ODBC (новая глава) Перед тем, как добавить в сервер объединения DB2 источники данных Microsoft SQL Server, на сервере объединения необходимо установить и сконфигурировать драйвер ODBC. Особенности установки драйвера подробно описаны в установочных процедурах в документации, поставляемой с драйвером ODBC. Чтобы настроить сервер объединения на доступ к данным из источников данных Microsoft SQL Server, нужно: 1. Установить и сконфигурировать драйвер ODBC на сервере объединения. Особенности установки драйвера подробно описаны в установочных процедурах в документации, поставляемой с драйвером ODBC. На серверах DB2 for Windows NT: Сконфигурируйте системное имя источника данных (DSN) с помощью менеджера устройств ODBC. На серверах DB2 for AIX: Установите потоковую версию библиотек, поставляемых MERANT, первой записью в LIBPATH задайте каталог библиотеки MERANT и настройте файл .odbc.ini. Создайте файл .odbc.ini в домашнем каталоге. 2. Установите DB2 Relational Connect Версии 7.2. Смотрите раздел 5.3.3, Установка DB2 Relational Connect. 3. Добавьте источники данных Microsoft SQL Server на сервер объединения. 4. Задайте кодовые страницы Microsoft SQL Server. В этой главе обсуждаются шаги 3 и 4. Указания этой главы относятся к платформам Windows NT и AIX. Особенности конкретных платформ оговариваются специально. 5.6.1 Добавление на сервер объединения источников данных Microsoft SQL Server После установки драйвера ODBC и DB2 Relational Connect добавьте на сервер объединения источники данных Microsoft SQL Server, выполнив следующие шаги: 1. Задайте переменные среды (только для AIX). 2. Запустите сценарий оболочки (только для AIX). 3. Необязательно: Задайте переменную среды DB2_DJ_COMM. 4. Перезапустите экземпляр DB2 (только для AIX). 5. Создайте оболочку. 6. Создайте сервер. 7. Создайте отображение пользователей. 8. Создайте псевдонимы для таблиц и производных таблиц. 9. Необязательно: Получите трассировки ODBC. Эти шаги подробно объясняются в разделах ниже. 5.6.1.1 Шаг 1: Задание переменных среды (только для AIX) Задайте переменные среды источника данных: внесите изменения в файл db2dj.ini и введите команду db2set. В файле db2dj.ini содержится информация о конфигурации для соединения с источниками данных Microsoft SQL Server. Команда db2set приводит реестр профиля DB2 в соответствие с вашими настройками. В системе многораздельной базы данных можно использовать один файл db2dj.ini для всех узлов определенного экземпляра сервера или же отдельные файлы db2dj.ini для одного или нескольких узлов экземпляра сервера. В системе однораздельных баз данных может быть только один файл db2dj.ini на один экземпляр сервера. Чтобы задать переменные среды: 1. Отредактируйте файл db2dj.ini в каталоге $HOME/sqllib/cfg, задав следующие переменные среды: ODBCINI=$HOME/.odbc.ini DJX_ODBC_LIBRARY_PATH=<путь к драйверу Merant>/lib LIBPATH=<путь к драйверу Merant>/lib DB2ENVLIST=LIBPATH Введите команду db2set, чтобы внести сделанные изменения в реестр профиля DB2. Синтаксис db2set зависит от структуры вашей системы баз данных: * Если файл db2dj.ini используется в системе однораздельных баз данных, или если вы используете файл db2dj.ini в системе многораздельной базы данных и хотите применить его значения только к текущему узлу, выдайте такую команду: db2set DB2_DJ_INI=<путь к файлу ini>/db2dj.ini * Если файл db2dj.ini используется в системе многораздельной базы данных и вы хотите применить его значения ко всем узлам в пределах данного экземпляра, введите такую команду: db2set -g DB2_DJ_INI=<путь к файлу ini>/db2dj.ini * Если файл db2dj.ini используется в системе многораздельной базы данных и вы хотите применить его значения к конкретному узлу, введите такую команду: db2set -i ЭКЗЕМПЛЯРx 3 DB2_DJ_INI=$HOME/sqllib/cfg/node3.ini где: ЭКЗЕМПЛЯРx - Имя нужного экземпляра. 3 - Номер узла, указанный в файле db2nodes.cfg. node3.ini - Измененный и переименованный вариант файла db2dj.ini. 5.6.1.2 Шаг 2: Запуск сценария оболочки (только для AIX) Сценарий оболочки djxlink.sh компонует клиентские библиотеки с библиотеками оболочки. Чтобы запустить сценарий оболочки, введите: djxlink 5.6.1.3 Шаг 3 (необязательный): Задание переменной среды DB2_DJ_COMM Если вы считаете, что обращение к источнику данных Microsoft SQL Server занимает слишком много времени, можно улучшить производительность, задав переменную среды DB2_DJ_COMM, чтобы загружать оболочку при инициализации сервера объединения, а не при обращении к этому источнику. Задайте переменную среды DB2_DJ_COMM, чтобы включить библиотеку оболочки, соответствующую оболочке, заданной вами на Шаге 5. Например: На серверах DB2 for Windows NT: db2set DB2_DJ_COMM=djxmssql3.dll На серверах DB2 for AIX: db2set DB2_DJ_COMM=libmssql3.a Слева и справа от знака равенства (=) не должно быть пробелов. Дополнительную информацию об именах библиотек оболочек смотрите в справочнике DB2 SQL Reference. 5.6.1.4 Шаг 4: Перезапуск экземпляра DB2 (только для AIX) Чтобы гарантировать задание переменных среды в программе, перезапустите экземпляр DB2. При перезапуске экземпляра DB2 вы его обновляете, и внесенные изменения вступают в силу. Перезапустите экземпляр DB2, введя команду: db2stop db2start 5.6.1.5 Шаг 5: Создание оболочки В DB2 Universal Database есть два разных протокола, называемых оболочками, которые можно использовать для обращения к источникам данных Microsoft SQL Server. Оболочка - это механизм, посредством которого серверы объединения подключаются к источникам данных и получают от них данные. Используемая оболочка зависит от платформы, на которой запускается DB2 Universal Database. Чтобы выбрать подходящую оболочку, посмотрите Табл. 2. Табл. 2. Драйверы ODBC Драйвер ODBC Платформа Имя оболочки Драйвер ODBC Версии 3.0 (или новее) Windows NT DJXMSSQL3 Драйвер MERANT DataDirect Connect AIX MSSQLODBC3 ODBC Версии 3.6 С помощью оператора CREATE WRAPPER задайте оболочку, которая будет использоваться для работы с источниками данных Microsoft SQL Server. Ниже приводится пример оператора CREATE WRAPPER: CREATE WRAPPER DJXMSSQL3 где DJXMSSQL3 - имя оболочки по умолчанию, используемое на сервере DB2 for Windows NT (с использованием драйвера ODBC Версии 3.0). Для сервера DB2 for AIX нужно задать имя оболочки MSSQLODBC3. Имя оболочки по умолчанию можно заменить на выбранное вами имя. Однако в этом случае придется включить параметр LIBRARY и указать имя библиотеки оболочки для платформы сервера объединения в операторе CREATE WRAPPER. Например: На серверах DB2 for Windows NT: CREATE WRAPPER имя_оболочки LIBRARY 'djxmssql3.dll' где имя_оболочки - имя, которое вы хотите присвоить оболочке, а 'djxmssql3.dll' - имя библиотеки. На серверах DB2 for AIX: CREATE WRAPPER имя_оболочки LIBRARY 'libmssql3.a' где имя_оболочки - имя, которое вы хотите присвоить оболочке, а 'libdjxmssql.a' - имя библиотеки. Дополнительную информацию об именах библиотек оболочек смотрите в описании оператора CREATE WRAPPER в справочнике DB2 SQL Reference. 5.6.1.6 Шаг 6: Создание сервера Задайте каждый источник данных Microsoft SQL Server, с которым вы хотите соединяться, при помощи оператора CREATE SERVER. Например: CREATE SERVER сервер_sql TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3 OPTIONS (NODE 'узел_sql', DBNAME 'имя_базы_данных') где: сервер_sql - Имя, присваиваемое серверу Microsoft SQL Server. Это имя должно быть уникальным. MSSQLSERVER - Тип источника данных, доступ к которому вы конфигурируете. 7.0 - Версия Microsoft SQL Server, к которому производится подключение. DB2 Universal Database поддерживает Microsoft SQL Server Версий 6.5 и 7.0. djxmssql3 - Имя оболочки, которое вы задали в операторе CREATE WRAPPER. 'узел_sql' - имя системного источника данных (DSN), ссылающегося на версию сервера Microsoft SQL Server, к которому вы обращаетесь. Значение этого параметра регистрозависимо. DB2 Universal Database поддерживает Microsoft SQL Server Версий 6.5 и 7.0. Хотя имя узла указывается как необязательный параметр, при работе с источниками данных Microsoft SQL Server его задание необходимо. Дополнительные опции, которые можно использовать с оператором CREATE SERVER, описаны в справочнике DB2 SQL Reference. 'имя_базы_данных' - Имя базы данных, к которой вы подсоединяетесь. Хотя имя базы данных указывается в операторе CREATE SERVER как необязательный параметр, при работе с источниками данных Microsoft SQL Server его задание необходимо. 5.6.1.7 Шаг 7: Создание отображения пользователей Если ID или пароль пользователя на сервере объединения отличен от ID или пароля пользователя в источнике данных Microsoft SQL Server, создайте отображение локального ID пользователя на ID и пароль, заданные в источнике данных Microsoft SQL Server, с помощью оператора CREATE USER MAPPING, например: CREATE USER MAPPING FOR пользователь_db2 SERVER имя_сервера OPTIONS (REMOTE_AUTHID 'пользователь_mssql', REMOTE_PASSWORD 'пар0ль') где: пользователь_db2 - Локальный ID пользователя, для которого создается отображение на ID пользователя, заданный в источнике данных Microsoft SQL Server. имя_сервера - Имя сервера, определенное в операторе CREATE SERVER. 'пользователь_mssql' - ID пользователя в источнике данных Microsoft SQL Server, с которым устанавливается соответствие идентификатора пользователь_db2. Значение этого параметра регистрозависимо. 'пар0ль' - Пароль пользователя "пользователь_mssql". Значение этого параметра регистрозависимо. Дополнительные опции, которые можно использовать с оператором CREATE USER MAPPING, описаны в справочнике DB2 SQL Reference. 5.6.1.8 Шаг 8: Создание псевдонимов для таблиц и производных таблиц Назначьте псевдонимы для всех производных таблиц и таблиц, находящихся в источнике данных Microsoft SQL Server, к которому вы намереваетесь подключаться. Эти псевдонимы будут использоваться при запросах источника данных Microsoft SQL Server. Для назначения псевдонимов используйте оператор CREATE NICKNAME. Псевдонимы регистрозависимы. Ниже приводится пример использования оператора CREATE NICKNAME: CREATE NICKNAME mssqlsales FOR server_name.salesdata.europe где: mssqlsales - Уникальный псевдоним таблицы или производной таблицы Microsoft SQL Server. server_name.salesdata.europe - Трехчастный идентификатор в формате: имя_сервера_источника_данных.имя_удаленной_схемы.имя_удаленной_таблицы Части псевдонима имя_удаленной_схемы и имя_удаленной_таблицы рекомендуется задавать в двойных кавычках. После создания псевдонима DB2 пытается получить доступ к таблицам каталога источника данных (Microsoft SQL Server обращается к ним как к системным таблицам). При этом происходит проверка соединения с источником данных. Если соединение завершается неудачно, вы получаете сообщение об ошибке. Повторите этот шаг для каждой таблицы и производной таблицы базы данных, для которых хотите создать псевдонимы. Дополнительную информацию об операторе CREATE NICKNAME смотрите в справочнике DB2 SQL Reference. Более подробную информацию о псевдонимах в целом и о проверке отображения типов данных смотрите в книге Руководство администратора DB2. 5.6.1.9 Шаг 9 (необязательный): Получение трассировок ODBC Если вы испытываете трудности при обращении к источнику данных, можно получить информацию трассировки ODBC, чтобы проанализировать причины затруднений и устранить их. Чтобы убедиться, что трассировка ODBC работает правильно, воспользуйтесь инструментом трассировки, предоставляемым ODBC Data Source Administrator. Включенная трассировка снижает производительность системы, поэтому ее следует отключить, как только проблема будет решена. 5.6.2 Обзор кодовых страниц Microsoft SQL Server Microsoft SQL Server поддерживает многие из опций общих кодовых страниц поддержки национальных языков, которые поддерживает DB2 UDB. Для источников данных, где используется тот же кодовый набор, что и в DB2, преобразование не требуется. В таблице 3 приводятся кодовые страницы, которые поддерживает и DB2 Universal Database, и Microsoft SQL Server. Табл. 3. Опции кодовых страниц DB2 UDB и Microsoft SQL Server Кодовая Поддерживаемый язык страница 437 Американский английский 1256 Арабский 1253 Греческий 1255 Иврит 1251 Кириллица 950 Китайский (традиционный) 936 Китайский (упрощенный) 949 Корейский 850 Многоязычная 1252 Набор символов ISO 874 Тайский 1254 Турецкий 1250 Центральная Европа 932 Японский Когда сервер объединения DB2 и Microsoft SQL Server запускаются с разными кодовыми страницами поддержки национальных языков (NLS), необходимо, чтобы источник данных Microsoft SQL Server был сконфигурирован в соответствии с этими эквивалентами, либо чтобы программа клиента могла распознавать несовпадения и помечать их как ошибки или выполнять отображение данных с помощью собственной семантики. Если не удается найти ни одной таблицы преобразования из исходной кодовой страницы в кодовую страницу назначения, DB2 выдает сообщение об ошибке. Более подробная информация приводится в документации по Microsoft SQL Server. ------------------------------------------------------------------------ 5.7 Доступ к источникам данных Informix (новая глава) Перед тем, как добавить в сервер объединения DB2 источники данных Informix, на сервере объединения необходимо установить и сконфигурировать программное обеспечение Informix Client SDK. Особенности установки программного обеспечения Client SDK подробно описаны в установочных процедурах в документации, поставляемой с программным обеспечением баз данных Informix. Не забудьте включить в установку библиотеки Informix Client SDK. Чтобы настроить свой сервер объединения на доступ к данным, хранимым в источниках данных Informix: 1. Установите DB2 Relational Connect. Смотрите раздел 5.3.3, Установка DB2 Relational Connect. 2. Примените последний пакет DB2 FixPak. 3. Добавьте источники данных Informix на сервер объединения. В этой главе обсуждается шаг 3. Указания этой главы относятся к операционным системам AIX, Solaris и HP-UX. Особенности конкретных операционных систем оговариваются специально. 5.7.1 Добавление источников данных Informix на сервер объединения Чтобы добавить источник данных Informix на сервер объединения: 1. Задайте переменные среды и изменить реестр профиля. 2. Скомпонуйте DB2 с программным обеспечением клиента Informix. 3. Перезапустите экземпляр DB2. 4. Создайте файл Informix sqlhosts. 5. Создайте оболочку. 6. Необязательно: Задайте переменную среды DB2_DJ_COMM. 7. Создайте сервер. 8. Создайте отображение пользователей. 9. Создайте псевдонимы для таблиц, производных таблиц и синонимов Informix. Эти шаги подробно объясняются в данном разделе. 5.7.1.1 Шаг 1: Задание переменных среды и изменение реестра профиля Задайте переменные среды источника данных: внесите изменения в файл db2dj.ini и введите команду db2set. В файле db2dj.ini содержится информация о конфигурации программного обеспечения клиента Informix, установленного на вашем сервере объединения. Команда db2set приводит реестр профиля DB2 в соответствие с вашими настройками. В системе многораздельной базы данных можно использовать один файл db2dj.ini для всех узлов определенного экземпляра сервера или же отдельные файлы db2dj.ini для одного или нескольких узлов экземпляра сервера. В системе однораздельных баз данных может быть только один файл db2dj.ini на один экземпляр сервера. Чтобы задать переменные среды: 1. Отредактируйте файл db2dj.ini в каталоге sqllib/cfg, задав следующие переменные среды: INFORMIXDIR Задайте переменную среды INFORMIXDIR, указав путь к каталогу, где устанавливается программное обеспечение Informix Client SDK, например: INFORMIXDIR=informix INFORMIXSERVER Эта переменная задает имя сервера Informix по умолчанию. INFORMIXSERVER=/informix/csdk Замечание: Хотя оболочкой Informix значение этой переменной не используется, клиент Informix требует, чтобы эта переменная была задана. Данная оболочка использует значение опции сервера node, задающее сервер баз данных Informix, к которому вы хотите обращаться. INFORMIXSQLHOSTS При использовании для файла Informix sqlhosts пути по умолчанию ($INFORMIXDIR/etc/sqlhosts) эту переменную задавать необязательно. Однако при использовании для файла Informix sqlhosts другого пути эту переменную необходимо задать, указав полное имя файла Informix sqlhosts. Например: INFORMIXSQLHOSTS=/informix/csdk/etc/my_sqlhosts 2. Измените файл .profile экземпляра DB2, задав переменные среды Informix. Для этого задайте и экспортируйте каждую переменную, введя следующие команды: PATH=$INFORMIXDIR/bin:$PATH export PATH INFORMIXDIR=<путь_клиента_informix> export INFORMIXDIR где путь_клиента_informix - путь на сервере объединения к каталогу, где устанавливается клиент Informix. Если имя в пути содержит пробелы, такой путь нужно заключить в двойные кавычки ("). 3. Запустите на выполнение .profile экземпляра DB2, введя: . .profile 4. Введите команду db2set, чтобы внести сделанные изменения в реестр профиля DB2. Синтаксис этой команды db2set зависит от структуры вашей системы баз данных. Этот шаг необходим, только если вы используете файл db2dj.ini в одной из следующих структур систем баз данных: Если вы используете файл db2dj.ini в системе однораздельных баз данных или хотите применить файл db2dj.ini только к текущему узлу, введите: db2set DB2_DJ_INI=sqllib/cfg/db2dj.ini Если вы используете файл db2dj.ini в системе многораздельной базы данных и хотите применить значения в файле db2dj.ini ко всем узлам в пределах данного экземпляра, введите: db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini Если вы используете файл db2dj.ini в системе многораздельной базы данных и хотите применить значения в файле db2dj.ini к конкретному узлу, введите: db2set -i INSTANCEX 3 DB2_DJ_INI=sqllib/cfg/node3.ini где: ЭКЗЕМПЛЯРx - Имя нужного экземпляра. 3 - Номер узла, указанный в файле db2nodes.cfg. node3.ini - Измененный и переименованный вариант файла db2dj.ini. 5.7.1.2 Шаг 2: Компоновка DB2 с программным обеспечением клиента Informix Для возможности доступа к источникам данных Informix сервер объединения DB2 нужно скомпоновать с библиотеками клиента. В процессе компоновки создается библиотека оболочки для каждого источника данных, с которым будет связываться сервер объединения. Библиотека оболочки создается, когда вы запускаете сценарий djxlinkInformix. Чтобы запустить сценарий djxlinkInformix, введите: djxlinkInformix Замечание: Сценарий djxlinkInformix создает только библиотеку оболочки Informix. Существует и другой сценарий, djxlink, который пытается создать библиотеку оболочки для каждого источника данных, поддерживаемого DB2 Universal Database (Oracle, Microsoft SQL Server и т.д.). Если у вас программное обеспечение клиента есть не для всех установленных источников данных, при запуске сценария djxlink вы получите сообщение об ошибке для каждого из пропущенных источников. 5.7.1.3 Шаг 3: Перезапуск экземпляра DB2 Чтобы гарантировать задание переменных среды в программе, перезапустите экземпляр DB2. При перезапуске экземпляра DB2 вы обновляете его, и внесенные изменения вступают в силу. Чтобы перезапустить экземпляр DB2, введите следующую команду: На серверах DB2 for AIX, операционной среды Solaris и HP-UX: db2stop db2start 5.7.1.4 Шаг 4: Создание файла Informix sqlhosts Этот файл задает положение и тип соединения (протокол) для каждого сервера баз данных Informix. Дополнительную информацию о конфигурировании этого файла смотрите в руководстве Informix Administrators Guide for Informix Dynamic Server. Предупреждение: Если не задать имя сервера баз данных Informix в файле sqlhosts, при выполнении операции, где требуется соединение с сервером баз данных Informix, вы получите сообщение об ошибке. 5.7.1.5 Шаг 5: Создание оболочки С помощью оператора CREATE WRAPPER задайте оболочку, которая будет использоваться для работы с источниками данных Informix. Оболочка - это механизм, посредством которого серверы объединения подключаются к источникам данных и получают от них данные. Ниже приводится пример оператора CREATE WRAPPER: CREATE WRAPPER имя_оболочки где имя_оболочки informix ; по умолчанию программное обеспечениеInformix Client SDK использует имя оболочки informix. Имя оболочки по умолчанию можно заменить на выбранное вами имя. Однако в этом случае придется включить параметр LIBRARY и указать имя библиотеки оболочки для сервера объединения в операторе CREATE WRAPPER. Дополнительную информацию об именах библиотек оболочек смотрите в описании оператора CREATE WRAPPER в справочнике DB2 SOL Reference. Имена библиотек оболочек для Informix: * libinformix.a (AIX) * libinformix.so (операционная среда Solaris) * libinformix.sl (HP-UX) 5.7.1.6 Шаг 6 (необязательный): Задание переменной среды DB2_DJ_COMM Чтобы улучшить производительность при обращении к источнику данных Informix, задайте на сервере объединения переменную среды DB2_DJ_COMM. Эта переменная определяет, загружается ли оболочка при инициализации сервера объединения. Задайте переменную среды DB2_DJ_COMM, чтобы включить библиотеку оболочки, соответствующую оболочке, заданной вами в предыдущем шаге. При использовании интерфейсов командной строки оболочек Korn или Bourne применяются следующие команды экспорта: На серверах DB2 for AIX: DB2_DJ_COMM='libinformix.a' export DB2_DJ_COMM На серверах DB2 for Solaris Operating Environment: DB2_DJ_COMM='libinformix.so' export DB2_DJ_COMM На серверах DB2 for HP-UX: DB2_DJ_COMM='libinformix.sl' export DB2_DJ_COMM Слева и справа от знака равенства (=) не должно быть пробелов. При использовании интерфейса командной строки оболочки C задайте переменные среды, введя следующие команды: setenv DB2_DJ_COMM 'libinformix.a' (для серверов DB2 for AIX) setenv DB2_DJ_COMM 'libinformix.so' (для серверов DB2 for Solaris Operating Environment) setenv DB2_DJ_COMM 'libinformix.sl' (для серверов DB2 for HP-UX) Дополнительную информацию об именах библиотек оболочек и переменной среды DB2_DJ_COMM смотрите в справочнике DB2 SQL Reference. 5.7.1.7 Шаг 7: Создание сервера C помощью оператора CREATE SERVER задайте каждый сервер Informix, к источникам данных которого вы намереваетесь обращаться. Синтаксис этого оператора: CREATE SERVER имя_сервера TYPE тип_сервера VERSION версия_сервера WRAPPER имя_оболочки OPTIONS (NODE 'имя_узла', DBNAME 'имя_базы_данных') где: имя_сервера Имя, назначаемое вами для сервера баз данных Informix. Это имя должно быть уникальным. TYPE тип_сервера Задает тип источника данных, доступ к которому вы конфигурируете. Прим.:Для оболочки Informix тип_сервера должен быть informix. VERSION версия_сервера Версия сервера баз данных Informix, к которому вы намереваетесь обращаться. Поддерживаемые версии Informix - 5, 7, 8 и 9. WRAPPER имя_оболочки Имя, которое вы задали в операторе CREATE WRAPPER. NODE 'имя_узла' Имя узла, на котором расположен имя_сервера. имя_узла нужно задать в файле Informix sqlhosts (смотрите шаг 4). Хотя имя_узла указывается в операторе CREATE SERVER SQL как необязательный параметр, при работе с источниками данных Informix его задание необходимо. Это значение регистрозависимо. Информацию о дополнительных опциях смотрите в справочнике DB2 SQL Reference. DBNAME 'имя_базы_данных' Имя базы данных Informix, к которой хотите обращаться. Пример оператора CREATE SERVER: CREATE SERVER asia TYPE informix VERSION 9 WRAPPER informix OPTIONS (NODE 'abc', DBNAME 'sales') Опции сервера FOLD_ID и FOLD_PW задают, переводит ли оболочка ID и пароль пользователя перед отправкой их в Informix в верхний или в нижний регистр. Пример оператора CREATE SERVER с опциями сервера FOLD_ID и FOLD_PW: CREATE SERVER asia TYPE informix VERSION 9 WRAPPER informix OPTIONS (NODE 'abc', DBNAME 'sales', FOLD_ID 'U', FOLD_PW 'U') 5.7.1.8 Шаг 8: Создание отображения пользователей Если ID или пароль пользователя на сервере объединения отличается от ID или пароля пользователя в источнике данных Informix, создайте отображение локального ID пользователя на ID и пароль, заданные в источнике данных Informix, с помощью оператора CREATE USER MAPPING, например: CREATE USER MAPPING FOR локальный_id_пользователя SERVER имя_сервера OPTIONS (REMOTE_AUTHID 'локальный_id_пользователя', REMOTE_PASSWORD 'удаленный_пароль') где: локальный_id_пользователя Локальный ID пользователя, для которого создается отображение на ID пользователя, заданный в источнике данных Informix. SERVER имя_сервера Имя источника данных Informix, заданное в операторе CREATE SERVER. REMOTE_AUTHID 'удаленный_id_пользователя' ID пользователя на сервере баз данных Informix, с которым устанавливается соответствие идентификатора локальный_id_пользователя. Это значение регистрозависимо, если в операторе CREATE SERVER для опции сервера FOLD_ID не задано значение 'U' или 'L'. REMOTE_PASSWORD 'удаленный_пароль' Пароль пользователя, связанный с "удаленным_id_пользователя". Это значение регистрозависимо, если в операторе CREATE SERVER для опции сервера FOLD_PW не задано значение 'U' или 'L'. Пример оператора CREATE USER MAPPING: CREATE USER MAPPING FOR robert SERVER asia OPTIONS (REMOTE_AUTHID 'bob', REMOTE_PASSWORD 'day2night') Для отображения ID авторизации пользователя можно воспользоваться специальным регистром DB2 USER, введя оператор CREATE USER MAPPING для ID авторизации источника данных, заданного в пользовательской опции REMOTE_AUTHID. Пример оператора CREATE USER MAPPING с использованием специального регистра USER: CREATE USER MAPPING FOR USER SERVER asia OPTIONS (REMOTE_AUTHID 'bob', REMOTE_PASSWORD 'day2night') Подробную информацию о дополнительных опциях смотрите в справочнике DB2 SQL Reference. 5.7.1.9 Шаг 9: Создание псевдонимов для таблиц, производных таблиц и синонимов Informix Назначьте псевдоним для каждой таблицы, производной таблицы и синонима Informix в источнике данных Informix. Псевдонимы могут быть длиной до 128 символов. Эти псевдонимы будут использоваться при запросах источника данных Informix. Если вы не заключите имена сервера, схемы и таблицы в двойные кавычки ("), DB2 переведет их в верхний регистр. Ниже приводится пример использования оператора CREATE NICKNAME: CREATE NICKNAME псевдоним FOR имя_сервера."имя_удаленной_схемы"."имя_удаленной_таблицы" где: псевдоним Уникальный псевдоним, используемый для идентификации таблицы, производной таблицы или синонима Informix. server_name."имя_удаленной_схемы"."имя_удаленной_таблицы" Трехчастный идентификатор для удаленного объекта. o имя_сервера - имя, назначаемое для сервера баз данных Informix в операторе CREATE SERVER. o имя_удаленной_схемы - имя удаленной схемы, к которой принадлежит таблица, производная таблица или синоним. o имя_удаленной_таблицы - имя удаленной таблицы, производной таблицы или удаленного синонима, к которым вы намереваетесь обращаться. Пример оператора CREATE NICKNAME: CREATE NICKNAME salesjapan FOR asia."salesdata"."japan" Повторите данный шаг для каждой таблицы и производной таблицы, для которой хотите создать псевдоним. После создания псевдонима DB2 будет использовать соединение для запроса каталога источника данных. При таком запросе происходит проверка вашего соединения с источником данных. Если соединение не работает, вы получаете сообщение об ошибке. Более подробную информацию об операторе CREATE NICKNAME смотрите в справочникеDB2 SQL Reference. Более подробная информация о псевдонимах в целом приводится в книге Руководство администратора DB2 ------------------------------------------------------------------------ Управление Частичное содержание * Administration Guide o 6.1 Доступные обновления * Руководство администратора: Планирование o 7.1 Глава 8. Физическая структура базы данных + 7.1.1 Table Space Design Considerations + 7.1.1.1 Оптимизация производительности табличного пространства при размещении данных на дисковом массиве o 7.2 Приложение D. Поддержка национальных языков (NLS) + 7.2.1 Поддержка кода страны/региона и кодовой страницы: + 7.2.2 Импорт/Экспорт/Загрузка - Ограничения для кодовых страниц 1394 и 5488 * Руководство администратора: Производительность o 8.1 Схемы системных временных таблиц o 8.2 Глава 8. Производительность работы + 8.2.1 Блочный пул буферов + 8.2.1.1 Примеры блочных пулов буферов o 8.3 Глава 10. Увеличение числа процессоров в конфигурации + 8.3.1 Проблемы при добавлении узлов в многораздельную базу данных o 8.4 Приложение A. Переменные реестра DB2 и переменные среды * Administering Satellites Guide and Reference (Справочное роуководство по управлению сателлитами) o 9.1 Настройка Версии 7.2 DB2 Personal Edition и DB2 Workgroup Edition в качестве сателлитов + 9.1.1 Предварительные требования + 9.1.1.1 Особенности установки + 9.1.2 Конфигурирование системы Версии 7.2 для синхронизации + 9.1.3 Установка FixPak 2 или новее в систему Версии 6 Enterprise Edition + 9.1.3.1 Обновление Версии 6 DB2 Enterprise Edition для использования в качестве сервера управления DB2 + 9.1.4 Обновление Центра управления и Центра управления сателлитами Версии 6 * Command Reference o 10.1 Доступные обновления o 10.2 db2updv7 - обновление базы данных до уровня текущего пакета FixPak Версии 7 o 10.3 REBIND + Missing value o 10.4 db2inidb - инициализировать зеркальную копию базы данных * Справочное руководство по восстановлению данных и высокой доступности o 11.1 Справочное руководство по восстановлению данных и высокой доступности в электронном виде o 11.2 Новое поведение резервного копирования и восстановления при LOGRETAIN=CAPTURE o 11.3 NEWLOGPATH2 теперь называется DB2_NEWLOGPATH2 o 11.4 Выбор метода резервного копирования для менеджера связей данных DB2 в AIX и в Solaris * Data Movement Utilities Guide and Reference (Справочное руководство по утилитам перемещения данных) o 12.1 Поддержка кодовых страниц для утилит импорта, экспорта и загрузки o 12.2 db2relocatedb (новая команда) + db2relocatedb - переместить базу данных o 12.3 Глава 2. Import + 12.3.1 Использованием импорта с буферизованными вставками o 12.4 Глава 3. Load + 12.4.1 Состояния отложенных действий после операции загрузки + 12.4.2 Ограничения загрузки + 12.4.3 Модификатор типа файла totalfreespace o 12.5 Глава 4. AutoLoader + 12.5.1 Для запуска AutoLoader при значении Authentication YES необходим rexecd o 12.6 AutoLoader может зависать при ветвлении потоков o 12.7 Приложение C. Export/Import/Load Utility File Formats (Форматы файлов утилит Export/Import/Load) * Replication Guide and Reference (Справочное руководство по репликации) o 13.1 Репликация и серверы других типов (не IBM) o 13.2 Репликация в Windows 2000 o 13.3 Известная ошибка при сохранении файлов SQL o 13.4 Обслуживание DB2 o 13.5 Утилита DDU в Web o 13.6 Глава 3. Data Replication Scenario (Сценарии репликации данных) + 13.6.1 Сценарии репликации o 13.7 Глава 5. Planning for Replication (Планирование репликации) + 13.7.1 Имена столбцов и таблиц + 13.7.2 Репликация столбцов DATALINK + 13.7.3 Ограничения на большие объекты + 13.7.4 Планирование репликации o 13.8 Глава 6. Setting up Your Replication Environment (Настройка среды репликации) + 13.8.1 Предварительное требование для повсеместного изменения + 13.8.2 Настройка среды репликации o 13.9 Глава 8. Problem Determination (Диагностика ошибок) o 13.10 Глава 9. Capture and Apply for AS/400 (Программы Capture и Apply для AS/400) o 13.11 Глава 10. Capture and Apply for OS/390 (Программы Capture и Apply для OS/390) + 13.11.1 Prerequisites for DB2 DataPropagator for OS/390 (Предварительные условия для DB2 DataPropagator for OS/390) + 13.11.2 UNICODE and ASCII Encoding Schemes on OS/390 (Схемы кодировки UNICODE и ASCII в OS/390) + 13.11.2.1 Choosing an Encoding Scheme (Выбор схемы кодировки) + 13.11.2.2 Setting Encoding Schemes (Задание схем кодировки) o 13.12 Глава 11. Capture and Apply for UNIX platforms (Программы Capture и Apply для платформ UNIX) + 13.12.1 Задание переменных среды для программ Capture и Apply в системах UNIX и Windows o 13.13 Глава 14. Table Structures (Структуры таблиц) o 13.14 Глава 15. Capture and Apply Messages (Сообщения программ Capture и Apply) o 13.15 Приложение A. Starting the Capture and Apply Programs from Within an Application (Запуск программ Capture и Apply из прикладной программы) * System Monitor Guide and Reference (Справочное руководство по системному монитору) o 14.1 db2ConvMonStream * Troubleshooting Guide (Руководство по устраниению неисправностей) o 15.1 Запуск DB2 в Windows 95, Windows 98 и Windows ME, когда пользователь не зарегистрирован в системе o 15.2 Глава 1. Good Troubleshooting Practices (Правильные приемы диагностики) + 15.2.1 Средства анализа ошибок и сбора информации о среде + 15.2.1.1 Собираемая информация + 15.2.1.2 Просмотр файла detailed_system_info.html + 15.2.1.3 Постраничный просмотр синтаксиса db2support o 15.3 Глава 2. Troubleshooting the DB2 Universal Database Server (Диагностика ошибок сервера DB2 Universal Database) o 15.4 Глава 8. Troubleshooting DB2 Data Links Manager (Устранение неисправностей менеджера связей данных DB2) * Using DB2 Universal Database on 64-bit Platforms (Использование DB2 Universal Database на 64-битных платформах) o 16.1 Глава 5. Configuration (Конфигурирование) + 16.1.1 LOCKLIST + 16.1.2 shmsys:shminfo_shmmax o 16.2 Глава 6. Restrictions (Ограничения) * XML Extender Administration and Programming (Управление и программирование XML Extender) * MQSeries o 18.1 Установка и конфигурирование функций DB2 MQSeries + 18.1.1 Установка MQSeries + 18.1.2 Установка MQSeries AMI + 18.1.3 Включение функций DB2 MQSeries o 18.2 Модели передачи сообщений MQSeries o 18.3 Структура сообщения o 18.4 Обзор функций MQSeries + 18.4.1 Ограничения + 18.4.2 Коды ошибок o 18.5 Использование сценариев + 18.5.1 Базовая передача сообщений + 18.5.2 Отправка сообщений + 18.5.3 Прием сообщений + 18.5.4 Возможности соединения программ друг с другом + 18.5.4.1 Взаимодействие требование/ответ + 18.5.4.2 Публикация/подписка o 18.6 enable_MQFunctions + enable_MQFunctions o 18.7 disable_MQFunctions + disable_MQFunctions ------------------------------------------------------------------------ Administration Guide ------------------------------------------------------------------------ 6.1 Доступные обновления Обновления Administration Guide и свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Информация этих замечаний дополняет данную ссылку. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ Руководство администратора: Планирование ------------------------------------------------------------------------ 7.1 Глава 8. Физическая структура базы данных 7.1.1 Table Space Design Considerations 7.1.1.1 Оптимизация производительности табличного пространства при размещении данных на дисковом массиве DB2_PARALLEL_IO Переменная реестра DB2_PARALLEL_IO влияет также на табличные пространства с несколькими контейнерами. Если эта переменная реестра не задана, степень параллелизма ввода-вывода равна числу контейнеров в табличном пространстве. Если эта переменная реестра задана, степень параллелизма ввода-вывода равна результату деления размера предварительной выборки на размер экстента. Эту переменную реестра можно задать, если отдельные контейнеры табличного пространства хранятся на дисковом массиве RAID, где данные распределяются по разным дискам. Например, табличное пространство содержит два контейнера, а размер предварительной выборки в четыре раза больше размера экстента. Если эта переменная реестра не задана, запрос предварительной выборки для этого табличного пространства будет разбит на два запроса (каждый для двух экстентов). Если доступна предварительная выборка, два таких устройства могут выполнять эти запросы в параллельном режиме. Если эта переменная реестра задана, запрос предварительной выборки для этого табличного пространства будет разбит на четыре запроса (каждый для одного экстента) и запросы могут выполняться четырьмя процессами предварительной выборки в параллельном режиме. Если в этом примере для каждого из двух контейнеров выделен отдельный диск и задана эта переменная реестра, это может привести к конфликтам при обращении к дискам, так как два процесса предварительной выборки будут одновременно обращаться к одному диску. Однако если эти каждый из этих двух контейнеров распределен по нескольким дисках дискового массива, задание этой переменной реестра сделает возможным одновременное обращение к четырем разным дискам. ------------------------------------------------------------------------ 7.2 Приложение D. Поддержка национальных языков (NLS) 7.2.1 Поддержка кода страны/региона и кодовой страницы: Указанная в таблице Поддерживаемые языки и наборы кодов кодовая страница 5488 называется также GB 18030, а кодовая страница 1394 называется также ShiftJISX 0213. 7.2.2 Импорт/Экспорт/Загрузка - Ограничения для кодовых страниц 1394 и 5488 Данные с кодовыми страницами 1394 (ShiftJISX 0213) и 5488 (GB 18030) можно переместить в базу данных Unicode с помощью утилит загрузки или импорта. Для перемещения данных из базы данных Unicode в файл данных с кодовой страницей 1394 или 5488 можно использовать утилиту экспорта. Поддерживаются только соединения между клиентом Unicode и сервером Unicode, поэтому нужно или использовать клиент Unicode, или присвоить переменной реестра DB2 DB2CODEPAGE значение 1208 перед применением утилит загрузки, импорта или экспорта. Преобразование из кодовой страницы 1394 или 5488 в Unicode может привести к увеличению объема данных. Например, 2-байтный символ в столбцах типа GRAPHIC может сохраняться в виде двух 16-битных символов Unicode. Убедитесь, что столбцы назначения в базе данных Unicode имеют достаточный размер, чтобы вместить такие расширенные данные. ------------------------------------------------------------------------ Руководство администратора: Производительность ------------------------------------------------------------------------ 8.1 Схемы системных временных таблиц Схему для системной временной таблицы определяют ID прикладной программы и ID авторизации, под которыми создается эта таблица. Когда эти данные доступны, таблица создается в схеме . В некоторых случаях при создании таблицы схема определяется только одним из этих ID, а иногда и оба они недоступны. Созданные при этом таблицы могут иметь имена типа AUTHID.TEMPTABLENAME или .TEMPTABLENAME. Информацию о схемах для таких таблиц можно получить при помощи команды GET SNAPSHOT. Информацию об этой команде смотрите в книге Command Reference ------------------------------------------------------------------------ 8.2 Глава 8. Производительность работы 8.2.1 Блочный пул буферов Эта возможность поддерживается только в операционной среде Sun Solaris. Затраты на ввод-вывод делают предварительную выборку страниц с диска дорогостоящей операцией. В DB2 предварительная выборка значительно улучшает производительность, если обработка может выполняться одновременно с вводом-выводом. На большинстве платформ доступны высокопроизводительные операции чтения последовательно идущих страниц с диска в отдельные участки памяти. Такие операции обычно называют "чтением последовательных страниц" или "направленным вводом-выводом". На некоторых платформах производительность этих операций падает при выполнении ввода-вывода больших блоков данных. По умолчанию используются страничные пулы буферов. Это значит, чти идущие подряд страницы на диске считываются в отдельные страницы в памяти. На таких платформах производительность предварительной выборки можно повысить, если читать страницы с диска в идущие подряд страницы в пуле буферов. Переменная реестра DB2_BLOCK_BASED_BP позволяет создать в пуле буферов область для хранения набора последовательных страниц. Такие наборы последовательных страниц называются "блоками". Когда задана эта переменная реестра, при предварительной выборке идущих подряд страниц эти страницы будут считываться с диска напрямую в эти блоки вместо чтения страниц по одной. Это улучшает производительность операций ввода-вывода. Дополнительную информацию об этой переменной реестра смотрите в разделе 'Registry and Environment Variables' (Переменные реестра и среды) книги Administration Guide. С пулом буферов с одним размером блока могут быть связаны несколько табличных пространств с разными размерами экстента. Размеры экстентов и размеры блоков тесно связаны друг с другом, хоть это и разные понятия. Экстент определяет размер дробления табличного пространства при его распределении по нескольким контейнерам. Блок же определяет размер дробления, который используется серверами ввода-вывода для блочных операций ввода-вывода при выполнении запросов последовательной предварительной выборки. Для отдельных запросов последовательной предварительной выборки используются страницы, равные размеру экстента. Получив такой запрос предварительной выборки, сервер ввода-вывода определяет стоимость и выгодность выполнения каждого запроса в виде блочной операции ввода-вывода (если в пуле буферов есть блочная область) по сравнению с выполнением страничного ввода-вывода с помощью чтения последовательных страниц. Выгодность выполнения операции ввода-вывода в виде блочной операции - это выигрыш в производительности за счет чтения последовательных данных с диска в последовательную область памяти. Стоимость определяется тем, какой объем памяти пула буферов расходуется при этом впустую. При блочном вводе-выводе память пула буферов может расходоваться впустую по двум причинам. * Число страниц в запросе предварительной выборки меньше числа страниц в блоке. Это получается, когда размер экстента меньше размера блока. * Некоторые из страниц, запрошенных в запросе предварительной выборки, уже находятся в страничной области пула буферов. Прим.:Ни один блок из блочной области пула буферов не может быть поделен на части. Страницы внутри блока должны идти подряд. Поэтому возможно расходование памяти впустую. Чтобы воспользоваться преимуществами блочного ввода-вывода, сервер ввода-вывода допускает возникновение в каждом блоке некоторого количества неиспользуемых страниц. Однако если впустую расходуется слишком большая часть блока, сервер ввода-вывода будет вместо блочного ввода-вывода использовать страничную предварительную выборку в страничную область пула буферов. Поэтому некоторые операции ввода-вывода для предварительной выборки не будут блочными. Это не лучшая ситуация. Для получения наилучшей производительности для табличных пространств с конкретным размером экстента следует использовать пул буферов с тем же размером блока. Хорошей производительности можно достичь и когда размер экстента некоторых табличных пространств превышает размер блока пула буферов, связанного с этими табличными пространствами. Но не рекомендуется связывать табличные пространства с пулом буферов, размер блока которого больше размера их экстента. Прим.:Блочная область пула буферов используется только для последовательной предварительной выборки. Если последовательная предварительная выборка используется мало или не используется совсем, блочная область пула буферов будет простаивать. Для пула буферов нельзя одновременно использовать поддержку Address Windowing Extensions (AWE) и поддержку блоков. Если в обеих переменных реестра DB2_AWE и DB2_BLOCK_BASED_BP задан один и тот же пул буферов, предпочтение отдается AWE. В этом случае поддержка блоков будет отключена; она будет вновь разрешена после отключения AWE. Для пула буферов, использующего расширенную память, блочный ввод-вывод не поддерживается. 8.2.1.1 Примеры блочных пулов буферов Прежде, чем использовать эти примеры, вам нужно узнать идентификаторы (ID) пулов буферов в вашей системе. ID пула буферов можно увидеть в столбце BUFFERPOOLID производной таблицы системного каталога SYSCAT.BUFFERPOOLS. Сценарий 1 У вас есть пул буферов с ID 4 и размером в 1000 страниц. Вы хотите создать блочную область размером в 700 страниц с блоками по 32 страницы. Вам нужно выполнить команду: db2set DB2_BLOCK_BASED_BP=4,700,32 При запуске базы данных будет создаваться пул буферов с ID 4, содержащий блочную область в 672 страницы и страничную область в 328 страницы. В этом примере 700 не делится нацело на 32. Поэтому в качестве размера блочной области будет взято меньшее значение - ближайший размер целого числа блоков, вычисленный по следующей формуле: ((размер блочной области)) FLOOR(-----------------) X размер блока ( (размер блока) ) ( 700 ) = FLOOR(-----------------) X 32 ( 32 ) = 21 x 32 = 672 Сценарий 2 У вас есть пул буферов с ID 11 и размером в 3000 страниц. Вы хотите создать блочную область размером в 2700 страниц. Вам нужно выполнить команду: db2set DB2_BLOCK_BASED_BP=11,2700 При запуске базы данных будет создаваться пул буферов с ID 11, содержащий блочную область в 2688 страницы и страничную область в 312 страницы. Если размер блока не задан явно, по умолчанию используется значение 32 страницы. В этом примере 2700 не делится нацело на 32. Поэтому в качестве размера блочной области будет взято меньшее значение - ближайший размер целого числа блоков, вычисленный по следующей формуле: ((размер блочной области)) FLOOR(-----------------) X размер блока ( (размер блока) ) ( 2700 ) = FLOOR(-----------------) X 32 ( 32 ) = 84 x 32 = 2688 ------------------------------------------------------------------------ 8.3 Глава 10. Увеличение числа процессоров в конфигурации 8.3.1 Проблемы при добавлении узлов в многораздельную базу данных При добавлении узлов в многораздельную базу данных, содержащую одно или несколько системных временных табличных пространств, размер страниц которых отличается от размера страниц по умолчанию (4 Кбайта), вы можете получить сообщение об ошибке "SQL6073N Операция Add Node прервана" и SQLCODE. Это вызвано тем, что при создании узла существует только пул буферов IBMDEFAULTBP с размером страниц 4 Кбайта. Например, для добавления узла в текущую многораздельную базу данных может использоваться команда db2start: DB2START NODENUM 2 ADDNODE HOSTNAME newhost PORT 2 Если эта многораздельная база данных содержит системные временные табличные пространства, размер страниц которых равен размеру страниц по умолчанию, будет возвращено следующее сообщение: SQL6075W Операция Start Database Manager успешно добавила узел. Узел не будет активен, пока все узлы не будут остановлены и запущены еще раз. Однако если системные временные табличные пространства этой многораздельной базы данных имеют размер страниц, отличный от размера страниц по умолчанию, будет возвращено сообщение: SQL6073N Операция Add Node прервана. SQLCODE = "<-902>" Для добавления узла можно также использовать команду ADD NODE, предварительно вручную добавив описание нового узла в файл db2nodes.cfg. После изменения этого файла и выполнения команды ADD NODE для многораздельной базы данных, содержащей системные временные табличные пространства, размер страниц которых равен размеру страниц по умолчанию, будет возвращено следующее сообщение: DB20000I Команда ADD NODE выполнена успешно. Однако если системные временные табличные пространства этой многораздельной базы данных имеют размер страниц, отличный от размера страниц по умолчанию, будет возвращено сообщение: SQL6073N Операция Add Node прервана. SQLCODE = "<-902>" Один из способов предотвратить описанную выше ошибку - выполнить команду: DB2SET DB2_HIDDENBP=16 перед выполнением команды db2start или ADD NODE. Эта переменная реестра разрешает DB2 выделять скрытые пулы буферов по 16 страниц каждый, используя размер страницы, отличный от размера страницы по умолчанию. Это обеспечивает успешное выполнение операции ADD NODE. Другой способ предотвращения этой ошибки - задать условие WITHOUT TABLESPACES в команде ADD NODE или db2start. После этого нужно будет создать пулы буферов, используя оператор CREATE BUFFERPOOL, и связать системные временные табличные пространства с пулом буферов, используя оператор ALTER TABLESPACE. При добавлении узлов в существующую группу узлов, содержащую одно или несколько табличных пространств, размер страниц которых отличается от размера страниц по умолчанию (4 Кбайта), вы можете получить сообщение об ошибке "SQL0647N Пул буферов "" в настоящее время неактивен.". Это происходит потому, что созданные на новом узле пулы буферов с размером страниц, отличным от размера страниц по умолчанию, не активируются для этих табличных пространств. Например, для добавления узла в группу узлов можно использовать оператор ALTER NODEGROUP: DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) Если эта группа узлов содержит табличные пространства, размер страниц которых равен размеру страниц по умолчанию, будет возвращено следующее сообщение: SQL1759W Для изменения распределения данных для объектов в группе узлов "" требуется перераспределение группы узлов с включением добавленных узлов или исключением отброшенных. Однако если табличные пространства этой группы узлов имеют размер страниц, отличный от размера страниц по умолчанию, будет возвращено сообщение: SQL0647N Пул буферов "" в настоящее время неактивен. Один из способов предотвратить описанную выше ошибку - создать пулы буферов для каждого размера страниц и затем заново соединиться с базой данных перед выполнением оператора ALTER NODEGROUP: DB2START CONNECT TO mpp1 CREATE BUFFERPOOL bp1 SIZE 1000 PAGESIZE 8192 CONNECT RESET CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) Другой способ предотвращения этой ошибки - выполнить команду: DB2SET DB2_HIDDENBP=16 перед выполнением команды db2start и операторов CONNECT и ALTER NODEGROUP. Другая ошибка может возникнуть, когда оператор ALTER TABLESPACE используется для добавления табличного пространства к узлу. Например: DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2) Эта последовательность команд и операторов генерирует сообщение об ошибке SQL0647N (а не ожидаемое сообщение SQL1759W). Чтобы правильно выполнить это изменение, необходимо заново соединиться с базой данных после выполнения оператора ALTER NODEGROUP... WITHOUT TABLESPACES. DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES CONNECT RESET CONNECT TO mpp1 ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2) Другой способ предотвращения этой ошибки - выполнить команду: DB2SET DB2_HIDDENBP=16 перед выполнением команды db2start и операторов CONNECT, ALTER NODEGROUP и ALTER TABLESPACE. ------------------------------------------------------------------------ 8.4 Приложение A. Переменные реестра DB2 и переменные среды Табл. 4. Переменные производительности Имя переменной Операционная Значения система Описание DB2_BLOCK_BASED_BP Solaris По умолчанию=Отсутствует Значения: зависят от параметров Задает значения, определяющие создание блочной области внутри пула буферов. Нужно задать ID пула буферов, который можно узнать в столбце BUFFERPOOLID производной таблицы системного каталога SYSCAT.BUFFERPOOLS. Необходимо задать число страниц, выделяемых в пуле буферов для блочного ввода-вывода. Число страниц в блоке задавать не обязательно. По умолчанию для этого параметра используется значение 32. Формат этой переменной реестра: DB2_BLOCK_BASED_BP=BUFFER POOL ID,BLOCK AREA SIZE,[BLOCK SIZE];... В одной переменной реестра можно определить блочные области для нескольких пулов буферов, задав значения для них через точку с запятой. Размер блока может быть от 2 до 256. Если он не задан, по умолчанию используется значение 32. Если заданный размер блочной области превышает 98% общего размера пула буферов, в этом пуле буферов не будет выделена блочная область. Всегда разумно оставлять некоторую часть пула буферов для страничной области, так как может потребоваться чтение отдельных страниц, даже если большая часть операций ввода-вывода в системе - это последовательная предварительная выборка. Если заданное значение размера блочной области не кратно размеру блока, в качестве размера блочной области используется меньшее значение - ближайший размер целого числа блоков. Дополнительную информацию о блочном вводе-выводе смотрите в разделе 8.2.1, Блочный пул буферов. ------------------------------------------------------------------------ Administering Satellites Guide and Reference (Справочное роуководство по управлению сателлитами) ------------------------------------------------------------------------ 9.1 Настройка Версии 7.2 DB2 Personal Edition и DB2 Workgroup Edition в качестве сателлитов В следующих разделах описывается настройка систем DB2 Personal Edition и DB2 Workgroup Edition Версии 7.2 на платформе Windows для их использования в качестве полнофункциональных сателлитов в среде сателлитов. Информацию о терминах и понятиях, используемых в следующем описании, смотрите в книге Administering Satellites Guide and Reference. Эту книгу можно найти по адресу: http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v6pubs.d2w/en_main Технические замечания, дополняющие информацию из книги Administering Satellites Guide and Reference, можно найти по адресу: http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/browse.d2w/ report?type=tech5udb&tech5udb=Y 9.1.1 Предварительные требования Для установки DB2 Personal Edition или DB2 Workgroup Edition в качестве сателлитов необходимы: 1. Сервер управления DB2 Сервер управления DB2 - это система DB2 Enterprise Edition, работающая в Windows NT или AIX, в которой установлен компонент Сервер управления. Используемая система DB2 Enterprise Edition должна быть Версии 6 с FixPak 2 или новее, или же Версией 7 с любым уровнем FixPak. o Если вы хотите использовать в качестве сервера управления DB2 система Enterprise Edition Версии 6, смотрите раздел 9.1.3, Установка FixPak 2 или новее в систему Версии 6 Enterprise Edition. o Если вы используете Версию 7, но у вас не установлен компонент Сервер управления, установите этот компонент, повторно установите все ранее установленные FixPak и создайте экземпляр сервера управления DB2 и базу данных управления сателлитами. Инструкции по их созданию смотрите в книге Administering Satellites Guide and Reference. Прим.:Если вы устанавливаете систему Версии 7.2 Enterprise Edition на платформе Windows NT для применения в качестве сервера управления DB2 и при этом хотите использовать файл ответов, смотрите информацию о ключевых словах файла ответов в технических замечаниях под заголовком DB2 Control Server Response File Keywords. 2. Экземпляр сервера управления DB2 и базу данных управления сателлитами Экземпляр сервера управления DB2 обычно называется DB2CTLSV, а база данных управления сателлитами - SATCTLDB. Экземпляр сервера управления DB2 и база данных управления сателлитами находятся в системе Enterprise Edition; в Windows NT они автоматически создаются при установке DB2 с компонентом Сервер управления. Для DB2 в AIX информацию о создании экземпляра сервера управления DB2 и базы данных управления сателлитами смотрите в книге Administering Satellites Guide and Reference. 3. Центр управления сателлитами Центр управления сателлитами - это набор графических средств, используемых при настройке среды сателлитов и управлении ей. Для доступа к этому набору средств используется Центр управления. Дополнительную информацию о Центре управления сателлитами смотрите в книге Administering Satellites Guide and Reference и в электронной справке по Центру управления сателлитами. Если вы используете Центр управления Версии 6, смотрите раздел 9.1.4, Обновление Центра управления и Центра управления сателлитами Версии 6. Если вы еще не пользовались Центром управления сателлитами для настройки среды сателлитов и для создания объекта, обозначающего в Центре управления сателлитами новый сателлит, это необходимо сделать до установки сателлита. Дополнительную информацию смотрите в описании настройки и проверки среды сателлитов в книге Administering Satellites Guide and Reference. 4. Система Версии 7.2 Personal Edition или Workgroup Edition, которую нужно использовать в качестве сателлита. 9.1.1.1 Особенности установки При установке и DB2 Personal Edition, и DB2 Workgroup Edition для того, чтобы система могла участвовать в синхронизации, не нужно выбирать никаких специальных компонентов. Если вы хотите провести установку при помощи файла ответов, смотрите ключевые слова, задаваемые при установке системы Версии 7.2, в разделе Установка при помощи файла ответов. Если вы проводите интерактивную установку системы Версии 7.2, после установки DB2 смотрите в разделе 9.1.2, Конфигурирование системы Версии 7.2 для синхронизации значения, которые нужно задать в системе Версии 7.2, чтобы система могла участвовать в синхронизации. Установка при помощи файла ответов Если вы проводите установку Версии 7.2 DB2 Personal Edition или DB2 Workgroup Edition, в файле ответов можно задать следующие ключевые слова. Если вы решите не задавать при установке при помощи файла ответов одно или несколько из этих ключевых слов, смотрите в разделе 9.1.2, Конфигурирование системы Версии 7.2 для синхронизации дополнительные шаги, которые нужно выполнить после установки DB2, чтобы система Версии 7.2 могла участвовать в синхронизации. При помощи инструкций в этом разделе можно также изменить какие-либо значения, указанные во время установки при помощи файла ответов. db2.db2satelliteid Задает ID сателлита для системы. Прим.:Если это ключевое слово не задано, по умолчанию ID сателлита - это ID пользователя, под которым проходила установка DB2. Если в качестве ID сателлита вы хотите использовать этот ID пользователя, значение этого ключевого слова задавать необязательно. db2.db2satelliteappver Задает версию прикладной программы для системы. Прим.:Если это ключевое слово не задано, по умолчанию версия прикладной программы на сателлите равна V1R0M00. Если в качестве версии прикладной программы нужно использовать это значение, значение этого ключевого слова задавать необязательно. db2.satctldb_username Задает имя пользователя, которое система будет использовать для соединения с базой данных управления сателлитами. db2.satctldb_password Задает пароль, который данное имя пользователя передает серверу управления DB2 при соединении имени пользователя с базой данных управления сателлитами. После завершения установки при помощи файла ответов система Версии 7.2 готова участвовать в синхронизации. На сателлите нужно выполнить команду db2sync -t, чтобы убедиться, что для сателлита заданы правильные значения и что он может соединиться с базой данных управления сателлитами. Дополнительную информацию о проведении установки при помощи файла ответов смотрите в разделе Administering Satellites Guide and Reference. Примечания: 1. В Версии 7 на платформах Windows NT и Windows 2000 для создания всех служб необходимы ID пользователей и пароли. Эти ID пользователей и пароли задаются в файле ответов как пары ключевых слов. Первая пара ключевых слов, найденная в файле ответов, становится ID пользователя и паролем по умолчанию для всех служб, если для отдельных служб не указаны отдельные пары ключевых слов, заменяющие значения по умолчанию. В Версии 6, чтобы задать ID пользователя и пароль, используемые Службой удаленных команд, во время установки DB2 Satellite Edition при помощи файла ответов можно задать ключевые слова admin.userid и admin.password. В Версии 7.2 Personal Edition и Workgroup Edition, если задать эти ключевые слова, они используются для экземпляра DB2DAS00 в системе Версии 7.2. Для системы DB2 Версии 7.2 Служба удаленных команд будет использовать ID пользователя и пароль, используемые экземпляром DB2 в данной системе. Если значения ключевых слов db2.userid и db2.password не заданы, по умолчанию используется правило, описанное выше. 2. В Версии 6 при установке DB2 Satellite Edition при помощи файла ответов можно было создать базу данных. При установке при помощи файла ответов системы Версии 7.2 Personal Edition или Workgroup Edition, которую нужно использовать в качестве сателлита, создать базу данных нельзя. Не поддерживаются следующие ключевые слова (описанные в книге Administering Satellites Guide and Reference): o db2.userdb_name o db2.userdb_recoverable o db2.userdb_rep_src 9.1.2 Конфигурирование системы Версии 7.2 для синхронизации При интерактивной установке системы Версии 7.2 после установки в системе DB2 Personal Edition или DB2 Workgroup Edition нужно задать некоторые значения, чтобы система могла участвовать в синхронизации. Прим.:Для установки всех значений на сателлите, кроме ID пользователя и пароля, используемых сателлитом при соединении с базой данных управления сателлитами (смотрите шаг 4), можно выполнить сценарий операционной системы. 1. Задайте ID сателлита при помощи команды db2set. При интерактивной установке DB2 Personal Edition или DB2 Workgroup Edition по умолчанию в качестве ID сателлита выбирается ID пользователя, под которым проходила установка DB2. Если в качестве ID сателлита вы хотите использовать этот ID пользователя, значение этого ключевого слова задавать необязательно. Информацию о задании ID сателлита смотрите в книге Administering Satellites Guide and Reference. 2. Задайте версию прикладной программы на сателлите при помощи команды db2sync -s. При интерактивной установке DB2 Personal Edition или DB2 Workgroup Edition по умолчанию задается версия прикладной программы сателлита V1R0M00. Если в качестве версии прикладной программы нужно использовать это значение, этот шаг выполнять необязательно. Текущее значение версии прикладной программы можно узнать на сателлите при помощи команды db2sync -g. Если это значение нужно изменить, введите команду db2sync -s. Вам будет предложено ввести новое значение для версии прикладной программы. Дополнительную информацию о задании версии прикладной программы смотрите в книге Administering Satellites Guide and Reference. 3. Введите на сателлите команды catalog node и catalog database, чтобы внести в каталог на сателлите экземпляр сервера управления DB2 и базу данных управления сателлитами SATCTLDB. На сателлите можно также использовать команду db2sync -t, чтобы открыть прикладную программу Synchronizer DB2 в тестовом режиме. Если в момент ввода команды база данных SATCTLDB не внесена в каталог на сателлите, откроется окно Внести в каталог управляющую базу данных. Чтобы внести в каталог сервер управления DB2 и базу данных SATCTLDB, можно либо использовать функцию поиска DB2, доступную из окна Внести в каталог управляющую базу данных, либо ввести имя хоста и имя в этом окне. Вам предложат также указать ID пользователя и пароль, которые сателлит должен использовать при соединении с базой данных управления сателлитами, как описано в шаге 4. Прим.:После интерактивной установки Версии 7.2 DB2 Personal Edition или DB2 Workgroup Edition, в отличие от Версии 6 DB2 Satellite Edition, Synchronizer DB2 не запускается в тестовом режиме автоматически. 4. Введите на сателлите команду db2sync -t, чтобы: o Задать ID пользователя и пароль, которые сателлит должен использовать при соединении с базой данных управления сателлитами. Если параметры синхронизации еще не хранятся на сателлите, откроется окно Соединиться с управляющей базой данных. В этом окне нужно задать ID пользователя и пароль, которые сателлит должен использовать для соединения с базой данных управления сателлитами. o Убедитесь, что на сателлите заданы правильные значения o Убедитесь, что сателлит может соединиться с базой данных управления сателлитами После завершения этих задач по конфигурированию система Версии 7.2 готова участвовать в синхронизации. 9.1.3 Установка FixPak 2 или новее в систему Версии 6 Enterprise Edition Для использования системы Версии 6 Enterprise Edition в качестве сервера управления DB2 надо применить к ней FixPak 2 или более новый. В следующих разделах описываются действия, которые нужно выполнить, чтобы обновить систему Версии 6 Enterprise Edition на платформах Windows NT или AIX для использования в качестве сервера управления DB2. Если вы используете Центр управления Версии 6, выполните также шаги раздела 9.1.4, Обновление Центра управления и Центра управления сателлитами Версии 6, чтобы проверить, подходящий ли у вас уровень Центра управления и Центра управления сателлитами для управления средой сателлитов. 9.1.3.1 Обновление Версии 6 DB2 Enterprise Edition для использования в качестве сервера управления DB2 Чтобы систему DB2 Enterprise Edition Версии 6 можно было использовать в качестве сервера управления DB2, в ней должен быть установлен компонент Сервер управления, и служебный уровень DB2 Enterprise Edition должна быть FixPak 2 или новее. В зависимости от уровня службы DB2 Enterprise Edition и от того, установлен ли компонент сервера управления DB2, нужно выполнить одну из следующих задач: * Установите компонент сервера управления DB2 в имеющуюся систему DB2 Enterprise Edition V6.1; установите также FixPak 2 или новее. Затем обновите в системе базу данных управления сателлитами (SATCTLDB). * Обновите уже установленный сервер управления DB2 до уровня FixPak 2 или новее. Используйте следующую информацию, чтобы определить, какую из этих задач нужно выполнить, и какие шаги применимы к вашей ситуации. Вот сводка действий, которые нужно выполнить. 1. Во-первых, выясните текущее состояние установки DB2 Enterprise Edition. Нужно выяснить, установлен ли компонент Сервер управления, а также уровень службы DB2. 2. Во-вторых, на основе полученной вами информации определите, что нужно сделать. 3. В-третьих, выполните действия, необходимые для обновления DB2 Enterprise Edition. Сервер управления DB2 работает только на DB2 Enterprise Edition для Windows NT и AIX. Перейдите к инструкциям, относящимся к вашей платформе: * Обновление DB2 Enterprise Edition на платформе Windows NT * Обновление DB2 Enterprise Edition в AIX Обновление DB2 Enterprise Edition на платформе Windows NT Используйте информацию в следующих разделах для определения текущего уровня службы вашей системы Версии 6 DB2 Enterprise Edition и того, какие шаги нужно предпринять для обновления системы до служебного уровня FixPak 2 или новее. Вам нужно выполнить шаги из одного или нескольких следующих разделов: * Изучение системы DB2 Enterprise Edition на платформе Windows NT * Определение необходимых действий * Установка компонента Сервер управления в Windows NT * Установка FixPak 2 или новее в Windows NT * Обновление SATCTLDB в Windows NT Изучение системы DB2 Enterprise Edition на платформе Windows NT Если у вас на платформе Windows NT установлена DB2 Enterprise Edition, выполните следующие шаги: 1. Проверьте, установлен ли компонент Сервер управления. При помощи редактора реестра regedit выведите список установленных компонентов: a. Введите в командной строке команду regedit. b. Проверьте, указан ли в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DB2\Components Сервер управления (Control Server). Если его нет, сервер управления не установлен. 2. Определите служебный уровень DB2 Enterprise Edition. Введите в командной строке команду db2level. Ее вывод можно интерпретировать при помощи следующей таблицы: Значения ключевых полей в выводе db2level Система DB2 находится на Выпуск Уровень Элементы информации уровне: SQL06010 01010104 db2_v6, n990616 Базовая Версия 6.1 SQL06010 01020104 DB2 V6.1.0.1, n990824, Версия 6.1 с WR21136 FixPak 1 SQL06010 01030104 DB2 V6.1.0.6, s991030, Версия 6.1 с WR21163 или DB2 FixPak 2 V6.1.0.9, s000101, WR21173 Прим.:Если уровень больше, чем 01030104, служебный уровень системы новее FixPak 2. 3. Запишите найденную информацию и переходите к разделу Определение необходимых действий. Определение необходимых действий Используя собранную информацию, найдите в следующей таблице строку, применимую к вашей ситуации, и выполните шаги, требуемые для подготовки системы DB2 Enterprise Edition к поддержке сервера управления DB2 на уровне FixPak 2 или новее. В разделах, следующих за таблицей, приводятся инструкции по выполнению требуемых действий. Советуем помечать выполненные действия в списке. Выполняйте только шаги, применимые к вашей ситуации. Установлен ли компонент Служебный уровень Шаги, требуемые для Сервер управления системы DB2 Enterprise подготовки системы DB2 Edition Enterprise Edition Нет Базовая Версия 6.1, Выполните следующие Версия 6.1 с FixPak 1 действия: или Версия 6.1 с FixPak 2 или новее 1. Установка компонента Сервер управления в Windows NT 2. Установка FixPak 2 или новее в Windows NT 3. Обновление SATCTLDB в Windows NT Да Базовая Версия 6.1 или Выполните следующие Версия 6.1 с FixPak 1 действия: 1. Установка FixPak 2 или новее в Windows NT 2. Обновление SATCTLDB в Windows NT Да Версия 6.1 с FixPak 2 Выполните следующее или новее действие: 1. Обновление SATCTLDB в Windows NT Установка компонента Сервер управления в Windows NT Чтобы установить компонент Сервер управления в Windows NT: 1. Перед тем, как начать установку, убедитесь, что вся работа с базами данных в системе завершена. 2. Вставьте в дисковод компакт-диск DB2 Universal Database Enterprise Edition Версия 6.1. Если программа установки не запускается автоматически, выполните команду setup в корневом каталоге компакт-диска, чтобы начать процесс установки. 3. Когда вам будет это предложено, завершите все процессы, использующие DB2. 4. В окне Добро пожаловать выберите Далее. 5. В окне Выбор продуктов выберите DB2 Enterprise Edition. 6. На панели Выбор типа установки выберите Пользовательская. 7. На панели Выбор компонентов выберите компонент Сервер управления и нажмите кнопку Далее. Прим.:Если выбрать другие компоненты, еще не установленные в системе, эти компоненты тоже будут установлены. Диск и каталог установки DB2 изменить нельзя. 8. На панелях Конфигурировать службы DB2 можно изменить значения протокола и опции запуска для экземпляра сервера управления или оставить значения по умолчанию. Либо измените значения по умолчанию и нажмите кнопку Далее, либо сразу нажмите кнопку Далее, чтобы оставить значения по умолчанию. 9. Чтобы начать процесс установки, нажмите кнопку Далее в окне Начать копирование файлов. 10. По завершении копирования файлов вам предлагается перезагрузить систему. Перезагрузитесь. Изменения, сделанные в системе для Сервера управления, не вступят в силу до перезагрузки системы. Если нужно локально использовать в данной системе Центр управления и Центр управления сателлитами, после завершения установки и перезагрузки системы нужно внести в каталог экземпляра DB2 базу данных управления сателлитами (SATCTLDB), созданную как часть установки Сервера управления. Чтобы внести базу данных SATCTLDB в каталог: 1. Откройте командное окно DB2, выбрав Пуск>Программы>DB2 for Windows NT>Командное окно 2. Убедитесь, что вы находитесь в экземпляре db2. Введите команду set и проверьте значение db2instance. Если оно не равно db2, выполните команду: set db2instance=db2 3. Внесите в каталог экземпляр db2ctlsv, введя команду: db2 catalog local node db2ctlsv instance db2ctlsv 4. Внесите в каталог базу данных SATCTLDB, введя команду db2 catalog database satctldb at node db2ctlsv 5. Выполните принятие операции внесения в каталог, введя команду: db2 terminate 6. Закройте командное окно DB2. Установка FixPak 2 или новее в Windows NT Чтобы обновить имеющуюся систему Версии 6 DB2 Enterprise Edition на платформе Windows NT до уровня FixPak 2 или новее, выполните одно из следующих действий: * Загрузите из Web последний FixPak для DB2 Enterprise Edition для Windows NT V6.1 вместе с прилагаемым файлом readme. Инструкция по загрузке FixPak находится по адресу: http://www-4.ibm.com/software/data/db2/db2tech/version61.html Чтобы установить FixPak, следуйте инструкциям в файле readme.txt. * Используйте компакт-диск DB2 Universal Database, Версия 6.1 FixPak для Windows NT с уровнем FixPak 2 или новее, и следуйте инструкциям в файле readme.txt в каталоге WINNT95 на компакт-диске, чтобы завершить установку. Обновление SATCTLDB в Windows NT Чтобы обновить базу данных SATCTLDB в Windows NT 1. Определите уровень базы данных SATCTLDB: a. Зарегистрируйтесь под ID пользователя с полномочиями локального администратора на данной системе Windows NT. b. Откройте командное окно DB2, выбрав Пуск>Программы>DB2 for Windows NT>Командное окно. c. Введите следующую команду, чтобы соединиться с SATCTLDB db2 connect to satctldb d. Чтобы определить, есть ли в базе данных триггер I_BATCHSTEP_TRGSCR, введите следующий запрос: db2 select name from sysibm.systriggers where name='I_BATCHSTEP_TRGSCR' Запишите число возвращенных строк. e. Чтобы закрыть соединение с базой данных, введите команду: db2 connect reset Если на шаге 1d была возвращена одна строка, база данных находится на правильном уровне. В этом случае пропустите шаг 2 и перейдите к шагу 3. Если возвращено ноль (0) строк, база данных не находится на правильном уровне, и перед выполнением шага 3 ее нужно обновить, как описано в шаге 2. 2. Чтобы обновить базу данных SATCTLDB, выполните следующие действия. Все команды вводите в командном окне DB2: a. Перейдите в каталог <путь_db2>\misc, где <путь_db2> - диск и путь установки, например, c:\sqllib. b. Убедитесь, что вы находитесь в экземпляре db2ctlsv. Введите команду set и проверьте значение db2instance. Если оно не равно db2ctlsv, выполните команду: set db2instance=db2ctlsv c. Отбросьте базу данных SATCTLDB, введя команду: db2 drop database satctldb d. Создайте новую базу данных SATCTLDB, введя команду: db2 -tf satctldb.ddl -z satctldb.log e. Введите команду: db2 terminate 3. Свяжите хранимую процедуру db2satcs.dll с базой данных SATCTLDB. Выполните следующие действия: a. Чтобы соединиться с базой данных SATCTLDB, введите команду: db2 connect to satctldb b. Перейдите в каталог <путь_db2>\bnd, где <путь_db2> - диск и путь установки, например, c:\sqllib. c. Введите команду bind: db2 bind db2satcs.bnd 4. Чтобы закрыть соединение с базой данных, введите команду: db2 connect reset 5. Закройте командное окно DB2. Обновление DB2 Enterprise Edition в AIX Используйте информацию в следующих разделах для определения текущего уровня службы вашей системы Версии 6 DB2 Enterprise Edition и того, какие шаги нужно предпринять для обновления системы до служебного уровня FixPak 2 или новее. Вам нужно выполнить шаги из одного или нескольких следующих разделов: * Изучение системы DB2 Enterprise Edition на платформе AIX * Определение необходимых действий * Установка компонента Сервер управления в AIX * Установка FixPak 2 или новее в AIX * Обновление базы данных SATCTLDB в AIX Изучение системы DB2 Enterprise Edition на платформе AIX Если у вас на платформе AIX установлена Версия 6 DB2 Enterprise Edition, выполните следующие действия: 1. Проверьте, установлен ли компонент Сервер управления. Введите команду: lslpp -l | grep db2_06_01.ctsr Если не возвращено никаких данных, компонент Сервер управления не установлен. 2. Определите служебный уровень DB2 Enterprise Edition. Зарегистрируйтесь как владелец экземпляра DB2 и введите команду db2level. Ее вывод можно интерпретировать при помощи следующей таблицы: Значения ключевых полей в выводе db2level Система DB2 находится на Выпуск Уровень Элементы информации уровне: SQL06010 01010104 db2_v6, n990616 Базовая Версия 6.1 SQL06010 01020104 DB2 V6.1.0.1, n990824, Версия 6.1 с U465423 FixPak 1 SQL06010 01030104 DB2 V6.1.0.6, s991030, Версия 6.1 с U468276 или DB2 FixPak 2 V6.1.0.9, s000101, U469453 Прим.:Если уровень больше, чем 01030104, служебный уровень системы новее FixPak 2. 3. Запишите найденную информацию и переходите к разделу Определение необходимых действий. Определение необходимых действий Используя собранную информацию, найдите в следующей таблице строку, применимую к вашей ситуации, и выполните шаги, требуемые для подготовки системы DB2 Enterprise Edition Версии 6 к поддержке сервера управления DB2 на уровне FixPak 2. В разделах, следующих за таблицей, приводятся инструкции по выполнению требуемых действий. Советуем помечать выполненные действия в списке. Выполняйте только шаги, применимые к вашей ситуации. Установлен ли компонент Служебный уровень Шаги, требуемые для Сервер управления системы DB2 Enterprise подготовки системы DB2 Edition Enterprise Edition Нет Базовая Версия 6.1, Выполните следующие Версия 6.1 с FixPak 1 действия: или Версия 6.1 с FixPak 2 или новее 1. Установка компонента Сервер управления в AIX 2. Установка FixPak 2 или новее в AIX 3. Обновление базы данных SATCTLDB в AIX Да Базовая Версия 6.1 или Выполните следующие Версия 6.1 с FixPak 1 действия: 1. Установка FixPak 2 или новее в AIX 2. Обновление базы данных SATCTLDB в AIX Да Версия 6.1 с FixPak 2 Выполните следующее или новее действие: 1. Обновление базы данных SATCTLDB в AIX Установка компонента Сервер управления в AIX Чтобы установить компонент Сервер управления в AIX 1. Зарегистрируйтесь как пользователь с полномочиями root. 2. Вставьте в дисковод компакт-диск DB2 Universal Database Enterprise Edition Версия 6.1. 3. Перейдите в каталог, в котором смонтирован компакт-диск, например, cd /cdrom. 4. Чтобы запустить программу установки DB2, введите команду: ./db2setup 5. Когда откроется окно Программа установки DB2, при помощи клавиши табуляции выберите опцию Установить и нажмите клавишу Enter. 6. Найдите строку Enterprise Edition и при помощи клавиши табуляции выберите опцию Настроить рядом с ней. Нажмите клавишу Enter. 7. Выберите компонент Сервер управления DB2, при помощи клавиши табуляции перейдите на OK и нажмите клавишу Enter. 8. Для завершения установки компонента Сервер управления DB2 следуйте инструкциям в последующих окнах. По завершении процесса установки создайте экземпляр DB2CTLSV и базу данных SATCTLDB. Для выполнения этих задач воспользуйтесь подробными инструкциями, приведенными в разделе "Setting up the DB2 Control Server on AIX" Главы 13 книги Administering Satellites Guide and Reference. Установка FixPak 2 или новее в AIX Чтобы обновить имеющуюся систему DB2 Enterprise Edition на платформе AIX до уровня FixPak 2 или новее, выполните одно из следующих действий: * Загрузите из Web последний FixPak для DB2 Enterprise Edition для AIX V6.1 вместе с прилагаемым к FixPak файлом readme. Инструкция по загрузке FixPak находится по адресу: http://www-4.ibm.com/software/data/db2/db2tech/version61.html Чтобы установить FixPak, следуйте инструкциям в файле readme к этому FixPak. * Используйте компакт-диск DB2 Universal Database, Версия 6.1 FixPak для AIX, находящийся на уровне FixPak 2 или выше, и следуйте инструкциям в каталоге readme на компакт-диске, чтобы завершить установку. Убедитесь, что вы обновили экземпляр DB2CTLSV, выполнив команду db2iupdt, как указано в файле readme для FixPak. Обновление базы данных SATCTLDB в AIX Чтобы обновить базу данных SATCTLDB в AIX: 1. Определите уровень базы данных SATCTLDB: a. Зарегистрируйтесь как пользователь db2ctlsv. b. Проверьте, что сервер баз данных запущен. Если сервер не запущен, введите команду db2start. c. Чтобы соединиться с базой данных SATCTLDB, введите команду: db2 connect to satctldb d. Чтобы определить, есть ли в базе данных триггер I_BATCHSTEP_TRGSCR, введите следующий запрос: db2 "select name from sysibm.systriggers where name='I_BATCHSTEP_TRGSCR'" Запишите число возвращенных строк. e. Чтобы закрыть соединение с базой данных, введите команду: db2 connect reset Если на шаге 1d была возвращена одна строка, база данных находится на правильном уровне. В этом случае пропустите шаг 2 и перейдите к шагу 3. Если возвращено ноль (0) строк, база данных не находится на правильном уровне, и до того, как можно будет выполнять шаг 3, ее нужно обновить, как описано в шаге 2. 2. Чтобы обновить базу данных SATCTLDB до уровня FixPak 2, выполните следующие действия. Все команды вводите в командном окне DB2: a. Перейдите в каталог $HOME/sqllib/misc. b. Отбросьте базу данных SATCTLDB, введя команду: db2 drop database satctldb c. Создайте новую базу данных SATCTLDB, введя команду: db2 -tf satctldb.ddl -z $HOME/satctldb.log d. Введите команду: db2 terminate 3. Свяжите хранимую процедуру db2satcs.dll с базой данных SATCTLDB. Выполните следующие действия: a. Чтобы соединиться с базой данных SATCTLDB, введите команду: db2 connect to satctldb b. Перейдите в каталог $HOME/sqllib/bnd. c. Введите команду bind: db2 bind db2satcs.bnd 4. Чтобы закрыть соединение с базой данных, введите команду: db2 connect reset 9.1.4 Обновление Центра управления и Центра управления сателлитами Версии 6 Чтобы использовать Центр управления и Центр управления сателлитами Версии 6 с обновленной до FixPak 2 или новее Версией 6 сервера управления DB2 и базы данных управления сателлитами (SATCTLDB), эти инструменты также необходимо обновить до FixPak 2 или новее. Если Центр управления и Центр управления сателлитами работают в той же системе, что и сервер управления DB2, они были обновлены до FixPak 2 тогда же, когда и система DB2 Enterprise Edition. Если же эти инструменты работают в другой системе, следует обновить эту систему до уровня FixPak 2 или новее. Чтобы обновить эту систему до FixPak 2 или новее: * Загрузите из Web последний FixPak для вашего продукта уровня V6.1 вместе с прилагаемым файлом readme. Инструкция по загрузке FixPak находится по адресу: http://www-4.ibm.com/software/data/db2/db2tech/version61.html Чтобы установить FixPak, следуйте инструкциям в файле readme. * Используйте компакт-диск DB2 Universal Database, Версия 6.1 FixPak для операционной системы с уровнем FixPak 2 или новее и следуйте инструкциям в файле readme на компакт-диске, чтобы завершить установку. ------------------------------------------------------------------------ Command Reference ------------------------------------------------------------------------ 10.1 Доступные обновления Command Reference обновлено; свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Информация этих замечаний дополняет данную ссылку. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ 10.2 db2updv7 - обновление базы данных до уровня текущего пакета FixPak Версии 7 Эта команда обновляет системные каталоги в базе данных для поддержки текущего пакета FixPak: * Позволяет использовать новые встроенные функции (ABS, DECRYPT_BIN, DECRYPT_CHAR, ENCRYPT, GETHINT, MULTIPLY_ALT и ROUND). * Позволяет использовать новые встроенные процедуры (GET_ROUTINE_SAR и PUT_ROUTINE_SAR). * Добавляет функции WEEK_ISO и DAYOFWEEK_ISO или применяет изменения для них в базах данных Windows и OS/2. * Применяет изменения к упакованным описателям таблиц для таблиц, перенастроенных из Версии 2 в Версию 6. * Создает производную таблицу SYSCAT.SEQUENCES. Авторизация sysadm Необходимое соединение База данных. Эта команда автоматически устанавливает соединение с указанной базой данных. Синтаксис команды >>-db2updv7----d---имя_базы_данных------------------------------> >-----+----------------------------------+---+-----+----------->< '--u--ID_пользователя---p--пароль--' '--h--' Параметры команды -d имя_базы_данных Задает имя обновляемой базы данных. -u ID_пользователя Задает ID пользователя. -p пароль Задает пароль для ID пользователя. -h Выводит справку. Если указана эта опция, прочие опции игнорируются и выводится только информация справки. Пример После установки FixPak обновите системный каталог в базе данных примера при помощи команды: db2updv7 -d sample Замечания по использованию Этот инструмент можно использовать для базы данных DB2 Версии 7.1 или 7.2, только если установлен по крайней мере FixPak 2. Если эта команда запускается несколько раз, сообщений об ошибках не выводится, но все изменения применяются к каталогам только один раз. Чтобы ввести в действие новые встроенные функции, надо отключить от этой базы данных все прикладные программы, а если база данных была активирована, ее следует деактивировать. ------------------------------------------------------------------------ 10.3 REBIND Синтаксическая диаграмма команды REBIND должна выглядеть так: Missing value Синтаксис .-ANY----------. >>-REBIND-+---------+--имя-пакета---RESOLVE--+-CONSERVATIVE-+-->< '-PACKAGE-' ------------------------------------------------------------------------ 10.4 db2inidb - инициализировать зеркальную копию базы данных Описание параметра configfile RELOCATE USING должно выглядеть так: Задает, что перед инициализации базы данных для снимка, резервирования или зеркальной копии файлы базы данных должны быть перемещены на основе информации в файле конфигурации. Прим.:Информацию о формате файла конфигурации смотрите в справочном руководстве Data Movement Utilities Guide and Reference. ------------------------------------------------------------------------ Справочное руководство по восстановлению данных и высокой доступности ------------------------------------------------------------------------ 11.1 Справочное руководство по восстановлению данных и высокой доступности в электронном виде Новое Справочное руководство по восстановлению данных и высокой доступности имеется в электронном виде (как в формате HTML, так и в формате PDF) на сайте http://www.ibm.com/software/data/db2/udb/winos2unix/support. Информация этих замечаний дополняет данную ссылку. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ 11.2 Новое поведение резервного копирования и восстановления при LOGRETAIN=CAPTURE Если в конфигурации базы данных для параметра LOGRETAIN задано значение CAPTURE, не могут выполняться следующие операции: * Оперативное резервное копирование * Оперативное или автономное резервное копирование уровня табличного пространства * Оперативное или автономное восстановление уровня табличного пространства После операции восстановления базы данных с использованием образа резервной копии, снятого, когда параметр LOGRETAIN имел значение CAPTURE, база данных не переводится в состояние отложенного повтора транзакций. Поддерживается восстановление баз данных с использованием оперативных резервных копий, снятых в Версии 7.2 до FixPak 4, когда параметр LOGRETAIN имел значение CAPTURE. ------------------------------------------------------------------------ 11.3 NEWLOGPATH2 теперь называется DB2_NEWLOGPATH2 Ссылки на переменную реестра NEWLOGPATH2 следует изменить на DB2_NEWLOGPATH2. ------------------------------------------------------------------------ 11.4 Выбор метода резервного копирования для менеджера связей данных DB2 в AIX и в Solaris Прежде чем задавать опцию PASSWORDACCESS в файле системных опций Tivoli Storage Manager, надо убедиться, что /usr/lib содержит символическую связь с файлом библиотеки libApiDS.a. ------------------------------------------------------------------------ Data Movement Utilities Guide and Reference (Справочное руководство по утилитам перемещения данных) ------------------------------------------------------------------------ 12.1 Поддержка кодовых страниц для утилит импорта, экспорта и загрузки Утилиты импорта, экспорта и загрузки теперь можно использовать для передачи данных из новой кодовой страницы для китайского языка GB 18030 (идентификатор кодовой страницы 5488) и из новой кодовой страницей для японского языка ShiftJISX 0213 (идентификатор кодовой страницы 1394) в базы данных DB2 UDB с Unicode. 0 роме того, утилиту экспорта можно использовать для передачи данных из баз данных DB2 UDB с Unicode в данные с кодовыми страницам GB 18030 и ShiftJIS X0213. Например, следующая команда загрузит файл данных Shift_JISX0213 u/jp/user/x0213/data.del, находящийся на подключенном удаленном клиенте, в MYTABLE: db2 load client from /u/jp/user/x0213/data.del of del modified by codepage=1394 insert into mytable где таблица MYTABLE расположена в базе данных DB2 UDB с Unicode. ------------------------------------------------------------------------ 12.2 db2relocatedb (новая команда) db2relocatedb - переместить базу данных Переименовывает базу данных или перемещает базу данных или ее часть (например, контейнер, каталог журналов), как задано в предоставляемом пользователем файле конфигурации. Этот инструмент вносит необходимые изменения в экземпляр DB2 и в файлы поддержки базы данных. Авторизация Нет Необходимое соединение Нет Синтаксис >>-db2relocatedb----f--имя_файла_конфигурации------------------>< Параметры команды -f имя_файла_конфигурации Задает имя файла с информацией о конфигурации, необходимой для перемещения базы данных. Имя файла может быть как относительным, так и абсолютным. Формат файла конфигурации: DB_NAME=старое_имя,новое_имя DB_PATH=старый_путь,новый_путь INSTANCE=старый_экземпляр,новый_экземпляр NODENUM=номер_узла LOG_DIR=старый_путь_каталога,новый_путь_каталога CONT_PATH=старый_путь_контейнера1,новый_путь_контейнера1 CONT_PATH=старый_путь_контейнера2,новый_путь_контейнера2 ... Где: DB_NAME Задает имя перемещаемой базы данных. Если имя базы данных изменяется, надо указать как старое, так и новое имя базы данных. Это обязательное поле. DB_PATH Задает путь перемещаемой базы данных. Это путь, по которому база данных была первоначально создана. Если путь к базе данных изменяется, надо указать как старый, так и новый путь. Это обязательное поле. INSTANCE Указывает экземпляр, в котором находится нужная база данных. Если база данных переносится в новый экземпляр, надо указать как старый, так и новый экземпляр. Это обязательное поле. NODENUM Указывает номер для изменяемого узла базы данных. По умолчанию предполагается 0. LOG_DIR Задает изменение пути журналов. Надо указать как старый, так и новый путь. CONT_PATH Задает изменение положения контейнеров табличных пространств. Надо указать как старый, так и новый путь к контейнерам. Если изменяются несколько путей к контейнерам, можно указать несколько строк CONT_PATH. Прим.:Пустые строки и строки, начинающиеся с символа комментария (#), игнорируются. Примеры Пример 1 Чтобы изменить на PRODDB имя базы данных TESTDB в экземпляре DB2INST1, находящемся по пути /home/db2inst1, создайте следующий файл конфигурации: DB_NAME=TESTDB,PRODDB DB_PATH=/home/db2inst1 INSTANCE=db2inst1 NODENUM=0 Сохраните этот файл конфигурации как relocate.cfg и используйте следующую команду для внесения изменений в файлы базы данных: db2relocatedb -f relocate.cfg Пример 2 Чтобы переместить базу данных DATAB1 из экземпляра JSMITH, расположенного по пути /dbpath, в экземпляр PRODINST: 1. Перенесите файлы из каталога /dbpath/jsmith в каталог /dbpath/prodinst. 2. Чтобы внести изменения в файлы базы данных, воспользуйтесь командой db2relocatedb со следующим файлом конфигурации: DB_NAME=DATAB1 DB_PATH=/dbpath INSTANCE=jsmith,prodinst NODENUM=0 Пример 3 База данных PRODDB существует в экземпляре INST1 по пути /databases/PRODDB. Требуется изменить положение двух контейнеров табличных пространств: * Контейнер SMS /data/SMS1 необходимо переместить в положение /DATA/NewSMS1. * Контейнер DMS /data/DMS1 необходимо переместить в положение /DATA/DMS1. После физического перемещения каталогов и файлов в новые положения для внесения изменений в файлы базы данных, чтобы они распознавали эти новые положения, можно использовать команду db2relocatedb со следующим файлом конфигурации: DB_NAME=PRODDB DB_PATH=/databases/PRODDB INSTANCE=inst1 NODENUM=0 CONT_PATH=/data/SMS1,/DATA/NewSMS1 CONT_PATH=/data/DMS1,/DATA/DMS1 Пример 4 База данных TESTDB существует в экземпляре DB2INST1 и была создана в положении /databases/TESTDB. Затем были созданы табличные пространства со следующими контейнерами: TS1 TS2_Cont0 TS2_Cont1 /databases/TESTDB/TS3_Cont0 /databases/TESTDB/TS4/Cont0 /Data/TS5_Cont0 /dev/rTS5_Cont1 TESTDB необходимо перенести в новую систему. Экземпляр в этой новой системе будет называться NEWINST, а база данных будет расположена по пути /DB2. При перемещении базы данных все файлы, существующие в каталоге /databases/TESTDB/db2inst1, должны быть перенесены в каталог /DB2/newinst. Это означает, что при перемещении должно быть изменено положение первых пяти контейнеров. (Первые три относятся к каталогу базы данных, а следующие два - к пути базы данных.) Так как эти контейнеры располагаются в каталоге базы данных или по пути к базе данных, их не надо перечислять в файле конфигурации. Если два оставшихся контейнера будут переноситься в новой системе в другое положение, их надо упомянуть в файле конфигурации. После физического перемещения каталогов и файлов в новые положения для внесения изменений в файлы базы данных, чтобы они распознавали эти новые положения, можно использовать команду db2relocatedb со следующим файлом конфигурации: DB_NAME=TESTDB DB_PATH=/databases/TESTDB,/DB2 INSTANCE=db2inst1,newinst NODENUM=0 CONT_PATH=/Data/TS5_Cont0,/DB2/TESTDB/TS5_Cont0 CONT_PATH=/dev/rTS5_Cont1,/dev/rTESTDB_TS5_Cont1 Пример 5 У базы данных TESTDB есть 2 раздела на узлах 10 и 20. У обоих узлов экземпляр - SERVINST, а путь к базе данных - /home/servinst. На обоих узлах имя базы данных изменяется на SERVDB, а путь к базе данных изменяется на /databases. Кроме того, каталог журналов на узле 20 изменяется с /testdb_logdir на /servdb_logdir. Поскольку изменения производятся для обоих узлов, для каждого из них надо создать свой файл конфигурации, а команду db2relocatedb надо запускать на каждом узле с соответствующим файлом конфигурации. На узле 10 будет использоваться следующий файл конфигурации: DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=10 На узле 20 будет использоваться следующий файл конфигурации: DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=20 LOG_DIR=/testdb_logdir,/servdb_logdir Замечания по использованию Если изменяется экземпляр, к которому принадлежит база данных, для гарантии того, что в файлах поддержки экземпляра и базы данных будут сделаны изменения, перед запуском этой команды выполните следующие действия: * Если база данных перемещается в другой экземпляр, создайте этот новый экземпляр. * Скопируйте файлы/устройства этих баз данных в систему, где расположен новый экземпляр. При этом следует надлежащим образом изменить пути. * Измените разрешение на скопированные файлы/устройства так, чтобы они принадлежали владельцу экземпляра. Если изменяется экземпляр, инструмент должен запускаться владельцем нового экземпляра. В среде EEE этот инструмент должен запускаться в отношении каждого узла, на котором необходимо сделать изменения. Для каждого узла нужен собственный файл конфигурации, включающий значение NODENUM изменяемого узла. Например, если изменяется имя базы данных, затрагиваются все узлы, и команду db2relocatedb надо запускать на каждом из них со своим файлом конфигурации. Если перемещаются контейнеры, принадлежащие одному узлу, команду db2relocatedb надо запускать только на этом узле. Смотрите также Дополнительную информацию смотрите в описании команды db2inidb - Initialize a Mirrored Database (Инициализация базы данных с зеркальной копией) справочника Command Reference. ------------------------------------------------------------------------ 12.3 Глава 2. Import 12.3.1 Использованием импорта с буферизованными вставками Примечание в конце этого раздела должно выглядеть так: Прим.:Во всех средах, кроме EEE, возможность буферизованных вставок отключается при операциях импорта, для которых задан параметр INSERT_UPDATE. ------------------------------------------------------------------------ 12.4 Глава 3. Load 12.4.1 Состояния отложенных действий после операции загрузки Первые два предложения в последнем абзаце в этом разделе изменены на следующие: Четвертое возможное состояние, связанное с процессом загрузки (состояние отложенной проверки), относится к реляционным и проверочным ограничениям, ограничениям DATALINKS, ограничениям AST или ограничениям генерируемых столбцов. Например, если существующая таблица - это родительская таблица, содержащая первичный ключ, на который ссылается внешний ключ зависимой таблицы, изменение данных в родительской таблице переводит обе таблицы (но не табличное пространство) в состояние отложенной проверки. 12.4.2 Ограничения загрузки Для генерируемых столбцов и утилиты загрузки применяются следующие ограничения: * В таблицу, содержащую в уникальном индексе генерируемый столбец, можно загрузить данные, только если этот генерируемый столбец является включенным столбцом индекса или если используется модификатор типа файла generatedoverride. Если используется этот модификатор, ожидается, что все значения для этого столбца будут получены из входного файла данных. * В таблицу, содержащую генерируемый столбец в ключе разделения, можно загрузить данные, только если используется модификатор типа файла generatedoverride. Если используется этот модификатор, ожидается, что все значения для этого столбца будут получены из входного файла данных. 12.4.3 Модификатор типа файла totalfreespace Модификатор типа файла totalfreespace (LOAD) изменен; теперь он допускает значения от 0 до 2147483647. ------------------------------------------------------------------------ 12.5 Глава 4. AutoLoader 12.5.1 Для запуска AutoLoader при значении Authentication YES необходим rexecd В разделе Опции AutoLoader к описанию параметров AUTHENTICATION и PASSWORD надо добавить следующее замечание: В среде Linux, если вы запускаете AutoLoader при значении опции аутентификации YES, на всех компьютерах необходимо разрешить rexecd. Если этого не сделать, будет сгенерировано следующее сообщение об ошибке: openbreeze.torolab.ibm.com: Соединение отклонено SQL6554N Ошибка при попытке удаленного выполнения процесса. В файл db2diag.log будут записаны следующие сообщения об ошибках: 2000-10-11-13.04.16.832852 Instance:svtdbm Node:000 PID:19612(db2atld) Appid: oper_system_services sqloRemoteExec Probe:31 ------------------------------------------------------------------------ 12.6 AutoLoader может зависать при ветвлении потоков AIX 4.3.3 содержит исправление ошибки libc, которая может вызывать зависание AutoLoader при ветвлении потоков. AutoLoader - это многопоточная программа. Один из потоков запускает другой процесс. При запуске дочернего процесса в нем создается образ памяти родительского процесса. Блокировки, используемые libc.a для управления многопоточным выделением памяти из кучи из одного процесса, удерживаются потоком, не запускающим процессы. Поскольку поток, не запускающий процессы, не будет существовать в дочернем процессе, такая блокировка не будет освобождена в дочернем процессе, что может вызвать зависание родительского процесса. ------------------------------------------------------------------------ 12.7 Приложение C. Export/Import/Load Utility File Formats (Форматы файлов утилит Export/Import/Load) В это приложение внесено следующее дополнение: Утилиты экспорта, импорта и загрузки не поддерживаются, когда они используются с клиентом Unicode, связанным с базой данных не Unicode. Файлы клиента Unicode поддерживаются только тогда, когда клиент Unicode связан с базой данных Unicode. ------------------------------------------------------------------------ Replication Guide and Reference (Справочное руководство по репликации) ------------------------------------------------------------------------ 13.1 Репликация и серверы других типов (не IBM) Для репликации данных на и с серверов других типов (не IBM), таких как Informix, Microsoft SQL Server, Oracle, Sybase и Sybase SQL Anywhere, необходимо использовать DataJoiner Версии 2 или более поздней. Для этого типа репликации нельзя использовать функцию Relational Connect, поскольку DB2 Relational Connect Версии 7 не имеет средств обновления. Кроме того, для управления такой разнородной репликацией на всех платформах (AS/400, OS/2, OS/390, UNIX и Windows) для всех существующих версий DB2 и DataJoiner необходимо использовать DJRA (администратор репликации DataJoiner). ------------------------------------------------------------------------ 13.2 Репликация в Windows 2000 DB2 DataPropagator Версии 7 совместим с операционной системой Windows 2000. ------------------------------------------------------------------------ 13.3 Известная ошибка при сохранении файлов SQL При использовании Центра управления в DB2 Connect Personal Edition нельзя сохранять файлы SQL. При попытке сохранения файлов SQL появится сообщение об ошибке, информирующее, что Database Administration Server (DAS) не активен; на самом деле DAS недоступен, так как он не поставляется с DB2 Connect PE. ------------------------------------------------------------------------ 13.4 Обслуживание DB2 Рекомендуется установить последний доступный уровень DB2 для тех продуктов DB2, которые вы используете в среде репликации. ------------------------------------------------------------------------ 13.5 Утилита DDU в Web Утилиту DDU (Data Difference utility - утилита различия данных) можно получить в Web по адресу ftp://ftp.software.ibm.com/ps/products/datapropagator/fixes/. DDU - это утилита, которую можно использовать для сравнения двух версий одного файла и создания выходного файла, в котором показаны отличия. Более подробную информацию смотрите в файле README, прилагаемом к этой утилите. ------------------------------------------------------------------------ 13.6 Глава 3. Data Replication Scenario (Сценарии репликации данных) 13.6.1 Сценарии репликации Посмотрите на странице Library Web-сайта DataPropagator (http://www.ibm.com/software/data/dpropr/) новый сценарий репликации разнородных данных. Выполните шаги этого сценария по копированию изменений из таблицы источника репликации базы данных Oracle для AIX в таблицу назначения базы данных DB2 для Windows NT. В этом сценарии используется инструмент DB2 DataJoiner Replication Administration (DJRA), триггеры Capture, программа Apply и DB2 DataJoiner. В этой книге на странице 44 инструкции в Шаге 6 по созданию файла паролей следует читать так: Шаг 6: Создание файла паролей Так как для соединения с сервером источника необходима программа Apply, для аутентификации пользователей нужно создать файл паролей. Убедитесь, что этот файл паролей будет доступен для чтения ID пользователя, который будет запускать программу Apply. Чтобы создать файл паролей: 1. Из окна командной строки Windows NT перейдите в каталог C:\scripts. 2. Создайте в этом каталоге новый файл с именем DEPTQUAL.PWD. Этот файл можно создать, используя любой текстовый редактор, например Notepad. Для имени файла паролей действует соглашение об именах: спцфapply.pwd, где спцфapply - регистрозависимая строка символов, которая по регистру и значению должна совпадать со спецификатором Apply, использовавшимся при создании набора регистрации. В данном сценарии спецификатор Apply - DEPTQUAL. Прим.:Кроме того, поддерживается соглашение об именах из DB2 DataPropagator, Версии 5. 3. Содержание файла паролей записывается в следующем формате: SERVER=сервер USER=id_пользователя PWD=пароль Где: сервер Имя сервера источника, назначения или управления, в точности совпадающее с именем в таблице набора регистрации. В этом сценарии используются имена SAMPLE и COPYDB. id_пользователя ID пользователя, который планируется использовать при управлении конкретной базой данных. В операционных системах Windows NT и UNIX это значение регистрозависимо. пароль Пароль, соответствующий данному ID пользователя. В операционных системах Windows NT и UNIX это значение регистрозависимо. Не помещайте в этот файл пустых строк или строк комментариев. Добавьте только информацию об имени сервера, ID пользователя и пароле. 4. Содержание файла паролей должно выглядеть примерно так: SERVER=SAMPLE USER=subina PWD=subpw SERVER=COPYDB USER=subina PWD=subpw Дополнительную информацию об аутентификации и защите в DB2 смотрите в руководстве IBM DB2 Administration Guide. ------------------------------------------------------------------------ 13.7 Глава 5. Planning for Replication (Планирование репликации) 13.7.1 Имена столбцов и таблиц При репликации пробелы в именах столбцов и таблиц не поддерживаются. 13.7.2 Репликация столбцов DATALINK Репликация столбцов DATALINK в Solaris возможно, начиная с Версии 7.1 FixPak 1. Для нее требуется, чтобы демон FTP работал на файловых системах источника и назначения DATALINK и поддерживал команду MDTM (modtime), которая выводит время последней модификации данного файла. Если вы используете Версию 2.6 операционной системы Solaris, или любую другую версию, где FTP не поддерживает MDTM, вам понадобится дополнительное программное обеспечение, например, WU-FTPD. Нельзя выполнить репликацию столбцов DATALINK между базами данных DB2 в AS/400 и базами данных DB2 на других платформах. На платформе AS/400 не поддерживается репликация атрибута "comment" значений DATALINK. При работе в AIX 4.2 необходимо перед выполнением программы обработчика пользователя по умолчанию (ASNDLCOPY) установить PTF для APAR IY03101 (AIX 4210-06 RECOMMENDED MAINTENANCE FOR AIX 4.2.1). Этот PTF содержит исправление "проблемы 2000 года" для команды "modtime/MDTM" демона FTP. Чтобы проверить это исправление, посмотрите какое время последнего изменения возвращает команда "modtime <файл>" для файла, измененного после 1 января 2000 года. Если таблица назначения - это внешняя таблица CCD, DataPropagator DB2 вызывает для репликации файлов DATALINK процедуру ASNDLCOPY. Самую свежую информацию о том, как использовать программы ASNDLCOPY и ASNDLCOPYD, смотрите во вводной части исходного текста этих программ. Применяются следующие ограничения: * Внешние таблицы CCD могут содержать индикаторы DATALINK, но не значения DATALINK. * Сжатые внешние таблицы CCD могут содержать значения DATALINK. * Несжатые таблицы назначения CCD не могут содержать столбцов DATALINK. * Если сервер источника совпадает с сервером назначения, в наборе регистрации не должно быть членов со столбцами DATALINK. 13.7.3 Ограничения на большие объекты Сжатые внутренние таблицы CCD не могут содержать ссылок на столбцы больших объектов или индикаторы больших объектов. 13.7.4 Планирование репликации В раздел "Connectivity" на страницу 65 нужно добавить следующую информацию: Если программа Apply не может соединиться с сервером управления, она прекращает работу. При использовании блокировки данных для AS/400 общий объем данных для репликации за интервал не должен превышать 4 миллионов строк (а не "4 Мбайт", как сказано на странице 69 этой книги). ------------------------------------------------------------------------ 13.8 Глава 6. Setting up Your Replication Environment (Настройка среды репликации) 13.8.1 Предварительное требование для повсеместного изменения Если нужно настроить репликацию типа повсеместного изменения с определением конфликтов и с набором регистрации, содержащим более 150 членов, нужно выполнить следующий оператор DDL для создания таблицы ASN.IBMSNAP_COMPENSATE на сервере управления: CREATE TABLE ASN.IBMSNAP_COMPENSATE ( APPLY_QUAL char(18) NOT NULL, MEMBER SMALLINT, INTENTSEQ CHAR(10) FOR BIT DATA, OPERATION CHAR(1)); 13.8.2 Настройка среды репликации В разделе "Customizing CD table, index, and tablespace names" на странице 95 сказано, что файл DPREPL.DFT находится или в каталоге \sqllib\bin, или в каталоге \sqllib\java. Это неверно, на самом деле файл DPREPL.DFT находится в каталоге \sqllib\cc. На странице 128 в описании предельного срока хранения должно быть указано, что предельный срок хранения используется для сокращения строк только при горячем запуске программы Capture или при использовании команды prune программы Capture. Если вы запустили программу Capture с опцией auto-pruning, она не будет использовать предельный срок хранения для сокращения строк. ------------------------------------------------------------------------ 13.9 Глава 8. Problem Determination (Диагностика ошибок) Анализатор репликации работает в 32-битных системах Windows и в AIX. Для работы анализатора в AIX каталог sqllib/bin должен быть задан в переменной среды PATH до каталога /usr/local/bin, чтобы избежать конфликта с /usr/local/bin/analyze. Для анализатора репликации можно использовать два дополнительных необязательных ключевых слова: CT и AT. CT=n Показывать только те записи из таблицы трассировки захвата, которые не старше n дней. Это необязательное ключевое слово. Если это ключевое слово не задано, по умолчанию используется значение 7 дней. AT=n Показывать только те записи из таблицы журнала Apply, которые не старше n дней. Это необязательное ключевое слово. Если это ключевое слово не задано, по умолчанию используется значение 7 дней. Пример: analyze mydb1 mydb2 f=mydirectory ct=4 at=2 deepcheck q=applyqual1 Изменена следующая информация о ключевых словах анализатора репликации: deepcheck Задает, что анализатор должен выполнить более сложный анализ, включая следующую информацию: информацию о сокращении таблиц CD и UOW, подробности разделения табличных пространств и сжатия DB2 for OS/390, анализ индексов назначения для ключей регистрации, временную последовательность регистрации и ошибки операторов SQL для набора регистрации. Этот анализ проводится на всех серверах. Это необязательное ключевое слово. lightcheck Задает, что из отчета должна быть исключена следующая информация: вся подробная информация о столбцах, полученная из таблицы ASN.IBMSNAP_SUBS_COLS, информация об ошибках, неправильностях и пропусках регистрации, а также информация о неправильных или неэффективных индексах. При этом экономятся ресурсы и получается выходной файл HTML меньшего размера. Это необязательное ключевое слово; его нельзя использовать вместе с ключевым словом deepcheck. Средства анализатора для репликации на платформах AS/400 доступны в PTF. Эти средства собирают информацию о среде репликации и создают файл HTML, который можно послать в сервисный центр фирмы IBM для помощи в диагностике ошибок. Чтобы получить эти средства для AS/400, загрузите соответствующий PTF (например, для продукта 5769DP2 нужно загрузить PTF SF61798 или его более позднюю замену). В раздел "Troubleshooting" добавьте следующее описание ошибки и ее решения: Ошибка: Программа Apply зацикливается, не выполняя изменений репликации; таблица журнала Apply содержит значение STATUS=2. Набор регистрации включает несколько исходных таблиц. Для улучшения обработки активных областей для одной исходной таблицы из этого набора определена внутренняя таблица CCD, но она определена в другом наборе регистрации. Изменения были внесены в исходную таблицу, но процесс Apply, заполняющий внутреннюю таблицу CCD, выполняется асинхронно (например, программа Apply могла быть не запущена или событие не произошло и т.п.). Программа Apply, выполняющая репликацию изменений из исходной таблицы в таблицу назначения, зацикливается, так как она ожидает обновления внутренней таблицы CCD. Чтобы остановить зацикливание, запустите программу Apply (или инициируйте событие, запускающее репликацию) для внутренней таблицы CCD. Эта программа Apply заполнит внутреннюю таблицу CCD и позволит зациклившейся программе Apply обработать изменения из всех исходных таблиц. Подобная ситуация может возникнуть для набора регистрации, содержащего исходные таблицы с внутренними таблицами CCD, заполняемыми несколькими программами Apply. ------------------------------------------------------------------------ 13.10 Глава 9. Capture and Apply for AS/400 (Программы Capture и Apply для AS/400) Замечание "A note on work management" на странице 178 должно выглядеть так: Можно изменить определения по умолчанию или задать собственные определения. При создании собственного описания подсистемы нужно задать для нее имя QZSNDPR и создать ее в библиотеке, отличной от QDPR. Дополнительную информацию об изменении этих определений смотрите в руководстве "OS/400 Work Management V4R3", SC41-5306. В раздел "Verifying and customizing your installation of DB2 DataPropagator for AS/400" на странице 178 добавьте следующее: Если большой объем транзакций вызывает проблемы с конфликтами блокировок, можно увеличить значение срока ожидания по умолчанию с 30 до 120. Можно изменять задание каждый раз при запуске задания Capture или же использовать следующую процедуру для изменения значения срока ожидания по умолчанию для всех заданий, выполняющихся в подсистеме: 1. Выполните следующую команду, чтобы создать новый объект класса, скопировав QGPL/QBATCH: CRTDUPOBJ OBJ(QBATCH) FROMLIB(QGPL) OBJTYPE(*CLS) TOLIB(QDPR) NEWOBJ(QZSNDPR) 2. Измените значения срока ожидания для вновь созданного класса (например, на 300): CHGCLS CLS(QDPR/QZSNDPR) DFTWAIT(300) 3. Измените запись маршрутизации в описании подсистемы QDPR/QZSNDPR, чтобы использовался этот вновь созданный класс: CHGRTGE SBSD(QDPR/QZSNDPR) SEQNBR(9999) CLS(QDPR/QZSNDPR) В раздел "Using the delete journal receiver exit routine" на странице 194 надо добавить следующее предложение: Если вы удалите регистрацию для подпрограммы обработчика удаления приемника журнала, убедитесь, что для всех журналов, используемых для исходных таблиц, задано DLTRCV(*NO). На странице 195 параметры команды ADDEXITPGM должны выглядеть так: ADDEXITPGM EXITPNT(QIBM_QJO_DLT_JRNRCV) FORMAT(DRCV0100) PGM(QDPR/QZSNDREP) PGMNBR(*LOW) CRTEXITPNT(*NO) PGMDTA(65535 10 QSYS) ------------------------------------------------------------------------ 13.11 Глава 10. Capture and Apply for OS/390 (Программы Capture и Apply для OS/390) В Главе 10 изменены следующие абзацы: 13.11.1 Prerequisites for DB2 DataPropagator for OS/390 (Предварительные условия для DB2 DataPropagator for OS/390) Для запуска DB2 DataPropagator for OS/390 Версии 7 (V7) необходима DB2 for OS/390 Версии 5, 6 или 7. 13.11.2 UNICODE and ASCII Encoding Schemes on OS/390 (Схемы кодировки UNICODE и ASCII в OS/390) DB2 DataPropagator for OS/390 V7 поддерживает схемы кодировки UNICODE и ASCII. Чтобы использовать новые схемы кодировки, надо иметь DB2 for OS/390 V7 и создать вручную или конвертировать исходную таблицу, таблицу назначения и управляющую таблицу DB2 DataPropagator, как это описано в последующих разделах. Однако существующая у вас среда репликации будет работать с DB2 DataPropagator for OS/390 V7, даже если вы не измените никаких схем кодировки. 13.11.2.1 Choosing an Encoding Scheme (Выбор схемы кодировки) Если исходная таблица, таблица CD и таблица назначения используют одну и ту же схему кодировки, можно минимизировать потребности преобразования данных в среде репликации. Выбирая схему кодировки для таблиц, придерживайтесь правила единого CCSID: для символьных данные в табличном пространстве можно использовать кодировку ASCII, UNICODE или EBCDIC. Все таблицы в табличном пространстве должны использовать одну и ту же схему кодировки. Схемы кодировки всех таблиц в операторе SQL должны совпадать. Кроме того, все таблицы, используемые в производных таблицах и объединениях, должна иметь одну и ту же схему кодировки. Если вы не следуете правилу единого CCSID, DB2 определит нарушение и возвратит при связывании или выполнении SQLCODE -873. Выбор кодировки ASCII или UNICODE для таблиц зависит вашей конфигурации клиент/сервер. Конкретно при выборе схем кодировки для таблиц пользуйтесь следующими правилами: * Исходная таблица или таблица назначения в DB2 for OS/390 могут использовать кодировку EBCDIC, ASCII или UNICODE. Копирование можно выполнять из таблиц или в таблицы с той же или другой схемой кодировки в любой поддерживаемой СУБД (семейства DB2 или же другой через DataJoiner) * На сервере источника DB2 for OS/390 во всех CD, единицах работы, регистрах и таблицах управления сокращением на одном сервере надо использовать одну и ту же схему кодировки. Чтобы обеспечить такую согласованность, всегда задавайте схему кодировки явно. * Все управляющие таблицы (ASN.IBMSNAP_SUBS_xxxx) на одном сервере управления должны использовать одну и ту же схему кодировки. * В других управляющих таблицах можно использовать любые схемы кодировки, однако для таблицы ASN.IBMSNAP_CRITSEC рекомендуется оставить схему EBCDIC. 13.11.2.2 Setting Encoding Schemes (Задание схем кодировки) Чтобы задать правильную схему кодировки для таблиц, измените оператор SQL, который используется для генерации этих таблиц: * Создайте новую исходную таблицу и таблицу назначения с нужной схемой кодировки или измените схемы кодировки существующих таблиц (исходной таблицы и таблицы назначения). Рекомендуется остановить программы Capture and Apply перед изменением схемы кодировки существующих таблиц и запустить программу Capture и перезапустить программу Apply после него. Чтобы изменить схему кодировки существующих таблиц: 1. При помощи утилиты Reorg сделайте копию существующей таблицы. 2. Отбросьте существующую таблицу. 3. Повторно создайте таблицу, задав новую схему кодировки. 4. При помощи утилиты Load загрузите старые данные в новую таблицу. Подробную информацию об утилитах Load и Reorg смотрите в руководстве DB2 Universal Database for OS/390 Utility Guide and Reference. * Создайте новые управляющие таблицы с нужной схемой кодировки или измените схему кодировки для существующих управляющих таблиц. Файл DPCNTL.MVS, поставляемый вместе с DB2 for OS/390 в sqllib\samples\repl, содержит несколько операторов CREATE TABLE, которые создают управляющие таблицы. Если для таблиц надо использовать ASCII или UNICODE (например, ASN.IBMSNAP_REGISTER и ASN.IBMSNAP_PRUNCNTL), добавьте ключевое слово CCSID ASCII или CCSID UNICODE, как показано в следующем примере. CREATE TABLE ASN.IBMSNAP_PRUNCNTL ( TARGET_SERVER CHAR( 18) NOT NULL, TARGET_OWNER CHAR( 18) NOT NULL, TARGET_TABLE CHAR( 18) NOT NULL, SYNCHTIME TIMESTAMP, SYNCHPOINT CHAR( 10) FOR BIT DATA, SOURCE_OWNER CHAR( 18) NOT NULL, SOURCE_TABLE CHAR( 18) NOT NULL, SOURCE_VIEW_QUAL SMALLINT NOT NULL, APPLY_QUAL CHAR( 18) NOT NULL, SET_NAME CHAR( 18) NOT NULL, CNTL_SERVER CHAR( 18) NOT NULL, TARGET_STRUCTURE SMALLINT NOT NULL, CNTL_ALIAS CHAR( 8) ) CCSID UNICODE DATA CAPTURE CHANGES IN TSSNAP02; Для изменения существующих управляющих таблиц и таблиц CD используйте утилиты Reorg и Load. * При создании новых источников копирования или наборов регистрации измените файл SQL, порожденный инструментом управления, чтобы задать нужную схему кодировки. В файле SQL есть несколько операторов CREATE TABLE, которые используются для создания таблиц CD и таблиц назначения для источника копирования или набора регистрации соответственно. Добавьте, где требуется, ключевое слово CCSID ASCII или CCSID UNICODE. Например: CREATE TABLE user1.cdtable1 ( employee_name varchar, employee_age decimal ) CCSID UNICODE; Дополнительная информация о CCSID содержится в справочнике DB2 UDB for OS/390 SQL Reference. ------------------------------------------------------------------------ 13.12 Глава 11. Capture and Apply for UNIX platforms (Программы Capture и Apply для платформ UNIX) 13.12.1 Задание переменных среды для программ Capture и Apply в системах UNIX и Windows Если вы создали исходную базу данных с кодовой страницей, отличной от кодовой страницы по умолчанию значения, задайте эту кодовую страницу в переменной среды DB2CODEPAGE. Прежде чем задать DB2CODEPAGE, посмотрите информацию о значениях кодовых страниц в руководстве DB2 Administration Guide. Программа Capture должна быть запущена в той же кодовой странице, что и база данных, для которой она захватывает данные. DB2 берет кодовую страницу Capture из активной среды, в которой работает Capture. Если DB2CODEPAGE не задана, DB2 берет значение кодовой страницы из операционной системы. Значение, взятое из операционной системы, будет правильным для Capture, если при создании базы данных вы использовали кодовую страницу по умолчанию. ------------------------------------------------------------------------ 13.13 Глава 14. Table Structures (Структуры таблиц) На странице 339 добавьте следующее предложение в конец описания столбца STATUS для значения "2": Если используются внутренние таблицы CCD и столбец STATUS таблицы журнала Apply часто содержит значение "2", посмотрите в главе 8 "Problem Determination" раздел "Problem: The Apply program loops without replicating changes, the Apply trail table shows STATUS=2". ------------------------------------------------------------------------ 13.14 Глава 15. Capture and Apply Messages (Сообщения программ Capture и Apply) Сообщение ASN0017E следует читать так: ASN0017E Программа Capture обнаружила серьезную внутреннюю ошибку и не может выдать правильное сообщение об ошибке. Имя подпрограммы - "подпрограмма". Код возврата - "код_возврата". Надо добавить сообщение ASN1027S: ASN1027S Задано слишком много столбцов больших объектов. Код ошибки - "<код_ошибки>". Объяснение: Для члена набора регистрации задано слишком много больших объектов (BLOB, CLOB или DBCLOB). Допускается не более 10 столбцов. Действия пользователя: Удалите лишние столбцы больших объектов из этого члена набора регистрации. Сообщение ASN1048E надо читать так: ASN1048E Ошибка выполнения цикла Apply. Подробную информацию смотрите в таблице трассировки Apply: "<текст>". Объяснение: Ошибка выполнения цикла Apply. В этом сообщение "<текст>" содержит "<сервер_назначения>", "<владелец_назначения, таблица_назначения, номер_оператора>" и "<сервер_управления>". Действия пользователя: Проверьте поля APPERRM в таблице трассировки аудита, чтобы определить причину ошибки цикла Apply. ------------------------------------------------------------------------ 13.15 Приложение A. Starting the Capture and Apply Programs from Within an Application (Запуск программ Capture и Apply из прикладной программы) На странице 399 этой книги в комментариях к примеру процедуры, запускающей программы Capture и Apply, есть несколько ошибок; однако код этой процедуры правилен. Последняя часть этого примера процедуры относится к параметрам Apply, несмотря на то, что в комментарии сказано, что она относится к параметрам Capture. Примеры API для вызова программ Apply и Capture и соответствующие им make-файлы можно найти в следующих каталогах: Для NT - sqllib\samples\repl Для UNIX - sqllib/samples/repl ------------------------------------------------------------------------ System Monitor Guide and Reference (Справочное руководство по системному монитору) ------------------------------------------------------------------------ 14.1 db2ConvMonStream В разделе Usage Notes (Замечания по использованию) структура для типа потока данных переменной снимка SQLM_ELM_SUBSECTION должна быть sqlm_subsection. ------------------------------------------------------------------------ Troubleshooting Guide (Руководство по устраниению неисправностей) ------------------------------------------------------------------------ 15.1 Запуск DB2 в Windows 95, Windows 98 и Windows ME, когда пользователь не зарегистрирован в системе Для успешного выполнения команды db2start в среде Windows 95, Windows 98 или Windows Millennium Edition (ME) необходимо: * Зарегистрироваться в системе с помощью окна регистрации Windows или окна регистрации Microsoft Networking * Или же выполнить команду db2logon (информацию о команде db2logon смотрите в примечании (NOTE_1)). Кроме этого, ID пользователя, заданный при регистрации или для команды db2logon должен удовлетворять требованиям DB2 (смотрите примечание (NOTE2)). При запуске команды db2start она сначала проверяет, нет ли в системе зарегистрированного пользователя. Если такой пользователь есть, команда db2start использует его ID пользователя. Если зарегистрированных пользователей нет, команда db2start проверяет, не запущена ли команда db2logon, и если она запущена, команда db2start использует ID пользователя, заданный для команды db2logon. Если команда db2start не может найти правильный ID пользователя, она прекращает свою работу. При установке DB2 Universal Database Версии 7 в Windows 95, Windows 98 и Windows ME программа установки по умолчанию добавляет в папку Автозагрузка ярлык, запускающий команду db2start при загрузке системы (дополнительную информацию смотрите в примечании (NOTE_1)). Если ни один пользователь не был зарегистрирован в системе и не была запущена команда db2logon, команда db2start прекратит свою работу. Для случая, когда в системе не были зарегистрированы пользователи, можно удовлетворить требование запуска команды db2logon перед командой db2start, выполняя команды из пакетного файла: 1. Создайте пакетный файл, содержащий команду db2logon и после нее команду db2start.exe. Например: @echo off db2logon db2local /p:password db2start cls exit 2. Назовите этот пакетный файл db2start.bat и сохраните его в каталоге /bin на диске и в каталоге, где установлена система DB2. Пакетный файл сохраняется в этом каталоге, чтобы операционная система могла найти его. Диск и каталог установки DB2 записан в переменной реестра DB2 DB2PATH. Чтобы узнать диск и каталог установки DB2, используйте следующую команду: db2set -g db2path Предположим, команда эта db2set вернула значение c:\sqllib. В этом случае сохраните пакетный файл как файл: c:\sqllib\bin\db2start.bat 3. Для запуска DB2 при загрузке системы нужно запускать этот пакетный файл с помощью ярлыка в папке Автозагрузка. Есть две возможности: o Изменить ярлык, созданный программой установки DB2, чтобы вместо файла db2start.exe он запускал этот пакетный файл. Для предыдущего примера этот ярлык должен запускать пакетный файл db2start.bat. Ярлык, созданный программой установки DB2, имеет имя DB2 - DB2.lnk и в большинстве систем находится по адресу с:\WINDOWS\Главное меню\Программы\Автозагрузка\DB2 - DB2.lnk (c:\WINDOWS\Start Menu\Programs\Start\DB2 - DB2.lnk). o Добавить свой собственный ярлык для запуска этого пакетного файла и удалить ярлык, добавленный программой установки DB2. Для удаления ярлыка DB2 используйте следующую команду: del "C:\WINDOWS\Главное меню\Программы\Автозагрузка\DB2 - DB2.lnk" Если вы решили использовать свой собственный ярлык, для него нужно включить атрибут Закрывать окно по завершении сеанса работы. Если этот атрибут не выключен, даже после успешного завершения команды db2start в полосе задач останется сеанс командной строки DOS. Чтобы окно DOS не открывалось при выполнении db2start, можно при создании этого ярлыка задать для него (и окна DOS, в котором выполняется пакетный файл) режим выполнения в свернутом окне. Прим.:Вместо запуска DB2 во время загрузки системы можно запускать DB2 перед выполнением прикладных программ, использующих DB2. Подробную информацию смотрите в примечании (NOTE5). Если для выполнения команды db2logon перед командой db2start используется пакетный файл и иногда в этот момент в системе зарегистрированы пользователи, команда db2start будет продолжать работать; единственное отличие в том, что DB2 будет использовать ID зарегистрированного пользователя. Более подробную информацию смотрите в примечании (NOTE_1). Примечания: 1. Команда db2logon имитирует регистрацию пользователя. Формат команды db2logon: db2logon ID_пользователя /p:пароль Заданный в этой команде ID пользователя должен удовлетворять требованиям к именам DB2 (дополнительную информацию смотрите в примечании (NOTE2)). Если в этой команде не заданы ID пользователя и пароль, откроется окно, запрашивающее пользователя ввести ID пользователя и пароль. Если задан только ID пользователя, пароль у пользователя не запрашивается; в некоторых случаях, описанных ниже, пароль обязателен. Заданные командой db2logon ID пользователя и пароль используются, только если в системе не зарегистрировался ни один пользователь (с помощью окна регистрации Windows или окна регистрации Microsoft Networking). Если зарегистрирован пользователь и была запущена команда db2logon, для всех действий DB2 используется ID пользователя, заданный в команде db2logon, но заданный в команде db2logon пароль игнорируется. Если нет пользователей, зарегистрированных с помощью окна регистрации Windows или окна регистрации Microsoft Networking, заданные в команде db2logon ID пользователя и пароль используются следующим образом: o Команда db2start использует этот ID пользователя при своем запуске (пароль ей не требуется). o При отсутствии спецификатора высокого уровня для таких операций, как создание таблицы, в качестве спецификатора высокого уровня используется этот ID пользователя. Например: 1. Если введена команда: db2logon db2local 2. И затем введена команда: create table tab1 Эта таблица будет создана со спецификатором высокого уровня как db2local.tab1. Используйте ID пользователя, совпадающий с именем схемы для таблиц и других объектов. o Если в системе клиента с типом аутентификации сервер пользователь вводит оператор CONNECT без ID пользователя и пароля (например, CONNECT TO TEST), для проверки пользователя на удаленном сервере используются ID пользователя и пароль, заданные в команде db2logon. Если пользователь явно задает ID пользователя и пароль для соединения (например, CONNECT TO TEST USER ID_пользователя USING пароль), используются значения, заданные в операторе CONNECT. 2. В Версии 7 ID пользователя, использованный для регистрации или заданный в команде db2logon должен удовлетворять следующим требованиям DB2: o Он не должен совпадать с один из следующих имен: USERS, ADMINS, GUESTS, PUBLIC, LOCAL или с каким-либо из зарезервированных слов SQL (которые перечислены в руководстве SQL Reference). o Он не может начинаться с SQL, SYS или IBM o Могут использоваться следующие символы: + От A до Z (в Windows 95, Windows 98 и Windows ME поддерживаются регистрозависимые ID пользователей) + От 0 до 9 + @, # и $ 3. Создание ярлыка db2start в папке Автозагрузка можно предотвратить, используя режим интерактивной выборочной установки или используя для установки файл ответов, в котором задана опция DB2.AUTOSTART=NO. В этих случаях в папке Автозагрузка не будет создан ярлык db2start и будет нужно создать свой собственный ярлык для запуска файла db2start.bat. 4. В Windows 98 и Windows ME можно задать ID пользователя, который будет автоматически регистрироваться при запуске Windows 98 или Windows ME. В этом случае окно регистрации Windows не будет появляться. Если используется эта возможность, пользователь будет зарегистрирован и команда db2start будет успешно выполнена, если этот ID пользователя удовлетворяет требованиям DB2 (подробную информацию смотрите в примечании (NOTE2)). Если эта возможность не используется, пользователю всегда будет предлагаться окно регистрации. Если пользователь закроет это окно без регистрации, команда db2start не будет выполнена успешно, если перед ней не будет выполнена команда db2logon или если она не будет запущена из пакетного файла, как описано выше. 5. Если система DB2 не запущена во время загрузки системы, система DB2 может быть запущена прикладной программой. Файл db2start.bat можно выполнить в процессе инициализации прикладных программ, использующих DB2. При использовании этого метода система DB2 будет запускаться только при запуске прикладной программы, которая будет использовать DB2. После завершения работы этой прикладной программы можно использовать команду db2stop для остановки DB2. Прикладные программы могут запускать DB2 таким способом, если DB2 не запущена при загрузке системы. Для использования прикладной программы Synchronizer DB2 или вызовов функций API синхронизации из прикладной программы должна быть запущена DB2, если загруженные для выполнения сценарии содержат команды, обращающиеся к локальному экземпляру или локальной базе данных. Эти команды могут находиться в сценариях базы данных, сценариях экземпляра или сценариях операционной системы (OS). Если сценарий OS не содержит команд процессора командной строки или вызовов функций API DB2, использующих экземпляр или базу данных, этот сценарий можно выполнять без запуска DB2. Поскольку может быть сложно заранее определить, будут ли такие команды выполняться в сценариях во время процесса синхронизации, лучше запустить DB2 перед началом процесса синхронизации. Если из прикладной программы вызывается команда db2sync или функции API синхронизации, при инициализации этой прикладной программы следует запустить DB2. Если для запуска синхронизации пользователи будут использовать ярлык Synchronizer DB2 из папки DB2 для Windows, этот ярлык синхронизации DB2 нужно изменить, чтобы он вызывал файл db2sync.bat. Этот файл должен содержать следующие команды, обеспечивающие запуск DB2 перед началом синхронизации: @echo off db2start.bat db2sync.exe db2stop.exe cls exit В этом примере подразумевается, что файл db2start.bat запускает команды db2logon и db2start, как описано выше. Если вы решили запускать DB2 при запуске прикладной программы, убедитесь, что программа установки DB2 не добавила в папку Автозагрузка ярлык для запуска DB2. Подробную информацию смотрите в примечании (NOTE3). ------------------------------------------------------------------------ 15.2 Глава 1. Good Troubleshooting Practices (Правильные приемы диагностики) 15.2.1 Средства анализа ошибок и сбора информации о среде Есть утилита, которая поможет вам найти информацию, связанную с вашей ошибкой, и собрать другую полезную информацию о вашей среде для обращения в службу поддержки DB2. Большая часть информации, собираемой этой утилитой, описывается далее в этой главе. Эта утилита называется db2support. Подробности о синтаксисе и опциях командной строки смотрите в книге Command Reference. Назначение этой утилиты - сбор информации о вашей среде или компьютере сервера, где работает DB2, а также сбор и объединение крупных порций вывода в виде, пригодном для просмотра в формате XML, HTML или в виде сжатого архива файлов. Эта утилита имеет также возможность сбора некоторых данных от вас о сущности вашей проблемы при помощи интерактивного процесса вопросов и ответов. Такой процесс поможет вам уточнить сущность проблемы, а также дает информацию для персонала службы поддержки DB2, когда вы обратитесь к нему. Прим.:На минимальном клиенте (клиенте времени выполнения) использовать эту утилиту нельзя. Для утилиты требуется, чтобы на клиенте были установлены библиотеки механизма DB2. 15.2.1.1 Собираемая информация Эта утилита порождает упакованное собрание (один архивный файл) важной информации о системе баз данных. В этот архив входит HTML-файл с наиболее существенной информацией, который вы можете просматривать. По умолчанию db2support не будет собирать данные таблиц, схем (DDL) или журналов, чтобы не раскрывать важные данные пользователя. Задавая некоторые опции, пользователь может выбрать включение некоторых аспектов схем и данных (например, архивных журналов). Опции, которые раскрывают схемы или данные, надо использовать с осторожностью. При вызове db2support появляется сообщение, указывающее, как будут обрабатываться чувствительные данные. Ниже перечислены файлы, которые будут собраны и упакованы в едины архив: Собираются всегда 1. db2diag.log 2. Все файлы перехвата 3. Файлы списков блокировок (с опцией -d) 4. Файлы дампа 5. Обработчик пользователя (с опцией -d) 6. Управляющие файлы пула буферов и табличных пространств (SPCS) (с опцией -d) 7. Различные относящиеся к системе файлы 8. Вывод различных системных команд 9. db config (с опцией -d) 10. Файлы dbm config 11. Файл заголовка файлов журнала (с опцией -d) 12. Файл хронологии восстановления 13. db2cli.ini Собираются необязательно 1. Активные файлы журнала 2. Содержимое каталога db2dump (то, что не было указано выше) 3. Файлы ядра (-a - все файлы ядра, -r - только последний файл ядра) 4. Расширенная информация о системе (-s) Следующие файлы составляют содержимое отчета HTML: Собираются всегда 1. Номер PMR, если есть (если задана опция -n). 2. Операционная система и ее уровень (например, AIX 4.2.1). 3. Информация о выпуске DB2. 4. Информация заголовка библиотеки механизма. 5. Разрядность системы (32- или 64-битная) 6. Информация о пути установки DB2. 7. Для EEE - содержимое файла db2nodes.cfg 8. Количество процессоров, дисков и объем памяти. 9. Список баз данных в этом экземпляре. 10. Информация реестра и среды, в том числе path и libpath. 11. Свободной место на диске в текущей файловой системе и inodes для Unix. 12. Уровень JDK. 13. dbm config. 14. Листинг файла хронологии восстановлений базы данных. 15. 'ls -lR' (или ее эквивалент в Windows) каталога sqllib. 16. LIST NODE DIRECTORY 17. LIST ADMIN NODE DIRECTORY 18. LIST DCS DIRECTORY 19. LIST DCS APPLICATIONS EXTENDED 20. Список всех установленных программ Собираются, если задана опция '-s' 1. Подробная информация о диске (размещение разделов, тип, информация LVM и т.п.) 2. Подробная информация о сети 3. Статистика ядра 4. Версии микропрограмм 5. Другие команды в зависимости от платформы Собираются, если DB2 запущена 1. Состояния соединения клиента 2. db/dbm config (для db cfg требуется опция -d) 3. CLI config 4. Информация о пуле памяти (размер и использование). При опции -d - полные данные. 5. LIST ACTIVE DATABASES 6. LIST DATALINKS MANAGERS 7. LIST DCS APPLICATIONS Собираются, если задана опция -c и есть соединение с базой данных 1. Число пользовательских таблиц 2. Примерный размер данных базы 3. Снимок базы данных 4. Снимок программы 5. Информация о пуле буферов 6. LIST APPLICATIONS 7. LIST COMMAND OPTIONS 8. LIST DATABASE DIRECTORY 9. LIST INDOUBT TRANSACTIONS 10. LIST NODEGROUPS 11. LIST NODES 12. LIST ODBC DATA SOURCES 13. LIST PACKAGES/TABLES 14. LIST TABLESPACE CONTAINERS 15. LIST TABLESPACES 16. LIST DRDA IN DOUBT TRANSACTIONS Если задано '-q' Запускается интерактивыный режим вопросов и ответов. За исключением необязательного вопроса "describe your problem" и нескольких запросов информации о пользователе, у каждого вопроса есть варианты ответов на выбор. Собираются все заданные вопросы и ответы на них. В некоторых случаях утилита просит вас выполнить некоторое задание и поместить его результаты в отдельный каталог. В интерактивном режиме для определения следующего задаваемого вопроса используется небольшое дерево решений. Эти интерактивные вопросы помогают определить категорию проблемы и основаны на категории некоторых других вопросов, которые могут быть заданы, и дополнительных собранных данных. После завершения вопросов будут собраны все данные, которые можно собрать в автоматическом режиме. Ответы на все вопросы сохраняются для отправки службе поддержки вместе с данными, собранными в автоматическом режиме. 15.2.1.2 Просмотр файла detailed_system_info.html Если вы запускаете db2support в неанглийской системе и встречаетесь с трудностями при просмотре файла detailed_system_info.html, возможно, надо использовать Internet Explorer Версии 5 или новее с кодировкой DOS. Чтобы задать эту кодировку, выберите Вид -> Кодировка -> Кириллица (DOS). Если сейчас у вас нет поддержки нужной кодировки, Internet Explorer предложит вам загрузить требуемые файлы с Web-сайта Microsoft Updates. Это не относится к языка с двухбайтными символами (упрощенному китайскому, традиционному китайскому, японскому и корейскому). 15.2.1.3 Постраничный просмотр синтаксиса db2support Для постраничного просмотра синтаксиса DB2 Support введите команду: db2support | more ------------------------------------------------------------------------ 15.3 Глава 2. Troubleshooting the DB2 Universal Database Server (Диагностика ошибок сервера DB2 Universal Database) В разделе "Locking and Deadlocks" (Блокировка и тупиковые ситуации) в подразделе "Applications Slow or Appear to Hang" (Программа работает медленно или зависает) описание под заголовком "Lock waits or deadlocks are not caused by next key locking" надо заменить на : Блокировка следующего ключа гарантирует уровень изоляции Многократное чтение (RR), автоматически блокируя следующий ключ для всех операторов INSERT и DELETE и следующее большее значение ключа для набора результатов для операторов SELECT. Для операторов UPDATE, которые изменяют части ключей в индексе, исходное значение ключа удаляется, а новое значение - вставляется. Блокировка следующего значения при этом производится и для вставки ключа, и для удаления ключа. Это требуется для обеспечения стандартного многократного чтения ANSI и SQL92 и используется в DB2 по умолчанию. Проверьте информацию снимка для программы. Если есть подозрение, что проблема связана с блокировкой следующего ключа, можно включить переменную реестра DB2_RR_TO_RS, если никакие программы не полагаются на эффекты многократного чтения(RR) и если при просмотре приемлем пропуск непринятых удалений. Если переменная DB2_RR_TO_RS включена, поведение RR при просмотре не может быть гарантировано, поскольку при вставке и удалении ключей индекса блокировка следующего ключа не выполняется. На таблицы каталогов эта опция не влияет. Другой эффект включения переменной DB2_RR_TO_RS - пропуск при просмотре удаленных, но непринятых строк, даже если эти строки могут быть отобраны для просмотра. Рассмотрим, например, ситуацию, когда транзакция A удаляет строку с column1=10, а транзакция B выполняет просмотр строк, для которых column1>8 и column1<12. Если DB2_RR_TO_RS выключена, транзакция B будет ждать принятия или отката транзакции A. В случае отката строка с column1=10 будет включена в набор результатов запроса транзакции B. Если DB2_RR_TO_RS включена, транзакция B не будет ждать принятия или отката транзакции A. Она немедленно получит результаты запроса без удаляемой строки. Не используйте эту опцию, если вам требуется уровень изоляции Многократное чтение (RR) стандарта ANSI и SQL92 или если вы не хотите при просмотре пропускать удаляемые строки до принятия удаления. ------------------------------------------------------------------------ 15.4 Глава 8. Troubleshooting DB2 Data Links Manager (Устранение неисправностей менеджера связей данных DB2) В Версии 7 FixPak 2 при прекомпиляции исходного файла или связывании файла связывания без указания значения для опции FEDERATED сервер генерирует предупреждение SQL1179W. Такое же сообщение генерируется, когда исходный файл или файл связывания содержит ссылку статического SQL на псевдоним. Есть два исключения: * Для клиентов более ранних уровней, чем Версия 7 FixPak 2 или для клиентов предыдущих версий API sqlaprep() не записывает это предупреждение SQL1179W в файл сообщений. В этом случае команда PRECOMPILE процессора командной строки также не выдает это предупреждение. * Для клиентов более ранних уровней, чем Версия 7 FixPak 2 или для клиентов предыдущих версий API sqlabndx не записывает это предупреждение SQL1179W в файл сообщений. Однако в файл сообщений ошибочно включается сообщение SQL0092N, указывающее на то, что пакет не был создан. Это неправильно, так как на самом деле пакет создается. Команда BIND процессора командной строки возвращает то же самое ошибочное предупреждение. ------------------------------------------------------------------------ Using DB2 Universal Database on 64-bit Platforms (Использование DB2 Universal Database на 64-битных платформах) ------------------------------------------------------------------------ 16.1 Глава 5. Configuration (Конфигурирование) 16.1.1 LOCKLIST К Таблице 2 надо добавить следующую информацию. Параметр Прежний верхний предел Текущий верхний предел LOCKLIST 60000 524288 16.1.2 shmsys:shminfo_shmmax Пользователям DB2 в 64-битной операционной системе Solaris следует при необходимости увеличить значение "shmsys:shminfo_shmmax" в /etc/system, чтобы иметь возможность выделять большую совместную память базы данных. В книге DB2 for UNIX Quick Beginnings рекомендуется задать значение этого параметра "90% физической оперативной памяти компьютера в байтах". Эта рекомендация подходит и для 64-битных реализаций. Однако есть сложности со следующей рекомендацией в книге DB2 for UNIX Quick Beginnings: Для 32-битных систем с более чем 4 Гбайтами оперативной памяти (в операционной системе Solaris возможно в общей сложности до 64 Гбайт), если пользователь задает значение shmmax, превышающее 4 Гбайта, и использует 32-битное ядро, ядро воспринимает только первые 32 бита от всего числа, что может привести к очень низкому значению shmmax. ------------------------------------------------------------------------ 16.2 Глава 6. Restrictions (Ограничения) В 64-битных операционных системах в настоящее время отсутствует поддержка LDAP. 32-битные и 64-битные базы данных нельзя создать по одному и тому же пути. Например, если 32-битная база данных существует по адресу <некоторый_путь>, команда: db2 create db <некоторая_бд> on <некоторый_путь> от 64-битного экземпляра приведет к ошибке с сообщением "SQL10004C Ошибка ввода-вывода при обращении к каталогу базы данных." ------------------------------------------------------------------------ XML Extender Administration and Programming (Управление и программирование XML Extender) Замечания по выпуску (Release Notes) для IBM DB2 XML Extender можно найти на Web-сайте DB2 XML по адресу: http://www-4.ibm.com/software/data/db2/extenders/xmlext/library.html ------------------------------------------------------------------------ MQSeries В этом разделе рассказывается, как можно использовать DB2 и MQSeries для создания программ, сочетающих в себе передачу сообщений и работу с базой. Основное внимание в разделе уделяется набору функций, подобных пользовательским функциям (UDF), которые можно при желании подключить в DB2 Universal Database Версии 7.2. Эти базовые функции можно использовать для поддержки широкого диапазона программ: от простых уведомлений о событиях до программ хранилищ данных. Информацию о программах хранилищ данных смотрите в последней версии руководства Data Warehouse Center Administration Guide, которую можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. ------------------------------------------------------------------------ 18.1 Установка и конфигурирование функций DB2 MQSeries В этом разделе рассказывается, как сконфигурировать среду DB2 для использования функций DB2 MQSeries. Успешно выполнив описанные ниже действия можно будет использовать в SQL функции DB2 MQSeries. Описание этих функций можно найти в Замечаниях по выпуску в разделе о справочнике SQL Reference. Чтобы сконфигурировать и подключить функции DB2 MQSeries, выполните следующие основные действия: 1. Установите MQSeries. 2. Установите интерфейс MQSeries AMI. 3. Включите и сконфигурируйте функции DB2 MQSeries. Кроме того, чтобы пользоваться возможностями публикации/подписки, предоставляемых функциями DB2 MQSeries, нужно установить либо MQSeries Integrator, либо MQSeries Publish/Subscribe Function. Информацию о MQSeries Integrator можно найти по адресу http://www.ibm.com/software/ts/mqseries/integrator. Информацию о возможностиMQSeries Publish/Subscribe можно найти по адресу http://www.ibm.com/software/ts/mqseries/txppacs в категории 3. 18.1.1 Установка MQSeries Прежде всего следует проверить, установлена ли на вашем сервере, как минимум, DB2 MQSeries Версии 5.1 с последним Fixpak. Если эта версия MQSeries уже установлена, пропустите следующий шаг "Установка MQSeries AMI". DB2 Версия 7.2 содержит копию сервера MQSeries, используемого с DB2. Инструкции по установке MQSeries или перенастройке существующих MQSeries для конкретной платформы можно найти в книге Quick Beginnings для этой платформы по адресу http://www.ibm.com/software/ts/mqseries/library/manuals. Во время установки не забудьте установить менеджер очередей по умолчанию. 18.1.2 Установка MQSeries AMI Следующим шагом установите MQSeries Application Messaging Interface (AMI - интерфейс MQSeries отправки сообщений прикладных программ). Он расширяет возможности интерфейсов программирования MQSeries, позволяя четко разделить задачи управления и программирования. Установка этого интерфейса требуется для функций DB2 MQSeries. Если интерфейс MQSeries AMI уже установлен на сервере DB2, пропустите следующий шаг "Подключение функций DB2 MQSeries". Если интерфейс MQSeries AMI не установлен, его можно установить либо из пакета установки, поставляемого с DB2 Версии 7.2, либо загрузив копию этого AMI с сайта Web MQSeries Support Pacs по адресу http://www.ibm.com/software/ts/mqseries/txppacs. Интерфейс AMI можно найти в разделе "Category 3 - Product Extensions". Для удобства мы поставляем копию интерфейса MQSeries AMI с DB2. Его файл находится в каталоге sqllib/cfg. Имя этого файла зависит от конкретной операционной системы: AIX Версии 4.3 и новее ma0f_ax.tar.Z HP-UX ma0f_hp.tar.Z Операционная среда Solaris ma0f_sol7.tar.Z 32-битная система Windows ma0f_nt.zip Следуйте указаниям обычного процесса установки AMI, описанного в файле readme интерфейса AMI, содержащемся в сжатом образе установки. 18.1.3 Включение функций DB2 MQSeries В этом шаге вы сконфигурируете базу данных для включения функций DB2 MQSeries. Утилита enable_MQFunctions - многофункциональная команда, которая сначала проверяет правильность установленной среды MQSeries, а затем устанавливает и создает конфигурацию по умолчанию для функций DB2 MQSeries, включает эти функции для заданной базы данных и подтверждает, что данная конфигурация работает. 1. В случае Windows NT или Windows 2000 перейдите к шагу 5. 2. Задайте группы (в UNIX): При подключении этих функций в UNIX сначала нужно добавить владельца экземпляра DB2 (обычно это db2inst1) и ID пользователя для изолированных пользовательским функциям UDF (обычно db2fenc1) в группу MQSeries mqm. Это необходимо для доступа функций DB2 к MQSeries. 3. Задайте переменные среды DB2 (в UNIX): Добавьте переменную среды AMT_DATA_PATH в список, воспринимаемый DB2. Можно отредактировать файл $INSTHOME/sqllib/profile.env, добавив переменную AMT_DATA_PATH в DB2ENVLIST. Можно также воспользоваться командой db2set. 4. Перезапустите экземпляр базы данных (в UNIX): Чтобы изменения, сделанные для переменных среды, вступили в силу, экземпляр базы данных следует перезапустить. 5. Перейдите в каталог $INSTHOME/sqllib/cfg (для UNIX) или %DB2PATH%/cfg (в Windows). 6. Чтобы сконфигурировать базу данных для включения функций DB2 MQSeries, запустите команду enable_MQFunctions. Полное описание этой команды смотрите в разделе 18.6, enable_MQFunctions. Ниже предлагается несколько общих примеров. После успешного завершения будет подключена заданная база данных и проверена конфигурация. 7. Чтобы проверить эти функции с использованием процессора командной строки, после соединения с подключенной базой данных введите следующие команды: values DB2MQ.MQSEND('проверка') values DB2MQ.MQRECEIVE() Первый оператор отправляет сообщение "проверка" в очередь DB2MQ_DEFAULT_Q, а второй - получает его. Прим.:В результате выполнения команды enable_MQFunctions будет установлена среда MQSeries по умолчанию. Будет создан менеджер очередей и DB2MQ_DEFAULT_MQM и очередь по умолчанию DB2MQ_DEFAULT_Q MQSeries. Будут созданы файлы amt.xml, amthost.xml и amt.dtd, если они еще не существуют в каталоге, на который указывает AMT_DATA_PATH. Если файл amthost.xml существует, но не содержит определения для connectionDB2MQ, эта строка будет добавлена в данный файл с соответствующей информацией. Копия исходного файла будет сохранена как DB2MQSAVE.amthost.xml. ------------------------------------------------------------------------ 18.2 Модели передачи сообщений MQSeries Функции DB2 MQSeries поддерживают три модели передачи сообщений: дейтаграммы, публикация/подписка (p/s) и требование/ответ (r/r). Сообщения, отправленные как дейтаграммы, посылаются в одно место назначения без ожидания на них ответов. В модели p/s один или несколько программ-издателей посылают сообщение в издательскую службу, которая распределяет его для одного или нескольких подписчиков. Модель требование/ответ аналогична модели дейтаграмм, но отправитель ожидает получения ответа. ------------------------------------------------------------------------ 18.3 Структура сообщения Сама MQSeries не требует и не поддерживает никакой конкретной структуризации сообщений, которые транспортирует. Поддержка сообщений, построенных как строки на языках C или Cobol или как строки XML, предлагается другими продуктами, например интегратором MQSeries Integrator (MQSI). Структурированные сообщения MQSI определяются репозиторием сообщений. Структура сообщений XML обычно предполагает встроенное описание, и этими сообщениями может управлять также и репозиторий. Кроме того, сообщения могут быть бесструктурными, что требует использования пользовательских программ для анализа и конструирования содержимого сообщения. Как правило, такие сообщения все же несут некоторую структуру, то есть для разделения полей внутри сообщения используются позиции байтов или фиксированные ограничители. Поддержка таких полуструктурированных сообщений осуществляется мастером MQSeries Assist. Поддержка сообщений XML обеспечивается несколькими новыми средствами модуля расширения XML для DB2. ------------------------------------------------------------------------ 18.4 Обзор функций MQSeries В DB2 Версии 7.2 предоставляется набор функций MQSeries, которые позволяют включать в операторы SQL операции по передаче сообщений. Это значит, что такая поддержка доступна для программ, написанных на любом поддерживаемом языке (например, на C, Java и SQL) с использованием любых интерфейсов баз данных. Все примеры ниже написаны на SQL. Этот SQL можно использовать из любого языка программирования любыми стандартными способами. Поддерживаются все описанные выше модели передачи сообщений MQSeries. Дополнительную информацию о функциях MQSeries можно найти в Замечаниях по выпуску в разделе о справочнике SQL Reference. В базовой конфигурации сервер MQSeries находится на компьютере сервера баз данных, там же, где и DB2. Функции MQSeries устанавливаются в DB2 и обеспечивают доступ к серверу MQSeries. Клиенты DB2 могут находиться на любом компьютере, доступном серверу DB2. Через базу данных к функциям MQSeries могут одновременно обращаться несколько клиентов. С помощью предоставленных функций клиенты DB2 могут выполнять операции по передаче сообщений в операторах SQL. Эти операции по передаче сообщений позволяют программам DB2 взаимодействовать между собой или с другими программами MQSeries. Для включения функций MQSeries в базе данных DB2 используется команда enable_MQFunctions. Она автоматически устанавливает простую конфигурацию по умолчанию, которую программы клиентов могут использовать без какого-либо дополнительного управления. Описание смотрите в разделах 18.6, enable_MQFunctions и 18.7, disable_MQFunctions. Конфигурация по умолчанию позволяет разработчикам прикладных программ быстро получить начальный и более простой интерфейс для разработки. Дополнительные функции можно конфигурировать, наращивая их по необходимости. Пример 1: Оператор SQL для отправки простого сообщения с использованием конфигурации по умолчанию должен выглядеть так: VALUES DB2MQ.MQSEND('простое сообщение') Этот оператор отправляет сообщение простое сообщение менеджеру очередей MQSeries в очередь, заданную конфигурацией по умолчанию. Интерфейс MQSeries по отправке сообщений прикладных программ (AMI) обеспечивает правильное разделение действий по передаче сообщений и определения, где указывается, как эти действия должны быть выполнены. Эти определения хранятся во внешнем файле репозитория, и ими можно управлять с помощью средств управления интерфейсом AMI. Это упрощает разработку и поддержку программ AMI. Функции MQSeries, поддерживаемые DB2, основаны на интерфейсе MQSeries AMI. AMI поддерживает использование внешнего файла конфигурации, называемого Репозиторием AMI, в котором хранится информация о конфигурации. В конфигурацию по умолчанию входит репозиторий AMI MQSeries, сконфигурированный под использование с DB2. В функциях Db2 MQSeries в интерфейсе AMI выдвигаются два ключевых понятия: точки служб и правила. Точка службы - логическая конечная точка, из которой может быть отправлено или получено сообщение. В репозитории AMI каждая точка службы определяется с помощью имени очереди и менеджера очередей MQSeries. Правила определяют опции качества обслуживания (QoS), которые следует использовать для данной операции по передаче сообщений. К ключевым опциям качества обслуживания относятся приоритет и срок действия сообщений. Предоставляются точки служб и определения правил по умолчанию, которые разработчики могут использовать для дальнейшего упрощения своих программ. Чтобы явно задать точку службы и имя правила по умолчанию, пример 1 можно переписать так: Пример 2: VALUES DB2MQ.MQSEND('DB2.DEFAULT.SERVICE', 'DB2.DEFAULT.POLICY', 'простое сообщение') На сервере, где располагаются очереди и программы, очереди могут обслуживаться одной или несколькими программами. Во многих конфигурациях для поддержки различных программ и возможностей будет задаваться ряд очередей. По этой причине при создании требований MQSeries, как правило, важно задать разные точки служб. Это показано в следующем примере: Пример 3: VALUES DB2MQ.MQSEND('ODS_Input', 'простое сообщение') Прим.:В этом примере правила не заданы, поэтому будут использоваться правила по умолчанию. 18.4.1 Ограничения MQSeries предоставляет возможность сочетать операции по передаче сообщений и операции баз данных в одной единице работы как в элементарной транзакции. Эта возможность изначально не поддерживается функциями MQSeries в Unix и Windows. При использовании функций отправки или получения сообщений максимальная длина сообщений типа VARCHAR составляет 4000 символов. Максимальная длина отправляемых или принимаемых сообщений типа CLOB - 1 Мбайт. Эти значения являются также максимальными размерами сообщений при публикации сообщений с использованием MQPublish. Для работы с сообщениями типа CLOB и типа VARCHAR иногда требуются разные функции. Обычно в версии CLOB функции MQ используется тот же синтаксис, что и в соответствующей функции VARCHAR. Единственная разница - в наличии в конце имени функции символов CLOB. Например, эквивалент функции MQREAD для CLOB называется MQREADCLOB. Подробный список этих функций смотрите в разделе 38.2, Функции MQSeries теперь поддерживают данные CLOB. 18.4.2 Коды ошибок Коды возврата, возвращаемые функциями MQSeries, можно найти в Приложении B руководства Application Messaging Interface Manual. ------------------------------------------------------------------------ 18.5 Использование сценариев Функции MQSeries можно использовать в ряде разнообразных сценариев. В этом разделе будет дан обзор некоторых наиболее общих сценариев, включая базовую передачу сообщений, подключение прикладных программ и публикацию данных. 18.5.1 Базовая передача сообщений Базовый вариант передачи сообщений с использованием функций DB2 MQSeries имеет место, когда все программы базы данных соединяются с одним сервером DB2. Клиенты могут быть локальными по отношению к серверу баз данных или распределенными в сетевой среде. В простом сценарии Клиент A вызывает функцию MQSEND, чтобы отправить пользовательскую строку в местонахождение службы по умолчанию. Затем функции MQSeries выполняются в DB2 на сервере баз данных. Через некоторое время Клиент B вызывает функцию MQRECEIVE, чтобы принять сообщение, стоящее первым в очереди, заданной службой по умолчанию, и возвратить его клиенту. Для выполнения этой задачи DB2 снова вызывает функции MQSeries. Клиенты баз данных могут пользоваться простой передачей сообщений рядом способов. Наиболее обычные варианты применения передачи сообщений: * Собрание данных -- Информация принимается в форме сообщений из одного или нескольких различных источников информации. Источниками информации могут быть коммерческие программы, например SAP, или программы, разработанные на месте. Такие данные можно получить из очередей и хранить в базе данных для дальнейшей обработки или анализа. * Распределение рабочей нагрузки -- Требования на выполнение ставятся в очередь, совместно используемую несколькими экземплярами одной программы. Когда какой-нибудь экземпляр готов выполнить часть работы, он получает сообщение из начала очереди, в которой содержится данное требование на выполнение. С помощью такой техники несколько экземпляров могут, совместно использовать рабочую нагрузку из одной очереди помещенных в пул требований. * Передача сигналов программ -- В ситуации, где взаимодействуют несколько процессов, сообщения часто используются для координации их работы. Эти сообщения могут содержать команды или требования на выполнение действий. Обычно такой вид передачи - односторонний, то есть сторона, инициализирующая сообщение, не ожидает ответа. Дополнительную информацию смотрите в разделе 18.5.4.1, Взаимодействие требование/ответ. * Программное уведомление -- Уведомление похоже на передачу сигналов в том, что данные передаются от инициатора без ожидания ответа. Однако обычно уведомление содержит данные об имевших место бизнес-событиях. 18.5.4.2, Публикация/подписка - более развитая форма уведомлений. Следующий сценарий по сравнению с простым сценарием, описанным выше, дополнен удаленной передачей сообщений. Сообщение передается между компьютером A и компьютером B. Последовательность шагов следующая: 1. Клиент DB2 вызывает MQSEND с указанием службы назначения, определенной для представления удаленной очереди на компьютере B. 2. Функции DB2 MQSeries выполняют фактическую работу MQSeries, чтобы отправить сообщение. Сервер MQSeries на компьютере A принимает сообщение и гарантирует, что он доставит его его в место назначения, заданное в определении точки службы и в текущей конфигурации компьютера A. Сервер определяет, что это - очередь на компьютере B. Затем он пытается отправить это сообщение серверу MQSeries на компьютере B, повторяя эти попытки при необходимости. 3. Сервер MQSeries на компьютере B принимает сообщение от сервера на компьютере A и помещает в очередь назначения на компьютере B. 4. Клиент MQSeries на компьютере B берет сообщение, стоящее первым в этой очереди. 18.5.2 Отправка сообщений С помощью MQSEND пользователь или разработчик прикладных программ DB2 выбирает, какие данные отправить, куда их отправить и когда они будут отправлены. Такая ситуация обычно называется "отправить и забыть", то есть отправитель просто посылает сообщение, полагаясь на гарантированные протоколы доставки MQSeries, обеспечивающие, что сообщение достигнет своего назначения. Это показано в следующих примерах. Пример 4: Чтобы отправить пользовательскую строку в точку службы myPlace с правилами highPriority, введите: VALUES DB2MQ.MQSEND('myplace','highPriority','проверка') Здесь highPriority - это правила, определенные в Репозитории AMI, которые задают для приоритета самый высокий уровень, а также могут настроить и другие опции качества обслуживания, например, срок действия. В состав сообщения может входить любая разрешенная комбинация SQL и пользовательских данных. Сюда входят вложенные функции, операторы и преобразования типов. Например, если у нас есть таблица EMPLOYEE со столбцами LASTNAME, FIRSTNAME и DEPARTMENT типа VARCHAR, чтобы отправить сообщение, содержащее эту информацию для каждого сотрудника отдела 5LGA, нужно ввести: Пример 5: SELECT DB2MQ.MQSEND(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Если в таблице присутствует также целочисленный столбец AGE, его можно включить так: Пример 6: SELECT DB2MQ.MQSEND(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' || char(AGE)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Если в таблице EMPLOYEE вместо столбца AGE есть столбец RESUME типа CLOB, сообщение с информацией о каждом сотруднике DEPARTMENT 5LGA можно послать так: Пример 7: SELECT DB2MQ.MQSEND (clob(LASTNAME) || ' ' || clob(FIRSTNAME) || ' ' || clob(DEPARTMENT) || ' ' || RESUME)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Пример 8: И наконец, в следующем примере показано, как можно создать содержимое сообщения с использованием допустимого выражения SQL. Взяв вторую таблицу DEPT со столбцами типа VARCHAR DEPT_NO и DEPT_NAME, можно отправить сообщение, содержащее столбцы LASTNAME и DEPT_NAME: Пример 8: SELECT DB2MQ.MQSEND(e.LASTNAME || ' ' || d.DEPTNAME) FROM EMPLOYEE e, DEPT d WHERE e.DEPARTMENT = d.DEPTNAME 18.5.3 Прием сообщений Функции DB2 MQSeries позволяют либо получать, либо читать сообщения. Чтение отличается от приема сообщения тем, что чтение возвращает головное сообщение без удалении его из данной очереди, а при приеме сообщение удаляется из очереди. С использованием операции приема сообщение можно получить только один раз, а операция чтения позволяет получать одно и то же сообщение многократно. Это показано в дальнейших примерах: Пример 8: VALUES DB2MQ.MQREAD() Этот пример возвращает строку VARCHAR, содержащую первое сообщение из очереди, определенной службой по умолчанию с использованием правил качества обслуживания по умолчанию. Важно отметить, что если сообщения, доступные для чтения, отсутствуют, будет возвращено пустое значение. При этой операции очередь не изменяется. Пример 9: VALUES DB2MQ.MQRECEIVE('Employee_Changes') В этом примере показано, как сообщение можно удалить из начала очереди, заданной службой Employee_Changes, с использованием правил по умолчанию. Полезная особенность DB2 - возможность сгенерировать таблицу при помощи пользовательской функции (или функции, предоставляемой DB2). Эту особенность табличных функций можно использовать, чтобы разрешить использовать содержимое очереди как таблицу DB2. Простейший случай показан на следующем примере: Пример 10: SELECT t.* FROM table ( DB2MQ.MQREADALL()) t Это требование возвращает таблицу, включающую в себя все сообщения в очереди, определенной службой по умолчанию, и метаданные об этих сообщениях. Полное описание возвращенной структуры таблицы приведено в Приложении, отметим лишь, что первый столбец отражает содержимое сообщения, а остальные столбцы содержат метаданные. Чтобы требование возвращало только сообщения, этот пример можно изменить так: Пример 11: SELECT t.MSG FROM table (DB2MQ.MQREADALL()) t Таблица, возвращенная табличной функцией, не отличается от таблицы, полученной из базы данных непосредственно. Это значит, что эту таблицу можно использовать в самых разных целях. Например, можно объединить содержимое этой таблицы с другой таблицей или подсчитать число сообщений в очереди: Пример 12: SELECT t.MSG, e.LASTNAME FROM table (DB2MQ.MQREADALL() ) t, EMPLOYEE e WHERE t.MSG = e.LASTNAME Пример 13: SELECT COUNT(*) FROM table (DB2MQ.MQREADALL()) t Кроме того, можно скрыть факт, что источником таблицы является очередь, если создать производную таблицу от табличной функции. Например, в следующем примере на основании очереди, к которой служба обращается по имени NEW_EMPLOYEES, создается производная таблица NEW_EMP: Пример 14: CREATE VIEW NEW_EMP (msg) AS SELECT t.msg FROM table (DB2MQ.MQREADALL()) t Здесь производная таблица определяется только с одним столбцом, в котором содержится все сообщение. Если структура сообщения простая, для примера, содержащего два поля фиксированной длины, можно напрямую воспользоваться встроенными функциями DB2, чтобы разбить данное сообщение на два столбца. Например, если известно, что сообщения, отправляемые в конкретную очередь, всегда содержат фамилию длиной не более 18 символов, за которой следует максимум 18-символьное имя, вы можете опередить производную таблицу, содержащую каждое поле как отдельный столбец, так: Пример 15: CREATE VIEW NEW_EMP2 AS SELECT left(t.msg,18) AS LNAME, right(t.msg,18) AS FNAME FROM table(DB2MQ.MQREADALL()) t Для создания новых табличных функций и производных таблиц DB2, которые будут отображать в столбцы структуру сообщений с ограничителями можно использовать новую возможность Построителя хранимых процедур DB2 - мастер поддержки MQSeries. И наконец, как правило, полезно хранить содержимое одного или нескольких сообщений в базе данных. Для этого можно использовать все возможности SQL по управлению и хранению содержимого сообщений. Приведем простейший пример: Пример 16: INSERT INTO MESSAGES SELECT t.msg FROM table (DB2MQ.MQRECEIVEALL()) t Этот оператор будет вставлять в таблицу MESSAGES, содержащую единственный столбец VARCHAR(2000), сообщения из очереди службы по умолчанию. Развивая эту технику, можно охватить широкий спектр самых разнообразных обстоятельств. 18.5.4 Возможности соединения программ друг с другом Интеграция программ - обычный элемент во многих решениях. Будь то интеграция приобретенной программы в существующую инфраструктуру или всего лишь интеграция только что разработанной программы в существующую среду, мы часто сталкиваемся с задачей склеить вместе разнородное собрание подсистем, чтобы сформировать работающее целое. MQSeries обычно рассматривается как необходимый инструмент для интеграции программ. Доступная на большей части аппаратных средств, программного обеспечения и языковых сред, MQSeries обеспечивает средства для связи воедино самого разнородного собрания программ. В этом разделе мы обсудим некоторые сценарии интеграции программ и возможности их использования с DB2. Поскольку тема весьма широка, всестороннее обсуждение интеграции программ выходит за рамки этой работы. Поэтому остановимся на двух простых вопросах: взаимодействие требование/ответ, а также интегратор MQSeries и публикация/подписка. 18.5.4.1 Взаимодействие требование/ответ Метод взаимодействия требование/ответ (R/R) - наиболее общая техника, когда одна программа запрашивает службы другой программы. В одном из таких способов реквестер отправляет сообщение провайдеру службы, требуя, чтобы была выполнена некоторая работа. Как только работа выполнена, провайдер может решить отправить результаты (или просто подтверждение о выполнении) назад реквестеру. Но при использовании техники базовой отправки сообщений, описанной выше, нет такого средства, которое соединило бы требование отправителя с ответом провайдера службы. Если реквестер не ожидает ответа перед тем, как продолжить работу, должен использоваться какой-нибудь механизм, чтобы связать каждый ответ с соответствующим требованием. От разработчика не требуется создания такого механизма, так как MQSeries обеспечивает идентификатор корреляции, который позволяет коррелировать сообщения при обмене. Существует несколько способов, в которых можно использовать этот механизм, но самый простой заключается в том, что реквестер помечает сообщения, используя известный идентификатор корреляции, например, так: Пример 17: DB2MQ.MQSEND ('myRequester','myPolicy','SendStatus:cust1','Req1') Этот оператор добавляет заключительный параметр Req1 в вышеуказанный оператор MQSEND, чтобы указать идентификатор корреляции для требования. Чтобы получить ответ на это конкретное требование, воспользуйтесь оператором MQRECEIVE для выборочного получения первого сообщения, определенного указанной службой, соответствующей данному идентификатору корреляции, так: Пример 18: DB2MQ.MQRECEIVE('myReceiver','myPolicy','Req1') Если программа, обслуживающая требование, занята, а реквестер выдает указанный выше оператор MQRECEIVE перед отправкой ответа, не будет найдено ни одного сообщения, удовлетворяющего данному идентификатору корреляции. Чтобы получить и требование службы, и идентификатор корреляции, используется примерно такой оператор: Пример 19: SELECT msg, correlid FROM table (DB2MQ.MQRECEIVEALL('aServiceProvider','myPolicy',1)) t Он возвращает от провайдера aServiceProvider сообщение и идентификатор корреляции первого требования. После того, как служба выполнена, она отправляет сообщение-ответ в очередь реквестера. В это время реквестер службы может заниматься другой работой. Фактически нет никакой гарантии, что на начальное требование службы будет дан ответ в установленное время. Сроками ожидания уровня программы, подобными этому, должен управлять разработчик; за обнаружение ответа ответственен реквестер. Преимущество такой асинхронной обработки, не зависящей от времени, состоит в том, что реквестер и провайдер службы выполняют ее полностью независимо друг от друга. Этот способ годится и для сред, в которых программы соединяются лишь периодически, и для сред, более ориентированные на пакеты, в которых перед обработкой накапливается множество требований или ответов. Такое накопление часто используется в средах хранилищ данных для периодического обновления хранилища данных или при оперативном хранении данных. 18.5.4.2 Публикация/подписка Простая публикация данных Другой обычный сценарий в интеграции программ состоит в том, что одна программа уведомляет другие программы о представляющих интерес событиях. Этого легко добиться, послав сообщение в очередь, которую отслеживает другая программа. Содержание сообщения может быть заданной пользователем строкой или состоять из столбцов базы данных. Часто требуется просто послать сообщение; для этого используется функция MQSEND. Если такое сообщение необходимо послать одновременно нескольким получателям, можно воспользоваться средством интерфейса MQSeries AMI Список распределения. Список распределения задается при помощи инструмента AMI Administration. Такой список содержит названия отдельных служб. Сообщение, посланное в список распределения, отправляется каждой службе из этого списка. Это особенно полезно, если известно, что каждое сообщение всегда будет представлять интерес для нескольких служб. В следующем примере показана отправка сообщения в список распределения interestedParties: Пример 20: DB2MQ.MQSEND('interestedParties','интересная для всех информация'); Когда требуется более сложное управление сообщениями для конкретных службы, лучше использовать средство Publish/Subscribe - публикация/подписка. Системы Publish/Subscribe,как правило, предоставляют масштабируемую, защищенную среду, в которой множество подписчиков могут зарегистрироваться на получение сообщений от ряда издателей. Для поддержки этой возможности может использоваться интерфейс MQPublish в совокупности с MQSeries Integrator или MQSeries Publish/Subscribe. MQPublish позволяет пользователям по желанию задать тему, которая будет связана с сообщением. Темы позволяют подписчикам более точно описать сообщения, которые будут приниматься. Используется следующая последовательность действий: 1. Администратор MQSeries конфигурирует возможности публикации/подписки интегратора MQSeries. 2. Заинтересованные программы подписываются в пунктах подписки, определяемых конфигурацией MQSI, задавая по желанию интересующие их темы. Каждый подписчик выбирает подходящие темы; он может также использовать технику подписки на основе содержания, применяемую в MQSeries Integrator V2. Важно отметить, что программу подписки определяют очереди, представленные именами служб. 3. Программа DB2 выпускает сообщение в точке службы Weather (Погода). В сообщении указывается, что идет дождь со снегом и тема Austin, тем самым подписчики оповещаются, что в Остине идет дождь со снегом. 4. Механика реальной публикации сообщений осуществляется функциями MQSeries, предоставляемыми DB2. Сообщение отправляется интегратору MQSeries с использованием службы Weather. 5. MQSI принимает сообщение от службы Weather, выполняет всю обработку, определяемую конфигурацией MQSI, и определяет, каким подпискам оно соответствует. После этого MQSI отправляет это сообщение в очереди подписчиков, которых оно интересует. 6. Программы, которые подписались на службу Weather и зарегистрировали тему Austin, получат сообщение Дождь со снегом в своей службе приема. Чтобы опубликовать данные с использованием всех умолчаний, не задавая тему, следует воспользоваться примерно таким оператором: Пример 21: SELECT DB2MQ.MQPUBLISH(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' ||char(AGE)) FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Оператор, который полностью задает все параметры и упрощает сообщение, чтобы в нем содержалась только фамилия, выглядит так: Пример 22: SELECT DB2MQ.MQPUBLISH('HR_INFO_PUB', 'SPECIAL_POLICY', LASTNAME, 'ALL_EMP:5LGA', 'MANAGER') FROM EMPLOYEE WHERE DEPARTMENT = '5LGA' Этот оператор выпускает сообщения для издательской службы HR_INFO_PUB с использованием правил обслуживания SPECIAL_POLICY. В сообщениях указывается, что тема отправителя - MANAGER. В строке темы показана возможность указания нескольких тем, разделенных двоеточиями ':'. В этом примере использование двух тем позволяет подписчикам для получения сообщений зарегистрировать тему ALL_EMP или только 5LGA. Для получения опубликованных сообщений сначала вы должны зарегистрировать свою заинтересованность в сообщениях на данную тему, и указать имя службы подписчика, куда следует посылать сообщения. Важно отметить, что службы подписчика интерфейса AMI определяет службу посредника и службу получателя. Служба посредника определяет, как подписчик взаимодействует с посредником публикации/подписки, а служба получателя - куда будут посылаться сообщения, удовлетворяющие требованию подписчика. Следующий оператор регистрирует заинтересованность в теме ALL_EMP. Пример 23: DB2MQ.MQSUBSCRIBE('aSubscriber', 'ALL_EMP') После подписки программы сообщения с темой ALL_EMP будут отправляться в службу получателя, определенную службой подписчика. У программы может быть несколько одновременных подписок. Для сообщений, отвечающих подписке, можно пользоваться любой стандартной функцией получения сообщений. Например, если служба подписчика aSubscriber задает, что служба получателя - aSubscriberReceiver,тогда следующий оператор прочтет первое сообщение, не удаляя его: Пример 24: DB2MQ.MQREAD('aSubscriberReceiver') Чтобы задать и сообщения, и темы, под которыми они были выпущены, можно воспользоваться одной из табличных функций. Следующий оператор может получить первые пять сообщений из службы aSubscriberReceiver и вывести и сообщения, и их темы: Пример 25: SELECT t.msg, t.topic FROM table (DB2MQ.MQRECEIVEALL('aSubscriberReceiver',5)) t Для чтения всех сообщений с темой ALL_EMP можно применить средства SQL: Пример 26: SELECT t.msg FROM table (DB2MQ.MQREADALL('aSubscriberReceiver')) t WHERE t.topic = 'ALL_EMP' Прим.:Важно понять, что если MQRECEIVEALL используется с ограничением, будет использована вся очередь, а не только сообщения с темой ALL_EMP. Вот почему табличная функция выполняется перед применением этого ограничения. Если вы больше не нуждаетесь в подписке на конкретную тему, нужно явно отменить подписку, воспользовавшись таким оператором: Пример 27: DB2MQ.MQUNSUBSCRIBE('aSubscriber', 'ALL_EMP') После запуска такого оператора посредник публикации/подписки больше не будет поставлять сообщения, отвечающие критериям данной подписки. Автоматическая публикация сообщений Другим важным способом передачи сообщений базы данных является автоматическая публикация сообщений. С помощью триггера DB2 можно автоматически публиковать сообщения при вызове триггера. Существуют и другие способы автоматической публикации сообщений, но подход с использованием триггера предоставляет администраторам или разработчикам большую свободу в конструировании содержания сообщений и гибкость при определении действий триггера. Как и при любом другом использовании триггера, следует обратить внимание на частоту и стоимость его работы. Следующие примеры показывают, как можно использовать триггеры с функциями DB2 MQSeries. В примере ниже показано, как просто при помощи триггера публиковать сообщение при найме каждого нового служащего. Любые пользователи или программы, подписывающиеся в службе HR_INFO_PUB с регистрацией темы NEW_EMP, будут получать сообщение, содержащее дату, имя и отдел для каждого нового сотрудника. Пример 28: CREATE TRIGGER new_employee AFTER INSERT ON employee REFERENCING NEW ASn FOR EACH ROW MODE DB2SQL VALUES DB2MQ.MQPUBLISH('HR_INFO_PUB&', 'NEW_EMP', current date || ' ' || LASTNAME || ' ' || DEPARTMENT) ------------------------------------------------------------------------ 18.6 enable_MQFunctions enable_MQFunctions Подключает функции DB2 MQSeries для заданной базы данных и проверяет возможность их правильного выполнения. Эта команда завершится неудачно, если не установлены и не сконфигурированы MQSeries и интерфейс MQSeries AMI. Авторизация Одни из следующих: * sysadm * dbadm * Полномочия IMPLICIT_SCHEMA для базы данных, если нет неявного или явного имени схемы данной функции * Привилегия CREATEIN для схемы, если существует имя схемы DB2MQ Синтаксис >>-enable_MQFunctions----n--база_данных----u--ID_пользователя---> >-----p--пароль----+--------+---+-------------+---------------->< '-force--' '-noValidate--' Параметры команды -n база_данных Задает имя базы данных, для которой включаются функции. -u ID_пользователя Задает ID пользователя для соединения с базой данных. -p пароль Задает пароль для данного ID пользователя. -force Задает, что следует игнорировать предупреждения при переустановке. -noValidate Задает, что проверка функций DB2 MQSeries выполняться не будет. Примеры В следующем примере создаются функции DB2MQ. Пользователь соединяется с базой данных SAMPLE. Используется схема по умолчанию DB2MQ. enable_MQFunctions -n sample -u user1 -p password1 Замечания по использованию Функции DB2 MQ запускаются под схемой DB2MQ, которая автоматически создается этой командой. Перед тем, как выполнить данную команду: * Убедитесь, что установлены MQ и AMI, и что установлены функции MQSeries Версии 5.1 или новее. * Проверьте, что задана переменная среды $AMT_DATA_PATH. * Перейдите в подкаталог cfg каталога DB2PATH В UNIX: * Воспользуйтесь командой db2set, чтобы добавить AMT_DATA_PATH в DB2ENVLIST. * Убедитесь, что учетная запись пользователя, связанная с выполнением пользовательской функции (UDF), относится к группе mqm. * Убедитесь, что пользователь, который будет вызывать эту команду, входит в группу mqm. Прим.:MQSeries Версии 5.2 не поддерживает AIX Версии 4.2. ------------------------------------------------------------------------ 18.7 disable_MQFunctions disable_MQFunctions Отключает использование функций DB2 MQSeries для заданной базы данных. Авторизация Одни из следующих: * sysadm * dbadm * Полномочия IMPLICIT_SCHEMA для базы данных, если нет неявного или явного имени схемы данной функции * Привилегия CREATEIN для схемы, если существует имя схемы DB2MQ Синтаксис >>-disable_MQFunctions----n--база_данных----u--ID_пользователя--> >-----p--пароль------------------------------------------------>< Параметры команды -n база_данных Задает имя базы данных. -u ID_пользователя Задает ID пользователя, используемый для соединения с базой данных. -p пароль Задает пароль для данного ID пользователя. Примеры В следующем примере функции DB2MQ отключаются для базы данных SAMPLE. disable_MQFunctions -n sample -u user1 -p password1 ------------------------------------------------------------------------ Инструменты управления Частичное содержание * Центр управления o 19.1 Возможность управления серверами DB2 Server for VSE and VM o 19.2 Поддержка Java 1.2 для Центра управления o 19.3 Ошибка "Неверный ярлык" при использовании электронной справки в операционной системе Windows o 19.4 Клавиши быстрого вызова не работают o 19.5 Центр управления в виде Java в OS/2 o 19.6 Ошибка "Доступ к файлу запрещен" при попытке просмотреть завершенное задание в журнале операционной системы Windows o 19.7 Соединение для проверки многоузлового изменения o 19.8 Центр управления для DB2 for OS/390 o 19.9 Необходимое исправление для Центра управления для OS/390 o 19.10 Изменения в окне Создать географический слой o 19.11 Информация по устранению неисправностей для Центра управления DB2 o 19.12 Устранение неисправностей для Центра управления в системах на основе UNIX o 19.13 Возможные проблемы со всплывающими справками в OS/2 o 19.14 Справка для параметра конфигурации jdk11_path o 19.15 Системная ошибка Solaris (SQL10012N) при использовании Центра сценариев или журнала o 19.16 Справка для файла DPREPL.DFT o 19.17 Запуск нескольких апплетов Центра управления o 19.18 Электронная справка для Центра управления, выполняемого как апплет o 19.19 Выполнение Центра управления в режиме апплета (Windows 95) o 19.20 Работа с большими результатами запросов * Информационный центр o 20.1 Ошибка "Неверный ярлык" в операционной системе Windows o 20.2 Открытие внешних ссылок Web в Netscape Navigator, если Netscape уже открыт (системы на основе UNIX) o 20.3 Проблемы запуска Информационного центра * Мастера o 21.1 Задание размера экстента в мастере по созданию базы данных o 21.2 Мастер поддержки MQSeries o 21.3 Мастер поддержки OLE DB ------------------------------------------------------------------------ Центр управления ------------------------------------------------------------------------ 19.1 Возможность управления серверами DB2 Server for VSE and VM В Центре управления DB2 Universal Database Версии 7 улучшена поддержка баз данных DB2 Server for VSE and VM. С помощью Центра управления можно просмотреть все объекты баз данных DB2 Server for VSE and VM. Поддерживаются также операторы CREATE INDEX, REORGANIZE INDEX и UPDATE STATISTICS и команда REBIND. Для REORGANIZE INDEX и REBIND требуется выполнение хранимой процедуры на хостах DB2 Server for VSE and VM. Эта хранимая процедура поставляется средством Центра управления для VSE и VM DB2 для Server for VSE and VM. Полностью интегрированный Центр управления позволяет пользователю управлять DB2 независимо от того, на какой платформе работает сервер DB2. Объекты DB2 Server for VSE and VM выводятся в главном окне Центра управления вместе с объектами DB2 Universal Database. При выборе объекта вызываются соответствующие действия и утилиты для управления этим объектом. Например, пользователь может вывести список индексов конкретной базы данных, выбрать один из этих индексов и реорганизовать его. Пользователь может также вывести список таблиц базы данных и выполнить сбор статистической информации или определить одну из таблиц в качестве источника репликации. Информацию о конфигурировании Центра управления для выполнения задач администратора для объектов DB2 Server for VSE and VM смотрите в руководстве DB2 Connect. Руководство пользователя или Дополнение по установке и настройке. ------------------------------------------------------------------------ 19.2 Поддержка Java 1.2 для Центра управления Центр управления поддерживает языки с двумя направлениями письма, такие как арабский или иврит, используя средства поддержки таких языков в Java 1.2. Эта поддержка обеспечивается только для платформ Windows NT. Необходимо установить Java 1.2, чтобы Центр управления мог распознать и использовать этот продукт: 1. JDK 1.2.2 находится на компакт-диске DB2 UDB в каталоге DB2\bidi\NT. ibm-inst-n122p-win32-x86.exe - это программа установки, а ibm-jdk-n122p-win32-x86.exe - дистрибутив JDK. Скопируйте оба эти файла во временный каталог на жестком диске и затем запустите оттуда программу установки. 2. Установите этот продукт в каталог \java\Java12, где - путь установки DB2. 3. При установке JDK/JRE не выбирайте JDK/JRE в качестве системной VM. Когда Java 1.2 успешно установлен, при обычном запуске Центра управления будет использоваться Java 1.2. Чтобы прекратить использовать Java 1.2, можно или деинсталлировать JDK/JRE из каталога \java\Java12, или просто переименовать подкаталог \java\Java12, задав для него какое-либо другое имя. Прим.:Не спутайте \java\Java12 с \Java12.\Java12 - это часть установки DB2, содержащая поддержку JDBC для Java 1.2. ------------------------------------------------------------------------ 19.3 Ошибка "Неверный ярлык" при использовании электронной справки в операционной системе Windows При использовании электронной справки Центра управления может возникнуть ошибка "Неверный ярлык". Если недавно был установлен новый браузер Web (или новая версия браузера), убедитесь, что документы HTML и HTM связаны с правильным браузером. Посмотрите в Справке Windows раздел "Чтобы выбрать программу, открывающую файл". ------------------------------------------------------------------------ 19.4 Клавиши быстрого вызова не работают В некоторых языках для Центра управления в системах на основе UNIX и в OS/2 не работают некоторые клавиши быстрого вызова (горячие клавиши). Используйте для выбора опций мышь. ------------------------------------------------------------------------ 19.5 Центр управления в виде Java в OS/2 Центр управления должен быть установлен на диске с файловой системой HPFS. ------------------------------------------------------------------------ 19.6 Ошибка "Доступ к файлу запрещен" при попытке просмотреть завершенное задание в журнале операционной системы Windows В DB2 Universal Database for Windows NT при попытке открыть журнал для просмотра информации о задании, созданном в Центре сценариев возникает ошибка "Доступ к файлу запрещен". Состояние этого задания указывается как завершенное. Это происходит, если задание, созданное Центре сценариев, содержит команду START. Чтобы избежать такой ошибки, используйте START/WAIT вместо START в пакетном файле и в самом задании. ------------------------------------------------------------------------ 19.7 Соединение для проверки многоузлового изменения В Центре управления Версии 7 работа соединения для проверки многоузлового изменения зависит от версии экземпляра назначения. Для удаленной работы экземпляр назначения должен быть не ниже Версии 7. Для работы соединения для проверки многоузлового изменения в Версии 6 необходимо перенести Центр управления в систему экземпляра назначения и выполнять его оттуда. ------------------------------------------------------------------------ 19.8 Центр управления для DB2 for OS/390 Центр управления DB2 UDB for OS/390 позволяет управлять использованием лицензированных утилит DB2 IBM. Функции утилит, входящие в отдельно заказываемые средства DB2 UDB for OS/390, должны быть лицензированы и установлены в вашей среде, прежде чем ими можно будет управлять с помощью Центра управления DB2. База данных "CC390", создаваемая для Центра управления при конфигурировании подсистемы DB2 for OS/390, используется для внутренней поддержки Центра управления. Не изменяйте эту базу данных. Хотя DB2 for OS/390 Версии 7.1 специально не упомянута в таблице содержимого для Центра управления или в информации о задачах информационного центра, эта документация поддерживает функции DB2 for OS/390 Версии 7.1. В таблице содержимого не указаны версии для многих функций DB2 for OS/390, появляющихся только в Версии 6 и использующиеся также в Версии 7.1, и некоторых функций DB2 for OS/390, использующихся только в Версии 7.1. Сконфигурировав в Центре управления подсистему DB2 for OS/390 Версии 7.1, вы получите доступ ко всей документации по этой версии. Чтобы из Центра управления для DB2 for OS/390 можно было использовать функцию DDL Generate, эта функция должна быть установлена: * Для Версии 5 установите DB2Admin 2.0 с DB2 for OS/390 Версии 5. * Для Версии 6 установите небольшое программное усовершенствование, которое будет доступно в виде PTF для средства Admin DB2 для DB2 for OS/390 Версии 6. * Для Версии 7.1 функция DDL Generate входит в отдельно поставляемое средство Admin DB2 для DB2 for OS/390 Версии 7.1. Из Центра управления можно обращаться к построителю хранимых процедур, но он должен быть уже установлен в момент запуска Центра управления DB2 UDB. Он входит в клиент разработки программ DB2. Чтобы внести в каталог подсистему DB2 for OS/390 прямо на рабочей станции, используйте Ассистент конфигурирования клиента. 1. На странице Источник выберите радиокнопку Конфигурировать соединение с базой данных вручную. 2. На странице Протокол введите соответствующую информацию о связи. 3. На странице Подсистема задайте имя подсистемы в поле Имя базы данных. 4. На странице Опции узла включите переключатель Сконфигурировать опции узла (необязательные). 5. Выберите MVS/ESA, OS/390 из списка в поле Операционные системы. 6. Нажмите кнопку Завершить, чтобы закончить конфигурирование. Чтобы внести в каталог подсистему DB2 for OS/390 через компьютер шлюза, выполните описанные выше шаги с 1 по 6 на компьютере шлюза и затем: 1. Запустите Центр управления на компьютере клиента. 2. Щелкните правой кнопкой мыши по папке Системы и выберите Добавить. 3. В окне Добавить систему введите имя компьютера шлюза в поле Имя системы. 4. В поле Удаленный экземпляр введите DB2DAS00. 5. Для протокола TCP/IP в параметрах протокола в поле Имя хоста задайте имя хоста компьютера шлюза. 6. В поле Имя службы введите 523. 7. Нажмите кнопку OK, чтобы добавить систему. Компьютер шлюза будет добавлен в папку Системы. 8. Раскройте объект этого компьютера шлюза. 9. Щелкните правой кнопкой мыши по папке Экземпляры и выберите Добавить. 10. В окне Добавить экземпляр нажмите кнопку Обновить, чтобы вывести список экземпляров, доступных на компьютере шлюза. Если компьютер шлюза - это система Windows NT, подсистема DB2 for OS/390 может быть каталогизирована под экземпляром DB2. 11. Выберите экземпляр. Параметры протокола будут автоматически заполнены для этого экземпляра. 12. Нажмите кнопку OK, чтобы добавить экземпляр. 13. Откройте папку Экземпляры, чтобы увидеть только что добавленный экземпляр. 14. Раскройте объект этого экземпляра. 15. Щелкните правой кнопкой мыши по папке Базы данных и выберите Добавить. 16. Нажмите кнопку Обновить, чтобы вывести список локальных баз данных на компьютере шлюза. Если вы добавляете подсистему DB2 в окне Добавить базу данных, введите имя подсистемы в поле Имя базы данных. Необязательно: Введите локальный алиас для этой подсистемы (или базы данных). 17. Нажмите кнопку OK. Теперь эта подсистема успешно добавлена в Центр управления. Когда вы откроете эту базу данных, вы увидите подсистему DB2 for OS/390. В первом абзаце раздела "Центр управления 390" говорится: The DB2 UDB Control Center for OS/390 allows you to manage the use of your licensed IBM DB2 utilities. Utility functions that are elements of separately orderable features of DB2 UDB for OS/390 must be licensed and installed in your environment before being managed by the DB2 Control Center. Этот раздел должен выглядеть так: Центр управления DB2 for OS/390 позволяет управлять использованием ваших лицензированных утилит DB2 IBM. Функции утилит, входящие в приобретаемые отдельно продукты, надо лицензировать и установить в вашей среде, чтобы Центр управления DB2 мог управлять ими. ------------------------------------------------------------------------ 19.9 Необходимое исправление для Центра управления для OS/390 Необходимо применить APAR PQ36382 для средства 390 Enablement в DB2 for OS/390 Версии 5 и DB2 for OS/390 Версии 6, чтобы можно было управлять этими подсистемами с помощью Центра управления DB2 UDB для Версии 7. Без этого исправления нельзя использовать Центр управления DB2 UDB Версии 7 для запуска утилит для этих подсистем. Этот APAR нужно применить для следующих FMID: 390 Enablement в DB2 for OS/390 Версия 5: FMID JDB551D 390 Enablement в DB2 for OS/390 Версия 6: FMID JDB661D ------------------------------------------------------------------------ 19.10 Изменения в окне Создать географический слой Из окна Создать географический слой удалены кнопки "<<" и ">>". ------------------------------------------------------------------------ 19.11 Информация по устранению неисправностей для Центра управления DB2 В главе "Установка и конфигурирование Центра управления" книги "Быстрый старт" сказано, что если возникают ошибки при запуске Центра управления в виде апплета, нужно в командном окне отменить задание браузера клиента в CLASSPATH. В этом разделе сказано также, что нужно запустить браузер из того же командного окна. Однако там не приведена команда запуска браузера. Для запуска Internet Explorer введите start iexplore и нажмите клавишу Enter. Для запуска Netscape введите start netscape и нажмите клавишу Enter. В этих командах предполагается, что путь браузера записан в PATH. Если это не так, добавьте путь браузера в PATH или перейдите в каталог установки браузера и повторите команду start. ------------------------------------------------------------------------ 19.12 Устранение неисправностей для Центра управления в системах на основе UNIX Если не удается запустить Центр управления в системе на основе UNIX, задайте переменную среды JAVA_HOME, чтобы она указывала путь установки Java: * Если Java установлен в каталоге /usr/jdk118, задайте для JAVA_HOME значение /usr/jdk118. * Для оболочек sh, ksh или bash: export JAVA_HOME=/usr/jdk118. * Для оболочек csh или tcsh: setenv JAVA_HOME /usr/jdk118 ------------------------------------------------------------------------ 19.13 Возможные проблемы со всплывающими справками в OS/2 Если Центр управления используется в OS/2 в режиме с размером экрана 1024x768 и 256 цветами и с включенной опцией "Знать палитру рабочего стола", всплывающие справки, выходящие за границы текущего окна, могут выводиться черным текстом на черном фоне. Чтобы исправить эту ошибку, или измените режим экрана на более чем 256 цветов, или отключите опцию "Знать палитру рабочего стола". ------------------------------------------------------------------------ 19.14 Справка для параметра конфигурации jdk11_path В справке Центра управления в описании параметра конфигурации jdk11_path (путь установки Java Development Kit 1.1) пропущена строка под заголовком Применяется к. Полный список под заголовком Применяется к: * Сервер баз данных с локальными и удаленными клиентами * Клиент * Сервер баз данных с локальными клиентами * Сервер многораздельных баз данных с локальными и удаленными клиентами * Сервер сателлитных баз данных с локальными клиентами ------------------------------------------------------------------------ 19.15 Системная ошибка Solaris (SQL10012N) при использовании Центра сценариев или журнала При выборе из Центра сценариев или из журнала системы Solaris может возникнуть следующая ошибка: SQL10012N - Непредвиденная ошибка операционной системы при загрузке библиотеки "/udbprod/db2as/sqllib/function/unfenced/ db2scdar!ScheduleInfoOpenScan". SQLSTATE=42724. Эта ошибка вызвана ошибкой компоновщика времени выполнения системы Solaris. Чтобы исправить эту ошибку, примените следующие программные исправления: 105490-06 (107733 делает 105490 устаревшим) для Solaris 2.6 ------------------------------------------------------------------------ 19.16 Справка для файла DPREPL.DFT В Центре управления в справке для страницы Репликация записной книжки Параметры инструментов в шаге 5d сказано: Save the file into the working directory for the Control Center (for example, SQLLIB\BIN) so that the system can use it as the default file. Правильный текст для шага 5d: Сохраните этот файл в рабочем каталоге для Центра управления (SQLLIB\CC), чтобы система могла использовать его в качестве файла по умолчанию. ------------------------------------------------------------------------ 19.17 Запуск нескольких апплетов Центра управления На одном компьютере можно одновременно запустить только один апплет Центра управления. Это ограничение применяется к апплетам Центра управления, выполняющимся во всех поддерживаемых браузерах. ------------------------------------------------------------------------ 19.18 Электронная справка для Центра управления, выполняемого как апплет Если Центр управления выполняется как апплет, клавиша F1 работает только в окнах и записных книжках, для которых есть всплывающие справки. Чтобы получить всплывающие справки, можно нажать клавишу F1 в следующих компонентах: * DB2 Universal Database for OS/390 * Мастеры В остальных компонентах Центра управления клавиша F1 не вызывает справку. Для вывода справки для других компонентов используйте кнопку Справка или выпадающее меню Справка. ------------------------------------------------------------------------ 19.19 Выполнение Центра управления в режиме апплета (Windows 95) При попытке открыть Центр сценариев может возникнуть ошибка, если заданы неверные ID пользователя и пароль. Убедитесь, что при регистрации в Центре управления введены правильные ID пользователя и пароль. ------------------------------------------------------------------------ 19.20 Работа с большими результатами запросов Пользователь легко может построить запрос, который вернет большое число строк. Для пользователя не так просто предсказать, сколько строк может быть реально возвращено. Запросы, которые потенциально могут вернуть тысячи (или миллионы) строк, ставят две проблемы: 1. Для получения результата может потребоваться много времени. 2. Для хранения этого результата на клиенте может потребоваться много памяти. Чтобы упростить работу, DB2 разбивает большой набор результатов на порции. Она получает и выводить результаты запроса по порции за раз. В результате:: 1. Время отклика сокращается, так как первая порция становится доступной для просмотра, пока идет получение остальных порций. 2. Требования к памяти на клиенте смягчаются, так как в каждый момент на клиенте хранится только одна порция. Чтобы управлять числом строк результата в памяти:: 1. Откройте страницу Общие записной книжки Параметры инструментов. 2. В разделе Максимальный размер выберите: o Пример содержания, чтобы ограничить число строк результата, выводимых в окне Пример содержания. Задайте размер порции набора результатов (число строк) в поле ввода. o Командный центр, чтобы ограничить число строк результата, выводимых в окне Результаты запроса Командного центра. Задайте размер порции набора результатов (число строк) в поле ввода. При работе с результатами запроса в окне Пример содержания или на странице Результаты запроса поле Строк в памяти указывает, сколько строк хранится в памяти для этого запроса. Это число никогда не превышает заданного Максимального размера. Нажмите кнопку Далее, чтобы получить следующую порцию набора результатов. Если кнопка Далее неактивна, достигнут конец набора результатов. ------------------------------------------------------------------------ Информационный центр ------------------------------------------------------------------------ 20.1 Ошибка "Неверный ярлык" в операционной системе Windows При использовании Информационного центра может возникнуть ошибка "Неверный ярлык". Если недавно был установлен новый браузер Web (или новая версия браузера), убедитесь, что документы HTML и HTM связаны с правильным браузером. Посмотрите в Справке Windows раздел "Чтобы выбрать программу, открывающую файл". ------------------------------------------------------------------------ 20.2 Открытие внешних ссылок Web в Netscape Navigator, если Netscape уже открыт (системы на основе UNIX) Если Netscape Navigator уже открыт и в нем выводится содержимое локального документа HTML DB2 или документа с внешнего сайта Web, при попытке открыть внешний сайт Web из Информационного центра возникнет ошибка Netscape. В сообщении об ошибке будет сказано: "Netscape не может найти файл или каталог с именем ." Чтобы обойти эту ошибку, закройте открытый браузер Netscape перед тем, как открывать внешний сайт Web. Netscape будет перезапущен и покажет этот внешний сайт Web. Учтите, что эта ошибка не возникает при попытке открыть локальный документ HTML DB2, когда Netscape уже открыт. ------------------------------------------------------------------------ 20.3 Проблемы запуска Информационного центра В некоторых системах Информационный центр может запускаться с запаздыванием, если он запущен через меню Пуск, программу Первые шаги или командой db2ic. Если вы столкнулись с этой проблемой, запустите Центр управления и затем выберите Справка -> Информационный центр. ------------------------------------------------------------------------ Мастера ------------------------------------------------------------------------ 21.1 Задание размера экстента в мастере по созданию базы данных В мастере по созданию базы данных можно задать параметры размер экстента и размер предварительной выборки для пользовательского табличного пространства (но не для таблиц каталога или временных таблиц) новой базы данных. Эта возможность разрешена, только если на странице "Пользовательские таблицы" этого мастера для этого пользовательского табличного пространства задан хотя бы один контейнер. ------------------------------------------------------------------------ 21.2 Мастер поддержки MQSeries DB2 Версии 7.2 содержит новый мастер поддержки MQSeries. Этот мастер создает табличную функцию, которая читает данные из очереди MQSeries, используя для этого функции DB2 MQSeries (они также появились только в Версии 7.2). Вы можете задать, как мастер будет интерпретировать каждое сообщение MQSeries: как строку с разделителями или как строку со столбцами фиксированной длины. Созданная табличная функция анализирует эту строку в соответствии с заданными вами параметрами и возвращает каждое сообщение MQSeries в виде строки таблицы для этой табличной функции. Этот мастер позволяет также создать над этой табличной функцией производную таблицу и просматривать сообщения MQSeries и результат табличной функции. Этот мастер можно запустить из построителя хранимых процедур или из Центра хранилищ данных. Для этого мастера необходимы: * MQSeries версии 5.2 * MQSeries Application Messaging Interface (AMI) * Функции DB2 MQSeries Подробности этих требований приводятся в разделе MQSeries. Примеры и учебник по мастеру поддержки MQSeries смотрите в разделе обучения по адресу http://www.ibm.com/software/data/db2/udb/ide ------------------------------------------------------------------------ 21.3 Мастер поддержки OLE DB Этот мастер помогает создать табличную функцию, читающую данные из базы данных другого типа, поддерживающей стандарт Microsoft OLE DB. Можно также создать таблицу DB2, содержащую данные, считанные табличной функцией OLE DB, и создать производную таблицу для этой табличной функции OLE DB. Этот мастер можно запустить из построителя хранимых процедур или из Центра хранилищ данных. Для этого мастера необходимы: * Провайдер OLE DB (такой как Oracle или Microsoft SQL Server) * Функции поддержки OLE DB Примеры и учебник по мастеру поддержки OLE DB смотрите в разделе обучения по адресу http://www.ibm.com/software/data/db2/udb/ide ------------------------------------------------------------------------ Возможности для бизнеса Частичное содержание * Business Intelligence Tutorial (Учебник Business Intelligence Tutorial) o 22.1 Исправленный учебник Business Intelligence Tutorial * DB2 Universal Database - Quick Tour * Центр хранилищ данных Administration Guide o 24.1 Доступные обновления o 24.2 Усовершенствования сервера хранилищ o 24.3 Обновлено управление программами преобразования ETI.Extract(R) при помощи Менеджера хранилищ DB2 o 24.4 Импорт и экспорт метаданных с помощью CWMI (Common Warehouse Metadata Interchange - общий обмен метаданными хранилищ) + 24.4.1 Введение + 24.4.2 Импорт метаданных + 24.4.3 Изменение ваших метаданных после запуска утилиты импорта + 24.4.4 Экспорт метаданных o 24.5 Утилита импорта/экспорта метаданных языка меток + 24.5.1 Определения ключей + 24.5.2 Расписания шагов и процессов o 24.6 Информация о шаге SAP + 24.6.1 Задержка при указании выходных параметров для шага SAP + 24.6.2 Значения входных параметров совместно используются шагами SAP + 24.6.3 Ошибка нарушения доступа при запуске шага SAP o 24.7 Информация о соединителе SAP + 24.7.1 Ограничения на установку соединителя SAP + 24.7.2 Производительность BAPI GetDetail * Начальный комплект OLAP DB2 o 25.1 Web-сайт сервера OLAP o 25.2 Поддерживаемые служебные уровни операционных систем o 25.3 Установка Начального комплекта OLAP DB2 в UNIX o 25.4 Дополнительная настройка для операционной среды Solaris o 25.5 Дополнительная настройка для всех операционных систем o 25.6 Конфигурирование ODBC для Начального комплекта OLAP + 25.6.1 Конфигурирование источников данных в системах UNIX + 25.6.1.1 Конфигурирование переменных среды ODBC + 25.6.1.2 Редактирование файла odbc.ini + 25.6.1.3 Добавление источника данных в файл odbc.ini + 25.6.1.4 Пример параметров ODBC для DB2 + 25.6.1.5 Пример параметров ODBC для Oracle + 25.6.2 Конфигурирование каталога метаданных OLAP в системах UNIX + 25.6.3 Конфигурирование источников данных в системах Windows + 25.6.4 Конфигурирование каталога метаданных OLAP в системах Windows + 25.6.5 После конфигурирования источника данных o 25.7 Регистрация с рабочего стола Начального комплекта OLAP + 25.7.1 Пример регистрации для Начального комплекта o 25.8 Создание и конфигурирование вручную баз данных примера для Начального комплекта OLAP o 25.9 Перенастройка прикладных программ в Начальный комплект OLAP Версии 7.2 o 25.10 Известные проблемы и ограничения o 25.11 Отсутствие файлов EQD встраиваемого модуля OLAP для электронных таблиц * Information Catalog Manager Administration Guide (Руководство администратора Менеджера каталогов данных) o 26.1 Утилита инициализации менеджера каталогов данных + 26.1.1 + 26.1.2 Вопросы лицензирования + 26.1.3 Вопросы установки o 26.2 Усовершенствования в менеджере каталогов данных o 26.3 Несовместимость между Менеджером каталогов данных и Sybase в среде Windows o 26.4 Доступ к каталогам данных DB2 Версии 5 при помощи менеджера каталогов данных DB2 Версии 7 o 26.5 Конфигурирование каталога данных o 26.6 Обмен метаданными с другими продуктами o 26.7 Обмен метаданными при помощи командами flgnxoln o 26.8 Обмен метаданными при помощи команды MDISDGC o 26.9 Вызов программ * Information Catalog Manager Programming Guide and Reference (Справочное руководство по программированию Менеджера каталогов данных) o 27.1 Коды причин Менеджера каталогов данных * Information Catalog Manager User's Guide (Руководство пользователя Менеджера каталогов данных) * Менеджер каталогов данных: Сообщения o 29.1 Исправления сообщений FLG + 29.1.1 Сообщение FLG0260E + 29.1.2 Сообщение FLG0051E + 29.1.3 Сообщение FLG0003E + 29.1.4 Сообщение FLG0372E + 29.1.5 Сообщение FLG0615E * Менеджер каталогов данных: Электронная справка o 30.1 Менеджер каталогов данных для Web * DB2 Warehouse Manager Installation Guide (Руководство по установке Менеджера каталогов данных) o 31.1 Доступные обновления руководства DB2 Warehouse Manager Installation Guide o 31.2 Требования к программному обеспечению для преобразователей хранилища o 31.3 Соединитель для SAP R/3 + 31.3.1 Предварительные требования для установки o 31.4 Соединитель для Web + 31.4.1 Предварительные требования для установки * Query Patroller Administration Guide (Руководство администратора Query Patroller) o 32.1 Клиент DB2 Query Patroller - это отдельный компонент o 32.2 Перенастройка из Версии 6 DB2 Query Patroller с использованием dqpmigrate o 32.3 Включение управления запросами o 32.4 Положение табличного пространства для управляющих таблиц o 32.5 Новые параметры команды dqpstart o 32.6 Новый параметр команды iwm_cmd o 32.7 Новая переменная реестра: DQP_RECOVERY_INTERVAL o 32.8 Запуск QueryAdministrator o 32.9 Управление пользователями o 32.10 Создание очереди заданий o 32.11 Использование интерфейса командной строки o 32.12 Замечания по Query Enabler o 32.13 DB2 Query Patroller Tracker может возвратить пустую страницу столбцов o 32.14 Query Patroller и средства репликации o 32.15 Улучшения производительности Query Patroller o 32.16 Потеря привилегии EXECUTE для пользователей Query Patroller, созданных в версии 6 o 32.17 Ограничения Query Patroller o 32.18 Приложение B. Troubleshooting DB2 Query Patroller Clients (Устранение неисправностей клиентов DB2 Query Patroller) ------------------------------------------------------------------------ Business Intelligence Tutorial (Учебник Business Intelligence Tutorial) ------------------------------------------------------------------------ 22.1 Исправленный учебник Business Intelligence Tutorial FixPak 2 содержит исправленный учебник Business Intelligence Tutorial по обработке деловой информации и пример базы данных Центра хранилищ данных, где устранен ряд ошибок Версии 7.1. Чтобы применить исправленный образец базы данных Центра хранилищ данных, необходимо: Если вы еще не установили образцы баз данных, создайте новые образцы баз данных с помощью панели запуска Первые шаги. Нажмите кнопкуПуск и выберите Программы --> DB2 IBM --> Первые шаги. Если у вас уже установлены баз данных примера, отбросьте баз данных примера DWCTBC, TBC_MD и TBC. Если в базах данных надо сохранить ранее добавленную информацию, прежде чем отбросить базы данных, создайте для нее резервные копии. Чтобы отбросить три баз данных примера: 1. Откройте окно команд DB2, нажав кнопку Пуск и выбрав Программы --> DB2 IBM --> Окно команд. 2. В окне команд DB2 последовательно введите следующие три команды, нажимая после каждой из них клавишу Enter: db2 drop database dwctbc db2 drop database tbc_md db2 drop database tbc 3. Закройте командное окно DB2. 4. Создайте новые баз данных примера с помощью панели запуска Первые шаги. Нажмите кнопкуПуск и выберите Программы --> DB2 IBM --> Первые шаги. ------------------------------------------------------------------------ DB2 Universal Database - Quick Tour Quick Tour недоступен для DB2 for Linux или Linux/390. Quick Tour оптимизирован для работы с мелкими системными шрифтами. Для правильного просмотра Quick Tour в OS/2 может потребоваться настройка размера шрифтов браузера Web. Информацию о том, как настроить размер шрифтов, смотрите в справке браузера Web. Для правильного просмотра Quick Tour при использовании однобайтных символов рекомендуется использовать шрифт Helv размером 8 пунктов. При использовании японского или корейского языка рекомендуется использовать шрифт Mincho размером 8 пунктов. Задавая параметры шрифтов, выберите в окне Предпочтения опцию "Использовать мои шрифты по умолчанию, переопределяя шрифты, заданные в документе". В некоторых случаях Quick Tour может запускать второе окно браузера. Чтобы исправить эту ошибку, закройте Quick Tour и выполните шаги, описанные в разделе 2.4, Сообщения об ошибках при попытке запуска Netscape. При запуске Quick Tour вы можете получить сообщение об ошибке JavaScript, подобное следующему: file:/C/Program Files/SQLLIB/doc/html/db2qt/index4e.htm, строка 65: Окно не определено. Эта ошибка JavaScript не дает странице запуска Quick Tour index4e.htm автоматически закрыться после запуска Quick Tour. Страницу запуска Quick Tour можно закрыть, закрыв окно браузера, в котором выводится страница index4e.htm. В разделе "Что нового" в теме Управление данными сказано, что в Версии 7.1 поддерживается архивирование журналов по требованию. Это неверно. Кроме того, сказано также: Размер файлов журнала увеличен с 4 до 32 Гбайт. Это предложение следует читать так: Общее пространство активного журнала увеличено с 4 до 32 Гбайт. В разделе о менеджере связей данных DB2 есть предложение: Кроме того, теперь он поддерживает интерфейс XBSA фирмы Veritas для резервного копирования и восстановления при помощи NetBackup. Это предложение следует читать так: Кроме того, теперь он поддерживает интерфейс XBSA фирмы Veritas для архивирования и восстановления файлов. В число менеджеров памяти, поддерживающих интерфейс XBSA, входят Legato NetWorker и Veritas NetBackup. ------------------------------------------------------------------------ Центр хранилищ данных Administration Guide ------------------------------------------------------------------------ 24.1 Доступные обновления Центр хранилищ данных Administration Guide обновление; свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Информация этих замечаний дополняет данную ссылку. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ 24.2 Усовершенствования сервера хранилищ В Fixpak 4 были внесены следующие улучшения сервера хранилищ: Ошибка при закрытии агента (rc = 7170, вторичный rc = 6106). Эта ошибка происходила, когда агент закрывался до того, как сервер посылал требование на закрытие. Сообщать об этой ошибке не требовалось; теперь это сообщение отменено. Сообщение системы и комментарий, записанные в файл журнала После завершения работы пользовательской программы в файл журнала хранилища будут записаны сообщение системы и комментарий. Эти сообщения теперь видны в окне Выполняемая работа. Инкрементное принятие теперь работает правильно Если ошибка происходит на шаге заполнения базы данных - потребителя и значение инкрементного принятия больше 0, в базе данных - потребителе появятся все результаты, принятые до ошибки. До Fixpak 4 частичные результаты удалялись. Невозможно запустить сервер хранилища после исправленной ошибки изменения уровня трассировки Сервер хранилища считывает имя каталога записи в журнал из системной переменной среды VWS_LOGGING. Если VWS_LOGGING отсутствует или указывает на неверное имя каталога, вместо нее используется системная переменная среды TEMP. Если TEMP отсутствует или содержит неверное имя каталога, файлы трассировки функции журнала записываются в c:\. Это исправляет ошибку в версиях, предшествовавших Fixpak 4, вызванную считыванием неверного каталога записи в журнал из реестра. Дополнительная поддержка для команд принятия в хранимых процедурах Сервер хранилища посылает команду принятия агенту после запуска пользовательских хранимых процедур. Усовершенствование примера содержания Серверу хранилищ больше не надо ждать сообщения о закрытии агента, поэтому пример содержания работает эффективнее. Теперь можно управлять размером файлов журнала трассировки Теперь можно управлять размером файла журнала трассировки при помощи новой системной переменной среды VWS_SERVER_LOG_MAX. Если установить значение VWS_SERVER_LOG_MAX больше 0, сервер хранилища прекратит увеличивать файл журнала, когда он достигнет размера, приблизительно равного числу байтов, указываемых значением VWS_SERVER_LOG_MAX. Когда файл журнала достигает максимального размера, новые записи журнала трассировки записываются вместо старых. При интенсивной трассировке разумный размер - VWS_SERVER_LOG_MAX=150000000 (150 Мбайт). ------------------------------------------------------------------------ 24.3 Обновлено управление программами преобразования ETI.Extract(R) при помощи Менеджера хранилищ DB2 Управление программами преобразования ETI.Extract(R) при помощи Менеджера хранилищ DB2 было обновлено; это обновление можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. ------------------------------------------------------------------------ 24.4 Импорт и экспорт метаданных с помощью CWMI (Common Warehouse Metadata Interchange - общий обмен метаданными хранилищ) 24.4.1 Введение В дополнение к имеющейся поддержке файлов языка тегов Центр хранилищ данных может теперь импортировать и экспортировать метаданные в формате файлов XML, соответствующих стандарту CWM (Common Warehouse Metamodel - общая метамодель хранилища). Импорт и экспорт этих CWM-совместимых файлов XML называется CWMI (Common Warehouse Metadata Interchange). Метаданные можно импортировать и экспортировать из следующих объектов Центра хранилищ данных: * Источники хранилища * Потребители хранилища * Предметные области, включая процессы, источники, потребители, шаги и каскадные связи * Пользовательские программы Утилита экспорта и импорта CWMI не поддерживает метаданные некоторых видов, в том числе, планы, схемы хранилища, пользователи и группы. Центр хранилищ данных создает файл журнала, который содержит результаты процессов импорта и экспорта. Обычно файл журнала создается в каталоге x:\program files\sqllib\logging (где x: - устройство, где вы установили DB2) или в каталоге, заданным переменной среды VWS_LOGGING. Файл журнала представляет собой простой текстовый файл, который можно посмотреть в любом текстовом редакторе. 24.4.2 Импорт метаданных Метаданные можно импортировать как из Центра хранилищ данных, так и из командной строки. Новые объекты, создаваемые в процессе импорта, назначаются группе защиты Центра хранилищ данных по умолчанию. Дополнительную информацию смотрите в разделе "Изменение защиты после импорта" в данных Замечаниях по выпуску. Если импортируются метаданные о шаге, с этим шагом может быть связано несколько файлов. Метаданные о шаге хранятся в файле XML, но с шагом могут быть иногда связаны также данные, хранящиеся как двоичные большие объекты. Имя файла метаданных двоичных больших объектов такое же, как у файла XML, но они существуют в виде отдельных файлов с нумерованными расширениями. При импорте все связанные с шагом файлы должны находиться в одном каталоге. Изменение шагов, находящихся в режиме тестирования или режиме производства Чтобы Центр хранилищ данных смог изменить метаданные шага, шаг должен находиться в режиме разработки. Если шаг находится в режиме тестирования или производства, переведите его в режим разработки перед импортом метаданных: 1. Зарегистрируйтесь в Центре хранилищ данных. 2. Щелкните правой кнопкой мыши по шагу, который надо перевести в другой режим, и выберите Режим. 3. Выберите Разработка. Данный шаг переведен в режим разработки. После завершения импорта метаданных переведите шаг обратно в режим тестирования или производства. Импорт данных из Центра хранилищ данных Метаданные можно импортировать из Центра хранилищ данных: 1. Зарегистрируйтесь в Центре хранилищ данных. 2. Нажмите на левой панели кнопку Хранилище. 3. Выберите Выбранные -> Импорт метаданных -> Файл обмена... 4. В окне Импортировать метаданные задайте имя файла, содержащего метаданные, которые надо импортировать. Имя файла можно ввести самостоятельно или же выбрать в списке. o Если положение файла известно, введите полное имя файла, который надо импортировать. Не забудьте указать расширение .xml, указывающее, что надо импортировать метаданные в формате XML; в противном случае файл будет обработан неправильно. o Чтобы просмотреть ваши файлы: a. Нажмите кнопку с многоточием (...). b. В окне Файл измените Файлы типа на XML. c. Перейдите в правильный каталог и выберите файл, который надо импортировать. Прим.:Файл должен иметь расширение .xml. d. Нажмите кнопку OK. 5. В окне Импортировать метаданные нажмите кнопку OK, чтобы закончить работу. При импорте файла Центром хранилищ данных появляется окно Ход выполнения. Импорт метаданных с помощью командной строки Для импорта метаданных можно также использовать командную строку. Синтаксис команды импорта: CWMImport файл_XML управляющая_база_данныхID_пользователя пароль [PREFIX = схема] файл_XML Полное имя (включая диск и каталог) файла XML, который надо импортировать. Это обязательный параметр. управляющая_база_данных Имя управляющей базы данных хранилища, в которую вы хотите импортировать метаданные. Это обязательный параметр. ID_пользователя ID пользователя, используемый для связи с управляющей базой данных хранилища. Это обязательный параметр. пароль Пароль, используемый для связи с управляющей базой данных хранилища. Это обязательный параметр. [PREFIX=схема] Имя схемы базы данных для системных таблиц Центра хранилищ данных. Если значение для PREFIX= не задано, по умолчанию используется имя IWH. Это необязательный параметр. 24.4.3 Изменение ваших метаданных после запуска утилиты импорта Изменение защиты после импорта В качестве меры защиты Центр хранилищ данных не импортирует и не экспортирует пароли. Пароли для новых объектов обновляются по мере необходимости. Подробнее об особенностях импорта смотрите в руководстве Data Warehouse Center Administration Guide, глава 12, "Exporting and importing Data Warehouse Center metadata". При импорте метаданных все объекты назначаются группе защиты по умолчанию. Группы, имеющие доступ к объекту, можно изменить: 1. Зарегистрируйтесь в Центре хранилищ данных. 2. Щелкните правой кнопкой мыши по папке, содержащей объект, который надо изменить. 3. Выберите Свойства и выберите закладку Защита. 4. Удалите группы из списка Выбранные группы хранилища или добавьте группы в список Доступные группы хранилища. 5. Нажмите кнопку OK. 24.4.4 Экспорт метаданных Метаданные можно экспортировать как из Центра хранилищ данных, так и из командной строки. Метаданные некоторых шагов хранятся как двоичные большие объекты. Метаданные двоичных больших объектов экспортируются в отдельный файл с тем же именем, что и файл XML шага, но с числовыми расширениями (.1, .2 и так далее). Экспорт данных из Центра хранилищ данных Метаданные можно экспортировать из Центра хранилищ данных: 1. Зарегистрируйтесь в Центре хранилищ данных. 2. Нажмите на левой панели кнопку Хранилище. 3. Выберите Выбранные -> Экспорт метаданных -> Файл обмена. 4. В окне Экспорт метаданных задайте имя файла, куда будут записаны экспортированные метаданные. Имя файла можно ввести самостоятельно или выбрать его в списке: o Если вы знаете полное имя требуемого файла, введите его в поле ввода Имя файла. Не забудьте задать расширение .xml, указывающее, что метаданные надо экспортировать в формате XML. o Чтобы просмотреть ваши файлы: a. Нажмите кнопку с многоточием (...). b. В окне Файл измените Файлы типа на XML. c. Перейдите в правильный каталог и выберите файл, в котором должны содержаться экспортированные метаданные. Прим.:Любой существующий файл, выбранный вами, будет перезаписан экспортированными метаданными. d. Нажмите кнопку OK. 5. Если в окне Экспорт метаданных выведено имя нужного файла, выберите в списке Доступные объекты объект, метаданные которого надо экспортировать. 6. Нажмите кнопку >, чтобы переместить выбранный объект из списка Доступные объекты в список Выбранные объекты. Повторяйте эту операцию, пока все экспортируемые объекты не окажутся в списке Выбранные объекты. 7. Нажмите кнопку OK. Центр хранилищ данных создает входной файл, содержащий информацию о выбранных для экспорта объектах, и затем экспортирует метаданные об этих объектах. Во время экспорта метаданных Центром хранилищ данных появляется окно хода выполнения. Экспорт метаданных с помощью командной строки Прежде, чем экспортировать метаданные из командной строки, необходимо создать входной файл. Входной файл - это текстовый файл с расширением .INP, в котором перечислены по типу объекта все объекты, которые надо экспортировать. При экспорте из Центра хранилищ данных входной файл создается автоматически, но при экспорте из командной строки, его надо вначале создать самостоятельно. Входной файл можно создать с помощью любого текстового редактора. Введите имена всех объектов, появляющихся в Центре хранилищ данных. Убедитесь, что файл создается в каталоге, для которое есть разрешение на чтение/запись. При запуске утилиты экспорта Центр хранилищ данных записывает файлы XML в тот же каталог, где находится входной файл. Ниже приводится пример файла ввода: Tutorial Fact Table Process Tutorial file source Tutorial target New Program group В разделе (процессы) перечислите все процессы, которые надо экспортировать. В разделе (информационные ресурсы) перечислите все источники и потребители хранилища, которые надо экспортировать. Центр хранилищ данных автоматически включает все таблицы и столбцы, связанные с этими источниками и потребителями. В разделе (пользовательские программы) перечислите все группы программ, которые надо экспортировать. Для экспорта метаданных введите следующую команду в командной строке DOS: CWMExport входной_файл управляющая_база_данныхID_пользователя пароль [PREFIX=схема] входной_файл Полное имя (включая диск и каталог) файла .INP, со списком объектов, которые надо экспортировать. Это обязательный параметр. управляющая_база_данных Имя управляющей базы данных хранилища, из которой осуществляется экспорт. Это обязательный параметр. ID_пользователя ID пользователя, используемый для связи с управляющей базой данных хранилища. Это обязательный параметр. пароль Пароль, используемый для связи с управляющей базой данных хранилища. Это обязательный параметр. [PREFIX=схема] Имя схемы базы данных для системных таблиц Центра хранилищ данных. Если значение для PREFIX= не задано, по умолчанию используется имя IWH. Это необязательный параметр. ------------------------------------------------------------------------ 24.5 Утилита импорта/экспорта метаданных языка меток 24.5.1 Определения ключей Первичные и внешние ключи, определенные в файлах языка тегов, игнорируются, если они совпадают с ключами, уже определенными в управляющей базе данных. Если эти ключи отличаются от уже определенных, возникает ошибка. 24.5.2 Расписания шагов и процессов Расписания шагов и процессов больше не удаляются утилитой импорта. Расписания, определенные в файле тегов, теперь добавляются в текущий список расписаний. Это может привести к появлению дубликатов расписаний. Пользователь должен удалить дубликаты расписаний до перевода шагов в режим производства. ------------------------------------------------------------------------ 24.6 Информация о шаге SAP 24.6.1 Задержка при указании выходных параметров для шага SAP Перенос параметров для шага SAP из списка Доступные параметры в список Выбранные параметры на странице Выходные параметры записной книжки Свойства может занять несколько секунд. 24.6.2 Значения входных параметров совместно используются шагами SAP Если для какого-либо шага SAP указаны новые значения входных параметров, эти значения будут использоваться и для других шагов SAP, связанных с тем же самым источником SAP, что и измененный шаг. Например, новые значения входных параметров указаны для шага 1 SAP. Шаг 1 SAP связан с источником A SAP. Шаг 2 SAP также связан с источником A SAP. Значения входных параметров для шага 2 SAP - те же самые, что и для шага 1 SAP. 24.6.3 Ошибка нарушения доступа при запуске шага SAP Шаг SAP зависнет или произойдет ошибка нарушения доступа, если будут выполнены все следующие условия. 1. Для какого-либо источника SAP все ключевые поля были отображены на параметры экспорта на странице Отображение параметров записной книжки Свойства. 2. На странице Выходные параметры записной книжки Свойства для этого источника SAP не выбран параметр экспорта GetList с тем же самым именем параметра SAP, что и использованные для отображения параметров. 3. На странице Выходные параметры записной книжки Свойства шага SAP выбран этот параметр экспорта GetList, у которого нет такого же имени параметра SAP, что и у параметров, использованных для отображения параметров. 4. Параметр, выбранный в условии 3, является либо простым параметром, либо параметром структуры, либо, если он является параметром таблицы, его имя стоит по алфавиту раньше, чем имя параметров, использованных для отображения параметров. Здесь "имя параметра SAP" относится к части параметра, расположенной в этом параметре перед точкой. Например, в параметре DocumentList.DOCNUMBER параметром SAP является DocumentList. Пример: DocumentNumber - ключевое поле, а DocumentList.DOCUMENTNUMBER, DocumentList.USERNAME и DocNumberSelection.OPTION - параметры экспорта. Если ключевое поле DocumentNumber отображается на параметр экспорта DocumentList.DOCUMENTNUMBER (условие 1) и параметр экспорта GetList DocumentList.USERNAME не выбран (условие 2), затем выбран параметр экспорта GetList DocNumberSelection.OPTION (условие 3) и DocNumberSelection.OPTION" по алфавиту находится перед DocumentList.DOCUMENTNUMBER (условие 4), выполнены все четыре условия, и произойдет ошибка. ------------------------------------------------------------------------ 24.7 Информация о соединителе SAP 24.7.1 Ограничения на установку соединителя SAP Соединитель SAP поддерживает только англоязычные установки системы SAP R/3. 24.7.2 Производительность BAPI GetDetail При большом числе входных параметров GetDetail производительность BAPI GetDetail будет низкой. ------------------------------------------------------------------------ Начальный комплект OLAP DB2 В начальный комплект OLAP DB2 IBM Версии 7.2 добавлена поддержка для систем управления реляционными базами данных (СУБД) Oracle, MS-SQL, Sybase и Informix на платформах ряда операционных систем. Версия 7.2 содержит сценарии и инструменты для всех поддерживаемых СУБД, включая DB2. При этом существуют некоторые ограничения; дополнительную информацию смотрите в разделе 25.10, Известные проблемы и ограничения. Служебный уровень начального комплекта OLAP DB2 для DB2 Universal Database Версии 7.2 эквивалентен исправлению 2 для Hyperion Essbase 6.1 в сочетании с исправлением 2 для сервера Hyperion Integration Server 2.0. ------------------------------------------------------------------------ 25.1 Web-сайт сервера OLAP Последние замечания по установке и использованию Начального комплекта OLAP DB2 смотрите на странице Library Web-сайта сервера OLAP DB2: http://www.ibm.com/software/data/db2/db2olap/library.html ------------------------------------------------------------------------ 25.2 Поддерживаемые служебные уровни операционных систем Компоненты сервера начального комплекта OLAP для Версии 7.2 поддерживают следующие уровни операционных систем и служб: * Серверы Windows NT 4.0 с SP 5 и Windows 2000 * AIX Версии 4.3.3 или новее * Solaris Operating System Версии 2.6, 7 и 8 (Sun OS 5.6, 5.7, или 5.8) Компоненты клиента работают в Windows 95, Windows 98, Windows NT 4.0 SP5 и Windows 2000. ------------------------------------------------------------------------ 25.3 Установка Начального комплекта OLAP DB2 в UNIX Установка Начального комплекта OLAP DB2 выполняется после основных процедур установки DB2 Universal Database для UNIX. Программа установки помещает файлы продукта в системный каталог: (в AIX: /usr/lpp/db2_07_01; в Solaris: /opt/IBMdb2/V7.1). Затем на фазе создания экземпляра в начальном каталоге владельца экземпляра в каталоге sqllib будут созданы два каталога OLAP DB2 (essbase и is). На компьютере одновременно может быть запущен только один экземпляр сервера OLAP. Чтобы завершить установку, пользователь должен вручную задать каталог is/bin, чтобы он не был связан с системным каталогом is/bin. Он должен быть связан с каталогом, для которого разрешена запись, в начальном каталоге экземпляра. Чтобы выполнить установку для Solaris, зарегистрируйтесь с ID экземпляра, перейдите в каталог sqllib/is и затем введите следующие команды: rm bin mkdir bin cd bin ln -s /opt/IBMdb2/V7.1/is/bin/ismesg.mdb ismesg.mdb ln -s /opt/IBMdb2/V7.1/is/bin/olapicmd olapicmd ln -s /opt/IBMdb2/V7.1/is/bin/olapisvr olapisvr ln -s /opt/IBMdb2/V7.1/is/bin/essbase.mdb essbase.mdb ln -s /opt/IBMdb2/V7.1/is/bin/libolapams.so libolapams.so ------------------------------------------------------------------------ 25.4 Дополнительная настройка для операционной среды Solaris В операционной среде Solaris вы можете столкнуться с ошибками, если Начальный комплект OLAP не связан с соответствующим драйвером ODBC. Чтобы предотвратить такие ошибки, выполните для создания связи в $ARBORPATH/bin с драйвером OLAP sqllib/lib/libdb2.so команду: ln -s $HOME/sqllib/lib/libdb2.so libodbcinst.so ------------------------------------------------------------------------ 25.5 Дополнительная настройка для всех операционных систем Начиная с FixPak 3 of DB2 Universal Database Версии 7, Начальный комплект OLAP DB2 содержит функции, которые требуют Java. После установки FixPak 3 или новее вы можете увидеть на консоли сервера OLAP сообщение: Can not find [каталог] [/export/home/arbor7sk/sqllib/essbase/java/], required to load JVM. (Не удалось найти [каталог] [/export/home/arbor7sk/sqllib/essbase/java/], необходимый для загрузки JVM.) Чтобы исправить эту ошибку, выполните следующие действия: 1. Зарегистрируйтесь как владелец этого экземпляра DB2. 2. Найдите каталог, куда установлен Начальный комплект OLAP DB2. По умолчанию это каталог essbase. 3. Создайте в каталоге essbase подкаталог java. 4. В подкаталоге java создайте пустые файлы со следующими именами: o essbase.jar o essdefs.dtd o jaxp.jar o parser.jar o udf.policy ------------------------------------------------------------------------ 25.6 Конфигурирование ODBC для Начального комплекта OLAP Для начального комплекта OLAP DB2 IBM Версии 7.2 требуется файл ODBC.ini для работы с соединениями Open Database Connectivity (ODBC) между сервером интеграции OLAP и реляционным источником данных и каталогом метаданных OLAP. * В операционных системах Windows этот файл записан в реестре в ключе HKEY_LOCAL_MACHINE/SOFTWARE/ODBC. Чтобы записать информацию о том, как соединяться с реляционным источником данных, воспользуйтесь администратором источников данных ODBC. * В операционных системах UNIX программа установки создает модельный файл odbc.ini. Чтобы записать информацию о том, как соединяться с реляционным источником данных, отредактируйте этот файл вашим редактором. Файл ODBC.ini содержится в пакетах программного обеспечения ODBC и включен в программное обеспечение Microsoft Office. Дополнительную информацию о программах, устанавливающих драйверы ODBC или администратор ODBC, можно найти в Web по адресу: http://support.microsoft.com.asp. Для пользователей Oracle на компьютерах AIX: чтобы cконфигурировать ODBC для Oracle, необходимо изменить файл ODBC.ini, указав в нем драйверы MERANT 3.6. В Версии 7.2 начальный комплект OLAP управляет соединениями ODBC с реляционным источником данных и каталогом метаданных OLAP. Для работы с этими соединениями ODBC начальный комплект OLAP использует драйверы ODBC в Windows NT 4.0, Windows 2000, AIX и Solaris. * Клиент баз данных DB2 Universal Database Версии 6: драйверы ODBC DB2 Версии 6 в Windows NT 4.0 SP5 или Windows 2000, AIX 4.3.3 и Solaris Operating System 2.6, 7 или 8 (Sun OS 5.6, 5.7 или 5.8). * Клиент баз данных DB2 Universal Database Версии 7.1: драйверы ODBC DB2 Версии 7 в Windows NT 4.0 SP5 или Windows 2000, AIX 4.3.3 и Solaris Operating System 2.6, 7 или 8 (Sun OS 5.6, 5.7 или 5.8). * Клиент баз данных Oracle 8.04 и 8i SQL*Net 8.0: драйверы ODBC MERANT 3.6 в Windows NT 4.0 SP5 или Windows 2000, AIX 4.3.3 и Solaris Operating System 2.6, 7 или 8 (Sun OS 5.6, 5.7 или 5.8). * MS SQL Server 6.5.201 (клиент баз данных не требуется): драйверы ODBC MS SQL Server 6.5 в Windows NT 4.0 SP5 или Windows 2000. * MS SQL Server 7.0 (Клиент баз данных не требуется): драйверы ODBC MS SQL Server 7.0 в Windows NT 4.0 SP5 или Windows 2000. 25.6.1 Конфигурирование источников данных в системах UNIX В AIX и Solaris надо вручную задать переменные среды для ODBC и отредактировать файл odbc.ini, чтобы сконфигурировать реляционный источник данных и каталог метаданных OLAP. При изменении или добавлении нового драйвера или источника данных убедитесь, что в файл odbc.ini внесены соответствующие изменения. Если вы будете использовать агент Начальный комплект OLAP DB2 в AIX или Solaris для обращения к источникам ODBC Merant и к базам данных DB2, измените значение атрибута "Driver=" в разделе источников DB2 файла .odbc.ini следующим образом: AIX: имя драйвера - /usr/lpp/db2_07_01/lib/db2_36.o Пример записи об источнике ODBC для AIX: [SAMPLE] Driver=/usr/lpp/db2_07_01/lib/db2_36.o Description=DB2 ODBC Database Database=SAMPLE Операционная среда Solaris: имя драйвера - /opt/IBMdb2/V7.1/lib/libdb2_36.so Пример записи об источнике ODBC для Solaris: [SAMPLE] Driver=/opt/IBMdb2/V7.1/lib/libdb2_36.so Description=DB2 ODBC Database Database=SAMPLE 25.6.1.1 Конфигурирование переменных среды ODBC В системах UNIX для доступа к основным компонентам ODBC переменные среды необходимо задать необходимо задать переменные среды. Сценарии оболочки is.sh и is.csh, которые задают требуемые переменные, находятся в домашнем каталоге Начального комплекта. Перед тем, как соединяться с источниками данных при помощи ODBC, надо запустить один из этих сценариев. Эти сценарии нужно включить в сценарий регистрации для имени пользователя, которое используется при запуске начального комплекта OLAP. 25.6.1.2 Редактирование файла odbc.ini Чтобы сконфигурировать источник данных в файле odbc.ini, надо добавить имя и описание для источника данных ODBC и указать полное имя файла драйвера ODBC и другие параметры драйвера в специальном разделе, который вы создадите для имени источника данных. Программа установки установит файл примера odbc.ini в каталог ISHOME. Этот файл содержит общую информацию о соединениях и конфигурировании ODBC для поддерживаемых драйверов ODBC. Его можно использовать в качестве отправной точки при отображении драйверов ODBC, используемых при работе с реляционным источником данных и каталогом метаданных OLAP. Если используется файл, отличный от odbc.ini, не забудьте задать имя этого файла в переменной среды ODBCINI. 25.6.1.3 Добавление источника данных в файл odbc.ini 1. В системе, где запущены серверы Начального комплекта OLAP, откройте файл odbc.ini с помощью текстового редактора, например, vi. 2. Найдите раздел, начинающийся с [ODBC Data Sources], и добавьте новую строку с именем и описанием источника данных, например: mydata=data source for analysis. Чтобы свести к минимуму путаницу, используйте в качестве имени источника данных имя базы данных в СУБД. 3. Добавьте в этот файл новый раздел, создав новую строку с именем нового источника данных в квадратных скобках, например: [mydata]. 4. В строках, следующих за именем источника данных, добавьте полное имя файла для драйвера ODBC, который требуется для этого источника данных, и любую другую обязательную информацию о драйвере ODBC. Используйте примеры, приведенные в следующих разделах, как образца для вашего источника данных. Проверьте, что файл драйвера ODBC действительно существует в месте, которое вы указали в параметре Driver=. 5. Закончив редактирование файла odbc.ini, сохраните его и выйдите из текстового редактора. 25.6.1.4 Пример параметров ODBC для DB2 В следующем примере показано, как можно отредактировать файл odbc.ini для соединения с реляционным источником данных db2data в DB2 Universal Database Версии 6.1 в AIX при помощи собственного драйвера ODBC DB2 IBM. В редакторе vi используйте для редактирования файла odbc.ini команду $ODBCINI и вставьте следующие операторы: [ODBC Data Sources] db2data=DB2 Source Data on AIX ... [db2data] Driver=/home/db2inst1/sqllib/lib/db2.o Description=DB2 Data Source - AIX, native 25.6.1.5 Пример параметров ODBC для Oracle В следующем примере показано, как можно отредактировать файл odbc.ini для соединения с реляционным источником данных oradata из Oracle Версии 8 (в Solaris) при помощи драйвера ODBC MERANT Версии 3.6. В этом примере ID регистрации и Пароль заменяются используемыми в Начальном комплекте OLAP именем пользователя и паролем. [ODBC Data Sources] oradata=Oracle8 Source Data on Solaris ... [myoracle] Driver= /export/home/users/dkendric/is200/odbclib/ARor815.so Description=my oracle source 25.6.2 Конфигурирование каталога метаданных OLAP в системах UNIX Конфигурирование каталога метаданных OLAP в AIX и Solaris сходно с конфигурированием источника данных. Для базы данных каталога метаданных OLAP добавьте имя и раздел источника данных в файл odbc.ini, как описано в разделе 25.6.1.2, Редактирование файла odbc.ini. Других изменений не требуется. Перед конфигурированием базы данных каталога метаданных OLAP в качестве источника данных ODBC ее надо создать в поддерживаемой СУБД. В следующем примере показано, как можно отредактировать файл odbc.ini для соединения с каталогом метаданных OLAP, TBC_MD, в DB2 Версии 6.1 (в Solaris) при помощи собственного драйвера ODBC: [ODBC Data Sources] ocd6a5a=db2 v6 ... [ocd6a5a] Driver=/home/db2instl/sqllib/lib/db2.0 Description=db2 25.6.3 Конфигурирование источников данных в системах Windows Чтобы конфигурировать реляционный источник данных в операционных системах Windows NT или Windows 2000, надо запустить администратор ODBC и затем создать соединение с источником данных, который будет использоваться для создания моделей и метамакетов OLAP. Для этого воспользуйтесь утилитой администратора ODBC, доступной из панели управления Windows. В приведенном ниже примере показано создание источника данных DB2, диалоговые окна для других СУБД будут другими. Чтобы сконфигурировать реляционный источник данных при помощи администратора ODBC, последовательно выполните следующие действия: 1. Откройте окно Панель управления на рабочем столе. 2. В окне Панель управления выполните одно из следующих действий: a. В Windows NT дважды щелкните по значку ODBC, чтобы открыть диалоговое окно Администратор источников данных ODBC. b. В Windows 2000 дважды щелкните по значку Инструменты управления, а затем дважды щелкните по значку Источники данных (ODBC), чтобы открыть диалоговое окно Администратор источников данных ODBC. 3. В диалоговом окне Администратор источников данных ODBC щелкните по вкладке Системный DSN. 4. Нажмите кнопку Добавить, чтобы открыть диалоговое окно Создать новый источник данных. 5. В списке драйверов диалогового окна администратора ODBC Создать новый источник данных выберите подходящий драйвер, например, IBM DB2 ODBC Driver, и нажмите кнопку Готово, чтобы открыть диалоговое окно Драйвер ODBC DB2 IBM - Добавить. 6. В выпадающем списке Алиас базы данных диалогового окна Драйвер ODBC DB2 IBM - Добавить, выберите имя базы данных для ваших данных реляционного источника (например, TBC в примере прикладной программы). 7. В текстовом окне Описание введите необязательное описание, указывающее, как используется данный драйвер, и нажмите кнопку Добавить. Например, для описания базы данных My Business введите: Заказчики, продукты, рынки Для описания базы данных примера прикладной программы можно ввести: Пример реляционного источника данных Эти описания помогают идентифицировать доступные источники данных для последующего выбора при соединении с рабочего стола Начального комплекта OLAP. 8. Нажмите кнопку OK, чтобы вернуться в окно Администратор источников данных ODBC. Введенное вами имя источника данных и назначенный для него драйвер выводятся в списке Источники данных системы на вкладке Системные DSN. Чтобы отредактировать информацию о конфигурации для источника данных: 1. Выберите имя источника данных и нажмите Конфигурировать, чтобы открыть диалоговое окно ODBC DB2 IBM - Добавить. 2. Исправьте информацию, которую надо изменить. 3. Для выхода дважды нажмите кнопку OK. 25.6.4 Конфигурирование каталога метаданных OLAP в системах Windows Чтобы сконфигурировать каталог метаданных OLAP в системах Windows NT или Windows 2000, надо запустить администратор ODBC и затем создать соединение с источником данных, который содержит базу данных каталога метаданных OLAP. В приведенном ниже примере показано создание источника данных DB2, диалоговые окна для других СУБД будут другими. Чтобы создать источник данных для каталога метаданных OLAP, последовательно выполните следующие действия: 1. Откройте окно Панель управления на рабочем столе. 2. В окне Панель управления выполните одно из следующих действий: a. В Windows NT дважды щелкните по значку ODBC, чтобы открыть диалоговое окно Администратор источников данных ODBC. b. В Windows 2000 дважды щелкните по значку Инструменты управления, а затем дважды щелкните по значку Источники данных (ODBC), чтобы открыть диалоговое окно Администратор источников данных ODBC. 3. В диалоговом окне Администратор источников данных ODBC щелкните по вкладке Системный DSN. 4. Нажмите кнопку Добавить, чтобы открыть диалоговое окно Создать новый источник данных. 5. В списке драйверов диалогового окна администратора ODBC Создать новый источник данных выберите подходящий драйвер, например, IBM DB2 ODBC Driver, и нажмите кнопку Готово, чтобы открыть диалоговое окно Драйвер ODBC DB2 IBM - Добавить. 6. В выпадающем списке Алиас базы данных диалогового окна Драйвер ODBC DB2 IBM - Добавить, выберите имя базы данных для вашего каталога метаданных OLAP (например, TBC_MD в примере прикладной программы). Имя выбранной базы данных автоматически выводится в текстовом окне Имя источника данных. 7. Если нужно изменить имя источника данных, выберите имя, выведенное в текстовом окне Имя источника данных, введите новое имя, чтобы указать, как используется этот драйвер, и нажмите кнопку Добавить. Например, чтобы указать, что драйвер используется для соединения с первым каталогом метаданных OLAP, можно ввести следующее имя: OLAP Catalog first Чтобы указать, что вы соединяетесь с базой данных каталога метаданных OLAP примера программы, можно было бы ввести имя: TBC_MD 8. В текстовом окне Описание введите описание, указывающее, как используется данный драйвер. Например, чтобы описать каталог метаданных OLAP, можно ввести: Мои первые модели и метамакеты Чтобы описать базу данных каталога метаданных OLAP примера прикладной программы, можно ввести: Примеры моделей и метамакетов Эти описания помогают идентифицировать каталог, который вы захотите выбрать, соединившись с каталогом метаданных OLAP с рабочего стола Начального комплекта OLAP. 9. Нажмите кнопку OK, чтобы вернуться в окно Администратор источников данных ODBC. Введенное вами имя источника данных и назначенный для него драйвер выводятся в списке Источники данных системы на вкладке Системный DSN. Чтобы отредактировать информацию о конфигурации для источника данных: 1. Выберите имя источника данных и нажмите Конфигурировать, чтобы открыть диалоговое окно ODBC DB2 IBM - Добавить. 2. Исправьте информацию, которую надо изменить. 3. Для выхода дважды нажмите кнопку OK. 25.6.5 После конфигурирования источника данных После того, как вы сконфигурировали реляционный источник данных и каталог метаданных OLAP, можно соединиться с ними при помощи Начального комплекта OLAP. Это позволит создавать, изменять и сохранять модели и метамакеты OLAP. При соединении с базой данных сервера SQL для драйвера ODBC сервера SQL может истечь срок ожидания. Повторите попытку соединения, когда база данных не будет перегружена. Этого затруднения можно избежать, увеличив срок ожидания для данного драйвера. Дополнительную информацию смотрите в документации ODBC по используемому вами драйверу. Дополнительную информацию по проблемам соединения ODBC и их разрешению смотрите в руководстве OLAP Integration Server System Administrator's Guide. ------------------------------------------------------------------------ 25.7 Регистрация с рабочего стола Начального комплекта OLAP Чтобы использовать рабочий стол Начального комплекта OLAP для создания моделей и метамакетов OLAP, необходимо установить соединения программы клиента с двумя серверами: сервером интеграции OLAP DB2 и сервером OLAP DB2. В окне регистрации будет запрошена необходимая информация для соединения рабочего стола с этими двумя серверами. Слева введите информацию о Сервере интеграции OLAP DB2. Справа введите информацию о сервере OLAP DB2. Для соединения с Сервером интеграции OLAP DB2: * Сервер: Введите имя хоста или IP-адрес Сервера интеграции. Если Сервер интеграции установлен на той же рабочей станции, что и рабочий стол, введите значение "localhost" или "127.0.0.1". * Каталог метаданных OLAP: При соединении с Сервером интеграции OLAP необходимо также задать каталог метаданных. Сервер интеграции OLAP хранит информацию о созданных моделях и метамакетах OLAP в реляционной базе данных, которая называется каталогом метаданных. Эта реляционная база данных должны быть зарегистрирована для ODBC. Эта база данных каталога содержит специальный набор реляционных таблиц, используемых Сервером интеграции OLAP. В окне регистрации можно задать Сервер интеграции и затем раскрыть выпадающее меню для поля Каталог метаданных OLAP, чтобы увидеть список имен источников данных ODBC, известных на этом Сервере интеграции OLAP. Выберите базу данных ODBC, содержащую таблицы каталога метаданных. * Имя пользователя и пароль: Сервер интеграции OLAP будет соединяться с каталогом метаданных, используя заданные здесь имя пользователя и пароль. Это учетная запись, существующая на сервере (не на клиенте, если только сервер и клиент не работают на одном компьютере). Это должно быть имя пользователя, создавшего каталог метаданных OLAP. В противном случае Сервер интеграции OLAP не сможет найти нужные реляционные таблицы в базе данных каталога, так как будет использоваться другое имя схемы. Информацию о сервере OLAP DB2 задавать не обязательно, поэтому можно оставить незаполненными поля в правой части окна Регистрация. Однако для некоторых операций в рабочем столе и менеджере администратора требуется соединение с сервером Server OLAP DB2. Если оставить эти поля пустыми, рабочий стол вновь выведет окно Регистрация, если для выполнения запрошенной операции Серверу интеграции потребуется соединение с сервером OLAP DB2. Рекомендуется всегда заполнять поля сервера OLAP DB2 в окне Регистрация. Для соединения с сервером OLAP DB2: * Сервер: Введите имя хоста или IP-адрес сервера OLAP DB2. При работе с Начальным комплектом OLAP DB2 сервер OLAP совпадает с сервером интеграции. Если Сервер интеграции и сервер OLAP установлены на разных хостах, введите имя хоста или IP-адрес, определенные на Сервере интеграции OLAP. * Имя пользователя и пароль: Сервер интеграции OLAP будет соединяться с сервером OLAP DB2, используя заданные здесь имя пользователя и пароль. Эти имя пользователя и пароль должны быть уже определены на сервере OLAP DB2. Сервер OLAP поддерживает свои имена пользователей и пароли отдельно от операционной системы хоста. 25.7.1 Пример регистрации для Начального комплекта В следующем примере предполагается, что при установке Начального комплекта OLAP создан пример OLAP и выбраны db2admin в качестве ID пользователя администратора и password в качестве пароля администратора. * Для Сервера интеграции OLAP: Сервер - localhost, каталог метаданных OLAP - TBC_MD, имя пользователя - db2admin, пароль - password * Для сервера OLAP DB2: Сервер - localhost, Имя пользователя db2admin ------------------------------------------------------------------------ 25.8 Создание и конфигурирование вручную баз данных примера для Начального комплекта OLAP Базы данных примера создаются автоматически при установке Начального комплекта OLAP. Далее описывается, как можно вручную создать базы данных каталога и примера, если это понадобится. 1. В Windows откройте окно Командного центра, выбрав Пуск -> Программы ->DB2 for Windows NT -> Командное окно. 2. Создайте базу данных каталога производства: a. Введите команду db2 create db OLAP_CAT b. Введите команду db2 connect to OLAP_CAT 3. Создайте таблицы в этой базе данных: a. Перейдите в \SQLLIB\IS\ocscript\ocdb2.sql b. Введите команду db2 -tf ocdb2.sql 4. Создайте базу данных источника примера: a. Введите команду db2 connect reset b. Введите команду db2 create db TBC c. Введите команду db2 connect to TBC 5. Создайте таблицы в этой базе данных: a. Перейдите в \SQLLIB\IS\samples\ b. Скопируйте tbcdb2.sql в \SQLLIB\samples\db2sampl\tbc c. Скопируйте lddb2.sql в \SQLLIB\samples\db2sampl\tbc d. Перейдите в \SQLLIB\samples\db2sampl\tbc e. Введите команду db2 -tf tbcdb2.sql f. Введите команду db2 - vf lddb2.sql, чтобы загрузить исходные данные примера в эти таблицы. 6. Создайте базу данных каталога примера: a. Введите команду db2 connect reset b. Введите команду db2 create db TBC_MD c. Введите команду db2 connect to TBC_MD 7. Создайте таблицы в этой базе данных: a. Перейдите в \SQLLIB\IS\samples\tbc_md b. Скопируйте ocdb2.sql в \SQLLIB\samples\db2sampl\tbcmd c. Скопируйте lcdb2.sql в \SQLLIB\samples\db2sampl\tbcmd d. Перейдите в \SQLLIB\samples\db2sampl\tbcmd e. Введите команду db2 -tf ocdb2.sql f. Введите команду db2 -vf lcdb2.sql, чтобы загрузить метаданные примера в эти таблицы. 8. Сконфигурируйте ODBC для TBC_MD, TBC, AND OLAP_CAT: a. Откройте Панель управления NT, выбрав Пуск -> Настройка -> Панель управления b. Выберите из списка ODBC (или источники данных ODBC). c. Выберите закладку Системный DSM. d. Нажмите кнопку Добавить. Откроется окно Создать новый источник данных. e. Выберите из списка IBM DB2 ODBC DRIVER. f. Нажмите кнопку Завершить. Откроется окно Драйвер ODBC IBM D2 - Добавить. g. В поле Имя источника данных введите имя источника данных (OLAP_CAT). h. В поле Алиас базы данных введите алиас или щелкните по стрелке вниз и выберите из списка OLAP_CAT. i. Нажмите кнопку OK. j. Повторите эти шаги для баз данных TBC_MD и TBC. ------------------------------------------------------------------------ 25.9 Перенастройка прикладных программ в Начальный комплект OLAP Версии 7.2 Программа установки не переустанавливает программы, базы данных и файлы данных примера Начального комплекта OLAP. На ваши существующие программы и базы данных это не влияет. Тем не менее, всегда полезно перед установкой создавать резервные копии ваших программ и баз данных. Ваши программы автоматически перенастраиваются в Версию 7.2 при их открытии. ------------------------------------------------------------------------ 25.10 Известные проблемы и ограничения В этом разделе перечислены известные ограничения для Начального набора OLAP DB2 Совместимость СУБД Informix c драйверами Merant для платформ Windows Для того чтобы драйверы Merant для платформ Windows могли работать с RDBMS Informix, в оператор PATH надо добавить две записи: o C:\Informix o C:\Informix\bin Оба эти каталога должны находиться в начале PATH. Возможные несоответствия между ассоциациями в моделях OLAP и связанных с ними метамакетах При определенных условиях можно создать ассоциацию в метамакете, для которой отсутствует соответствующая ассоциация в модели OLAP. Это может произойти следующим образом: 1. Создайте новую модель OLAP и сохраните ее. 2. Создайте на основе этой модели метамакет, но не сохраняйте его. 3. Вернитесь к модели OLAP и удалите ассоциацию, на которой основана одна из ассоциаций метамакета. 4. Вернитесь к метамакету, сохраните его, закройте, а затем вновь откройте. В результате этот метамакет будет содержать ассоциацию, для которой отсутствует соответствующая ассоциация в модели OLAP. Начальный комплект OLAP не в состоянии отличить созданную таким образом неверную ассоциацию от пользовательской ассоциации в метамакете. Как следствие, неверная ассоциация будет выведена в метамакете, но будет рассматриваться как заданная пользователем, так как для нее не существует соответствия в модели OLAP. На платформах Windows 2000 задание переменной среды для TMP приводит к неудачной загрузке элементов и данных Из-за различия в системных параметрах по умолчанию и пользовательских параметрах переменной среды для TMP между Windows 2000 и Windows NT загрузка элементов и данных завершается неудачно при запуске Начального комплекта OLAP на платформах Windows 2000. Появляющееся в результате сообщение об ошибке говорит о невозможности создания временного файла. В Windows 2000 это ограничение можно обойти, последовательно выполнив следующие действия: 1. Создайте каталог C:\TEMP 2. Задайте значение переменной среды TMP (и для системы и для пользователя): TMP=C:\TEMP При установке ODBC существующий драйвер Merant не заменяется Существующие драйверы ODBC 3.6 Merant не будут изменены при этой установке. Если выполняется обновление из Начального комплекта OLAP Версии 7.1, Fixpack 2 или более ранний, следует продолжать использовать ранее установленные драйверы ODBC Использование драйверов ODBC Merant Informix на платформах UNIX Чтобы использовать драйверы ODBC Merant Informix на платформах UNIX, надо выполнить одно из следующих действий: o Перед запуском Начального комплекта задайте значение переменной среды LANG "en_US". Например, для оболочки korn введите: export LANG='en_US' Задавайте значение этой переменной каждый раз при запуске Начального комплекта OLAP. o Если для переменной LANG уже задано другое значение, создайте после установки следующую символическую связь: ln -s $ISHOME/locale/en_US $ISHOME/locale/$LANG Разные служебные уровни клиентов и серверов OLAP IBM рекомендует, чтобы клиент и сервер Начального комплекта OLAP DB2 были одной версии и имели одинаковый уровень Fixpack. В некоторых ситуациях, однако, допускаются разные служебные уровни клиента и сервера: Использование клиентов и серверов с разными служебными уровнями в одной версии IBM не поддерживает и не рекомендует использование более новых версий клиентов с ранними версиями серверов. Однако вам, возможно, удастся использовать более ранние версии клиентов для работы с более новыми серверами, хотя IBM не поддерживает этого. При этом вы можете столкнуться с трудностями. Например: + Сообщения от сервера могут быть неверными. Эту проблему можно разрешить, обновив файл message.MDB на клиенте, чтобы он соответствовал уровню сервера. + Не действуют новые возможности сервера. При попытке использовать новую возможность клиент, сервер или оба компонента могут отказать. + Клиент может не соединиться правильно с сервером. Использование нескольких серверов с одним клиентом одной версии Если нужно соединить клиент с несколькими серверами OLAP на разных компьютерах или в разных операционных системах, IBM рекомендует, чтобы все они были одной версии и служебного уровня. Уровень вашего клиента должен быть не ниже, чем самый низкий из уровней этих серверов. При возникновении затруднений вам может понадобиться использовать разные клиентские компьютеры для сопоставления с подходящим хостом либо обновить все клиенты и серверы до одного служебного уровня. Совместное использование клиентов и серверов разных версий IBM не поддерживает использование клиентов и серверов Начального комплекта OLAP Версии 7.1 с клиентами и серверами Версии 7.2. При обновлении продуктов OLAP IBM до уровня новой версии часто выполняются изменения сетевых параметров и формата данных, требующие, чтобы клиент и сервер были одного уровня версии. Совместное использование продуктов IBM (Начальный комплект OLAP DB2) c продуктами Hyperion (Hyperion Essbase и Hyperion Integration Server) IBM не поддерживает совместное использование клиентов и серверов OLAP от IBM с клиентами и серверами OLAP от Hyperion Solutions. Хотя в некоторых ситуациях совместная работа разнородных компонентов возможна, их возможности несколько различаются, что может привести к ошибкам. ------------------------------------------------------------------------ 25.11 Отсутствие файлов EQD встраиваемого модуля OLAP для электронных таблиц В Начальном комплекте OLAP дополнительный модуль для электронных таблиц содержит компонент, называемый Query Designer (EQD). Меню электронной справки для EQD содержит кнопку Учебник, которая не выводит на экран никакой информации. Материал, который должен выводиться в учебниках по EQD, содержится во второй главе руководств OLAP Spreadsheet Add-in User's Guide for Excel и OLAP Spreadsheet Add-in User's Guide for 1-2-3. Вся информация учебника по EQD доступна в версиях HTML этих книг в Информационном центре и в версиях PDF. ------------------------------------------------------------------------ Information Catalog Manager Administration Guide (Руководство администратора Менеджера каталогов данных) ------------------------------------------------------------------------ 26.1 Утилита инициализации менеджера каталогов данных 26.1.1 В утилите инициализации менеджера каталогов данных (ICM) теперь можно добавить оператор SQL к концу оператора CREATE TABLE при помощи следующей команды: CREATEIC \DBTYPE тип-базы-данных \DGNAME имя-базы-данных \USERID id-пользователя \PASSWORD пароль \KA1 id-пользователя \TABOPT "каталог:\tabopt.file" Ключевое слово TABOPT можно задать в утилите CREATEIC из каталога установки DB2. За ключевым словом TABOPT должно идти полное имя файла tabopt.file. Если имя каталога содержит пробелы, заключите его в кавычки. Содержимое файла tabopt.file должно содержать информацию, добавляемую к оператору CREATE TABLE. Для записи в этот файл tabopt.file можно использовать любой из приведенных ниже операторов SQL. Утилита ICM прочтет этот файл и добавит его к оператору CREATE TABLE. Табл. 5. Операторы SQL IN MYTABLESPACE Создает таблицу с ее данными в табличном пространстве MYTABLESPACE DATA CAPTURE CHANGES Создает таблицу и записывает изменения SQL в расширенном формате IN ACCOUNTING INDEX IN Создает таблицу с ее данными в табличном ACCOUNT_IDX пространстве ACCOUNTING, а индекс - в пространстве ACCOUNT_IDX Максимальный размер содержимого - 1000 однобайтных символов. Эта новая возможность доступна только в системах Windows и UNIX. 26.1.2 Вопросы лицензирования Если вы получили следующее сообщение: FLG0083E: У вас нет действительной лицензии для утилиты инициализации Менеджера каталогов данных IBM. Пожалуйста, обратитесь к местному дилеру или торговому представителю IBM. Вы должны приобрести Менеджер хранилищ данных DB2 или сервер OLAP IBM DB2 и установить компонент Менеджер каталогов данных, содержащий утилиту инициализации каталога данных. 26.1.3 Вопросы установки Если вы установили Менеджер хранилищ данных DB2 или сервера OLAP DB2 IBM, а затем установили на той же рабочей станции другой компонент администратора менеджера каталогов данных (с компакт-диска DB2 Universal Database), утилита инициализации каталога данных может быть перезаписана. В этом случае в каталоге \sqllib\bin найдите файлы createic.bak и flgnmwcr.bak и переименуйте их соответственно в createic.exe и flgnmwcr.exe. Если вы устанавливаете дополнительные компоненты Менеджера каталогов данных DB2 Universal Database, эти компоненты должны быть установлены на отдельной рабочей станции (а не на той, где установлен Менеджер хранилищ данных). Дополнительную информацию смотрите в Главе 3 "Installing Information Catalog Manager" (Установка Менеджера каталогов данных) руководства DB2 Warehouse Manager Installation Guide. ------------------------------------------------------------------------ 26.2 Усовершенствования в менеджере каталогов данных В Менеджер каталогов данных внесены следующие усовершенствования: ICM теперь поддерживает импорт информации фильтра ETI для базы данных, таблицы или столбца,как источника, так и потребителя, В операции регистрации для хранилища теперь появляется новый тип объекта ICM - Данные преобразования ETI, используемый для хранения информации фильтра. Затем такие объекты связываются с базой данных, таблицей или столбцом, для которых они определены. ICM имеет возможность связывать с определенной базой данных, таблицей или столбцом (источником или потребителем) несколько объектов типа Данные преобразования ETI, если для одного каталога ICM зарегистрированы различные преобразования ETI. Та же возможность реализована и для преобразований - теперь определенный столбец назначения может содержать несколько преобразований, если для одного каталога ICM зарегистрированы различные преобразования ETI. Для этого ICM вносит изменения в ключ преобразования при импорте отображения ETI*Extract. Чтобы применить эти возможности, используйте для регистрации в менеджере хранилищ данныхETI*Extract 4.2.1 с MetaScheduler 4.1.0. Дополнительную информацию об использовании этих возможностей смотрите в разделе Hints and Tips описания менеджера хранилищ DB2 по адресу http://www.ibm.com/software/data/db2/datawarehouse/support.html. Поищите ключевые слова "ETI" или "Application Data". ------------------------------------------------------------------------ 26.3 Несовместимость между Менеджером каталогов данных и Sybase в среде Windows Установка Менеджером каталогов данных Версии 7 на том же компьютере с Windows NT или Windows 2000, что и Sybase Open Client, приведет к ошибке, и Sybase Utilities перестанут работать. Будет выдано сообщение об ошибке, подобное следующему: Fail to initialize LIBTCL.DLL. Please make sure the SYBASE environment variable is set correctly. Это можно предотвратить, удалив параметр среды LC_ALL из параметров среды Windows. LC_ALL - параметр локальной категории. Локальные категории - константы, используемые процедурами локализации для указания того, какую часть информации о локали использовать для программы. Слово локаль означает здесь территорию (страну/регион), для которой возможна настройка определенных аспектов программы. К локально-зависимым областям относится, например, форматирование дат или формат отображения денежных единиц. LC_ALL влияет на все локально-зависимое поведение (всех категорий). Если удалить параметр среды LC_ALL с целью совместной работы менеджера каталогов данных и Sybase на платформе Windows, перестанут работать следующие функции DB2: * Пользователь каталога данных * Администратор каталога данных * Менеджер каталогов данных ------------------------------------------------------------------------ 26.4 Доступ к каталогам данных DB2 Версии 5 при помощи менеджера каталогов данных DB2 Версии 7 Подкомпоненты менеджера каталогов данных DB2 Версии 7, сконфигурированные процессом установки DB2 Версии 7, поддерживают доступ к каталогам данных, сохраненным в базах данных DB2 Версии 6 и DB2 Версии 7. Конфигурацию этих подкомпонентов можно изменить, чтобы обращаться к каталогам данных, сохраненным в базах данных DB2 Версии 5. Подкомпоненты менеджера каталогов данных DB2 Версии 7 не поддерживают доступ к данным из DB2 Версии 2 или более ранних версий. Чтобы настроить администратор каталога данных, пользователя каталога данных и утилиту инициализации каталога данных для доступа к каталогам данных, сохраненным в базах данных DB2 Версии 5: 1. Установите DB2 Connect Enterprise Edition Версии 6 на рабочей станции, отличной от той, где установлен менеджер каталогов данных DB2 Версии 7. DB2 Connect Enterprise Edition входит в DB2 Universal Database Enterprise Edition и DB2 Universal Database Enterprise - Extended Edition. Если установлена Версия 6 одного из этих продуктов, не нужно отдельно устанавливать DB2 Connect. Ограничение:На одной рабочей станции Windows NT или OS/2 нельзя установить несколько версий DB2. Можно установить DB2 Connect на другой рабочей станции Windows NT или на рабочей станции OS/2 или UNIX. 2. Сконфигурируйте менеджер каталогов данных и DB2 Connect Версии 6 для доступа к данным DB2 Версии 5. Дополнительную информацию смотрите в руководстве Руководство пользователя DB2 Connect. Далее представлен обзор требуемых шагов: a. В системе DB2 Версии 5 используйте процессор командной строки DB2 для внесения в каталог базы данных Версии 5, к которой будет обращаться менеджер каталогов данных. b. В системе DB2 Connect используйте процессор командной строки DB2 для внесения в каталог: + Узла TCP/IP для системы DB2 Версии 5 + Базы данных для системы DB2 Версии 5 + Записи DCS для системы DB2 Версии 5 c. На рабочей станции менеджера каталогов данных используйте процессор командной строки DB2 для внесения в каталог: + Узла TCP/IP для системы DB2 Connect + Базы данных для системы DB2 Connect Информацию о внесении в каталог баз данных смотрите в руководстве Дополнение по установке и конфигурированию DB2 Universal Database. 3. На рабочей станции менеджера каталогов данных свяжите пакет CLI DB2 с каждой базой данных, для обращения к которой будет использоваться DB2 Connect. Далее показан пример команд DB2 для связывания с базой данных DB2 Версии 5 с именем v5database. Для ввода этих команд используйте процессор командной строки DB2. Файлы db2cli.lst и db2ajgrt находятся в каталоге \sqllib\bnd. db2 connect to v5database user ID_пользователя using пароль db2 bind db2ajgrt.bnd db2 bind @db2cli.lst blocking all grant public где ID_пользователя - ID пользователя для v5database и пароль - пароль для этого ID пользователя. При связывании db2cli.list с базой данных DB2 Версии 5 возникает ошибка. Эта ошибка вызывается тем, что в этой конфигурации не поддерживаются большие объекты. Эта ошибка не влияет на доступ агента хранилища данных к базе данных DB2 Версии 5. Для обращения к данным DB2 Версии 5 через DB2 Connect требуется FixPak 14 для DB2 Universal Database Версии 5, доступный с июня 2000 года. Номер APAR для этого FixPak - JR14507. ------------------------------------------------------------------------ 26.5 Конфигурирование каталога данных Про шаг 2 в первом разделе Главы 1 "Setting up an information catalog" (Конфигурирование каталога данных) говорится: When you install either the DB2 Warehouse Manager or the DB2 OLAP Server, a default information catalog is created on DB2 Universal Database for Windows NT. Это утверждение неверно. Вам надо определить новый каталог данных. Дополнительную информацию смотрите в разделе "Creating the Information Catalog" (Создание каталога данных). ------------------------------------------------------------------------ 26.6 Обмен метаданными с другими продуктами В Главе 6 "Exchanging metadata with other products" (Обмен метаданными с другими продуктами) в разделе "Identifying OLAP objects to publish" (Идентификация объектов OLAP для публикаций) во втором абзаце утверждается: When you publish DB2 OLAP Integration Server metadata, a linked relationship is created between an information catalog "dimensions within a multi-dimensional database" object type and a table object in the OLAP Integration Server. Это утверждение следует читать так: Когда вы публикуете метаданные сервера интеграции OLAP DB2 OLAP, создается отношение связи между объектами каталога данных "ассоциация в многомерной базе данных" и таблицей. Это же утверждение появляется в Приложении C, "Metadata mappings" (Отображение метаданных) в разделе "Metadata mappings between the Information Catalog Manager and OLAP Server" (Отображение метаданных между Менеджером каталогов данных и сервером OLAP). ------------------------------------------------------------------------ 26.7 Обмен метаданными при помощи командами flgnxoln В Главе 6 "Exchanging metadata" (Обмен метаданными) есть раздел "Identifying OLAP objects to publish" (Идентификация объектов OLAP для публикации). В конце этого раздела есть пример использования команды flgnxoln для публикации метаданных сервера OLAP через каталог данных. В этом примере каталог файлов db2olap.ctl db2olap.ff ошибочно указан как x:\Program Files\sqllib\logging. Правильное имя этого каталога - x:\Program Files\sqllib\exchange, как сказано на странице 87. ------------------------------------------------------------------------ 26.8 Обмен метаданными при помощи команды MDISDGC Глава 6. "Exchanging metadata with other products" (Обмен метаданными с другими продуктами), раздел "Converting MDIS-conforming metadata into a tag language file" (Конвертирование MDIS-совместимых метаданных в файл языка тегов), страница 97. Команду MDISDGC нельзя ввести в командном окне MS-DOS. Эту команду надо вводить в командном окне DB2. В первом предложении раздела "Converting a tag language file into MDIS-conforming metadata" (Конвертирование MDIS-совместимых метаданных в файл языка тегов) тоже говорится, что команду DGMDISC надо вводить из командной строки MS-DOS. Команду DGMDISC надо вводить в командном окне DB2. ------------------------------------------------------------------------ 26.9 Вызов программ В некоторых примерах руководства Information Catalog Administration Guide есть команды, содержащие каталог Program Files. Вызывая команду, в имя которой входит Program Files, надо заключить строку вызова в двойные кавычки. Например, в Приложении B, "Predefined Information Catalog Manager object types" (Предопределенные типы объектов Менеджера каталогов данных) в разделе "Initializing your information catalog with the predefined object types" (Инициализация каталога данных с предопределенными типами объектов) приводится пример. Если использовать его из командной строки DOS буквально, вы получите сообщение об ошибке. Правильный текст примера такой: "X:Program Files\SQLLIB\SAMPLES\SAMPDATA\DGWDEMO" /T userid password dgname ------------------------------------------------------------------------ Information Catalog Manager Programming Guide and Reference (Справочное руководство по программированию Менеджера каталогов данных) ------------------------------------------------------------------------ 27.1 Коды причин Менеджера каталогов данных В Приложении D: Information Catalog Manager reason codes в крайнем правом столбце может не полностью выводиться текст для следующих кодов причин: 31014, 32727, 32728, 32729, 32730, 32735, 32736, 32737, 33000, 37507, 37511 и 39206. Если текст усечен, смотрите HTML-версию этой книги, где он приводится полностью. ------------------------------------------------------------------------ Information Catalog Manager User's Guide (Руководство пользователя Менеджера каталогов данных) В главе 2 есть раздел под названием "Registering a server node and remote information catalog" (Регистрация узла сервера и удаленного каталога данных). В этом разделе перечислены шаги, которые можно выполнить из Центра управления DB2 перед регистрацией удаленного каталога данных с использованием Менеджера каталогов данных. В последнем абзаце этого раздела сказано, что после выполнения последовательности шагов из Центра управления DB2 (добавить систему, добавить экземпляр и добавить базу данных) Центр управления необходимо отключить, и только после этого открывать Менеджер каталогов данных. Это неверно. Отключать Центр управления перед открытием Менеджера каталогов данных не обязательно. То же исправление касается раздела оперативной справки "Регистрация узла сервера и удаленного каталога данных" и оперативной справки для окна Регистрация узла сервера и каталога данных. ------------------------------------------------------------------------ Менеджер каталогов данных: Сообщения ------------------------------------------------------------------------ 29.1 Исправления сообщений FLG 29.1.1 Сообщение FLG0260E Второе предложение в объяснении этого сообщения должно быть таким: Эта ошибка вызвана ошибкой отката каталога данных. Каталог данных не находится в стабильном состоянии, но изменения не были внесены. 29.1.2 Сообщение FLG0051E Второй абзац в объяснении этого сообщения должен быть таким: Каталог данных содержит слишком много объектов или типов объектов. В описании действий администратора должно быть сказано: Удалите из текущего каталога данных некоторые объекты или типы объектов с помощью функции импорта. 29.1.3 Сообщение FLG0003E В объяснении этого сообщения должно быть сказано: Чтобы каталог данных можно было использовать, он должен быть зарегистрирован. Возможно, этот каталог данных не был правильно зарегистрирован. 29.1.4 Сообщение FLG0372E Первое предложение в объяснении этого сообщения должно быть таким: Проигнорировано значение ATTACHMENT-IND для объекта, поскольку это объект подключения. 29.1.5 Сообщение FLG0615E Второе предложение в этом сообщении должно быть таким: Менеджер каталогов данных обнаружил непредвиденную ошибку в базе данных или не нашел файл связывания в текущем каталоге или пути. ------------------------------------------------------------------------ Менеджер каталогов данных: Электронная справка Окно каталога данных: В электронной справке для пункта Открыть меню Выбранный ошибочно сказано: "Открывает выбранный объект". Там должно быть сказано: "Открывает окно Определить поиск". ------------------------------------------------------------------------ 30.1 Менеджер каталогов данных для Web При использовании каталога данных, находящегося в системе DB2 UDB for OS/390, поиск без учета регистра недоступен. Это относится и к простому поиску, и к сложному поиску. Электронная справка для простого поиска не поясняет, что все виды поиска в каталоге данных DB2 UDB for OS/390 производятся с учетом регистра. Далее, любой объект категории группировки можно развернуть, даже если у него нет базовых объектов. ------------------------------------------------------------------------ DB2 Warehouse Manager Installation Guide (Руководство по установке Менеджера каталогов данных) ------------------------------------------------------------------------ 31.1 Доступные обновления руководства DB2 Warehouse Manager Installation Guide Доступна обновленная версия руководства DB2 Warehouse Manager Installation Guide; свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Информация этих замечаний дополняет данную ссылку. ------------------------------------------------------------------------ 31.2 Требования к программному обеспечению для преобразователей хранилища На той базе данных, где вы планируете использовать преобразователи хранилища, нужно установить Java Developer's Kit (JDK) версии 1.1.8 или новее. ------------------------------------------------------------------------ 31.3 Соединитель для SAP R/3 При отображении столбцов с полей бизнес-объекта SAP R/3 в таблицы DB2 некоторые сгенерированные имена столбцов могут оказаться длиннее 30 символов. В таком случае сгенерированное имя столбца будет отражать только первые 30 символов имени поля SAP. Если сгенерированное имя вам не подходит, измените его при помощи записной книжки Свойства для этой таблицы. 31.3.1 Предварительные требования для установки Если в поле назначения на странице источника SAP указано значение, задайте переменную среды RFC_INI. Например, Set RFC_INI=c:\rfcapl.ini. Задав эту переменную, надо перезагрузить компьютер. ------------------------------------------------------------------------ 31.4 Соединитель для Web Если у вас возникнут проблемы с соединителем для Web, центр обслуживания IBM может попросить у вас прислать трассировку для соединителя. Чтобы включить трассировку соединителя для Web, задайте уровень трассировки агента центра хранилищ больше 0. Файл трассировки будет называться WSApid.log, где pid - ID процесса Windows для агента. Файл трассировки создается в каталоге \sqllib\logging. 31.4.1 Предварительные требования для установки Установите среду времени выполнения Java (JRE) или виртуальную Java-машину (JVM) версии 1.2.2 или новее и задайте ее как версию по умолчанию. Чтобы сделать эту версию JRE версией по умолчанию, добавьте путь для 1.2.2 JRE в системную переменную PATH (например, C:\JDKs\IBM\java12\bin;). Изменив JRE по умолчанию, надо перезагрузить компьютер. Если установка Java еще не проводилась, ее можно произвести с установочного компакт-диска соединителей хранилища данных. ------------------------------------------------------------------------ Query Patroller Administration Guide (Руководство администратора Query Patroller) ------------------------------------------------------------------------ 32.1 Клиент DB2 Query Patroller - это отдельный компонент Клиент DB2 Query Patroller - отдельный компонент, не входящий в клиент управления DB2. Это значит, что он не устанавливается при установке клиента администратора DB2, как сказано в руководстве Query Patroller Installation Guide. Клиент Query Patroller надо устанавливать отдельно. Версии и уровни клиента и сервера Query Patroller должны совпадать. ------------------------------------------------------------------------ 32.2 Перенастройка из Версии 6 DB2 Query Patroller с использованием dqpmigrate Команду dqpmigrate необходимо использовать, если Версия 7 сервера Query Patroller установлена поверх Версии 6. Для FixPak 2 или более позднего нет необходимости запускать dqpmigrate вручную, поскольку FixPak запускает эту команду автоматически. Если не использовать эту команду, у существующих пользователей, определенных в Версии 6, не будет привилегий EXECUTE для нескольких новых хранимых процедур, добавленных в Версии 7. Прим.:dqpmigrate.bnd находится в каталоге sqllib/bnd, а dqpmigrate.exe - в каталоге sqllib/bin. Чтобы использовать dqpmigrate вручную для предоставления привилегий EXECUTE, после установки FixPak: 1. Свяжите файл пакета /sqllib/bnd/dqpmigrate.bnd с базой данных, на которой был установлен сервер Query Patroller, введя команду: db2 bind dqpmigrate.bnd 2. Выполните dqpmigrate, введя команду: dqpmigrate dbalias userid passwd ------------------------------------------------------------------------ 32.3 Включение управления запросами В главе "Getting Started" в разделе "Enabling Query Management" текст должен выглядеть так: Для задания параметров конфигурации базы данных необходимо быть владельцем этой базы данных или обладать полномочиями SYSADM, SYSCTRL или SYSMAINT. ------------------------------------------------------------------------ 32.4 Положение табличного пространства для управляющих таблиц В главе 1 "System Overview" (Обзор системы) под заголовком DB2 Query Patroller Control Tables в конец первого абзаца раздела надо добавить следующий текст: Табличное пространство для управляющих таблиц DB2 Query Patroller должно находиться в одноузловой группе узлов, иначе DB2 Query Patroller не будет работать правильно. ------------------------------------------------------------------------ 32.5 Новые параметры команды dqpstart В главу 2 "Getting Started" (Начинаем работу) под заголовком Starting and Stopping DB2 Query Patroller после последнего абзаца надо добавить следующий текст: Новые параметры команды dqpstart: Параметр RESTART: Позволяет пользователям заменять имя хоста и/или тип узла для указанного узла в файле dqpnodes.cfg. DB2 Query Patroller будет запущен на этом узле. Прим.:Перед выполнением команды DQPSTART с параметром RESTART надо проверить, что: 1. DB2 Query Patroller уже остановлен на хосте, который будет заменен. 2. DB2 Query Patroller не запущен еще на новом хосте. Синтаксис команды: dqpstart nodenum номер_узла restart имя_хоста server | agent | none Параметр ADDNODE: Позволяет пользователю добавить новый узел к файлу dqpnodes.cfg. DB2 Query Patroller будет запущен на этом узле после добавления новой записи в файл dqpnodes.cfg. Синтаксис команды: dqpstart nodenum номер_узла addnode имя_хоста server | agent | none Параметр DROPNODE: Позволяет пользователю удалить узел из файла dqnodes.cfg. DB2 Query Patroller будет остановлен на этом узле перед удалением записи из файла dqpnodes.cfg. Синтаксис команды: dqpstop nodenum номер_узла dropnode ------------------------------------------------------------------------ 32.6 Новый параметр команды iwm_cmd Для команды iwm_cmd добавлен новый параметр -v, который позволяет пользователю восстановить состояние заданий, выполняемых на указанном узле. Восстановить можно только задания на неактивном узле. Эту команду следует использовать, когда происходит отказ узла и есть задания, выполняемые на этом узле или же отменяемые в этот момент. Задания в состоянии "Выполняется" запускаются снова и переводятся в состояние "В очереди". Задания в состоянии "Отменяется" будут переведены в состояние "Отменено". Соответствующая часть синтаксиса команды: >>-iwm_cmd----+---------------------------------------+---------> '--u--id_пользователя--+-------------+--' '--p--пароль--' >-----v--id_узла_для_восстановления---------------------------->< id_узла_для_восстановления Задает узел, задания на котором должны быть восстановлены. ------------------------------------------------------------------------ 32.7 Новая переменная реестра: DQP_RECOVERY_INTERVAL Новая переменная реестра DQP_RECOVERY_INTERVAL используется для задания интервала в минутах, через который iwm_scheduler ищет файлы восстановления. Значение по умолчанию - 60 минут. ------------------------------------------------------------------------ 32.8 Запуск QueryAdministrator В главе "Using QueryAdministrator to Administer DB2 Query Patroller" (Использование QueryAdministrator для управления DB2 Query Patroller) содержатся инструкции по запуску QueryAdministrator из меню Пуск Windows. В первом шаге содержится следующий текст: If you are using Windows, you can select DB2 Query Patroller --> QueryAdministrator from the IBM DB2 program group. Этот текст должен выглядеть так: DB2 Query Patroller --> QueryAdmin. ------------------------------------------------------------------------ 32.9 Управление пользователями В разделе "User Administration" (Управление пользователями) главы "Using QueryAdministrator to Administer DB2 Query Patroller" (Использование QueryAdministrator для управления DB2 Query Patroller) в определении параметра максимального затраченного времени сказано, что если он имеет значение 0 или -1, запрос всегда будет выполняться до завершения. Для этого параметру нельзя задать отрицательное значение. В тексте должно быть сказано, что если для него задано значение 0, запрос всегда будет выполняться до завершения. Параметр максимального числа запросов задает максимальное число заданий, одновременно выполняемых DB2 Query Patroller. Его значение должно быть целым числом от 0 до 32767. ------------------------------------------------------------------------ 32.10 Создание очереди заданий В разделе "Job Queue Administration" (Управление очередью заданий) главы "Using QueryAdministrator to Administer DB2 Query Patroller" (Использование QueryAdministrator для управления DB2 Query Patroller) вид экрана в шагах для "Создания очереди заданий" должен идти после второго шага. Окно Информация о новой очереди заданий открывается после нажатия на кнопку Новое на странице Управление очередью заданий инструмента QueryAdministrator. Ссылки на страницу Очереди заданий и закладку Очереди заданий должны указывать на страницу Управление очередью заданий и закладку Управление очередью заданий соответственно. ------------------------------------------------------------------------ 32.11 Использование интерфейса командной строки Чтобы передать запрос и чтобы была создана таблица результатов, пользователю с полномочиями User в системе DB2 Query Patroller могут быть нужны полномочия CREATETAB для базы данных. Такому пользователю не требуются полномочия CREATETAB для базы данных, если переменная профиля DQP_RES_TBLSPC не задана или если в качестве ее значения задано имя табличного пространства по умолчанию. В этих случаях таблица результатов будет успешно создана, поскольку пользователи имеют полномочия на создание таблиц в табличном пространстве по умолчанию. ------------------------------------------------------------------------ 32.12 Замечания по Query Enabler * При использовании инструментов запросов других производителей, использующих указатель с набором ключей, запросы не будут перехватываться. Чтобы Query Enabler перехватывал такие запросы, нужно изменить файл db2cli.ini, задав в нем: [common] DisableKeySetCursor=1 * Для клиентов AIX убедитесь, что не задана переменная среды LIBPATH. Поставляемая с JDK библиотека libXext.a не совместима с библиотекой в каталоге /usr/lib/X11. Это вызывает проблемы с графическим интерфейсом Query Enabler. ------------------------------------------------------------------------ 32.13 DB2 Query Patroller Tracker может возвратить пустую страницу столбцов FixPak 3 содержит исправление к DB2 Query Patroller Tracker. Теперь он корректно возвращает результаты запросов, для которых не найдено столбцов. Пример такого запроса - "SELECT COUNT(*) FROM ...". Поскольку такому запросу не соответствует ни один столбец таблицы, Tracker возвращает в качестве страницы столбцов пустую страницу. Это не является дефектом. ------------------------------------------------------------------------ 32.14 Query Patroller и средства репликации Query Patroller Версии 7 будет перехватывать запросы средств репликации (asnapply, asnccp, djra и analyze), что приводит к неправильной работе этих средств. Обходной прием - отключать динамическое управление запросами при выполнении этих средств. ------------------------------------------------------------------------ 32.15 Улучшения производительности Query Patroller В конец Главы 6 "Performance Tuning" (Настройка производительности) надо добавить следующий текст: Использование при связывании опции INSERT BUF для улучшения производительности DB2 Query Patroller По умолчанию DB2 Query Patroller создает для хранения результатов запросов, которыми управляет, таблицы результатов. Для улучшения производительности таких таблиц результатов при связывании одного из файлов связывания DB2 Query Patroller используйте опцию INSERT BUF. Связывание файлов DB2 Query Patroller с базой данных выполняйте так: В каталоге DB2_RUNTIME\bnd в Windows или DB2_RUNTIME/bnd вn UNIX введите следующие команды: db2 connect to база_данных user iwm using пароль db2 bind @db2qp.lst blocking all grant public db2 bind iwmsx001.bnd insert buf db2 bind @db2qp_sp.lst db2 commit гдеe база_данных - заменяющая база данных, управляемая DB2 Query Patroller, а пароль - пароль для учетной записи администратора, iwm. ------------------------------------------------------------------------ 32.16 Потеря привилегии EXECUTE для пользователей Query Patroller, созданных в версии 6 Из-за того, что в Query Patroller Версии 7 добавлено несколько новых хранимых процедур (IWM.DQPGROUP, IWM.DQPVALUR, IWM.DQPCALCT и IWM.DQPINJOB), у существующих пользователей, созданных в Query Patroller Версии 6, не сохраняется привилегия EXECUTE в отношении этих пакетов. Программа для автоматического исправления этой ошибки добавлена в FixPak 1. При попытке использования DQP Query Admin для изменения информации пользователя DQP не пытайтесь удалить существующих пользователей из списка пользователей. ------------------------------------------------------------------------ 32.17 Ограничения Query Patroller Из-за ограничений платформы для JVM (виртуальной Java-машины) Query Enabler не поддерживается в HP-UX и NUMA-Q. Кроме того, в NUMA-Q не поддерживается Query Patroller Tracker. Если требуются все инструменты клиента Query Patroller, мы рекомендуем воспользоваться другой платформой (например, Windows NT), чтобы запускать эти инструменты для сервера HP-UX или NUMA-Q. ------------------------------------------------------------------------ 32.18 Приложение B. Troubleshooting DB2 Query Patroller Clients (Устранение неисправностей клиентов DB2 Query Patroller) В Приложении B, Troubleshooting DB2 Query Patroller Clients (Устранение неисправностей клиентов DB2 Query Patroller) в разделе Common Query Enabler Problems (Общие ошибки Query Enabler) в описании второй ошибки текст первого пункта надо заменить на: Убедитесь, что значение path содержит jre. ------------------------------------------------------------------------ Разработка прикладных программ Частичное содержание * Administrative API Reference (Справочник по API управления) o 33.1 db2ArchiveLog (новый API) + db2ArchiveLog o 33.2 db2ConvMonStream o 33.3 db2DatabasePing (новый API) + db2DatabasePing - проверка связи с базой данных o 33.4 db2HistData o 33.5 db2HistoryOpenScan o 33.6 db2XaGetInfo (новый API) + db2XaGetInfo - Получить информацию для менеджера ресурсов o 33.7 db2XaListIndTrans (новый API, заменяющий sqlxphqr) + db2XaListIndTrans - Получить список неоднозначных транзакций o 33.8 db2GetSnapshot - получить снимок o 33.9 Запись журнала Forget o 33.10 sqlaintp - Получить сообщение об ошибке o 33.11 sqlbctcq - Закрыть запрос к контейнеру табличного пространства o 33.12 sqleseti - Задать информацию о клиенте o 33.13 sqlubkp - резервное копирование базы данных o 33.14 sqlureot - реорганизовать таблицу o 33.15 sqlurestore - восстановить базу данных o 33.16 Ошибка документации о поддержке расширенной совместно используемой памяти AIX o 33.17 SQLFUPD + 33.17.1 locklist o 33.18 SQLEDBDESC * Application Building Guide o 34.1 Доступные обновления * Application Development Guide o 35.1 Доступные обновления o 35.2 IBM OLE DB Provider для DB2 UDB * CLI Guide and Reference (Справочное руководство по интерфейсу командной строки) o 36.1 Связывание утилит базы данных при использовании клиента времени выполнения o 36.2 Использование статического SQL в прикладных программах CLI o 36.3 Ограничения статического профилирования JDBC/ODBC/CLI o 36.4 Преобразования ADT o 36.5 Глава 1. Introduction to CLI (Введение в CLI) + 36.5.1 Различия между CLI и встроенным SQL DB2 o 36.6 Глава 3. Using Advanced Features (Использование дополнительных возможностей) + 36.6.1 Writing Multi-Threaded Applications + 36.6.2 Написание прикладной программы Unicode CLI DB2 + 36.6.2.1 Функции Unicode + 36.6.2.2 Новые типы данных и действительные преобразования + 36.6.2.3 Устаревшее значение ключевого слова для исправления + 36.6.2.4 Литералы в базах данных Unicode + 36.6.2.5 Новые ключевые слова для конфигурации CLI + 36.6.3 Microsoft Transaction Server (MTS) как монитор транзакций + 36.6.4 Scrollable Cursors (Указатели с возможностью прокрутки) + 36.6.4.1 Поддержка указателей с возможностью прокрутки на стороне сервера для OS/390 + 36.6.5 Using Compound SQL (Использование составного SQL) + 36.6.6 Using Stored Procedures + 36.6.6.1 Написание хранимой процедуры в CLI + 36.6.6.2 Хранимые процедуры и автоматическое связывание CLI o 36.7 Глава 4. Configuring CLI/ODBC and Running Sample Applications (Конфигурирование CLI/ODBC и запуск программ примеров) + 36.7.1 Ключевые слова конфигурации o 36.8 Глава 5. DB2 CLI Functions (Функции CLI DB2) + 36.8.1 Параметр SQLBindFileToParam - Связать ссылку файла большого объекта с большим объектом + 36.8.2 SQLColAttribute - Возврат атрибутов столбца + 36.8.3 SQLGetInfo - Получить общую информацию + 36.8.4 SQLGetLength - Получение длины строчного значения + 36.8.5 SQLNextResult - Связать следующий набор результатов с другим хэндлом оператора + 36.8.5.1 Назначение + 36.8.5.2 Синтаксис + 36.8.5.3 Аргументы функции + 36.8.5.4 Использование + 36.8.5.5 Коды возврата + 36.8.5.6 Диагностика + 36.8.5.7 Ограничения + 36.8.5.8 Ссылки + 36.8.6 SQLSetStmtAttr - Задать опции, связанные с оператором o 36.9 Приложение C. DB2 CLI and ODBC (CLI DB2 и ODBC) + 36.9.1 Прикладные программы Unicode ODBC + 36.9.1.1 Сравнение прикладных программ ODBC Unicode и не Unicode o 36.10 Приложение D. Extended Scalar Functions (Расширенные скалярные функции) + 36.10.1 Date and Time Functions (Функции даты и времени) o 36.11 Приложение K. Using the DB2 CLI/ODBC/JDBC Trace Facility (Использование возможности трассировки CLI/ODBC/JDBC DB2) * Справочник по сообщениям o 37.1 Доступные обновления * SQL Reference (Справочник по SQL) o 38.1 Доступные обновления SQL Reference o 38.2 Функции MQSeries теперь поддерживают данные CLOB o 38.3 Глава 3. Language Elements (Элементы языка) + 38.3.1 Расширение типов данных + 38.3.2 Преобразование типов данных + 38.3.3 Назначения и сравнения + 38.3.3.1 Назначения строк + 38.3.3.2 Сравнение строк + 38.3.4 Правила для типов данных результатов + 38.3.4.1 Символьные и графические строки в базе данных Unicode + 38.3.5 Rules for String Conversions (Правила преобразования строк) + 38.3.6 Expressions (Выражения) + 38.3.6.1 With the Concatenation Operator (С операцией конкатенации) + 38.3.7 Predicates o 38.4 Глава 4. Functions (Функции) + 38.4.1 Включение новых функций и процедур + 38.4.2 Scalar Functions (Скалярные функции) + 38.4.2.1 MQPUBLISH + 38.4.2.2 MQREADCLOB + 38.4.2.3 MQRECEIVECLOB + 38.4.2.4 MQSEND + 38.4.3 Скалярные функции и Unicode + 38.4.4 Table Functions (Табличные функции) + 38.4.4.1 MQREADALLCLOB + 38.4.4.2 MQRECEIVEALLCLOB o 38.5 Глава 6. SQL Statements (Операторы SQL) + 38.5.1 Длинные ключи индекса для баз данных Unicode + 38.5.1.1 ALTER TABLE + 38.5.1.2 CREATE INDEX + 38.5.1.3 CREATE TABLE * Обновления для Unicode o 39.1 Введение + 39.1.1 Базы данных Unicode и прикладные программы DB2 + 39.1.2 Обновление документации ------------------------------------------------------------------------ Administrative API Reference (Справочник по API управления) ------------------------------------------------------------------------ 33.1 db2ArchiveLog (новый API) db2ArchiveLog Закрывает и усекает активный файл журнала восстановимой базы данных. Если включен обработчик пользователя, шлет требование архивирования. Авторизация Одни из следующих: * sysadm * sysctrl * sysmaint * dbadm Необходимое соединение Этот API автоматически устанавливает соединение с указанной базой данных. Если соединение с указанной базой данных уже существует, API возвращает ошибку. Версия db2ApiDf.h Синтаксис API C /* Файл: db2ApiDf.h */ /* API: архивировать активный журнал */ SQL_API_RC SQL_API_FN db2ArchiveLog ( db2Uint32 version, void *pDB2ArchiveLogStruct, struct sqlca * pSqlca); typedef struct { char *piDatabaseAlias; char *piUserName; char *piPassword; db2Uint16 iAllNodeFlag; db2Uint16 iNumNodes; SQL_PDB_NODE_TYPE *piNodeList; db2Uint32 iOptions; } db2ArchiveLogStruct Общий синтаксис API /* Файл: db2ApiDf.h */ /* API: архивировать активный журнал */ SQL_API_RC SQL_API_FN db2gArchiveLog ( db2Uint32 version, void *pDB2ArchiveLogStruct, struct sqlca * pSqlca); typedef struct { db2Uint32 iAliasLen; db2Uint32 iUserNameLen; db2Uint32 iPasswordLen; char *piDatabaseAlias; char *piUserName; char *piPassword; db2Uint16 iAllNodeFlag; db2Uint16 iNumNodes; SQL_PDB_NODE_TYPE *piNodeList; db2Uint32 iOptions; } db2ArchiveLogStruct Параметры API version Входной. Задает уровень версии и выпуска для переменной, передаваемой во втором параметре, pDB2ArchiveLogStruct. pDB2ArchiveLogStruct Входной. Указатель на структуру db2ArchiveLogStruct. pSqlca Выходной. Указатель на структуру sqlca. iAliasLen Входной. 4-байтное целое без знака, равное длине (в байтах) алиаса базы данных. iUserNameLen 4-байтное целое без знака, задающее длину в байтах имени пользователя. Если имя пользователя не используется, имеет значение 0. iPasswordLen Входной. 4-байтное целое без знака, задающее длину в байтах пароля. Задайте равным нулю, если пароль не используется. piDatabaseAlias Входной. Строка, содержащая алиас (как он внесен в системный каталог баз данных) базы данных, для которой надо архивировать активный журнал. piUserName Входной. Строка, содержащая имя пользователя для попытки соединения. piPassword Входной. Строка, содержащая пароль для попытки соединения. iAllNodeFlag Только для MPP. Входной. Флаг, указывающий, надо ли применять операцию ко всем узлам, перечисленным в файле db2nodes.cfg. Допустимые значения: DB2ARCHIVELOG_NODE_LIST Применяется на узлах из переданного в параметре piNodeList списка. DB2ARCHIVELOG_ALL_NODES Применяется на всех узлах. piNodeList должен иметь значение NULL. Это значение по умолчанию. DB2ARCHIVELOG_ALL_EXCEPT Применяется на всех узлах, кроме узлов из переданного в параметре piNodeList списка. iNumNodes Только для MPP. Входной. Задает число узлов в списке piNodeList. piNodeList Только для MPP. Входной. Указатель на массив номеров узлов, на которых выполняется операция архивирования журнала. iOptions Входной. Зарезервирован для будущего использования. ------------------------------------------------------------------------ 33.2 db2ConvMonStream В разделе Usage Notes структура для типа потока данных переменной снимка SQLM_ELM_SUBSECTION должна быть sqlm_subsection. ------------------------------------------------------------------------ 33.3 db2DatabasePing (новый API) db2DatabasePing - проверка связи с базой данных Проверяет время ответа сети для соединения между клиентом и сервером баз данных. Этот API может использоваться любой программой, когда обращение к серверу баз данных хоста осуществляется через DB2 Connect, как напрямую, так и через шлюз. Авторизация Нет Необходимое соединение База данных Версия db2ApiDf.h Синтаксис API C /* Файл: db2ApiDf.h */ /* API: Проверка соединения с базой данных */ /* ... */ SQL_API_RC SQL_API_FN db2DatabasePing ( db2Uint32 versionNumber, void *pParmStruct, struct sqlca *pSqlca); /* ... */ typedef SQL_STRUCTURE db2DatabasePingStruct { char iDbAlias[SQL_ALIAS_SZ + 1]; db2Uint16 iNumIterations; db2Uint32 *poElapsedTime; } Общий синтаксис API /* Файл: db2ApiDf.h */ /* API: Проверка соединения с базой данных */ /* ... */ SQL_API_RC SQL_API_FN db2gDatabasePing ( db2Uint32 versionNumber, void *pParmStruct, struct sqlca *pSqlca); /* ... */ typedef SQL_STRUCTURE db2gDatabasePingStruct { db2Uint16 iDbAliasLength; char iDbAlias[SQL_ALIAS_SZ]; db2Uint16 iNumIterations; db2Uint32 *poElapsedTime; } Параметры API versionNumber Входной. Версия и выпуск продукта DB2 Universal Database или DB2 Connect, которые использует программа. Прим.:Для DB2 Версии 7.1 или новее должна использоваться константа db2Version710. pParmStruct Входной. Указатель на структуру db2DatabasePingStruct. iDbAliasLength Входной. Длина алиаса базы данных. Прим.:Этот параметр сейчас не используется. Он зарезервирован для будущего использования. iDbAlias Входной. Алиас базы данных. Прим.:Этот параметр сейчас не используется. Он зарезервирован для будущего использования. iNumIterations Входной. Число повторений требований тестирования. Значение должно находиться в диапазоне от 1 до 32767 включительно. poElapsedTime Выходной. Указатель на массив 32-битных целых, число элементов равно значению iNumIterations. Каждый элемент в этом массиве будет содержать время в микросекундах, затраченное на одно выполнение требования тестирования. Прим.:За выделение памяти для этого массива перед вызовом данного API отвечает прикладная программа. pSqlca Выходной. Указатель на структуру sqlca. Дополнительную информацию об этой структуре смотрите в руководстве Administrative API Reference. Замечания по использованию Перед вызовом данного API соединение с базой данных должно существовать, иначе произойдет ошибка. Эту функцию можно также вызвать при помощи команды PING. Описание этой команды смотрите в руководстве Command Reference. ------------------------------------------------------------------------ 33.4 db2HistData К Таблице 11 надо добавить следующие строки. Поля в структуре db2HistData: Имя поля Тип данных Описание oOperation char Смотрите таблицу 12. oOptype char Смотрите таблицу 13. После таблицы 11 надо добавить следующую таблицу. Таблица 12. Допустимые значения событий для oOperation в структуре db2HistData ЗначениеОписание Определение на C Определение на COBOL/FORTRAN A добавить DB2HISTORY_OP_ADD_TABLESPACE DB2HIST_OP_ADD_TABLESPACE табличное пространство B резервное DB2HISTORY_OP_BACKUP DB2HIST_OP_BACKUP копирование C загрузка и DB2HISTORY_OP_LOAD_COPY DB2HIST_OP_LOAD_COPY копирование D отброшенная DB2HISTORY_OP_DROPPED_TABLE DB2HIST_OP_DROPPED_TABLE таблица F повтор DB2HISTORY_OP_ROLLFWD DB2HIST_OP_ROLLFWD транзакций G перестроить DB2HISTORY_OP_REORG DB2HIST_OP_REORG таблицу L загрузка DB2HISTORY_OP_LOAD DB2HIST_OP_LOAD N переименовать DB2HISTORY_OP_REN_TABLESPACE DB2HIST_OP_REN_TABLESPACE табличное пространство O отбросить DB2HISTORY_OP_DROP_TABLESPACE DB2HIST_OP_DROP_TABLESPACE табличное пространство Q стабилизация DB2HISTORY_OP_QUIESCE DB2HIST_OP_QUIESCE R восстановление DB2HISTORY_OP_RESTORE DB2HIST_OP_RESTORE S запустить DB2HISTORY_OP_RUNSTATS DB2HIST_OP_RUNSTATS статистику T изменить DB2HISTORY_OP_ALT_TABLESPACE DB2HIST_OP_ALT_TBS табличное пространство U выгрузить DB2HISTORY_OP_UNLOAD DB2HIST_OP_UNLOAD Надо также добавить следующую таблицу. Таблица 13. Допустимые значения oOptype в структуре db2HistData oOperationoOptype Описание Описание C/COBOL/FORTRAN B F автономный DB2HISTORY_OPTYPE_OFFLINE N оперативный DB2HISTORY_OPTYPE_ONLINE I инкрементный DB2HISTORY_OPTYPE_INCR_OFFLINE автономный O инкрементный DB2HISTORY_OPTYPE_INCR_ONLINE оперативный D разностный DB2HISTORY_OPTYPE_DELTA_OFFLINE автономный E разностный DB2HISTORY_OPTYPE_DELTA_ONLIN оперативный F E до конца журнала DB2HISTORY_OPTYPE_EOL P до момента времени DB2HISTORY_OPTYPE_PIT L I вставка DB2HISTORY_OPTYPE_INSERT R замена DB2HISTORY_OPTYPE_REPLACE Q S стабилизация в DB2HISTORY_OPTYPE_SHARE совместном режиме U изменение DB2HISTORY_OPTYPE_UPDATE стабилизации X стабилизация в DB2HISTORY_OPTYPE_EXCL монопольном режиме Z сброс стабилизации DB2HISTORY_OPTYPE_RESET R F автономный DB2HISTORY_OPTYPE_OFFLINE N оперативный DB2HISTORY_OPTYPE_ONLINE I инкрементный DB2HISTORY_OPTYPE_INCR_OFFLINE автономный O инкрементный DB2HISTORY_OPTYPE_INCR_ONLINE оперативный T C добавить контейнеры DB2HISTORY_OPTYPE_ADD_CONT R перебалансировка DB2HISTORY_OPTYPE_REB ------------------------------------------------------------------------ 33.5 db2HistoryOpenScan К параметру iCallerAction надо добавить следующее значение. DB2HISTORY_LIST_CRT_TABLESPACE Выбирает только записи CREATE TABLESPACE и DROP TABLESPACE, прошедшие прочие фильтры. ------------------------------------------------------------------------ 33.6 db2XaGetInfo (новый API) db2XaGetInfo - Получить информацию для менеджера ресурсов Получает информацию для конкретного менеджера ресурсов после того, как были сделаны вызовы xa_open. Авторизация Нет Необходимое соединение База данных Версия sqlxa.h Синтаксис API C /* Файл: sqlxa.h */ /* Функция API: Получить информацию для менеджера ресурсов */ /* ... */ SQL_API_RC SQL_API_FN db2XaGetInfo ( db2Uint32 versionNumber, void * pParmStruct, struct sqlca * pSqlca); typedef SQL_STRUCTURE db2XaGetInfoStruct { db2int32 iRmid; struct sqlca oLastSqlca; } db2XaGetInfoStruct; Параметры API versionNumber Входной. Задает уровень версии и выпуска для структуры, передаваемой во втором параметре pParmStruct. pParmStruct Входной. Указатель на структуру db2XaGetInfoStruct. pSqlca Выходной. Указатель на структуру sqlca. Дополнительную информацию об этой структуре смотрите в руководстве Administrative API Reference. iRmid Входной. Задает менеджер ресурсов, для которого требуется информация. oLastSqlca Выходной. Содержит sqlca для последнего вызова API XA. Прим.:Можно получить только sqlca для последнего неудачного вызова API XA. ------------------------------------------------------------------------ 33.7 db2XaListIndTrans (новый API, заменяющий sqlxphqr) db2XaListIndTrans - Получить список неоднозначных транзакций Выдает список всех неоднозначных транзакций для базы данных, с которой в настоящее время установлено соединение. Область действия Эта функция API влияет только на узел, на котором она вызвана. Авторизация Одни из следующих: * sysadm * dbadm Необходимое соединение База данных Версия db2ApiDf.h Синтаксис API C /* Файл: db2ApiDf.h */ /* Функция API: Получить список неоднозначных транзакций */ /* ... */ SQL_API_RC SQL_API_FN db2XaListIndTrans ( db2Uint32 versionNumber, void * pParmStruct, struct sqlca * pSqlca); typedef SQL_STRUCTURE db2XaListIndTransStruct { db2XaRecoverStruct * piIndoubtData; db2Uint32 iIndoubtDataLen; db2Uint32 oNumIndoubtsReturned; db2Uint32 oNumIndoubtsTotal; db2Uint32 oReqBufferLen; } db2XaListIndTransStruct; typedef SQL_STRUCTURE db2XaRecoverStruct { sqluint32 timestamp; SQLXA_XID xid; char dbalias[SQLXA_DBNAME_SZ]; char applid[SQLXA_APPLID_SZ]; char sequence_no[SQLXA_SEQ_SZ]; char auth_id[SQL_USERID_SZ]; char log_full; char connected; char indoubt_status; char originator; char reserved[8]; } db2XaRecoverStruct; Параметры API versionNumber Входной. Задает уровень версии и выпуска для структуры, передаваемой во втором параметре pParmStruct. pParmStruct Входной. Указатель на структуру db2XaListIndTransStruct. pSqlca Выходной. Указатель на структуру sqlca. Дополнительную информацию об этой структуре смотрите в руководстве Administrative API Reference. piIndoubtData Входной. Указатель на поставляемый прикладной программой буфер, в который будут возвращена информация о неоднозначных транзакциях. Эта возвращаемая информация имеет формат db2XaRecoverStruct. Прикладная программа может просмотреть список неоднозначных транзакций, начиная с адреса, указанного в этом параметре, и используя размер структуры db2XaRecoverStruct. Если этот параметр имеет пустое значение, DB2 вычислит необходимый размер буфера и вернет его значение в oReqBufferLen. oNumIndoubtsTotal будет содержать общее число неоднозначных транзакций. Прикладная программа может выделить буфер нужного размера и вновь вызвать эту функцию API. oNumIndoubtsReturned Выходной. Число записей о неоднозначных транзакциях, возвращенных в буфере, указанном в pIndoubtData. oNumIndoubtsTotal Выходной. Общее число записей о неоднозначных транзакциях, доступных в момент вызова этой функции API. Если буфер piIndoubtData недостаточно большой, чтобы вместить все эти записи, значение oNumIndoubtsTotal будет больше, чем oNumIndoubtsReturned. Прикладная программа может повторно вызвать эту функцию API, чтобы получить все записи. Прим.:Между вызовами API это число может измениться - в результате автоматической или эвристической ресинхронизации неоднозначных транзакций или из-за того, что другие транзакции окажутся в неоднозначном состоянии. oReqBufferLen Выходной. Длина буфера, необходимая для вмещения всех записей о неоднозначных транзакциях, доступных в момент вызова этой функции API. Прикладная программа может использовать это значение, чтобы определить требуемый размер буфера, вызвав эту функцию API с пустым значением параметра pIndoubtData. Затем она может использовать это значение для выделения требуемого буфера и вновь вызвать эту функцию API, задав в pIndoubtData адрес выделенного буфера. Прим.:Требуемый размер буфера может измениться между вызовами API - в результате автоматической или эвристической ресинхронизации неоднозначных транзакций или из-за того, что другие транзакции окажутся в неоднозначном состоянии. Учитывая это, прикладная программа может выделять буфер большего размера. отметка времени (timestamp) Выходной. Указывает время, когда транзакция перешла в неоднозначное состояние. xid Выходной. Указывает идентификатор XA, присвоенный менеджером транзакций для однозначной идентификации глобальной транзакции. dbalias Выходной. Указывает алиас базы данных, в которой обнаружена эта неоднозначная транзакция. applid Выходной. Указывает идентификатор прикладной программы, присвоенный менеджером баз данных этой транзакции. sequence_no Выходной. Указывает порядковый номер, присвоенный менеджером баз данных в качестве расширения для applid. auth_id Выходной. Указывает ID авторизации пользователя, выполнявшего эту транзакцию. log_full Выходной. Указывает, вызвала ли эта транзакция условие переполнения журнала. Допустимые значения: SQLXA_TRUE Эта неоднозначная транзакция вызвала условие переполнения журнала. SQLXA_FALSE Эта неоднозначная транзакция не вызвала условия переполнения журнала. connected Выходной. Указывает, соединена ли эта прикладная программа. Допустимые значения: SQLXA_TRUE Для этой транзакции выполняется нормальная обработка точек синхронизации и она ожидает второй фазы двухфазного принятия. SQLXA_FALSE Эта транзакция осталась неоднозначной из-за более ранней ошибки и теперь она ожидает ресинхронизации менеджером транзакций. indoubt_status Выходной. Указывает состояние этой неоднозначной транзакции. Допустимые значения: SQLXA_TS_PREP Транзакция подготовлена. Можно использовать параметр connected, чтобы определить, ожидает транзакция второй фазы нормальной обработки принятия или возникла ошибка и требуется ресинхронизация менеджером транзакций. SQLXA_TS_HCOM Для транзакции выполнено эвристическое принятие. SQLXA_TS_HROL Для транзакции выполнен эвристический откат. SQLXA_TS_MACK Транзакция не получила подтверждение принятия от узла в многораздельной базе данных. SQLXA_TS_END Транзакция закончена для этой базы данных. Эта транзакция впоследствии может быть вновь активирована, или для нее могут быть выполнены принятие или откат. Возможно также, что менеджер транзакций обнаружит ошибку и транзакция не будет выполнена. В таком случае для этой транзакции требуются эвристические действия, поскольку она может удерживать блокировки и мешать другим прикладным программам обращаться к данным. Замечания по использованию Типичная прикладная программа выполняет следующие шаги после установления соединения с базой данных или с узлом координатора многораздельной базы данных: 1. Вызывает db2XaListIndTrans с пустым (NULL) значением параметра piIndoubtData. Будут возвращены значения oReqBufferLen и oNumIndoubtsTotal. 2. Использует возвращенное значение oReqBufferLen, чтобы выделить буфер. Этот буфер может оказаться недостаточно большим, если после вызова этой функции API для получения значения oReqBufferLen появились дополнительные неоднозначные транзакции. Прикладная программа может выделить буфер больше, чем задано значением oReqBufferLen. 3. Определяет, все ли записи о неоднозначных транзакциях были получены. Для этого она сравнивает значения oNumIndoubtsReturned и oNumIndoubtTotal. Если oNumIndoubtsTotal больше, чем oNumIndoubtsReturned, прикладная программа может повторить описанные выше шаги. Смотрите также "sqlxhfrg - Забыть состояние транзакции", "sqlxphcm - Выполнить принятие неоднозначной транзакции" и "sqlxphrl - Выполнить откат неоднозначной транзакции" в руководстве Administrative API Reference. ------------------------------------------------------------------------ 33.8 db2GetSnapshot - получить снимок Синтаксис API db2GetSnapshot должен выглядеть так: int db2GetSnapshot( unsigned char version; db2GetSnapshotData *data, struct sqlca *sqlca); Параметры, описанные в данных: typedef struct db2GetSnapshotData{ sqlma *piSqlmaData; sqlm_collected *poCollectedData void *poBuffer; db2uint32 iVersion; db2int32 iBufferSize; db2uint8 iStoreResult; db2uint16 iNodeNumber; db2uint32 *poOutputFormat; }db2GetSnapshotData; ------------------------------------------------------------------------ 33.9 Запись журнала Forget Следующую информацию надо добавить к Приложению F после раздела MPP Subordinator Prepare. Эта запись журнала записывается после отката неоднозначных транзакций или после завершения двухфазного принятия. Эта запись означает, что транзакция завершена и все удерживаемые ресурсы журнала освобождаются. Чтобы для транзакции была записана такая запись, она должна быть в эвристически завершенном состоянии. Табл. 6. Структура записи журнала Forget Описание Тип Смещение (байт) Заголовок журнала LogManagerLogRecordHeader 0(20) время sqluint64 20(8) Полная длина: 28 байт ------------------------------------------------------------------------ 33.10 sqlaintp - Получить сообщение об ошибке В описание этого API надо добавить следующее замечание по использованию: В многопоточных прикладных программах функция sqlaintp должна быть подключена к правильному контексту; в противном случае не может быть получен текст сообщения для SQLCODE -1445. ------------------------------------------------------------------------ 33.11 sqlbctcq - Закрыть запрос к контейнеру табличного пространства У загрузки нет достаточного уровня полномочий для данного API. ------------------------------------------------------------------------ 33.12 sqleseti - Задать информацию о клиенте Значения, задаваемые этим API, доступны также через специальный регистр SQL. Значения в этих регистрах хранятся в кодовой странице базы данных. Значения данных, задаваемые этим API, перед записью в специальные регистры преобразуются в кодовую страницу базы данных. Любые значения данных, длина которых после преобразования превысит максимальный поддерживаемый размер, перед сохранением на сервере будут усечены. Эти усеченные значения и будут возвращены при обращении к специальным регистрам. Исходные значения данных без преобразования в кодовую страницу базы данных также сохраняются на сервере. Эти непреобразованные значения можно получить при помощи API sqleqryi. ------------------------------------------------------------------------ 33.13 sqlubkp - резервное копирование базы данных Для параметра BackupType значение SQLUB_FULL заменено на SQLUB_DB. При этом снимается резервная копия всех табличных пространств в базе данных. Для поддержки новой возможности инкрементного копирования добавлены также параметрыSQLUB_INCREMENTAL и SQLUB_DELTA. Инкрементная резервная копия - это копия всех данных базы данных, измененных с момента последнего успешного снятия полной копии. Разностная резервная копия - это копия всех данных базы данных, измененных с момента последнего успешного снятия копии любого типа. ------------------------------------------------------------------------ 33.14 sqlureot - реорганизовать таблицу В Замечания по использованию надо добавить следующее предложение: REORGANIZE TABLE не может использовать индекс на основе расширения индекса. ------------------------------------------------------------------------ 33.15 sqlurestore - восстановить базу данных Для параметра RestoreType значение SQLUD_FULL заменено на SQLUD_DB. При этом восстанавливаются все табличные пространства в базе данных. Восстановление производится в автономном режиме. Для поддержки новой возможности инкрементного восстановления добавлен также параметр SQLUD_INCREMENTAL. Инкрементная резервная копия - это копия всех данных базы данных, измененных с момента последнего успешного снятия полной копии. ------------------------------------------------------------------------ 33.16 Ошибка документации о поддержке расширенной совместно используемой памяти AIX В Приложении E "Threaded Applications with Concurrent Access" (Многопоточные программы с одновременным доступом) примечание 2 следует читать так: 2. По умолчанию AIX не разрешает 32-битным программам присоединять более 11 сегментов совместно используемой памяти на один процесс, максимум 10 из которых можно использовать для локальных соединений DB2. Чтобы использовать EXTSHM с DB2, выполните следующее: В сеансах клиента: export EXTSHM=ON При запуске сервера DB2: export EXTSHM=ON db2set DB2ENVLIST=EXTSHM db2start В EEE добавите в файл sqllib/db2profile также строки: EXTSHM=ON export EXTSHM ------------------------------------------------------------------------ 33.17 SQLFUPD 33.17.1 locklist Имя маркера изменено с SQLF_DBTN_LOCKLIST на SQLF_DBTN_LOCK_LIST. Тип параметра locklist изменен с SMALLINT на 64-битное INTEGER без знака. В таблицу Изменяемые параметры конфигурации базы данных надо внести следующее дополнение. Имя параметра Маркер Значение маркера Тип данных locklist SQLF_DBTN_LOCK_LIST704 Uint64 Новое максимальное значение для этого параметра - 524 288. Кроме того, в Главе 3 "Data Structures" (Структуры данных) в Таблице 3 Updatable Database Configuration Parameters (Изменяемые параметры конфигурации базы данных) для параметра dbheap указано неверное значение маркера - 701. Верное значение - 58. ------------------------------------------------------------------------ 33.18 SQLEDBDESC В список допустимых значений для SQLDBCSS (определенный в sqlenv) добавлены два новых значения: SQL_CS_SYSTEM_NLSCHAR Последовательность слияния для системы использует национальную версию подпрограмм сравнения для символьных типов. SQL_CS_USER_NLSCHAR Последовательность слияния для пользователя использует национальную версию подпрограмм сравнения для символьных типов. ------------------------------------------------------------------------ Application Building Guide ------------------------------------------------------------------------ 34.1 Доступные обновления Обновления Application Building Guide и свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ Application Development Guide ------------------------------------------------------------------------ 35.1 Доступные обновления Application Development Guide обновлено; свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Информация этих замечаний дополняет данную ссылку. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ 35.2 IBM OLE DB Provider для DB2 UDB Информацию о IBM OLE DB Provider for DB2 смотрите по адресу http://www.ibm.com/software/data/db2/udb/ad/v71/oledb.html. ------------------------------------------------------------------------ CLI Guide and Reference (Справочное руководство по интерфейсу командной строки) ------------------------------------------------------------------------ 36.1 Связывание утилит базы данных при использовании клиента времени выполнения Клиент времени выполнения не может использоваться для связывания утилит базы данных (import, export, reorg, процессор командной строки) или файлов связывания CLI DB2 с базами данных, чтобы они могли использоваться с этими базами данных. Вместо него нужно использовать клиент администратора DB2 или клиент разработки прикладных программ DB2. Прежде чем утилиты базы данных и файлы связывания CLI DB2 можно будет использовать с базой данных, они должны быть связаны с этой базой данных. Если в сетевой среде используется несколько клиентов, работающих в разных операционных системах или имеющих разные уровни версий или служб DB2, необходимо связать утилиты один раз для каждой комбинации операционной системы и версии DB2. ------------------------------------------------------------------------ 36.2 Использование статического SQL в прикладных программах CLI Дополнительную информацию об использовании статического SQL в прикладных программах CLI смотрите на странице Web по адресу: http://www.ibm.com/software/data/db2/udb/staticcli/ ------------------------------------------------------------------------ 36.3 Ограничения статического профилирования JDBC/ODBC/CLI Статическое профилирование JDBC/ODBC/CLI в настоящее время предназначено для простых прикладных программ. Оно не предназначено для сложных прикладных программ, состоящих из многих функциональных компонентов и реализующих сложные логические алгоритмы. Чтобы оператор SQL был захвачен в сеанс профилирования, он должен быть успешно выполнен. Динамические операторы, для которых в сеансе поиска совпадающих операторов не будут найдены совпадающие операторы, будут продолжать выполняться как динамические вызовы JDBC/ODBC/CLI. Чтобы оператор SQL был приемлемым кандидатом для совпадения операторов, он должен посимвольно совпадать с захваченным и связанным оператором. Пробелы существенны: например, "COL = 1" не считается совпадающим с "COL=1". Использование маркеров параметров вместо литералов увеличивает вероятность обнаружения совпадения. При выполнении прикладной программы с предварительно связанными статическими операторами SQL динамические регистры, управляющие поведением динамических операторов, не будут влиять на выполнение операторов, преобразованных в статический вид. Если прикладная программа выдает операторы DDL для объектов, используемых в последующих операторах DML, вы обнаружите все эти операторы в файле захвата. Средство связывания статического профилирования JDBC/ODBC/CLI попытается выполнить для них связывание. Эта попытка связывания будет успешной при работе с СУБД, поддерживающими опцию связывания VALIDATE(RUN), и не будет успешной с СУБД, не поддерживающими эту опцию. В этом случае для прикладной программы не следует использовать статическое профилирование. Администратор базы данных может отредактировать файл захвата, чтобы добавить, изменить или удалить операторы SQL в соответствии с требованиями конкретной прикладной программы. ------------------------------------------------------------------------ 36.4 Преобразования ADT Следующая информация замещает существующую информацию в этой книге. * Существует новый тип дескриптора (smallint) SQL_DESC_USER_DEFINED_TYPE_CODE со значениями: SQL_TYPE_BASE 0 (это не USER_DEFINED_TYPE) SQL_TYPE_DISTINCT 1 SQL_TYPE_STRUCTURED 2 Это значение можно запросить с помощью SQLColAttribute или SQLGetDescField (только для IRD). Чтобы получить действительные имена типов, добавлены атрибуты: SQL_DESC_REFERENCE_TYPE SQL_DESC_STRUCTURED_TYPE SQL_DESC_USER_TYPE Указанные выше значения можно запросить с помощью SQLColAttribute или SQLGetDescField (только для IRD). * Добавьте тип SQL_DESC_BASE_TYPE, если он требуется в прикладной программе. Например, прикладная программа может не распознавать структурированный тип и использоваться только для его выборки или вставки, оставляя работу с подробностями их структуры другим программным модулям. * Добавьте новый атрибут соединения с именем SQL_ATTR_TRANSFORM_GROUP, чтобы позволить прикладной программе задавать группу преобразования (вместо того, чтобы использовать оператор SQL "SET CURRENT DEFAULT TRANSFORM GROUP"). * Добавьте новый атрибут оператора/соединения с именем SQL_ATTR_RETURN_USER_DEFINED_TYPES, который можно задать или запросить с помощью SQLSetConnectAttr; если задан этот атрибут, CLI возвращает в качестве допустимого типа SQL значение SQL_DESC_USER_DEFINED_TYPE_CODE. Этот атрибут требуется перед использованием любых преобразований. o По умолчанию этот атрибут выключен и в качестве типа SQL возвращается информация о базовом типе. o Когда он включен, в качестве SQL_TYPE возвращается SQL_DESC_USER_DEFINED_TYPE_CODE. Прикладная программа будет проверять SQL_DESC_USER_DEFINED_TYPE_CODE и затем получать соответствующее имя типа. Это будет возможно для SQLColAttribute, SQLDescribeCol и SQLGetDescField. * Функция SQLBindParameter не вызывает ошибки при связывании SQL_C_DEFAULT, поскольку нет кода, позволяющего SQLBindParameter задавать тип SQL_USER_DEFINED_TYPE. Будут использоваться стандартные типы языка C по умолчанию в соответствии с типом SQL, переданным на сервер. Например: sqlrc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 30, 0, &c2, 30, NULL); ------------------------------------------------------------------------ 36.5 Глава 1. Introduction to CLI (Введение в CLI) 36.5.1 Различия между CLI и встроенным SQL DB2 Третий пункт в конце списка в разделе "Advantages of Using DB2 CLI" неверен. Правильная информация: DB2 CLI обеспечивает возможность получать несколько строк и наборов результатов, сгенерированных хранимой процедурой на сервере DB2 Universal Database, сервере DB2 for MVS/ESA (Версии 5 или новее) или сервере OS/400 (Версии 5 или новее). Для поддержки получения нескольких наборов результатов на OS/400 необходимо применить на сервере PTF (Program Temporary Fix - временное исправление программы) SI01761. Обратитесь к вашему системному администратору OS/400, чтобы узнать, применено ли это PTF. ------------------------------------------------------------------------ 36.6 Глава 3. Using Advanced Features (Использование дополнительных возможностей) 36.6.1 Writing Multi-Threaded Applications В конец раздела "Multi-Threaded Mixed Applications" (Создание многопоточных программ) надо добавить: Прим.:НЕ рекомендуется использовать размер стека по умолчанию; вместо этого лучше увеличить размер по крайней мере до 256 000. При вызове функции DB2 требуется размер стека минимум 256 000. Размер стека надо задать так, чтоб он был достаточным и для вашей программы, и для вызова функции DB2. 36.6.2 Написание прикладной программы Unicode CLI DB2 Дальше приведен новый раздел для этой главы. Существуют две основных области поддержки для прикладных программ Unicode CLI DB2: 1. Добавление набора функций, который может принимать строчные аргументы Unicode вместо строчных аргументов ANSI. 2. Добавление новых типов данных C и SQL для описания данных данных ANSI или Unicode. В следующих разделах приводится дополнительная информация для обеих этих областях. Чтобы программа считалась прикладной программой Unicode, перед выполнением соединения он должна задать для атрибута соединения SQL_ATTR_ANSI_APP значение SQL_AA_FALSE. Этим достигается то, что CLI будет связываться как клиент Unicode, а все данные Unicode будут посылаться либо в UTF-8 для данных CHAR, либо в UCS-2 для данных GRAPHIC. 36.6.2.1 Функции Unicode Далее приводится список функций API ODBC, которые поддерживают версии как Unicode (W), так ANSI (A) (в Unicode в имени функции будет присутствовать W): SQLBrowseConnect SQLForeignKeys SQLPrimaryKeys SQLColAttribute SQLGetConnectAttr SQLProcedureColumns SQLColAttributes SQLGetConnectOption SQLProcedures SQLColumnPrivileges SQLGetCursorName SQLSetConnectAttr SQLColumns SQLGetDescField SQLSetConnectOption SQLConnect SQLGetDescRec SQLSetCursorName SQLDataSources SQLGetDiagField SQLSetDescField SQLDescribeCol SQLGetDiagRec SQLSetStmtAttr SQLDriverConnect SQLGetInfo SQLSpecialColumns SQLDrivers SQLGetStmtAttr SQLStatistics SQLError SQLNativeSQL SQLTablePrivileges SQLExecDirect SQLPrepare SQLTables Функции Unicode всегда возвращают или принимают аргументы длины строки в виде числа символов. Для функций, возвращающих информацию о длине для данных сервера, размер и точность вывода на экран описываются числом символов. Когда длина (размер передаваемых данных) может относиться и к строчным, и к другим данным, эта длина описывается в длинах октетов. Например, для SQLGetInfoW длина - это число байтов, а для SQLExecDirectW - число символов. CLI будет возвращать наборы результатов либо в Unicode, либо в ANSI, в зависимости от связывания прикладной программы. Если прикладная программа связывается с SQL_C_CHAR, драйвер будет преобразовывать данные SQL_WCHAR в SQL_CHAR. Менеджер драйверов отображает SQL_C_WCHAR в SQL_C_CHAR для драйверов ANSI, но не производит отображения для драйверов Unicode. 36.6.2.2 Новые типы данных и действительные преобразования Есть два новых определенных типа данных CLI или ODBC, SQL_C_WCHAR и SQL_WCHAR. SQL_C_WCHAR указывает, что буфер C содержит данные UCS-2. SQL_WCHAR указывает, что маркер конкретного столбца или параметра содержит данные Unicode. Для серверов Unicode DB2 графические столбцы будут описываться как SQL_WCHAR. Преобразование будет разрешено между SQL_C_WCHAR и SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR и SQL_CLOB, а также между графическими типами данных. Табл. 7. Поддерживаемые преобразования данных S S Q Q L S S L _ Q Q _ C L L C S S _ _ _ _ Q Q T C C D S L L Y _ _ B S Q S _ _ P S S C B C S Q S S L S Q C C E Q Q L L L Q L S Q S Q _ Q L _ _ _ L L O O O L _ Q L Q L C L _ T T T _ S _ B B B _ C L _ L _ _ _ C Y Y I C Q C _ _ _ C _ _ C _ C T C _ P P M _ L _ L L L _ N C _ C _ I _ D E E E B _ D O O O B U _ W _ S N F O _ _ S I C B C C C I M C C L H Y L U D T T N _ C A A A G E H H O O I O B A I A A B H T T T I R A A N R N A L T M M R I A O O O N I Тип данных SQL R R G T T T E E E P Y T R R R R T C BLOB X X D X CHAR D X X X X X X X X X X X X X CLOB D X X X DATE X X D X DBCLOB X X D X DECIMAL D X X X X X X X X X X DOUBLE X X X X X X D X X X FLOAT X X X X X X D X X X GRAPHIC (Не X X D Unicode) GRAPHIC (Unicode) X X X X X X X X X X X X D X INTEGER X X D X X X X X X X LONG D X X VARCHAR LONG X X X D VARGRAPHIC (Не Unicode) LONG X X X D VARGRAPHIC (Unicode) NUMERIC D X X X X X X X X REAL X X X X X D X X X SMALLINT X X X D X X X X X X BIGINT X X X X X X X X X D X TIME X X D X TIMESTAMP X X X X D VARCHAR D X X X X X X X X X X X X X VARGRAPHIC X X D (Не Unicode) VARGRAPHIC X X X X X X X X X X X X D X (Unicode) Прим.:D Преобразование поддерживается. Это - используемое по умолчанию преобразование для этого типа данных SQL. X Все СУБД IBM поддерживают это преобразование. пробел Никакие СУБД IBM не поддерживают это преобразование. * Данные не преобразуются в типы локатора больших объектов; наоборот, локаторы представляют значение данных; дополнительную информацию смотрите в разделе Использование больших объектов. * SQL_C_NUMERIC доступен только в 32-битных операционных системах Windows. 36.6.2.3 Устаревшее значение ключевого слова для исправления До того, как стали поддерживаться прикладные программы Unicode, программы, написанные для работы с однобайтными символьными данными, можно было заставить работать с двухбайтными графическими данными при помощи нескольких последовательных ключевых слов файлов cli ini, таких как GRAPHIC=1,2 или 3, Patch2=7. Такой подход представляет графические данные как символьные и оказывает влияние на сообщаемую длину данных. Для прикладных программ Unicode такие ключевые слова теперь не нужны, и не должны использоваться, из-за потенциального риска побочных эффектов. Если достоверно не известно, является ли конкретная прикладная программа программой Unicode, советуем попробовать обойтись без ключевых слов, влияющих на обработку графических данных. 36.6.2.4 Литералы в базах данных Unicode В базах данных не Unicode нельзя сравнивать данные в столбцах LONG VARGRAPHIC и LONG VARCHAR. Столбцы GRAPHIC/VARGRAPHIC и CHAR/VARCHAR можно только сравнивать или назначать друг другу, явным образом используя функции преобразования типов, поскольку неявное преобразование кодовых страниц не поддерживается как таковое. Это относится к литералам GRAPHIC/VARGRAPHIC и CHAR/VARCHAR, когда литерал GRAPHIC/VARGRAPHIC отличается от литерала CHAR/VARCHAR при помощи префикса G. В базах данных Unicode не требуется преобразование между литералами GRAPHIC/VARGRAPHIC и CHAR/VARCHAR. Кроме того, в них перед литералом GRAPHIC/VARGRAPHIC не требуется префикс G. Если, по крайней мере, один из аргументов является литералом, происходят неявные преобразования. Это позволяет применять литералы с префиксом G или без него в операторах, использующих либо SQLPrepareW(), либо SQLExecDirect(). При этом литералы для LONG VARGRAPHIC могут сохранять префикс G. Дополнительную информацию смотрите в разделе "Casting Between Data Types" (Преобразование типов данных) Главы 3 "Language Elements" (Элементы языка) справочника SQL Reference. 36.6.2.5 Новые ключевые слова для конфигурации CLI С целью устранения дополнительных издержек при связи прикладных программ Unicode с базой данных были добавлены следующие три ключевых слова. 1. DisableUnicode Описание ключевого слова: Отключает базовую поддержку Unicode. Синтаксис ключевого слова db2cli.ini: DisableUnicode = 0 | 1 Значение по умолчанию: 0 (ложь) Вкладка Параметры CLI/ODBC DB2: Это ключевое слово нельзя задать через записную книжку Параметры CLI/ODBC. Для использования этого ключевого слова надо непосредственно изменить файл db2cli.ini. Замечания по использованию Если сначала разрешить поддержку Unicode, а затем вызвать прикладную программу Unicode, CLI попробует связаться с базой данных и использованием кодовой страницы клиента, лучше всех обеспечивающей отсутствие дополнительных потерь данных, связанных с преобразованием кодовых страниц. Это может увеличить время соединения за счет изменения кодовых страниц, а также вызвать преобразование кодовых страниц на клиенте, которого не было до добавления этой поддержки. Задание значения True для этого ключевого слова значения приведет к преобразованию всех данных Unicode в локальную кодовую страницу прикладной программы перед их отправкой на сервер. Это может привести к потере любых данных, которые нельзя представить в локальной кодовой странице. 2. ConnectCodepage Описание ключевого слова: Указывает конкретную кодовую страницу для использования при связи с источником данных для минимизации расходов соединения. Синтаксис ключевого слова db2cli.ini: ConnectCodepage = 0 | 1 <любая действительная кодовая страница db2> Значение по умолчанию: 0 Вкладка Параметры CLI/ODBC DB2: Это ключевое слово нельзя задать через записную книжку Параметры CLI/ODBC. Для использования этого ключевого слова надо непосредственно изменить файл db2cli.ini. Замечания по использованию Прикладные программы не Unicode всегда связываются с базой данных, используя локальную страницу прикладной программы или установку среды кодовой страницы DB2. По умолчанию CLI будет обеспечивать связь прикладных программ Unicode с базами данных Unicode с использованием кодовых страниц UTF-8 и UCS-2, а с базами данных не Unicode - с использованием кодовых страниц этих баз данных. Этим предотвращается необязательная потеря данных из-за преобразования кодовых страниц. Это ключевое слово позволяет пользователю указывать кодовую страницу базы данных при связывании с базой данных не Unicode, чтобы при этом соединении не было ненужных дополнительных затрат. Укажите значение 1, чтобы SQLDriverConnect() возвращало правильное значение в строке вывода соединения, чтобы использовать это значение при последующих вызовах SQLDriverConnect(). 3. UnicodeServer Описание ключевого слова: Указывает, что источником данных является сервер Unicode. Эквивалентно значению ConnectCodepage=1208. Синтаксис ключевого слова db2cli.ini: UnicodeServer = 0 | 1 Значение по умолчанию: 0 Вкладка Параметры CLI/ODBC DB2: Это ключевое слово нельзя задать через записную книжку Параметры CLI/ODBC. Для использования этого ключевого слова надо непосредственно изменить файл db2cli.ini. Замечания по использованию Это ключевое слово эквивалентно ConnectCodepage=1208 и добавлено только для удобства. Установите это ключевое слово для предотвращения избыточных расходов на связь с DB2 for OS/390 Версии 7 или более поздней. Нет необходимости устанавливать это ключевое слово для баз данных DB2 for Windows, DB2 for Unix или DB2 for OS/2, поскольку при этом не требуется дополнительная обработка. 36.6.3 Microsoft Transaction Server (MTS) как монитор транзакций Необходимо исправить значение по умолчанию для ключевого слова конфигурации DISABLEMULTITHREAD в подразделе "Installation and Configuration" (Установка и конфигурирование) : * Ключевое слово DISABLEMULTITHREAD (значение по умолчанию 0) 36.6.4 Scrollable Cursors (Указатели с возможностью прокрутки) В раздел "Scrollable Cursors" (Указатели с возможностью прокрутки) надо добавить следующую информацию: 36.6.4.1 Поддержка указателей с возможностью прокрутки на стороне сервера для OS/390 Клиент UDB для платформ Unix, Windows и OS/2 при применении к базе данных OS/390 Версии 7 поддерживает указатели с возможностью изменения и прокрутки на стороне сервера. Для обращения к указателю OS/390 с возможностью прокрутки в трехуровневой среде на клиенте и на шлюзе должны работать с DB2 UDB Версии 7.1, FixPak 3 или новее. Существует два программных интерфейса программ, обеспечивающих доступ к указателям с возможностью прокрутки: ODBC и JDBC. Интерфейс JDBC позволяет обращаться только к статическим указателям с прокруткой; интерфейс ODBC позволяет обращаться как к статическим, так и к управляемым клавиатурой указателям с прокруткой на стороне сервера. Атрибуты указателя В следующей таблице приведены значения по умолчанию атрибутов указателей OS/390 Версии 7 в ODBC. Табл. 8. Атрибуты по умолчанию для указателей OS/390 в ODBC Тип указателя Чувствительность Возможность Одновременность Возможность указателя изменения указателя прокрутки указателя указателя только-впередaне задается без одновременность без возможности только для возможности изменения чтения прокрутки статический нечувствительный без одновременность с возможности только для возможностью изменения чтения прокрутки управляемый чувствительный с одновременность с возможностью значений возможностью изменения прокрутки a Только-вперед - это поведение по умолчанию указателя с прокруткой без условия FOR UPDATE. Если для указателя только-вперед задать FOR UPDATE, будет создан указатель с возможностью изменения, одновременностью блокировок, без возможности прокрутки. Поддерживаемые направления выборки Все направления выборки ODBC поддерживаются с помощью интерфейсов SQLFetchScroll или SQLExtendedFetch. Изменение управляемого указателя Управляемый указатель - это указатель с возможностью изменения. Драйвер CLI добавляет условие FOR UPDATE к запросу, кроме случаев, когда запрос введен как запрос SELECT ... FOR READ ONLY или условие FOR UPDATE уже есть. Реализованный в DB2 для OS/390 управляемый указатель - это указатель одновременности значений. Указатель одновременности значений выражается в оптимистичной блокировке, то есть блокировка не производится, пока не будет предпринята попытка произвести изменение или удаление. При попытке произвести изменение или удаление сервер базы данных сравнивает предыдущие значения, извлеченные программой, с текущими значениями в основной таблице. Если эти значения совпадают - изменение или удаление успешно выполняется. Если значения не совпадают - операция завершается неудачно. Если происходит ошибка, программа должна опять запросить значения и, если нужно, повторить операцию изменения или удаления. Программа может изменять управляемый указатель двумя способами: * Выполнить оператор UPDATE WHERE CURRENT OF "<имя указателя>" или DELETE WHERE CURRENT OF "<имя указателя>", используя SQLPrepare() с SQLExecute() или SQLExecDirect(). * Использовать SQLSetPos() или SQLBulkOperations(), чтобы изменить, удалить или добавить строку набора результатов. Прим.:Строки, добавленные в набор результатов с помощью SQLSetPos() или SQLBulkOperations(), вставляются в таблицу на сервере, но не добавляются в набор результатов сервера. Поэтому эти строки не могут изменяться и нечувствительны к изменениям, произведенным другими транзакциями. Однако вставленные строки будут частью набора результатов, так как они кэшируются на клиенте. Любые триггеры, применяемые к вставленным строкам, для программы будут выглядеть так, как будто они не применялись. Чтобы вставляемые строки были изменяемыми, чувствительными, и был виден результат соответствующих триггеров, программа должна повторить запрос, чтобы повторно сгенерировать набор результатов. Устранение неисправностей в программах, созданных до появления поддержки указателей с возможностью прокрутки Так как поддержка указателей с возможностью прокрутки появилась недавно, у некоторых прикладных программ ODBC, работавших с предыдущими версиями UDB для OS/390 или UDB для Unix, Windows, и OS/2 может измениться поведение или производительность. Это происходит из-за того, что до появления поддержки указателей с прокруткой, программы, требовавшие такой указатель, получали указатель только-вперед. Чтобы восстановить поведение программы до появления поддержки указателей с прокруткой, задайте следующие ключевые слова конфигурации в файле db2cli.ini: Табл. 9. Значения ключевых слов конфигурации, восстанавливающие поведение программ до появления поддержки указателей с возможностью прокрутки Задание ключевого слова Описание конфигурации PATCH2=6 Возвращает сообщение, что указатели с возможностью прокрутки (как управляемые, так и статические) не поддерживаются. CLI автоматически заменяет требование указателя с прокруткой на требование указателя только-вперед. DisableKeysetCursor=1 Запрещает управляемые указатели с прокруткой с обеих сторон - сервера и клиента. Можно использовать, чтобы драйвер CLI предоставлял программе статический указатель, когда затребован управляемый указатель. UseServerKeysetCursor=0 Запрещает управляемые указатели на стороне сервера для программ, использующих библиотеку управляемых указателей клиентской стороны, чтобы симулировать управляемый указатель. Используйте эту возможность, только если возникли проблемы с управляемым указателем на стороне сервера, так как указатель на стороне клиента приводит к значительным издержкам и обычно имеет худшую производительность, чем указатель на стороне сервера. 36.6.5 Using Compound SQL (Использование составного SQL) В этой книге пропущен следующий комментарий: Все операторы SQL, которые могут быть подготовлены динамически и не являются запросами, могут выполняться как операторы внутри составного оператора. Примечание: Внутри составного оператора Atomic Compound SQL не разрешены также операторы SQL savepoint, release savepoint и rollback to savepoint. И наоборот, оператор Atomic Compound SQL нельзя использовать в точке сохранения. 36.6.6 Using Stored Procedures 36.6.6.1 Написание хранимой процедуры в CLI Недокументированное ограничение на хранимые процедуры CLI: Выполняя вызовы нескольких хранимых процедур CLI, прикладная программа должна закрыть открытые указатели, полученные от одной хранимой процедуры, перед вызовом другой хранимой процедуры. Это значит, что первый набор открытых указателей должен быть закрыт прежде, чем следующая хранимая процедура попытается открыть указатель. 36.6.6.2 Хранимые процедуры и автоматическое связывание CLI Следующая информация дополняет приведенную в книге: Драйвер CLI/ODBC в норме будет автоматически связывать пакеты CLI при первом выполнении прикладной программой CLI/ODBC SQL для базы данных при условии, что у пользователя есть надлежащие привилегия или авторизация. Автоматическое связывание пакетов CLI не может быть выполнено из хранимой процедуры и поэтому не произойдет, если самым первым действием прикладной программы будет вызов хранимой процедуры CLI. Перед запуском прикладной программы CLI, вызывающей хранимую процедуру CLI для новой базы данных DB2, необходимо один раз связать пакеты CLI при помощи следующей команды: UNIX db2 bind /@db2cli.lst blocking all Windows и OS/2 db2bind "%DB2PATH%\bnd\@db2cli.lst" blocking Во избежание автоматического связывания во время выполнения рекомендуется всегда связывать эти пакеты во время создания базы данных. Автоматическое связывание может закончиться неудачно, если у пользователя нет привилегии или если в это же самое время пытается автоматически связаться другая программа. ------------------------------------------------------------------------ 36.7 Глава 4. Configuring CLI/ODBC and Running Sample Applications (Конфигурирование CLI/ODBC и запуск программ примеров) 36.7.1 Ключевые слова конфигурации Пропустите последний параграф в описании ключевого слова CURRENTFUNCTIONPATH. Правильная информация: Это ключевое слово применяется при разрешении неспецифицированных обращений к функциям и хранимым процедурам, для которых могло быть задано имя схемы, отличное от схемы текущего пользователя. Порядок имен схем задает порядок, в котором будут разрешаться имена функций и процедур. Подробности о разрешении функций и процедур смотрите в справочнике SQL Reference. ------------------------------------------------------------------------ 36.8 Глава 5. DB2 CLI Functions (Функции CLI DB2) 36.8.1 Параметр SQLBindFileToParam - Связать ссылку файла большого объекта с большим объектом Последний параметр функции CLI SQLBindFileToParam() - IndicatorValue - описан как "output (deferred)". На самом деле он "input (deferred)". 36.8.2 SQLColAttribute - Возврат атрибутов столбца Ниже приводятся дополнения к столбцу "Описание" для аргументовSQL_DESC_AUTO_UNIQUE_VALUE и SQL_DESC_UPDATABLE: SQL_DESC_AUTO_UNIQUE_VALUE Для всех типов данных SQL DB2 в NumericAttributePtr возвращается SQL_FALSE. В настоящее время CLI DB2 не может определить, является ли столбец столбцом идентификации, поэтому всегда возвращает SQL_FALSE. Это ограничение не полностью соответствует спецификациям ODBC. Будущие версии CLI DB2 для серверов Unix и Windows будут поддерживать автообеспечение уникальности. SQL_DESC_UPDATABLE Указывает, является ли тип данных столбца изменяемым: o Для всех типов данных SQL DB2 в NumericAttributePtr возвращается SQL_ATTR_READWRITE_UNKNOWN. В настоящее время CLI DB2 не может определить, является ли столбец изменяемым. Будущие версии CLI DB2 для серверов Unix и Windows будут поддерживать определение изменяемости. 36.8.3 SQLGetInfo - Получить общую информацию Ниже приводится исправление информации в разделе "Usage" под заголовком "Information Returned by SQLGetInfo": SQL_DATABASE_NAME (строка) Имя текущей используемой базы данных Прим.:Эта строка совпадает со строкой, возвращаемой оператором SELECT CURRENT SERVER в системах, не являющихся системами хоста. Для баз данных хоста, таких как DB2 for OS/390 или DB2 for OS/400, возвращаемая строка = имя базы данных DCS, которое задается в команде CATALOG DCS DATABASE DIRECTORY на шлюзе DB2 Connect. 36.8.4 SQLGetLength - Получение длины строчного значения Ниже приводится правильный текст примечания к Таблице 113 "SQLGetLength Arguments" : Примечание: a Для данных DBCLOB длина выражается в символах. 36.8.5 SQLNextResult - Связать следующий набор результатов с другим хэндлом оператора К Главе 5 "DB2 CLI Functions" (Функции CLI DB2) надо добавить следующий текст: 36.8.5.1 Назначение Спецификация: DB2 CLI 7.x 36.8.5.2 Синтаксис SQLRETURN SQLNextResult (SQLHSTMT StatementHandle1 SQLHSTMT StatementHandle2); 36.8.5.3 Аргументы функции Табл. 10. Аргументы SQLNextResult Тип данных Аргумент ИспользованиеОписание SQLHSTMT StatementHandle входной Хэндл оператора. SQLHSTMT StatementHandle входной Хэндл оператора. 36.8.5.4 Использование Хранимая процедура возвращает несколько наборов результатов, оставляя после выхода один или несколько указателей открытыми. Доступ к первому набору результатов всегда осуществляется путем использования хэндла оператора, вызвавшего хранимую процедуру. Если возвращается несколько наборов результатов, для описания и считывания набора результатов можно использовать либо SQLMoreResults(), либо SQLNextResult(). SQLMoreResults() используется для закрытия указателя для первого набора результатов и позволяет обработку следующего набора результатов, а SQLNextResult() перемещает следующий набор результатов в StatementHandle2 без закрытия указателя при StatementHandle1. Обе функции возвращают SQL_NO_DATA_FOUND, если нет считываемых наборов результатов. Использование SQLNextResult() позволяет обрабатывать наборы результатов в любом порядке после того, как они были перенесены на другие хэндлы операторов. Смешанные вызовы SQLMoreResults() и SQLNextResult() разрешены до тех пор, пока не исчерпаются указатели (открытые наборы результатов) на StatementHandle1. Когда SQLNextResult() возвращает SQL_SUCCESS, следующий набор результатов больше не связан с StatementHandle1. Вместо этого следующий набор результатов связывается с StatementHandle2, как если бы SQLExecDirect() только что успешно обработала запрос к StatementHandle2. Поэтому указатель может быть описан с использованием SQLNumResultSets(), SQLDescribeCol() или SQLColAttribute(). После того, как была вызвана SQLNextResult(), набор результатов, теперь связанный с StatementHandle2, удаляется из цепочки оставшихся результатов и не может быть снова использован ни в SQLNextResult(), ни в SQLMoreResults(). Это означает, что для 'n' наборов результатов SQLNextResult() может быть вызвана успешно максимум 'n-1' раз. Если SQLFreeStmt() вызывается с опцией SQL_CLOSE или SQLFreeHandle() вызывается с установленным для HandleType SQL_HANDLE_STMT, все находящиеся в состоянии ожидания на этом хэндле наборы результатов отбрасываются. SQLNextResult() возвращает SQL_ERROR, если у StatementHandle2 есть открытый указатель или если StatementHandle1 и StatementHandle2 не находятся на одном и том же соединении. Если возвращаются ошибки или предупреждения, SQLError() должна всегда вызываться с StatementHandle1. Прим.:SQLMoreResults() работает также с параметризованным запросом с массивом значений входных параметров, заданным при помощи SQLParamOptions() и SQLBindParameter(). Однако SQLNextResult() не поддерживает такой способ. 36.8.5.5 Коды возврата * SQL_SUCCESS * SQL_SUCCESS_WITH_INFO * SQL_STILL_EXECUTING * SQL_ERROR * SQL_INVALID_HANDLE * SQL_NO_DATA_FOUND 36.8.5.6 Диагностика Табл. 11. SQLSTATE для SQLNextResult SQLSTATE Описание Объяснение 40003 Ошибка связи. Ошибка связи между прикладной программой 08S01 и источником данных до выполнения функции. 58004 Непредвиденная Неисправимая системная ошибка. системная ошибка. HY001 Ошибка выделения DB2 CLI не в состоянии выделить память, памяти. необходимую для выполнения или завершения функции. HY010 Ошибочная Функция была вызвана во время операции последовательность обработки данных (SQLParamData(), вызова функций. SQLPutData()). У StatementHandle2 есть открытый связанный с ним указатель. Функция была вызвана из операции SQL, ограниченной BEGIN COMPOUND и END COMPOUND. HY013 Непредвиденная ошибка CLI DB2 не сумел получить доступ к при работе с памятью. памяти, необходимой для выполнения или завершения функции. HYT00 Истек срок ожидания. Истек срок ожидания возврата набора результатов источником данных. Истечение времени поддерживается только в системах без многозадачности, таких как Windows 3.1 и Macintosh System 7. Срок ожидания задается при помощи атрибута SQL_ATTR_QUERY_TIMEOUT для SQLSetConnectAttr(). 36.8.5.7 Ограничения Для параметризованных запросов можно использовать только SQLMoreResults(). 36.8.5.8 Ссылки * "SQLMoreResults - Determine If There Are More Result Sets" (Определение, есть ли еще наборы результатов) на странице 535 * "Returning Result Sets from Stored Procedures" (Возврат наборов результатов из хранимых процедур) на странице 120 36.8.6 SQLSetStmtAttr - Задать опции, связанные с оператором Информацию об атрибуте оператора SQL_ATTR_QUERY_TIMEOUT надо заменить на следующую: SQL_ATTR_QUERY_TIMEOUT (DB2 CLI v2) 32-битное целое значение - срок ожидания в секундах выполнения оператора SQL до возврата в программу. Эту опцию можно задать и использовать для прерывания длительных запросов. Значение 0 означает бесконечный срок ожидания. DB2 CLI поддерживает ненулевые значения на всех платформах, допускающих многопоточность. ------------------------------------------------------------------------ 36.9 Приложение C. DB2 CLI and ODBC (CLI DB2 и ODBC) Дальше приведен новый раздел для этого приложения. 36.9.1 Прикладные программы Unicode ODBC Прикладные программы ODBC Unicode отправляют и получают символьные данные главным образом в формате UCS-2. Это происходит путем вызова Unicode-версий функций ODBC (с суффиксом 'W') и указания типов данных Unicode. Прикладная программа не указывает локальную кодовую страницу явно. Она сохраняет способность взывать функции ANSI и передавать строки в кодировке локальной кодовой таблицы. Например, прикладная программа может вызвать SQLConnectW() и передать ID пользователя и пароль DSN как аргументы Unicode. После этого она может вызвать SQLExecDirectW() и передать строку оператора SQL Unicode, а затем связать комбинацию буферов страниц ANSI с локальной кодировкой (SQL_C_CHAR) и буферов Unicode (SQL_C_WCHAR). Типом данных базы данных может быть локальная кодовая страница или UCS-2 и UTF-8. Если прикладная программа CLI вызывает SQLConnectW или вызывает SQLSetConnectAttr со значением SQL_AA_FALSE для SQL_ATTR_ANSI_APP, эта прикладная программа считается программой Unicode. Это означает, что все данные CHAR посылаются базе данных и принимаются от нее в формате UTF-8. После этого прикладная программа может считывать данные CHAR в буфера SQL_C_CHAR в кодировке локальной кодовой страницы (с возможной потерей данных) или в буфера SQL_C_WCHAR в UCS-2 без какой-либо потери данных. Если прикладная программа не выполняет любой из описанных выше вызовов, данные CHAR на сервере преобразуются в локальную страницу прикладной программы. Это означает, что в данных CHAR, считанных в SQL_C_WCHAR, возможны потери. Если для переменной экземпляра DB2CODEPAGE установлена (с использованием db2set) кодовая страница 1208 (UTF-8), прикладная программа будет получать все данные CHAR в UTF-8, поскольку теперь это новая локальная страница. Прикладная программа должна также проверить, что все входные данные CHAR тоже находятся в UTF-8. ODBC подразумевает также, что все данные SQL_C_WCHAR находятся в собственном конечном формате. CLI будет выполнять все необходимые обращения байтов для SQL_C_WCHAR. 36.9.1.1 Сравнение прикладных программ ODBC Unicode и не Unicode В этом выпуске DB2 Universal Database есть API SQLConnectW(). Драйвер Unicode должен экспортировать SQLConnectW, чтобы быть опознанным драйвером менеджеров как драйвер Unicode. Важно заметить, что многие из прикладных программ ODBC (такие как Microsoft Access и Visual Basic) вызывают SQLConnectW(). В предыдущих выпусках DB2 Universal Database CLI DB2 не поддерживали этот API, и поэтому он не распознавался менеджером драйверов ODBC как драйвер Unicode. Это приводило к тому, что менеджер драйверов ODBC преобразовывал все драйверы Unicode в локальную кодовую страницу прикладной программы. При добавлении поддержки функции SQLConnectW() эти прикладные программы не будут устанавливать связь как программы Unicode, а все необходимые преобразования данных возьмет на себя CLI DB2. Теперь CLI DB2 принимает API Unicode API (с суффиксом "W") и стандартные API ANSI. ODBC определяет набор функций с суффиксом "A", но менеджер драйверов не пропускает к драйверу функции ANSI с суффиксом "A". Вместо этого он преобразует эти функции в вызовы функций ANSI без этого суффикса, а затем передает их драйверу. Прикладная программа ODBC, вызывающая API SQLConnectW(), считается прикладной программой Unicode. Так как менеджер драйверов ODBC всегда будет вызывать API SQLConnectW() независимо от версии вызываемой прикладной программы, ODBC теперь использует атрибут связи SQL_ATTR_ANSI_APP для уведомления драйвера о том, что она должна рассматриваться как прикладная программа ANSI или UNICODE. Если для SQL_ATTR_ANSI_APP не установлено SQL_AA_FALSE, перед отправкой его на сервер CLI DB2 преобразует все данные Unicode в локальную кодовую страницу. ------------------------------------------------------------------------ 36.10 Приложение D. Extended Scalar Functions (Расширенные скалярные функции) 36.10.1 Date and Time Functions (Функции даты и времени) Следующие функции пропущены в разделе Date and Time Functions приложения D "Extended Scalar Functions": DAYOFWEEK_ISO( date_exp ) Возвращает день недели в date_exp как целое значение в диапазоне от 1 до 7, где 1 соответствует понедельнику. Обратите внимание на разницу между этой функцией и функцией DAYOFWEEK(), где 1 соответствует воскресенью. WEEK_ISO( date_exp ) Возвращает неделю года в date_exp как целое значение в диапазоне от 1 до 53. Неделя 1 определена как первая неделя года, содержащая четверг. Таким образом, Week1 эквивалентно неделе, содержащей 4 января, поскольку первым днем недели считается понедельник. Обратите внимание на отличие WEEK_ISO() от текущего определения WEEK(), которая возвращает значения до 54. Для функции WEEK() первая неделя - неделя содержащая первую субботу. Это эквивалентно неделе, содержащей 1 января, даже если эта неделя состоит всего из одного дня. DAYOFWEEK_ISO() и WEEK_ISO() автоматически доступны в любой базе данных, созданной в версии 7. Если база данных создана до версии 7, эти функции могут быть недоступны. Чтобы сделать функции DAYOFWEEK_ISO() и WEEK_ISO() доступными в такой базе данных, используйте системную команду db2updb. Дополнительную информацию об db2updb смотрите в разделе "Command Reference" данных Замечаний по выпуску. ------------------------------------------------------------------------ 36.11 Приложение K. Using the DB2 CLI/ODBC/JDBC Trace Facility (Использование возможности трассировки CLI/ODBC/JDBC DB2) Некоторые разделы этого приложения были обновлены. Самую свежую информацию об этом средстве трассировки смотрите в главе "Traces" (Трассировка) руководства Troubleshooting Guide. ------------------------------------------------------------------------ Справочник по сообщениям ------------------------------------------------------------------------ 37.1 Доступные обновления Обновления Справочник по сообщениям и свежие файлы PDF можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ SQL Reference (Справочник по SQL) ------------------------------------------------------------------------ 38.1 Доступные обновления SQL Reference Доступна обновленная версия руководства SQL Reference; свежий файл .pdf можно получить по адресу http://www.ibm.com/software/data/db2/udb/winos2unix/support. Информация этих замечаний дополняет данную ссылку. Вся исправленная документация доступна также на компакт-диске, который можно заказать в центре обслуживания DB2 по номеру PTF U478862. Как связаться с центром обслуживания DB2, описано на странице http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/help.d2w/report. ------------------------------------------------------------------------ 38.2 Функции MQSeries теперь поддерживают данные CLOB Функции MQSeries (определенные в схеме DB2MQ) теперь могут использоваться с данными CLOB в дополнение к данным VARCHAR. В некоторых случаях для работы с данными типа CLOB используется новая функция, в некоторых существующая функция теперь работает и с данными CLOB, и с данными VARCHAR. В любом случае синтаксис функции CLOB идентичен ее эквиваленту VARCHAR. Функции с поддержкой данных CLOB и эквивалентные функции VARCHAR перечислены в следующей таблице: Табл. 12. Функции MQSeries, поддерживающие тип данных CLOB Функция для данных VARCHAR Функция для данных CLOB MQPUBLISH MQPUBLISH MQREAD MQREADCLOB MQRECEIVE MQRECEIVECLOB MQSEND MQSEND MQREADALL MQREADALLCLOB MQRECEIVEALL MQRECEIVEALLCLOB Информацию о включении функций MQSeries (определяемых в схеме DB2MQ) смотрите в разделе MQSeries. ------------------------------------------------------------------------ 38.3 Глава 3. Language Elements (Элементы языка) 38.3.1 Расширение типов данных В этом разделе в таблице 5 показан список приоритетов типов данных. Обратите внимание: 1. Для базы данных Unicode считаются эквивалентными следующие типы данных: o CHAR и GRAPHIC o VARCHAR и VARGRAPHIC o LONG VARCHAR и LONG VARGRAPHIC o CLOB и DBCLOB 2. В базе данных Unicode можно создать такие функции, у которых единственной разницей в записи будут только эквивалентные типы данных CHAR и GRAPHIC, например, foo(CHAR(8)) и foo(GRAPHIC(8)). Мы настоятельно не рекомендуем определять такие дублирующие функции, поскольку при обновлении до следующего выпуска одну из них придется отбросить. Если такие дублирующие функции все же существуют, выбор из них при вызове выполняет двухпроходный алгоритм. На первом проходе для поиска совпадения используется тот же алгоритм, что и при разрешений функций в других базах данных (не Unicode). Если совпадение не обнаружено, будет выполнен второй проход с учетом следующих процедур расширения для строк CHAR и GRAPHIC: GRAPHIC-->CHAR-->VARGRAPHIC-->VARCHAR-->LONG VARGRAPHIC-->LONG VARCHAR-->DBCLOB-->CLOB 38.3.2 Преобразование типов данных К списку с заголовком "The following casts involving distinct types are supported" (Поддерживаются следующие преобразования особых типов) добавлена следующая запись: * Для базы данных Unicode преобразование из типа VARCHAR или VARGRAPHIC в пользовательский тип DT с исходным типом данных CHAR и GRAPHIC. Далее приводятся изменения к таблице 6 "Supported Casts between Built-in Data Types" (Поддерживаемые преобразования между встроенными типами данных). (Приведены только измененные строки таблицы.) Табл. 13. Поддерживаемые преобразования между встроенными типами данных L O N L G Конечный тип данных > O V V N A A G R R V V G G G A A R R R D R R A A A B C C C C P P P C H H H L H H H L Исходный тип данных V A A A O I I I O R R R B C C C B CHAR Y Y Y Y Y1 Y1 - - VARCHAR Y Y Y Y Y1 Y1 - - LONGVARCHAR Y Y Y Y - - Y1 Y1 CLOB Y Y Y Y - - - Y1 GRAPHIC Y1 Y1 - - Y Y Y Y VARGRAPHIC Y1 Y1 - - Y Y Y Y LONGVARGRAPHIC - - Y1 Y1 Y Y Y Y DBCLOB - - - Y1 Y Y Y Y 1 Преобразование типов поддерживается только для баз данных Unicode. 38.3.3 Назначения и сравнения Назначения и сравнения, включающие в себя символьные и графические данные поддерживаются только тогда, когда одна из строк является литералом. Для разрешения функций и графические, и символьные литералы будут соответствовать и символьным, и графическим параметрам функций. Далее приводятся изменения в Таблице 7 "Data Type Compatibility for Assignments and Comparisons" (Совместимость типов данных при назначении и сравнении). Приведены только измененные строки таблицы и новое примечание 6 к этой таблице. Целое Десятичное СимвольнаяГрафич. Отметка Двоичная Пользоват. Операнды двоичное число Плавающее строка строка Дата Время времени строка тип Символьная Нет Нет Нет Да Да 6 1 1 1 Нет 3 2 строка ГрафическаяНет Нет Нет Да 6 Да Нет Нет Нет Нет 2 строка 6 Поддерживается только для баз данных Unicode. 38.3.3.1 Назначения строк Storage Assignment (Выделение памяти) Последний абзац этого подраздела изменен так: Когда символьная строка назначается столбцу фиксированной длины и длина строки меньше атрибута длины потребителя, эта строка справа дополняется необходимым числом пробелов (однобайтных, двухбайтных или UCS-22). Заполняющий символ - всегда пробел даже для столбцов, определенных с атрибутом FOR BIT DATA. Retrieval Assignment Третий абзац этого подраздела изменен так: Когда символьная строка назначается переменной фиксированной длины и длина строки меньше атрибута длины потребителя, строка дополняется справа необходимым числом пробелов (однобайтных, двухбайтных или UCS-22). Заполняющий символ - всегда пробел даже для строк, определенных с атрибутом FOR BIT DATA. 2 В UCS-2 определено несколько символов SPACE с разными свойствами. Для базы данных Unicode менеджер баз данных в качестве пробела UCS-2 всегда использует ASCII SPACE с кодом x'0020'. Для базы данных EUC для заполнения строк GRAPHIC используется IDEOGRAPHIC SPACE с кодом x'3000'. Conversion Rules for String Assignments (Правила преобразования для назначения строк) В конец этого подраздела был добавлен следующий абзац: Для баз данных Unicode символьные строки могут быть назначены графическому столбцу, а графические строки - символьному столбцу. DBCS Considerations for Graphic String Assignments (Особенности DBCS для назначения графических строк) Первый абзац этого подраздела изменен следующим образом: Назначения графических строк обрабатываются аналогично назначениям символьных строк. Для баз данных не Unicode типы данных графических строк совместимы только с другими типами данных графических строк и никогда не совместимы с типами данных численных и символьных строк, а также с типами данных даты и времени. Для баз данных Unicode типы данных графических строк совместимы с типами данных символьных строк. 38.3.3.2 Сравнение строк Conversion Rules for Comparison (Правили преобразования для сравнений) Этот подраздел изменен так: При сравнении двух строк, если это необходимо, одна из них сначала преобразуется в схему кодировки и кодовую страницу другой строки. Подробности смотрите в разделе "Rules for String Conversions" (Правила преобразования строк) главы 3 "Language Elements" (Элементы языка) справочника SQL Reference. 38.3.4 Правила для типов данных результатов 38.3.4.1 Символьные и графические строки в базе данных Unicode Это новый подраздел, вставленный после подраздела "Graphic Strings" (Графические строки). В базе данных Unicode символьные и графические строки совместимы. Если один из А другой операнд... Тип данных результата операндов... будет... GRAPHIC(x) CHAR(y) или GRAPHIC(y) GRAPHIC(z), где z = max(x,y) VARGRAPHIC(x) CHAR(y) или VARCHAR(y) VARGRAPHIC(z), где z = max(x,y) VARCHAR(x) GRAPHIC(y) или VARGRAPHIC(z), где z = VARGRAPHIC max(x,y) LONG VARGRAPHIC CHAR(y) или VARCHAR(y) LONG VARGRAPHIC или LONG VARCHAR LONG VARCHAR GRAPHIC(y) или LONG VARGRAPHIC VARGRAPHIC(y) DBCLOB(x) CHAR(y) или VARCHAR(y) DBCLOB(z), где z = max(x,y) или CLOB(y) DBCLOB(x) LONG VARCHAR DBCLOB(z), где z = max(x,16350) CLOB(x) GRAPHIC(y) или DBCLOB(z), где z = max(x,y) VARGRAPHIC(y) CLOB(x) LONG VARGRAPHIC DBCLOB(z), где z = max(x,16350) 38.3.5 Rules for String Conversions (Правила преобразования строк) К следующему списку в этом разделе был добавлен третий пункт: Для каждой пары кодовых страниц результат определяется последовательным применением следующих правил: * Если кодовые страницы одинаковые, результатом является эта кодовая страница. * Если одна из кодовых страниц - BIT DATA (кодовая страница 0), результатом является кодовая страница BIT DATA. * В базе данных Unicode, если одна из кодовых страниц обозначает данные в схеме кодирования, отличной от другой страницы, результатом является UCS-2 по UTF-8 (то есть тип графических данных по типу символьных данных).1 * В противном случае результирующая кодовая страница определяется в Таблице 8 раздела "Rules for String Conversions" (Правила преобразования строк) Главы 3 "Language Elements" (Элементы языка) справочника SQL Reference. "First" в этой таблице означает выбор кодовой страницы первого операнда, а "second" - второго операнда. 1 В базах данных не Unicode преобразование между разными схемами кодирования не поддерживается. 38.3.6 Expressions (Выражения) Добавлено следующее: В базе данных Unicode выражение, принимающее графическую или символьную строку, будет принимать любые типы строк, для которых поддерживается преобразование. 38.3.6.1 With the Concatenation Operator (С операцией конкатенации) В конец этого подраздела было добавлено следующее: В базе данных Unicode конкатенация, включающая как операнды символьных строк, так и операнды графических строк, сперва будет преобразовывать символьные операнды в графические операнды. Обратите внимание на то, что в других базах данных (не Unicode) конкатенация не может включать и символьные, и графические операнды. 38.3.7 Predicates К списку, начинающемуся с предложения "The following rules apply to all types of predicates", добавлено: * В базе данных Unicode все предикаты, принимающие графическую или символьную строку, будет принимать любые типы строк, для которых поддерживается преобразование. ------------------------------------------------------------------------ 38.4 Глава 4. Functions (Функции) 38.4.1 Включение новых функций и процедур В пакетах FixPak Версии 7 появились новые встроенные скалярные функции SQL. Описание этих функций смотрите в обновлениях справочника SQL Reference. Новые функции не включаются автоматически в каждой базе данных при обновлении кода сервера базы данных до нового уровня. Чтобы включить эти новые функции, системный администратор должен выполнить команду db2updv7, указав каждую базу данных на сервере. Эта команда создает в базе данных запись, гарантирующую, что никакой объект базы данных, созданный до выполнения этой команды, не использует существующую функцию с сигнатурой, которая может совпасть с сигнатурой новой функции. Информацию о включении функций MQSeries (определяемых в схеме DB2MQ) смотрите в разделе MQSeries. 38.4.2 Scalar Functions (Скалярные функции) 38.4.2.1 MQPUBLISH >>-MQPUBLISH---(------------------------------------------------> >-----+---------------------------------------------+-----------> '-служба-издателя--,--+--------------------+--' '-правила-службы--,--' >----данные-сообщения-------------------------------------------> >-----+--------------------------------------+--)-------------->< '-,--тема--+------------------------+--' | (1) | '-,--id-корреляции-------' Примечания: 1. Нельзя задать id-корреляции, если ранее не заданы служба и правила. Схема - DB2MQ. Функция MQPUBLISH публикует данные в MQSeries. Эта функция требует установки либо MQSeries Publish/Subscribe, либо MQSeries Integrator. Дальнейшие подробности смотрите на странице www.ibm.com/software/MQSeries. Функция MQPUBLISH публикует данные, содержащиеся в данных-сообщения, через издатель MQSeries, заданный службой-издателя, с качеством обслуживания (QoS), заданным правилами-службы. Можно задать необязательные параметры - тему сообщения и пользовательские ID корреляции сообщения. Функция возвращает значение '1' при успешном выполнении и '0' при неудаче. служба-издателя Строка, содержащая логическое назначение MQSeries для отправки сообщения. Служба-издателя, если она задана, должна указывать точку службы издателя, определенную в файле хранилища AMT.XML. Точка службы - это логическая конечная точка отправки или приема сообщения. В число определений точек службы входит имя менеджера очередей MQSeries и очередь. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если служба-издателя не задана, используется DB2.DEFAULT.PUBLISHER. Максимальный размер службы-издателя - 48 символов. правила-службы Строка, содержащая правила службы MQSeries AMI, используемую для обработки этого сообщения. Правила-службы, если они заданы, должны указывать правила, определенные в файле хранилища AMT.XML. Правила службы определяет набор опций QoS (качества обслуживания), используемых для этой операции с сообщениями. Эти опции включают приоритет сообщения и срок действия сообщения. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если правила-службы не заданы, используется DB2.DEFAULT.POLICY. Максимальный размер правил-службы - 48 байт. данные-сообщения Строковое выражение, содержащее данные для отправки через MQSeries. Максимальный размер строки типа VARCHAR - 4000 байт. Для строки типа CLOB размер может доходить до 1 Мбайта. тема Строковое выражение, содержащее тему публикуемого сообщения. Если тема не задана, с сообщением не будет связана тема. Максимальный размер темы - 40 байт. Можно задать в одной строке несколько тем (длиной до 40 символов). Темы должны отделяться друг от друга двоеточиями. Например, "t1:t2:третья тема" указывает, что у сообщения будет три темы: t1, t2 и "третья тема". id-корреляции Необязательное строковое выражение, содержащее идентификатор корреляции сообщения. id-корреляции часто задается в сценариях запросов и ответов, чтобы связать запросы с ответами. Если идентификатор корреляции не задан, для сообщения не добавляется идентификатор корреляции. Максимальный размер id-корреляции - 24 байта. Примеры Пример 1: Этот пример публикует строку "Проверка 123" через службу издателя по умолчанию (DB2.DEFAULT.PUBLISHER) с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Идентификатор корреляции и тема сообщения не задаются. VALUES MQPUBLISH('Проверка 123') Пример 2: Этот пример публикует строку "Проверка 345" через службу издателя "MYPUBLISHER" с темой "ИСПЫТАНИЯ". Используются правила по умолчанию, идентификатор корреляции не задается. VALUES MQPUBLISH('MYPUBLISHER','Проверка 345', 'ИСПЫТАНИЯ') Пример 3: Этот пример публикует строку "Проверка 678" через службу издателя "MYPUBLISHER" с правилами "MYPOLICY" и идентификатором корреляции "TEST1". Сообщение публикуется с темой "ИСПЫТАНИЯ". VALUES MQPUBLISH('MYPUBLISHER','MYPOLICY','Проверка 678','ИСПЫТАНИЯ','TEST1') Пример 4: Этот пример публикует строку "Проверка 901" через службу издателя "MYPUBLISHER" с темой "ИСПЫТАНИЯ" с использованием правил по умолчанию (DB2.DEFAULT.POLICY) и без идентификатора корреляции. VALUES MQPUBLISH('Проверка 901','ИСПЫТАНИЯ') Во всех примерах при успешном выполнении возвращается значение '1'. 38.4.2.2 MQREADCLOB >>-MQREADCLOB---(----+----------------------------------------+-> '-служба-приема--+--------------------+--' '-,--правила-службы--' >----)--------------------------------------------------------->< Схема - DB2MQ. Функция MQREADCLOB возвращает сообщение из положения MQSeries, заданного службой-приема, с использованием правил качества обслуживания (QoS), заданных правилами-службы. Выполнение этой операции не удаляет сообщение из очереди, связанной со службой-приема, а возвращает сообщение в начало очереди. Возвращаемое значение имеет тип CLOB, длину 1 Мбайт и содержит сообщение. Если нет доступных сообщений, возвращается пустое значение. служба-приема Строка, содержащая логическое назначение MQSeries, откуда должно быть принято сообщение. Служба-приема, если она задана, должна указывать точку службы, определенную в файле хранилища AMT.XML. Точка службы - это логическая конечная точка отправки или приема сообщения. Определения точек службы включают имя менеджера очередей MQSeries и очередь. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если служба-приема не задана, используется DB2.DEFAULT.SERVICE. Максимальный размер службы-приема - 48 байт. правила-службы Строка, содержащая правила службы MQSeries AMI для обработки этого сообщения. Правила-службы, если они заданы, должны указывать правила, определенные в файле хранилища AMT.XML. Правила службы определяет набор опций QoS (качества обслуживания), используемых для этой операции с сообщениями. Эти опции включают приоритет сообщения и срок действия сообщения. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если правила-службы не заданы, используется DB2.DEFAULT.POLICY. Максимальный размер правил-службы - 48 байт. Примеры: Пример 1: Этот пример читает сообщение из начала очереди, заданной службой по умолчанию (DB2.DEFAULT.SERVICE), с использованием правил по умолчанию (DB2.DEFAULT.POLICY). VALUES MQREADCLOB() Пример 2: Этот пример читает сообщение из начала очереди, заданной службой "MYSERVICE" с использованием правил по умолчанию (DB2.DEFAULT.POLICY). VALUES MQREADCLOB('MYSERVICE') Пример 3: Этот пример читает сообщение из начала очереди, заданной службой "MYSERVICE" с использованием правил "MYPOLICY". VALUES MQREADCLOB('MYSERVICE','MYPOLICY') Все эти примеры при успешном выполнении возвращают содержимое сообщения в виде CLOB с максимальным размером 1 Мбайт. Если нет доступных сообщений, возвращается пустое значение. 38.4.2.3 MQRECEIVECLOB >>-MQRECEIVECLOB------------------------------------------------> >----(--+---------------------------------------------------------------+---)-> '-служба-приема--+-------------------------------------------+--' '-,--правила-службы--+-------------------+--' '-,--id-корреляции--' >-------------------------------------------------------------->< Схема - DB2MQ. Функция MQRECEIVECLOB возвращает сообщение из положения MQSeries, заданного службой-приема, с использованием правил качества обслуживания (QoS), заданных правилами-службы. Выполнение этой операции удаляет сообщение из очереди, связанной со службой-приема. Если задан id-корреляции, возвращается первое сообщение с совпадающим идентификатором корреляции. Если id-корреляции не задан, возвращается сообщение из начала очереди. Возвращаемое значение - CLOB с максимальной длиной 1 Мбайт; оно содержит сообщение. Если нет доступных сообщений, возвращается пустое значение. служба-приема Строка, содержащая логическое назначение MQSeries, откуда принимается сообщение. Служба-приема, если она задана, должна указывать точку службы, определенную в файле хранилища AMT.XML. Точка службы - это логическая конечная точка отправки или приема сообщения. Определения точек службы включают имя менеджера очередей MQSeries и очередь. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если служба-приема не задана, используется DB2.DEFAULT.SERVICE. Максимальный размер службы-приема - 48 байт. правила-службы Строка, содержащая правила службы MQSeries AMI для обработки этого сообщения. Правила-службы, если они заданы, должны указывать правила, определенные в файле хранилища AMT.XML1 . Если правила-службы не заданы, используются DB2.DEFAULT.POLICY. Максимальный размер правил-службы - 48 байт. id-корреляции Строка, содержащая идентификатор корреляции сообщения. id-корреляции часто задается в сценариях запросов и ответов, чтобы связать запросы с ответами. Если идентификатор корреляции не задан, для сообщения не будет использоваться идентификатор корреляции. Максимальный размер id-корреляции - 24 байта. Примеры: Пример 1: Этот пример получает сообщение из начала очереди, заданной службой по умолчанию (DB2.DEFAULT.SERVICE), с использованием правил по умолчанию (DB2.DEFAULT.POLICY). VALUES MQRECEIVECLOB() Пример 2: Этот пример получает сообщение из начала очереди, заданной службой "MYSERVICE", с использованием правил по умолчанию (DB2.DEFAULT.POLICY). VALUES MQRECEIVECLOB('MYSERVICE') Пример 3: Этот пример получает сообщение из начала очереди, заданной службой "MYSERVICE", с использованием правил "MYPOLICY". VALUES MQRECEIVECLOB('MYSERVICE','MYPOLICY') Пример 4: Этот пример получает первое сообщение с идентификатором корреляции '1234', из начала очереди, заданной службой "MYSERVICE", с использованием правил "MYPOLICY". VALUES MQRECEIVECLOB('MYSERVICE',MYPOLICY','1234') Все эти примеры при успешном выполнении возвращают содержимое сообщения в виде CLOB с максимальным размером 1 Мбайт. Если нет доступных сообщений, возвращается пустое значение. 38.4.2.4 MQSEND >>-MQSEND---(---------------------------------------------------> >-----+---------------------------------------------+-----------> '-служба-отправки--,--+--------------------+--' '-правила-службы--,--' >----данные-сообщения----+------------------------+--)--------->< | (1) | '-,--id-корреляции-------' Примечания: 1. Нельзя задать id-корреляции, если ранее не заданы служба и правила. Схема - DB2MQ. Функция MQSEND отправляет данные данные-сообщения, в положение MQSeries, заданное службой-отправки, используя правила качества обслуживания (QoS), заданные правилами-службы. Необязательный параметр id-корреляции позволяет задать произвольный идентификатор корреляции сообщения. Функция возвращает значение '1' при успешном выполнении и '0' при неудаче. данные-сообщения Строковое выражение, содержащее данные для отправки через MQSeries. Максимальный размер - 4000 байт для типа данных VARCHAR и 1 Мбайт для типа CLOB. служба-отправки Строка, содержащая логическое назначение MQSeries для отправки сообщения. Служба-отправки, если она задана, указывает точку службы, определенную в файле хранилища AMT.XML. Точка службы - логическая конечная точка, из которой может быть отправлено или получено сообщение. В число определений точек службы входит имя менеджера очередей MQSeries и очередь. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если служба-отправки не задана, используется значение DB2.DEFAULT.SERVICE. Максимальный размер службы-отправки - 48 байт. правила-службы Строка, содержащая правила службы MQSeries AMI для обработки этого сообщения. Правила-службы, если они заданы, должны указывать правила обслуживания, определенные в файле хранилища AMT.XML. Правила службы определяет набор опций QoS (качества обслуживания), используемых для этой операции с сообщениями. Эти опции включают приоритет сообщения и срок действия сообщения. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если правила-службы не заданы, используется значение по умолчанию DB2.DEFAULT.POLICY. Максимальный размер правил-службы - 48 байт. id-корреляции Необязательная строка, содержащая идентификатор корреляции сообщения. id-корреляции часто задается в сценариях запросов и ответов, чтобы связать запросы с ответами. Если идентификатор корреляции не задан, сообщение будет отправлено без идентификатора корреляции. Максимальный размер id-корреляции - 24 байта. Примеры: Пример 1: Этот пример отправляет строку "Проверка 123" на службу по умолчанию (DB2.DEFAULT.SERVICE), используя правила по умолчанию (DB2.DEFAULT.POLICY), без идентификатора корреляции. VALUES MQSEND('Проверка 123') Пример 2: Этот пример отправляет строку "Проверка 345" на службу "MYSERVICE", используя правила "MYPOLICY", без идентификатора корреляции. VALUES MQSEND('MYSERVICE','MYPOLICY','Проверка 345') Пример 3: Этот пример отправляет строку "Проверка 678" на службу "MYSERVICE", используя правила "MYPOLICY", с идентификатором корреляции "TEST3". VALUES MQSEND('MYSERVICE','MYPOLICY','Проверка 678','TEST3') Пример 4: Этот пример отправляет строку "Проверка 901" на службу "MYSERVICE", используя правила по умолчанию (DB2.DEFAULT.POLICY) без идентификатора корреляции. VALUES MQSEND('MYSERVICE','Проверка 901') Каждый из примеров возвращает скалярное значение '1' при успешном выполнении. 38.4.3 Скалярные функции и Unicode В базе данных Unicode все скалярные функции, принимающие графическую или символьную строку, будет принимать любые типы строк, для которых поддерживается преобразование. 38.4.4 Table Functions (Табличные функции) 38.4.4.1 MQREADALLCLOB >>-MQREADALLCLOB---(--------------------------------------------> >-----+----------------------------------------+----------------> '-служба-приема--+--------------------+--' '-,--правила-службы--' >-----+--------------+--)-------------------------------------->< '-число-строк--' Схема - DB2MQ. Функция MQREADALLCLOB возвращает таблицу, содержащую сообщения и метаданные сообщений, из положения MQSeries, заданного службой-приема, с использованием правил качества обслуживания (QoS), заданных правилами-службы. Выполнение этой операции не удаляет сообщения из очереди, связанной со службой-приема. Если задано число-строк, число возвращаемых сообщений не превысит числа-строк. Если число-строк не задано, будут возвращены все доступные сообщения. Возвращаемая таблица содержит следующие столбцы: * MSG - столбец CLOB, в котором находится содержание сообщения MQSeries. * CORRELID - столбец VARCHAR(24), содержащий ID корреляции для связи между сообщениями. * TOPIC - столбец VARCHAR(40), содержащий тему сообщения (если она задана при публикации). * QNAME - столбец VARCHAR(48), содержащий имя очереди, в которой сообщение было получено. * MSGID - столбец CHAR(24), содержащий уникальный идентификатор MQSeries, присвоенный этому сообщению. * MSGFORMAT - столбец VARCHAR(8), содержащий формат сообщения, заданный MQSeries. Обычно строки имеют формат MQSTR. служба-приема Строка, содержащая логическое назначение MQSeries, из которого читается сообщение. Служба-приема, если она задана, должна указывать точку службы, определенную в файле хранилища AMT.XML. Точка службы - это логическая конечная точка отправки или приема сообщения. В число определений точек службы входит имя менеджера очередей MQSeries и очередь. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если служба-приема не задана, используется DB2.DEFAULT.SERVICE. Максимальный размер службы-приема - 48 байт. правила-службы Строка, содержащая правила службы MQSeries AMI, используемые для обработки этого сообщения. Правила-службы, если они заданы, указывают правила, определенные в файле хранилища AMT.XML. Правила службы определяет набор опций качества обслуживания (QoS), используемых при этой операции с сообщениями. Эти опции включают приоритет сообщения и срок действия сообщения. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если правила-службы не заданы, используется DB2.DEFAULT.POLICY. Максимальный размер правил-службы - 48 байт. число-строк Положительное целое, задающее максимальное число сообщений, возвращаемых функцией. Примеры: Пример 1: Этот пример принимает все сообщения из очереди, заданной службой по умолчанию (DB2.DEFAULT.SERVICE), с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Сообщения и все метаданные возвращаются в виде таблицы. SELECT * FROM table (MQREADALLCLOB()) T Пример 2: Этот пример принимает все сообщения очереди, заданной службой MYSERVICE, с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Возвращаются только столбцы MSG и CORRELID. SELECT T.MSG, T.CORRELID FROM table (MQREADALLCLOB('MYSERVICE')) T Пример 3: Этот пример читает начало очереди, заданной службой по умолчанию (DB2.DEFAULT.SERVICE), с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Возвращаются только сообщения с CORRELID='1234'. Возвращаются все столбцы. SELECT * FROM table (MQREADALLCLOB()) T WHERE T.CORRELID = '1234' Пример 4: Этот пример получает первые 10 сообщений из начала очереди, заданной службой по умолчанию (DB2.DEFAULT.SERVICE), с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Возвращаются все столбцы. SELECT * FROM table (MQREADALLCLOB(10)) T 38.4.4.2 MQRECEIVEALLCLOB >>-MQRECEIVEALLCLOB---(-----------------------------------------> >-----+---------------------------------------------------------------+> '-служба-приема--+-------------------------------------------+--' '-,--правила-службы--+-------------------+--' '-,--id-корреляции--' >-----+-----------------------+--)----------------------------->< '-+----+---число-строк--' '-,--' Схема - DB2MQ. Функция MQRECEIVEALLCLOB возвращает таблицу, содержащую сообщения и метаданные сообщений, из положения MQSeries, заданного службой-приема, с использованием правил качества обслуживания (QoS), заданных правилами-службы. Выполнение этой операции удаляет сообщения из очереди, связанной со службой-приема. Если задан id-корреляции, возвращаются только сообщения с этим идентификатором корреляции. Если id-корреляции не задан, возвращается сообщение из начала очереди. Если задано число-строк, число возвращаемых сообщений не превысит числа-строк. Если число-строк не задано, возвращаются все доступные сообщения. Возвращаемая таблица содержит следующие столбцы: * MSG - столбец CLOB, в котором находится содержание сообщения MQSeries. * CORRELID - столбец VARCHAR(24), содержащий ID корреляции для связи между сообщениями. * TOPIC - столбец VARCHAR(40), содержащий тему сообщения (если она задана при публикации). * QNAME - столбец VARCHAR(48), содержащий имя очереди, в которой сообщение было получено. * MSGID - столбец CHAR(24), содержащий уникальный идентификатор MQSeries, присвоенный этому сообщению. * MSGFORMAT - столбец VARCHAR(8), содержащий формат сообщения, заданный MQSeries. Обычно строки имеют формат MQSTR. служба-приема Строка, содержащая логическое назначение MQSeries, откуда принимается сообщение. Служба-приема, если она задана, должна указывать точку службы, определенную в файле хранилища AMT.XML. Точка службы - это логическая конечная точка отправки или приема сообщения. В число определений точек службы входит имя менеджера очередей MQSeries и очередь. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если служба-приема не задана, используется DB2.DEFAULT.SERVICE. Максимальный размер службы-приема - 48 байт. правила-службы Строка, содержащая правила службы MQSeries AMI, используемые для обработки этого сообщения. Правила-службы, если они заданы, указывают правила, определенные в файле хранилища AMT.XML. Правила службы определяет набор опций качества обслуживания (QoS), используемых при этой операции с сообщениями. Эти опции включают приоритет сообщения и срок действия сообщения. Дальнейшие подробности смотрите в руководстве MQSeries Application Messaging Interface. Если правила-службы не заданы, используется DB2.DEFAULT.POLICY. Максимальный размер правил-службы - 48 байт. id-корреляции Необязательная строка, содержащая идентификатор корреляции сообщения. id-корреляции часто задается в сценариях запросов и ответов, чтобы связать запросы с ответами. Если он не задан, идентификатор корреляции не используется. Максимальный размер id-корреляции - 24 байта. число-строк Положительное целое, задающее максимальное число сообщений, возвращаемых функцией. Примеры: Пример 1: Этот пример принимает все сообщения из очереди, заданной службой по умолчанию (DB2.DEFAULT.SERVICE), с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Сообщения и все метаданные возвращаются в виде таблицы. SELECT * FROM table (MQRECEIVEALLCLOB()) T Пример 2: Этот пример принимает все сообщения очереди, заданной службой MYSERVICE, с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Возвращаются только столбцы MSG и CORRELID. SELECT T.MSG, T.CORRELID FROM table (MQRECEIVEALLCLOB('MYSERVICE')) T Пример 3: Этот пример получает все сообщения из начала очереди, заданной службой "MYSERVICE", с использованием правил "MYPOLICY". Возвращаются только сообщения с CORRELID='1234'. Возвращаются только столбцы MSG и CORRELID. SELECT T.MSG, T.CORRELID FROM table (MQRECEIVEALLCLOB('MYSERVICE','MYPOLICY','1234')) T Пример 4: Этот пример получает первые 10 сообщений из начала очереди, заданной службой по умолчанию (DB2.DEFAULT.SERVICE), с использованием правил по умолчанию (DB2.DEFAULT.POLICY). Возвращаются все столбцы. SELECT * FROM table (MQRECEIVEALLCLOB(10)) T ------------------------------------------------------------------------ 38.5 Глава 6. SQL Statements (Операторы SQL) 38.5.1 Длинные ключи индекса для баз данных Unicode 38.5.1.1 ALTER TABLE Если при определении индекса переменная реестра DB2_INDEX_2BYTEVARLEN имеет значение ON, длина столбцов переменной длины, входящих в этот индекс, включая первичные ключи и ключи уникальности, может быть изменена на значение более 255 байт. Реально длина столбца переменной длины, входящего во внешний ключ, теперь может быть изменена на длину более 255 байт независимо от значения этой переменной реестра. Однако данные длиной более 255 байт можно вставить в таблицу, только если столбец соответствующего первичного ключа имеет длину более 255 байт, что возможно, только если этот первичный ключ создан, когда эта переменная реестра имела значение ON. 38.5.1.2 CREATE INDEX Индексы могут быть определены на столбцах переменной длины, размер которых больше 255 байт, если переменная реестра DB2_INDEX_2BYTEVARLEN имеет значение ON. 38.5.1.3 CREATE TABLE Первичные ключи и ключи уникальности, в которые входят столбцы переменной длины, могут иметь размер больше 255, если переменная реестра DB2_INDEX_2BYTEVARLEN имеет значение ON. Внешние ключи могут быть определены на столбцах переменной длины, размер которых больше 255 байт. ------------------------------------------------------------------------ Обновления для Unicode ------------------------------------------------------------------------ 39.1 Введение Стандарт Unicode - универсальная схема кодирования символов для записи символов и текста. Он очень подробно определяет набор символов и некоторое число кодировок для него. Unicode представляет логичный способ кодирования многоязычных текстов, поддерживающий международный обмен текстовыми данными и создающий основу для написания программ, работающих в любой языковой среде. Unicode поддерживает две схемы кодирования - UTF-16 и UTF-8. По умолчанию используется схема кодирования UTF-16 с 16-битным форматом. UCS-2 представляет собой поднабор UTF-16, использующий для представления одного символа два байта. UCS-2 обычно воспринимается как универсальная кодовая страница, способная представлять все необходимые символы всех существующих одно- и двухбайтных кодовых страниц. UCS-2 зарегистрирована в IBM как кодовая страница 1200. Другой формат кодирования Unicode - байт-ориентированный формат UTF-8, разработанный для облегчения его использования с существующими системами на основе ASCII. UTF-8 использует для хранения одного символа переменное число байтов (обычно 1 - 3, иногда 4). Инвариантные символы ASCII хранятся в виде одиночных байтов. Любой другой символ хранится, как несколько байт. В общем случае данные UTF-8 можно рассматривать как расширение данных ASCII, а не как код для многобайтных кодовых страниц. UTF-8 зарегистрирован в IBM как кодовая страница 1208. Важно, чтобы прикладные программы учитывали требования к размеру данных при их преобразовании между национальной кодовой страницей, UCS-2 и UTF-8. Например, для 20 символов в UCS-2 потребуется ровно 40 байтов, а в UTF-8 - от 20 до 60 в зависимости от исходной кодовой страницы и использованных символов. 39.1.1 Базы данных Unicode и прикладные программы DB2 В Unix, Windows и OS/2 база данных DB2 UDB, созданная с указанием кодового набора UTF-8, может использоваться для хранения данных как в формате UCS-2, так и UTF-8. Такая база данных называется базой данных Unicode. Символьные данные SQL кодируются с использованием UTF-8, а графические - с использованием UCS-2. Это означает, что символы MBCS, как однобайтные, так и двухбайтные, хранятся в символьных столбцах, а символы DBCS - в графических. Кодовая страница прикладной программы может не совпадать с кодовой страницей, которую DB2 использует для хранения данных. В других базах данных (не Unicode) при несовпадении этих кодовых страниц менеджер баз данных преобразует символьные и графические (исключительно DBCS) данные при переносе их между клиентом и сервером. В базе данных Unicode менеджер баз данных автоматически выполняет преобразование символьных данных между кодовой страницей клиента и UTF-8, но все графические данные (UCS-2) передаются между клиентом и сервером без преобразования. Рис. 1. Преобразования кодовых страниц, выполняемые менеджером баз данных [Преобразования кодовых страниц, выполняемые менеджером баз данных] Примечания: 1. Если при подключении к базам данных Unicode прикладная программа устанавливает DB2CODEPAGE=1208, локальная кодовая страница будет UTF-8, и преобразование кодовых страниц не требуется. 2. При подключении к базе данных Unicode прикладные программы CLI могут также принимать символьные данные как графические данные, а графические данные - как символьные данные. Для прикладной программы можно указать кодовую страницу UTF-8, что означает, что она будет передавать и получать все графические данные в UCS-2, а символьные данные - в UTF-8. Эта кодовая страница прикладной программы поддерживается только для баз данных Unicode. При использовании Unicode необходимо также принимать во внимание следующее: 1. Кодовая страница определяется во время создания базы данных, и по умолчанию ее значение определяется из версии (или кодовой страницы) операционной системы. Чтобы создать базу данных DB2 Unicode явным образом, можно использовать ключевые слова CODESET и TERRITORY. Например: CREATE DATABASE unidb USING CODESET UTF-8 TERRITORY US 2. Кроме того, кодовая страница прикладной программы по умолчанию совпадает с локальной кодовой страницей, но может быть заменена на UTF-8 одним из двух способов: o Установкой UTF-8 (1208) для кодовой страницы прикладной программы командой: db2set DB2CODEPAGE=1208 o Для прикладных программ CLI/ODBC - путем вызова SQLSetConnectAttr() и заданием для SQL_ATTR_ANSI_APP значения SQL_AA_FALSE. Значение по умолчанию - SQL_AA_TRUE. 3. Данные в столбцах GRAPHIC будут занимать ровно по два байта на каждый символ Unicode, а данные в столбцах CHAR на каждый символ Unicode будут занимать от 1 до 3 байтов. Ограничения SQL на число символов для столбцов GRAPHIC в общем случае вдвое меньше, чем для столбцов CHAR, но по числу байтов они одинаковы. Например, максимальная длина в символах для столбца CHAR равна 254, а максимальная длина в символах для графического столбца равна 127. Дополнительную информацию смотрите в разделе MAX в главе "Functions" (Функции) справочника SQL Reference. 4. Графический литерал отличают от символьного литерала по префиксу G. Например: SELECT * FROM mytable WHERE mychar = 'данные utf-8' AND mygraphic = G'данные ucs-2' Прим.:Для баз данных Unicode префикс G не обязателен. Дополнительная информация и обновленная поддержка приводятся в разделе 36.6.2.4, "Литералы в базах данных Unicode". 5. Поддержка для прикладных программ CLI/ODBC и JDBC отличается от поддержки для встроенных программ. Конкретную информацию о поддержке CLI/ODBC смотрите в разделе "CLI Guide and Reference (Справочное руководство по интерфейсу командной строки)". 6. Число байтов, необходимых для данных UCS-2, может быть различным на разных платформах. Во внутреннем формате DB2 используется прямой порядок байтов. 39.1.2 Обновление документации В этих замечаниях изменена следующая информация об использовании Unicode с DB2 Версии 7.1: * SQL Reference: Глава 3. Language Elements (Элементы языка) Глава 4. Functions (Функции) Глава 6. SQL Statements (Операторы SQL) * CLI Guide and Reference: Глава 3. Using Advanced Features (Использование дополнительных возможностей) Приложение C. DB2 CLI and ODBC (CLI DB2 и ODBC) * Data Movement Utilities Guide and Reference, Приложение C. Export/Import/Load Utility File Formats (Форматы файлов утилит Export/Import/Load) Дополнительную информацию об использовании Unicode с DB2 смотрите в книге Administration Guide, в приложении National Language Support (NLS, Подержка национальных языков): "Unicode Support in DB2 UDB". ------------------------------------------------------------------------ Соединение с хост-системами Частичное содержание * Руководство пользователя по DB2 Connect (DB2 Connect User's Guide) o 40.1 Увеличение скорости передачи данных DB2 Connect + 40.1.1 Дополнительные блоки запросов + 40.1.2 Изменение размеров окна RFC-1323 * Дополнение по возможностям соединений o 41.1 Настройка сервера прикладных программ в среде VM o 41.2 Параметры PATCH1 и PATCH2 и конфигурации CLI/ODBC/JDBC ------------------------------------------------------------------------ Руководство пользователя по DB2 Connect (DB2 Connect User's Guide) ------------------------------------------------------------------------ 40.1 Увеличение скорости передачи данных DB2 Connect Блокирование строк для набора результатов запроса не представляет собой ничего нового, но в DB2 for z/OS (прежнее название - DB2 for OS/390), начиная с Версии 6.1, появилась возможность возвращать для удаленного клиента, например, для DB2 Connect, несколько блоков запроса в ответ на требование OPEN или FETCH. Вместо периодической передачи требований на сервер DB2 for z/OS, который за один раз запрашивает один блок строковых данных, теперь клиент имеет возможность посылать на сервер требования передавать обратно добавочные блоки запросов. Такие блоки запросов называются дополнительными блоками запросов. Эта новая особенность позволяет клиенту минимизировать число циклов обработки строк в сети, что является главным фактором, влияющим на сетевую производительность. Снижение числа посылаемых клиентом на сервер требований блоков запросов приводит к существенному увеличению производительности, так как переключение между передачей и приемом - дорогая операция, сильно сказывающаяся на производительности. DB2 Connect может теперь реализовать это улучшение производительности, запрашивая у сервера DB2 for z/OS дополнительные блоки запросов по умолчанию. Чтобы полностью использовать преимущество возврата дополнительных блоков запросов (каждый из них может быть длиной до 32 Кбайт), если в сети применяется протокол TCP/IP, в DB2 Connect поддерживаются также расширения Window Scaling, как описано в RFC-1323. Эта новая особенность позволяет TCP/IP динамически эффективно подстраивать размеры окон передачи и приема для больших объемов данных, которые могут быть возвращены при использовании дополнительных блоков запросов. 40.1.1 Дополнительные блоки запросов Поддержка дополнительных блоков запросов на серверах DB2 for z/OS в Версии 6.1 или новее конфигурируется с помощью параметра EXTRA BLOCKS SRV на панели установки DB2 DDF. Этот параметр управляет максимальным числом дополнительных блоков запроса, которые DB2 может послать в ответ на требование назад клиенту; допустимы значения от 0 до 100. Задание значения 0 отключает возврат дополнительных блоков запросов. Для получения наибольшей выгоды от этой особенности следует использовать значение по умолчанию 100, отклонив все перестраховочные опасения, которые могут привести к установке для этого параметра значения меньше оптимального. На стороне клиента, когда программа обращается к DB2 for z/OS либо непосредственно через сопутствующую этому клиенту программу установки DB2 Connect, либо через отдельную программу установки сервера DB2 Connect, существуют различные средства для активации соответствующей поддержки DB2 Connect на основе указателя или оператора, в которых используются: * Размер набора строк запроса для указателя * Условие 'OPTIMIZE for N ROWS' оператора select, связанного с указателем * Условие 'FETCH FIRST N ROWS ONLY' оператора select, связанного с указателем Опция 1 не рассматривается в этом разделе, поскольку она уже применялась для поддержки прокрутки DB2 for z/OS в пакете FixPak 2 для DB2 Connect Версии 7.1. Мы рассмотрим использование опций 2 и 3 вместо подключения поддержки дополнительных блоков запросов с использованием различных API для SQL: 1. Встроенный SQL o Поддержка дополнительных блоков запроса вызывается для запроса заданием условия 'OPTIMIZE for N ROWS' и/или условия 'FETCH FIRST N ROWS ONLY' в самом операторе select. o DB2 for z/OS с условием 'OPTIMIZE for N ROWS' будет пытаться блокировать указанное число строк для возврата их в DB2 Connect согласно заданному значению параметра установки EXTRA BLOCKS SRV DDF. Конкретная программа может выбрать получение числа строк больше N, поскольку DB2 for z/OS не ограничивает числом N общее число строк, возвращаемых в конечном счете для набора результатов запроса. o Условие 'FETCH FIRST N ROWS ONLY' работает аналогично, но DB2 for z/OS ограничивает набор результатов запроса N строками. Считывание числа строк больше N приведет к возврату кода SQL +100 (конец данных). 2. CLI/ODBC o Поддержка дополнительных блоков запроса вызывается для запроса с использованием в нем атрибута оператора SQL_MAX_ROWS. o DB2 Connect отмечает для сервера DB2 for z/OS 6.x условие 'OPTIMIZE for N ROWS'. Хотя DB2 for z/OS и не ограничивает числом N количество строк, которые в конечном счете могут быть возвращены в наборе результатов запроса, при попытке получить число строк, превышающее N, CLI/ODBC возвращает в программу SQL_NO_DATA_FOUND. o Для серверов DB2 for z/OS Версии 7.1 и новее вместо 'OPTIMIZE for N ROWS' используется условие 'FETCH FIRST N ROWS ONLY'. DB2 for z/OS ограничивает набор результатов запроса N строками, как и в случае встроенного SQL. Считывание числа строк больше N приведет к возврату SQL_NO_DATA_FOUND. 3. JDBC o Поддержка дополнительных блоков запроса вызывается для запроса с использованием метода setMaxRows. Как и в случае CLI/ODBC, DB2 Connect отмечает для сервера DB2 for z/OS 6.x условие 'OPTIMIZE for N ROWS', а для сервера DB2 for z/OS Версии 7.1 или новее - условие 'FETCH FIRST N ROWS ONLY'. 40.1.2 Изменение размеров окна RFC-1323 Изменение размеров окна поддерживается в пакете Fixpak 4 на всех платформах Windows и UNIX, которые поддерживают расширения RFC-1323 для TCP/IP. Эту особенность можно подключить в DB2 для Windows и UNIX с помощью переменной реестра DB2 DB2SORCVBUF. Чтобы подключить изменение размеров окна, задайте для переменной реестра DB2 DB2SORCVBUF любое значение больше 64 Кбайт (например, в DB2 для Windows или UNIX можно ввести команду db2set DB2SORCVBUF=65537). Максимальные размеры буферов передачи и приема зависят от конкретной операционной системы. Чтобы убедиться, что сконфигурированные размеры буфера приняты, пользователь может задать для параметра конфигурации DIAGLEVEL менеджера баз данных значение 4 (информационное) и просмотреть сообщения в файле db2diag.log. Чтобы изменение размеров окна действовало, оно должно быть подключено на обоих концах соединения. Например, для включения изменения размеров окна между рабочей станцией DB2 Connect и хостом эта функция должна быть активной и на рабочей станции, и на хосте либо непосредственно через стек TCP/IP операционной системы, либо косвенно, через соответствующий продукт DB2. Для DB2 for z/OS, например, в настоящее время изменение размеров окна можно активировать только через операционную систему, задав для TCPRCVBUFRSIZE значение больше 64 Кбайт. Если для обращения к DB2 хоста через рабочую станцию сервера DB2 Connect используется удаленный клиент DB2, изменение размеров окна нужно также подключить и на этом клиенте. Аналогичным образом изменение размеров окна включается и между удаленным клиентом DB2 и сервером DB2 рабочей станции, когда DB2 хоста вообще не используется. Хотя изменение размеров окна предназначено для повышения сетевой производительности, ожидаемое улучшение производительности сети наблюдается не всегда. Различное сочетание факторов, таких как размер кадра сетевых адаптеров Ethernet или Token Ring, размер максимального блока передачи для IP-пакетов (IP MTU) и других параметров в маршрутизаторах по линии связи, после подключения изменение размеров окна может привести даже к снижению производительности. По умолчанию изменение размеров окна отключено: и для буфера передачи, и для буфера приема задается размер 64 Кбайт. Вам следует подготовить пользователя, чтобы он мог оценить воздействие от подключения изменения размеров окна и провести все необходимые настройки в сети. Начальную информацию по настройке сети для улучшения производительности смотрите в белой книге по адресу http://www.networking.ibm.com/per/per10.html. ------------------------------------------------------------------------ Дополнение по возможностям соединений ------------------------------------------------------------------------ 41.1 Настройка сервера прикладных программ в среде VM Добавьте следующее предложение после первого (и единственного) предложения в разделе "Задание сетевой информации" в подразделе "Определение сервера прикладных программ": В качестве имени параметра DBNAME в SQLSTART EXEC задается RDB_NAME. ------------------------------------------------------------------------ 41.2 Параметры PATCH1 и PATCH2 и конфигурации CLI/ODBC/JDBC Для конфигурирования драйвера CLI/ODBC/JDBC можно использовать Ассистент конфигурирования клиента или менеджер драйверов ODBC (если он установлен в системе) или можно вручную отредактировать файл db2cli.ini. Более подробную информацию смотрите в руководстве Дополнение по установке и настройке или CLI Guide and Reference. Поведение по умолчанию драйвера CLI/ODBC DB2 можно изменить, задав значения обоих ключевых слов PATCH1 и PATCH2 (в файле db2cli.ini или с помощью функции API CLI SQLDriverConnect() или SQLBrowseConnect()). Задаваемое значение ключевого слова PATCH1 - сумма всех значений, которые нужно задать для него. Например, чтобы задать значения 1, 2 и 8, нужно задать для PATCH1 значение 11. Ниже представлено описание каждого значения и его влияние на драйвер: 1 - драйвер будет выполнять поиск "count(exp)", заменяя его на "count(distinct exp)". Это необходимо, поскольку некоторые версии DB2 поддерживают синтаксис "count(exp)" и этот синтаксис генерируется некоторыми прикладными программами ODBC. Требуется прикладным программам Microsoft, если сервер не поддерживает синтаксис "count(exp)". 2 - Работа некоторых прикладных программ ODBC прерывается, если возвращается SQL_NULL_DATA в функции SQLGetTypeInfo() для столбца LITERAL_PREFIX или LITERAL_SUFFIX. Это значение указывает драйверу, что вместо этого нужно возвращать пустую строку. Требуется для Impromptu 2.0. 4 - Указывает драйверу, что входные данные типа отметка времени должны интерпретироваться как данные типа дата, если часть значения отметки времени, определяющая значение времени, равна нулю. Требуется для Microsoft Access. 8 - Указывает драйверу, что входные данные типа отметка времени должны интерпретироваться как данные типа время, если часть значения отметки времени, определяющая дату, равна 1899-12-30. Требуется для Microsoft Access. 16 - Не используется. 32 - Указывает драйверу, чтобы он не возвращал информацию о столбцах SQL_LONGVARCHAR, SQL_LONGVARBINARY и SQL_LONGVARGRAPHIC. Для прикладной программы это выглядит так, как будто длинные поля не поддерживаются. Требуется для Lotus 123. 64 - Указывает драйверу, чтобы он завершал пустым символом выходные графические строки. Требуется для Microsoft Access в двухбайтной среде. 128 - Указывает драйверу, что он должен передавать на сервер запросы "SELECT Config, nValue FROM MSysConf". В настоящее время драйвер возвращает код ошибки со значением SQLSTATE S0002 (таблица не найдена). Требуется, если пользователь создал в базе данных эту таблицу конфигурации и хочет, чтобы прикладная программа обращалась к ней. 256 - Указывает драйверу, что в вызове SQLStatistics() он должен первыми возвращать столбцы первичных ключей. В настоящее время драйвер возвращает индексы отсортированными по именам индексов (это стандартное поведение ODBC). 512 - Указывает драйверу, что он должен возвращать FALSE в SQLGetFunctions() для SQL_API_SQLTABLEPRIVILEGES и SQL_API_SQLCOLUMNPRIVILEGES. 1024 - Указывает драйверу, что он должен возвращать SQL_SUCCESS вместо SQL_NO_DATA_FOUND в SQLExecute() или SQLExecDirect(), если выполненный оператор UPDATE or DELETE не изменил ни одной строки. Требуется для прикладных программ Visual Basic. 2048 - Не используется. 4096 - Указывает драйверу, что он не должен выдавать команду COMMIT после закрытия указателя в режиме автоматического принятия. 8192 - Указывает драйверу, что он должен возвращать дополнительный набор результатов после вызова хранимой процедуры. Этот набор результатов содержит одну строку, состоящую из выходных значений этой хранимой процедуры. Может использоваться прикладными программами Powerbuild. 32768 - Указывает драйверу, что он должен дать программам Microsoft Query работать с синонимами DB2 MVS. 65536 - Указывает драйверу, что он должен сам вставлять "G" перед символьными литералами, которые на самом деле являются графическими литералами. Нужно всегда задавать это значение при работе в двухбайтной среде. 131072 - Указывает драйверу, что он должен описывать входящий в индекс уникальности столбец с типом отметка времени как столбец типа CHAR(26). Требуется для прикладных программ Microsoft. 262144 - Указывает драйверу, что нужно использовать таблицу псевдокаталога db2cli.procedures вместо таблиц SYSCAT.PROCEDURES и SYSCAT.PROCPARMS. 524288 - Указывает драйверу, что нужно использовать SYSTEM_TABLE_SCHEMA вместо TABLE_SCHEMA при выполнении запроса к системной таблице в системе DB2/400 V3.x. Это повышает производительность. 1048576 - Указывает драйверу, что строку нулевой длины для SQLPutData() нужно интерпретировать как SQL_NULL_DATA. Ключевое слово PATCH2 отличается от ключевого слова PATCH1. В нем несколько значений задаются через запятые. Например, чтобы задать значения 1, 4 и 5, нужно задать для PATCH2 значение "1,4,5". Ниже представлено описание каждого значения и его влияние на драйвер: 1 - Указывает драйверу, что он должен перевести имя хранимой процедуры в операторе CALL в верхний регистр. 2 - Не используется. 3 - Указывает драйверу, что он должен переводить все аргументы в вызовах схемы в верхний регистр. 4 - Указывает драйверу, что он должен возвращать для вызовов схем (то есть SQLColumns(), SQLProcedureColumns() и т.д.) набор результатов в формате Версии 2.1.2 вместо формата Версии 5. 5 - Указывает драйверу, что не нужно оптимизировать обработку входных столбцов VARCHAR, если указатель на данные и указатель на длину идут в памяти подряд. 6 - Указывает драйверу, что он должен возвращать сообщение, что указатели с прокруткой не поддерживаются. Требуется для программ Visual Basic, если используются клиент DB2 Версии 5 и сервер DB2 UDB Версии 5. 7 - Указывает драйверу, что он должен отображать все типы данных столбцов GRAPHIC на типы данных столбцов CHAR. Требуется в двухбайтной среде. 8 - Указывает драйверу, что он должен игнорировать аргументы поиска каталогов в вызовах схем. 9 - Не выполнять принятие при раннем закрытии указателя. 10 - Не используется. 11 - Сообщать, что имя каталога поддерживается, (хранимые процедуры VB) 12 - Удалять двойные кавычки из аргументов вызовов схем, (Visual Interdev) 13 - Не добавлять ключевые слова из db2cli.ini к выходной строке соединения 14 - Игнорировать имя схемы в SQLProcedures() и SQLProcedureColumns() 15 - Всегда использовать точку как разделитель дробной части при символьном выводе 16 - Принудительно возвращать информацию описания при каждом открытии 17 - Не возвращать имена столбцов в описании 18 - Пытаться заменять литералы маркерами параметров 19 - В настоящее время DB2 MVS V4.1 не поддерживает синтаксис ODBC, в котором разрешены скобки в условии ON в условии внешнего объединения. Если в PATCH2 задано это значение, драйвер ODBC IBM DB2 будет удалять скобки, если условие внешнего объединения входит в управляющую последовательность ODBC. Это значение следует использовать только при работе с DB2 MVS 4.1. 20 - В настоящее время DB2 on MVS не поддерживает предикат BETWEEN с маркерами параметров в качестве обоих операндов (выражение ? BETWEEN ?). Если задано это значение, драйвер ODBC IBM перепишет такой предикат в виде (выражение >= ? and выражение <= ?). 21 - Задать все только выходные (OUTPUT) параметры для хранимых процедур как SQL_NULL_DATA 22 - Если задано это значение, драйвер ODBC IBM будет сообщать, что внешнее (OUTER) объединение не поддерживается. Предназначено для прикладных программ, генерирующих SELECT DISTINCT col1 или ORDER BY col1 при использовании оператора внешнего объединения, где col1 имеет длину больше 254 символов, в результате DB2 UDB возвращает сообщение об ошибке (поскольку DB2 UDB не поддерживает в таких конструкциях столбцы длиной более 254 байт) 23 - Не оптимизировать ввод для параметров, связанных с cbColDef=0 24 - Обходной прием для работы со значениями времени - они представляются в символьном виде 25 - Обходной прием для работы с десятичными столбцами - из их символьного представления удаляются конечные нули 26 - Не возвращать прикладной программе sqlcode 464 - указывает, что возвращены наборы результатов 27 - Использовать для SQLTables значение ключевого слова TABLETYPE, даже если прикладная программа задает правильное значение 28 - Описывает столбцы real как столбцы double 29 - Исправление работы ADO для десятичных столбцов - удаляет начальные нули для значений x, где 1 > x > -1 (Требуется только для некоторых версий MDAC) 30 - Запрещает оптимизацию кэширования хранимых процедур 31 - Сообщать данные статистики для алиасов в вызове SQLStatistics 32 - Переопределяет обработку кода причины 4 для sqlcode -727 33 - Возвращать преобразованное в символьную форму значение отметки времени в формате ISO (а не в формате ODBC) 34 - Сообщать значение CHAR для столбцов CHAR FOR BIT DATA 35 - Сообщать о неверном TABLENAME, если запрошено SQL_DESC_BASE_TABLE_NAME - оптимизация только для чтения ADO 36 - Зарезервировано 37 - Зарезервировано ------------------------------------------------------------------------ Дополнительная информация Частичное содержание * Дополнительная информация o 42.1 DB2 Everywhere называется теперь DB2 Everyplace o 42.2 Специальные возможности DB2 UDB Версии 7 + 42.2.1 Ввод с клавиатуры и навигация + 42.2.1.1 Ввод с клавиатуры + 42.2.1.2 Фокус ввода с клавиатуры + 42.2.2 Средства облегчения работы с экраном + 42.2.2.1 Высококонтрастный режим + 42.2.2.2 Параметры шрифтов + 42.2.2.3 Независимость от цвета + 42.2.3 Альтернативные средства предупреждения + 42.2.4 Совместимость с технологиями для людей с физическими недостатками + 42.2.5 Удобный формат документации o 42.3 Необходима мышь o 42.4 При попытке связывания из клиента времени выполнения DB2 возникает ошибка "Не найдены файлы связывания" o 42.5 Поиск SEARCH o 42.6 Окна памяти для HP-UX 11 o 42.7 Деинсталляция Client Enabler DFS DB2 o 42.8 Аутентификация клиента в Windows NT o 42.9 Ограничения системы объединения o 42.10 Ограничения систем объединения с многораздельными таблицами MPP o 42.11 Ограничение DataJoiner o 42.12 Менеджер каталогов данных на иврите для Windows NT o 42.13 Ошибка запуска SPM SNA DB2 после загрузки Windows o 42.14 Требования к учетным записям для DB2 в Windows NT и Windows 2000 o 42.15 Необходимость принятия всех пользовательских программ, которые будут использованы в Центре хранилищ данных (Data Warehouse Center - DWC) o 42.16 Кэширование на стороне клиента в Windows NT o 42.17 Life Sciences Data Connect - Новые оболочки o 42.18 Усовершенствование SQL Assist o 42.19 Справка для команд BACKUP и RESTORE o 42.20 "Менеджер хранилищ данных" следует читать как "Менеджер хранилищ данных DB2" ------------------------------------------------------------------------ Дополнительная информация ------------------------------------------------------------------------ 42.1 DB2 Everywhere называется теперь DB2 Everyplace Имя DB2 Everywhere было изменено на DB2 Everyplace. ------------------------------------------------------------------------ 42.2 Специальные возможности DB2 UDB Версии 7 Продукты семейства DB2 UDB включают ряд возможностей, делающих их более доступными для людей с физическими недостатками. Эти возможности включают: * Возможности, облегчающие ввод с клавиатуры и использование клавиатуры для навигации * Возможности, улучшающие свойства экрана * Возможность выбора звуковых и визуальных предупреждений * Совместимость с технологиями для людей с физическими недостатками * Совместимость со специальными возможностями операционной системы * Удобные форматы документации 42.2.1 Ввод с клавиатуры и навигация 42.2.1.1 Ввод с клавиатуры С Центром управления DB2 можно работать, используя только клавиатуру. Для пунктов меню и элементов управления есть клавиши доступа, позволяющие пользователям активировать элемент управления или выбирать пункт меню с помощью клавиатуры. Соответствующие этим клавишам буквы выделяются в названиях элементов управления и пунктов меню подчеркиванием. 42.2.1.2 Фокус ввода с клавиатуры В системах на основе UNIX положение фокуса ввода с клавиатуры выделяется на экране; тем самым указывается активная область окна, в которую будут вводиться символы при нажатии клавиатуры. 42.2.2 Средства облегчения работы с экраном В Центре управления DB2 есть ряд средств, улучшающих пользовательский интерфейс и облегчающих работу для пользователей со слабым зрением. В них входят поддержка параметров высококонтрастного вывода на экран и настраиваемых свойств шрифтов. 42.2.2.1 Высококонтрастный режим Интерфейс Центра управления поддерживает обеспечиваемый операционной системой высококонтрастный режим. Это облегчает работу пользователей, которым требуется большая степень контрастности между цветами фона и рисунка. 42.2.2.2 Параметры шрифтов Интерфейс Центра управления позволяет пользователям выбрать цвет, размер и тип шрифта, используемого в меню и для диалоговых окон. 42.2.2.3 Независимость от цвета Чтобы использовать любые функции этого продукта, пользователям не требуется различать цвета. 42.2.3 Альтернативные средства предупреждения Пользователь может выбрать, в каком виде получать предупреждения: в виде звуковых или визуальных сигналов. 42.2.4 Совместимость с технологиями для людей с физическими недостатками Интерфейс Центра управления DB2 совместим с программами чтения с экрана (такими, как Via Voice). В режиме прикладной программы интерфейс Центра управления обладает необходимыми свойствами, позволяющими таким программам облегчения работы получать информацию с экрана и делать ее доступной для слепых пользователей. 42.2.5 Удобный формат документации Документация для продуктов семейства DB2 доступна в формате HTML. Это позволяет пользователям просматривать документацию, используя предпочтения экрана, заданные для их браузеров. Это позволяет также использовать программы чтения с экрана и другие технологии для людей с физическими недостатками. ------------------------------------------------------------------------ 42.3 Необходима мышь Для работы с этими инструментами на всех платформах, кроме Windows, требуется мышь. ------------------------------------------------------------------------ 42.4 При попытке связывания из клиента времени выполнения DB2 возникает ошибка "Не найдены файлы связывания" Поскольку у клиента времени выполнения DB2 нет полного набора файлов связывания, из него нельзя выполнить связывание средств GUI (его можно выполнить только из клиента администратора DB2). ------------------------------------------------------------------------ 42.5 Поиск SEARCH Поиск SEARCH поддерживается только для широковещательной связи. Например, поиск SEARCH не будет работать через адаптер ATM. К поиску KNOWN это ограничение не относится. ------------------------------------------------------------------------ 42.6 Окна памяти для HP-UX 11 Окна памяти предназначены для пользователей больших 64-битных компьютеров HP, которые хотят воспользоваться преимуществами использования более чем 1,75 Гбайт совместно используемой памяти для 32-битных прикладных программ. Окна памяти не требуются, если вы работаете с 64-битной версией DB2. Окна памяти позволяют использовать для процесса или группы процессов отдельный 1 Гбайт совместно используемой памяти. Это позволяет экземпляру иметь свой собственный 1 Гбайт совместно используемой памяти плюс 0,75 Гбайта глобальной совместно используемой памяти. Если пользователи хотят использовать такие преимущества, они могут запустить несколько экземпляров, каждый в своем собственном окне памяти. Для использования окон памяти требуется: * Среда DB2 EE o Исправления: Extension Software 12/98 и PHKL_17795. o Для экземпляра должна быть задана переменная $DB2INSTANCE. o Для каждого экземпляра DB2, который нужно выполнять в окне памяти, должна быть запись в файле /etc/services.window. Например: db2instance1 50 db2instance2 60 Примечание: Между именем и ID может быть только один пробел. o Все команды DB2, которые нужно выполнить на сервере и для которых требуется несколько операторов, надо выполнять при помощи метода обратной связи TCP/IP. Это вызвано тем, что оболочка завершит работу, когда окно памяти закончит обработку первого оператора. Служба DB2 умеет справляться с этой ситуацией. o Перед любой командой DB2, которая нужно выполнить для экземпляра, запущенного в окне памяти, нужно ввести db2win (имя команды, расположенной в каталоге sqllib/bin). Например: db2win db2start db2win db2stop o Все команды DB2, выполняющиеся вне окна памяти (но когда окно памяти запущено), будут возвращать код 1042. Например: db2win db2start <== OK db2 connect to db <==SQL1042 db2stop <==SQL1042 db2win db2stop <== OK * Среда DB2 EEE o Исправления: Extension Software 12/98 и PHKL_17795. o Для экземпляра должна быть задана переменная $DB2INSTANCE. o Переменная реестра DB2_ENABLE_MEM_WINDOWS должна иметь значение TRUE. o Для каждого логического узла каждого экземпляра, который нужно выполнять в окне памяти, должна быть запись в файле /etc/services.window. Первое поле такой записи - имя экземпляра, после него идет номер порта. Например: === $HOME/sqllib/db2nodes.cfg для db2instance1 === 5 host1 0 7 host1 1 9 host2 0 === $HOME/sqllib/db2nodes.cfg для db2instance2 === 1 host1 0 2 host2 0 3 host2 1 === /etc/services.window на host1 === db2instance10 50 db2instance11 55 db2instance20 60 === /etc/services.window на host2 === db2instance10 30 db2instance20 32 db2instance21 34 o Не нужно предварять команды DB2 командой db2win (она используется только в среде EE). ------------------------------------------------------------------------ 42.7 Деинсталляция Client Enabler DFS DB2 Перед деинсталляцией Client Enabler DFS DB2 пользователь root должен убедиться, что файлы DFS не используются и что в файловом пространстве DFS нет открытых пользователями оболочек. От имени пользователя root введите команду: stop.dfs dfs_cl Убедитесь, что /... более не смонтирован: mount | grep -i dfs Если это не так, а Client Enabler DFS DB2 деинсталлирован, нужно перезагрузить компьютер. ------------------------------------------------------------------------ 42.8 Аутентификация клиента в Windows NT Для поддержки существующего механизма аутентификации клиента в среде Windows NT введена новая переменная реестра DB2 DB2DOMAINLIST (список доменов DB2). Эта переменная используется на сервере DB2 for Windows NT для определения одного или нескольких доменов Windows NT. Запросы соединения или подключения будут приниматься только от пользователей, входящих в определенные в этом списке домены. Эту переменную среды нужно использовать только в чистой среде доменов Windows NT с серверами и клиентами DB2 Версии 7 (или новее). Информацию о задании этой переменной реестра смотрите в разделе "Переменные реестра DB2 и переменные среды" руководства Administration Guide: Performance. ------------------------------------------------------------------------ 42.9 Ограничения системы объединения Для систем объединения применяются следующие ограничения: * Типы данных Oracle NCHAR, NVARCHAR2, NCLOB и BFILE не поддерживающиеся в запросах, содержащих псевдонимы. * Из Центра управления не поддерживаются команды Create Server Option, Alter Server Option и Drop Server Option. Для ввода этих команд необходимо использовать процессор командной строки (CLP). * Для запросов, содержащих псевдонимы, DB2 UDB не всегда следует значению параметра конфигурации базы данных DFT_SQLMATHWARN. Вместо этого DB2 UDB возвращает арифметические ошибки непосредственно от удаленного источника данных независимо от значения параметра DFT_SQLMATHWARN. * Оператор CREATE SERVER не позволяет задать значение 'I' для опции сервера COLSEQ для источников данных с регистронезависимыми последовательностями слияния. * Оператор ALTER NICKNAME возвращает SQL0901N, если задана неверная опция. * Для источников данных Oracle, Microsoft SQL Server и Sybase числовые типы данных не могут отображаться на тип данных DB2 BIGINT. По умолчанию тип данных Oracle number(p,s), где 10 <= p <= 18 и s = 0, отображается на тип данных DB2 DECIMAL. ------------------------------------------------------------------------ 42.10 Ограничения систем объединения с многораздельными таблицами MPP Пытаясь использовать один оператор SQL для отбора данных из источника данных и для вставки, изменения или удаления данных из многораздельных таблиц MPP на сервере объединения DB2, вы получите сообщение об ошибке SQL0901N. Возможности сервера объединения не позволяют производить выбор из псевдонима и вставку в многораздельную таблицу MPP. Применив FixPak 4 (или новее), для выбора данных и их вставки в многораздельную таблицу MPP можно использовать следующие действия: 1. В среде пользовательской программы экспортируйте переменную среды DB2NODE, чтобы задать узел, с которым программа всегда должна соединяться. EXPORT DB2NODE=x где x - номер узла. 2. Создайте группу узлов, содержащую только этот узел. CREATE NODEGROUP имя_группы_узлов ON NODE(x) где x - номер этого узла. 3. Создайте в этой группе узлов табличное пространство. CREATE TABLESPACE имя_табличного_пространства IN NODEGROUP имя_группы_узлов 4. Создать в этом табличном пространстве временную таблицу. CREATE TABLE имя_временной_таблицы IN имя_табличного_пространства 5. Разбейте операцию INSERT в программе на два шага: o INSERT INTO имя_временной_таблицы SELECT * FROM псевдоним o INSERT INTO многораздельная_таблица_MPP SELECT * FROM имя_временной_таблицы Разбиение оператора INSERT на два оператора меняет структуру принятий и откатов. Например, вместо отката одного оператора теперь надо будет выполнять откат для двух операторов. Кроме того, если вы меняете номер узла, связанный с переменной среды DB2NODE, вы должны будете пометить пакет прикладной программы как недействительный, и пересвязать его. Эти шаги позволяют вам выбрать данные из источника данных и поместить их в многораздельную таблицу MPP. Если вы попытаетесь выбрать данные из источника данных и поместить их в многораздельную таблицу MPP за один оператор, вы по-прежнему получите сообщение об ошибке SQL0901N. Это ограничение будет снято в DB2 Universal Database Версии 8. ------------------------------------------------------------------------ 42.11 Ограничение DataJoiner В распределенных запросах в среде объединения можно использовать только операции чтения. ------------------------------------------------------------------------ 42.12 Менеджер каталогов данных на иврите для Windows NT Доступна версия компонента менеджера каталогов данных на иврите; она находится на компакт-диске Менеджер хранилищ данных DB2 для NT. Перевод на иврит находится в файле zip IL_ICM.ZIP, расположенном в каталоге DB2\IL на компакт-диске Менеджер хранилищ данных DB2 для NT. Чтобы установить версию менеджера каталогов данных на иврите, установите сначала английскую версию менеджера хранилищ данных DB2 для Windows NT и все необходимые для него программы на поддерживающей иврит версии Windows NT. Установив менеджер хранилищ данных DB2 для Windows NT, распакуйте (unzip) файл IL_ICM.ZIP из каталога DB2\IL в тот же каталог, где установлен менеджер хранилищ данных DB2 для Windows NT. Задайте для программы распаковки unzip правильные опции, чтобы она создала структуру каталогов, сохраненную в файле архива. После распаковки этого файла нужно изменить значение глобальной переменной среды LC_ALL с En_US на Iw_IL. Чтобы изменить это значение: 1. Откройте Панель управления Windows NT и дважды щелкните по значку Система. 2. В окне Свойства системы щелкните по закладке Среда и найдите переменную LC_ALL в разделе Системные переменные. 3. Щелкните по этой переменной, чтобы ее значение появилось в поле ввода Значение. Измените это значение с En_US на Iw_IL. 4. Нажмите кнопку Задать. 5. Закройте окно Свойства системы и Панель управления. Теперь установлена версия менеджера каталогов данных на иврите. ------------------------------------------------------------------------ 42.13 Ошибка запуска SPM SNA DB2 после загрузки Windows Если используется Microsoft SNA Server Версии 4 SP3 или более поздней, убедитесь, что после перезагрузки системы был успешно запущен SPM SNA DB2. Проверьте, нет ли в файле \sqllib\<имя экземпляра>\db2diag.log записей, подобных следующим: 2000-04-20-13.18.19.958000 Экземпляр:DB2 Узел:000 PID:291(db2syscs.exe) TID:316 Appid:нет common_communication sqlccspmconnmgr_APPC_init Проверка:19 SPM0453C Менеджер точек синхронизации не запущен, так как не запущен сервер Microsoft SNA. 2000-04-20-13.18.23.033000 Экземпляр:DB2 Узел:000 PID:291(db2syscs.exe) TID:302 Appid:нет common_communication sqlccsna_start_listen Проверка:14 DIA3001E Неудачная попытка запуска поддержка протокола "SNA SPM". 2000-04-20-13.18.23.603000 Экземпляр:DB2 Узел:000 PID:291(db2syscs.exe) TID:316 Appid:нет common_communication sqlccspmconnmgr_listener Проверка:6 DIA3103E Ошибка поддержки протокола APPC. Фраза APPC - "APPC(DISPLAY 1 BYTE)". Первичный rc - "F004". Вторичный rc - "00000000". Если в файле db2diag.log есть такие записи и их отметка времени соответствует времени последней перезагрузки, необходимо: 1. Выполнить команду db2stop. 2. Запустить службу SnaServer (если она еще не запущена). 3. Выполнить команду db2start. Вновь проверьте файл db2diag.log, чтобы убедиться, что в него больше не добавляются такие записи. ------------------------------------------------------------------------ 42.14 Требования к учетным записям для DB2 в Windows NT и Windows 2000 При установке DB2 для Windows NT или Windows 2000 программа установки создает несколько служб Windows и назначает каждой из них свою учетную запись. Для правильной работы DB2 программа установки предоставляет учетной записи, ассоциированной со службой DB2, следующие права пользователя: * Действовать как часть операционной системы * Создавать объекты маркеров * Увеличивать квоты * Регистрироваться как служба * Заменять маркер уровня процесса. Если вы хотите использовать для служб DB2 другую учетную запись, необходимо предоставить ей эти права пользователя. В дополнение к этим правам пользователя у учетной записи должен быть доступ для чтения к каталогу, в котором установлен программный продукт DB2. У учетной записи для службы Сервера администратора DB2 (службы DB2DAS00) должны быть также полномочия на запуск и остановку других служб DB2 (то есть эта учетная запись должна принадлежать к группе уполномоченных пользователей), а также полномочия DB2 SYSADM для всех экземпляров DB2, которыми управляет этот сервер. ------------------------------------------------------------------------ 42.15 Необходимость принятия всех пользовательских программ, которые будут использованы в Центре хранилищ данных (Data Warehouse Center - DWC) Если вы хотите использовать хранимую процедуру, построенную Построителем хранимых процедур DB2, в качестве пользовательской программы в Центре хранилищ данных (DWC), в эту хранимую процедуру перед оператором con.close(); необходимо вставить оператор: con.commit(); Если этот оператор не вставить, для изменений, внесенных хранимой процедурой при запуске ее из DWC, будет выполнен откат. Чтобы изменения вступили в силу в базе данных, для всех пользовательских программ в DWC необходимо явным образом выполнять принятие для всех включенных в них функций DB2, то есть в пользовательские программы необходимо добавлять оператор COMMIT. ------------------------------------------------------------------------ 42.16 Кэширование на стороне клиента в Windows NT Если пользователь пытается с использованием действительного маркера и диска совместного пользования обратиться к файлу READ PERM DB, расположенному на компьютере с сервером Windows NT, на котором установлена DB2 Datalinks, этот файл открывается правильно. Однако после этого последующие требования открытия с использованием того же элемента реально не доходят до сервера и обслуживаются из кэша на клиенте. Даже после истечения срока действия маркера содержимое файла остается видимым для пользователя, поскольку запись все еще находится в журнале. Эта ошибка не возникает, если файл расположен на рабочей станции Windows NT. Ошибка может быть исправлена путем задания нулевого значения для переменной реестра \\HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\Lanmanserver\Parameters\EnableOpLocks на сервере Windows NT. При этом любое обращение к файлу, расположенному на сервере, с рабочей станции клиента через диск совместного пользования всегда будет направляться на этот сервер, а не обслуживаться из кэша клиента. Поэтому маркер проверяется повторно для каждого запроса. Недостаток этого решения - снижение общей производительности любого доступа к файлам с сервера через диски совместного пользования. Даже при такой установке, если к файлу обращаться через отображение диска совместного пользования непосредственно на сервере, а не с какого-либо компьютера клиента, требование все равно будет обслуживаться из кэша. Поэтому истечение срока годности маркера действовать не будет. Прим.:Во всех случаях, если доступ к файлу производится локально, а не через диск совместного пользования, задание срока годности маркера и последующее его истечение будет происходить в обычном порядке. ------------------------------------------------------------------------ 42.17 Life Sciences Data Connect - Новые оболочки К Life Sciences Data Connect добавлены две новые оболочки. Одна оболочка обслуживает Documentum в AIX, а другая - Excel в Windows NT. Кроме того, оболочка для файлов с табличной структурой перенесена с AIX на Windows NT, Solaris, Linux и HP-UX. ------------------------------------------------------------------------ 42.18 Усовершенствование SQL Assist Инструмент SQL Assist теперь позволяет пользователю для объединения таблиц указывать оператор объединения, отличный от "=". Диалог Тип объединения, запускающийся после нажатия на кнопку Тип объединения на странице Объединения инструмента SQL Assist, дополнен включением в него выпадающего списка операторов объединения. Доступные операции: "=", "<>", "<", ">", "<=" и ">=". SQL Assist представляет собой инструмент, помогающий пользователю при создании простых операторов SQL. Этот инструмент доступен из Командного центра (закладка Интерактивные), Центра управления (диалоговые окна Создать производную таблицу и Создать переключатель), Построителя хранимых процедур (мастер "Вставка хранимой процедуры SQL") и из Центра хранилищ данных (шаг Процесс SQL). ------------------------------------------------------------------------ 42.19 Справка для команд BACKUP и RESTORE Информация, выводимая по команде db2 ? backup, некорректна. Вот правильный вариант: BACKUP DATABASE алиас-базы-данных [USER имя-пользователя [USING пароль]] [TABLESPACE (имя-табличного-пространства [ {,имя-табличного-пространства} ... ])] [ONLINE] [INCREMENTAL [DELTA]] [USE TSM [OPEN число-сеансов SESSIONS]] | TO кат/устр [ {,кат/устр} ... ] | LOAD имя-биб [OPEN число-сеансов SESSIONS]] [WITH число-буферов BUFFERS] [BUFFER размер-буфера] [PARALLELISM n] [WITHOUT PROMPTING] Информация, выводимая по команде db2 ? restore, некорректна. Вот правильный вариант: RESTORE DATABASE алиас-базы-данных-источника { опции-восст | CONTINUE | ABORT }"; опции-восст:"; [USER имя-пользователя [USING пароль]] [{TABLESPACE [ONLINE] |"; TABLESPACE (имя-табл-простр [ {,имя-табл-простр} ... ]) [ONLINE] |"; HISTORY FILE [ONLINE]}] [INCREMENTAL [ABORT]]"; [{USE TSM [OPEN число-сеансов SESSIONS] |"; FROM кат/устр [ {,кат/устр} ... ] | LOAD совм-биб"; [OPEN число-сеансов SESSIONS]}] [TAKEN AT дата-время] [TO каталог-назначения]"; [INTO алиас-базы-данных-назначения] [NEWLOGPATH каталог]"; [WITH число-буферов BUFFERS] [BUFFER размер-буфера]"; [DLREPORT имя-файла] [REPLACE EXISTING] [REDIRECT] [PARALLELISM n]"; [WITHOUT ROLLING FORWARD] [WITHOUT DATALINK] [WITHOUT PROMPTING]"; ------------------------------------------------------------------------ 42.20 "Менеджер хранилищ данных" следует читать как "Менеджер хранилищ данных DB2" Все словосочетания "Менеджер хранилищ данных" на экране и в документации следует читать как "Менеджер хранилищ данных DB2". ------------------------------------------------------------------------ Приложения ------------------------------------------------------------------------ Приложение A. Замечания 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 1150 Eglinton Ave. East North York, Ontario M3C 1H7 CANADA Такая информация может быть предоставлена на определенных условиях (в некоторых случаях к таким условиям может относиться оплата). Лицензированная программа, описанная в данной публикации, и все лицензированные материалы, доступные с ней, предоставляются IBM на условиях IBM Customer Agreement (Соглашения IBM с заказчиком), Международного соглашения о лицензиях на программы IBM или эквивалентного соглашения. Приведенные данные о производительности измерены в контролируемой среде. Таким образом, результаты, полученные в других операционных средах, могут существенно отличаться от них. Некоторые показатели измерены в системах разработки и нет никаких гарантий, что в общедоступных системах эти показатели будут теми же. Более того, некоторые результаты могут быть получены путем экстраполяции. Реальные результаты могут отличаться от них. Пользователи должны проверить данные для своих конкретных сред. Информация о продуктах других фирм получена от поставщиков этих продуктов, из их опубликованных объявлений или из других общедоступных источников. Фирма IBM не проверяла эти продукты и не может подтвердить точность измерений, совместимость или прочие утверждения о продуктах других фирм. Вопросы о возможностях продуктов других фирм следует направлять поставщикам этих продуктов. Все утверждения о будущих планах и намерениях IBM могут быть изменены или отменены без уведомлений, и описывают исключительно цели фирмы. Эта информация может содержать примеры данных и отчетов, иллюстрирующие типичные деловые операции. Чтобы эти примеры были правдоподобны, в них включены имена лиц, названия компаний и товаров. Все эти имена и названия вымышлены и любое их сходство с реальными именами и адресами полностью случайно. ЛИЦЕНЗИЯ НА КОПИРОВАНИЕ: Эта информация может содержать примеры прикладных программ на языках программирования, иллюстрирующих приемы программирования для различных операционных платформ. Разрешается копировать, изменять и распространять эти примеры программ в любой форме без оплаты фирме IBM для целей разработки, использования, сбыта или распространения прикладных программ, соответствующих интерфейсу прикладного программирования операционных платформ, для которых эти примера программ написаны. Эти примеры не были всесторонне проверены во всех возможных условиях. Поэтому IBM не может гарантировать их надежность, пригодность и функционирование. Каждая копия программ примеров или программ, созданных на их основе, должна содержать следующее замечание об авторских правах: (C) (название вашей фирмы) (год). Части этого кода построены на основе примеров программ IBM Corp. (C) Copyright IBM Corp. _введите год или годы_. Все права защищены. ------------------------------------------------------------------------ A.1 Товарные знаки Следующие термины (они могут быть помечены звездочкой - *) являются товарными знаками корпорации International Business Machines в Соединенных Штатах и/или в других странах: ACF/VTAM IBM AISPO IMS AIX IMS/ESA AIX/6000 LAN DistanceMVS AIXwindows MVS/ESA AnyNet MVS/XA APPN Net.Data AS/400 OS/2 BookManager OS/390 CICS OS/400 C Set++ PowerPC C/370 QBIC DATABASE 2 QMF DataHub RACF DataJoiner RISC System/6000 DataPropagator RS/6000 DataRefresher S/370 DB2 SP DB2 Connect SQL/DS DB2 Extenders SQL/400 DB2 OLAP Server System/370 DB2 Universal Database System/390 Distributed Relational SystemView Database Architecture VisualAge DRDA VM/ESA eNetwork VSE/ESA Extended Services VTAM FFST WebExplorer First Failure Support Technology WIN-OS/2 Следующие термины являются товарными знаками или зарегистрированными товарными знаками других компаний: Microsoft, Windows и Windows NT - товарные знаки или зарегистрированные товарные знаки Microsoft Corporation. Java, все товарные знаки и логотипы на основе Java и Solaris - товарные знаки Sun Microsystems, Inc. в Соединенных Штатах и/или в других странах. Tivoli и NetView - товарные знаки Tivoli Systems Inc. в Соединенных Штатах и/или других странах. UNIX - зарегистрированный товарный знак в Соединенных Штатах и в других странах, его использование лицензируется исключительно фирмой X/Open Company Limited. Названия других компаний, продуктов и услуг (они могут быть отмечены двойной звездочкой - **) могут быть товарными знаками или марками сервиса других фирм.