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

Материал из ALT Linux Wiki
Нет описания правки
Строка 5: Строка 5:


[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]
[[Файл:Снимок экрана 2022-05-24 21-30-47.png|мини|Начало установки]]
[[Файл:Снимок экрана 2022-05-24 21-40-42.png|мини|А таким должен быть финал установки]]


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


Для примера, та же команда, выполненная на неподготовленной для IBM DB2 установки openSUSE выдаст перечень несоответствий:
Для примера, та же команда, выполненная на неподготовленной для IBM DB2 openSUSE выдаст перечень несоответствий:
<source lang=bash>
<source lang=bash>
#./db2prereqcheck -l
#./db2prereqcheck -l

Версия от 14:40, 25 мая 2022

DB2 — семейство программных продуктов в области управления информацией компании IBM.

Логотип Википедии
В Википедии есть обзорная статья по теме « 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, при выявлении ошибок в работе - найти недостающие библиотеки и установить их.