Переименование виртуальной машины с DB2

 

Случилось несчастье – пришлось переименовать виртуальную машину на которой была запущена DB2. После этого DB2 отказалась запускаться со словами

«db2start : SQL1022C There is not enough memory available to process the command.».

С учетом свободных 6 ГБ оперативной памяти было ясно, что проблема не в ней. После некоторого гугления был найден рецепт. Тут привожу его перевод.

Изначальное виртуалка называлась пусть VM1, после переименования стала VM2 (названия естественно изменены). Что сделать чтобы чудо случилось:

В C:\Windows\system32\drivers\etc\hosts добавляем строки

127.0.0.1 VM1
127.0.0.1 VM1.company.com

где company.com – ваш домен.

Далее поиском ищем db2nodes.cfg и заменяем там VM1 на VM2, должно получиться примерно так

0 VM2 VM2 0

Далее запускаем редактор реестра (regedit) и навигируемся сюда

HKLM\Software\IBM\DB2\GLOBAL_PROFILE

Правим

DB2_ADMINGROUP "VM1\DB2ADMINS" -> "VM2\DB2ADMINS"
DB2_USERSGROUP "VM1\DB2USERS" -> "VM2\DB2USERS"
DB2SYSTEM "VM1" -> "VM2"

После этого перезагружаемся и все должно работать…

И не работает …

Надо сделать еще вот что:

$ db2extsec -r
$ db2extsec /a DB2ADMNS /u DB2USERS

После этого все заработало