Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Упаковка, резервое копироване таблиц Paradox [D6, Paradox]


intaari ©   (2005-01-12 12:58:00) 

Добрый день!!!
Читая литерату по програмированиб БД упоминается упаковка и резервное копировани таблиц. Второе понятно, а что подразумевается под упаковкой. Так же возник вопрос как правильно организовать резервирование данных. У кого есть опыт или соображения просьба высказаться.


Anatoly Podgoretsky   (2005-01-12 17:59:00) [1]

Необязательно, если одна база окажется не консистентной, то есть еще 23. Нагрузка не очень высокая.


DSKalugin   (2005-01-12 17:49:00) [2]

>Я сбрасываю раз в час, не руками конечно.
Дык закрывать базу полностью надо перед архивацией. Это что же пользователю за грабли такие будут каждый час база отключается. Работать не возможно. Или как-то по другому?


Anatoly Podgoretsky   (2005-01-12 17:08:00) [3]

Я сбрасываю раз в час, не руками конечно.


DSKalugin   (2005-01-12 16:58:00) [4]

Я делал так
-отключаюсь от БД
-закрываю БДЕ сессию
-архивирую базу архиватором.
 В имени архива присутствует дата или день недели
-подключаюсь к базе


msguns   (2005-01-12 16:31:00) [5]

АП верно сказал о поколениях архивов. В случае поломки таблиц в парадоксе есть только 3 способа:
- вручную программером с помощью гроханья индексов и повторной индексациии поврежденной таблицы - лечится примерно в 90% случаев. Но а) нужен программер, б) полный останов всех клиентов, так или иначе юзающих поврежденные таблы, в) довольно муторно и не быстро. В случае успеха потерь почти нет.
- подъем всей базы из архива. Выполняется юзером без программиста. Потеря всей информации, введенной с момента получения архива.
- замена поврежденных таблиц БД их "предками" из архива. Очень трудоемкий и тонкий процесс, требующий досконального знания структуры и связей всей БД, а также особенностей работы клиентских программ. Как правило, продолжителен по времени. Теряется только та информация, которая была введена в поврежденные таблицы с момента снятия архива.

Сама процедура сброса в архив может выполняться двумя путями:
1. "Толстая" архивация: упаковка каталога с БД (зип или арж). Требует завершения работы с БД всех клиентов
2. "Тонкая" архивация: в отдельный (временный) каталог переписываются только данные (средствами парадокса - запрос по всем полям), а потом каталог упаковывается. При восстановлении нудна "база-шаблон" (т.е. пустая база, но со всей бизнес-логикой), которая переписывается на место рабочей, а в нее вливаются по очереди предварительно распакованные данные из архива. При наличии соотв.проги (достаточно сложной) можно "поднимать" не всю базу, а отдельные ее таблицы или группы таблиц) По сравнению с "толстой" не содержит повреждений и после восстановления полностью работоспособна.

Частота сброса БД в архив зависит от величины БД, ее изменяемости и режима работы конторы. Обычно сброс в конце раб.дня.


intaari   (2005-01-12 15:32:00) [6]

Есть ли еще какие нибудь варианты сохранности данных, без перехода на другую платформу.


Anatoly Podgoretsky   (2005-01-12 15:26:00) [7]

Тогда обычное копирование папки с таблицами. Только не делай автоматического восстановления. Кроме того само копирование тоже не безпасно, возможна замена рабочей копии испорченной. Поэтому стоит делать поколение архивов. Скажем по одному в день, на протяжении недели или более.


intaari   (2005-01-12 15:16:00) [8]


> Что понимается под резервированием?

Исходя из того, что существует вероятность полной потери таблицы или в процессе востановления бубет потеряно существенное количество данных, есть смысл делать копию таблицы, скажем при запуске приложения и при невозможности восстановления заменять теущую таблицу копией. Так как я не имею достаточного опыта по работе с БД, это мое виденье вопроса.


Anatoly Podgoretsky   (2005-01-12 14:42:00) [9]

Для Парадокса особого смысла не имеет, кроме того как таковой упаковки у него нет, есть реструктизация таблиц.

intaari   (12.01.05 12:58)  
Что понимается под резервированием?


Александр Иванов   (2005-01-12 13:03:00) [10]

Упаковка таблиц - физическое удаление записей таблицы, ранее помеченных, как удаленные.


Наверх

Титульная страница Поиск, карта сайта Написать письмо