среда, 20 марта 2013 г.

Резервное копирование программой OBConvert

Зачем нужен инструмент для копирования данных OBConvert.exe?

1) Импорт из баз данных предыдущих версий
При выходе новых версий Планар 16 ПО в базе данных может поменяться внутренняя структура: появляются новые таблицы, процедуры, удаляются устаревшие, вносятся другие изменения. Чтобы новый сервер мог без ошибок работать с уже накопленными данными, необходимо выполнить копирование данных  в базу с новой структурой. Это и можно сделать данным инструментом.

2) Резервное копирование
Как многие знают, база данных может быть утеряна в результате неисправности компьютера, ошибок в работе аппаратуры и программного обеспечения. Например, она может повредиться при пропадании питания компьютера. 
Поэтому важно иметь резервную копию файла базы, чтобы можно было быстро восстановить работоспособность сервера в случае аварии. Причем, простое копирование файла базы недопустимо, так как в таком случае база повреждается (правда, можно остановить все программы, подключенные к базе, остановить сервер Firebird, а потом просто скопировать файл). Для создания копии нужно воспользоваться или штатным механизмом копирования Firebird (gbak.exe), или использовать данный инструмент.

В чем преимущество копирования через данную программу? При использовании штатного механизма копирования базы имеем в результате копию (*.fbk), для превращения которой в рабочую базу (*.fdb) требуется процедура восстановления (restore). То-есть, время готовности копии почти удваивается. При копировании через OBConvert.exe получаем сразу готовую базу *.fdb.

3) Улучшение структуры базы
База в процессе работы увеличивает свой размер, и в ней происходят разные явления, ухудшающие ее работу. Например, устаревает статистика индексов, накапливаются ошибки структуры и т.п.. Поэтому, периодически надо делать резервное копирование и восстановление в новую базу (что долго). DataCopy.exe позволит улучшить структуру базы данных, скопировав ее в новый пустой файл. Для наибольшего эффекта, копировать нужно в пустую базу, небольшого размера, где еще не накопился "мусор". Желательно иметь наготове пустой файл базы, и перед копированием заменять файл - получатель этим пустым файлом. Копировать каждый раз в тот же самый файл нежелательно, хотя и допустимо.  


4) Объединение двух баз

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


5) Удаление устаревших данных

При копировании можно задать период, за какой переносить историю. Таким образом, можно избавиться от устаревших событий в базе.


6) Переход с предыдущих версий СУБД Firebird на версию 2.5

Последние версии  Планар16 ПО (2.5.7 и выше) работают с СУБД Firebird 2.5, ранее использовалась версия 1.5.
Firebird 2.5 не сможет корректно работать с имеющейся старой базой 1.5 без ее небольшой обработки (нужно сделать резервную копию  базы на Firebird 1.5,  потом восстановить ее в Firebird 2.5 (с переводом текстовых строк в Unicode)).
 
Более простой способ перевести базу данных на новый движок версии 2.5 - копирование данных с сервера предыдущей версии на сервер текущей. Для этого, временно установите последнюю версию Планар 16 ПО на любом компьютере, соединенном со старым пультом в локальную сеть. Укажите в программе копирования в качестве исходной базы старую версию пульта (IP адрес старого пульта: .....\Планар 16\Base\cupola.fdb). Укажите в качестве результирующей базу в новой версии пульта (IP адрес нового  пульта: .....\Планар 16\Base\cupola.fdb).
Проведите копирование, и на компьютере с последней версией пульта получите базу нового формата (скопируйте ее, она понадобится). Проверьте, что все объекты на месте, все настройки правильные. Теперь можно удалить старую версию пульта, окончательно установить новую.
После этого замените базу конвертированной.

Можно, конечно, не делать конвертирование, и оставить СУБД Firebird 1.5. Но, в этом случае, при установке Планар 16 ПО 2.5.7 откажитесь от установки Firebird 2.5 ( к моменту установки 1.5 должна быть установлена). 

Как пользоваться?

Программа не требует установки. Нужно только скопировать папку на диск, запустить и настроить. Настройка - указание параметров подключения к базам (адрес сервера, путь к базе, копируемые таблицы, период).

После запуска программы на экране откроется окно:



 Исходная база 1

Первым делом надо указать путь к базе данных, которую будем копировать ("Исходная база"). Если программа OBConvert лежит в папке с базой, путь к базе настраивать не нужно, и после запуска исходная база и так уже правильно указана.
Путь к базе состоит из  имени сервера (или его IP адреса) и имени файла базы. Введите IP адрес или имя компьютера в первое окошко. Если и база, и программа находятся на одном компьютере,  вводим туда "127.0.0.1", как на рисунке (можно, конечно, ввести и сетевое имя компьютера).  Во второе окошко вводим путь к базе cupola.fdb, можно воспользоваться кнопкой "..." и указать файл с помощью диалога выболра файла.


Если база и программа копирования находятся на разных компьютерах, узнаем сетевое имя или адрес компьютера, записываем правильный путь к файлу базы cupola.fdb. Вводим имя сервера и путь к базе (тут не получится воспользоваться диалогом выбора файла). Аккуратно вводим путь к файлу базы данных, переписав его с компьютера, где лежит база.  


 Исходная база 2

Указываем базу 2, если надо объединить две базы в одну. Обычно этого не требуется, тогда оставляем эти поля пустыми. Путь к базе указывается так-же, как и для первой исходной базы.


Новая база

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

Что делать, если нет файла новой базы, или при копировании в него возникает ошибка?
Можно использовать копию исходной базы (перед копированием, обязательно выключаем все программы Планар 16 ПО)

Будьте аккуратны при указании новой базы. База, которую указали как "Новую" очищается, данные, имеющиеся в ней, стираются при копировании, и заменяются данными из исходных баз! Так что, не укажите случайно файл, который содержит нужные данные, иначе они будут утеряны.
Исходная база 1 и Исходная база 2 никак не изменяются и не могут быть повреждены при копировании. 



Период времени

Здесь указываем период истории, который надо перенести. Выбирайте небольшой период, не больше нескольких месяцев. Копирование длительная операция, исходная база все равно содержит всю историю (и ее можно посмотреть через отчеты). Нет смысла глубоко дублировать информацию из старой базы в новую.

Выбор списка таблиц

С помощью списка таблиц, можно выбрать информацию, которая будет перенесена в новую базу. Обычно, нужно выбирать таблицы, отмеченные галочками на рисунке.
Пояснение по назначению таблиц можно получить, указав мышкой на галочку.

Копирование

Для старта копирования нажмите кнопку Копировать. Появится окно с параметрами подключения к базе. Тут нужно ввести пароль пользователя SYSDBA в поле Password.
Если все в порядке, начнется копирование. Если появляются сообщения об ошибке, это означает, что настройки путей к базам или пароль неправильный. Проверьте настройки баз и повторите попытку, введя правильный пароль от программы администрирования.
Окно регистрации появляется для каждой базы данных.
После успешной регистрации запускается процесс копирования.  Прогресс копирования отображается в окне программы.


Что делать, если при копировании возникают ошибки

Сказать, что база успешно скопирована можно, если при копировании не возникло ошибок. А так бывает, если файл исходной базы не поврежден, если базы совместимы по версиям, если база не содержит пересекающихся идентификаторов и т.п. В прочих случаях могут наблюдаться ошибки при копировании. Если ошибки все-таки есть, в некоторых случаях их можно проигнорировать, или просто не копировать данные этой таблицы. Например, если отключить перенос истории при копировании, в результате получится полностью работоспособная база, хотя и без истории событий.


Где взять программу?

Взять программу можно здесь:
Ссылка для загрузки программы (12 МБ)

Также она входит в дистрибутив Планар 16 ПО, и после установки лежит в папке с базой. 

Комментариев нет:

Отправить комментарий