SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Подключение к базе данных во время работы nbackup
Подключение к базе данных во время работы nbackup [сообщение #5391] Mon, 02 September 2024 14:37 Переход к следующему сообщению
inoremap в настоящее время не в онлайне  inoremap
Сообщений: 12
Зарегистрирован: August 2023
Junior Member
Если во время работы программы nbackup попробовать подключиться к базе данных, то подключение завершается с сообщением об ошибке
I/O error during "lock" operation for file "/opt/db/employee.fdb"
Проблема воспроизводится если запустить цикл с короткими подключениями
while sleep 0.1; do echo | /opt/firebird/bin/isql -user SYSDBA -password test inet4://127.0.0.1//opt/db/employee.fdb; done
и во время его работы выполнить команду
/opt/firebird/bin/nbackup -user SYSDBA -password test -backup 0 /opt/db/employee.fdb stdout > /dev/null
Если одновременно сделать постоянное подключение к базе данных
/opt/firebird/bin/isql -user SYSDBA -password test inet4://127.0.0.1//opt/db/employee.fdb
то цикл с короткими подключениями работает без ошибок.

Есть ли какой-нибудь способ избежать ошибок при подключении к базе данных одновременно с работающим nbackup?

ОС - Debian 12.7, Firebird SQL - 3.0.12 установленный из https://github.com/FirebirdSQL/firebird/releases/download/v3 .0.12/Firebird-3.0.12.33787-0.amd64.tar.gz
Re: Подключение к базе данных во время работы nbackup [сообщение #5392 является ответом на сообщение #5391] Mon, 02 September 2024 14:45 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 417
Зарегистрирован: August 2022
Senior Member
Для nbackup тоже используй inet4://127.0.0.1//opt/db/employee.fdb. Иначе ты напарываешься на типичный конфликт в embedded режиме.
Re: Подключение к базе данных во время работы nbackup [сообщение #5393 является ответом на сообщение #5392] Mon, 02 September 2024 15:00 Переход к предыдущему сообщениюПереход к следующему сообщению
inoremap в настоящее время не в онлайне  inoremap
Сообщений: 12
Зарегистрирован: August 2023
Junior Member
Для nbackup нужен прямой доступ к файлу
/opt/firebird/bin/nbackup -user SYSDBA -password test -backup 0 inet4://127.0.0.1//opt/db/employee.fdb stdout > /dev/null
[
PROBLEM ON "nbackup needs local access to database file".
SQLCODE:-999
]
Re: Подключение к базе данных во время работы nbackup [сообщение #5394 является ответом на сообщение #5393] Mon, 02 September 2024 15:12 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
nbackup понимает старый стиль строки конннекта localhost:path
Re: Подключение к базе данных во время работы nbackup [сообщение #5395 является ответом на сообщение #5391] Mon, 02 September 2024 15:19 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
Ещё оин вариант - делать бекап через сервисы, используя сетевой доступ к сервис-менеджеру (localhost:service_mgr или inet://host/service_mgr):

https://firebirdsql.org/file/documentation/html/en/firebirdd ocs/nbackup/firebird-nbackup.html#nbackup-backups-remote
Re: Подключение к базе данных во время работы nbackup [сообщение #5396 является ответом на сообщение #5394] Mon, 02 September 2024 15:27 Переход к предыдущему сообщениюПереход к следующему сообщению
inoremap в настоящее время не в онлайне  inoremap
Сообщений: 12
Зарегистрирован: August 2023
Junior Member
Да, спасибо, выполнение команды
/opt/firebird/bin/nbackup -user SYSDBA -password test -backup 0 localhost:/opt/db/employee.fdb stdout > /dev/null
не приводит к проблемам с подключениями. Интересно что работает только с "localhost", варианты с 127.0.0.1 или с именем компьютера приводят к сообщению об ошибке.

[Обновления: Mon, 02 September 2024 15:30]

Известить модератора

Re: Подключение к базе данных во время работы nbackup [сообщение #5398 является ответом на сообщение #5396] Mon, 02 September 2024 18:13 Переход к предыдущему сообщению
basid в настоящее время не в онлайне  basid
Сообщений: 166
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
Ещё работает (исключает проблемы с правами в файловой системе) sudo -u firebird ...
Предыдущая тема: Требуются молодые сурки для смелых экспериментов
Следующая тема: Алиасы в join lateral, подзапросах
Переход к форуму:
  


Текущее время: Sat Dec 21 19:33:30 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00682 секунд