gifts2017

Установка (переустановка) сервера IBM DB2.

Опубликовал Алексей Новоселов (a-novoselov) в раздел Администрирование - Системное

Можно использовать как инструкцию. При обновлении версии платформы 1С довольно часто возникают ситуации, что текущий релиз версии сервера IBM DB2 необходимо тоже обновить. При этом не факт, что при обычной переустановке DB2 сервера и попытки обновления БД средствами DB2 база не закривеет, не распухнет и не начнет тормозить. Также можно использовать для первичной установки DB2.

Смысл в том, чтобы выгрузить базу средствами 1С, переустановить платформу и сервер, и вновь загрузить базу. При этом, если в базе раньше оставались какие-нибудь тапки от обновления конфигураций, они точно пропадут.

1. Очистка. Итак, для начала создаем копию базы данных средствами 1С Предприятия (через Конфигуратор\Администрирование). Далее отключаем все возможные регламентные задания для 1С (резервное копирование и т.д.) и останавливаем сервер 1С предприятия. Полностью сносим существующие версии DB2 и файлы баз данных, т.к. в бесплатном релизе установка "обновления" не поддерживается, только установка с нуля. Удаляем папку "C:\Program Files\1cv81\server" чтобы очистить кэш существующих баз и иметь возможность создать базу с тем-же именем, что и раньше (чтоб юзеры не пугались).

 

2. Переходим к установке. Для начала устанавливаем последний релиз пакета jre: http://www.java.com/ru/download/manual.jsp , т.к. DB2 завязана на яву. Теперь логинимся в винду под пользователем, имя которого состоит не более, чем из 8и английских букв или цифр (admin), иначе DB2 либо вообще не поставится, либо не будет нормально пускать в БД. Далее устанавливаем собственно сам DB2, там все просто, только при создании пользователя, из под которого будет запускаться сервер, не забываем про ограничение имен. Остальные настройки можно по умолчанию. После установки сервера нужно сконфигурировать его под 1С. Для этого заходим в пуск\программы\db2\инструменты командной строки\командное окно. В консоли пишем следующие команды:

db2stop [Enter]

db2set DB2_WORKLOAD=1C [Enter]

db2set DB2_CREATE_DB_ON_PATH=YES [Enter]

db2start [Enter] 

Теперь можно обновить платформу 1С. Как это сделать надеюсь догадываетесь. Единственное замечание, что при создании юзера, от имени которого будет запускаться сервер 1С не забудьте про ограничение имен и добавьте его в группу пользователей db2admns. Ну и проверьте, все ли процессы сервера 1С нормально запустились (ragent, rphost, rmngr), если какого-то процесса нет, то создаем его в консоли серверов 1С с настройками по умолчанию.

Теперь нам необходимо создать пустую базу для загрузки. Если в списке баз она есть и имя\пароль пользователя DB2 (из под которого запускается сервак) старый, то просто пытаемся зайти в режиме конфигуратора в базу. Если что-то изменилось, то меняем настройки. При входе создастся пустая база.

3. И напоследок, сделаем базу работающей стабильно. Нам нужен центр управления DB2. Для начала останавливаем сервер 1С, чтобы можно было без проблем перезапустить базу. Заходим в цуп DB2 (через значок в системном трее или через пуск). Находим в центре управления нашу базу, соединяемся и нажимаем кнопку "Запрос" в группе действий с базой. Выполняем следующий запрос:

update db cfg using APPLHEAPSZ 4096 APP_CTL_HEAP_SZ 4096 STMTHEAP 16384 logprimary 64 logsecond 128 DBHEAP 32768 logfilsiz 16384 LOCKLIST automatic immediate;
UPDATE DBM CFG USING MON_HEAP_SZ 200 FCM_NUM_BUFFERS 2048 immediate;

Не забываем после каждой ";" нажать [Enter]. После выполнения запроса перезапускаем базу (через контекстное меню). Теперь DB2 готова для работы с 1С-кой.

Снова запускаем сервер 1С, заходим через конфигуратор в нашу базу, и загружаем сохраненный ранее файл копии базы. Тут прийдется подождать, т.к. большая база может загружаться очень долго. Включаем, после загрузки, обратно все регламентные задания и, вуаля!, у нас новая платфора на новом сервере DB2.

Статья основана на материалах сайта http://www.gilev.ru/1c/81/db2/

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. larissa builova (larisab) 24.12.09 19:55
2. ZERO_ 24.12.09 21:21
Удаляем папку "C:\Program Files\1cv81\server"

А... Журнал регистрации? :o
Статья довольно интересная, структурированная.
3. Алексей Константинов (alexk-is) 25.12.09 06:55
(0) Алексей, какого органа ты выложил нашу внутреннюю инструкцию? Что происходит?
4. Алексей Новоселов (a-novoselov) 25.12.09 07:18
(3) Для вас инструкцию писал я. Здесь она написана с нуля, вчера 2 часа потратил. Статья основана на материалах: http://www.gilev.ru/1c/81/db2/ . В чем проблема?
5. Алексей Новоселов (a-novoselov) 25.12.09 07:39
(2) Если нужен журнал регистрации, можно скопировать его из папки перед удалением.
6. Андрей (boozin) 25.12.09 12:26
Спасибо за ценную информацию. как раз собираюсь заняться DB2 в новом году.
7. Сергей Соловьев (sergey_s_) 28.11.12 10:52
И напоследок, сделаем базу работающей стабильно. ... Выполняем следующий запрос:


Позвольте узнать, а что оптимизирует Ваш запрос?
8. Алексей Новоселов (a-novoselov) 28.11.12 19:48
(7) Устанавливает настройки сервера DB2 для оптимальной работы с 1С (такие как размер кучи, количество потоков и т.п.)
9. Sergiy Zhygunenko (SergiyZh) 17.08.13 17:43
и все таки этот ваш код
update db DB2ACC using APPLHEAPSZ 4096 APP_CTL_HEAP_SZ 4096 STMTHEAP 16384 logprimary 64 logsecond 128 DBHEAP 32768 logfilsiz 16384 LOCKLIST automatic immediate;
UPDATE DBM DB2ACC USING MON_HEAP_SZ 200 FCM_NUM_BUFFERS 2048 immediate;

как адаптировать его под себя?

запускаю его для бд db2 10.5 в Data Studio 4.1 и получаю
Обнаружен неправильный элемент после текста "update db ". Список возможных правильных элементов: "JOIN <joined_table>".. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.66.46

расскажите о нем побольше?
10. Максим Зиналь (zinal) 13.07.16 11:08
Небольшие корректировки:
  • Установка Oracle/Sun JRE не требуется (в пакете DB2 идёт собственная копия IBM JDK).
  • Необходимость в установке переменной DB2_CREATE_DB_ON_PATH на практике отсутствует
  • Параметр FCM_NUM_BUFFERS я бы менять не стал, в этом нет реальной необходимости
  • Параметр LOCKLIST (и связанный с ним параметр MAXLOCKS) по умолчанию установлены в AUTOMATIC, можно не трогать