SASGIS

Веб-картография и навигация

Восстановление убитого кэша Беркли (BerkeleyDB)

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение zed » 02 авг 2012, 23:30

По мотивам хотелки #1341 написал утилиту-помощника в нелёгком деле восстановления кэша. Хотя, строго говоря, я ещё не сталкивался с тем, чтобы мой кэш умер и не мог быть прочитан/восстановлен самим САСом при запуске (а "падает" САС у меня часто, т.к. запускаю я его преимущественно прямо в дебагере и имею привычку не всегда корректно завершать работу, а выходить по аналогу Ctrl+Alt+Del). Но, как говорится: "сани готовь летом" (c), так что, пусчай будет - авось когда и пригодится.

Итак, для восстановления баз Беркли поставщик оной БД (Оракл) предлагает нам в комплекте кучу различных консольных утилит. Утилиты там на все случаи жизни, какие только можно себе представить и всё бы хорошо, но для неподготовленного человека, встреча с консолью может быть весьма неприятна. Да и для гуру, выполнение однотипных рутинных операций через голую консоль, может отнимать лишнее время. Поэтому, представляю вам оболочку над некоторыми консольными утилитами (а именно: db_recover, db_verify, db_load и db_dump) с вшитыми настройками и минимальной конфигурацией. Настройки вполне достаточны для восстановления кэша Беркли в САСе (по крайней мере, пока кто-то не сообщит, что у него никак не выходит этот самый кэш восстановить). Если каких-то ключей/режимов вдруг не хватит - пишите, по возможности, добавим.

Забираем: sdb_util_1.0.2.8.7z + исходники для интересующихся

Инструкция к действию:
скрытый текст: показать
- закрываем САС
- распаковываем архив в папку с установленным САСом и соглашаемся с предложением заменить файлы
- запускаем sdb_util.exe
- выбираем папку с испорченным кэшем: path\to\cache_db\sat или даже целиком все карты: path\to\cache_db
- запускаем восстановление: Run
- по окончании процесса запускаем САС (предпочтительно - дебажную версию) и проверяем кэш на работоспособность
- если кэш по прежнему не работает, закрываем САС, возвращаемся в утилиту, жмём Config и выбираем "Rename broken files to *.bad" или "Restore broken files" (можно ещё включить Catastrophic recovery) и жмём Apply
- запускаем восстановление заново и по окончании, ещё раз проверяем в САС
- если и сейчас ничего не работает - пишите сюда и приложите логи (всё что писалось в чёрном окошке на всех этапах) и пару небольших битых файлов (*.bad). Лог так же мог создать и САС, в папке с exe: sdb.log

Описание режимов работы:
скрытый текст: показать
Restore cache after crash: Recover & Verify
Последовательно вызывает функции: Recover environment [cmd: db_recover -v] и Verify cache (find broken files) [cmd: db_verify] с предустановленными настройками (с вкладки Config).

Recover environment [cmd: db_recover -v] (утилита db_recover)
Используя файлы лога из папки env кэша, восстанавливает кэш до валидного состояния: записывает все завершённые и откатывает все незавершённые транзакции. Так же, при этой операции опционально создаётся файл DB_CONFIG с выбранными установками.

Prepare cache for backup (reset LSN) [cmd: db_load -r lsn] (утилита db_load)
Удаляет привязку файлов кэша (*.sdb) от файлов лога из папки env. Опционально, по окончанию процесса может удалять уже не нужную папку env вместе со всеми старыми логами.

Verify cache (find broken files) [cmd: db_verify] (утилита db_verify)
Проверяет файлы кэша (*.sdb) на ошибки. При обнаружении ошибок, в зависимости от настроек, может:
1. Не предпринимать никаких действий (Only report)
2. Удалить файл кэша, содержащий ошибку (Delete broken files). Использовать эту опции рекомендуется только в крайнем случае, т.к. а) ошибка может быть не критическая (САС может прекрасно работать с данным файлом кэша) и б) есть теоретическая возможность восстановить неповреждённые данные (см. ниже)
3. Переименовать файл в *.bad (Rename broken files to *.bad), который затем можно дополнительно анализировать/восстанавливать имеющимися утилитами.
4. Не отходя от кассы, попытаться восстановить повреждённый файл (Restore broken files). Следует учитывать, что эта операция достаточно медленная. Все действия, предпринимаемые программой будут аналогичны восстановлению данных из *.bad файлов (см. ниже).

Restore broken files from *.bad [cmd: db_dump && db_load] (утилиты db_dump и db_load)
1. Создаёт дамп данных из повреждённых файлов (пытается прочитать неповреждённые данные). При создании дампа используется утилита db_dump. Файл дампа имеет несколько бОльший размер, чем исходный файл *.sdb (примерно в 1,5-2 раза).
2. Из свежего дампа формирует новый файл кэша, с гарантией отсутствия ошибок (использует утилиту db_load). В качестве дополнительного бонуса, происходит оптимизация структуры файла кэша, в результате чего, он может быть меньшего размера (даже, если удалось восстановить абсолютно все данные). При этом, однако, нет возможности оценить количество восстановленных данных (в процентном или абсолютном выражении) по отношению к исходным данным.
3. По окончании процесса подчищает за собой хвосты: удаляет восстановленный *.bad файл и его файл дампа (*.dump).

Несколько слов про пресеты Durability:
скрытый текст: показать
1. Low - при записи в кэш, максимально используются буферы в памяти и запись на диск производится только если буферы переполняются или САС вызывает sync метод (каждые 5 мин или через 1024 операций записи в кэш). С такими настройками сейчас работает САС по-умолчанию (конфигурация зашита в коде), а вот новые версии САСа, планируется по-умолчанию заставить работать с пресетом Normal.
Пресет Low соответствует SQLite-овскому PRAGMA synchronous=OFF, со всеми вытекающими последствиями. Определяющим флагом, активирующим пресет, является флаг DB_TXN_NOSYNC:
If set, Berkeley DB will not write or synchronously flush the log on transaction commit. This means that transactions exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but if the application or system fails, it is possible some number of the most recently committed transactions may be undone during recovery. The number of transactions at risk is governed by how many log updates can fit into the log buffer, how often the operating system flushes dirty buffers to disk, and how often the log is checkpointed.

Или, говоря по-русски, тут не гарантируется полное восстановление кэша при падении САСа или винды.

2. Normal - файл лога пишется синхронно (после каждого коммита из буфера в памяти, производится запись в лог), но не даётся гарантий, что винда сбросит буфер и данные действительно запишутся в файл. Определяющий флаг - DB_TXN_WRITE_NOSYNC:
If set, Berkeley DB will write, but will not synchronously flush, the log on transaction commit. This means that transactions exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but if the system fails, it is possible some number of the most recently committed transactions may be undone during recovery. The number of transactions at risk is governed by how often the system flushes dirty buffers to disk and how often the log is checkpointed.

Или, говоря по-русски, тут не гарантируется полное восстановление кэша только при падении винды. Если же упадёт только САС, то по логам возможно всё восстановить. В SQLite это называется PRAGMA synchronous=NORMAL.

3. High - гарантированная запись в лог, т.е. после каждой транзакции, мало того, что данные записываются в файл лога, так ещё и вызывается системная функция (FlushFileBuffers), которая указывает Windows принудительно записать свой буфер на диск. Активирует данный пресет одновременное отключение флагов DB_TXN_NOSYNC и DB_TXN_WRITE_NOSYNC. В SQLite это называется PRAGMA synchronous=FULL.

4. Extremaly High - в дополнение к High, по возможности отключаются все буферы (в том числе и виндозный) при записи в лог и в кэш - экспериментальный пресет и насколько он лучше или хуже чем High, должны показать тесты (если кто возьмётся за них).

Чтобы активировать тот или иной пресет, нужно выполнить операцию Recover (db_recover), во время которой в папку env будет записан файлик DB_CONFIG с нужной конфигурацией. И при следующем запуске САС автоматически подхватит эти настройки.

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

Пара скриншотов:
main.gif

config.gif

За это сообщение автора zed поблагодарили: 9
cycler (15 июн 2013, 21:43) • guf (15 авг 2012, 13:42) • igel72 (11 апр 2013, 10:17) • Papazol (03 авг 2012, 09:56) • Parasite (03 авг 2012, 16:19) • saldek (21 янв 2020, 10:17) • Tolik (03 авг 2012, 12:44) • vvstepa (05 апр 2017, 20:21) • xromeo (14 апр 2013, 11:43)
Рейтинг: 47.37%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение Papazol » 25 ноя 2016, 16:31

T_Im писал(а):скопировать следующий код (поправить в 2-х местах путь к папке sdb_util на свой)

На всякий случай уточню, что дальше делать со скопированным кодом. Если в открытом Total Commander'е щёлкнуть правой кнопкой на свободном месте панели инструментов (где находятся все кнопки), то появится меню с пунктом "Вставить". Выбираем его, и скопированный код вставляется куда надо, а на панели появляется кнопка с названием Построить базу *.sbd на основе файла *.bad под курсором. Коей и пользуемся в дальнейшем. Кстати, поправить путь к папке с утилитами можно и после создания кнопки, если в упомянутом выше меню выбрать пункт "Изменить".
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 606 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение Papazol » 25 ноя 2016, 18:29

Вот и до меня добрался большой крэш базы данных Беркли. Верификация выявляет повреждение двух файлов (один около 2 ГБ, другой - около 1 ГБ) и переименовывает их в *.bad. Попытки восстановления не привели к успеху. При дампинге файлов возникает какая-то ошибка, и дампы не создаются.
Утилита пишет:
скрытый текст: показать
>> db_dump -f 157.80.sdbv.dump 157.80.sdbv.bad [I:\SASPlanet\cache\Google_sat_version\z17\39\20\]

<< ExitCode = 1

>> db_dump -f 158.80.sdbv.dump 158.80.sdbv.bad [I:\SASPlanet\cache\Google_sat_version\z17\39\20\]

<< ExitCode = 1

Total processed: 2

Соответственно, и загрузку новой БД из дампов сделать невозможно.
Лог верификации:
скрытый текст: показать
>> db_verify 156.80.sdbv [I:\SASPlanet\cache\Google_sat_version\z17\39\20\]

>> db_verify 157.80.sdbv [I:\SASPlanet\cache\Google_sat_version\z17\39\20\]

db_verify: Page 540155: offpage item 29 has bad pgno 2084413

db_verify: Page 540155: item order check unsafe: skipping
db_verify: Page 540514: offpage item 13 has bad pgno 2084463
db_verify: Page 540514: offpage item 29 has bad pgno 2084477
db_verify: Page 540514: item order check unsafe: skipping
db_verify: Page 540681: offpage item 13 has bad pgno 2084560
db_verify: Page 540681: offpage item 29 has bad pgno 2084589
db_verify: Page 540681: item order check unsafe: skipping
db_verify: Page 540851: offpage item 7 has bad pgno 2084632
db_verify: Page 540851: offpage item 15 has bad pgno 2085400
db_verify: Page 540851: offpage item 23 has bad pgno 2086250
db_verify: Page 540851: offpage item 31 has bad pgno 2085424
db_verify: Page 540851: item order check unsafe: skipping
db_verify: Page 541163: offpage item 13 has bad pgno 2084510
db_verify: Page 541163: offpage item 29 has bad pgno 2084531
db_verify: Page 541163: item order check unsafe: skipping
db_verify: Page 541293: offpage item 7 has bad pgno 2084715
db_verify: Page 541293: offpage item 15 has bad pgno 2085488
db_verify: Page 541293: offpage item 23 has bad pgno 2086347
db_verify: Page 541293: item order check unsafe: skipping
db_verify: Page 541360: offpage item 7 has bad pgno 2084675
db_verify: Page 541360: offpage item 15 has bad pgno 2085442
db_verify: Page 541360: offpage item 23 has bad pgno 2086299
db_verify: Page 541360: offpage item 31 has bad pgno 2085461
db_verify: Page 541360: item order check unsafe: skipping
db_verify: Page 541499: offpage item 13 has bad pgno 2084439
db_verify: Page 541499: offpage item 21 has bad pgno 2085224
db_verify: Page 541499: item order check unsafe: skipping
db_verify: Page 541709: offpage item 5 has bad pgno 2085353
db_verify: Page 541709: offpage item 13 has bad pgno 2086196
db_verify: Page 541709: offpage item 21 has bad pgno 2085377
db_verify: Page 541709: offpage item 29 has bad pgno 2086223
db_verify: Page 541709: item order check unsafe: skipping
db_verify: Page 541909: offpage item 15 has bad pgno 2084780
db_verify: Page 541909: offpage item 23 has bad pgno 2085529
db_verify: Page 541909: offpage item 31 has bad pgno 2086414
db_verify: Page 541909: item order check unsafe: skipping
db_verify: Page 542127: offpage item 5 has bad pgno 2085247
db_verify: Page 542127: offpage item 13 has bad pgno 2086088
db_verify: Page 542127: offpage item 21 has bad pgno 2085267
db_verify: Page 542127: offpage item 29 has bad pgno 2086109
db_verify: Page 542127: item order check unsafe: skipping
db_verify: Page 542202: offpage item 5 has bad pgno 2085289
db_verify: Page 542202: offpage item 13 has bad pgno 2086134
db_verify: Page 542202: offpage item 21 has bad pgno 2085331
db_verify: Page 542202: offpage item 29 has bad pgno 2086148
db_verify: Page 542202: item order check unsafe: skipping
db_verify: Page 542327: offpage item 7 has bad pgno 2086273
db_verify: Page 542327: offpage item 23 has bad pgno 2084657
db_verify: Page 542327: item order check unsafe: skipping
db_verify: Page 542393: offpage item 7 has bad pgno 2086324
db_verify: Page 542393: offpage item 15 has bad pgno 2087109
db_verify: Page 542393: offpage item 29 has bad pgno 2087133
db_verify: Page 542393: item order check unsafe: skipping
db_verify: Page 542724: offpage item 5 has bad pgno 2086898
db_verify: Page 542724: offpage item 19 has bad pgno 2086920
db_verify: Page 542724: item order check unsafe: skipping
db_verify: Page 542811: offpage item 5 has bad pgno 2086996
db_verify: Page 542811: offpage item 19 has bad pgno 2087030
db_verify: Page 542811: item order check unsafe: skipping
db_verify: Page 543050: offpage item 13 has bad pgno 2087195
db_verify: Page 543050: item order check unsafe: skipping
db_verify: Page 543083: invalid next_pgno 2086413
db_verify: Page 543083: offpage item 7 has bad pgno 2085555
db_verify: Page 543083: offpage item 15 has bad pgno 2086429
db_verify: Page 543083: item order check unsafe: skipping
db_verify: Page 543334: offpage item 5 has bad pgno 2086940
db_verify: Page 543334: offpage item 19 has bad pgno 2086967
db_verify: Page 543334: item order check unsafe: skipping
db_verify: Page 543384: offpage item 13 has bad pgno 2087094
db_verify: Page 543384: item order check unsafe: skipping
db_verify: Page 543661: invalid prev_pgno 2086413
db_verify: Page 544607: offpage item 29 has bad pgno 2087064
db_verify: Page 544607: item order check unsafe: skipping
db_verify: Page 546918: offpage item 23 has bad pgno 2084812
db_verify: Page 546918: item order check unsafe: skipping
db_verify: Page 547286: offpage item 7 has bad pgno 2084858
db_verify: Page 547286: offpage item 23 has bad pgno 2084891
db_verify: Page 547286: offpage item 31 has bad pgno 2085621
db_verify: Page 547286: item order check unsafe: skipping
db_verify: Page 547419: offpage item 7 has bad pgno 2084969
db_verify: Page 547419: offpage item 23 has bad pgno 2084983
db_verify: Page 547419: offpage item 31 has bad pgno 2085749
db_verify: Page 547419: item order check unsafe: skipping
db_verify: Page 547599: offpage item 7 has bad pgno 2085040
db_verify: Page 547599: offpage item 15 has bad pgno 2085816
db_verify: Page 547599: offpage item 23 has bad pgno 2086690
db_verify: Page 547599: offpage item 31 has bad pgno 2085847
db_verify: Page 547599: item order check unsafe: skipping
db_verify: Page 547882: offpage item 7 has bad pgno 2084924
db_verify: Page 547882: offpage item 23 has bad pgno 2084937
db_verify: Page 547882: offpage item 31 has bad pgno 2085685
db_verify: Page 547882: item order check unsafe: skipping
db_verify: Page 547995: offpage item 7 has bad pgno 2085139
db_verify: Page 547995: offpage item 15 has bad pgno 2085916
db_verify: Page 547995: offpage item 23 has bad pgno 2086795
db_verify: Page 547995: item order check unsafe: skipping
db_verify: Page 548088: offpage item 7 has bad pgno 2085101
db_verify: Page 548088: offpage item 15 has bad pgno 2085875
db_verify: Page 548088: offpage item 23 has bad pgno 2086752
db_verify: Page 548088: offpage item 31 has bad pgno 2085902
db_verify: Page 548088: item order check unsafe: skipping
db_verify: Page 548211: offpage item 7 has bad pgno 2084844
db_verify: Page 548211: offpage item 15 has bad pgno 2085577
db_verify: Page 548211: item order check unsafe: skipping
db_verify: Page 548429: offpage item 7 has bad pgno 2086624
db_verify: Page 548429: offpage item 15 has bad pgno 2085801
db_verify: Page 548429: offpage item 23 has bad pgno 2086657
db_verify: Page 548429: item order check unsafe: skipping
db_verify: Page 548627: offpage item 7 has bad pgno 2084387
db_verify: Page 548627: offpage item 15 has bad pgno 2085196
db_verify: Page 548627: offpage item 23 has bad pgno 2085972
db_verify: Page 548627: offpage item 31 has bad pgno 2086843
db_verify: Page 548627: item order check unsafe: skipping
db_verify: Page 548829: offpage item 7 has bad pgno 2086515
db_verify: Page 548829: offpage item 15 has bad pgno 2085635
db_verify: Page 548829: offpage item 23 has bad pgno 2086548
db_verify: Page 548829: item order check unsafe: skipping
db_verify: Page 548907: offpage item 7 has bad pgno 2086560
db_verify: Page 548907: offpage item 15 has bad pgno 2085718
db_verify: Page 548907: offpage item 23 has bad pgno 2086591
db_verify: Page 548907: item order check unsafe: skipping
db_verify: Page 549043: offpage item 7 has bad pgno 2086723
db_verify: Page 549043: offpage item 23 has bad pgno 2085069
db_verify: Page 549043: offpage item 31 has bad pgno 2084293
db_verify: Page 549043: item order check unsafe: skipping
db_verify: Page 549110: offpage item 7 has bad pgno 2086781
db_verify: Page 549110: item order check unsafe: skipping
db_verify: Page 549397: offpage item 13 has bad pgno 2087363
db_verify: Page 549397: item order check unsafe: skipping
db_verify: Page 549722: invalid next_pgno 2086842
db_verify: Page 549722: offpage item 7 has bad pgno 2086003
db_verify: Page 549722: offpage item 15 has bad pgno 2086870
db_verify: Page 549722: item order check unsafe: skipping
db_verify: Page 550263: invalid prev_pgno 2086842

db_verify: Page 606219: offpage item 31 has bad pgno 2084729

db_verify: Page 606219: item order check unsafe: skipping
db_verify: Page 606373: offpage item 31 has bad pgno 2084872
db_verify: Page 606373: item order check unsafe: skipping
db_verify: Page 606530: offpage item 31 has bad pgno 2085025
db_verify: Page 606530: item order check unsafe: skipping
db_verify: Page 606674: offpage item 23 has bad pgno 2084306
db_verify: Page 606674: offpage item 31 has bad pgno 2085152
db_verify: Page 606674: item order check unsafe: skipping
db_verify: Page 606814: offpage item 31 has bad pgno 2084794
db_verify: Page 606814: item order check unsafe: skipping
db_verify: Page 607015: offpage item 31 has bad pgno 2084951
db_verify: Page 607015: item order check unsafe: skipping
db_verify: Page 607176: offpage item 31 has bad pgno 2085082
db_verify: Page 607176: item order check unsafe: skipping
db_verify: Page 607323: offpage item 7 has bad pgno 2084335
db_verify: Page 607323: offpage item 23 has bad pgno 2084364
db_verify: Page 607323: offpage item 31 has bad pgno 2085207
db_verify: Page 607323: item order check unsafe: skipping
db_verify: Page 608015: offpage item 7 has bad pgno 2085649
db_verify: Page 608015: offpage item 15 has bad pgno 2084762
db_verify: Page 608015: offpage item 23 has bad pgno 2085667
db_verify: Page 608015: item order check unsafe: skipping
db_verify: Page 608131: offpage item 7 has bad pgno 2085699
db_verify: Page 608131: offpage item 15 has bad pgno 2084826
db_verify: Page 608131: offpage item 23 has bad pgno 2085730
db_verify: Page 608131: offpage item 31 has bad pgno 2086497
db_verify: Page 608131: item order check unsafe: skipping
db_verify: Page 608233: offpage item 7 has bad pgno 2085764
db_verify: Page 608233: offpage item 15 has bad pgno 2084905
db_verify: Page 608233: offpage item 23 has bad pgno 2085782
db_verify: Page 608233: item order check unsafe: skipping
db_verify: Page 608321: offpage item 7 has bad pgno 2085829
db_verify: Page 608321: offpage item 15 has bad pgno 2084997
db_verify: Page 608321: offpage item 23 has bad pgno 2085861
db_verify: Page 608321: offpage item 31 has bad pgno 2086638
db_verify: Page 608321: item order check unsafe: skipping
db_verify: Page 608390: offpage item 7 has bad pgno 2085889
db_verify: Page 608390: offpage item 15 has bad pgno 2085054
db_verify: Page 608390: offpage item 23 has bad pgno 2085930
db_verify: Page 608390: item order check unsafe: skipping
db_verify: Page 608463: offpage item 7 has bad pgno 2085956
db_verify: Page 608463: offpage item 15 has bad pgno 2085127
db_verify: Page 608463: offpage item 23 has bad pgno 2085985
db_verify: Page 608463: offpage item 31 has bad pgno 2086766
db_verify: Page 608463: item order check unsafe: skipping
db_verify: Page 608540: offpage item 7 has bad pgno 2086014
db_verify: Page 608540: offpage item 15 has bad pgno 2085180
db_verify: Page 608540: offpage item 23 has bad pgno 2086037
db_verify: Page 608540: item order check unsafe: skipping
db_verify: Page 608594: offpage item 7 has bad pgno 2086061
db_verify: Page 608594: offpage item 15 has bad pgno 2085240
db_verify: Page 608594: offpage item 23 has bad pgno 2086075
db_verify: Page 608594: offpage item 31 has bad pgno 2086882
db_verify: Page 608594: item order check unsafe: skipping
db_verify: Page 608760: offpage item 7 has bad pgno 2087401
db_verify: Page 608760: offpage item 15 has bad pgno 2086530
db_verify: Page 608760: offpage item 23 has bad pgno 2087434
db_verify: Page 608760: item order check unsafe: skipping
db_verify: Page 608926: offpage item 13 has bad pgno 2086671
db_verify: Page 608926: item order check unsafe: skipping
db_verify: Page 609080: offpage item 13 has bad pgno 2086809
db_verify: Page 609080: item order check unsafe: skipping
db_verify: Page 609262: offpage item 13 has bad pgno 2086904
db_verify: Page 609262: item order check unsafe: skipping
db_verify: Page 609463: offpage item 13 has bad pgno 2086605
db_verify: Page 609463: item order check unsafe: skipping
db_verify: Page 609485: offpage item 7 has bad pgno 2084381
db_verify: Page 609485: offpage item 23 has bad pgno 2084397
db_verify: Page 609485: offpage item 31 has bad pgno 2085260
db_verify: Page 609485: item order check unsafe: skipping
db_verify: Page 609638: offpage item 13 has bad pgno 2086736
db_verify: Page 609638: item order check unsafe: skipping
db_verify: Page 609656: offpage item 7 has bad pgno 2084452
db_verify: Page 609656: offpage item 23 has bad pgno 2084492
db_verify: Page 609656: offpage item 31 has bad pgno 2085345
db_verify: Page 609656: item order check unsafe: skipping
db_verify: Page 609886: offpage item 7 has bad pgno 2084545
db_verify: Page 609886: offpage item 23 has bad pgno 2084552
db_verify: Page 609886: offpage item 31 has bad pgno 2085435
db_verify: Page 609886: item order check unsafe: skipping
db_verify: Page 609912: offpage item 13 has bad pgno 2086951
db_verify: Page 609912: item order check unsafe: skipping
db_verify: Page 610110: offpage item 7 has bad pgno 2084404
db_verify: Page 610110: offpage item 23 has bad pgno 2084423
db_verify: Page 610110: offpage item 31 has bad pgno 2085304
db_verify: Page 610110: item order check unsafe: skipping
db_verify: Page 610219: offpage item 7 has bad pgno 2084499
db_verify: Page 610219: offpage item 23 has bad pgno 2084524
db_verify: Page 610219: offpage item 31 has bad pgno 2085391
db_verify: Page 610219: item order check unsafe: skipping
db_verify: Page 610250: offpage item 7 has bad pgno 2084644
db_verify: Page 610250: offpage item 23 has bad pgno 2084668
db_verify: Page 610250: offpage item 31 has bad pgno 2085543
db_verify: Page 610250: item order check unsafe: skipping

db_verify: Page 610379: offpage item 7 has bad pgno 2084575
db_verify: Page 610379: offpage item 23 has bad pgno 2084617
db_verify: Page 610379: offpage item 31 has bad pgno 2085474
db_verify: Page 610379: item order check unsafe: skipping
db_verify: Page 610622: offpage item 25 has bad pgno 2086573
db_verify: Page 610622: item order check unsafe: skipping
db_verify: Page 610771: offpage item 25 has bad pgno 2086704
db_verify: Page 610771: item order check unsafe: skipping
db_verify: Page 610918: offpage item 25 has bad pgno 2086817
db_verify: Page 610918: item order check unsafe: skipping
db_verify: Page 611033: offpage item 25 has bad pgno 2086926
db_verify: Page 611033: item order check unsafe: skipping
db_verify: Page 611103: offpage item 7 has bad pgno 2084686
db_verify: Page 611103: offpage item 23 has bad pgno 2084706
db_verify: Page 611103: offpage item 31 has bad pgno 2085590
db_verify: Page 611103: item order check unsafe: skipping
db_verify: Page 611311: offpage item 7 has bad pgno 2086097
db_verify: Page 611311: offpage item 15 has bad pgno 2085281
db_verify: Page 611311: offpage item 23 has bad pgno 2086123
db_verify: Page 611311: item order check unsafe: skipping
db_verify: Page 611371: offpage item 7 has bad pgno 2086162
db_verify: Page 611371: offpage item 15 has bad pgno 2085315
db_verify: Page 611371: offpage item 23 has bad pgno 2086178
db_verify: Page 611371: offpage item 31 has bad pgno 2086981
db_verify: Page 611371: item order check unsafe: skipping
db_verify: Page 611453: offpage item 7 has bad pgno 2086210
db_verify: Page 611453: offpage item 15 has bad pgno 2085367
db_verify: Page 611453: offpage item 23 has bad pgno 2086238
db_verify: Page 611453: item order check unsafe: skipping
db_verify: Page 611526: offpage item 7 has bad pgno 2086264
db_verify: Page 611526: offpage item 15 has bad pgno 2085413
db_verify: Page 611526: offpage item 23 has bad pgno 2086286
db_verify: Page 611526: offpage item 31 has bad pgno 2087123
db_verify: Page 611526: item order check unsafe: skipping
db_verify: Page 611588: offpage item 7 has bad pgno 2086313
db_verify: Page 611588: offpage item 15 has bad pgno 2085454
db_verify: Page 611588: offpage item 23 has bad pgno 2086337
db_verify: Page 611588: item order check unsafe: skipping
db_verify: Page 611636: offpage item 7 has bad pgno 2086361
db_verify: Page 611636: offpage item 15 has bad pgno 2085500
db_verify: Page 611636: offpage item 23 has bad pgno 2086374
db_verify: Page 611636: offpage item 31 has bad pgno 2087208
db_verify: Page 611636: item order check unsafe: skipping
db_verify: Page 611694: offpage item 7 has bad pgno 2086403
db_verify: Page 611694: offpage item 15 has bad pgno 2085569
db_verify: Page 611694: offpage item 23 has bad pgno 2086443
db_verify: Page 611694: item order check unsafe: skipping
db_verify: Page 611935: offpage item 13 has bad pgno 2087010
db_verify: Page 611935: item order check unsafe: skipping
db_verify: Page 612116: offpage item 13 has bad pgno 2087147
db_verify: Page 612116: item order check unsafe: skipping
db_verify: Page 612334: offpage item 7 has bad pgno 2086465
db_verify: Page 612334: offpage item 15 has bad pgno 2085612
db_verify: Page 612334: offpage item 23 has bad pgno 2086488
db_verify: Page 612334: item order check unsafe: skipping
db_verify: Page 612644: offpage item 13 has bad pgno 2087078
db_verify: Page 612644: item order check unsafe: skipping
db_verify: Page 612752: offpage item 13 has bad pgno 2087178
db_verify: Page 612752: item order check unsafe: skipping
db_verify: Page 612893: offpage item 13 has bad pgno 2087295
db_verify: Page 612893: item order check unsafe: skipping
db_verify: Page 612939: offpage item 13 has bad pgno 2087332
db_verify: Page 612939: item order check unsafe: skipping
db_verify: Page 613651: offpage item 13 has bad pgno 2087376
db_verify: Page 613651: item order check unsafe: skipping
db_verify: Page 613893: offpage item 25 has bad pgno 2087045
db_verify: Page 613893: item order check unsafe: skipping
db_verify: Page 614041: offpage item 25 has bad pgno 2087156
db_verify: Page 614041: item order check unsafe: skipping
db_verify: Page 614156: offpage item 25 has bad pgno 2087266
db_verify: Page 614156: item order check unsafe: skipping
db_verify: Page 614295: offpage item 25 has bad pgno 2087355
db_verify: Page 614295: item order check unsafe: skipping

db_verify: Page 1531315: offpage item 5 has bad pgno 2085515

db_verify: Page 1531315: offpage item 13 has bad pgno 2086389
db_verify: Page 1531315: offpage item 29 has bad pgno 2084748
db_verify: Page 1531315: item order check unsafe: skipping
db_verify: Page 1531785: offpage item 5 has bad pgno 2086031
db_verify: Page 1531785: offpage item 13 has bad pgno 2085232
db_verify: Page 1531785: offpage item 21 has bad pgno 2086055
db_verify: Page 1531785: item order check unsafe: skipping
db_verify: Page 1535149: offpage item 17 has bad pgno 2087281
db_verify: Page 1535149: item order check unsafe: skipping
db_verify: Page 1536031: offpage item 13 has bad pgno 2084693
db_verify: Page 1536031: item order check unsafe: skipping

db_verify: Page 1546853: offpage item 5 has bad pgno 2085942
db_verify: Page 1546853: offpage item 13 has bad pgno 2086828
db_verify: Page 1546853: offpage item 21 has bad pgno 2084371
db_verify: Page 1546853: offpage item 29 has bad pgno 2085167
db_verify: Page 1546853: item order check unsafe: skipping
db_verify: Page 1547240: offpage item 5 has bad pgno 2086451
db_verify: Page 1547240: offpage item 13 has bad pgno 2085598
db_verify: Page 1547240: offpage item 21 has bad pgno 2086473
db_verify: Page 1547240: item order check unsafe: skipping
db_verify: Page 1551717: offpage item 5 has bad pgno 2084321
db_verify: Page 1551717: offpage item 13 has bad pgno 2085114
db_verify: Page 1551717: offpage item 21 has bad pgno 2084351
db_verify: Page 1551717: item order check unsafe: skipping
db_verify: Page 1552412: offpage item 7 has bad pgno 2087536
db_verify: Page 1552412: item order check unsafe: skipping

db_verify: Page 2083093: offpage item 13 has bad pgno 2084603

db_verify: Page 2083093: item order check unsafe: skipping
db_verify: Page 2083527: offpage item 13 has bad pgno 2085012
db_verify: Page 2083527: item order check unsafe: skipping

db_verify: 157.80.sdbv: DB_VERIFY_BAD: Database verification failed

Verification of 157.80.sdbv failed.

<< ExitCode = 1

Broken file is renamed: I:\SASPlanet\cache\Google_sat_version\z17\39\20\157.80.sdbv.bad

>> db_verify 158.80.sdbv [I:\SASPlanet\cache\Google_sat_version\z17\39\20\]

db_verify: Page 1103: invalid prev_pgno 1149384

db_verify: Page 1103: invalid next_pgno 1150870
db_verify: Page 1103: offpage item 7 has bad pgno 1150871
db_verify: Page 1103: item order check unsafe: skipping
db_verify: Page 1463: invalid prev_pgno 1150833
db_verify: Page 1649: invalid prev_pgno 1149532
db_verify: Page 1649: invalid next_pgno 1149531
db_verify: Page 1649: offpage item 9 has bad pgno 1150195
db_verify: Page 1649: offpage item 19 has bad pgno 1149551
db_verify: Page 1649: item order check unsafe: skipping
db_verify: Page 1694: invalid next_pgno 1148421
db_verify: Page 1694: offpage item 7 has bad pgno 1148422
db_verify: Page 1694: offpage item 17 has bad pgno 1148943
db_verify: Page 1694: item order check unsafe: skipping

db_verify: Page 3614: invalid prev_pgno 1149347

db_verify: Page 4187: invalid prev_pgno 1149310
db_verify: Page 4187: invalid next_pgno 1150797
db_verify: Page 4187: offpage item 7 has bad pgno 1150798
db_verify: Page 4187: item order check unsafe: skipping
db_verify: Page 4433: invalid next_pgno 1148390
db_verify: Page 4433: offpage item 7 has bad pgno 1148391
db_verify: Page 4433: offpage item 17 has bad pgno 1148907
db_verify: Page 4433: item order check unsafe: skipping
db_verify: Page 4575: invalid prev_pgno 1148486
db_verify: Page 4575: invalid next_pgno 1149457
db_verify: Page 4575: offpage item 9 has bad pgno 1150061
db_verify: Page 4575: offpage item 19 has bad pgno 1149476
db_verify: Page 4575: item order check unsafe: skipping

db_verify: Page 5178: invalid next_pgno 1149532

db_verify: Page 6105: invalid prev_pgno 1149568
db_verify: Page 6105: invalid next_pgno 1149567
db_verify: Page 6105: offpage item 9 has bad pgno 1150266
db_verify: Page 6105: offpage item 19 has bad pgno 1149586
db_verify: Page 6105: item order check unsafe: skipping
db_verify: Page 6296: invalid next_pgno 1148353
db_verify: Page 6296: offpage item 7 has bad pgno 1148354
db_verify: Page 6296: offpage item 17 has bad pgno 1148871
db_verify: Page 6296: item order check unsafe: skipping
db_verify: Page 6568: invalid prev_pgno 1151039
db_verify: Page 6880: invalid prev_pgno 1149494
db_verify: Page 6880: invalid next_pgno 1149493
db_verify: Page 6880: offpage item 9 has bad pgno 1150111
db_verify: Page 6880: offpage item 19 has bad pgno 1149513
db_verify: Page 6880: item order check unsafe: skipping
db_verify: Page 6885: invalid next_pgno 1149384
db_verify: Page 6885: offpage item 7 has bad pgno 1149385
db_verify: Page 6885: offpage item 17 has bad pgno 1149940
db_verify: Page 6885: item order check unsafe: skipping
db_verify: Page 7040: invalid prev_pgno 1148249

db_verify: Page 8208: invalid prev_pgno 1148421

db_verify: Page 10073: invalid prev_pgno 1149567

db_verify: Page 10283: invalid prev_pgno 1149531
db_verify: Page 10283: invalid next_pgno 1149568
db_verify: Page 10395: invalid next_pgno 1148323
db_verify: Page 10395: offpage item 7 has bad pgno 1148324
db_verify: Page 10395: offpage item 17 has bad pgno 1148839
db_verify: Page 10395: item order check unsafe: skipping
db_verify: Page 11035: invalid next_pgno 1148286
db_verify: Page 11035: offpage item 7 has bad pgno 1148287
db_verify: Page 11035: offpage item 17 has bad pgno 1148803
db_verify: Page 11035: item order check unsafe: skipping

db_verify: Page 12461: invalid prev_pgno 1149493

db_verify: Page 12698: invalid prev_pgno 1148353
db_verify: Page 12698: invalid next_pgno 1149310
db_verify: Page 12698: offpage item 7 has bad pgno 1149311
db_verify: Page 12698: offpage item 17 has bad pgno 1149867
db_verify: Page 12698: item order check unsafe: skipping
db_verify: Page 12733: invalid next_pgno 1149420
db_verify: Page 12733: offpage item 7 has bad pgno 1149421
db_verify: Page 12733: offpage item 17 has bad pgno 1149976
db_verify: Page 12733: item order check unsafe: skipping
db_verify: Page 12929: invalid next_pgno 1148249
db_verify: Page 12929: offpage item 7 has bad pgno 1148250
db_verify: Page 12929: offpage item 17 has bad pgno 1148766
db_verify: Page 12929: item order check unsafe: skipping

db_verify: Page 15309: invalid prev_pgno 1148286

db_verify: Page 16509: invalid prev_pgno 1149457
db_verify: Page 16509: invalid next_pgno 1149494
db_verify: Page 16509: offpage item 17 has bad pgno 1151007
db_verify: Page 16509: item order check unsafe: skipping

db_verify: Page 16889: invalid prev_pgno 1148390
db_verify: Page 17329: invalid prev_pgno 1149420
db_verify: Page 17370: invalid prev_pgno 1150797
db_verify: Page 17370: invalid next_pgno 1149347
db_verify: Page 17370: offpage item 7 has bad pgno 1149348
db_verify: Page 17370: offpage item 17 has bad pgno 1149904
db_verify: Page 17370: item order check unsafe: skipping
db_verify: Page 17591: invalid next_pgno 1148486
db_verify: Page 17591: offpage item 9 has bad pgno 1149010
db_verify: Page 17591: offpage item 19 has bad pgno 1148505
db_verify: Page 17591: item order check unsafe: skipping

db_verify: Page 18500: offpage item 9 has bad pgno 1148975
db_verify: Page 18500: offpage item 19 has bad pgno 1148468
db_verify: Page 18500: item order check unsafe: skipping
db_verify: Page 18581: invalid prev_pgno 1148323

db_verify: Page 77557: offpage item 25 has bad pgno 1150231

db_verify: Page 77557: item order check unsafe: skipping
db_verify: Page 77726: offpage item 25 has bad pgno 1150373
db_verify: Page 77726: item order check unsafe: skipping
db_verify: Page 77923: offpage item 25 has bad pgno 1150504
db_verify: Page 77923: item order check unsafe: skipping
db_verify: Page 78044: offpage item 25 has bad pgno 1150652
db_verify: Page 78044: item order check unsafe: skipping
db_verify: Page 78358: offpage item 13 has bad pgno 1150248
db_verify: Page 78358: item order check unsafe: skipping
db_verify: Page 78679: offpage item 13 has bad pgno 1150553
db_verify: Page 78679: item order check unsafe: skipping

db_verify: Page 78782: offpage item 13 has bad pgno 1150700
db_verify: Page 78782: item order check unsafe: skipping
db_verify: Page 78955: offpage item 13 has bad pgno 1150339
db_verify: Page 78955: item order check unsafe: skipping
db_verify: Page 79081: offpage item 13 has bad pgno 1150488
db_verify: Page 79081: item order check unsafe: skipping
db_verify: Page 79250: offpage item 13 has bad pgno 1150619
db_verify: Page 79250: item order check unsafe: skipping
db_verify: Page 79438: offpage item 13 has bad pgno 1150764
db_verify: Page 79438: item order check unsafe: skipping

db_verify: Page 80425: offpage item 25 has bad pgno 1150302
db_verify: Page 80425: item order check unsafe: skipping
db_verify: Page 80630: offpage item 25 has bad pgno 1150438
db_verify: Page 80630: item order check unsafe: skipping
db_verify: Page 80788: offpage item 25 has bad pgno 1150587
db_verify: Page 80788: item order check unsafe: skipping

db_verify: Page 165675: invalid prev_pgno 1148162

db_verify: Page 166887: invalid prev_pgno 1148190

db_verify: Page 167161: offpage item 17 has bad pgno 1148523
db_verify: Page 167161: item order check unsafe: skipping
db_verify: Page 167198: offpage item 17 has bad pgno 1148557
db_verify: Page 167198: item order check unsafe: skipping
db_verify: Page 167234: offpage item 17 has bad pgno 1148593
db_verify: Page 167234: item order check unsafe: skipping
db_verify: Page 167269: offpage item 17 has bad pgno 1148629
db_verify: Page 167269: item order check unsafe: skipping
db_verify: Page 167298: offpage item 17 has bad pgno 1148659
db_verify: Page 167298: item order check unsafe: skipping
db_verify: Page 167328: invalid next_pgno 1148162
db_verify: Page 167328: offpage item 7 has bad pgno 1148163
db_verify: Page 167328: offpage item 17 has bad pgno 1148684
db_verify: Page 167328: item order check unsafe: skipping
db_verify: Page 167355: invalid next_pgno 1148190
db_verify: Page 167355: offpage item 7 has bad pgno 1148191
db_verify: Page 167355: offpage item 17 has bad pgno 1148712
db_verify: Page 167355: item order check unsafe: skipping
db_verify: Page 167379: invalid next_pgno 1148217
db_verify: Page 167379: offpage item 7 has bad pgno 1148218
db_verify: Page 167379: offpage item 17 has bad pgno 1148737
db_verify: Page 167379: item order check unsafe: skipping
db_verify: Page 167450: invalid next_pgno 1149046
db_verify: Page 167450: offpage item 7 has bad pgno 1149047
db_verify: Page 167450: offpage item 17 has bad pgno 1149604
db_verify: Page 167450: item order check unsafe: skipping
db_verify: Page 167519: invalid next_pgno 1149118
db_verify: Page 167519: offpage item 7 has bad pgno 1149119
db_verify: Page 167519: offpage item 17 has bad pgno 1149674
db_verify: Page 167519: item order check unsafe: skipping
db_verify: Page 167614: invalid prev_pgno 1148217
db_verify: Page 167614: invalid next_pgno 1149189
db_verify: Page 167614: offpage item 7 has bad pgno 1149190
db_verify: Page 167614: offpage item 17 has bad pgno 1149742
db_verify: Page 167614: item order check unsafe: skipping
db_verify: Page 167709: invalid next_pgno 1149250
db_verify: Page 167709: offpage item 7 has bad pgno 1149251
db_verify: Page 167709: offpage item 17 has bad pgno 1149806
db_verify: Page 167709: item order check unsafe: skipping
db_verify: Page 167849: invalid prev_pgno 1150321
db_verify: Page 167849: invalid next_pgno 1149082
db_verify: Page 167849: offpage item 7 has bad pgno 1149083
db_verify: Page 167849: offpage item 17 has bad pgno 1149638
db_verify: Page 167849: item order check unsafe: skipping
db_verify: Page 167973: invalid prev_pgno 1150452
db_verify: Page 167973: invalid next_pgno 1149155
db_verify: Page 167973: offpage item 7 has bad pgno 1149156
db_verify: Page 167973: offpage item 17 has bad pgno 1149710
db_verify: Page 167973: item order check unsafe: skipping
db_verify: Page 168081: invalid prev_pgno 1150568
db_verify: Page 168081: invalid next_pgno 1149221
db_verify: Page 168081: offpage item 7 has bad pgno 1149222
db_verify: Page 168081: offpage item 17 has bad pgno 1149777
db_verify: Page 168081: item order check unsafe: skipping
db_verify: Page 168187: invalid prev_pgno 1150684
db_verify: Page 168187: invalid next_pgno 1149275
db_verify: Page 168187: offpage item 7 has bad pgno 1149276
db_verify: Page 168187: offpage item 17 has bad pgno 1149831
db_verify: Page 168187: item order check unsafe: skipping
db_verify: Page 168769: invalid prev_pgno 1149046

db_verify: Page 168849: invalid prev_pgno 1149082
db_verify: Page 168849: invalid next_pgno 1150387
db_verify: Page 168849: offpage item 7 has bad pgno 1150388
db_verify: Page 168849: item order check unsafe: skipping
db_verify: Page 168917: invalid prev_pgno 1149118
db_verify: Page 168976: invalid prev_pgno 1149155
db_verify: Page 168976: invalid next_pgno 1150519
db_verify: Page 168976: offpage item 7 has bad pgno 1150520
db_verify: Page 168976: item order check unsafe: skipping
db_verify: Page 169028: invalid prev_pgno 1149189
db_verify: Page 169028: invalid next_pgno 1150568
db_verify: Page 169028: offpage item 7 has bad pgno 1150569
db_verify: Page 169028: item order check unsafe: skipping
db_verify: Page 169083: invalid prev_pgno 1149221
db_verify: Page 169083: invalid next_pgno 1150633
db_verify: Page 169083: offpage item 7 has bad pgno 1150634
db_verify: Page 169083: item order check unsafe: skipping
db_verify: Page 169154: invalid prev_pgno 1149250
db_verify: Page 169154: invalid next_pgno 1150684
db_verify: Page 169154: offpage item 7 has bad pgno 1150685
db_verify: Page 169154: item order check unsafe: skipping
db_verify: Page 169204: invalid prev_pgno 1149275
db_verify: Page 169204: invalid next_pgno 1150745
db_verify: Page 169204: offpage item 7 has bad pgno 1150746
db_verify: Page 169204: item order check unsafe: skipping
db_verify: Page 169393: invalid prev_pgno 1150387
db_verify: Page 169561: invalid prev_pgno 1150519
db_verify: Page 169744: invalid prev_pgno 1150633
db_verify: Page 169919: invalid prev_pgno 1150745

db_verify: Page 231550: offpage item 25 has bad pgno 1150097

db_verify: Page 231550: item order check unsafe: skipping
db_verify: Page 232330: invalid next_pgno 1149994
db_verify: Page 232330: offpage item 17 has bad pgno 1149995
db_verify: Page 232330: item order check unsafe: skipping
db_verify: Page 232485: offpage item 13 has bad pgno 1150129
db_verify: Page 232485: item order check unsafe: skipping
db_verify: Page 233120: offpage item 7 has bad pgno 1150978
db_verify: Page 233120: offpage item 15 has bad pgno 1150045
db_verify: Page 233120: offpage item 23 has bad pgno 1150993
db_verify: Page 233120: item order check unsafe: skipping
db_verify: Page 233222: offpage item 13 has bad pgno 1150178
db_verify: Page 233222: item order check unsafe: skipping

db_verify: Page 234686: invalid prev_pgno 1149994
db_verify: Page 234686: offpage item 31 has bad pgno 1150011
db_verify: Page 234686: item order check unsafe: skipping
db_verify: Page 234873: offpage item 25 has bad pgno 1150144
db_verify: Page 234873: item order check unsafe: skipping

db_verify: Page 1147441: offpage item 19 has bad pgno 1148450

db_verify: Page 1147441: item order check unsafe: skipping
db_verify: Page 1147476: offpage item 19 has bad pgno 1148487
db_verify: Page 1147476: item order check unsafe: skipping
db_verify: Page 1147477: offpage item 9 has bad pgno 1148992
db_verify: Page 1147477: item order check unsafe: skipping
db_verify: Page 1147999: offpage item 17 has bad pgno 1148541
db_verify: Page 1147999: item order check unsafe: skipping
db_verify: Page 1148035: offpage item 17 has bad pgno 1148575
db_verify: Page 1148035: item order check unsafe: skipping
db_verify: Page 1148072: offpage item 17 has bad pgno 1148611
db_verify: Page 1148072: item order check unsafe: skipping
db_verify: Page 1148107: offpage item 17 has bad pgno 1148645
db_verify: Page 1148107: item order check unsafe: skipping
db_verify: Page 1148134: offpage item 7 has bad pgno 1148149
db_verify: Page 1148134: offpage item 17 has bad pgno 1148670
db_verify: Page 1148134: item order check unsafe: skipping
db_verify: 158.80.sdbv: DB_VERIFY_BAD: Database verification failed

Verification of 158.80.sdbv failed.

<< ExitCode = 1

Broken file is renamed: I:\SASPlanet\cache\Google_sat_version\z17\39\20\158.80.sdbv.bad

Жаль терять данные...
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 606 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение T_Im » 02 дек 2016, 01:01

При дампинге файлов возникает какая-то ошибка, и дампы не создаются.

>> db_dump -f

правильно, если база сильно побита, нужны ключи -R / -r (в дополнительных параметрах), но, перечитайте внимательно мои предыдущие сообщения: во первых sdb util не умеет восстанавливать базу с этими ключами, а во вторых, вы сильно рискуете необратимо потерять данные, восстанавливая кеш "Restore broken files from *.bad" с помощью sdb util!

Сделайте так:
распакуйте этот архив (тут есть моя утилита и правильные версии файлов db_*, в версии из шапки есть проблемы с -R ключем)
http://rgho.st/6Nxng4CFb
к себе в папку с файлом 158.80.sdbv.bad
и выполните в этой папке команду
Код: Выделить всё
db_dump -R 158.80.sdb.bad | db_cleaner | db_load 158.80.sdb

сравните размер 158.80.sdb.bad и получившегося 158.80.sdb - если они близки, то почти все восстановилось (прежде чем включать 158.80.sdb в рабочий кеш, необходимо пройтись по нему sdb_utils в режиме приготовки к бэкапу), если нет - то это, вероятно, все, что вы когда либо сможете вытянуть из битого файла.
T_Im
Постигающий Дао
 
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 15 раз.
Поблагодарили: 14 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение Papazol » 06 дек 2016, 22:53

Похоже, восстановить данные невозможно. Всё я сделал так, как написано, но в результате появились файлы размером 4096 байт, это явно не то, что нужно. Жаль.
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 606 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение T_Im » 07 дек 2016, 02:31

Могу глянуть, если вы выложите первые метров 20-80 базы куда нибудь на обменник.
Как то не верится, что так мало вытянуло... (у меня так было только если база пересекалась с "чужим" файлом или забивалась нулями - т.е. когда там действительно уже не было информации)
T_Im
Постигающий Дао
 
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 15 раз.
Поблагодарили: 14 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение Papazol » 07 дек 2016, 11:29

А как это "первые 20-80 метров"? Файл резать?
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 606 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение T_Im » 07 дек 2016, 15:03

Да отрезать первые 20-80 метров (от начала bad файла, в хекс редакторе или Total коммандером, ...)
этого скорее всего будет достаточно, чтобы увидеть, есть ли там живые тайлы.
T_Im
Постигающий Дао
 
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 15 раз.
Поблагодарили: 14 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение Papazol » 07 дек 2016, 20:26

Тогда вот: http://rgho.st/68GnvcTX5
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 606 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение T_Im » 07 дек 2016, 22:58

Ваша база отличается от моих. Вероятно, это версионная база, а я работал с неверсионными.
В версионной базе ключи и смещения тайлов другие.
Поправил фильтр, чтобы работал и для версионных баз (просьба всем перекачать db_cleaner на версию из этого сообщения), теперь должно работать :geek:

PS: что то не могу отредактировать свое старое сообщение со ссылками., чтобы обновить файлы и там.
Вложения
db_cleaner.7z
3-я обновленная версия, должна работать как с обычными, так и с версионными данными
(426.7 KiB) Скачиваний: 135
db_cleaner_source.7z
исходник
(1.23 KiB) Скачиваний: 117
Последний раз редактировалось T_Im 09 дек 2016, 00:29, всего редактировалось 1 раз.

За это сообщение автора T_Im поблагодарил:
Papazol (08 дек 2016, 19:55)
Рейтинг: 5.26%
 
T_Im
Постигающий Дао
 
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 15 раз.
Поблагодарили: 14 раз.

Re: Восстановление убитого кэша Беркли (BerkeleyDB)

Сообщение Papazol » 08 дек 2016, 19:53

Итак, применил я все указанные средства к своим битым файлам. В результате получил небитые файлы. Верификацию они проходят без ошибок. Программа их принимает нормально. То есть средства работают. За это большое спасибо!

Однако есть кое-какие непонятки.

1. Файлы немаленькие, то есть должны содержать приличное количество тайлов разных версий. Поскольку эти файлы лежат в папке ...\z17\..., логично предположить, что все тайлы, содержащиеся в этих файлах, относятся к z17. Поэтому и искать их (строить карту заполнения, например) следует на z17. Так вот, включив "Отображать другие версии", я строю карту заполнения на z17 для полигона, описывающего содержимое одного из бывших битых файлов (158.80), а она (карта) показывает, что там тайлов-то и нет. И реально, на других зумах тайлы есть, а на z17 нет. Что же тогда содержится в восстановленных файлах? Или я чего-то не понимаю либо не так делаю?

2. Когда мои файлы испортились, я скачивал новую на то время версию снимков, причём часть интересующей меня области я скачал в испортившиеся файлы. После того, как файлы испортились, я начал скачивать интересующую меня область заново, и при этом образовались новые файлы 157.80.sdbv и 158.80.sdbv. Если предположить, что мои испорченные файлы восстановились (хотя бы и не полностью), могу ли я слить данные из новых файлов в старые (восстановленные)? Или мне перекачивать по-новой?
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 606 раз.

Пред.След.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 91