powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакция бэкапа
13 сообщений из 13, страница 1 из 1
Транзакция бэкапа
    #39541977
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некоторый сервис, захватывающий изменения в данных транзакциями и складывающий их в
лог. И есть бэкап, делающийся через сервисы. Как после завершения бэкапа определить какие
транзакции из лога в нём отсутствуют, поскольку завершились позже, чем бэкап стартовал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39541984
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По таймштампу же можно, в принципе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39541988
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамПо таймштампу же можно, в принципе.

Какому именно? У захватываемых транзакций я, теоретически, могу определить таймштамп по
времени захвата (если capture синхронный и они не валяются в очереди неопределённо долгое
время). А как определить таймштамп сабжа? Стартует она где-то между вызовом и возвращением
isc_service_start() или позже, вплоть до возврата из первого isc_query_sevice()? Или ещё
позже?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542005
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Стартует она где-то между вызовом и возвращением
> isc_service_start() или позже, вплоть до возврата из
> первого isc_query_sevice()? Или ещё позже?

А, тебе миллисекунды же нужны, универсально. В исподниках не смотрел?

P.S. Лучше вообще на tx started ориентироваться, если есть возможность.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542036
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамА, тебе миллисекунды же нужны, универсально.

Нет. Мне всего лишь нужно знать какие транзакции из лога надо накатывать на базу,
восстановленную из этого бэкапа. Миллисекунды, конечно, могли бы пригодиться для PITR, но
это не моя задача.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542048
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку номера транзакций нигде не логируются,
а трейсить или подложить свои бинарники gbak-a или
сервера для этого ты не можешь - то, наверное, никак
(по крайней мере, без тех самых миллисекунд).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542058
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамПоскольку номера транзакций нигде не логируются,


Можно попробовать создать такой лог, написав UDF c mutex для вызова из триггеров начала \ окончания транзакции
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542060
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамтрейсить или подложить свои бинарники gbak-a или сервера для этого ты не можешь

Вообще-то могу, но с форком много возни и не хочется обделять пользователей обычной птицы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542066
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana> Можно попробовать создать такой лог, написав UDF c
artemana> mutex для вызова из триггеров начала \ окончания транзакции

Отличная идея, кстати. Для этого даже UDF не нужна.

DS> Вообще-то могу, но с форком много возни
DS> и не хочется обделять пользователей обычной птицы.

Так если ты трейсить можешь, то и не придётся никого
обделять, там всё видно (должно быть). И вообще, Саша
выше гораздо проще и универсальнее способ подсказал,
я как-то не вижу с ним проблем, пробуй и проверяй.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542074
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамя как-то не вижу с ним проблем, пробуй и проверяй.

Во-первых, придётся отказаться от isc_spb_bkp_no_triggers, чего не хочется.
Во-вторых, создать в базе левую табличку, которая никого не трогает - ещё туда-сюда, но
UDF, да ещё и триггера на транзакции это перелёт. Моя софтина должна повышать
производительность, а не губить её на корню.
В-третьих, у транзакции бэкапа я не знаю никаких флагов, по которым ещё можно отличить от
любой другой и мы возвращаемся к вопросу: какие из десяти-ста-тысячи транзакций, прошедших
в период запуска бэкапа, были до него, а какие - после.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542085
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS> Во-первых, придётся отказаться от isc_spb_bkp_no_triggers, чего не хочется.

Это да, с этим не взлетит. Тогда либо трассировка, либо плагин.

DS> но UDF, да ещё и триггера на транзакции это перелёт.

UDF не нужны (для чего?), но с триггерами не получится по
другой причине - у них транзакции разные будут, "настоящая"
ещё не будет запущена, скорее всего. В общем, облом.

DS> В-третьих, у транзакции бэкапа я не знаю никаких флагов,
DS> по которым ещё можно отличить от любой другой

Юзер, таблицы мониторинга. Зависит от, короче.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542086
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> с триггерами не получится по
> другой причине - у них транзакции разные будут, "настоящая"
> ещё не будет запущена, скорее всего. В общем, облом.

В смысле, с триггером на коннект. На тр-старт получится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция бэкапа
    #39542120
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВо-первых, придётся отказаться от isc_spb_bkp_no_triggers, чего не хочется.
Во-вторых, создать в базе левую табличку, которая никого не трогает - ещё туда-сюда, но
UDF, да ещё и триггера на транзакции это перелёт. Моя софтина должна повышать
производительность, а не губить её на корню.

Чтобы лог транзакций на тригерах транзакций загубил производительность, это надо сильно постараться
Dimitry SibiryakovВ-третьих, у транзакции бэкапа я не знаю никаких флагов, по которым ещё можно отличить от
любой другой и мы возвращаемся к вопросу: какие из десяти-ста-тысячи транзакций, прошедших
в период запуска бэкапа, были до него, а какие - после.

Не надо никаких флагов. Есть база после бекапа, в ней видно какие транзакции она содержит и соотвественно зная какие транзакции содержит первоначальная база, можно накатить недостающие.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакция бэкапа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]