Жила-была InnoDB

Sep 19, 2019 22:47


Жила-была InnoDB. Её никто не трогал. Пока в один злосчастный момент в серверной не потух внезапно свет. А UPSа не отработала.

После включения выяснилось, что база "побилась". А бэкапа, как водится, нет. При попытке сделать принудительный replay transaction log-ов она вываливается с ошибкой 11 где-то на первых 13-ти процентах процесса. Если поиграться с величинами буферов-пулов, то вываливается где-то на 75%. Если сказать innodb_force_recovery=6 (SRV_FORCE_NO_LOG_REDO), то обламывается с ошибкой 6 (assertion failure in thread).

Странно, что idb-файлы вроде как консистентные. Утилита innochecksum по всем проходит и никаких ошибок не кажет. Попробовал вытащить хоть какие-то данные напрямую из них, только вот беда: при развертывании сервера параметра "innodb_file_per_table=1" в конфиге никто не прописал. А без него структуру из FRM-файлов не вытащить. При том, что "ibdata1" явно покоцаный.

Оставим морально-этический аспект в стороне. Также не будет задаваться вопросом кто, как и почему всё это настраивал. Скажу сразу: не я.

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

P.S. База весит 500 гигабайт...

работа, байки, it

Previous post Next post
Up