понедельник, 16 марта 2009 г.

Не тот сервер

Утром пользователи жалуются:

- Такое впечатление, как будто вся наша работа за последние пару недель пропала.
- Вот глупые юзеры, - думаю я - наверняка какая-то мелочь, а они раздувают из мухи слона.

Начинаю разбираться с конкретными вопросами, и вижу, что происходит что-то странное. Закрадывается мысль: "Может, и правда по ошибке восстановили базу из какого-то старого архива?" Спросил админа - он говорит, что нет, конечно, никто базу не трогал. Мне и самому стыдно, что я заподозрил нашего админа в такой глупости.

Но через час мучений оказалось, что причина действительно была очень простая: в конфиге сервера приложений указали неправильный сервер базы данных. Таким образом, пользователи работали с базой двухнедельной давности.

Ошибка простая, а вот последствия очень серьезные. Мало того, что пользователи что-то делали, так еще и система-то обменивается сообщениями с кучей внешних и внутренних систем. Где-то это файлы, которые можно подложить заново во входящий каталог, а где-то MSMQ, который просто так не подложишь... ну, и так далее.

За день мы так и не справились, будем завтра продолжать. Пользователей пришлось отключить от системы, чтобы все не перепуталось еще больше. А это означает, что книги будут отданы в типографию с опозданием.

Но, тем не менее, все исправно сходили на обед. Война - войной, а обед - по расписанию.

Админы свалили ошибку на своего коллегу-контрактника. Может, и правда он виноват. А может, сделали козлом отпущения. Ему терять нечего, всё равно взяли на работу ненадолго. Вообще в такие моменты думаешь, что программистом быть лучше, чем админом. Все-таки обычно у программиста меньше возможностей, чтобы одним махом причинить большой вред.

Помню, однажды в банке я ходил к начальнице оперзала что-то тестировать. С утра временно поставил в ее конфигурации тестовую базу данных, чтобы мы ничего не испортили... Протестировали, поговорили, я пошел к себе. Вечером, в конце рабочего дня вдруг понимаю: "Я забыл переключить ее на рабочий сервер! А ведь она - не какая-то там девочка-операционистка, а начальница. Получается, она целый день работала вхолостую! Какой позор!"

Я покрываюсь холодным потом. Бегу проверить. Фух, все в порядке! Это было ложное воспоминание, из серии: "А не остался ли включенным утюг?"

3 комментария:

Max комментирует...

Ну почему же, у программиста может быть даже очень много возможностей сделать какую нибудь пакость случайную или специальную. Какой нибудь апдейт джоб запущенный по ошибке на боевой базе может быть не менее опасен :) или же бага какая не найденная вовремя.

А вообще админ админу рознь, впрочем как и программист. Все зависит от специфики работы.

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

Valik комментирует...

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

Max комментирует...

Бесспорно не должен, и согласно SOX и просто следуя здравому смыслу :)
Но вот на практике, не смотря на ежегодный SOX аудит, все равно имеет.
Может это следствие того, что у нас очень маленький айти отдел и сама среда разработки является одновременно и приложением и средством доступа к базе.

Ratings by outbrain