Check database bugs

Started by enp, December 20, 2013, 08:42:46 AM

Previous topic - Next topic

enp

Здравствуйте!

При попытке удалить ненужные ноды и сети я получил OOM killed process 10856 (netxmsd) и необходимость запуска nxdbmgr check. Удалять пришлось много, поэтому перезапустил с ключем -f и, возможно, перестарался.

Теперь у меня есть нода, которая видна в Entire network и не видна Infrastructure Services. Как поместить ее в какой-нибудь контейнер в Infrastructure Services? Как найти все ноды без контейнеров?

Есть более неприятная проблема - две ноды с одинаковыми именами и Primary IP Address, но разными ID/GUID. В Entire network видны обе, в Infrastructure Services - только одна.

Хуже всего то, что наверняка это не все - nxdbmgr check проблему с двумя одинаковыми нодами не обнаружил и вполне мог еще что-то пропустить.

enp

Ноды без контейнеров можно найти так:


select id, name, primary_ip
from nodes inner join object_properties on id = object_id
where id not in (select object_id from container_members)


Поля guid/name/primary_ip сейчас в БД не являются уникальными, поэтому особых проблем, получается, и нет. Просто мне казалось, что в каких-то предыдущих версиях что-то из перечисленного было уникальным.