Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 nbackup doc  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28289
Внезапно решил перевести самую последнюю документацию по nbackup с английского на русский

Оригинал как-то не менялся с 2014 года
https://firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/nbackup.html
На русском языке на офсайте вообще древность 2005 года
https://firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/ru/nbackup-ru.html

Вот я и решил сделать свежий перевод, плюс актуализацию. Пока черновой вариант
http://www.ibase.ru/files/firebird/nbackup_ru.pdf

Прошу сообщать об ошибках, непонятках, и прочем. Свои примечания, комментарии и т.д пометил как "kdv".
Как зафиксируем, выложим на firebirdsql.org.
18 авг 19, 13:02    [21951955]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10081
kdv,

спасибо, сейчас почитаю
18 авг 19, 13:10    [21951958]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10081
стр 4
Для начала – утилита nbackup находится в папке BIN установки Firebird. Типичное расположение
на Windows – C:\Program Files\Firebird\Firebird_2_5\bin, на Linux - /opt/firebird/bin.


в 3.0 расположение в windows другое. Там уже подкаталога bin нету
18 авг 19, 13:17    [21951964]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10081
в 3.0 есть недокументированный переключатель -decompress

Похоже этот функционал сейчас доступен только в Linux. Всё что нашёл по нему CORE-4462

в целом хорошо. В некоторых местах надо специфику 3.0 добавить.

стр 4
На Windows: В firebird.conf включена доверенная аутентификация (trusted
authentification), и вы вошли в Windows с правами администратора, которому
доступен файл базы данных. Для Firebird 2.1 это дает вам права SYSDBA. Для
Firebird 2.5 и выше должно быть установлено AUTO ADMIN MAPPING.


В 3.0 она может быть включена на уровне БД в databses.conf. Ну и вообще сам процесс чуток иной. Маппинг администраторов включается чуть иначе.
18 авг 19, 14:07    [21951978]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9473
черновик, стр.8
В обратную сторону, если вы используете SuperServer, и отключили файловый кэш у БД, включение файлового кэша nbackup –D off может привести к выпадению процессов в виртуальную память, т.к. операционной системе потребуется память для размещения там файлового кэша базы данных.
Начать лучше с "И наоборот, ...", но вытеснение сильно зависит от степени агрессивности кэширования. Скорее, всё-таки, файловый кэш не высвопит память приложений на диск.
Кроме того, насколько я понимаю, если один описатель файла получен при открытии файла в режиме "кэшировать", а второй - "не кэшировать", то кэш, "набранный" при работе через первый описатель сброшен не будет. Операции чтения через второй описатель могут задействовать кэш, "набранный" первым, но "не имеют" права повлиять на него.
А вот если оба описателя получены в режиме "кэшировать", то то влияние будет. В этом случае nbackup может "вымывать" из кэша "полезные" данные чтением страниц, которые "не требуются" при "обычной" работе с базой.

Я бы написал так:
Отключение прямого доступа (-d off) задействует кэш файловой системы и уменьшает время создания дампа базы, но может заполнить файловый кэш "малоактивными" страницами, вытеснив оттуда "рабочие" данные.
Включение прямого доступа (-d on) не будет влиять на "рабочие" данные базы в кэше файловой системы, но может кратно увеличить время создания дампа. Это может быть существенно для nbackup версий 2.5 и более ранних, в которых файл базы всегда прочитывается целиком.
В версии 3.0 nbackup на уровнях 1 и выше (инкрементальные дампы) прочитывает только страницы, изменившиеся после создания дампа предыдущего уровня, что уменьшает ввод-вывод и влияние на кэш файловой системы.
19 авг 19, 00:50    [21952123]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9473
черновик, стр.9
Services Manager всегда требует указания имени пользователя и пароля, явного при помощи опций –user и –password, или автоматического (root или trusted authentification). Переменные isc_user и isc_password не используются.
"Клиентский":
 Firebird Services Manager version WI-V3.0.4.33054 Firebird 3.0
прекрасно использует переменные окружения для авторизации.
Вот у "серверных" fbsvcmgr - возникают разные ньюансы.
В общем, "для винды" делаем отдельный "клиентский" каталог (тривиальное копирование минимального подмножества файлов из zip-архив) и спокойно работаем с серверами версий 2.5 и 3.0.
Для серверов версий 2.0 и 2.1 будут проблемы с аналогом "gstat -h", ну а сервисы 1.5 "своеобразно" работают в режиме классика.
19 авг 19, 01:10    [21952126]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
hvlad
Member

Откуда:
Сообщений: 10619
Basil A. Sidorov
Кроме того, насколько я понимаю, если один описатель файла получен при открытии файла в режиме "кэшировать", а второй - "не кэшировать", то кэш, "набранный" при работе через первый описатель сброшен не будет
Будет.
Basil A. Sidorov
Операции чтения через второй описатель могут задействовать кэш, "набранный" первым, но "не имеют" права повлиять на него.
Это может привести к разным данным в кеше и на диске, посему - нет, это не так
19 авг 19, 11:36    [21952315]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28289
Basil A. Sidorov
если один описатель файла получен при открытии файла в режиме "кэшировать", а второй - "не кэшировать", то кэш, "набранный" при работе через первый описатель сброшен не будет.

Насколько я понимаю, не так это работает. Винда использует "описатель файла" для его кэширования в файловом кэше, и пофиг, сколько процессов этот файл открывают.
Если хоть один процесс сказал "не кэшировать", то ОС не будет кэшировать этот файл вообще, независимо от желания других процессов.
То есть, пока nbackup держит файл БД с опцией -d on, ОС его кэшировать не будет, независимо от архитектуры ФБ.

Собственно, эту фигню случайно обнаружил Ковязин, если мне память не изменяет. Я проверил, и подтвердилось.
19 авг 19, 11:48    [21952326]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3059
В самом начале страницы 5:

"В Firebird2.1.4и выше возможно отключить кэширование БД файловой системой (включить прямой ввод-вывод) параметром –Don(или включить выключить –Doff). Подробности см"
19 авг 19, 12:07    [21952360]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
hvlad
Member

Откуда:
Сообщений: 10619
Мои замечания\придирки по тексту

Стр 2
возможности, отсутствующие у gbak – штатной утилиты резервного копирования Firebird –, но не заменяет gbak
С дефисами и запятыми разберись :)

Стр 3
Функции и параметры
В таблице перечислены параметры nbackup
В таблице нет ключа N

Стр 12
Оба этих критических значения указывают на то, что разблокирование БД после старта nbackup не произошло по какой-то причине, и все изменения до сих пор пишутся в дельта-файл, а не в базу данных.
Не нужно гадать: состояние бекапа покажет gstat -h

Стр 12
Замечание: параметр –F, или fixup, на самом деле ничего не фиксирует, он просто разблокирует БД. Опция –N наоборот, не только разблокирует, но и фиксирует БД (записывает дельта-файл в БД). В общем, с именами параметров «так получилось».
Не согласен.
F как раз исправляет (fixup) состояние файла БД.
Запись содержимого дельты в основной файл БД - это слияние (merge), а не "фиксирование"


kdv
Собственно, эту фигню случайно обнаружил Ковязин, если мне память не изменяет.
Изменяет :)

PS Ещё хочу уточнить, что флаг -D влияет только на работу nbaсkup с файлом БД (при сканировании БД).
Он не влияет на работу с файлом бекапа !
19 авг 19, 12:36    [21952382]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
hvlad
Member

Откуда:
Сообщений: 10619
rdb_dev
В самом начале страницы 5:

"В Firebird2.1.4и выше возможно отключить кэширование БД файловой системой (включить прямой ввод-вывод) параметром –Don(или включить выключить –Doff). Подробности см"
Фраза корявая, но правильная.
Первое "включить" - про direct io, второе "включить" - про файловый кеш.
19 авг 19, 12:37    [21952384]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3059
hvlad, тогда необходимо переписать формулировку как-нибудь так:

В Firebird2.1.4 и выше появилась возможность отключить кэширование БД файловой системой для операций резервного копирования посредством ключа "-D" (Direct input/output), включающего (-Don) или отключающего (-Doff) ввод/вывод напрямую. Ключ "-D" может использоваться только с ключом "-B".
19 авг 19, 13:09    [21952419]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28289
hvlad
Не согласен.
F как раз исправляет (fixup) состояние файла БД.
Запись содержимого дельты в основной файл БД - это слияние (merge), а не "фиксирование"

я тоже не согласен, но это был перевод оригинала.

в остальном поддерживаю. Наверное, подожду до вечера, а потом начну всё сразу править.
19 авг 19, 13:20    [21952435]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3059
Прошу прощения за маленький оффтоп, но у несколько вопросов по некоторым особенностям nbackup:

Допустим, меня не сильно интересует возможность резервного копирования БД посредством nbackup, но имеется некая "константная" часть БД с метаданными и справочной информацией на SSD, которую хотелось бы вообще не трогать, а все изменения всегда писать в дельту на HDD, заблокировав константную часть с помощью nbackup и непосредственно указав путь до дельты. Отсюда вопросы:
1. Как при блокировании "константной" части БД указать непосредственный путь до дельты?
2. Как изменить путь до дельты так, чтобы данные из дельты не влились в "константную" часть - не снимая блокировку "константной" части?
3. Снизится ли эффективность при длительной работе в подобном режиме относительно базы, незаблокированной и целиком находящейся на HDD?
4. Что произойдёт при удалении дельты - создаст ли СУБД новую дельту самостоятельно и если нет, то как добиться создания новой дельты и нормального функционирования базы не снимая блокировку с константной части?
19 авг 19, 13:26    [21952447]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9473
И снова - идиотская идея при полном нежелании читать документацию.

P.S.
Идиотская потому, что "константная часть" это логические объекты СУБД, а вы хотите порешать "странную проблему" через физические страницы.
19 авг 19, 13:29    [21952449]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3059
Basil A. Sidorov, информацию по указанию дельта файла нашёл.
19 авг 19, 13:34    [21952456]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3059
Basil A. Sidorov
а вы хотите порешать "странную проблему" через физические страницы.
Я не хочу порешать проблему, а интересуюсь возможностью использовать блокирование БД для резервного копирования не для резервного копирования. Почему нет?
19 авг 19, 13:37    [21952459]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10081
rdb_dev,

перестань оффтопить. Если есть желание обсудить твою непонятную идею, создай отдельный топик
19 авг 19, 13:37    [21952460]     Ответить | Цитировать Сообщить модератору
 Re: nbackup doc  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28289
Обновил
http://www.ibase.ru/files/firebird/nbackup_ru.pdf

- исправил про папки и каталоги, где nbackup
- сделал разделы про "новое" в ФБ 3 и ФБ 4
- подкорректировал про -D
- добавил -N в таблицу, убрал примечание про "fixup не исправляет".
- перенес текст про "размер дельты и длительность" в другое место
- поправил другие описки и опечатки.

Спасибо Денису, Владу, Василию и rdb_dev.
Симонов Денис
В 3.0 она может быть включена на уровне БД в databses.conf

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

Да, и я напомню, что в релизнотах ФБ 3 про nbackup вообще ничего нет. Информацию брал отсюда:
https://firebirdsql.org/file/community/conference-2016/firebird-nbackup-evolution.pdf
21 авг 19, 15:40    [21954546]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить