lock manager out of room

Администирование клиентской и серверной части InterBase, Firebird, Yaffil. Настройка файла конфигурации и т.п.

Модераторы: kdv, Alexey Kovyazin

Ответить
Naidenov
Сообщения: 59
Зарегистрирован: 18 янв 2005, 17:38

lock manager out of room

Сообщение Naidenov » 03 фев 2006, 12:32

Здравствуйте.
В процессе восстановления БД возникла ошибка lock manager out of room. Причем в лог-файл gbak отписался о успешном восстановлении практически всех объектов (не были восстановлены только 2 внешних ключа), но в IBExpert виден только десяток генераторов да и только. В чём причина появления этой ошибки?
БД восстанавливалась локально. ОС Win 2000 SP4; NTFS;
Server: FB Super 1.5.2.4731
DataBase: 6 Gb

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 04 фев 2006, 00:47

Увеличить LockMemSize в конфиге?

Naidenov
Сообщения: 59
Зарегистрирован: 18 янв 2005, 17:38

Сообщение Naidenov » 06 фев 2006, 13:50

Чуть раньше уже кто-то обращался с подобной проблемой и именно ты давал аналогичные советы.
dimitr писал(а):Увеличить LockMemSize в конфиге?
Я этот топик прочел. Только там ничего конкретного не говориться именно о ПРИЧИНАХ возникновения такой ситуации. К тому же, очень хотелось бы хотя бы ориентировочно понимать как выставлять значение параметра LockMemSize в зависимости от размера БД. Поэтому, собственно, повторно и написал о проблеме!

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 06 фев 2006, 14:39

Причина проста - не хватает памяти для лок-таблицы. Однако, на винде такого быть при нормальных условиях не должно, т.к. сервер должен сам расширять лок-таблицу при необходимости. Кроме того, суперсервер не использует блокировки страниц, так что такая проблема обычно удел классика. Вывод - одному богу известно, с чем это связано. Скорее всего, баг в коде лок-менеджера.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 06 фев 2006, 14:45

dimitr писал(а):Причина проста - не хватает памяти для лок-таблицы. Однако, на винде такого быть при нормальных условиях не должно, т.к. сервер должен сам расширять лок-таблицу при необходимости.
Не в интересах правды, а в интересах истины. В конфиге в комментариях сказано, что расширяет только классика. И, помнится, я к тебе когда-то тоже приставал насчёт формулки расчёта, чтоб не влиять с выделением 10 раз по чайной ложке на быстродействие в процессе, а отстегнуть примерно сколько нужно сразу. И ты даже мне её сказал, а я потом забыл :)

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 06 фев 2006, 18:12

Да, супер не расширяет. Но в нем и локов на порядок меньше. А для классика формула проста: <кол-во страниц базы> * <кол-во коннектов> * 100 байт.

Ответить