powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Зависание Firebird на базе 50 МБ
102 сообщений из 102, показаны все 5 страниц
Зависание Firebird на базе 50 МБ
    #39669016
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Firebird 2.5. CentOS 7.

База работала года 2 без проблем. Клиентов человек 10 работающих одновременно.
Размер базы смешной, но уже 2-3 день зависает, загружает процессор на 100%.
Пока не выяснил в чем дело, но заметил что размер базы достигает ровно 50 МБ.
Ни переустановка сервера, ничего не помогает. Помогает только восстановление базы из бэкапа. При этом размер базы немного не доходит до 50 МБ. В течении дня видимо набивают данными, и вот уже 3й день подряд виснет.

Вот собственно хотел уточнить, нет ли каких либо ограничений на такой смешной размер базы?) Или кол-ву подключений (бывает что у некоторых клиент подвисает, они задачу не снимают, а откроют его еще раз 5).
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669022
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

таких ограничений нет. База данных в 50 Гб и примерно 50 подключений не виснет у меня.
Возможно что-то не так с настройками. Что происходит когда база виснет, не уходит ли сервак в своп, что с дисковой. Сними статистику с базы в момент подвисания gstat -h
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669023
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
03.07.2018 17:24, offsites пишет:
>
> База работала года 2 без проблем.

есть мнение, и не только моё (С),
что автор базы таки ТС
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669027
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

и?

Про ограничения Firebird я знаю. Но с чего-то надо начать разбираться.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669029
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисСними статистику с базы в момент подвисания gstat -hИ с security2.fdb тоже
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669030
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

сам сервер работает, не смотря на загрузку процессора. С дисками тоже все ок. fbserver Загружает только процессор на 100%. При этом база больше не отвечает, висит и все. Перезапуск служб не помогает. При первом же коннекте снова загружает процессор. Переустанавливал Firebird, не помогло.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669032
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, тут программист нужен. (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669033
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

забыл про этот файлик, при переустановке firebird он его затер. Восстанавливал пользователей. Кстати сам файл как пишут в /opt/firebird/security2.fdb я не нашел. Да и вообще поиском нигде не нашел. Но он работает, т.к. пользователи авторизуются.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669035
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

ну, я видимо должен покраснеть от стыда. Я этот самый программист. И базу я делал, и клиента.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669037
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

какая точная версия Firebird ?
Что в firebird.log ?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669038
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesПереустанавливал Firebird, не помогло.

Вот так вот сходу... А 'gfix -v -full' сделать мешает что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669039
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

ну мы таки ждём статистику твоей БД, security2.fdb и изменённые настройки в firebird.conf.
Ну и скажу точную версию Firebird 2.5 до третьей цифры
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669040
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
03.07.2018 17:45, offsites пишет:
> Я этот самый программист. И базу я делал, и клиента.

я это знаю.
что базу делал ты.
но программист таки нужен.

ждём gstat -h
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669041
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesя видимо должен покраснеть от стыда.

Это было бы неплохо: прилив крови к голове обычно улучшает жизнедеятельность мозга.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669045
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

ну и заодно, не используются ли хитрые триггеры на подключение и старт транзакции?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669047
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
03.07.2018 17:53, Симонов Денис пишет:
>
> ну и заодно, не используются ли хитрые триггеры на подключение и старт транзакции?

и это после тех робких шагов автора, которые мы тут в течение трех лет наблюдали...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669048
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Firebird 2.5.7.27050

Триггер на коннект/дисконнект - сохраняет данные о том кто вошел/вышел.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669049
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

Я не тот программист который обложен книгами и в толстенных очках с задернутыми шторами. Есть и другая работа. Это можно воспринимать как хобби. Учиться никогда не поздно. Складывается мнение что ты сможешь мне помочь только если я прочту все что знаешь ты.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669051
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
03.07.2018 17:58, offsites пишет:
> Складывается мнение что ты сможешь мне помочь только если я прочту все что знаешь ты.

в этом случае тебе помощь скорее всего не понадобится.

так мы увидим хидер, или нет?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669052
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesЯ не тот программист который обложен книгами и в толстенных очках с задернутыми шторами.

И ты именно поэтому напрочь игнорируешь сообщения с незнакомыми буквами 'gstat' и 'gfix'?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669053
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

я не игнорирую, я пытаюсь придумать как восстановленную базу из бэкапа "зависнуть" чтобы логи были полезны, причем в рабочий день, когда юзеры за любой простой будут материться.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669056
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и пока я думаю...

может кто нибудь попутно ответит еще на такой вопрос, ГДЕ ФАЙЛЫ?))) секурити2.фдб и файрберд.лог, местоположение которых указано в документации, и почему я их не могу найти поиском? Почему они не на своих местах? Почему в каталоге /opt нет всего того что мне обещали?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669058
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesя не игнорирую, я пытаюсь придумать как восстановленную базу из бэкапа "зависнуть" чтобы
логи были полезны, причем в рабочий день, когда юзеры за любой простой будут материться.

Не надо пытаться базу "зависнуть". Проверяй на ошибки и получай заголовок именно той базы,
которая сейчас крутится на продакшене.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669060
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesГДЕ ФАЙЛЫ?))) секурити2.фдб и файрберд.лог, местоположение которых указано в документации, и почему я их не могу найти поиском? Почему они не на своих местах? Почему в каталоге /opt нет всего того что мне обещали?Спрашивай мейнтейнера CentOS 7
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669061
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

я ставил систему. Нужна была ось - установил. Настроил по ходу необходимости. Это не значит что я как рыба в воде в linux. Но все равно я уверен что если файл работает, значит он есть)
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669064
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesЭто не значит что я как рыба в воде в linux.

Покрасней ещё раз, чтобы в мозг забралась простая мысль: менеджер пакетов любого
современного линукса способен вывести список файлов в пакете с их расположением.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669079
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

спасибо, все нашлось)

Firebird.log с момента падения сегодня:

localhost.localdomain (Server) Tue Jul 3 16:23:29 2018
INET/inet_error: read errno = 104


localhost.localdomain (Server) Tue Jul 3 16:27:32 2018
Shutting down the server with 25 active connection(s) to 1 database(s), 0 active service(s)


localhost.localdomain (Client) Tue Jul 3 16:27:35 2018
/usr/sbin/fbguard: /usr/sbin/fbserver killed (did not terminate)



localhost.localdomain (Client) Tue Jul 3 16:28:16 2018
/usr/sbin/fbguard: guardian starting /usr/sbin/fbserver



localhost.localdomain (Server) Tue Jul 3 16:30:07 2018
INET/inet_error: read errno = 104


localhost.localdomain (Server) Tue Jul 3 16:30:14 2018
INET/inet_error: read errno = 104


localhost.localdomain (Server) Tue Jul 3 16:30:22 2018
INET/inet_error: read errno = 104


localhost.localdomain (Server) Tue Jul 3 16:30:32 2018
Shutting down the server with 5 active connection(s) to 1 database(s), 0 active service(s)


localhost.localdomain (Client) Tue Jul 3 16:30:32 2018
/usr/sbin/fbguard: /usr/sbin/fbserver terminated



localhost.localdomain (Client) Tue Jul 3 16:30:44 2018
/usr/sbin/fbguard: guardian starting /usr/sbin/fbserver



localhost.localdomain (Server) Tue Jul 3 16:33:02 2018
Shutting down the server with 1 active connection(s) to 1 database(s), 0 active service(s)


localhost.localdomain (Client) Tue Jul 3 16:33:02 2018
/usr/sbin/fbguard: /usr/sbin/fbserver terminated



localhost.localdomain (Client) Tue Jul 3 16:33:42 2018
INET/inet_error: connect errno = 111


localhost.localdomain (Client) Tue Jul 3 16:33:44 2018
INET/inet_error: connect errno = 111


localhost.localdomain (Client) Tue Jul 3 16:33:59 2018
/usr/sbin/fbguard: guardian starting /usr/sbin/fbserver



localhost.localdomain (Server) Tue Jul 3 16:36:19 2018
Shutting down the server with 1 active connection(s) to 1 database(s), 0 active service(s)


localhost.localdomain (Client) Tue Jul 3 16:36:19 2018
/usr/sbin/fbguard: /usr/sbin/fbserver terminated



localhost.localdomain (Client) Tue Jul 3 16:36:20 2018
/usr/sbin/fbguard: guardian starting /usr/sbin/fbserver



localhost.localdomain (Server) Tue Jul 3 16:40:33 2018
Shutting down the server with 1 active connection(s) to 1 database(s), 0 active service(s)


localhost.localdomain (Client) Tue Jul 3 16:40:33 2018
/usr/sbin/fbguard: /usr/sbin/fbserver terminated



localhost.localdomain (Client) Tue Jul 3 16:40:59 2018
INET/inet_error: connect errno = 111


localhost.localdomain (Client) Tue Jul 3 16:40:59 2018
INET/inet_error: connect errno = 111


localhost.localdomain (Client) Tue Jul 3 16:41:16 2018
/usr/sbin/fbguard: guardian starting /usr/sbin/fbserver



localhost.localdomain (Server) Tue Jul 3 16:43:05 2018
Shutting down the server with 1 active connection(s) to 1 database(s), 0 active service(s)


localhost.localdomain (Client) Tue Jul 3 16:43:05 2018
/usr/sbin/fbguard: /usr/sbin/fbserver terminated



localhost.localdomain (Client) Tue Jul 3 16:43:05 2018
/usr/sbin/fbguard: guardian starting /usr/sbin/fbserver



localhost.localdomain (Server) Tue Jul 3 16:48:11 2018
INET/inet_error: read errno = 104


localhost.localdomain (Server) Tue Jul 3 16:49:11 2018
INET/inet_error: read errno = 104

...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669082
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шо ж вы ему и вздохнуть то не даёте?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669086
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю что в этом логе ничего полезного нет? Видно только как я останавливал-запускал firebird. Значит ли это что с самим Firebird все в порядке?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669087
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesЗначит ли это что с самим Firebird все в порядке?

Это значит, что ты gfix не запускал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669091
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

gfix -v -full ...

выдает:

bad parameters on attach or create database
-secondary server attachments cannot validate databases

Я правильно понимаю, что gfix нужно будет повторить когда все пользователи разойдутся домой?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669123
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользователи ушли. Запустил gfix еще раз. Он отработал без всяких предупреждений. При этом в firebird.log ничего записано небыло.

Это значит что в базе ошибок нет и восстанавливать ее не нужно? Куда тогда дальше копать?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669131
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подменил базу, сделал активной базу которая глюканула.
Нашел 1 ошибку. Показал в какой таблице.

gfix -mend -full -ignore

поправить не смог.

Попробовал сделать bak файл для последующего восстановления:

gbak -b -v -ig -g

Но только он он начинает работать с базой, тут же загружается процессор на 100% и все, только убивать процесс.
Как восстановить такую битую таблицу, если он не дает с ней работать.
Или можно ли как нибудь более детально чем в логах понять что конкретно в таблице глюкануло (может процедуру посмотреть можно)), а то не ясно что там править чтобы не глючило.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669132
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

т.е. ошибку ты нам показать не хочешь?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669133
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, хочу, сам только что смотрел что значит:

Relation has X orphan backversions (0 in use) in table Y

Y - моя таблица. Я так понял что это типа ничего страшного, судя по документации. Типа просто предупреждение. Ну тогда получается что проблема зависания таки не найдена.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669134
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

а где статистика gstat -h
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669136
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Database "/opt/db/MYDB.FDB"
Database header page information:
Flags 0
Checksum 12345
Generation 2085
Page size 16384
ODS version 11.2
Oldest transaction 1485
Oldest active 2059
Oldest snapshot 2059
Next transaction 2059
Bumped transaction 1
Sequence number 0
Next attachment ID 215
Implementation ID 24
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Jul 3, 2018 2:10:58
Attributes force write

Variable header data:
Sweep interval: 20000
*END*
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669146
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

вывод gfix скорее всего результат терминирования.

из мистических вариантов
- ресторенная база все-время попадает на одно и то же битое место диска, как только переходит за 50мб, то каюк.
- какая-то проблема с сетью, процесс фб виснет из-за проблем с сетью
- какая-то проблема с оборудованием (железом)
- какая-то проблема с операционкой

в общем, куча вариантов. Могу предложить идиотский тест - создать пустую базу, в ней 1 таблицу с 2 столбцами - инт и строка, первый - ПК. И через IBExpert залить тест дата генератором мегабайт сто. Потом сделать б-р, сделать пару селектов.
Если 100мб база переживет эксперимент, значит что-то не так с исходной базой. Если не переживет на этапе пресловутых 50мб, значит проблема в железе и ОС.

точную версию ФБ мы вроде так и не увидели - 2.5.что?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669153
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

Я назвал: 2.5.7

Если есть бэдблоки и база 100 МБ будет работать, это не гарантия того что она в них попадет/не попадет. В любом случае, я так понимаю, проблема не в базе. Меня эта версия пока устроит, т.к. чтобы время не терять в поисках причин, настраиваю сервак на резервном железе. Завтра туда залью базу, и посмотрю что станет.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669161
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

это статистика какой БД ?
И где статистика security2.fdb ?

И на кой чёрт прятать информацию от тех, кого сам спрашиваешь ?offsitesRelation has X orphan backversions (0 in use) in table YX - это сколько ?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669292
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотреть в /var/log/messages насчёт упоминаний firebird. Дисковые проблемы там отобразятся, если глюк связан с проблемами чтения диска.

Опять же, в момент зависания полезно полазить в /proc/<PID> и понять, что происходит с процессом firebird.
Тут уже админ нужен, но полезное можно почитать, например тут:
https://habr.com/post/209446/

Я б мог грешить на начавшийся sweep (интервал в 20000 транзакций вижу), но нет в логе упоминаний, а были бы.

И для 10 пользователей на FB 2.5.7 я б, кстати, классик рекомендовал, а не суперсервер. Как вариант - просто для проверки. Вдруг виноват какой-то запрос. Тогда зависнет только конкретный пользователь, его породивший (ожидающий выполнения). И можно будет снять с базы gstat -h в момент "зависания" этого пользователя.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669296
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

да вроде для базы в 50 Мб свип это такая мелочь.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669299
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки да. Потому я лишь и упоминаю, что "могло бы". Но это всяко не свип.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669340
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aЯ б мог грешить на начавшийся sweep (интервал в 20000 транзакций вижу)
а то, что там всего 2 тысячи транзакций, ты не видишь? какой еще свип??? :-)
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669344
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,
Впрочем, таки просто ещё один камешек в сторону того, что это не свип. Вижу, конечно. И сам по себе он бы не уменьшился - разрыв. Точно не свип. Это что-то другое.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669352
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

кстати свип мог быть в security.fdb ну и другие неприятности. Про security нам ТС так ничего и не сказал. Впрочем по его заявлению он заменял этот файл при переустановке.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669668
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем все совсем плохо(
На новом железе вчера поставил заново fbserver, сегодня отработала бэкапная база 5 часов и снова те же грабли. Т.е. железо точно ни при чем. Остается только сама база. Пользователя конкретного тоже исключаю, т.к. работа сменная, 3 дня подряд один и тот же юзер не логинится.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669670
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

походу база очень интересно спроектирована. Либо мегакосяк с настройками
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669671
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю может есть смысл посмотреть кол-во записей в этой небольшой базе, автоинкрементные значения?
Стойкое ощущение что достигается некий предел, т.к. бэкапная база примерно всегда одно и то же время отрабатывает.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669672
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

в базе в 50Мб достигнуть предел это сильно. Вы там что SMALLINT что ли используете
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669673
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не должен, но может где-то на стадии проектирования чего-то не доглядел.
А такая реакция может быть, если где-то SMALLINT? Разве не закончится все просто вылетом ошибки?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669674
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

Если ты действительно хочешь, чтобы тебе помогли, то
1. Отвечай на все вопросы;
2. Выложи (для начала) хотя бы структуру базы сюда. И опиши при этом, какие обращения к базе (запросы) делает "пользователь", когда зависает. Это, кстати, можно точно определить, заюзав какой-нибудь sql-монитор - тогда последняя запись в лог sql-монитора, вероятно, и будет запросом, который убивает сервер.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669675
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисoffsites,

в базе в 50Мб достигнуть предел это сильно. Вы там что SMALLINT что ли используете
Да хоть SHORTINT. При переполнении посыпятся исключения, а не зависон.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669676
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пока ставлю на какой-нибудь вечный цикл (где-то).
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669677
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock,

Я не на все вопросы отвечаю, т.к. не все понимаю. Например как снять статистику с базы во время зависания, если все висит. Он же ни на что не отвечает? Любая работа с fbserver невозможна. А при остановке сервера работа с базой невозможна. Поэтому я и молчу, думаю как это можно сделать. Тут тоже по каждому чиху не хочется задавать вопросы, пытаюсь искать ответы в сети.
Кстати после того как база глюканет, я больше ничего не могу с ней сделать. Ни бэкам с рестором не работает, ничего. Т.е. данные за часов 5 накапливаются, и снова теряются. Как оттуда их извлечь, я пока не знаю.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669678
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

я в курсе. Это был сарказм насчёт предположения ТС.
Я бы поглядел триггеры на коннект, старт транзакции и коммит.
А также обратил внимание на использование MON$ таблиц в триггерах
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669679
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

SuperServer?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669680
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет вечных циклов, я тоже думал.. но смущает другое - последние изменения в базе по коду делал более года назад. До сих пор все работало как часы. Вечный цикл дал бы знать о себе раньше.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669681
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

да, на новой машине поднял тоже SuperServer
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669683
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

переходи на CS/SC. SuperServer будешь в 3.0 терзать
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669684
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesЯ не на все вопросы отвечаю, т.к. не все понимаю.
Какая буква тебе непонятна здесь:
hvladoffsitesRelation has X orphan backversions (0 in use) in table YX - это сколько ??
offsitesПоэтому я и молчу, думаю как это можно сделать.Думаешь, как в IBExpert нажать пункт меню Tools-Extract Metadata?

offsitesкак база глюканет, я больше ничего не могу с ней сделать. Ни бэкам с рестором не работает, ничегоОшибка с пустым текстом выдается при соединении, или сервер (перезапущенный перед этим, естественно), снова зависает?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669685
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesпоследние изменения в базе по коду делал более года назадМогут и десятилетия пройти до первой проблемы. К делу это отношения не имеет никакого.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669686
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЯ пока ставлю на какой-нибудь вечный цикл (где-то).
вот да. А поэтому надо запускать аудит (не трейс), а в момент 100% загрузки всё это срубать и смотреть конец лога аудита.
Наверняка где-то вечный цикл образуется.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669687
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисЯ бы поглядел триггеры на коннект, старт транзакции и коммит.
А также обратил внимание на использование MON$ таблиц в триггерах
Судя по этому, с вероятностью 79.63% ты прав:
offsitesКстати после того как база глюканет, я больше ничего не могу с ней сделать. Ни бэкам с рестором не работает, ничего
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669688
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock,

X=1

Extract-Metadata это хорошо, но IBExpert не может подключиться к базе когда она висит, он тоже зависает.

Ошибки никакие не выдаются вообще. Висит как просто занят. На вечный цикл и правда похоже. После рестарта сервера, он впорядке, до любого действия с базой (подключения к ней и т.п.)
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669689
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesВечный цикл дал бы знать о себе раньше.
чего это? Вечный цикл у тебя срабатывает по достижении некоего порогового значения чего-то. Это примитивный вывод из перехода "за 50 мегабайт".
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669690
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesно IBExpert не может подключиться к базе когда она висит, он тоже зависает."Metadata" не зависит от того, навернулась уже база, или еще нет (из бэкапа поднятая, рабочая).
Возьми с рабочей базы, естественно.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669691
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас на минут 20 пропаду, восстановлю снова базу из бэкапа. Посмотрю код.
Процедуры по сути не сложные - 1 операция за процедуру и все. Либо селект простой, либо инсерт. Транзакций я никаких не создаю. Коммитов внутри хранимок нет. Пока не знаю хорошо это или плохо, но вроде как задача не требовала сложностей.

Единственное что меня пока смущает, вспомнил я про такую вот вещь: юзеры чето делают, потом не понять кто из них вредитель, друг на друга пальцем показывают. Пришлось хранить логи. Кто когда вошел, вышел, записал в какую таблицу. И условие стоит, типа ограничения на 1000 записей таблицы логов. Как размер достигнут, нужно 500 записей удалить. Вот эта процедура мне не нравилась еще на стадии проектирования, но я ее все таки сделал. Единственная мысль что там что-то не так... Поэтому ща базу разбэкапю и посмортю условия и кол-во записей
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669693
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, и еще. Размер 50 мб отменяется. Т.к. в этот раз база накрылась раньше немного.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669695
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsitesЕдинственное что меня пока смущает, вспомнил я про такую вот вещь: юзеры чето делают, потом не понять кто из них вредитель, друг на друга пальцем показывают. Пришлось хранить логи. Кто когда вошел, вышел, записал в какую таблицу. И условие стоит, типа ограничения на 1000 записей таблицы логов. Как размер достигнут, нужно 500 записей удалить. Вот эта процедура мне не нравилась еще на стадии проектирования, но я ее все таки сделал. Единственная мысль что там что-то не так... Поэтому ща базу разбэкапю и посмортю условия и кол-во записей

Вот это полный трындец. Небось на ON CONNECT/DISCONNECT триггерах. Вот тут небось цикл и происходит
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669696
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gstat -r для "плохой" БД покажи
и где gstat -h для security2.fdb ?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669698
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Может быть, сейчас код покажу.

EVENTS - Таблица хранения событий.
EType - тип события (удаление, логин и т.п.)

ONCONNECT:

Код: sql
1.
2.
3.
4.
5.
AS
begin
  INSERT INTO events(EType)
  VALUES (4) ;
end



Таблица EVENTS:

BEFORE INSERT:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
as
begin
  if (new.eid is null) then
    new.eid = gen_id(gen_events_id,1);
    new.edatetime = current_timestamp;
    new.user_login = current_user;
    new.user_role = current_role;
    new.eip = (SELECT FIRST 1 MON$REMOTE_ADDRESS FROM MON$ATTACHMENTS);
end



AFTER INSERT:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
AS
begin
  IF ((SELECT COUNT(Eid) FROM events)>100000) THEN
  BEGIN
    DELETE FROM events
    WHERE Eid NOT IN ( SELECT FIRST 50000 Eid
                        FROM events
                        ORDER BY Eid DESC );
  END
end
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669699
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

выкинь это срочно!!! Чушь несусветная
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669700
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

А как избавиться от лишнего разрастания таблицы? Да и вообще, в этом ли дело?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669701
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
offsites,

Да, дело похоже в этом)) Посмотрел count Записей в Events = 99 654. Т.е. еще чуть чуть, часов 5, и нужно будет выполнить AFTER INSET, и судя повсему нахрен зависнуть.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669702
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисвыкинь это срочно!!! Чушь несусветная+100500
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669703
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladgstat -r для "плохой" БД покажи
и где gstat -h для security2.fdb ?Уже не надо
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669704
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, выкину. Рад что вроде все прояснилось, сам дурак.
Но все таки прошу объяснений, что не так?)))
При достижении 100000, сортируем в обратном порядке и грохаем первых 50000. Чего он виснет? Неправильный код, может чего не замечаю? ВРоде не так уж и много всего сделать нужно, чтобы на вечно зависнуть
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669706
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Логи такие хранить мне в любом случае нужно.
Как это правильно делается?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669707
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

всё не так.
1. Использование COUNT по своей таблицы в ROW-level триггерах (других у нас нет). Который мало того что медленный, так ещё и не надёжен в данном случае.
2. DELETE в INSERT триггере для той же таблицы это уже нечто
3. Потенциально глючная конструкция DELETE FROM table1 NOT IN (SELECT FIRST(1000) * FROM table1). В 2.5 был артефакт со стабильностью курсора
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669708
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

чисти логи по расписанию
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669709
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

может задам глупый вопрос, но по расписанию это как? Инициировать чистку таблицы с клиента? Типа раз в пол года? Или у сервера есть свои инструменты для этого?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669711
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

ты не знаешь что такое cron в CentOS?
Пишешь скрипт скармливаешь его isql и запускаешь по крону. Можно ночером
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669714
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

понял. Но как то кажется что это не правильно, хотя может и эффективно. Если потребуется базу перенести по какой-то причине, я через год-два забуду что там крон был завязан. Сама база не может об этом думать никак?
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669715
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

ускорить и изменить можно легко:
1. Убери триггер на INSERT (он просто не нужен);
2. Триггер на коннект сделай таким:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
AS
DECLARE VARIABLE CUR_EID BIGINT; --или какой там тип у тебя в таблице у поля EID
DECLARE VARIABLE CUR_REMOTE_ADDRESS VARCHAR(255);
begin
  CUR_EID = gen_id(gen_events_id,1);

  SELECT FIRST 1 MON$REMOTE_ADDRESS FROM MON$ATTACHMENTS INTO :CUR_REMOTE_ADDRESS;

  INSERT INTO events(eid, EType, edatetime, user_login, user_role, eip)
  VALUES (:CUR_EID, 4, current_timestamp, current_user, current_role, :CUR_REMOTE_ADDRESS);  

  DELETE FROM events WHERE eid < :CUR_EID - 50000;
end



Не проверял, но думаю, заработает норм.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669716
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites,

в firebird нету Job'ов
Варианты с самоочисткой в триггерах чушь собачья. Начиная с того что ты тупо замедляешь каждый коннект хотя бы своим COUNT
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669725
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockНе проверял, но думаю, заработает норм.

С обращением к таблицам мониторинга нормально не заработает. Адрес можно получить из
системных переменных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669727
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получать первый попавшийся IP адрес пользователя это конечно умно
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669728
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovС обращением к таблицам мониторинга нормально не заработает. Адрес можно получить из
системных переменных.
Ну это вообще бред, а не запрос:

Код: sql
1.
SELECT FIRST 1 MON$REMOTE_ADDRESS FROM MON$ATTACHMENTS INTO :CUR_REMOTE_ADDRESS;


Он неизвестно что возвращает, а не адрес текущего пользователя. Я просто скопировал. Зря.

Короче, offsites , вот переделанный вариант триггера на коннект. Если хочешь - пробуй:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
AS
DECLARE VARIABLE CUR_EID BIGINT; --или какой там тип у тебя в таблице у поля EID
begin
  CUR_EID = gen_id(gen_events_id,1);

  INSERT INTO events( eid, EType, edatetime, user_login, user_role, eip )
  VALUES ( :CUR_EID, 4, current_timestamp, current_user, current_role, RDB$GET_CONTEXT( 'SYSTEM', 'CLIENT_ADDRESS' ) );  

  DELETE FROM events WHERE eid < :CUR_EID - 50000;
end
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669733
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не уверен как сервер реагирует на попытку удаления уже удалённой записи. Если как на
обычный конфликт обновления - будут неприятности.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669734
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offsites new.eip = (SELECT FIRST 1 MON$REMOTE_ADDRESS FROM MON$ATTACHMENTS);
японский городовой... Это тебе еще повезло, что у тебя не 50-100 активных коннектов.
Срочно переделать на RDB$GET_CONTEXT('SYSTEM', 'CLIENT_ADDRESS').
Про after insert уже сказали, оно и есть.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669735
offsites
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock,

обязательно попробую, спасибо!) Я завтра вечером к написанию кода приступлю, сейчас просто отключил триггер, посмотрю это ли было единственной проблемой.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669737
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockSELECT FIRST 1 MON$REMOTE_ADDRESS FROM MON$ATTACHMENTS
еще один. Ребята, запомните, что обращение к mon$ из базы данных, из любого триггера или процедуры, срабатывающих регулярно, будет в геометрической прогрессии сажать производительность при увеличении числа пользователей.
Поэтому обращение к mon$ следует допускать только извне, и грубо говоря, не чаще 1 раза минут в 30. И то, предварительно надо делать замер по времени выполнения первого обращения к mon$ при максимальном кол-ве юзеров. Оно может нескольких минут достигать.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669738
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЯ не уверен как сервер реагирует на попытку удаления уже удалённой записи. Если как на
обычный конфликт обновления - будут неприятности.
Да. Впрочем, у автора эта проблема и раньше была.
Значит, надо либо WHEN ANY пробовать добавлять, либо в клиента переносить.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669739
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvYuRockSELECT FIRST 1 MON$REMOTE_ADDRESS FROM MON$ATTACHMENTS
еще один
Я ж говорю, что скопировал это, не глядя
Скопировал отсюда: 21544117
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669740
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

90% раньше автор вообще налетал на стабильный курсор, который и вводил базу в полный ступор. Впрочем и без этого код был полным ужасом.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669741
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис90% раньше автор вообще налетал на стабильный курсор, который и вводил базу в полный ступор.

Нет, его DELETE IN всего лишь должно было удалить из таблицы вообще все записи. Это не
INSERT SELECT.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669840
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется мягко говоря странным существование базы без регламентных заданий, выполняющихся шедулером.
Это означает, для начала, отсутствие регулярных бэкапов.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669865
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и так, шо мы имеем с гуся...

наглядное подтверждение библейской притчи об обезьяне с гранатой.
аминь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669937
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockКороче, offsites , вот переделанный вариант триггера на коннект. Если хочешь - пробуй:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
AS
DECLARE VARIABLE CUR_EID BIGINT; --или какой там тип у тебя в таблице у поля EID
begin
  CUR_EID = gen_id(gen_events_id,1);

  INSERT INTO events( eid, EType, edatetime, user_login, user_role, eip )
  VALUES ( :CUR_EID, 4, current_timestamp, current_user, current_role, RDB$GET_CONTEXT( 'SYSTEM', 'CLIENT_ADDRESS' ) );  

  DELETE FROM events WHERE eid < :CUR_EID - 50000;
end


Тут DELETE будет срабатывать каждый раз. Не критично, но не совсем то, что было у автора.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39669942
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

Этот DELETE нужно вынести вообще из триггера в файлик со скриптом и натравливать на базу ночью по расписанию. Впрочем уже говорили.
...
Рейтинг: 0 / 0
Зависание Firebird на базе 50 МБ
    #39670589
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterВасилий 2,

Этот DELETE нужно вынести вообще из триггера в файлик со скриптом и натравливать на базу ночью по расписанию. Впрочем уже говорили.
А какое обоснование? Чтобы не тормозил коннект, или чтобы избежать конкурентных удалений?
...
Рейтинг: 0 / 0
102 сообщений из 102, показаны все 5 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Зависание Firebird на базе 50 МБ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]