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

Материал из ALT Linux Wiki
м (беглые вычитка, довикификация и категорирование)
 
(не показано 20 промежуточных версий 3 участников)
Строка 1: Строка 1:
== DB2 — семейство программных продуктов в области управления информацией компании IBM. http://ru.wikipedia.org/wiki/DB2 ==
== DB2 — семейство программных продуктов в области управления информацией компании IBM. ==
{{w | DB2}}


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


[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|мини|А таким должен быть финал установки]]


'''Так выглядит начало установки.'''
=== Входные данные ===
[[Файл:Https://avatars.mds.yandex.net/get-zen doc/4581052/pub 628d29b49a67150ff39ce995 628d2a179a5b4f10ee0820b0/scale 1200|обрамить]]
# Версия 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:
[img]https://avatars.mds.yandex.net/get-zen_doc/5231889/pub_628d29b49a67150ff39ce995_628d2a419a5b4f10ee087736/scale_1200[/img]


# Red Hat
# Ubuntu
# SUSE


Автор не претендует на истину в последней инстанции по установке ibm db2 на Альт Линукс, сама идея установки весьма сомнительна, т.к. ibm db2 такой же санкционированный продукт, как и иностранные дистрибутивы Linux.
=== Распаковка архива ===
 
Тем не менее, данная инструкция - вполне рабочий вариант установки ibm db2 на Альт Линуксе, автор проверял работу как на виртуальной машине KVM, так и в контейнере LXC - в обоих случаях экземпляр БД стартовал после запуска системы и был работоспособным.
 
Для установки автор использует архив [b]v11.5.5_linuxx64_server_dec.tar.gz[/b] , который был получен еще до известных событий, когда мы с ibm db2 были партнерами,
однако по национальному признаку автор был исключен из партнерской программы, получив письмо такого содержания:
<source lang=text>Тема: Employee successfully inactivated
Дата: Mon, 11 Apr 2022 18:46:28 +0000 (GMT)
От: ibmpsdeu@uk.ibm.com
Кому: ****
This is to notify you the employee record for Stanislav Matsak has been marked inactive in your company's IBM PartnerWorld profile.
If you have questions, please contact PartnerWorld at https://www.ibm.com/partnerworld/contact
Regards, IBM PartnerWorld
</source>
Доступ к сайту мне стал недоступен, хотя ibm продолжает присылать мне различные уведомления, из рассылки меня забыли удалить.
Архив является партнерским по программе Community Edition, содержит лицензию на безграничное пользование системой по функционалу и с некоторыми ограничениями по железу:
<source lang=text>Community Edition
CPU Up to 4, RAM 16 GB, disk (no restrictions)
</source>
Дословно выдержка с сайта ibm:
<source lang=text>
Db2 Community Edition is restricted to a maximum of 4 virtual processor cores and 16 GB of instance memory. These restrictions apply to each physical or virtual server unless they are deployed in a pureScale or DPF cluster. In these instances, the restrictions apply to the entire cluster.
The Db2 Community Edition is refreshed and updated for free at major release milestones, but does not come with enterprise-level support.
</source>
 
Изначально, ibm db2 гарантирует свою работу на трёх избранных дистрибутивах Linux:
 
# rhel (американский)
# ubuntu (английский)
# suse (немецкий)
 
 
 
Установка для этих дистрибутивов расписана на сайте ibm db2 и не вызывает каких-либо вопросов, там всё работает.
==== Распаковка архива:====
<source lang=bash>
<source lang=bash>
tar -xzvf v11.5.5_linuxx64_server_dec.tar.gz
tar -xzvf v11.5.5_linuxx64_server_dec.tar.gz
Строка 53: Строка 30:
Отправной точкой установки является проверка компонент операционной системы перед установкой - утилита db2prereqcheck.
Отправной точкой установки является проверка компонент операционной системы перед установкой - утилита db2prereqcheck.


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


<source lang=bash>
# ./db2prereqcheck - l
# ./db2prereqcheck - l
=========================================================
=========================================================
Строка 61: Строка 39:
Validating "Linux distribution " ...
Validating "Linux distribution " ...
Segmentation fault
Segmentation fault
[/code]
</source>
Обычно установка на дистрибутивах не из списка на этом и заканчивается, но автор пошел дальше.
Это значит, что ваш дистрибутив Linux официально не поддерживается IBM для работы DB2.


Автор взял за основу установку ibm db2 на openSUSE - определил, что нужно доставить в систему из набора "server" (минималистичная опция установки openSUSE).
Для примера, та же команда, выполненная на неподготовленной для IBM DB2 openSUSE выдаст перечень несоответствий:
[code]./db2prereqcheck -l
<source lang=bash>
#./db2prereqcheck -l
Несоответствие требованиям для базы данных DB2 "Server" . Версия: "11.5.5.0".
Несоответствие требованиям для базы данных DB2 "Server" . Версия: "11.5.5.0".
Сводка невыполненных предварительных требований в текущей системе:
Сводка невыполненных предварительных требований в текущей системе:
Строка 80: Строка 59:
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "cpp".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "cpp".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "gcc".
DBT3507E DBT3507E Утилите db2prereqcheck не удалось найти следующий пакет или файл: "gcc".
[/code]
</source>
Поставил, убедился что на openSUSE экземпляр БД заработал и сделал аналогичные действия на Альт Линукс.
 
=== Установка необходимых пакетов ===
После установки ОС Альт надо обновить компоненты системы
<source lang=bash>
apt-get update
apt-get dist-upgrade
</source>
 
Автор поставил следующие компоненты:
 
Консольные утилиты
<source lang=bash>
apt-get install mc net-tools nano
</source>
для авторизации в X11 (чтобы запускать GUI программы через ssh без установки X-сервера (xinit не ставил)):
<source lang=bash>
apt-get install xauth xterm
</source>


Для установки на Альт Линукс воспользовался серверной сборкой [b]alt-p10-server-systemd-20220312-x86_64.iso[/b] стартовых наборов (бесплатный для любого применения),
 
Брал здесь:
пакеты из группы "kernel-source", зависит от вашего ядра (un-def или std-def)
http://nightly.altlinux.org/p10/release/
<source lang=bash>
При установке Альт Линукс оставил выбор пакетов по умолчанию (только [b]Утилиты для диагностики[/b]) - это минимальный серверный набор пакетов.
apt-get install kernel-headers-un-def
Для LXC собирал сам по инструкции Альт Линукс, в итоге у меня получился минимальный набор пакетов
</source>
[b]lxc-systemd-networkd-20220408-x86_64.tar.gz
пакеты из группы "sh"
[/b]
<source lang=bash>
Зная приверженность ibm db2 к коротким именам [b](не более 8 символов)[/b] в именах пользователей системы и хостах, при установке выбрал короткое имя хоста db2-alt1
apt-get install pdksh
Обновил систему после установки:
</source>
[code]apt-get update
группа 32-битной библиотеки: "/lib/libpam.so*" и 32-битной библиотеки: "libstdc++.so.6"
apt-get dist-upgrade[/code]
<source lang=bash>
Далее поставил пакеты:
apt-get install i586-libpam0 libpam0
Консольные утилиты - минимальная добавка (для контейнера, в сервере это уже есть):
apt-get install libstdc++6 i586-libstdc++6
[code]apt-get install mc net-tools nano
</source>
[/code]
пакеты (из зависимостей при установке Ubuntu)
для X авторизации (чтобы запускать GUI программы через ssh, без установки X сервера (xinit не ставил)):
<source lang=bash>
[code]apt-get install xauth xterm
apt-get install make perl m4 patch i586-libaio
[/code]
</source>
Теперь подключиться с X авторизацией, ключ -YC, не XC, иначе клавиатура в GUI работать не будет, особенности Альт Линукс.
пакеты зависимостей установщика
[code]ssh -YC admin@10.10.10.111
<source lang=bash>
[/code]
apt-get install libXtst libXi
Запуск xterm, если запустился, значит GUI установщик imb db2 тоже будет работать.
</source>
[code][root@db2-alt1 ~]# xterm
пакеты зависимостей db2 (без первой не работает разбор xml и не устанавливается лицензия, без второй не стартует db2)
[/code]
<source lang=bash>
apt-get install libxml2 libnuma
</source>
пакеты из группы "gcc-c++"
<source lang=bash>
apt-get install gcc gcc-c++ binutils cpp
</source>
 
=== Подготовка к установке <ref>Все операции по установке автор делал от '''root'''</ref> ===
Теперь подключиться с X-авторизацией, ключ -YC (не -XC, иначе клавиатура в GUI работать не будет, особенности текущих версий openssh).
<source lang=bash>
ssh -YC admin@10.10.10.111
</source>
Запуск xterm; если запустился, значит, GUI-установщик ibm db2 тоже будет работать.
<source lang=bash>
xterm
</source>
Установщик ibm db2 не понимает русский язык (запускается, но в процессе установки - ломается), поэтому надо перевести пользователя root в английскую локаль:
Установщик ibm db2 не понимает русский язык (запускается, но в процессе установки - ломается), поэтому надо перевести пользователя root в английскую локаль:
[code][root@db2-alt1 ~]# nano ~/.bash_profile
<source lang=bash>
[/code]
nano /root/.bash_profile
вставить строки
</source>
[code]export LANG="en_US.UTF-8"
Вставить строки
<source lang=bash>
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
[/code]
</source>
выйти и снова зайти root, проверить locale
'''
[code][root@db2-alt1 ~]# locale
выйти и снова зайти root''', проверить locale
<source lang=bash>
locale
LANG=en_US.UTF-8
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
Строка 131: Строка 147:
LC_IDENTIFICATION="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
LC_ALL=en_US.UTF-8
[/code]
</source>
пакеты из группы "gcc-c++"
 
[code]apt-get install gcc gcc-c++ binutils cpp
=== Непосредственно установка и её проверка  ===
[/code]
 
пакеты из группы "kernel-source"
Перейти в каталог установки и запустить утилиту установки ./db2setup -f sysreq (ключ обязателен, иначе забракует не поддерживаемый официально дистрибутив Linux)
[code]apt-get install kernel-headers-un-def
<source lang=bash>
[/code]
./db2setup -f sysreq
пакеты из группы "sh"
</source>
[code]apt-get install pdksh
[/code]
32-битной библиотеки: "/lib/libpam.so*" и 32-битной библиотеки: "libstdc++.so.6"
[code]apt-get install i586-libpam0 libpam0
apt-get install libstdc++6 i586-libstdc++6
[/code]
пакеты (из зависимостей при установке Ubuntu)
[code]apt-get install make perl m4 patch i586-libaio
[/code]
пакеты зависимостей установщика
[code]apt-get install libXtst libXi[/code]
пакеты зависимостей db2 (без первой не работает разбор xml и не устанавливается лицензия, без второй не стартует db2)
[code]apt-get install libxml2 libnuma
[/code]
перейти в каталог установки и запустить утилиту установки ./db2setup -f sysreq (ключ обязателен, иначе забракует дистрибутив не из списка)
[code][root@db2-alt1 server_dec]# ./db2setup -f sysreq
[/code]
Сам процесс установки очень прост:
Сам процесс установки очень прост:
[list]
#новая установка,
[li]новая установка,[/li]
#серверная установка (первый пункт),
[li]серверная установка (первый пункт),[/li]
#типовая установка и согласиться с правилами ibm db2,
[li]типовая установка и согласиться с правилами ibm db2,[/li]
#задать пароли пользователям и файл ответов.
[li]задать пароли пользователям и файл ответов.[/li]
 
[/list]
Дождаться завершения установки, должна быть фраза
Дождаться завершения установки, должна быть фраза
[b]Setup has completed successfully
'''Setup has completed successfully'''
[/b]
 
А лог файл не должен содержать ошибок, кроме "TSAMP" (нужен для кластера).
А лог файл не должен содержать ошибок, кроме "TSAMP" (нужен для кластера).
Перезагрузиться, войти в систему пользователем db2inst1 и убедиться, что экземпляр БД заработал
 
[code][db2inst1@db2-alt1 ~]$ db2start
Перезагрузиться, войти в систему пользователем '''db2inst1''' и убедиться, что экземпляр БД заработал:
<source lang=bash>
db2start
05/24/2022 21:49:26 0 0 SQL1063N Команда DB2START выполнена успешно.
05/24/2022 21:49:26 0 0 SQL1063N Команда DB2START выполнена успешно.
SQL1063N Команда DB2START выполнена успешно.
SQL1063N Команда DB2START выполнена успешно.
[/code]
</source>
[code][db2inst1@db2-alt1 ~]$ netstat -ntpa | grep 50000
При работающем экземпляре БД открыт порт для подключения, проверка
<source lang=bash>
netstat -ntpa | grep 50000
(Not all processes could be identified, non-owned process info
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
will not be shown, you would have to be root to see it all.)
tcp 0 0 :::50000 :::* LISTEN 2925/db2sysc 0
tcp 0 0 :::50000 :::* LISTEN 2925/db2sysc 0
[/code]
Всё, ibm db2 установлен и работает на Альт Линукс.
[b]Наслаждайтесь![/b]
Ниже лог установки (для примера):
<source lang=text>
Checking license agreement acceptance :.......Success
Installing DB2 file sets :.......Success
Installing or updating DB2 HA scripts for IBM Tivoli System Automation for Multiplatforms (Tivoli SA MP) :.......Success
Executing control tasks :.......Success
Updating global registry :.......Success
Starting DB2 Fault Monitor :.......Success
Updating the db2ls and db2greg link :.......Success
Registering DB2 licenses :.......Success
Setting default global profile registry variables :.......Success
Initializing instance list :.......Success
Configuring DB2 instances :.......Success
Registering DB2 Update Service :.......Success
Updating global profile registry :.......Success
=========================================================
DB2 Setup log file started at: Tue May 24 09:29:59 PM 2022 MSK
=========================================================
Operating system information: Linux 5.10.102-std-def-alt1.#1 SMP Fri Feb 25 17:09:10 UTC 2022 x86_64
Product to install: DB2 Server Edition
Installation type: Typical
Previously Installed Components:
Selected Components:
Base client support
Java support
SQL procedures
Base server support
DB2 data source support
ODBC data source support
Teradata data source support
Scientific Data Sources
JDBC data source support
IBM Software Development Kit (SDK) for Java(TM)
DB2 LDAP support
DB2 Instance Setup wizard
Structured file data sources
Integrated Flash Copy Support
Oracle data source support
Connect support
Application data sources
SQL Server data source support
Communication support - TCP/IP
Tivoli SA MP
DB2 Update Service
Replication tools
Sample database source
Sybase data source support
Federated Data Access Support
First Steps
Guardium Installation Manager Client
Languages:
English
All Products
Target directory: /opt/ibm/db2/V11.5
Space required: 2244 MB
Install IBM Tivoli System Automation for Multiplatforms (Tivoli SA MP): Yes
New instances:
Instance name: db2inst1
Start instance on reboot: Yes
FCM port range: 60000-60005
TCP/IP configuration:
Service name: db2c_db2inst1
Port number: 50000
Instance user information:
User name: db2inst1
Group name: db2iadm1
Home directory: /home/db2inst1
Fenced user information:
User name: db2fenc1
Group name: db2fadm1
Home directory: /home/db2fenc1
Checking license agreement acceptance :.......Success
Installing: BASE_CLIENT_R
Installing: DB2_PRODUCT_MESSAGES_EN
Installing: BASE_CLIENT
Installing: JAVA_RUNTIME_SUPPORT
Installing: DB2_JAVA_HELP_EN
Installing: BASE_DB2_ENGINE_R
Installing: GSK
Installing: JAVA_SUPPORT
Installing: SQL_PROCEDURES
Installing: ICU_SUP
Installing: JAVA_COMMON_FILES
Installing: BASE_DB2_ENGINE
Installing: DB2_CONTROL_CENTER_HELP_EN
Installing: RELATIONAL_WRAPPERS_COMMON
Installing: DB2_DATA_SOURCE_SUPPORT
Installing: ODBC_DATA_SOURCE_SUPPORT
Installing: TERADATA_DATA_SOURCE_SUPPORT
Installing: DB2_PRODUCT_MESSAGES_JP
Installing: DB2_PRODUCT_MESSAGES_RU
Installing: IINR_SCIENTIFIC_WRAPPER
Installing: JDBC_DATA_SOURCE_SUPPORT
Installing: JDK
Installing: LDAP_EXPLOITATION
Installing: INSTANCE_SETUP_SUPPORT
Installing: IINR_STRUCTURED_FILES_WRAPPER
Installing: ACS
Installing: DB2_PRODUCT_MESSAGES_DE
Installing: DB2_PRODUCT_MESSAGES_BR
Installing: ORACLE_DATA_SOURCE_SUPPORT
Installing: DB2_PRODUCT_MESSAGES_TW
Installing: CONNECT_SUPPORT
Installing: IINR_APPLICATIONS_WRAPPER
Installing: DB2_PRODUCT_MESSAGES_KR
Installing: SQL_SERVER_DATA_SOURCE_SUPPORT
Installing: COMMUNICATION_SUPPORT_TCPIP
Installing: TSAMP
WARNING: DBI20105E An error occurred while installing the following file set:
"TSAMP". Because these files were not successfully installed, functionality
that depends on these files might not work as expected.
Installing: DB2_PRODUCT_MESSAGES_ES
Installing: DB2_UPDATE_SERVICE
Installing: DATABASE_PARTITIONING_SUPPORT
Installing: EDB
Installing: REPL_CLIENT
Installing: DB2_PRODUCT_MESSAGES_PL
Installing: DB2_PRODUCT_MESSAGES_IT
Installing: DB2_SAMPLE_DATABASE
Installing: ITLM
Installing: DB2_PRODUCT_MESSAGES_CN
Installing: CLPPLUS
Installing: DB2_PRODUCT_MESSAGES_CZ
Installing: DB2_PRODUCT_MESSAGES_FR
Installing: SYBASE_DATA_SOURCE_SUPPORT
Installing: DB2_CONTROL_CENTER_HELP_IT
Installing: DB2_CONTROL_CENTER_HELP_FR
Installing: DB2_CONTROL_CENTER_HELP_KR
Installing: DB2_CONTROL_CENTER_HELP_BR
Installing: DB2_CONTROL_CENTER_HELP_JP
Installing: DB2_CONTROL_CENTER_HELP_TW
Installing: FED_DATA_SOURCE_SUPPORT
Installing: FIRST_STEPS
Installing: DB2_CONTROL_CENTER_HELP_RU
Installing: DB2_CONTROL_CENTER_HELP_CN
Installing: DB2_CONTROL_CENTER_HELP_DE
Installing: ESE_PRODUCT_SIGNATURE
Installing: DB2_CONTROL_CENTER_HELP_ES
Installing: DB2_CONTROL_CENTER_HELP_PL
Installing: DB2_CONTROL_CENTER_HELP_CZ
Installing: GUARDIUM_INST_MNGR_CLIENT
Installing DB2 file sets :.......Success
DBI1514I The DB2 High Availability (HA) scripts for the IBM Tivoli
System Automation for Multiplatforms (SA MP) were successfully installed.
Explanation:
You need DB2 HA scripts to use SA MP with the DB2 HA feature.
These DB2 HA scripts are located at /usr/sbin/rsct/sapolicies/db2. The
database product installer detects whether these DB2 HA scripts need to
be installed or updated.
User response:
No action is required.
Installing or updating DB2 HA scripts for IBM Tivoli System Automation for Multiplatforms (Tivoli SA MP) :.......Success
Executing control tasks :.......Success
Updating global registry :.......Success
Starting DB2 Fault Monitor :.......Success
Updating the db2ls and db2greg link :.......Success
Registering DB2 licenses :.......Success
Setting default global profile registry variables :.......Success
Initializing instance list :.......Success
The instance "db2inst1" has been created successfully.
The value "SVCENAME=db2c_db2inst1" was set in the DBM CFG file for the
"db2inst1" instance.
The value "DB2AUTOSTART=YES" was set in the Profile Registry for the "db2inst1"
instance.
Configuring DB2 instances :.......Success
Registering DB2 Update Service :.......Success
Updating global profile registry :.......Success
</source>
</source>


== Ошибки при установке ==
=== Итог ===
 
На этом всё, дальше работать с БД, как на официально поддерживаемых дистрибутивах Linux, при выявлении ошибок в работе - найти недостающие библиотеки и установить их.
При получении ошибки установки вида
 
Can't use string to find the version of libstdc++
 
необходимо [[Управление пакетами|доустановить]] пакет '''binutils'''


[[Category:Enterprise Software]]
[[Категория:HOWTO]]
{{Category navigation|title=ПО уровня предприятия|category=Enterprise Software|sortkey={{SUBPAGENAME}}}}

Текущая версия от 18:17, 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

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

apt-get install xauth xterm


пакеты из группы "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

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

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

Подготовка к установке [1]

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

ssh -YC admin@10.10.10.111

Запуск xterm; если запустился, значит, GUI-установщик ibm 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

Непосредственно установка и её проверка

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

  1. Все операции по установке автор делал от root