Учебники

DB2 — экземпляр

Экземпляр — это логическая среда для менеджера баз данных DB2. Используя экземпляр, вы можете управлять базами данных. В зависимости от наших требований вы можете создать несколько экземпляров на одном физическом компьютере. Содержимое каталога Instance:

  • Файл конфигурации менеджера баз данных
  • Системный каталог баз данных
  • Каталог узлов
  • Файл конфигурации узла [db2nodes.cfg]
  • Отладка файлов, дамп файлов

Для сервера баз данных DB2 экземпляром по умолчанию является «DB2». Изменить каталог Instance после его создания невозможно. Экземпляр может управлять несколькими базами данных. В каждом случае каждая база данных имеет уникальное имя, собственный набор таблиц каталога, файлы конфигурации, права доступа и привилегии.

Архитектура экземпляра в продукте DB2

db2_product

Несколько экземпляров

Вы можете создать несколько экземпляров в одном 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   

Пример : [Для массива вновь созданного экземпляра как экземпляра по умолчанию]