DB2: различия между версиями

Материал из ALT Linux Wiki
(Содержимое страницы заменено на «== DB2 — семейство программных продуктов в области управления информацией компании IBM. http://ru.wikipedia.org/wiki/DB2 == Основная статья на форуме: [https://forum.altlinux.org/index.php?topic=46165.0 Установка ibm db2 v.11.5 на Альт Линукс 10]»)
Метка: замена
Нет описания правки
Строка 4: Строка 4:


[https://forum.altlinux.org/index.php?topic=46165.0  Установка ibm db2 v.11.5 на Альт Линукс 10]
[https://forum.altlinux.org/index.php?topic=46165.0  Установка ibm db2 v.11.5 на Альт Линукс 10]
Входные данные:
# Версия IBM DB2 11.5 для Linux, автор использовал архив '''v11.5.5_linuxx64_server_dec.tar.gz''' (для партнёров), подойдёт и коммерческий архив, только после установки нужно будет поставить лицензию на софт.
# Альт 10 платформы, автор использовал серверный вариант стартового набора. Проверял работу на виртуальной машине KVM и контейнере LXC - оба варианта рабочие.
# Архитектура процессора '''x86_64''', для других архитектур перечень библиотек может отличаться, например автор для работы на POWER PC/Ubuntu ставил дополнительные библиотеки к тем, что нужны для Ubuntu на x86_64.
# IBM DB2 исторически имеет ограничения в именах(справедливо для '''username/hostname'''), имена пользователей и хоста не должны превышать '''8 символов'''.
# Установка выполняется под корневым пользователем (root).
# Статья имеет рекомендательный характер, т.к. доскональной проверки работы IBM DB2 на Альт Линукс после установки не проводилось, ''возможна частичная неработоспособность отдельных компонент'', результатом действий будет возможность работать с экземпляром БД.
# Автор не претендует на истину в последней инстанции и может ошибаться, он такой же человек, как и все. Устанавливая IBM DB2 на Альт Линукс вы принимаете все возможные риски на себя.
Изначально (официально) IBM гарантирует работоспособность DB2 на следующих дистрибутивах Linux:
# Red Hat
# Ubuntu
# SUSE
Распаковка архива:
<source lang=bash>
tar -xzvf v11.5.5_linuxx64_server_dec.tar.gz
</source>
Отправной точкой установки является проверка компонент операционной системы перед установкой - утилита db2prereqcheck.
Если ее запустить на дистрибутиве не из привилегированного списка дистрибутивов, например fedora (чем не rhel) или debian (чем не ubuntu), результат будет одинаков:
<source lang=bash>
# ./db2prereqcheck - l
=========================================================
Sun May 15 01:18:18 2022
Checking prerequisites for DB2 installation. Version "11.5.5.0". Operating system "Linux"
Validating "Linux distribution " ...
Segmentation fault
</source>
Это значит, что ваш дистрибутив Linux официально не поддерживается IBM для работы DB2.
Для примера, та же команда, выполненная на неподготовленной для IBM DB2 установки openSUSE выдаст перечень несоответствий:
<source lang=bash>
#./db2prereqcheck -l
Несоответствие требованиям для базы данных DB2 "Server" . Версия: "11.5.5.0".
Сводка невыполненных предварительных требований в текущей системе:
DBT3514W Утилите db2prereqcheck не удалось найти следующий файл 32-битной библиотеки: "/lib/libpam.so*".
DBT3514W Утилите db2prereqcheck не удалось найти следующий файл 32-битной библиотеки: "libstdc++.so.6".
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным маркером «(»
sh: -c: строка 0: `rpm -q --qf "%{NAME}\n%{VERSION}\n%{RELEASE}\n" -l (null) 2>&1 > /tmp/db2prereqcheck.14479'
Несоответствие требованиям для базы данных DB2 "Server" с возможностью pureScale . Версия: "11.5.5.0".
Сводка невыполненных предварительных требований в текущей системе:
DBT3613E Утилите db2prereqcheck не удалось проверить предварительные условия для TSA. Убедитесь, что компьютер соответствует предварительным условия
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "kernel-source".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "gcc-c++".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "cpp".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "gcc".
</source>
Для работы на Альт Линукс, автор поставил следующие компоненты:
После установки Альт Линукс - обновить компоненты системы
<source lang=bash>
apt-get update
apt-get dist-upgrade
</source>
Консольные утилиты
<source lang=bash>
apt-get install mc net-tools nano
</source>
для X авторизации (чтобы запускать GUI программы через ssh, без установки X сервера (xinit не ставил)):
<source lang=bash>
apt-get install xauth xterm
</source>
Теперь подключиться с X авторизацией, ключ -YC, не XC, иначе клавиатура в GUI работать не будет, особенности Альт Линукс.
<source lang=bash>
ssh -YC admin@10.10.10.111
</source>
Запуск xterm, если запустился, значит GUI установщик imb db2 тоже будет работать.
<source lang=bash>
xterm
</source>
Установщик ibm db2 не понимает русский язык (запускается, но в процессе установки - ломается), поэтому надо перевести пользователя root в английскую локаль:
<source lang=bash>
nano /root/.bash_profile
</source>
Вставить строки
<source lang=bash>
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
</source>
выйти и снова зайти root, проверить locale
<source lang=bash>
locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
</source>
пакеты из группы "gcc-c++"
<source lang=bash>
apt-get install gcc gcc-c++ binutils cpp
</source>
пакеты из группы "kernel-source", зависит от вашего ядра (un-def или std-def)
<source lang=bash>
apt-get install kernel-headers-un-def
</source>
пакеты из группы "sh"
<source lang=bash>
apt-get install pdksh
</source>
группа 32-битной библиотеки: "/lib/libpam.so*" и 32-битной библиотеки: "libstdc++.so.6"
<source lang=bash>
apt-get install i586-libpam0 libpam0
apt-get install libstdc++6 i586-libstdc++6
</source>
пакеты (из зависимостей при установке Ubuntu)
<source lang=bash>
apt-get install make perl m4 patch i586-libaio
</source>
пакеты зависимостей установщика
<source lang=bash>
apt-get install libXtst libXi
</source>
пакеты зависимостей db2 (без первой не работает разбор xml и не устанавливается лицензия, без второй не стартует db2)
<source lang=bash>
apt-get install libxml2 libnuma
</source>
перейти в каталог установки и запустить утилиту установки ./db2setup -f sysreq (ключ обязателен, иначе забракует не официально поддерживаемый дистрибутив Linux)
<source lang=bash>
./db2setup -f sysreq
</source>
Сам процесс установки очень прост:
#новая установка,
#серверная установка (первый пункт),
#типовая установка и согласиться с правилами ibm db2,
#задать пароли пользователям и файл ответов.
Дождаться завершения установки, должна быть фраза
'''Setup has completed successfully'''
А лог файл не должен содержать ошибок, кроме "TSAMP" (нужен для кластера).
Перезагрузиться, войти в систему пользователем '''db2inst1''' и убедиться, что экземпляр БД заработал
<source lang=bash>
db2start
05/24/2022 21:49:26 0 0 SQL1063N Команда DB2START выполнена успешно.
SQL1063N Команда DB2START выполнена успешно.
</source>
При работающем экземпляре БД открыт порт для подключения, проверка
<source lang=bash>
netstat -ntpa | grep 50000
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 :::50000 :::* LISTEN 2925/db2sysc 0
</source>
На этом всё, дальше работать с БД, как на официально поддерживаемых дистрибутивах Linux, при выявлении ошибок в работе - найти недостающие библиотеки и установить их.

Версия от 11:23, 25 мая 2022

DB2 — семейство программных продуктов в области управления информацией компании IBM. http://ru.wikipedia.org/wiki/DB2

Основная статья на форуме:

Установка ibm db2 v.11.5 на Альт Линукс 10

Входные данные:

  1. Версия IBM DB2 11.5 для Linux, автор использовал архив v11.5.5_linuxx64_server_dec.tar.gz (для партнёров), подойдёт и коммерческий архив, только после установки нужно будет поставить лицензию на софт.
  2. Альт 10 платформы, автор использовал серверный вариант стартового набора. Проверял работу на виртуальной машине KVM и контейнере LXC - оба варианта рабочие.
  3. Архитектура процессора x86_64, для других архитектур перечень библиотек может отличаться, например автор для работы на POWER PC/Ubuntu ставил дополнительные библиотеки к тем, что нужны для Ubuntu на x86_64.
  4. IBM DB2 исторически имеет ограничения в именах(справедливо для username/hostname), имена пользователей и хоста не должны превышать 8 символов.
  5. Установка выполняется под корневым пользователем (root).
  6. Статья имеет рекомендательный характер, т.к. доскональной проверки работы IBM DB2 на Альт Линукс после установки не проводилось, возможна частичная неработоспособность отдельных компонент, результатом действий будет возможность работать с экземпляром БД.
  7. Автор не претендует на истину в последней инстанции и может ошибаться, он такой же человек, как и все. Устанавливая IBM DB2 на Альт Линукс вы принимаете все возможные риски на себя.

Изначально (официально) IBM гарантирует работоспособность DB2 на следующих дистрибутивах Linux:

  1. Red Hat
  2. Ubuntu
  3. SUSE

Распаковка архива:

tar -xzvf v11.5.5_linuxx64_server_dec.tar.gz

Отправной точкой установки является проверка компонент операционной системы перед установкой - утилита db2prereqcheck.

Если ее запустить на дистрибутиве не из привилегированного списка дистрибутивов, например fedora (чем не rhel) или debian (чем не ubuntu), результат будет одинаков:

# ./db2prereqcheck - l
=========================================================
Sun May 15 01:18:18 2022
Checking prerequisites for DB2 installation. Version "11.5.5.0". Operating system "Linux"
Validating "Linux distribution " ...
Segmentation fault

Это значит, что ваш дистрибутив Linux официально не поддерживается IBM для работы DB2.

Для примера, та же команда, выполненная на неподготовленной для IBM DB2 установки openSUSE выдаст перечень несоответствий:

#./db2prereqcheck -l
Несоответствие требованиям для базы данных DB2 "Server" . Версия: "11.5.5.0".
Сводка невыполненных предварительных требований в текущей системе:
DBT3514W Утилите db2prereqcheck не удалось найти следующий файл 32-битной библиотеки: "/lib/libpam.so*".
DBT3514W Утилите db2prereqcheck не удалось найти следующий файл 32-битной библиотеки: "libstdc++.so.6".
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным маркером «(»
sh: -c: строка 0: `rpm -q --qf "%{NAME}\n%{VERSION}\n%{RELEASE}\n" -l (null) 2>&1 > /tmp/db2prereqcheck.14479'
Несоответствие требованиям для базы данных DB2 "Server" с возможностью pureScale . Версия: "11.5.5.0".
Сводка невыполненных предварительных требований в текущей системе:
DBT3613E Утилите db2prereqcheck не удалось проверить предварительные условия для TSA. Убедитесь, что компьютер соответствует предварительным условия
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "kernel-source".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "gcc-c++".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "cpp".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "gcc".

Для работы на Альт Линукс, автор поставил следующие компоненты:

После установки Альт Линукс - обновить компоненты системы

apt-get update
apt-get dist-upgrade

Консольные утилиты

apt-get install mc net-tools nano

для X авторизации (чтобы запускать GUI программы через ssh, без установки X сервера (xinit не ставил)):

apt-get install xauth xterm

Теперь подключиться с X авторизацией, ключ -YC, не XC, иначе клавиатура в GUI работать не будет, особенности Альт Линукс.

ssh -YC admin@10.10.10.111

Запуск xterm, если запустился, значит GUI установщик imb db2 тоже будет работать.

xterm

Установщик ibm db2 не понимает русский язык (запускается, но в процессе установки - ломается), поэтому надо перевести пользователя root в английскую локаль:

nano /root/.bash_profile

Вставить строки

export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"

выйти и снова зайти root, проверить locale

locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

пакеты из группы "gcc-c++"

apt-get install gcc gcc-c++ binutils cpp

пакеты из группы "kernel-source", зависит от вашего ядра (un-def или std-def)

apt-get install kernel-headers-un-def

пакеты из группы "sh"

apt-get install pdksh

группа 32-битной библиотеки: "/lib/libpam.so*" и 32-битной библиотеки: "libstdc++.so.6"

apt-get install i586-libpam0 libpam0
apt-get install libstdc++6 i586-libstdc++6

пакеты (из зависимостей при установке Ubuntu)

apt-get install make perl m4 patch i586-libaio

пакеты зависимостей установщика

apt-get install libXtst libXi

пакеты зависимостей db2 (без первой не работает разбор xml и не устанавливается лицензия, без второй не стартует db2)

apt-get install libxml2 libnuma

перейти в каталог установки и запустить утилиту установки ./db2setup -f sysreq (ключ обязателен, иначе забракует не официально поддерживаемый дистрибутив Linux)

./db2setup -f sysreq

Сам процесс установки очень прост:

  1. новая установка,
  2. серверная установка (первый пункт),
  3. типовая установка и согласиться с правилами ibm db2,
  4. задать пароли пользователям и файл ответов.

Дождаться завершения установки, должна быть фраза Setup has completed successfully

А лог файл не должен содержать ошибок, кроме "TSAMP" (нужен для кластера).

Перезагрузиться, войти в систему пользователем db2inst1 и убедиться, что экземпляр БД заработал

db2start
05/24/2022 21:49:26 0 0 SQL1063N Команда DB2START выполнена успешно.
SQL1063N Команда DB2START выполнена успешно.

При работающем экземпляре БД открыт порт для подключения, проверка

netstat -ntpa | grep 50000
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 :::50000 :::* LISTEN 2925/db2sysc 0

На этом всё, дальше работать с БД, как на официально поддерживаемых дистрибутивах Linux, при выявлении ошибок в работе - найти недостающие библиотеки и установить их.