powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3 зависает на операциях обновления.
53 сообщений из 53, показаны все 3 страниц
FB 3 зависает на операциях обновления.
    #39829345
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый.
Имею сервер fb 3.0.4 classic, работает под linux. База весит ~30Гб.
С базой работает веб приложение. Параметры транзакции выставлены следующие: read commited, record version, wait.
Принцип работы такой: у приблизительно 40 пользователей с интервалом в 6 сек обновляется несколько гридов с данными. Так же в фоне работает служба, которая периодически принимает данные из вне и затем пишет/обновляет их в базе.
Так вот, примерно после минут 20-30, на этапе обновление строки с данными в таблице, по которой идет интенсивный селект этих данных, происходит "лок" базы, т.е. у всех пользователей зависают запросы, ibexpert и т.д.
Если зайти в htop, там видно что болтается один два процесса firebird, которые грузят на 100% по одному ядру проца. Если убить этот зависший процесс fb, база отвисает, продолжает работать в штатном режиме. При этом на 2.5.8 такой проблемы нет.
Есть у кого какие мысли что это такое может быть?
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829357
sysdba22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может быть где-то похоже и на нашу ситуацию, которая с нового года приключилась уже три раза... только у нас супер, так что убить процесс не получится и грузится не одно ядро, а все 48 на 100%.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829361
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое интересное что сейчас на боевой базе 2.5, настройки сервера одинаковые что на 2.5 что на 3.0, проблем подобного рода не было ни разу. На 3-ке же такая беда, причем один раз ibexpert не завис, в мониторинге удалось увидеть что висит транзакция с апдейтом одной записи. Я в принципе даже предположить не могу, почему так происходит.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829369
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

автосвип? давай gstat -h
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829423
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автосвип выключен.
Sweep interval=0
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829512
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992видно что болтается один два процесса firebird, которые грузят на 100% по одному ядру процаПриатачиться к этому процессу с gdb, приостановить выполнение, в другой консоли выполнить fb_lock_print -a и сохранить его результаты в файл,
в самом gdb снять стеки всех потоков (thread apply all bt) и также сохранить в файл, эти файлы показать нам (мне).

Ещё можно попробовать снапшот 3.0.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829994
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830018
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

криминала не вижу.

В первом файле есть стеки всех потоков, один из них выполняет какой-то достаточно кудрявый запрос,
с сортировкой и union. Я насчитал более 20 джойнов

Во втором файле стек только одного, рабочего потока, он тоже выполняет подобный запрос.
Похоже, что это повторный стек с того же процесса.

Лок таблица показывает 279 коннектов, один из процессов (pid 14243) удерживает 3 блокировки
- лок мониторинга, его ждут 8 процессов
- страничный лок (стр 410262), его ждут 70 процессов
- страничный лок (стр 1209260), его ждут 130 процессов

Скорее всего это именно тот процесс, который остановлен в gdb - потому и не отпускает блокировки.

Сказать могу только одно - проверяйте планы запросов.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830033
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, именно процесс 14243 повесил базу. Получается, что в 3.0 локи обрабатываюся не как в 2.5, потому что подобных зависаний на 2.5 не было ни разу.
Спасибо за наводку, будем разбираться.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830037
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,
разбираться не с локами а с тем что сказал Влад
hvladСказать могу только одно - проверяйте планы запросов.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830251
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никогда не ставь "голый" WAIT.
да и вообще, не нужно его пихать неосознанно.

зы: я у себя в компонентах доступа переделал нахрен
наследство Грегори Дица и Джефа Оверкекша касаемое TIBTransaction.
нашенский компонент тупо не предоставляет возможности выставить WAIT без таймаута.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830674
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запросы что я выполнял написаны нормально, есть конечно куда опимизировать, но уж точно не коряво.
На 3.0 super работает отлично, зависаний нет, но там другая проблема, в корявых udf, которые работали на 2.5, но на 3.0 падают в segmentation fault и валит за собой все коннекты.
Отсюда я могу сделать вывод, что в тройке classic работает не так, как на 2.5.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830677
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

Я прочитал много материала по поводу wait/nowait, но так и не понял до конца, чем может грозить, если я установлю в nowait?
Т.е. как работают эти режимы я понимаю, но во что может вылиться использование этого режима я до конца понять не могу, если кто-то может внятно объяснить, помогите пожалуйста разобраться.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830684
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.06.2019 12:55, demon1992 пишет:
> Я прочитал много материала по поводу wait/nowait, но так и не понял до конца

тогда забей и всегда используй NOWAIT.
кроме работы с метаданными.

зы: но и при работе с метаданными один "голый" WAIT не ставь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830693
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992Отсюда я могу сделать выводкакой угодно.

Не достаточно данных, чтобы делать выводы.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830699
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

небось забыл в UDF указать IsMultithreaded := True
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830701
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.06.2019 13:28, Симонов Денис пишет:
> небось забыл в UDF указать IsMultithreaded := True

для CS пофигу
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830702
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

так у него же на супере segmentation fault
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830703
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.06.2019 13:31, Симонов Денис пишет:
> так у него же на супере segmentation fault

я уже запутался кто у него на чём стояло... :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830734
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за помощь :)
Позже, как будет больше свободного времени, попытаюсь провести более правильный тест и предоставить больше информации.
Пока же остановился на SuperServer, на нем, кроме пары кривых udf, все работает.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832594
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Снова проблема, теперь уже с SuperServer. Начинает виснуть при выполнении одной хп, снял lockprint во время полного зависания бд.
Можно ли понять по нему в чем проблема?
https://drive.google.com/open?id=18GlVi4JhjeXuSbhMWgIaxay_dyfbI18P
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832599
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

откуда такая вера в то, что содержимое лок-таблицы даст ответы на все вопросы ?
Тем более для SS.

В данном случае есть ожидания только для одной блокировки - мониторинг.
Ждут её 8 коннектов (из 321). Т.е. говорить вообще не о чем.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832668
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результативнее сделать как первый раз - с помощью gdb снять бектрассы всех потоков, fb_lock_print бонусом
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832706
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одну из причин точно нашел. В хп, которая все вешает, делает ~3.5к вставок и удалений во временную таблицу, вставляется blob у которого sub_type text. Так вот, выполняется хп довольно быстро, что-то в районе 30-60 сек, но вот коммит висит очень долго, на пустой базе без пользователей 3-4 минуты, на загруженной базе больше 10 минут. Как раз во время коммита остальные запросы начинают виснуть, как только коммит проходит, все отвисает. Убираю в хп вставку блобов, коммит отрабатывает за 2 сек.
Чуть позже сделаю сравнение с fb 2.5 и сообщу о результате.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832718
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

это что-то новое.
В дампе, кстати, не было ничего про коммит.
Что ещё раз говорит о том, что дамп был снят не в то время.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832734
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

при переключении на SS не забыл настройки для страничного кеша поднять?
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832754
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
С настройками все ок.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832757
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
А про какой дамп идет речь? Про тот, что снимал gdb? Если да, то там совсем другое было.
Могу сейчас подключится gdb к процессу во время коммита и скинуть сюда.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832759
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давай
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832808
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://drive.google.com/open?id=17PV_sFqlhVL1-4bU0IKhZjqeSBmUri7a
Это с нагруженной базы, чуть позже сделаю без нагрузки.
И еще, на fb 2.5 коммит проходит моментально.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832819
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992В хп, которая все вешает, делает ~3.5к вставок и удалений во временную таблицу,
вставляется blob у которого sub_type text.

Дай угадаю: этот clob ещё и конкатенацией собирается?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832823
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

на классике кеш маленький. На момент коммита почти все страницы уже сброшен на диск. В супере с большим кешем всё немного иначе время распределяется между работой самого запроса и коммитом. Надо мерить суммарно время работы запроса(ов) + время коммита. Результаты теста https://ib-aid.com/en/simple-insert-update-delete-test-for-firebird/ прекрасно показывают как кеш влияет на соотношения времени работы запроса и времени коммита.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832826
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это без нагрузки, т.е. в базе выполняется только один коммит.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832829
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Дай угадаю: этот clob ещё и конкатенацией собирается?
[/quot]
Ага
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832837
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

тут 197 потоков и 162 из них делают коммит.

demon1992Имею сервер fb 3.0.4 classicКлассик, говоришь ?
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832838
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladdemon1992,

тут 197 потоков и 162 из них делают коммит.

demon1992Имею сервер fb 3.0.4 classicКлассик, говоришь ?

Не, 3.0.4 ss.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832843
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992Это без нагрузки, т.е. в базе выполняется только один коммитЗдесь два файла.
В первом - з потока с коммитом. Во втором - да, один. Что-то пишет на диск.
Сколько ему всего писать - из бектрейса не видно, тут нужно дамп подробнее изучать.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832848
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladСколько ему всего писать - из бектрейса не видно

Много. Ему надо вычистить все 100500 временных блобов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832855
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladСколько ему всего писать - из бектрейса не видно

Много. Ему надо вычистить все 100500 временных блобов.Если так, то у 2.5 должны быть те же проблемы
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832900
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил, на ее решение навел пост выше.
Заменил конкатенацию blob на list.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832946
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992Заменил конкатенацию blob на list.
гм. феерично.

http://www.ibase.ru/dbgrowth
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832984
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvгм. феерично.

http://www.ibase.ru/dbgrowth

То что описано в статье вопрос совсем другой, у меня же проблема была совсем в другом, и решена так как я ее описал.
А вот оправдано ли там использование блоба или нет, это да, я согласен с тем что использовать их без необходимости не нужно.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39834163
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, забыл сказать, конкатенация с varchar тоже тормозила, т.е. проблема была именно в конкатенации.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39834164
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

это если конкатенация blob || varchar
Остальная вполне нормально работает.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39834199
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя да, вы правы, забыл у одной переменной сменить тип, каюсь.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39834207
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

кстати в fbdevel обсуждается возможность введения системного пакета для манипуляций с BLOB в том числе и функции добавления строк в blob. Это должно решить проблему с распуханием при конкатенации блобов со строками.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39836119
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно еще раз пояснить про блобы. Я пока был увлечен решением проблемы, у меня размер бд вырос с 20 до 70гб. Так вот, это произошло из-за конкатенаций блобов, или потому, что я менял таблицу в которую пишется блоб с временной на обычную? Насчет второго я понимаю, но я записал в обычную таблицу точно не 50гб. Получается это конкатенация столько места выжрала? Или я что-то не так понимаю?
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39836123
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

временные blob которые образуются в результате конкатенации при некоторых условиях начинают сбрасываться на диск.

Кстати меня интересует вопрос сборщик мусора или что-то другое что может пометить страницу как свободная когда нибудь добирается до BLOB идентификаторы которых не привязаны ни к одной таблице?
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39836159
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКстати меня интересует вопрос сборщик мусора или что-то другое что может пометить страницу как свободная когда нибудь добирается до BLOB идентификаторы которых не привязаны ни к одной таблице?
насколько помню - нет, ибо блобы всегда читаются по их (хранимому где-то) ID, а не последовательно
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39836169
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992, у меня есть UDF с исходниками на C++ (GNUC) под 2.5 для сборки BLOb. В принципе, вполне рабочая, но когда я делал эту UDF, то торопился с реализацией и до стабильного её неплохо бы допилить, так как в самодельном map там наверняка есть ошибки. Если ты силён в C++ и тебе эта UDF очень нужна, могу дать как есть и ты сам её допилишь, а потом можешь даже выкатить на github.
SQL скрипт для регистрации её функций выглядит так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
DECLARE EXTERNAL FUNCTION RAW_INIT
  INTEGER,
  INTEGER
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_init' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_FREE
  INTEGER
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_free' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_ADD_INT16
  INTEGER,
  INTEGER,
  SMALLINT BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_add' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_ADD_INT32
  INTEGER,
  INTEGER,
  INTEGER BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_add' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_ADD_INT64
  INTEGER,
  INTEGER,
  BIGINT BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_add' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_ADD_CHAR
  INTEGER,
  INTEGER,
  CHAR(766) BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_add' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_ADD_CSTR
  INTEGER,
  INTEGER,
  CSTRING(766) BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_add' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_ADD_VCHAR
  INTEGER,
  INTEGER,
  VARCHAR(32765) BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_add' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_ADD_BLOB
  INTEGER,
  BLOB
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_addblob' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_REWRITE_INT16
  INTEGER,
  BIGINT,
  SMALLINT BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_rewrite' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_REWRITE_INT32
  INTEGER,
  BIGINT,
  INTEGER BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_rewrite' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_REWRITE_INT64
  INTEGER,
  BIGINT,
  BIGINT BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_rewrite' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_REWRITE_CHAR
  INTEGER,
  BIGINT,
  CHAR(766) BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_rewrite' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_REWRITE_CSTR
  INTEGER,
  BIGINT,
  CSTRING(766) BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_rewrite' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_REWRITE_VCHAR
  INTEGER,
  BIGINT,
  VARCHAR(32765) BY DESCRIPTOR
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'raw_rewrite' MODULE_NAME 'libeverudf';

DECLARE EXTERNAL FUNCTION RAW_GET
  INTEGER,
  INTEGER,
  BLOB RETURNS PARAMETER 3
  ENTRY_POINT 'raw_get' MODULE_NAME 'libeverudf';
COMMIT WORK;

...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39836172
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В некоторых функциях есть поддержка конвертации BASE64<->BLOb на лету, что можно использовать для резервного копирования BLOb в скрипт SQL.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39836287
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_dev,

Не над, спасибо) наоборот от udf пытаюсь избавляться, намучился с ними уже.
Меня беспокоит что база резко столько в размере прибавила, я сразу не заметил этого и не помню уже после чего это произошло.
Рестор уже сделал, размер убавился с 70 до 22 гб. Потом еще раз попробую операции с блобами и уже буду следить за размером бд.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39836707
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКстати меня интересует вопрос сборщик мусора или что-то другое что может пометить страницу как свободная когда нибудь добирается до BLOB идентификаторы которых не привязаны ни к одной таблице?Блобы, не привязанные к таблице - временные.
Они удаляются при завершении тр-ции, в которой были созданы (или раньше, если это возможно).
Сборщик мусора читает таблицы и не может видеть временные блобы. Никак.

Если в результате нештатной ситуации в БД остались страницы временных блобов - только полная
валидация найдёт и пометит эти страницы как свободные (если в БД не будет найдено других ошибок).
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3 зависает на операциях обновления.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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