Всем привет, возникла такая ситуация, помогите разобраться кто прав в данном случае?
Некоторые пользователи не смогли зайти в программу, причина : поврежден файл базы данных
(database file appears corrupt. page 0 is of wrong type). Сисадмин, в работу которого входит бэкап, рестор баз данных, проблему решать отказался, сказал, что это должен сделать программист, аргументируя это тем, что если программист не может решить данную проблему, то он недостаточно квалифицирован. Сами сервера и доступ к ним находятся в админской, доступ к ним имеет только сисадмин.
Сисадмин - это не администратор БД. В его зону ответственности входит бекап-рестор, не более. Бекап за дату есть? Наверняка есть. Тогда к сисадмину вопросов нет.
Если такой позиции как "администратор БД" не предусмотрено в штатном расписании - тогда придется чинить программисту.
Например для postgresql это будет в корне неверное решение и ничего хорошего из этого не получится.
Сильно зависит от устройства конкретной СУБД, т.е. да - вопрос к DBA.
- Ничего не сказано об архитектуре БД, потому что процесс восстановления БД из бэкапа в некоторых случаях требует некоторых познаний в области - например БД формата InnoDB в MySQL просто так файлом не восстановить :) Админ должен иметь бэкап за предыдущие сутки, но это скорее всего будет бэкап системы целиком, то есть если там есть другие БД - они тоже будут восстановлены к предыдущему состоянию.
- Чинить поврежденную БД админ не обязан - у него для этого вполне может не хватать знаний. Даже скрипт выгрузки-загрузки он писать не обязан, хотя иметь бэкап выгрузкой содержимого неплохо.
Сисадмин должен позаботиться о том чтобы ОС работала штатно и чтобы не было незапланированного отключения электроэнергии во время работы СУБД. Если СУБД работает в условиях нехватки памяти, то потенциально может попортить данные.
Или из-за незапланированного отключения электроэнергии файловая система не успела внести необходимые изменения.
Сисадмин должен восстановить данные из резервной копии, однако заниматься восстановлением сломанной базы данных не обязан. Такое восстановление - трудозатратный процесс и положительный результат не гарантирован.
Роман Мирр, ну и тут ситуация спорная, ведь сисадмин несет ответственность за наличие места на сервере и если из-за его косяка(!) повредилась база, то почему не он должен заниматься вопросом восстановления вообще?
nubic, ну так у сисадмина просто нет понятия как ремонтировать сломанную СУБД. Это теоретически смогут делать разве что разработчики самой СУБД.
А по факту, в данном случае поможет только восстановление данных с резервной копии. И если таковых нет, то лавочку можно закрывать. Тут и сисадмины и разработчики в одной лодке, надо выкручиваться из ситуации вместе.