мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
nb_examples [29.10.2021 13:35] Анисютин создано |
nb_examples [09.11.2021 20:11] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Варианты настройки ====== | ====== Варианты настройки ====== | ||
- | * [[:nb_agbDBBackuper|Проект "Агбис Резервное копирование"]]\\ | + | [[:nb_agbDBBackuper|Проект "Агбис Резервное копирование"]]\\ |
<ifauth @programmers> | <ifauth @programmers> | ||
E:\_Projects\Agbis.dxe\AdminTools\agbDBBackuper\agbDBBackuper.dpr\\ | E:\_Projects\Agbis.dxe\AdminTools\agbDBBackuper\agbDBBackuper.dpr\\ | ||
</ifauth> | </ifauth> | ||
- | ===== Сравнение быстродействия ===== | + | Проверяем, что в папке с программой **agbDBBackuperGUI.exe** находится программа **agbDBBackuper.exe**.\\ |
+ | Запускается программа **agbDBBackuperGUI.exe**\\ | ||
+ | Переключаемся на форму "Настройки".\\ | ||
+ | {{:pasted:20211108-102449.png}}\\ | ||
- | gbak.exe, если его запустиь на удаленном компьтере, позволяет сделать бэкап на удаленный компьютер.\\ | + | ===== Вариант 1 "Agbis Local" ===== |
- | Однако работает это очень медленно.\\ | + | |
- | Например, если база данных имеет объем 360 МБ, то\\ | + | |
- | * gbak.exe при сетевом подключении бэкап делается 31 минуту,\\ | + | |
- | * gbak.exe при локальном подключении бэкап делается 4 минуты, \\ | + | |
- | * gbak.exe делает бэкап за 0.5 минуты (30 сек), \\ | + | |
- | * nbackup.exe делает бэкап за 8 сек. \\ | + | |
- | ===== Особенности использования nbackup.exe ===== | + | Рекомендуемый вариант для создания локальных бэкапов.\\ |
+ | Для создания бэкапов потребуется свободного места\\ | ||
+ | F = 3 * S + 7 * B | ||
+ | где | ||
+ | * S - размер исходной базы данных.\\ | ||
+ | * B - размер инкрементной копии базы данных (B<S). \\ | ||
+ | Коэффициент 3 получается, так как требуется место для двух бэкапов уровня 0 плюс место для резервной копии.\\ | ||
+ | Размер инкрементной копии меньше размера базы данных и зависит от интенсивности работы с базой данных.\\ | ||
+ | Более точно определится в процессе эксплуатации системы.\\ | ||
- | * Официально, все файлы, которые используются nbackup.exe должны быть доступны локально.\\ | + | **На форме "Настройки"**\\ |
- | * Работает вариант, когда при создании бэкапа сами бэкапы размещаются в сетевой папке удаленного компьютера. Это работает только в случае назначения имени диска сетеаой папке и в команде они выглядят как локальные файлы. При восстановлении из бэкапа использование сетевой папки сразу приводит к ошибке. | + | |
- | ===== Обозначения и соглашения ===== | + | Нажимаем кнопку **Добавить БД**, чтобы создать запись для настройки бэкапов базы данных.\\ |
+ | {{:pasted:20211108-102837.png}}\\ | ||
+ | Заполнение параметров настройки системы создания бэкапов.\\ | ||
+ | Блок **Главный компьютер**\\ | ||
+ | * **Алиас** = Agbis Local\\ | ||
+ | * **Файл базы данных** = d:\DB\Test\Local1\ARM.fdb\\ | ||
+ | * **Порт** = 3050\\ | ||
+ | * **Login** = SYSDBA\\ | ||
+ | * **Пароль** = masterkey\\ | ||
+ | * **Кодировка** = WIN1251\\ | ||
+ | * **Описание БД** = Локальное создание бэкапов и резервной копии\\ | ||
+ | * **Файл резервной базы данных** = d:\DB\Test\Local1\ARM_clone.fdb\\ | ||
+ | * **Папка для бэкапов** - d:\DB\Test\Local1\back\ \\ | ||
- | **HostA** - хост, на котором размещается рабочая база данных.\\ | + | Блок **Удаленный компьютер** не заполняется\\ |
- | **HostB** - хост, для размещения разервных копий. Этот хост может быть совмещен с хостом **HostA** или размещаться на удаленном компьютере.\\ | + | |
- | **IPA** - IP хоста A.\\ | + | |
- | **IPB** - IP хоста B.\\ | + | |
- | **FolderA** - папка для совместного доступа на хосте A.\\ | + | |
- | **FolderB** - папка для совместного доступа на хосте B.\\ | + | |
- | ===== Вариант 1 ===== | + | Блок **Настройки уровней бэкапов**\\ |
- | **Локальное создание бэкапов и резервной копии**. **HostB** не используется.\\ | + | Уровень 0.\\ |
- | **HostA**\\ | + | Нажимаем кнопку **Добавить уровень**\\ |
- | **IPA** = 192.168.192.129\\ | + | {{:pasted:20211108-103115.png}}\\ |
- | **FileDB** = d:\DB\TestBackuper\ARM.fdb\\ | + | * **Хранить, дней** = 14 |
- | **FileDBR** = d:\DB\TestBackuper\ARM_bak.fdb - **"Резервная база данных"**\\ | + | Еженедельно в субботу делать бэкап в 01:00\\ |
- | **FolderNBK** - d:\DB\TestBackuper\bak\ **"Папка для бэкапов"**\\ | + | {{:pasted:20211108-103212.png}}\\ |
+ | Нажимаем кнопку **Сохранить настройки**. \\ | ||
- | ===== Вариант 2 ===== | + | Нажимаем кнопку **Тест создания бэкапа**. \\ |
+ | {{:pasted:20211108-103552.png}}\\ | ||
+ | **Да**\\ | ||
+ | Создание базы данных начнется немедленно, то есть тест выполняется без учета расписания.\\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 0 прошел успешно.\\ | ||
+ | {{:pasted:20211108-103637.png}}\\ | ||
- | **Создание бэкапов на сетевом диске**.\\ | + | Уровень 1.\\ |
- | На хосте **HostB** создается папка с общим доступом, на которую назначается диск Z:.\\ | + | Нажимаем кнопку **Добавить уровень**\\ |
- | agbDBBackuper запускается на **HostA** и на **HostB**\\ | + | * **Хранить, дней** = 7 |
+ | Ежедневно делать бэкап в 04:00\\ | ||
+ | {{:pasted:20211108-104635.png}}\\ | ||
+ | Нажимаем кнопку **Сохранить настройки**. \\ | ||
- | **HostA**\\ | + | Нажимаем кнопку **Тест создания бэкапа**. \\ |
- | **IPA** = 192.168.192.129\\ | + | На форме **"Восстановление из бэкапа"** проверяем, что тест создания бэкапа уровня 1 прошел успешно.\\ |
- | **FileDB** = d:\DB\TestBackuper\ARM.fdb\\ | + | {{:pasted:20211108-104801.png}}\\ |
- | **FileDBR** = d:\DB\TestBackuper\ARM_bak.fdb - **"Резервная база данных"**\\ | + | |
- | **FolderNBK** - d:\DB\TestBackuper\bak\ **"Папка для бэкапов"**\\ | + | |
- | **HostB** = VMWin10FB (VMWin10FB\adm 1)\\ | + | **На форме "Служба"**\\ |
- | **IPA** = 192.168.192.128\\ | + | |
- | **FolderB** = Z: \\VMWIN10FB\DB_BAK\ \\192.168.192.128\DB_BAK\ (d:\DB\)\\ | + | |
- | **FileDB** = d:\DB\TestBackuper\ARM.fdb\\ | + | Для того чтобы создание бэкапов выполнялось по расписанию необходимо установить и запустить службу **AgbisServiceDBBackuper**\\ |
- | **FileDBR** = z:\ARM_bak.fdb - **"Резервная база данных"**\\ | + | Нажимаем кнопку **Установить**\\ |
- | **FolderNBK** - z:\bak\ **"Папка для бэкапов"**\\ | + | Нажимаем кнопку **Запустить**\\ |
+ | {{:pasted:20211108-105330.png}}\\ | ||
- | ==== Подключение сетевого диска ==== | + | **На форме "Восстановление из бэкапа"**\\ |
- | <alert info> | + | Через неделю проверить, что тест создания бэкапов по расписанию проходит успешно.\\ |
- | Создание бэкапа выполняется, | + | |
- | Использование в качестве имени сетевой папки сетевого диска | + | |
- | <code> | + | |
- | \\VMWIN10FB\DB_BAK\ или \\192.168.192.128\DB_BAK\ | + | |
- | </code> | + | |
- | приводит к ошибке при запуске nbackup.exe.\\ | + | |
- | nbackup требует, чтобы файлы бэкапа и базы данных были доступны локально.\\ | + | |
- | </alert> | + | |
- | Для подключения сетевого диска можно использовать команду\\ | + | ===== Вариант 2 "Agbis Local Small" ===== |
- | <code> | + | |
- | net use z: \\192.168.192.128\db /user:VMWin10FB\adm 1 | + | |
- | </code> | + | |
- | Для отключения сетевого диска можно использовать команду\\ | + | Вариант для создания локальных бэкапов в условиях сильной ограниченности свободного места.\\ |
- | <code> | + | |
- | net use z: /delete | + | |
- | </code> | + | |
- | 1. Создание бэкапа\\ | + | Для создания бэкапов потребуется свободного места\\ |
- | На сетевом диске не создается папка.\\ | + | F = 3 * S |
- | Если сделать папку bak, то бэкапы создаются на сетевом диске командами типа\\ | + | где |
- | <code> | + | * S - размер исходной базы данных.\\ |
- | "C:\Program Files\Firebird\Firebird_2_5\bin\nbackup.exe" -U SYSDBA -P masterkey -T -D off -B 0 "d:\DB\TestBackuper\ARM.fdb" "z:\bak\ARM_20211028_105358_0.nbk" | + | Коэффициент 3 получается, так как требуется место для двух бэкапов уровня 0 плюс место для резервной копии.\\ |
- | "C:\Program Files\Firebird\Firebird_2_5\bin\nbackup.exe" -U SYSDBA -P masterkey -T -D off -B 1 "d:\DB\TestBackuper\ARM.fdb" "z:\bak\ARM_20211028_120232_1.nbk" | + | |
- | <//code> | + | |
- | 2. Создание **"Резервной базы данных"** | + | **На форме "Настройки"**\\ |
- | Для восстановления базы данных из бэкапа нужно, чтобы все файлы и бэкапов и базы данных были доступны локально.\\ | + | |
- | Поэтому | + | |
- | * для восстановления базы данных на удаленном компьютере нужно запускать nbackup с **HostB**.\\ | + | |
- | * для восстановления базы данных на компьютере с базой данных, нужно скопировать все необходимые бэкапы на **HostA** запускать nbackup с **HostA**.\\ | + | |
+ | Нажимаем кнопку **Добавить БД**, чтобы создать запись для настройки бэкапов базы данных.\\ | ||
+ | Заполнение параметров настройки системы создания бэкапов.\\ | ||
+ | Блок **Главный компьютер**\\ | ||
+ | * **Алиас** = Agbis Local Small\\ | ||
+ | * **Файл базы данных** = d:\DB\Test\Local2\ARM.fdb\\ | ||
+ | * **Порт** = 3050\\ | ||
+ | * **Login** = SYSDBA\\ | ||
+ | * **Пароль** = masterkey\\ | ||
+ | * **Кодировка** = WIN1251\\ | ||
+ | * **Описание БД** = Локальное создание бэкапов и резервной копии\\ | ||
+ | * **Файл резервной базы данных** = d:\DB\Test\Local2\ARM_clone.fdb\\ | ||
+ | * **Папка для бэкапов** - d:\DB\Test\Local2\back\ \\ | ||
+ | Блок **Удаленный компьютер** не заполняется\\ | ||
- | запускать nbackup с **HostB**, так как | + | Блок **Настройки уровней бэкапов**\\ |
- | nbackup требует, чтобы файлы бэкапа и базы данных были доступны локально | + | |
- | "C:\Program Files\Firebird\Firebird_2_5\bin\nbackup.exe" -R "d:\DB\ARM_bak.FDB" "d:\DB\bak\ARM_20211028_113552_0.nbk" | + | Уровень 0.\\ |
- | "C:\Program Files\Firebird\Firebird_2_5\bin\nbackup.exe" -R "d:\DB\TestBackuper\ARM_bak.fdb" "d:\DB\TestBackuper\bak\ARM_20211028_113552_0.nbk" "d:\DB\TestBackuper\bak\ARM_20211028_120232_1.nbk" | + | Нажимаем кнопку **Добавить уровень**\\ |
+ | * **Хранить, дней** = 2 | ||
+ | Ежедневно делать бэкап в 02:00\\ | ||
+ | {{:pasted:20211108-110906.png}}\\ | ||
+ | Нажимаем кнопку **Сохранить настройки**. \\ | ||
+ | Нажимаем кнопку **Тест создания бэкапа**. \\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 0 прошел успешно.\\ | ||
+ | {{:pasted:20211108-110942.png}}\\ | ||
+ | |||
+ | **На форме "Служба"**\\ | ||
+ | |||
+ | Для того чтобы создание бэкапов выполнялось по расписанию необходимо установить и запустить службу **AgbisServiceDBBackuper**\\ | ||
+ | |||
+ | **На форме "Восстановление из бэкапа"**\\ | ||
+ | |||
+ | Через день проверить, что тест создания бэкапов по расписанию проходит успешно.\\ | ||
+ | |||
+ | |||
+ | ===== Вариант 3 "Agbis Local Large" ===== | ||
+ | |||
+ | Расширенный вариант для создания локальных бэкапов. \\ | ||
+ | Для создания бэкапов потребуется свободного места\\ | ||
+ | F = 9 * S + 22 * B1 + 6 * B2 | ||
+ | где | ||
+ | * S - размер исходной базы данных.\\ | ||
+ | * B1 - размер инкрементной копии базы данных уровня 1 (B1<S). \\ | ||
+ | * B2 - размер инкрементной копии базы данных уровня 2 (B2<S). \\ | ||
+ | Коэффициент 9 получается, так как требуется место для восемь бэкапов уровня 0 плюс место для резервной копии.\\ | ||
+ | Размер инкрементной копии меньше размера базы данных и зависит от интенсивности работы с базой данных.\\ | ||
+ | Более точно определится в процессе эксплуатации системы.\\ | ||
+ | |||
+ | **На форме "Настройки"**\\ | ||
+ | |||
+ | Нажимаем кнопку **Добавить БД**, чтобы создать запись для настройки бэкапов базы данных.\\ | ||
+ | Блок **Главный компьютер**\\ | ||
+ | * **Алиас** = Agbis Local Large\\ | ||
+ | * **Файл базы данных** = d:\DB\Test\Local3\ARM.fdb\\ | ||
+ | * **Порт** = 3050\\ | ||
+ | * **Login** = SYSDBA\\ | ||
+ | * **Пароль** = masterkey\\ | ||
+ | * **Кодировка** = WIN1251\\ | ||
+ | * **Описание БД** = Локальное создание бэкапов и резервной копии\\ | ||
+ | * **Файл резервной базы данных** = d:\DB\Test\Local3\ARM_clone.fdb\\ | ||
+ | * **Папка для бэкапов** - d:\DB\Test\Local3\back\ \\ | ||
+ | |||
+ | Блок **Удаленный компьютер** не заполняется\\ | ||
+ | |||
+ | Блок **Настройки уровней бэкапов**\\ | ||
+ | |||
+ | Уровень 0.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 60 | ||
+ | Еженедельно в субботу делать бэкап в 01:00\\ | ||
+ | {{:pasted:20211108-113159.png}}\\ | ||
+ | |||
+ | Уровень 1.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 30 | ||
+ | Еженедельно каждый день кроме субботы и воскресенья делать бэкап в 02:00\\ | ||
+ | {{:pasted:20211108-113214.png}}\\ | ||
+ | |||
+ | Уровень 2.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 2 | ||
+ | Ежедневно делать бэкап в 07:00, 12:00, 18:00\\ | ||
+ | {{:pasted:20211108-113231.png}}\\ | ||
+ | |||
+ | Нажимаем кнопку **Сохранить настройки**. \\ | ||
+ | |||
+ | Выполнить тест.\\ | ||
+ | Нажимаем кнопку **Тест создания бэкапа**. \\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 0 прошел успешно.\\ | ||
+ | Нажимаем кнопку **Тест создания бэкапа** еще два раза.\\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 1 и 2 прошел успешно.\\ | ||
+ | {{:pasted:20211108-113300.png}}\\ | ||
+ | |||
+ | **На форме "Служба"**\\ | ||
+ | |||
+ | Для того чтобы создание бэкапов выполнялось по расписанию необходимо установить и запустить службу **AgbisServiceDBBackuper**\\ | ||
+ | |||
+ | **На форме "Восстановление из бэкапа"**\\ | ||
+ | |||
+ | Через несколько дней проверить, что тест создания бэкапов по расписанию проходит успешно.\\ | ||
+ | |||
+ | |||
+ | ===== Вариант 4 "Agbis Complex" ===== | ||
+ | |||
+ | Рекомендуемый вариант для создания бэкапов с гарантий восстановления даже после полного выхода из строя сервера базы данных.\\ | ||
+ | Для создания бэкапов потребуется свободного места на сервере базы данных\\ | ||
+ | F = 2 * S + B | ||
+ | Для создания бэкапов потребуется свободного места на удаленном компьютере\\ | ||
+ | R = 3 * S + 7 * B | ||
+ | где | ||
+ | * S - размер исходной базы данных.\\ | ||
+ | * B - размер инкрементной копии базы данных (B<S). \\ | ||
+ | Коэффициент 2 получается, так как требуется место для последнего бэкапа уровня 0 плюс место для резервной копии.\\ | ||
+ | Размер инкрементной копии меньше размера базы данных и зависит от интенсивности работы с базой данных.\\ | ||
+ | Более точно определится в процессе эксплуатации системы.\\ | ||
+ | |||
+ | **На форме "Настройки"**\\ | ||
+ | |||
+ | Нажимаем кнопку **Добавить БД**, чтобы создать запись для настройки бэкапов базы данных.\\ | ||
+ | Блок **Главный компьютер**\\ | ||
+ | * **Алиас** = Agbis Complex\\ | ||
+ | * **Файл базы данных** = d:\DB\Test\Complex1\ARM.fdb\\ | ||
+ | * **Порт** = 3050\\ | ||
+ | * **Login** = SYSDBA\\ | ||
+ | * **Пароль** = masterkey\\ | ||
+ | * **Кодировка** = WIN1251\\ | ||
+ | * **Описание БД** = Локальное создание бэкапов и резервной копии\\ | ||
+ | * **Файл резервной базы данных** = d:\DB\Test\Complex1\ARM_clone.fdb\\ | ||
+ | * **Папка для бэкапов** - d:\DB\Test\Complex1\back\ \\ | ||
+ | |||
+ | Блок **Удаленный компьютер**\\ | ||
+ | |||
+ | * **Удаленный компьютер** = включено | ||
+ | * **Сетевая папка** = \\VMWIN10FB\Complex1 | ||
+ | {{:pasted:20211108-115126.png}}\\ | ||
+ | * **Login** = VMWin10FB\adm | ||
+ | * **Пароль** = 1 | ||
+ | * **Файл удаленной резервной БД** = \\VMWIN10FB\Complex1\ARM_clone.fdb | ||
+ | * **Папка для удаленных бэкапов** = \\VMWIN10FB\Complex1\ | ||
+ | |||
+ | Блок **Настройки уровней бэкапов**\\ | ||
+ | |||
+ | Уровень 0.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 14 | ||
+ | Еженедельно в субботу делать бэкап в 01:00\\ | ||
+ | {{:pasted:20211108-115852.png}}\\ | ||
+ | |||
+ | Уровень 1.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 7 | ||
+ | Ежедневно делать бэкап в 04:00\\ | ||
+ | {{:pasted:20211108-115937.png}}\\ | ||
+ | |||
+ | Нажимаем кнопку **Сохранить настройки**. \\ | ||
+ | |||
+ | Выполнить тест создания локального бэкапа.\\ | ||
+ | Нажимаем кнопку **Тест создания бэкапа**. \\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 0 прошел успешно.\\ | ||
+ | Нажимаем кнопку **Тест создания бэкапа** еще раз.\\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 1 прошел успешно.\\ | ||
+ | {{:pasted:20211108-133357.png}}\\ | ||
+ | |||
+ | Для проверки сетевой части нужно на форме **"Восстановление из бэкапа"** нажать кнопку **Удаление файлов с основного компьютера**.\\ | ||
+ | После завершения процесса проверить, что в сетевой папке на удаленном компьютере появились файлы бэкапов и резервная копия, а из локальной папки лишние файлы удалены.\\ | ||
+ | В сетевой папке три созданных бэкапа и резервная копия\\ | ||
+ | {{:pasted:20211108-133710.png}}\\ | ||
+ | в локальной папке с бэкапами осталось два бэкапа 0 и 1 уровня, третий бэкап уже удален.\\ | ||
+ | {{:pasted:20211108-133607.png}}\\ | ||
<alert info> | <alert info> | ||
- | Использование в качестве имени сетевого диска | + | Если временно сетевая папка недоступна, то все бэкапы будут сохраняться на главном компьютере в локальной папке.\\ |
- | <code> | + | После восстановления доступа, все бэкапы будут скопированы на удаленный компьютер и удалены из локальной папки.\\ |
- | \\VMWIN10FB\DB_BAK\ или \\192.168.192.128\DB_BAK\ | + | |
- | приводит к ошибке при запуске nbackup.exe.\\ | + | |
- | </code> | + | |
- | nbackup требует, чтобы файлы бэкапа и базы данных были доступны локально.\\ | + | |
</alert> | </alert> | ||
+ | **На форме "Служба"**\\ | ||
+ | |||
+ | Для того чтобы создание бэкапов выполнялось по расписанию необходимо установить и запустить службу **AgbisServiceDBBackuper**\\ | ||
+ | |||
+ | **На форме "Восстановление из бэкапа"**\\ | ||
+ | |||
+ | Через несколько дней проверить, что тест создания бэкапов по расписанию проходит успешно.\\ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Вариант 5 "Agbis Complex Small" ===== | ||
+ | |||
+ | Вариант для создания бэкапов с гарантий восстановления даже после полного выхода из строя сервера базы данных.\\ | ||
+ | Резервная копия не копируется на удаленный компьютер.\\ | ||
+ | Для создания бэкапов потребуется свободного места на сервере базы данных\\ | ||
+ | F = 2 * S | ||
+ | Для создания бэкапов потребуется свободного места на удаленном компьютере\\ | ||
+ | R = 2 * S | ||
+ | где | ||
+ | * S - размер исходной базы данных.\\ | ||
+ | Коэффициент 2 для F получается, так как требуется место для последнего бэкапа уровня 0 плюс место для резервной копии.\\ | ||
+ | Коэффициент 2 для R получается, так как требуется место для двух бэкапов уровня 0, а резервную копию на удаленном компьютере не делаем.\\ | ||
+ | |||
+ | **На форме "Настройки"**\\ | ||
+ | |||
+ | Нажимаем кнопку **Добавить БД**, чтобы создать запись для настройки бэкапов базы данных.\\ | ||
+ | Блок **Главный компьютер**\\ | ||
+ | * **Алиас** = Agbis Complex Small\\ | ||
+ | * **Файл базы данных** = d:\DB\Test\Complex2\ARM.fdb\\ | ||
+ | * **Порт** = 3050\\ | ||
+ | * **Login** = SYSDBA\\ | ||
+ | * **Пароль** = masterkey\\ | ||
+ | * **Кодировка** = WIN1251\\ | ||
+ | * **Описание БД** = Локальное создание бэкапов и резервной копии с копированием на удаленный компьютер\\ | ||
+ | * **Файл резервной базы данных** = d:\DB\Test\Complex2\ARM_clone.fdb\\ | ||
+ | * **Папка для бэкапов** - d:\DB\Test\Complex2\back\ \\ | ||
+ | |||
+ | Блок **Удаленный компьютер**\\ | ||
+ | |||
+ | * **Удаленный компьютер** = включено | ||
+ | * **Сетевая папка** = \\192.168.192.128\Complex2 | ||
+ | * **Login** = VMWin10FB\adm | ||
+ | * **Пароль** = 1 | ||
+ | * **Файл удаленной резервной БД** = | ||
+ | * **Папка для удаленных бэкапов** = \\192.168.192.128\Complex2\ | ||
+ | |||
+ | Блок **Настройки уровней бэкапов**\\ | ||
+ | |||
+ | Уровень 0.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 2 | ||
+ | Ежедневно делать бэкап в 02:00\\ | ||
+ | Нажимаем кнопку **Сохранить настройки**. \\ | ||
+ | {{:pasted:20211108-135247.png}}\\ | ||
+ | |||
+ | Выполнить тест создания локального бэкапа.\\ | ||
+ | Нажимаем кнопку **Тест создания бэкапа**. \\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 0 прошел успешно.\\ | ||
+ | {{:pasted:20211108-135429.png}}\\ | ||
+ | |||
+ | Для проверки сетевой части нужно на форме **"Восстановление из бэкапа"** нажать кнопку **Удаление файлов с основного компьютера**.\\ | ||
+ | После завершения процесса проверить, что в сетевой папке на удаленном компьютере появились файлы бэкапов и резервная копия, а из локальной папки лишние файлы удалены.\\ | ||
+ | |||
+ | **На форме "Служба"**\\ | ||
+ | |||
+ | Для того чтобы создание бэкапов выполнялось по расписанию необходимо установить и запустить службу **AgbisServiceDBBackuper**\\ | ||
+ | |||
+ | **На форме "Восстановление из бэкапа"**\\ | ||
+ | |||
+ | Через несколько дней проверить, что тест создания бэкапов по расписанию проходит успешно.\\ | ||
+ | |||
+ | |||
+ | ===== Вариант 6 "Agbis Complex Large" ===== | ||
+ | |||
+ | Расширенный вариант для создания бэкапов с гарантий восстановления даже после полного выхода из строя сервера базы данных.\\ | ||
+ | |||
+ | Для создания бэкапов потребуется свободного места на сервере базы данных\\ | ||
+ | F = 2 * S + B1 + B2 | ||
+ | Для создания бэкапов потребуется свободного места на удаленном компьютере\\ | ||
+ | R = 9 * S + 22 * B1 + 6 * B2 | ||
+ | где | ||
+ | * S - размер исходной базы данных.\\ | ||
+ | * B1 - размер инкрементной копии базы данных уровня 1 (B1<S). \\ | ||
+ | * B2 - размер инкрементной копии базы данных уровня 2 (B2<S). \\ | ||
+ | Коэффициент 2 для F получается, так как требуется место для последнего бэкапа уровня 0 плюс место для резервной копии.\\ | ||
+ | Размер инкрементной копии меньше размера базы данных и зависит от интенсивности работы с базой данных.\\ | ||
+ | Более точно определится в процессе эксплуатации системы.\\ | ||
+ | |||
+ | **На форме "Настройки"**\\ | ||
+ | |||
+ | Нажимаем кнопку **Добавить БД**, чтобы создать запись для настройки бэкапов базы данных.\\ | ||
+ | Блок **Главный компьютер**\\ | ||
+ | * **Алиас** = Agbis Complex Large\\ | ||
+ | * **Файл базы данных** = d:\DB\Test\Complex3\ARM.fdb\\ | ||
+ | * **Порт** = 3050\\ | ||
+ | * **Login** = SYSDBA\\ | ||
+ | * **Пароль** = masterkey\\ | ||
+ | * **Кодировка** = WIN1251\\ | ||
+ | * **Описание БД** = Локальное создание бэкапов и резервной копии с копированием на удаленный компьютер\\ | ||
+ | * **Файл резервной базы данных** = d:\DB\Test\Complex3\ARM_clone.fdb\\ | ||
+ | * **Папка для бэкапов** - d:\DB\Test\Complex3\back\ \\ | ||
+ | |||
+ | Блок **Удаленный компьютер**\\ | ||
+ | |||
+ | * **Удаленный компьютер** = включено | ||
+ | * **Сетевая папка** = \\VMWIN10FB\Complex3 | ||
+ | * **Login** = VMWin10FB\adm | ||
+ | * **Пароль** = 1 | ||
+ | * **Файл удаленной резервной БД** = \\VMWIN10FB\Complex3\ARM_clone.fdb | ||
+ | * **Папка для удаленных бэкапов** = \\VMWIN10FB\Complex3\ | ||
+ | |||
+ | Блок **Настройки уровней бэкапов**\\ | ||
+ | |||
+ | Уровень 0.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 60 | ||
+ | Еженедельно в субботу делать бэкап в 01:00\\ | ||
+ | |||
+ | Уровень 1.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 30 | ||
+ | Еженедельно каждый день кроме субботы и воскресенья делать бэкап в 02:00\\ | ||
+ | |||
+ | Уровень 2.\\ | ||
+ | Нажимаем кнопку **Добавить уровень**\\ | ||
+ | * **Хранить, дней** = 2 | ||
+ | Ежедневно делать бэкап в 07:00, 12:00, 18:00\\ | ||
+ | Нажимаем кнопку **Сохранить настройки**. \\ | ||
+ | {{:pasted:20211108-141221.png}}\\ | ||
+ | |||
+ | Выполнить тест создания локального бэкапа.\\ | ||
+ | Нажимаем кнопку **Тест создания бэкапа** три раза.\\ | ||
+ | На форме **"Восстановление из бэкапа"** проверить, что тест создания бэкапа уровня 0, 1 и 2 прошел успешно.\\ | ||
+ | {{:pasted:20211108-141324.png}}\\ | ||
- | ===== Вариант 3 ===== | + | Для проверки сетевой части нужно на форме **"Восстановление из бэкапа"** нажать кнопку **Удаление файлов с основного компьютера**.\\ |
+ | После завершения процесса проверить, что в сетевой папке на удаленном компьютере появились файлы бэкапов и резервная копия, а из локальной папки лишние файлы удалены.\\ | ||
- | **Локальное создание бэкапов и резервной копии с перемещением на сетевой диск**.\\ | + | **На форме "Служба"**\\ |
- | На хосте **HostB** создается папка с общим доступом.\\ | + | Для того чтобы создание бэкапов выполнялось по расписанию необходимо установить и запустить службу **AgbisServiceDBBackuper**\\ |
- | agbDBBackuper запускается на **HostA**\\ | + | |
- | **HostA**\\ | + | **На форме "Восстановление из бэкапа"**\\ |
- | **IPA** = 192.168.192.129\\ | + | |
- | **FileDB** = d:\DB\TestBackuper\ARM.fdb\\ | + | |
- | **FileDBR** = d:\DB\TestBackuper\ARM_bak.fdb - **"Резервная база данных"**\\ | + | |
- | **FolderNBK** - d:\DB\TestBackuper\bak\ **"Папка для бэкапов"**\\ | + | |
- | **HostB** = VMWin10FB (VMWin10FB\adm 1)\\ | + | Через несколько дней проверить, что тест создания бэкапов по расписанию проходит успешно.\\ |
- | **IPA** = 192.168.192.128\\ | + | |
- | **FolderB** = Z: \\VMWIN10FB\DB_BAK\ \\192.168.192.128\DB_BAK\ (d:\DB_BAK\)\\ | + | |
- | **FileDB** = d:\DB\TestBackuper\ARM.fdb\\ | + | ===== Восстановление из бэкапа ===== |
- | **FileDBR** = z:\ARM_bak.fdb - **"Резервная база данных"**\\ | + | |
- | **FolderNBK** - z:\bak\ **"Папка для бэкапов"**\\ | + | |
- | 1. Создание бэкапа | + | Служба отработала сутки и можно видеть бэкапы, которые сделаны по расписанию.\\ |
- | На сетевом диске не создается папка. | + | {{:pasted:20211109-050808.png}}\\ |
- | Если сделать папку bak, то бэкап создается на сетевом (Z:\bak\ARM_20211028_105358_0.nbk) | + | Выберем для восстановления бэкап уровня 1 базы данных **"Agbis Complex Large"** от 09.11.2021 2:04:41\\ |
+ | Имя файла для восстановленной базы данных берется из поля **Файл для восстановления**.\\ | ||
+ | По умолчанию используется **d:\DB\Test\Complex3\ARM_Recov.fdb**.\\ | ||
+ | В поле сверху виден список бэкапов, которые будут использоваться для восстановления.\\ | ||
+ | Нажимаем кнопку **Восстановить БД из бэкапа**.\\ | ||
+ | {{:pasted:20211109-051541.png}}\\ | ||
+ | **Да** | ||
+ | После завершения процесса, можно открыть папку с файлом восстановленной базы данных нажав кнопку **Открыть папку**\\ | ||
+ | {{:pasted:20211109-051800.png}}\\ | ||
- | 2. Создание **"Резервной базы данных"** | + | ===== Типовые ошибки ===== |
- | Не удается создать **"Резервную базу данных"** через nbackup.\\ | + | |
- | nbackup требует, чтобы файлы бэкапа и базы данных были доступны локально | + | |
- | "C:\Program Files\Firebird\Firebird_2_5\bin\nbackup.exe" -R "z:\ARM_bak.fdb" "z:\bak\ARM_20211028_105358_0.nbk" | + | |
- | [ | + | |
- | PROBLEM ON "nbackup needs local access to database file". | + | |
- | SQLCODE:-999 | + | |
- | ] | + | |
- | Failure: Database error | + | |
+ | ==== Ошибка доступа к сетевой папке ==== | ||
- | ===== Примечания ===== | + | Если потерян доступ к сетевой папке, то в дереве баз данных в строке с наименованием базы данных появляется значок, а в карточке базы данных отключатся чекбокс **"Доступ к сетевой папке"** и в верхнем поле появляется текст **"Предупреждение. Недоступна сетевая папка \\VMWIN10FB\Complex3\"** \\ |
+ | {{:pasted:20211109-131402.png}}\\ | ||
+ | Изменение состояния доступа к сетевой папке автоматически не отслеживается. Поэтому, после восстановления доступа, следует нажать кнопку **Обновить** и убедится, что доступ восстановлен.\\ | ||
- | ==== Сравнение быстродействия ==== | + | ==== Недостаточно свободного места ==== |
- | gbak.exe, если его запустиь на удаленном компьтере, позволяет сделать бэкап на удаленный компьютер.\\ | + | База данных растет и в какой-то момент свободного места на диске может стать недостаточно.\\ |
- | Однако работает это очень медленно.\\ | + | * в дереве напротив бэкапа появится значок показывающий, что бэкап не рабочий\\ |
- | Например, если база данных имеет объем 360 МБ, то\\ | + | * в поле статуса появится сообщение о недостатке свободного места **Ошибка. Создание бэкапов приостановлено из-за нехватки свободного места на диске D:**\\ |
- | * gbak.exe при сетевом подключении бэкап делается 31 минуту,\\ | + | {{:pasted:20211109-135546.png}}\\ |
- | * gbak.exe при локальном подключении бэкап делается 4 минуты, \\ | + | Недостаток места может возникнуть |
- | * gbak.exe делает бэкап за 0.5 минуты (30 сек), \\ | + | * из-за нарушения подключения к сетевой папке (в этом случае все бэкапы начнут накапливаться на локальном диске) |
- | * nbackup.exe делает бэкап за 8 сек. \\ | + | * из-за увеличения объема базы данных (в этом случае придется либо увеличивать диск, либо менять настройки бэкапов). |
+ | В данном примере сам бэкап уровня 0 был успешно создан, однако для создания резервной копии места уже не хватило.\\ | ||
- | ==== Особенности использования nbackup.exe ==== | + | Еще одна ошибка связана с недостатком места на удаленном компьютере.\\ |
+ | {{:pasted:20211109-192605.png}}\\ | ||
+ | При этом бэкап и резервная копия в локальной папке созданы успешно.\\ | ||
- | * Официально, все файлы, которые используются nbackup.exe должны быть доступны локально.\\ | + | ==== Ошибка создания бэкапа ==== |
- | * Работает вариант, когда при создании бэкапа сами бэкапы размещаются в сетевой папке удаленного компьютера. Это работает только в случае назначения имени диска сетеаой папке и в команде они выглядят как локальные файлы. При восстановлении из бэкапа использование сетевой папки сразу приводит к ошибке. | + | |
+ | Если в базе данных возникли повреждения структуры данных, то программа nbackup не может сделать бэкап или бэкап делается, но из него не восстанавливается резервная копия.\\ | ||
+ | Повреждения обычно возникают при физическом износе жесткого диска, на котором появляются нечитаемые сектора или при аварийном выключении питания компьютера, при котором теряется часть данных из кэша.\\ | ||
+ | В первом случае нужно заменить диск и попытаться скопировать файл базы данных, возможно, с применением специальных программ.\\ | ||
+ | Во втором случае заблокировать битые страницы и восстановить работоспособность базы.\\ | ||
+ | Затем, в обоих случаях, требуется сверить данные с последним рабочим бэкапом, а документы, которые не вошли в бэкап сверить с бумажными оригиналами.\\ | ||
+ | В этом случае нужно срочно заниматься восстановлением базы данных, потому что чем дольше не делаются бэкапы, те больше придется сверять с бумажными документами.\\ | ||
===== Дополнительная информация ===== | ===== Дополнительная информация ===== | ||
Строка 172: | Строка 466: | ||
* [[:nb_TFormOptions|Форма "Настройки"]]\\ | * [[:nb_TFormOptions|Форма "Настройки"]]\\ | ||
* [[:nb_TFormService|Форма "Служба"]]\\ | * [[:nb_TFormService|Форма "Служба"]]\\ | ||
- | * [[:nb_Examples|Варианты настройки]]\\ | ||
<ifauth @programmers> | <ifauth @programmers> | ||
+ | * [[develop:nb_Realization|Проект "Агбис Резервное копирование" Реализация]]\\ | ||
</ifauth> | </ifauth> | ||