|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
hlopotun Например возможна ли ситуация при работе с дельтой когда что то может пойти не так как предполагается (с точки зрения обновления метаданных итп). этот вопрос уже был задан. Метаданные - это почти такие же таблицы, как и обычные таблицы, разве что со специфической информацией. Запись который в БД требуется по всякому - например, один оператор рассовывается по разным таблицам (rdb$relations, rdb$fields, rdb$relation_fields, ....), другой оператор - выполняется по коммиту (alter index...), третий - еще как-то иначе. При этом, никакой связи у метаданных с нбэкапом нет. Запись идет либо в дельту, либо в базу. И поэтому, перефразируя вопрос - "если нбэкапа нет, и при работе с БАЗОЙ что-то произошло, и т.д.". Исходя из такой конструкции я бы как раз обновления метаданных только с дельтой и рекомендовал :-) А с точки зрения повреждений - да, всякое бывает. Мы даже FirstAid научили дельты сливать с базой, если что. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 23:12 |
|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
kdvp.s. я так понимаю, это надо у Самофатова спрашивать, зачем понадобились sql-команды. Чтобы обойтись без утилиты, например: Код: sql 1. 2. 3.
Или "потому что так сделано в оракуле". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 00:39 |
|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
hlopotun Небольшое дополнение ко всей этой истории. Дело в то что размер базы данных бывает очень большим, у некоторых клиентов исчисляется терабайтами. Люди которым приходится делать обновление у клиентов вынуждены работать по ночам и выходным (дабы не останавливать фирмы на время обновления). Резервная копия (инкрементная) к моменту начала обновления всегда уже существует, но что бы её накатить нужны часы, иногда ночи недостаточно. Поэтому давно витала идея как то эту проблему обойти. Если работать через дельту то откат можно произвести в течении минут, при этом на крайний случай конечно иметь резервную копию. Со спеца снимается временное давление и он сможет спокойно решить проблему и накатить обновление снова. Более того успеть обслужить нескольких клиентов. Поэтому спасибо всем за советы и за критику. Хотелось бы ещё услышать аргументы против такого решения, где это может споткнуться. Например возможна ли ситуация при работе с дельтой когда что то может пойти не так как предполагается (с точки зрения обновления метаданных итп). То что нормальная резервная копия есть это как бы подразумевается. Спасибо На копию базы накатываете изменения. Работа клиентов продолжается с основной базой. Потом подключаете копию к системе репликации, изменения данных из основной базы переносятся в копию. Клиенты при следующих коннектах подключаются к копии, далее копия становится основной базой. Изменения должны быть совместимы с системой репликации, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 12:08 |
|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
ъъъъъ hlopotun Небольшое дополнение ко всей этой истории. Дело в то что размер базы данных бывает очень большим, у некоторых клиентов исчисляется терабайтами. Люди которым приходится делать обновление у клиентов вынуждены работать по ночам и выходным (дабы не останавливать фирмы на время обновления). Резервная копия (инкрементная) к моменту начала обновления всегда уже существует, но что бы её накатить нужны часы, иногда ночи недостаточно. Поэтому давно витала идея как то эту проблему обойти. Если работать через дельту то откат можно произвести в течении минут, при этом на крайний случай конечно иметь резервную копию. Со спеца снимается временное давление и он сможет спокойно решить проблему и накатить обновление снова. Более того успеть обслужить нескольких клиентов. Поэтому спасибо всем за советы и за критику. Хотелось бы ещё услышать аргументы против такого решения, где это может споткнуться. Например возможна ли ситуация при работе с дельтой когда что то может пойти не так как предполагается (с точки зрения обновления метаданных итп). То что нормальная резервная копия есть это как бы подразумевается. Спасибо На копию базы накатываете изменения. Работа клиентов продолжается с основной базой. Потом подключаете копию к системе репликации, изменения данных из основной базы переносятся в копию. Клиенты при следующих коннектах подключаются к копии, далее копия становится основной базой. Изменения должны быть совместимы с системой репликации, конечно. проблема в том что клиенты очень разношерстные. Есть большие конторы а есть совсем маленькие шарашкины конторы. Если для больших заморачиваться с репликачией может и имеет смысл то с маленькими это только лишний гемморой и траты. Тут порой даже проблема тупо в дисковом пространстве встаёт, у клиента не оказывается под рукой достаточно дискового пространства что бы сделать резервную копию в процессе обновления и потом её использовать. Бызы порой здоровенные (даже у маленьких контор), тупо их копировать уже куча времени. Поэтому вариант с delta и муссируется. Мы не можем сказать клиенту "пока то и то не сделаешь обновление не получишь". Все они платят денюжку и конечная цель что бы и дальше её исправно и вовремя платили. Клиентов конечно предупреждают если видят проблемы но конечный выбор остаётся за клиентом. К тому же маленькие конторы не всегда могут позволить себе многочассовую поддержку при обновлении, дорогое железо и своих спецов. Поэтому приходится выкручиваться как можем. Пока получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 12:30 |
|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
kdv Шавлюк Евгений, если задача именно в том чтобы тырить дельту, то шатдаун не обязателен :-) другими словами останавливать FB необязательно? достаточно запустить nbackup -F .... при работаюшем FB не запуская gfix для shutdown и он отпустит deltа файл и переключится в режим normal? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 13:03 |
|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
ъъъъъ, с репликацией в hqbird и FB4 это не получится. Потому что копия реплики - ридонли. А если ее перевести в RW, она уже перестанет быть копией. Тут же как было бы прикольно - с рабочей базы сделал реплику, на реплику накатил изменения, и потом пульнул "изменения" с реплики на копию. Но нет, не выйдет, это должна быть мастер-мастер репликация. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 16:15 |
|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
kdv p.s. я так понимаю, это надо у Самофатова спрашивать, зачем понадобились sql-команды. Для копирования БД с windows сервера без доступа к терминалу. Алгоритм В sql блокируем БД "alter database begin backup;" Копируем файл с сетевого диска windows сервера В sql разблокируем БД "alter database end backup;" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 23:54 |
|
Изменить метаданные, структуру таблицы и добавить в неё данные в одной транзакции
|
|||
---|---|---|---|
#18+
21.05.2021 23:54, Sergey A. Volkov пишет: > В sql блокируем БД "alter database begin backup;" > Копируем файл с сетевого диска windows сервера > В sql разблокируем БД "alter database end backup;" ахуи восхитительно! (сарказм) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2021, 11:32 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1560030]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
13ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 307ms |
0 / 0 |