Экземпляр — это логическая среда для менеджера баз данных DB2. Используя экземпляр, вы можете управлять базами данных. В зависимости от наших требований вы можете создать несколько экземпляров на одном физическом компьютере. Содержимое каталога Instance:
- Файл конфигурации менеджера баз данных
- Системный каталог баз данных
- Каталог узлов
- Файл конфигурации узла [db2nodes.cfg]
- Отладка файлов, дамп файлов
Для сервера баз данных DB2 экземпляром по умолчанию является «DB2». Изменить каталог Instance после его создания невозможно. Экземпляр может управлять несколькими базами данных. В каждом случае каждая база данных имеет уникальное имя, собственный набор таблиц каталога, файлы конфигурации, права доступа и привилегии.
Архитектура экземпляра в продукте DB2
Несколько экземпляров
Вы можете создать несколько экземпляров в одном DB2Server в Linux, UNIX и Windows. Можно установить несколько серверов DB2Server на физический компьютер.
Создание экземпляра в Linux
Вы можете создать несколько экземпляров в Linux и UNIX, если сервер DB2 установлен от имени пользователя root. Экземпляр может работать одновременно в Linux и UNIX независимо. Вы можете одновременно работать с одним экземпляром менеджера баз данных.
Папка Instance содержит файлы конфигурации и папки базы данных. Каталог Instance хранится в разных местах Windows, в зависимости от версии операционной системы.
Перечисление экземпляров
Следующая команда используется для перечисления экземпляров:
db2ilist
Эта команда перечисляет все экземпляры, которые доступны в системе.
Синтаксис:
db2ilist
Пример: [Чтобы увидеть, сколько экземпляров создано в копии DB2]
db2ilist
Выход:
db2inst1
db2inst2
db2inst3
Команды среды экземпляра
Эти команды полезны для работы с расположением экземпляров в CLI DB2.
Получить экземпляр
Эта команда показывает подробности текущего запущенного экземпляра.
Синтаксис:
db2 get instance
Пример: [Чтобы увидеть текущий экземпляр, который активировал текущего пользователя]
db2 get instance
Выход:
The current database manager instance is : db2inst1
Установить экземпляр
Чтобы запустить или остановить менеджер базы данных экземпляра в DB2 UDB, для текущего экземпляра выполняется следующая команда.
Синтаксис:
set db2instance=<instance_name>
Пример: [Организация среды «db2inst1» для текущего пользователя]
set db2instance=db2inst1
db2start
Используя эту команду, вы можете запустить экземпляр. Перед этим вам нужно запустить «установить экземпляр».
Синтаксис:
db2start
Пример: [Чтобы запустить экземпляр]
db2start
Выход:
SQL1063N DB2START processing was successful
db2stop
С помощью этой команды вы можете остановить работающий экземпляр.
Синтаксис:
db2stop
Выход:
SQL1064N DB2STOP processing was successful.
Создание экземпляра
Давайте посмотрим, как создать новый экземпляр.
db2icrt
Если вы хотите создать новый экземпляр, вам нужно войти в систему как root. Идентификатор экземпляра не является корневым идентификатором или корневым именем.
Вот шаги для создания нового экземпляра:
Шаг 1 : Создайте пользователя операционной системы, например.
Синтаксис:
useradd -u <ID> -g <group name> -m -d <user location> <user name> -p <password>
Пример : [Создать пользователя, например, с именем ‘db2inst2’ в группе ‘db2iadm1’ и паролем ‘db2inst2’]
useradd -u 1000 -g db2iadm1 -m -d /home/db2inst2 db2inst2 -p db2inst2
Шаг 2. Перейдите в каталог экземпляра DB2 в корневом пользователе, чтобы создать новый экземпляр.
Место нахождения:
cd /opt/ibm/db2/v10.1/instance
Шаг 3. Создайте экземпляр, используя следующий синтаксис:
Синтаксис:
./db2icrt -s ese -u <inst id> <instance name>
Пример : [Чтобы создать новый экземпляр ‘db2inst2’ в пользователе ‘db2inst2’ с функциями ‘ESE’ (Enterprise Server Edition)]
./db2icrt -s ese -u db2inst2 db2inst2
Выход:
DBI1446I The db2icrt command is running, please wait. …. ….. DBI1070I Program db2icrt completed successfully.
Организация порта связи и хоста для экземпляра
Отредактируйте файл / etc / services и добавьте номер порта. В приведенном ниже синтаксисе «имя_экземпляра» указывает имя экземпляра, а «имя_экземпляра» указывает номер порта экземпляра.
Синтаксис:
db2c_<inst name> <inst_port>/tcp
Пример : [Добавление номера порта «50001 / tcp» для экземпляра «db2inst2» с переменной «db2c_db2inst2» в файле «services»]
db2c_db2inst2 50001/tcp
Синтаксис 1 : [Обновить конфигурацию менеджера баз данных с помощью имени службы. Следующий синтаксис ‘svcename’ указывает имя службы экземпляра, а ‘имя_экземпляра’ указывает имя экземпляра]
db2 update database manager configuration using svcename db2c_&<inst_name>
Пример 1 : [Обновление конфигурации DBM с помощью переменной svcename со значением ‘db2c_db2inst2’, например, ‘db2inst2’
db2 update database manager configuration using svcename db2c_db2inst2
Выход
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
Синтаксис 2 : установить протокол связи «tcpip» для текущего экземпляра
db2set DB2COMM=tcpip
Синтаксис 3 : [Остановка и запуск текущего экземпляра для получения обновленных значений из конфигурации менеджера баз данных]
db2stop
db2start
Обновление экземпляра
Вы можете обновить экземпляр, используя следующую команду:
db2iupdt
Эта команда используется для обновления экземпляра в том же выпуске версии. Перед выполнением этой команды необходимо остановить менеджер базы данных экземпляра с помощью команды «db2stop». Синтаксис ниже «имя_экземпляра» указывает имя ранее выпущенного или установленного экземпляра сервера db2, которое вы хотите обновить до более новой версии или установленной версии сервера db2.
Синтаксис 1 : обновить экземпляр в обычном режиме
db2iupdt <inst_name>
Example1:
./db2iupdt db2inst2
Синтаксис 2 : обновить экземпляр в режиме отладки
db2iupdt -D <inst_name>
пример
db2iupdt -D db2inst2
Обновление экземпляра
Вы можете обновить экземпляр с предыдущей версии копии DB2 до текущей вновь установленной версии копии DB2.
db2iupgrade
В системе Linux или UNIX эта команда находится в каталоге DB2DIR / instance. В следующих синтаксисах «имя_экземпляра» указывает на предыдущую версию экземпляра DB2, а «имя_экземпляра» указывает на текущую установленную версию пользователя экземпляра копии DB2.
Синтаксис 2 :
db2iupgrade -d -k -u <inst_username> <inst_name>
Пример :
db2iupgrade -d -k -u db2inst2 db2inst2
Параметры команды:
-d : включает режим отладки.
-k : Сохраняет тип экземпляра перед обновлением, если он поддерживается в копии DB2, откуда вы запускаете эту команду.
Если вы используете Super User (su) в Linux для команды db2iupgrade, вы должны выполнить команду «su» с опцией «-».
Отбрасывание экземпляра
Вы можете удалить или удалить экземпляр, который был создан командой «db2icrt».
db2idrop
В операционной системе Linux и UNIX эта команда находится в каталоге DB2_installation_folder / instance.
Синтаксис : [в следующем синтаксисе «inst_username» указывает имя пользователя экземпляра, а «inst_name» указывает имя экземпляра]
db2idrop -u <inst_username> <inst_name>
Пример : [Чтобы удалить db2inst2]
./db2idrop -u db2inst2 db2inst2
Использование других команд с экземпляром
Команда, чтобы узнать, с каким экземпляром DB2 мы работаем сейчас.
Синтаксис 1 : [проверить текущий экземпляр, активированный менеджером баз данных]
db2 get instance
Выход:
The current database manager instance is: db2inst1
Синтаксис 2 : [Чтобы увидеть текущий экземпляр с рабочими битами и версией выпуска]
db2pd -inst | head -2
Пример:
db2pd -inst | head -2
Выход:
Instance db2inst1 uses 64 bits and DB2 code release SQL10010
Синтаксис 3 : [Чтобы проверить имя работающего в данный момент экземпляра]
db2 select inst_name from sysibmadm.env_inst_info
Пример:
db2 select inst_name from sysibmadm.env_inst_info
Выход:
INST_NAME -------------------------------------- db2inst1 1 record(s) selected.
Синтаксис : [Чтобы установить новый экземпляр по умолчанию]
db2set db2instdef=<inst_name> -g
Пример : [Для массива вновь созданного экземпляра как экземпляра по умолчанию]