powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Защититься от роста базы
25 сообщений из 50, страница 1 из 2
Защититься от роста базы
    #38953840
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

На днях на сервере случился "бадабум": база внезапно (в течение часа-двух примерно) выросла с ~230 Гб до >400 Гб.
Наверное, выросла бы и больше, если бы не закончилось место на диске.

Спасло наличие второго сервака на репликации и вчерашней копии nbackup.

Разбираться в причинах времени не было, девать эти 400 Гб тоже было некуда (сервер у провайдера на коллокейшене, по инету качать долго, согласовывать физический доступ тоже долго), пришлось их удалить.

Вероятнее всего, запустили отчет с неверными датами на входе и получили чудовищную кучу временных блобов.
Приложение мы поправим, чтобы такого не повторялось, но вопрос не в этом.

Вопрос в том, как защититься от такого катастрофического роста объема базы ?

На сервере win 2003 (на другом 2008), FB 2.5.4, CS, 32bit (есть удф-ки).

Пока только вижу вариант с дисковыми квотами. Но это защитит не от роста базы, а от пожирания всего диска, т.е. полумера. Да и по мере естественного роста базы придется эти квоты периодически увеличивать.

Можно ли, например, как-то ограничить аппетиты FB по части временных блобов ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953846
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Сисдба Мастеркеевич!
You wrote on 7 мая 2015 г. 17:06:56:

Сисдба Мастеркеевич> Можно ли, например, как-то ограничить аппетиты FB
> по части временных блобов ?не пихать их куда ни попадя

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953862
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, Сисдба Мастеркеевич!
You wrote on 7 мая 2015 г. 17:06:56:

Сисдба Мастеркеевич> Можно ли, например, как-то ограничить аппетиты FB
> по части временных блобов ?не пихать их куда ни попадя

Они имеют привычку возникать "сами"
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953869
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Сисдба Мастеркеевич!
You wrote on 7 мая 2015 г. 17:25:39:

Сисдба Мастеркеевич> Они имеют привычку возникать "сами"мочить казлов! (с)

зы: тема-то много раз обсуждалась.
причины распухания давно диагностированы и законспектированы.
ты хочешь немедленного решения на уровне ядра в 2.5.Х ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953871
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевичкак защититься
Никак.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954200
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСисдба Мастеркеевичкак защититься
Никак.
А если программистам руки оборвать?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954220
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийзы: тема-то много раз обсуждалась.
причины распухания давно диагностированы и законспектированы.

Кинь в меня ссылкой (двумя-тремя)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954233
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

а чего там кидать. Либо мусор не собирается, либо плодятся временные блобы (хотя при сборке мусора и они не проблема)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954240
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

а чего там кидать. Либо мусор не собирается, либо плодятся временные блобы (хотя при сборке мусора и они не проблема)
А временные блобы откуда? Я не понимаю в чем горе ТС.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954244
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

да запросто

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
execute block
retuns (s blob sub_type text)
as
  declare i int = 1000000000;
begin
  s = '';
  while (i > 0) do
  begin
    s = s || '100500';
    i = i - 1;
  end
  suspend;
end



ясен пень пример утрирован, но смысл примерно такой
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954254
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,понятно,спасибо
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954313
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarКинь в меня ссылкой (двумя-тремя)

я с форума собирал.
http://www.ibase.ru/devinfo/dbgrowth.html
собрано вроде абсолютно все. только почему то в раздел "документация" на ibase не добавил
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954325
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

кстати там не написано что как раз функция LIST решает часть проблем при конкатенации BLOBов, поскольку в ней создаётся всего один временный BLOB в отличии от подхода

Код: plsql
1.
2.
3.
4.
5.
6.
7.
...
  s = '';
  FOR SELECT b FROM BIGTABLE DO
  BEGIN
    s = s || b;
  END
...
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954327
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,супер,спасибо
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954357
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

а чего там кидать. Либо мусор не собирается, либо плодятся временные блобы ( хотя при сборке мусора и они не проблема )Таки проблема. Ибо простым запросом, который ты же и привел, даже не имея прав ни на какие таблицы, можно распушить базу до пределов всего свободного места.

Интересно, есть ли в планах разработки FB не хранить временные блобы в базе ? Можно ведь, наверное, их хранить во временных файлах ? Или сервер не знает, останется ли блоб временным ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954393
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичМожно ведь, наверное, их хранить во временных файлах ?

Тебе с одним диском это не поможет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954505
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичИли сервер не знает, останется ли блоб временным ?Именно так
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954507
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСисдба МастеркеевичМожно ведь, наверное, их хранить во временных файлах ?

Тебе с одним диском это не поможет.
Диск, конечно, не один.
Если база распухла, то что с ней делать ? Backup/restore ? сотни гиг ? А если еще облом во время рестора ?
А временные файлы, во-первых, можно на другой диск определить; во-вторых, они самоликвидируются, когда коннект, вызвавший проблему, отвалится. Остальные коннекты, если и пострадают, то весьма временно.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954513
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичЕсли база распухла, то что с ней делать ?...
Сисдба МастеркеевичА временные файлы, во-первых, можно на другой диск определить; во-вторых, они самоликвидируются, когда коннект, вызвавший проблему, отвалится. Остальные коннекты, если и пострадают, то весьма временно.С чего ты взял, что временные блобы не самоликвидируются, как временные файлы ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954515
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевич,

Код: sql
1.
Если база распухла, то что с ней делать ? Backup/restore ? сотни гиг ? А если еще облом во время рестора ?



оставь как есть. Как только транзакция создавшая временный блоб будет завершена это пространство можно будет использовать повторно
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954516
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичНа днях на сервере случился "бадабум": база внезапно (в течение часа-двух примерно) выросла с ~230 Гб до >400 Гб.
Наверное, выросла бы и больше, если бы не закончилось место на диске.

Спасло наличие второго сервака на репликации и вчерашней копии nbackup.От чего спасло ? Что заставило поднимать БД из бекапа\копии ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954575
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladСисдба МастеркеевичНа днях на сервере случился "бадабум": база внезапно (в течение часа-двух примерно) выросла с ~230 Гб до >400 Гб.
Наверное, выросла бы и больше, если бы не закончилось место на диске.

Спасло наличие второго сервака на репликации и вчерашней копии nbackup.От чего спасло ? Что заставило поднимать БД из бекапа\копии ?Спасло от отсутствия свободного места на диске с базой.
Пришлось файл базы удалить и восстановить вчерашний из копии.
Файл базы ведь не подрежешь, и к диску место не пришьешь.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954580
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисСисдба Мастеркеевич,

Код: sql
1.
Если база распухла, то что с ней делать ? Backup/restore ? сотни гиг ? А если еще облом во время рестора ?



оставь как есть. Как только транзакция создавшая временный блоб будет завершена это пространство можно будет использовать повторноМесто в базе - да, будет использовано повторно, а свободное место на диске с базой не появится, а оно нужно ... внезапно так.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954590
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевичсвободное место на диске с базой не появится, а оно нужно ...
внезапно так.

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

Действительно внезапно. Для чего нужно это место?
Дак FB ругается в лог:
Код: plaintext
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.
Error extending file "*********" by 65 page(s).
Currently allocated 26397504 pages, requested page number 26397568

.....

Error extending file "*******" by 61 page(s).
Currently allocated 26397700 pages, requested page number 26397760


I/O error during "WriteFile" operation for file "*******"
Error while trying to write to file
Недостаточно места на диске.


Error extending file "*********" by 62 page(s).
Currently allocated 26397700 pages, requested page number 26397761


I/O error during "WriteFile" operation for file "*********"
Error while trying to write to file
Недостаточно места на диске.

........

Database: *********
internal Firebird consistency check (missing pointer page in DPM_data_pages (243), file: dpm.cpp line: 703)

.....

I/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM"
Error while trying to write to file
Недостаточно места на диске.
А работать то надо, начальники тоже ругаются.
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Защититься от роста базы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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