После выключени электричества рузнула база

Maxik

Новичок
После выключени электричества рухнула база

в логах пишет:
May 7 00:10:30 root postgres[2171]: [1-1] LOG: database system was interrupted being in recovery at 2004-05-06 23:45:58 MSD
May 7 00:10:30 root postgres[2171]: [1-2] ^IThis probably means that some data blocks are corrupted
May 7 00:10:30 root postgres[2171]: [1-3] ^Iand you will have to use the last backup for recovery.
May 7 00:10:30 root postgres[2171]: [2] LOG: checkpoint record is at 7/2222D450
May 7 00:10:30 root postgres[2171]: [3] LOG: redo record is at 7/221EE2CC; undo record is at 0/0; shutdown FALSE
May 7 00:10:30 root postgres[2171]: [4] LOG: next transaction id: 11457688; next oid: 12821072
May 7 00:10:30 root postgres[2171]: [5] LOG: database system was not properly shut down; automatic recovery in progress
May 7 00:10:30 root postgres[2171]: [6] LOG: redo starts at 7/221EE2CC
May 7 00:10:36 root postgres[2171]: [7] PANIC: Invalid page header in block 35069 of 4681565
May 7 00:10:36 root postgres[2154]: [1] LOG: startup process (pid 2171) was terminated by signal 6
May 7 00:10:36 root postgres[2154]: [2] LOG: aborting startup due to startup process failure


я так понимаю что сбой в каком то блоке. Диск проверил, все ок.
В интернете о таких случаях инфо мало. Народ ссылается на программку pg_filedump. Но что она выдает не очень понятно. И самое не понятное, что делать.
И еще, в каталоге куча файлов. В каком именно из них ошибка тоже не очень понятно.
-- Ок, файл нашел. А вот что с ним теперь делать, не ясно.
В общем HELP плиз!
 

confguru

ExAdmin
Команда форума
use the last backup for recovery.
Я надеюсь ещедневные бекапы делались?
Если нет то можно смело увольнять админа сервера...
 

Maxik

Новичок
Автор оригинала: admin
use the last backup for recovery.
Я надеюсь ещедневные бекапы делались?
Если нет то можно смело увольнять админа сервера...
а в этой базе нет смысла бекапить ее. информация устаревает уже после двух часов. А бэкап ее занимает порядка часа.Вообще в данный момент все только тлаживается. Но все равно, не очень хочется все терять.
 

confguru

ExAdmin
Команда форума
В чем проблема создать новую..?
Поставить UPS наконец...
 

Maxik

Новичок
понимаете, эти все советы не очено продвигают меня к решению проблемы.
Хотелось бы по существу, есть опят как такие проблемы решаются или нет?

-~{}~ 07.05.04 11:44:

а потом, при чем тут UPS и бэкап. Если даже теряются данные за день, то это уже критично. А бэкап можно делать только ночью.

и вообще не понятно почему это все происходит.
 

Nime

Guest
Значит надо включить логирование, чтобы всегда иметь текущие данные, а не только ночной backup.
 

su1d

Старожил PHPClubа
Maxik
постгрес работает в shared memory, которую отводит себе во время запуска. ессно, когда вырубается свет, он (не)множко не успевает сбросить на диск те данные, что существуют только в памяти.

поройся в документации на предмет наличия каких-нибудь настроек типа "таймаут сброса данных на диск" (fsync?).
конечно, можно также заставить его свопиться постоянно за счёт уменьшения объёма отводимой им памяти, но это очень сильно ударит по производительности, впрочем, как и первое решение.

а вообще, тебе правильно сказали: если не хочешь терять настолько ценные данные, то нужно озаботиться бесперебойным питанием сервера.
когда вырубается свет, не стоит полагаться на software, т.к. ему для хорошей и надёжной работы нужно децл электричества =)

ах, да! как ещё один вариант, поставь на сервер RAID1-массив из пары SCSI или SATA винтов. похоже, что у тебя ещё мог глюкнуть винт.
 

Maxik

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

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Если версия старая (до 7.3.4, кажеца), то надо бы обновить (подобный баг был пофикшен).

Если версия новая, то надо бы проверить железо.
 
Сверху