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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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