Восстановление таблицы

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Ответить
sol
Постоянный обитатель
Сообщения: 165
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Орловская обл. коммерческая организация

Восстановление таблицы

Сообщение sol »

Накрылась таблица PLPOR.dat. Восстановление Recover-ом дало частичный эффект: платежные документы за май не восстановились (почти 1000 записей). Пробовал butil -copy -эффект тот-же. Может кто-нибудь выходил из таких ситуаций? Срочно нужна помощь!!!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Восстановление таблицы

Сообщение m0p3e »

В свое время ppl из корпы рекомендовал нам приблуду datasave. Валяется на ftp.galaktika.ru.
ЗЫ Мы ей так и не воспользовались.
sol
Постоянный обитатель
Сообщения: 165
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Орловская обл. коммерческая организация

Re: Попробовал DataSave

Сообщение sol »

Работает так же как Recover,только в 100 раз быстрее. И recover и datasave останавливаются на сбойной строке и дальше идти не хотят. Т.е. информация восстановилась до сбойной строки. Может быть в Butil или DataSave есть возможность задать с какой и по какую строку начать восстановление, чтобы перепрыгнуть сбойную строчку????
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re: Попробовал DataSave

Сообщение DarkGreen »

А если попробовать по индексу ATL_LASTDATE + ATL_LASTTIME сказать GetLast, а потом GetPrev?
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Re: Попробовал DataSave

Сообщение maikl »

А не пробовал вывести ее в файл (dbf), а затем назад. Или (если Первасив) в вывести в файл, а затем восстановить в пустую таблицу.
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re: Попробовал DataSave

Сообщение DarkGreen »

2 Автор: Михаил
Дата: 29-05-03 08:42 MSK+2

ИМХО, не получится, т. к. при выгрузке в DBF, галактика наверняка не использует индексы и поэтому заткнется на той же записи.

2 Автор: Alex
Дата: 28-05-03 17:30 MSK+2
А ты не пробовал butil -recover, butil -load?
sth
Постоянный обитатель
Сообщения: 148
Зарегистрирован: 29 мар 2005, 17:49

Re: Попробовал DataSave

Сообщение sth »

можно еще попробовать использовать первасивовские утилиты maintenance и rebuild...но наверное эффект будет тот же...
sol
Постоянный обитатель
Сообщения: 165
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Орловская обл. коммерческая организация

Re:Восстановление с любой строки

Сообщение sol »

Интересно, есть ли возможность начать процесс восттановление butil -recover не с первой строки, а, например, с 100-й. Т.е. восстанавливать только нужную часть таблицы...
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re:Восстановление с любой строки

Сообщение DarkGreen »

ИМХО нет, но можно самому написать на BtrAPI программку, которая попробует сперва без использования индексов стать на последнюю запись а от нее начать двигаться назад, если не получится, то тогда нужно попытаться тоже самое сделать с использоанием индексов
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re:Восстановление с любой строки

Сообщение edward_K »

если ничего не помогает можно по тому же индексу ATL_LASTDATE + ATL_LASTTIME делать выкачку в dbf. при обнаружении ошибки накладываем условие
where (( <<= ATL_LASTDATE )) order by
ATL_LASTDATE,ATL_LASTTIME и пробуем дальше
потом грохаем оригинал и закачиваем в него в режиме добавления из всех dbf. - можно еще что то спасти :).
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re:Восстановление с любой строки

Сообщение DarkGreen »

2 Автор: Edward_K
Дата: 30-05-03 158 MSK+2
Блин, а ведь действительно, если разрушена страница данных, а индекс цел, то такой подход должен сработать. :)
2 All
Да, для информации. Есть у нас некое средство, фыполняющее функции Pervasive Control Centre'а (то есть позволяет создавать словари, таблицы, редактировать их и т. д.). Так вот, был у нас случай, когда на таблицу создали ссылку из двух словарей (один словарь лежал на локале, второй на сервере), после этого со второго словаря начали удалять данные из этой таблицы, в результате (это мне не понятно) в талице порушились ВСЕ !!! индексы (благо таблица была справочная и изменялась редко, поэтому ее просто восстановили из архива)
:-/
sol
Постоянный обитатель
Сообщения: 165
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Орловская обл. коммерческая организация

Re:И все-таки восстановить можно

Сообщение sol »

У меня не получилось стандартными средствами восстановить таблицу, а вот одному нашему орловскому программисту это удалось. Было задвоение записей, поэтому ни Recover, ни Datasave ничего не смогли сделать: стопорились на этой строке. Так вот он разрезал таблицу, выкинул сбойную строку и восстановил все данные. И похоже на то, что теперь есть возможность восстанавливать любые "убитые таблицы", лишь бы там были данные. Осталось только уговорить его поделиться опытом...
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re:И все-таки восстановить можно

Сообщение DarkGreen »

Круто. А вот где он нашел описание формата файла Btrieve? Тоже хочу :o :)
Gege
Сообщения: 4
Зарегистрирован: 29 мар 2005, 17:49

Re:И все-таки восстановить можно

Сообщение Gege »

Как крайнее средство воостановить Plpor по фин хозоперациям...
Ответить