На работе вот уже неделю тарарам со мной в главной роли... ну может не в самой главной, но уж и не в последней точно...
Много нытья про проблемы на работе.Наша компания проводила исследование. Правила коммерческой тайны не позволяют сказать что за исследование и для кого проводилось, но это и не важно.
Так вот, исследование проводилось через интернет, и чтобы его провести пришлось разрабатывать новое средство. Маленькое конечно, ибо большую часть структуры анкеты удалось вписать в другие средства, а вот среднюю часть, где отвечающему предлагалось набрать себе желаемый продукт из предложенных запчастей. Это тоже было не без приключений, но все это мы преодолели. И скрипты я написал, и сшить их с другими частями анкеты через URL смог... в общем, запустили исследование.
Исследование шло-шло и закончилось. Данные были записаны в базе, скрипты остались лежать в общем доступе (через интернет из любой точки планеты, если кто не понял)
Так вот данные лежали себе - лежали и через пару недель начали их осматривать на пердмет последующей обработки... и тут выяснилось что половина данных взяла, да и пропала.
Похватались за головы, начали искать почему пропало... нашли, поняв, ЧТО именно пропало... история оказалась проста до нервного смеха (нервный смех в моем исполнении был, притом много.) Оказалось, я когда писал программу предусмотрел в ней скрипт для вычищения "тестовых" данных, которые нужно было почистить, так как с той же идентификацией в будущем планировалось записывать реальные данные. Скрипт был выполнен мною строго один раз, и тестовые данные освободили место...
Напомню, ВСЕ скрипты остались в интернете. Соответственно среди его многочисленных пользователей нашелся некто, кто этот скрипт (для очистки данных) нашел и запустил... на тот момент вместо тестовых данных в базе уже долгое время хранились реальные данные, но база их не умела различать... результат - стертые реальные данные.
Начали думать что с этим делать... своих бэкапов я не делал - не предвидел что причина потери данных может быть такой банальной и в то же время непредсказуемой. Оставалось только надеяться на бэкапы базы, выполняемые в автоматическом режиме...
На второй день работы антикризисного комитета, я нашел свой бэкап от 24-го числа... (теущее число, минус неделя) из которого было спасено 50 записей... из 700. Не густо, но что-то... Воспряли духом. Пошли трясти сисадминов...
Сисадмины сказали "Бэкап есть... от 17-го числа... раньше нет... храним только 2 недели... а вы не говорили что дольше хранить надо... Поднимем... но не сейчас... сейчас почта архивируется... еще часа 4 архивироваться будет... приходите завтра"...
Вздохнув, пошли разбираться с тем, что есть... выяснили, что удаление записей произошло 10 или раньше (по крайней мере после 10-го все записи спаслись из моего бэкапа), и соотвественно, бэкап от 17-го числа нам нужен не на много больше, чем рыбе зонтик.
На третий день сисадмины сказали что бэкап они поднять не могут, так как архивируется файловый сервер... приходите завтра... Вздохнули, полезли искать информацию о процессах восстановления баз в интернете. нашли упоминание о режимах журнализации, немного потрясли админов и выяснили что у нас таки журнализация полная, воспряли духом. Откопали программку для чтения журналов транзакций, попытались прочитать транзакции и поняли что их в журнале нет... снова пали духом.
На четверты день Сисадмины подняли бэкап, о чем и сообщили с чувством выполненного долга... Хотелось их обматерить, но сдержались... Начали смотреть базу на низком уровне... Бэкап - вообще пустой... ни одной записи. Посмотрели основную базу - тоже пусто... побледнели... проверили через свои скрипты - данные на месте. Удивились. Позвали из бугалтерии спеца по базам. Спец развел руками и задал резонный вопрос: "Странно, а вы вообще там ищите?". Задумались. Проверили настройки доступа к базе, которым пользовались скрипты... оказалось что доступ был настроен не к той базе. Воспряли духом. Прочитали логи нужной базы... оказалось что у нее лог отрезан моментом 11 сентября... то есть откатить по транзакциям мы ее не можем... Пошли к админам требовать восстановить бэкап правильной базы... выяснилось что ее бэкап есть только от 1 октября... ни 17-го, ни 24-го бэкапов нет... ну, предположим, что 24-го бэкап провалился для всех баз... но почему для этой базу пропал бэкап от 17-го числа? "А черт его знает" - самое содержательное что сказали сисадмины... более того, журнал транзакций поднятого бэкапа (от 1.10) содержал журнал транзакций до 5.10... этот феномен Сисадмин тоже объяснить не взялся.
В итоге на выходные данные базы были отправлены сторонним специалистам на оценку могут ли они восстановить еще что-то... а пока рабоатем как будто все остальное потерялось.
В общем, мораль: бэкап бывает не пригодившимся, но лишним он не бывает!
Детки, предохраняйтесь, гуляя по стройке.
На работе вот уже неделю тарарам со мной в главной роли... ну может не в самой главной, но уж и не в последней точно...
Много нытья про проблемы на работе.
В общем, мораль: бэкап бывает не пригодившимся, но лишним он не бывает!
Много нытья про проблемы на работе.
В общем, мораль: бэкап бывает не пригодившимся, но лишним он не бывает!