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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

а чего там кидать. Либо мусор не собирается, либо плодятся временные блобы (хотя при сборке мусора и они не проблема)
А временные блобы откуда? Я не понимаю в чем горе ТС.
...
Рейтинг: 0 / 0
08.05.2015, 10:00
    #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
08.05.2015, 10:06
    #38954254
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защититься от роста базы
Симонов Денис,понятно,спасибо
...
Рейтинг: 0 / 0
08.05.2015, 10:51
    #38954313
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защититься от роста базы
GallemarКинь в меня ссылкой (двумя-тремя)

я с форума собирал.
http://www.ibase.ru/devinfo/dbgrowth.html
собрано вроде абсолютно все. только почему то в раздел "документация" на ibase не добавил
...
Рейтинг: 0 / 0
08.05.2015, 10:59
    #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
08.05.2015, 10:59
    #38954327
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защититься от роста базы
kdv,супер,спасибо
...
Рейтинг: 0 / 0
08.05.2015, 11:22
    #38954357
Сисдба Мастеркеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Защититься от роста базы
Симонов ДенисGallemar,

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

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

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

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

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



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

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

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

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



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

Действительно внезапно. Для чего нужно это место?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.05.2015, 14:32
    #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
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Защититься от роста базы / 25 сообщений из 50, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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