Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FIBPus Backup/Restor / 25 сообщений из 31, страница 1 из 2
30.05.2016, 23:25
    #39246592
akrush
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
Всем доброго времени суток.
Подскажите как правильно с помощью компонента FIBPlus делать Backup/Restor.
Точнее Backup у меня уже получилось сделать, но когда я в IBExpert открыл таблицу на редактирование и параллельно открыл приложение чтобы сделать Backup - программа сделала Backup и даже ничего не сказала что есть активные подключения.

Отсюда вытекает вопрос:
Как программно проверить есть ли активные соединения с БД, и если их нет (конечно кроме моего одного) - только тогда делать Backup.

Насколько небезопасен может быть такой метод создания резервной копии. Это нужно т.к. уровень пользователя который будет пользоваться программой, мягко говоря, ниже плинтуса. Поэтому научить их делать полноценный Backup/Restor - это проблема. Даже просьба выйти из программы на всех клиентах для создания резервной копии может просто проигнорироваться.
...
Рейтинг: 0 / 0
30.05.2016, 23:26
    #39246593
akrush
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
Как программно перевести БД в монопольный режим, и после Backup/Restor вернуть назад нормальный режим
...
Рейтинг: 0 / 0
31.05.2016, 00:01
    #39246605
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrushНасколько небезопасен может быть такой метод создания резервной копии.

Нинасколько. Это совершенно штатный способ. Для бэкапа не требуется монопольное подключение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
31.05.2016, 01:31
    #39246623
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrush,

бэкап - это вычитка и переливка данных в файл бэкапа в транзакции snapshot. Таких приложений можно одновременно стартовать хоть миллион.
http://www.ibase.ru/gbak/
...
Рейтинг: 0 / 0
31.05.2016, 08:22
    #39246670
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
Есть в "плюсах" компонент работы с сервисами. Через него и шатдаун базе делать можно, и в онлайн её переводить.
...
Рейтинг: 0 / 0
31.05.2016, 10:12
    #39246799
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
Для начала автору надо понять что такое транзакция snapshot и как она работает.
p.s. года два ходил на курсы по MS SQL, подобные вопросы ("мы делаем бэкап, данные которые мы вносим в базу в него попадут?") были в топе.
...
Рейтинг: 0 / 0
31.05.2016, 10:33
    #39246821
akrush
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
Gallemar,

Из комментария kdv я понял что для бэкапа стартует транзакция и все изменения которые вносятся во время бэкапа - можно сказать мусор, если придется делать рестор.
Но вопрос остался на повестке дня: как узнать что к базе никто не подключен, кроме меня. Думаю сделать проверку, и если пользователи подключены - выдавать сообщение пока не выйдут и не делать бэкап.
...
Рейтинг: 0 / 0
31.05.2016, 10:43
    #39246835
stelvic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
А какой смысл так заботиться о данных, внесенных во время бекапа? Чем они более ценны, чем те, что будет внесены через секунду после команды - "можно работать"?
...
Рейтинг: 0 / 0
31.05.2016, 10:44
    #39246837
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
Для каких целей создаётся бэкап?
Какой смысл для текущего бэкапа выгонять всех, если равно после завершения бэкапа пользователи начнут работу и нальют новых данных, которых не будет в только что сформированном бэкапе?
...
Рейтинг: 0 / 0
31.05.2016, 10:44
    #39246838
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrush,

что за бред?
Мусор это никому не нужные версии. Мусор никогда и не при каких условиях не попадёт в файл бекапа который делается с помощью gbak.

И кстати это не единственный вариант бекапа.

akrushПоэтому научить их делать полноценный Backup/Restor - это проблема.

backup ты можешь делать и без их ведома. restore пользователю в общем случае не нужен, только когда есть проблемы.
...
Рейтинг: 0 / 0
31.05.2016, 10:57
    #39246855
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrushНо вопрос остался на повестке дня: как узнать что к базе никто не подключен, кроме меня. Думаю сделать проверку, и если пользователи подключены - выдавать сообщение пока не выйдут и не делать бэкап.
Вообще подключения ты увидишь в таблице mon$attachments, проверку ты можешь сделать триггером на коннект, но зачем?
...
Рейтинг: 0 / 0
31.05.2016, 11:03
    #39246865
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrush я понял что для бэкапа стартует транзакция и все изменения которые вносятся во время бэкапа - можно сказать мусор, если придется делать рестор.


SNAPSHOT (константа concurrency) – уровень изоляции, эквивалентный Repeatable Read. На самом деле этот уровень изоляции ближе к "изолированность образа", т. к. не допускает фантомов. Все операции в транзакции с данным уровнем изоляции видят только те данные, которые существовали (committed) на момент старта этой транзакции (даже если они впоследствии были изменены или удалены другими транзакциями). По умолчанию в IB/FB API.
Скопипащено с http://ibase.ru/ibtrans/ ,заходи и читай.
...
Рейтинг: 0 / 0
31.05.2016, 11:07
    #39246868
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
И ещё вот - http://ibase.ru/mga/ - читай про многоверсионность. Так отпадет вопрос "а как делать бэкап с подключенными пользователями".
...
Рейтинг: 0 / 0
31.05.2016, 11:07
    #39246869
akrush
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
Симонов Денис,

Я не имел ввиду что в бэкап попадет мусор. Я имел ввиду что данные которые вводятся во время бэкапа, если вдруг понадобится сразу сделать рестор - будут по сути мусором, т.к. пропадут.
...
Рейтинг: 0 / 0
31.05.2016, 11:13
    #39246882
akrush
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
В чем суть вопроса или самой программы.

Разрабатывается программа для расчета субсидии на жилищно-коммунальные услуги (Украина). Точнее пишется по Винду.
Когда поднимаются тарифы или еще что-то и нужно сделать массовый перерасчет - нужно сделать бэкап, запустить перерасчет.
Во время перерасчета никто ничего не вводит т.к. после перерасчета выборочно нужно проверить правильность расчета и ЕСЛИ расчет НЕПРАВИЛЬНЫЙ - сделать рестор для отката изменений.
Это первый вариант, так сейчас делаем в ДОС программе по субсидии.

Второй вариант - я читал здесь на форуме что можно стартануть транзакцию, сделать все что нужно, но не подтверждать. Посмотреть ИЗМЕНЕНИЯ и если все нормально - подтвердить, если ошибка - откатить.
Это был, точнее будет, мой следующий вопрос. Не хочу засорять ветку обсуждения Backup/Restor, но если ткнете носом куда почитать - буду очень признателен.

Понимаю что все это звучит примитивно, но я стараюсь разобраться во всем этом.
...
Рейтинг: 0 / 0
31.05.2016, 11:13
    #39246884
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrushСимонов Денис,

Я не имел ввиду что в бэкап попадет мусор. Я имел ввиду что данные которые вводятся во время бэкапа, если вдруг понадобится сразу сделать рестор - будут по сути мусором, т.к. пропадут.

Перед бэкапом переименуй файл БД. Если не удалось - то есть коннекты. Если удалось - то после переименовки никто не сможет подключиться по старому имени т.к. оно теперь другое.
Это нормально работает на винде, но под юниксами не прокатит.
...
Рейтинг: 0 / 0
31.05.2016, 11:17
    #39246887
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrush,

Как все запущено...
Вы пытаетесь заложить неправильную последовательность действий.
Рестор нельзя рассматривать как штатный способ отката неверных расчетов.
...
Рейтинг: 0 / 0
31.05.2016, 11:18
    #39246892
akrush
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
fraksakrushСимонов Денис,

Я не имел ввиду что в бэкап попадет мусор. Я имел ввиду что данные которые вводятся во время бэкапа, если вдруг понадобится сразу сделать рестор - будут по сути мусором, т.к. пропадут.

Перед бэкапом переименуй файл БД. Если не удалось - то есть коннекты. Если удалось - то после переименовки никто не сможет подключиться по старому имени т.к. оно теперь другое.
Это нормально работает на винде, но под юниксами не прокатит.

Таким образом я могу переименовать, скопировать и переименовать назад и мне не нужно делать бэкап/рестор.
...
Рейтинг: 0 / 0
31.05.2016, 11:22
    #39246897
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrushfraksпропущено...


Перед бэкапом переименуй файл БД. Если не удалось - то есть коннекты. Если удалось - то после переименовки никто не сможет подключиться по старому имени т.к. оно теперь другое.
Это нормально работает на винде, но под юниксами не прокатит.

Таким образом я могу переименовать, скопировать и переименовать назад и мне не нужно делать бэкап/рестор.

Собственно, я тоже не пойму зачем в вашей задаче (откатиться назад после неправильных расчетов) делать бэкап-рестор, тем более что это дольше :)
...
Рейтинг: 0 / 0
31.05.2016, 11:25
    #39246907
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrushВо время перерасчета никто ничего не вводит т.к. после перерасчета выборочно нужно проверить правильность расчета и ЕСЛИ расчет НЕПРАВИЛЬНЫЙ - сделать рестор для отката изменений.
че-то жесть какая-то. если вам надо перерасчет выполнить в монопольном режиме, для этого есть транзакции с блокированием таблиц.
Но откатывать "рестором или копированием" - это какой-то запредельный способ.
...
Рейтинг: 0 / 0
31.05.2016, 11:38
    #39246934
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
akrush,

вы мыслите в терминах файл-серверных СУБД. Рестор для отката это как-то слишком жёстко.

Помимо транзакций СУБД есть так называемые бизнес-транзакции. Они обычно делаются через статусы документов (на проверке, отклонён, проведён ...). Если надо делать откаты бизнес транзакций, то все изменения логируются и в случае необходимости по логу возвращаются в исходное состояние. Или даже можно сделать свою систему версий документов.

А ещё для временного просмотра и последующего подтверждения можно использовать GTT. В общем вопрос скорее по проектированию БД.
...
Рейтинг: 0 / 0
31.05.2016, 11:39
    #39246935
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
kdvakrushВо время перерасчета никто ничего не вводит т.к. после перерасчета выборочно нужно проверить правильность расчета и ЕСЛИ расчет НЕПРАВИЛЬНЫЙ - сделать рестор для отката изменений.
че-то жесть какая-то. если вам надо перерасчет выполнить в монопольном режиме, для этого есть транзакции с блокированием таблиц.
Но откатывать "рестором или копированием" - это какой-то запредельный способ.

не такой уж запредельный.

в свое время так и считали налоги. в субботу приходишь, оставляешь в сети только себя и сервер, делаешь резервную копию, считаешь.
срослось (процесс вероятностный, 80% - успех) - оставляешь как есть, нет - по новой.

в понедельник утром докладываешь консилиуму инспекторов результаты - по отмашке втыкаешь сервер в общую сеть.

только было это в прошлом веке, и на фокспро.
...
Рейтинг: 0 / 0
31.05.2016, 11:47
    #39246949
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
pastor,

это что за процессы там такие, при расчете, что по одним и тем же данным может "то сойтись", и то "не сойтись"? Типа рандомного калькулятора, что-ли? И почему нельзя посмотреть, где не сошлось, исправить, и пересчитать?

я все же подозреваю, что автор не в курсе транзакций, в т.ч. транзакций snapshot, в которых можно хоть до посинения пересчитывать.
В конце-концов, есть же и программные механизмы, чтобы запретить менять старые данные, и т.д.
...
Рейтинг: 0 / 0
31.05.2016, 11:56
    #39246966
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
kdvpastor,

это что за процессы там такие, при расчете, что по одним и тем же данным может "то сойтись", и то "не сойтись"? Типа рандомного калькулятора, что-ли? И почему нельзя посмотреть, где не сошлось, исправить, и пересчитать?


200 тыс налогоплательщиков, примерно столько же объектов обложения.
фокспро в дос-режиме, с использованием расширенной памяти типа DOS-GW (или как его там).
может тупо умереть на нехватке памяти, перестроении индексов, переполненнии количества блокировок, открытых файлов и пр.

расчет делался на клиентской машине со специально заточенной win95, с highmem и пр. припарками, битвой за каждый бит.
база тащилась по нетвари (коаксиалу) на эту админскую машину, после удачи - обратно в нетварь

так что вопрос был не в сошлось/не сошлось (это все равно разгребать по заявлениям, платежкам и пр.), а в дошло до конца или нет.
...
Рейтинг: 0 / 0
31.05.2016, 11:59
    #39246971
akrush
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FIBPus Backup/Restor
kdv,
Ткните носом где почитать про snapshot
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FIBPus Backup/Restor / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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