powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Rollback чужих транзакций
62 сообщений из 62, показаны все 3 страниц
Rollback чужих транзакций
    #38503618
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую Firebird. Необходимо откатить чужие транзакции. Как это можно сделать?
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503634
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убей коннект, их породивший, используя таблицу мониторинга MON$ATTACHMENTS.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503654
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сильно подозреваю, что ему нужен флэшбэк...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503696
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

коннект я убиваю, но мне так же надо откатить чужие транзакции. На сколько я понял после дисконекта пользователей транзакции остаются активными, но Firebird в последствии пытается поставить блокировку на "активную" транзакцию и если у него это сделать не получается (а у него это не должно получиться так как коннекта пользователя с БД нет), то статус транзакции меняется на "неактивный" и транзакция помещается в "мусор". Но на сколько я понимаю это механизм выполняется не сразу. А так как мне необходимо провести обслуживание БД без зависших транзакций (исходя из вышеперечисленного не буду же я ждать пока сервер соизволит деактивировать транзакции и отправит их в мусор), то надо их откатывать вручную.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503699
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

можно ли поподробней о Flashback если конечно мне это поможет?
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503738
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Freddie26!

всё это чушь.
настрой keepalive правильно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503746
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26Но на сколько я понимаю это механизм выполняется не сразу. А так как мне
необходимо провести обслуживание БД без зависших транзакций
Во-первых, ты хреново понимаешь. При убиении коекта его транзакции сразу помечаются как
откаченные.
Во-вторых, что за бредовое "обслуживание БД" ты там проводишь?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503920
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

я лично начинающий программист. Компания в которой работаю столкнулась с тем, что повреждаются базы. "мы" идем их чинить, а для этого необходимо принудительно отключать пользователей от БД, откатывать висящие транзакции, которые возникли в ходе эксплуатации БД и собственно восстанавливать БД. Про механизм KEEPALIVE я почитал прежде чем сюда написать, но мне сотрудник говорит, что по факту механизм не работает как надо. Потому я и занимаюсь написанием утилиты по откату чужих транзакций.

Проблема в том что администраторов БД либо нет, либо они не делают то что от них нужно. Предполагаю потому механизм KEEPALIVE и не работает...
Для таких случаев и утилита - нет возможности ходить и администрировать БД самим
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38503943
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26я лично начинающий программист. Компания в которой работаю столкнулась с
тем, что повреждаются базы. "мы" идем их чинить
Т.е. ты начинающий программист, о Firebird ни черта не знаешь,
http://ibase.ru/devinfo/db_repair.htm не читал, но уверенно идёшь чинить базу и пытаешься
написать утилиту, которая как раз ненароком может базу убить. Поздравляю, премия Дарвина
Вас ожидает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504012
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

меня курируют люди, предполагаю которые знают что нужно для починки этой базы. Они ее разработали и занимаются ее сопровождением. Я же выполняю задания которые мне дают и по ходу учусь. Для того чтобы НЕ убивать клиентские базы у меня есть тестовые, а прежде чем чинить клиентские утилита сотни раз проверится, будет проанализирована и доработана. А за чтиво благодарен. Обязательно ознакомлюсь
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504074
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26предполагаю которые знают что нужно для починки этой базы.
похоже, что не знают. Иначе бы у них база уже давно прекратила "повреждаться".

Freddie26Потому я и занимаюсь написанием утилиты по откату чужих транзакций.
ты никогда такую написать не сможешь. Отрубить пользователей - можно, разными способами. При этом, как тебе уже сказали, те транзакции сами станут rollback. Поэтому откатывать уже будет нечего.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504232
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

мне выше предложили ссылку, в которой предлагаются причины поломки баз (советую почитать прежде чем обвинять разработчиков). В нашем случае проблема возникает в связи с перепадами напряжения, когда не успевает включиться дополнительный источник питания сервер падает, а так как у Firebird нет механизма принятия решений в сложившейся ситуации и транзакции остаются активными до того момента как сервер не установит им статус "неактивна" (KEEPALIVE), то на момент backup/restore могут остаться активные транзакции. Соответственно возникает необходимость удалять их вручную, а так как клиентских баз может быть много, то за администраторов мне приходится делать их работу в своей утилите...

Почему не получится? IBExpert выполняет нужную мне задачу, мне удалось вытащить что происходит в этот момент, осталось только это использовать.

И вообще зачем кидаться камнями в новичков?! Я обратился с просьбой предложить решение. Если бы я не знал что можно использовать -gfix, что можно настроить KEEPALIVE - я бы сюда не писал. Проблема в том что -gfix работает грубо, в результате я с большой вероятностью потеряю половину базы, потому пишем свою утилиту, которая уже дает больше, чем -gfix.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504238
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

Извините конечно, но про бекап вы чушь написали, ибо он сам стартует транзакцию снапшот и не завершённые транзакции ему побоку. Я надеюсь вы бекап запускаете с переключателем -g
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504251
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26сервер падает, а так как у Firebird нет механизма принятия решений в
сложившейся ситуации и транзакции остаются активными до того момента как сервер не
установит им статус "неактивна" (KEEPALIVE), то на момент backup/restore могут остаться
активные транзакции. Соответственно возникает необходимость удалять их вручную
Извините, Вы где наслушались этого бреда? Какой KEEPALIVE если упал целый сервер? Как
транзакции могут остаться активными, если сервер выключился? Зачем вообще производить
backup/restore? На эти вопросы Вы в состоянии дать вменяемые ответы?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504254
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Всемирная паутина говорит о грубости работы -gfix и о куче минусов. Я честно говоря только на словах знаю про -gfix, понимаю что там большой функционал, но не разу ее не запускал. Однако те кто из сотрудников запускал говорят: "совместно придуманное нами решение лучше". Работает примерно по тому же принципу, но результат лучше и быстрее получается.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504261
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе?
На сколько я понимаю это порождает ошибки в базе, таблицы становятся не читаемыми.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504300
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе?капут им.
Freddie26На сколько я понимаю это порождает ошибки в базеошибки порождает незаконченная запись на диск. форсед райтс весьма им потоворствует.
Freddie26таблицы становятся не читаемымифайл БД страничный, в нем страницы, а не таблицы.


Freddie26что происходитДоку читай однако.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504321
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе?
На сколько я понимаю это порождает ошибки в базе, таблицы становятся не читаемыми.
Имхо даже убиение процесса не ломает базу. Точнее не должно, by design :)
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504335
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26мне выше предложили ссылку, в которой предлагаются причины поломки баз (советую почитать прежде чем обвинять разработчиков)
вы сами-то эту статью читали? Похоже что нет, иначе не предлагали бы мне ее почитать. Потому что (сюрприз), это я эту статью написал.
Freddie26 то на момент backup/restore могут остаться активные транзакции.
на момент backup - могут, но это вас не должно волновать, а на момент restore - не могут, никак, в принципе.
Freddie26 Проблема в том что -gfix работает грубо, в результате я с большой вероятностью потеряю половину базы
проблема в том, что вы новичок, и постоянно пишете чушь, совершенно этого не стесняясь.
Freddie26Всемирная паутина говорит о грубости работы -gfix и о куче минусов.
где написано о "грубости его работы"? Да, он не чинит ряд повреждений, зато есть наш FBFirstAid, может, проще купить его, чем писать свою утилиту, которая будет заведомо хуже?

Источник питания не успевает включиться? Ну так купите UPS. Я так понимаю, что у вас "источник питания" это какой-то дизель-генератор.
Freddie26Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе?
На сколько я понимаю это порождает ошибки в базе, таблицы становятся не читаемыми.
ух, ох... состояния этих транзакций останется в Active в Transaction Inventory Page, и при первом монопольном подключении к базе сервер их сам переведет в RolledBack. Это быстро и не больно, и не может приводить ни к каким повреждениям.
Ошибки в базе происходят, как уже сказали выше, или от незаконченной записи на диск, или от искажений записи. И это вызвано только ОС и железом.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504340
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NickDee,

к сожалению конечные пользователи БД умудряются убить базу...
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504344
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26к сожалению конечные пользователи БД умудряются убить базу...
ты уточняй, как и где. Если база у них - да, конечно умудряются. Но в этом случае повреждения обычно совсем другие.
Я вообще, кстати, в первый раз слышу, чтобы человек при повреждениях базы беспокоился про какие-то там "активные транзакции", которые, как я уже написал, никакого интереса или боязни не представляют в силу архитектуры IB/FB.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504380
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я вообще не понимаю, какие к чёртовой матери
транзакции (да ещё активные), если БД уже повреждена
(и откуда и как об этом узнаёт автор, кстати?).

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504383
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

это его фантазии. У ТС что-то там не работает, вот только зачем выдумывать причины не понятно
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504389
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> это его фантазии

Так и я о том же. А вы ему тут про gfix и FW рассказываете.
Утилиту собрался он писать, для автопочинки баз, ага.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504401
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26конечные пользователи БД умудряются убить базу...
А теперь расскажи нам, милое дитя, что именно ты обозначаешь словом "убить базу".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504435
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давайте вернемся к исходному вопросу.

Freddie26Всемирная паутина говорит о грубости работы -gfix и о куче минусов. Я честно говоря только на словах знаю про -gfix, понимаю что там большой функционал, но не разу ее не запускал. Однако те кто из сотрудников запускал говорят: "совместно придуманное нами решение лучше". Работает примерно по тому же принципу, но результат лучше и быстрее получается.
Прошу ответить, хотя бы на часть

- о какой "грубости работы gfix и куче минусов" говорит всемирная паутина? Ссылки, мнения.
- в чем состоит "совместно придуманное нами решение"? Если не секрет. Если только речь не про мифическую "отмену транзакций".

по крайней мере в ваших сообщениях я вижу ряд противоречий. С одной стороны, поврежденные БД у пользователей, с другой стороны, висячие коннекты, с третьей - падение сервера по отсутствию питания. Т.е. в кучу намешано всякого, а вот выводы непонятно какие.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504446
Фотография kgb ussr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv...
по крайней мере в ваших сообщениях я вижу ряд противоречий. С одной стороны, поврежденные БД у пользователей, с другой стороны, висячие коннекты, с третьей - падение сервера по отсутствию питания...

Ты знаешь, может быть все, что угодно.
Я позавчера наблюдал за работой пользователя, в режиме "удаленного рабочего стола". Все говорит, хорошо, только "некоторая нестабильность".

Так вот, мужик запустил клиентское приложение, тут же его "убил" с помощью диспетчера задач, снова запустил, снова убил - "подвисает". Потом пошел, "перезагрузил сервер". "Сервер" (там, где FireBird и база) - это ноут одного из сотрудников, который периодически впадает в спячку, когда хозяин им не пользуется.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504447
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kgb ussr,

да я представляю, что в таких местах происходит, но вот мне не очень ясно, что за выводы и на каком основании делают "старшие товарищи", которых мы тут, похоже, в глаза не видели.
Самые проблемные разработчики - это те, которые ни с кем не общаются, и никогда нигде не спрашивают. Вот Freddie26 - исключение, и это хорошо, но неясно, кто там рядом наводит тень на плетень.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504450
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

по ссылке http://www.firebirdsql.org/manual/gfix-dbverify.html есть такая фраза как Using the -mend option can lead to silent deletions of data because gfix doesn't care about internal database constraints like foreign keys etc, the -mend option simply says to gfix "go ahead and clean out anything you don't like" . Под грубостью я подразумевал потерю информации. В целом я только это и имел в виду, потому что нужно восстановить базу с минимальными потерями.

Решение состоит в том чтобы брать пустую базу идентичную поврежденной, удалять в ней PK, FK, UQ, отключать и удалять индексы, отключать триггеры, затем копировать битую базу в пустую, правим поля на которые в последствии будут восстанавливаться FK, а именно для FK у которых значение ON DELETE = CASCADE удаляем записи, для SET NULL устанавливаем значение поля в NULL.
затем восстанавливаем все PK, FK, UQ, индексы, активируем триггеры и пересчитываем статистику индексов. Для битой таблицы решения пока не было придумано, потому восстанавливаем ее из backup'a

Баз несколько. все находятся у пользователей. за ними зачастую никто не следит на сколько мне известно. было предположено что некоторые повреждения могут быть вызваны отключением питания. второй проблемой явилось обновление базы "на горячую".
хочу извиниться. откат чужих транзакций мне нужен был для того чтобы предотвратить ошибки, которые могут возникнуть при обновлении базы "на горячую", поэтому мне необходимо по заданию отключить пользователей и откатить неподтвержденные транзакции (если я правильно понял), затем уже обновлять БД. Я ошибочно связал откат транзакций с причиной поломки БД

Хотелось бы отметить, что идея написания своей утилиты заключается в том, что баз много. периодически сотрудники (до моего прихода) сталкивались с необходимостью ремонтировать их (раньше они это делали при помощи -gfix, приходилось часами работать с базой, чтобы достичь хоть какого то восстановления). утилита должна свести к минимуму общение с пользователем и максимально восстановить данные. также восстанавливать БД дорого если обращаться к специалистам или покупать специальные программы для их восстановления, которые гарантировали бы 50% результат (наверно с предложенной вами программой не сталкивались или повреждения серьезные что такой низкий шанс на восстановление врать не буду не знаю)

А узнаем о повреждении базы по звонкам клиентов у которых ошибки при обращении к базе. Администратор одной из баз в частности не может сделать backup. Меня не сильно интересовали вопросы как узнают у нас в офисе о повреждении БД, но по факту когда пытаешься сделать выборку из некоторых таблиц вылетает ошибка(то на Firebird ругается, то длина поля превышена)
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504454
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kgb ussrТак вот, мужик запустил клиентское приложение, тут же его "убил" с помощью диспетчера задач, снова запустил, снова убил - "подвисает". Потом пошел, "перезагрузил сервер". "Сервер" (там, где FireBird и база) - это ноут одного из сотрудников, который периодически впадает в спячку, когда хозяин им не пользуется.
Я бы в пераую очередь не писал утилиту а:
- настроил ноут что бы не засыпал
- отрубил бы руки пользователю за "запустил, срубил". Причем отрубил бы сразу по самые уши
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504455
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26Под грубостью я подразумевал потерю информации.
сюрприз - но повреждение БД это всегда потеря какой то информации. Часто последних введенных данных, и тех, где повреждены сектора диска, и т.п.
И без gfix -mend могут быть повреждения как мастер-записей, так и деталей, и их все равно придется удалять. Ну или долго и нудно их восстанавливать, только "восстановить" такие записи можно только по памяти. Например, убилась запись клиента А, остались его заказы, и мы помним, что это клиент А, а не кто-то другой. А можем и не помнить.
Freddie26Решение состоит в том чтобы брать пустую базу идентичную поврежденной, удалять в ней PK, FK, UQ, отключать и удалять индексы, отключать триггеры, затем копировать битую базу в пустую
ну, IBPump есть для этого.
Freddie26а именно для FK у которых значение ON DELETE = CASCADE
в нормальных базах нет таких ФК. То есть, в здравом уме каскадно записи никто не удаляет.
Freddie26второй проблемой явилось обновление базы "на горячую".
не совсем понятно, что это значит.
Freddie26раньше они это делали при помощи -gfix, приходилось часами работать с базой, чтобы достичь хоть какого то восстановления
Freddie26ну да, мы поэтому и сделали FBFirstAid, но все равно тут гарантий что не будет удаленных ПК-ФК нет.
также восстанавливать БД дорого если обращаться к специалистам или покупать специальные программы для их восстановления, которые гарантировали бы 50% результат (наверно с предложенной вами программой не сталкивались или повреждения серьезные что такой низкий шанс на восстановление врать не буду не знаю)
с моей точки зрения все это чешуя. База может убиться целиком, а может повредиться совсем чуть. Для пользователя "восстановление БД" означает ее 100% восстановление, чего практически никогда не бывает. В вашем случае "50% результат" тоже не гарантирует работоспособности БД с приложением.
Исходя из примера выше, при повреждении записи с клиентом А, программа никогда не увидит заказы, оставшиеся от этого клиента, просто потому что разработчику и в голову не может прийти такая ситуация (и это нормально).
Ну и экономить деньги клиентов не надо. Они должны платить за свою дурость, если не делают резервные копии (и если разработчик позаботился предупредить об этом клиента). Повреждения бывают разные, как я уже сказал.
Как вы думаете, бывают у нас базы, которые вообще невозможно восстановить, и нет никаких бэкапов?

В целом, конечно, идея может имеет какой-то смысл, ведь у разработчика БД всегда есть "образец базы". Впрочем, посмотрите на наш Extractor.
http://ib-aid.com/download/IBFirstAIDDiagnostician.exe
описание тут
http://ib-aid.com/articles/item153
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504460
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26Меня не сильно интересовали вопросы как узнают у нас в офисе о повреждении БД, но по факту когда пытаешься сделать выборку из некоторых таблиц вылетает ошибка(то на Firebird ругается, то длина поля превышена)
Рукалицо. Походу кто-то из разработчиков сделал скрипт, который меняет длину варчар-поля через правку системных таблиц, у пользователей вылезает сообщение FB об обрезке строки, и разработчики бросаются чинить базу через совершенно немыслимые телодвижения.
Фредди, огромная просьба - выложи хотя-бы три разные "ошибки БД". Только не пересказ, а полный текст. Без этого непонятно, что там у вас за повреждения. Есть подозрение, что вырубание сервера и "поломка базы" - никак не связаны.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504462
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26> правим поля на которые в последствии будут восстанавливаться
Freddie26> FK, а именно для FK у которых значение ON DELETE = CASCADE
Freddie26> удаляем записи, для SET NULL устанавливаем значение поля в NULL.

А почему вы уверены, что это правильно?
Тем более, если делать это не вручную и
от безвуходности, а автоматом?

Freddie26> обновлении базы "на горячую"

А что это такое? Может, Вы, наконец,
начнёте не свои термины выдумывать,
а либо общепринятые использовать?
Или хотя бы более простыми словами
описывать - длиннее, но понятнее.

> Администратор одной из баз в частности не может сделать backup

Так может не утилиту писать, а просто
еженочный бэкап всем настроить?
Или даже написать "утилиту", которая
этот самый бэкап и будет делать. :)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504463
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

я не особо сталкивался с механизмом обновления, но на сколько я понял обновлять клиентскую базу во время работы с ней пользователей не хорошо, это я назвал обновлением "на горячую" (опять же со слов сотрудников. не знаю хорошо это или плохо, но я перенимаю опыт у них и интернета если первые не в состоянии помочь). предположительно это создает повреждения базы, поэтому как было сказано выше надо подключаться в монопольном режиме
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504465
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> в нормальных базах нет таких ФК. То есть,
kdv> в здравом уме каскадно записи никто не удаляет.

Фигасе заявление. Это у тебя такой здравый ум.
У других он другой и не менее здравый.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504466
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще странная ситуация. У пользователей "ломается БД" и, возможно, корень этого в 1-3 причинах. И, вместо того, чтобы искать и исправлять причину, борются со следствием. Было бы неплохо пригласить как минимум одного из них сюда, для разъяснительных бесед. Поп-корн уже готов.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504469
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамkdv> в нормальных базах нет таких ФК. То есть,
kdv> в здравом уме каскадно записи никто не удаляет.

Фигасе заявление. Это у тебя такой здравый ум.
У других он другой и не менее здравый.
Да сколько уже спорили с Дмитрием на эту тему. Уперся, что это ненормально - и все.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504473
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,

после копирования в пустую базу если пытаться просто восстановить внешние ключи выкидывало ошибку о нарушении ссылочной целостности, поэтому я делаю выборку всех ключей которые ее нарушают и правлю их

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

прошу прощения за никому не понятные выражения, повторюсь: набрался у сотрудников
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504475
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CyberMax,

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

с причиной к слову говоря тоже начинаем бороться. по крайней мере теперь будем выполнять обновления в монопольном режиме.
как остальные проблемы будут решаться не знаю
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504477
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

Список ошибок мы дождемся?
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504485
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax> Да сколько уже спорили

Я в курсе, тоже участвовал, IIRC. Это как раз то, о чём я говорил
в прошлый раз - нечто, в лучшем случае, спорное выдаётся как
абсолютная истина. А когда ему говоришь, что он ахинею несёт -
обижаться и возмущаться начинает.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504488
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26> после копирования в пустую базу если пытаться
Freddie26> просто восстановить внешние ключи выкидывало
Freddie26> ошибку о нарушении ссылочной целостности ...

Я знаю и об этом не спрашивал. Объясняю ещё раз, для непонятливых:
есть данные, в т.ч. мастер-детали с внешними ключами, разумеется.
При "повреждении" БД (или по какой-то другой причине) при порче
или "пропаже" данных мастера вы удаляете и все его детали, а в общем
случае не только детали, а вообще все FK-ссылки. Если не удаляете, а
делаете Set Null, то это немногим лучше, ибо во-первых, поля могут не
допускать Null-ы, а во-вторых, оставшиеся данные люди в конкретных
системах (БД-клиентах) могут в итоге просто не увидеть (глазами).

Так что это ещё бабушка надвое сказала, исправляете ли вы БД или
просто "обрубаете". Мотор тоже можно "чинить" выкидыванием
"нерабочих" деталей, знаете ли.

> написать утилиту которая будет делать бэкап не такая уж и
> большая проблема, но сейчас не до этого <skipped>

Гм... Я понимаю, что у вас там организационный бардак, и Вы, судя
по всему, ничего не решаете, но "утилита которая будет делать бэкап"
может представлять из себя простой батник (есть готовые на форуме),
"писать" и внедрять её ВСЁ РАВНО НАДО и времени на это уйдёт
в ЛЮБОМ СЛУЧАЕ меньше, чем на разработку вашей непонятной
утилиты, которая якобы "чинит" базы.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504552
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЭто как раз то, о чём я говорил в прошлый раз - нечто, в лучшем случае, спорное выдаётся как
абсолютная истина. А когда ему говоришь, что он ахинею несёт - обижаться и возмущаться начинает.
ну почему же спорное? "в нормальных базах записи не удаляют" (с) местное. И вроде здесь же согласились, что каскадное удаление - зло. Я не отрицаю, что его где-то можно использовать, но это составляет единицы процента от всех ФК базы данных.
А вы мне начинаете, что "каскадное удаление можно использовать". Да все можно использовать, кто ж спорит...
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504648
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CyberMax,

прошу прощения за задержку. имеем такую ошибку при попытке открыть таблицу на относительно маленькой БД (на большей БД пока не имею возможности представить ошибки):

- при открытии с помощью приложения
Project Project2.exe raised exception class EIBNativeException with message '[AnyDAC][Phys][IB]internal Firebird consistency (wrong record length(183),file:vio.cpp line: 1159)'.

-при открытии в IBExpert
Error Message:
----------------------------------------
can't format message 13:98 -- message file C:\Windows\firebird.msg not found.
internal Firebird consistency check (wrong record length (183), file: vio.cpp line: 1159).
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504664
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов РустамТак что это ещё бабушка надвое сказала, исправляете ли вы БД или
просто "обрубаете". Мотор тоже можно "чинить" выкидыванием
"нерабочих" деталей, знаете ли.

понятно что мы выкидываем "нерабочие" детали, но стоит ли прилагать большие усилия и затраты для восстановления базы - решать не мне. начальство решило, что стоит попробовать вытаскивать максимум информации своими силами, к тому же клиенты зачастую не видят в повреждении БД своей вины и становится вопрос с чей стороны будет происходить оплата ремонта.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504671
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

не подскажите как подключаться к БД в монопольном режиме программно?
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504681
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

Версия Firebird какая используется?
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504704
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CyberMax,

Verion 2.5.2.26540 Firebird 2.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504751
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

1. Подключаешься к базе. Смотришь в MON$ATTACHMENTS. Если есть кто, кроме себя - выгоняешь (как по телефону, так и через DELETE).
2. Шатдаун базы.
3. Profit!
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504816
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, CyberMax!
You wrote on 18 декабря 2013 г. 11:54:16:

CyberMax> 1. Подключаешься к базе. Смотришь в MON$ATTACHMENTS. Если есть кто,
> кроме себя - выгоняешь (как по телефону, так и через DELETE).
> 2. Шатдаун базы.
> 3. Profit!
сильно подозреваю, что у них там все мастеркеями ходят.

зы: проще расстрелять всех к чертовой бабушке...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504819
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

Немного оффтоп, но вот тебе утилита, которая будет гарантировано делать бекап вне зависимости от настроения пользователя. Лишь бы компьютер был включен в нужное время.

Код: plaintext
1.
schtasks /create /ru "" /sc daily /tn "Daily DB backup" /tr C:\путь\backup.bat /st 10:00:00

Если вместо daily написать hourly, то бекап будет делаться каждый час. Для баз данных меньше гигабайта, если бекапы сжимать, полугигового ноутбучного винта на какое-то время хватит. А если еще в backup.bat добавить автоматическое удаление бекапов определенной давности - вообще обрадуетесь :) Скрипт бекапа можно написать самому или взять любой из готовых здесь или на firebirdsql.ru.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38504995
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

вы правы, все под мастеркеями, но пожалуй только потому что не было необходимости разграничивать, но после разграничения данное решение имеет право на жизнь
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505003
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26, зайди сегодня в аптеку.
испроси йаду.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505052
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийсильно подозреваю, что у них там все мастеркеями ходят.
Freddie26вы правы, все под мастеркеями
Дэвид Блейн, как ты это сделал?
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505119
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто у МП новый сверхнавороченный хрустальный шар.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505159
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26данное решение имеет право на жизньНу можно не яду, можно просто "утопиццо" или "убицца ап стену".
Симонов ДенисПросто у МП новый сверхнавороченный хрустальный шар.Скорее испытанный и оттестированный.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505172
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
простите, а чем собственно проблема создать пользователя и запускать из под него клиентские базы?
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505186
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26простите, а чем собственно проблема создать пользователя и запускать из под него клиентские базы?проблемы нет. НО под SYSDBA, кроме собственно админа в базе никого не должно быть. "Аксиом такое".
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505293
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevsky,

спасибо, приму к сведению.
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505341
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26имеем такую ошибку при попытке открыть таблицу на относительно маленькой
БД
А не покажешь ли ты нам результат работы gstat -h на этой базе добровольно, без
предупредительного бана в голову?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505358
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Database header page information:
Flags 0
Checksum 12345
Generation 489623
Page size 16384
ODS version 11.2
Oldest transaction 485635
Oldest active 488755
Oldest snapshot 488755
Next transaction 488759
Bumped transaction 1
Sequence number 0
Next attachment ID 867
Implementation ID 16
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Nov 18, 2013 16:36:24
Attributes force write, multi-user maintenance

Variable header data:
Sweep interval: 20000
*END*
...
Рейтинг: 0 / 0
Rollback чужих транзакций
    #38505365
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Freddie26!
You wrote on 18 декабря 2013 г. 16:00:35:

Freddie26> Attributes multi-user maintenance
перманентно?

просто восхитительно

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
62 сообщений из 62, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Rollback чужих транзакций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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