|
|
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Использую Firebird. Необходимо откатить чужие транзакции. Как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 14:39:05 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Убей коннект, их породивший, используя таблицу мониторинга MON$ATTACHMENTS. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 14:45:13 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
сильно подозреваю, что ему нужен флэшбэк... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 14:52:46 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, коннект я убиваю, но мне так же надо откатить чужие транзакции. На сколько я понял после дисконекта пользователей транзакции остаются активными, но Firebird в последствии пытается поставить блокировку на "активную" транзакцию и если у него это сделать не получается (а у него это не должно получиться так как коннекта пользователя с БД нет), то статус транзакции меняется на "неактивный" и транзакция помещается в "мусор". Но на сколько я понимаю это механизм выполняется не сразу. А так как мне необходимо провести обслуживание БД без зависших транзакций (исходя из вышеперечисленного не буду же я ждать пока сервер соизволит деактивировать транзакции и отправит их в мусор), то надо их откатывать вручную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 15:17:01 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, можно ли поподробней о Flashback если конечно мне это поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 15:19:25 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Hello, Freddie26! всё это чушь. настрой keepalive правильно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 15:32:09 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26Но на сколько я понимаю это механизм выполняется не сразу. А так как мне необходимо провести обслуживание БД без зависших транзакций Во-первых, ты хреново понимаешь. При убиении коекта его транзакции сразу помечаются как откаченные. Во-вторых, что за бредовое "обслуживание БД" ты там проводишь? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 15:34:36 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, я лично начинающий программист. Компания в которой работаю столкнулась с тем, что повреждаются базы. "мы" идем их чинить, а для этого необходимо принудительно отключать пользователей от БД, откатывать висящие транзакции, которые возникли в ходе эксплуатации БД и собственно восстанавливать БД. Про механизм KEEPALIVE я почитал прежде чем сюда написать, но мне сотрудник говорит, что по факту механизм не работает как надо. Потому я и занимаюсь написанием утилиты по откату чужих транзакций. Проблема в том что администраторов БД либо нет, либо они не делают то что от них нужно. Предполагаю потому механизм KEEPALIVE и не работает... Для таких случаев и утилита - нет возможности ходить и администрировать БД самим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 16:49:18 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26я лично начинающий программист. Компания в которой работаю столкнулась с тем, что повреждаются базы. "мы" идем их чинить Т.е. ты начинающий программист, о Firebird ни черта не знаешь, http://ibase.ru/devinfo/db_repair.htm не читал, но уверенно идёшь чинить базу и пытаешься написать утилиту, которая как раз ненароком может базу убить. Поздравляю, премия Дарвина Вас ожидает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 17:01:56 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, меня курируют люди, предполагаю которые знают что нужно для починки этой базы. Они ее разработали и занимаются ее сопровождением. Я же выполняю задания которые мне дают и по ходу учусь. Для того чтобы НЕ убивать клиентские базы у меня есть тестовые, а прежде чем чинить клиентские утилита сотни раз проверится, будет проанализирована и доработана. А за чтиво благодарен. Обязательно ознакомлюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 17:34:49 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26предполагаю которые знают что нужно для починки этой базы. похоже, что не знают. Иначе бы у них база уже давно прекратила "повреждаться". Freddie26Потому я и занимаюсь написанием утилиты по откату чужих транзакций. ты никогда такую написать не сможешь. Отрубить пользователей - можно, разными способами. При этом, как тебе уже сказали, те транзакции сами станут rollback. Поэтому откатывать уже будет нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 18:05:51 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
kdv, мне выше предложили ссылку, в которой предлагаются причины поломки баз (советую почитать прежде чем обвинять разработчиков). В нашем случае проблема возникает в связи с перепадами напряжения, когда не успевает включиться дополнительный источник питания сервер падает, а так как у Firebird нет механизма принятия решений в сложившейся ситуации и транзакции остаются активными до того момента как сервер не установит им статус "неактивна" (KEEPALIVE), то на момент backup/restore могут остаться активные транзакции. Соответственно возникает необходимость удалять их вручную, а так как клиентских баз может быть много, то за администраторов мне приходится делать их работу в своей утилите... Почему не получится? IBExpert выполняет нужную мне задачу, мне удалось вытащить что происходит в этот момент, осталось только это использовать. И вообще зачем кидаться камнями в новичков?! Я обратился с просьбой предложить решение. Если бы я не знал что можно использовать -gfix, что можно настроить KEEPALIVE - я бы сюда не писал. Проблема в том что -gfix работает грубо, в результате я с большой вероятностью потеряю половину базы, потому пишем свою утилиту, которая уже дает больше, чем -gfix. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:16:39 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26, Извините конечно, но про бекап вы чушь написали, ибо он сам стартует транзакцию снапшот и не завершённые транзакции ему побоку. Я надеюсь вы бекап запускаете с переключателем -g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:23:32 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26сервер падает, а так как у Firebird нет механизма принятия решений в сложившейся ситуации и транзакции остаются активными до того момента как сервер не установит им статус "неактивна" (KEEPALIVE), то на момент backup/restore могут остаться активные транзакции. Соответственно возникает необходимость удалять их вручную Извините, Вы где наслушались этого бреда? Какой KEEPALIVE если упал целый сервер? Как транзакции могут остаться активными, если сервер выключился? Зачем вообще производить backup/restore? На эти вопросы Вы в состоянии дать вменяемые ответы?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:36:48 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Всемирная паутина говорит о грубости работы -gfix и о куче минусов. Я честно говоря только на словах знаю про -gfix, понимаю что там большой функционал, но не разу ее не запускал. Однако те кто из сотрудников запускал говорят: "совместно придуманное нами решение лучше". Работает примерно по тому же принципу, но результат лучше и быстрее получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:39:22 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе? На сколько я понимаю это порождает ошибки в базе, таблицы становятся не читаемыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 20:44:18 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе?капут им. Freddie26На сколько я понимаю это порождает ошибки в базеошибки порождает незаконченная запись на диск. форсед райтс весьма им потоворствует. Freddie26таблицы становятся не читаемымифайл БД страничный, в нем страницы, а не таблицы. Freddie26что происходитДоку читай однако. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 21:38:45 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе? На сколько я понимаю это порождает ошибки в базе, таблицы становятся не читаемыми. Имхо даже убиение процесса не ломает базу. Точнее не должно, by design :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 21:54:41 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26мне выше предложили ссылку, в которой предлагаются причины поломки баз (советую почитать прежде чем обвинять разработчиков) вы сами-то эту статью читали? Похоже что нет, иначе не предлагали бы мне ее почитать. Потому что (сюрприз), это я эту статью написал. Freddie26 то на момент backup/restore могут остаться активные транзакции. на момент backup - могут, но это вас не должно волновать, а на момент restore - не могут, никак, в принципе. Freddie26 Проблема в том что -gfix работает грубо, в результате я с большой вероятностью потеряю половину базы проблема в том, что вы новичок, и постоянно пишете чушь, совершенно этого не стесняясь. Freddie26Всемирная паутина говорит о грубости работы -gfix и о куче минусов. где написано о "грубости его работы"? Да, он не чинит ряд повреждений, зато есть наш FBFirstAid, может, проще купить его, чем писать свою утилиту, которая будет заведомо хуже? Источник питания не успевает включиться? Ну так купите UPS. Я так понимаю, что у вас "источник питания" это какой-то дизель-генератор. Freddie26Сервер упал, что происходит с транзакциями пользователей, которые были подключены в этот момент к базе? На сколько я понимаю это порождает ошибки в базе, таблицы становятся не читаемыми. ух, ох... состояния этих транзакций останется в Active в Transaction Inventory Page, и при первом монопольном подключении к базе сервер их сам переведет в RolledBack. Это быстро и не больно, и не может приводить ни к каким повреждениям. Ошибки в базе происходят, как уже сказали выше, или от незаконченной записи на диск, или от искажений записи. И это вызвано только ОС и железом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 22:10:30 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
NickDee, к сожалению конечные пользователи БД умудряются убить базу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 22:13:34 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26к сожалению конечные пользователи БД умудряются убить базу... ты уточняй, как и где. Если база у них - да, конечно умудряются. Но в этом случае повреждения обычно совсем другие. Я вообще, кстати, в первый раз слышу, чтобы человек при повреждениях базы беспокоился про какие-то там "активные транзакции", которые, как я уже написал, никакого интереса или боязни не представляют в силу архитектуры IB/FB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 22:20:14 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Лично я вообще не понимаю, какие к чёртовой матери транзакции (да ещё активные), если БД уже повреждена (и откуда и как об этом узнаёт автор, кстати?). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 23:31:58 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, это его фантазии. У ТС что-то там не работает, вот только зачем выдумывать причины не понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 23:36:38 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> это его фантазии Так и я о том же. А вы ему тут про gfix и FW рассказываете. Утилиту собрался он писать, для автопочинки баз, ага. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2013, 23:43:35 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26конечные пользователи БД умудряются убить базу... А теперь расскажи нам, милое дитя, что именно ты обозначаешь словом "убить базу". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 00:10:10 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
давайте вернемся к исходному вопросу. Freddie26Всемирная паутина говорит о грубости работы -gfix и о куче минусов. Я честно говоря только на словах знаю про -gfix, понимаю что там большой функционал, но не разу ее не запускал. Однако те кто из сотрудников запускал говорят: "совместно придуманное нами решение лучше". Работает примерно по тому же принципу, но результат лучше и быстрее получается. Прошу ответить, хотя бы на часть - о какой "грубости работы gfix и куче минусов" говорит всемирная паутина? Ссылки, мнения. - в чем состоит "совместно придуманное нами решение"? Если не секрет. Если только речь не про мифическую "отмену транзакций". по крайней мере в ваших сообщениях я вижу ряд противоречий. С одной стороны, поврежденные БД у пользователей, с другой стороны, висячие коннекты, с третьей - падение сервера по отсутствию питания. Т.е. в кучу намешано всякого, а вот выводы непонятно какие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 01:29:49 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
kdv... по крайней мере в ваших сообщениях я вижу ряд противоречий. С одной стороны, поврежденные БД у пользователей, с другой стороны, висячие коннекты, с третьей - падение сервера по отсутствию питания... Ты знаешь, может быть все, что угодно. Я позавчера наблюдал за работой пользователя, в режиме "удаленного рабочего стола". Все говорит, хорошо, только "некоторая нестабильность". Так вот, мужик запустил клиентское приложение, тут же его "убил" с помощью диспетчера задач, снова запустил, снова убил - "подвисает". Потом пошел, "перезагрузил сервер". "Сервер" (там, где FireBird и база) - это ноут одного из сотрудников, который периодически впадает в спячку, когда хозяин им не пользуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 02:20:02 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
kgb ussr, да я представляю, что в таких местах происходит, но вот мне не очень ясно, что за выводы и на каком основании делают "старшие товарищи", которых мы тут, похоже, в глаза не видели. Самые проблемные разработчики - это те, которые ни с кем не общаются, и никогда нигде не спрашивают. Вот Freddie26 - исключение, и это хорошо, но неясно, кто там рядом наводит тень на плетень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 02:31:41 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
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 ругается, то длина поля превышена) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 02:36:57 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
kgb ussrТак вот, мужик запустил клиентское приложение, тут же его "убил" с помощью диспетчера задач, снова запустил, снова убил - "подвисает". Потом пошел, "перезагрузил сервер". "Сервер" (там, где FireBird и база) - это ноут одного из сотрудников, который периодически впадает в спячку, когда хозяин им не пользуется. Я бы в пераую очередь не писал утилиту а: - настроил ноут что бы не засыпал - отрубил бы руки пользователю за "запустил, срубил". Причем отрубил бы сразу по самые уши ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 02:48:19 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 02:52:12 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26Меня не сильно интересовали вопросы как узнают у нас в офисе о повреждении БД, но по факту когда пытаешься сделать выборку из некоторых таблиц вылетает ошибка(то на Firebird ругается, то длина поля превышена) Рукалицо. Походу кто-то из разработчиков сделал скрипт, который меняет длину варчар-поля через правку системных таблиц, у пользователей вылезает сообщение FB об обрезке строки, и разработчики бросаются чинить базу через совершенно немыслимые телодвижения. Фредди, огромная просьба - выложи хотя-бы три разные "ошибки БД". Только не пересказ, а полный текст. Без этого непонятно, что там у вас за повреждения. Есть подозрение, что вырубание сервера и "поломка базы" - никак не связаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:10:06 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26> правим поля на которые в последствии будут восстанавливаться Freddie26> FK, а именно для FK у которых значение ON DELETE = CASCADE Freddie26> удаляем записи, для SET NULL устанавливаем значение поля в NULL. А почему вы уверены, что это правильно? Тем более, если делать это не вручную и от безвуходности, а автоматом? Freddie26> обновлении базы "на горячую" А что это такое? Может, Вы, наконец, начнёте не свои термины выдумывать, а либо общепринятые использовать? Или хотя бы более простыми словами описывать - длиннее, но понятнее. > Администратор одной из баз в частности не может сделать backup Так может не утилиту писать, а просто еженочный бэкап всем настроить? Или даже написать "утилиту", которая этот самый бэкап и будет делать. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:12:26 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
kdv, я не особо сталкивался с механизмом обновления, но на сколько я понял обновлять клиентскую базу во время работы с ней пользователей не хорошо, это я назвал обновлением "на горячую" (опять же со слов сотрудников. не знаю хорошо это или плохо, но я перенимаю опыт у них и интернета если первые не в состоянии помочь). предположительно это создает повреждения базы, поэтому как было сказано выше надо подключаться в монопольном режиме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:12:42 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
kdv> в нормальных базах нет таких ФК. То есть, kdv> в здравом уме каскадно записи никто не удаляет. Фигасе заявление. Это у тебя такой здравый ум. У других он другой и не менее здравый. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:13:25 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Вообще странная ситуация. У пользователей "ломается БД" и, возможно, корень этого в 1-3 причинах. И, вместо того, чтобы искать и исправлять причину, борются со следствием. Было бы неплохо пригласить как минимум одного из них сюда, для разъяснительных бесед. Поп-корн уже готов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:14:31 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамkdv> в нормальных базах нет таких ФК. То есть, kdv> в здравом уме каскадно записи никто не удаляет. Фигасе заявление. Это у тебя такой здравый ум. У других он другой и не менее здравый. Да сколько уже спорили с Дмитрием на эту тему. Уперся, что это ненормально - и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:19:15 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, после копирования в пустую базу если пытаться просто восстановить внешние ключи выкидывало ошибку о нарушении ссылочной целостности, поэтому я делаю выборку всех ключей которые ее нарушают и правлю их написать утилиту которая будет делать бэкап не такая уж и большая проблема, но сейчас не до этого, потому что имеется несколько поврежденных баз, а заказчики требуют их работоспособности. по ремонту изначально назначили меня так как было решено что задача не приоритетная, а в последствии подключили моего куратора, а так как штат сотрудников не большой и больше никто не разбирается в ремонте БД, то пытаемся разобраться своими силами опираясь на опыт куратора. он мне дает задание сделать - я выполняю. после устранения неисправностей БД стоит задача написать утилиту которая делала бы бэкап по расписанию и собирала данные о базе. прошу прощения за никому не понятные выражения, повторюсь: набрался у сотрудников ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:25:21 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
CyberMax, со следствием приходится бороться, потому что клиенты звонят в офис и мозг выносят починить базу. с причиной к слову говоря тоже начинаем бороться. по крайней мере теперь будем выполнять обновления в монопольном режиме. как остальные проблемы будут решаться не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:33:31 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26, Список ошибок мы дождемся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 03:40:49 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
CyberMax> Да сколько уже спорили Я в курсе, тоже участвовал, IIRC. Это как раз то, о чём я говорил в прошлый раз - нечто, в лучшем случае, спорное выдаётся как абсолютная истина. А когда ему говоришь, что он ахинею несёт - обижаться и возмущаться начинает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 04:16:49 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26> после копирования в пустую базу если пытаться Freddie26> просто восстановить внешние ключи выкидывало Freddie26> ошибку о нарушении ссылочной целостности ... Я знаю и об этом не спрашивал. Объясняю ещё раз, для непонятливых: есть данные, в т.ч. мастер-детали с внешними ключами, разумеется. При "повреждении" БД (или по какой-то другой причине) при порче или "пропаже" данных мастера вы удаляете и все его детали, а в общем случае не только детали, а вообще все FK-ссылки. Если не удаляете, а делаете Set Null, то это немногим лучше, ибо во-первых, поля могут не допускать Null-ы, а во-вторых, оставшиеся данные люди в конкретных системах (БД-клиентах) могут в итоге просто не увидеть (глазами). Так что это ещё бабушка надвое сказала, исправляете ли вы БД или просто "обрубаете". Мотор тоже можно "чинить" выкидыванием "нерабочих" деталей, знаете ли. > написать утилиту которая будет делать бэкап не такая уж и > большая проблема, но сейчас не до этого <skipped> Гм... Я понимаю, что у вас там организационный бардак, и Вы, судя по всему, ничего не решаете, но "утилита которая будет делать бэкап" может представлять из себя простой батник (есть готовые на форуме), "писать" и внедрять её ВСЁ РАВНО НАДО и времени на это уйдёт в ЛЮБОМ СЛУЧАЕ меньше, чем на разработку вашей непонятной утилиты, которая якобы "чинит" базы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 04:30:03 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЭто как раз то, о чём я говорил в прошлый раз - нечто, в лучшем случае, спорное выдаётся как абсолютная истина. А когда ему говоришь, что он ахинею несёт - обижаться и возмущаться начинает. ну почему же спорное? "в нормальных базах записи не удаляют" (с) местное. И вроде здесь же согласились, что каскадное удаление - зло. Я не отрицаю, что его где-то можно использовать, но это составляет единицы процента от всех ФК базы данных. А вы мне начинаете, что "каскадное удаление можно использовать". Да все можно использовать, кто ж спорит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 09:04:44 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
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). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 10:28:14 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТак что это ещё бабушка надвое сказала, исправляете ли вы БД или просто "обрубаете". Мотор тоже можно "чинить" выкидыванием "нерабочих" деталей, знаете ли. понятно что мы выкидываем "нерабочие" детали, но стоит ли прилагать большие усилия и затраты для восстановления базы - решать не мне. начальство решило, что стоит попробовать вытаскивать максимум информации своими силами, к тому же клиенты зачастую не видят в повреждении БД своей вины и становится вопрос с чей стороны будет происходить оплата ремонта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 10:35:36 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
kdv, не подскажите как подключаться к БД в монопольном режиме программно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 10:37:57 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26, Версия Firebird какая используется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 10:42:49 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
CyberMax, Verion 2.5.2.26540 Firebird 2.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 10:57:14 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26, 1. Подключаешься к базе. Смотришь в MON$ATTACHMENTS. Если есть кто, кроме себя - выгоняешь (как по телефону, так и через DELETE). 2. Шатдаун базы. 3. Profit! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 11:30:17 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 11:55:58 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26, Немного оффтоп, но вот тебе утилита, которая будет гарантировано делать бекап вне зависимости от настроения пользователя. Лишь бы компьютер был включен в нужное время. Код: plaintext 1. Если вместо daily написать hourly, то бекап будет делаться каждый час. Для баз данных меньше гигабайта, если бекапы сжимать, полугигового ноутбучного винта на какое-то время хватит. А если еще в backup.bat добавить автоматическое удаление бекапов определенной давности - вообще обрадуетесь :) Скрипт бекапа можно написать самому или взять любой из готовых здесь или на firebirdsql.ru. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 11:56:47 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, вы правы, все под мастеркеями, но пожалуй только потому что не было необходимости разграничивать, но после разграничения данное решение имеет право на жизнь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 13:04:02 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26, зайди сегодня в аптеку. испроси йаду. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 13:07:41 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийсильно подозреваю, что у них там все мастеркеями ходят. Freddie26вы правы, все под мастеркеями Дэвид Блейн, как ты это сделал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 13:27:40 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Просто у МП новый сверхнавороченный хрустальный шар. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 13:58:00 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26данное решение имеет право на жизньНу можно не яду, можно просто "утопиццо" или "убицца ап стену". Симонов ДенисПросто у МП новый сверхнавороченный хрустальный шар.Скорее испытанный и оттестированный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:13:56 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
простите, а чем собственно проблема создать пользователя и запускать из под него клиентские базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:19:54 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26простите, а чем собственно проблема создать пользователя и запускать из под него клиентские базы?проблемы нет. НО под SYSDBA, кроме собственно админа в базе никого не должно быть. "Аксиом такое". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 14:26:12 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, спасибо, приму к сведению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 15:09:14 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
Freddie26имеем такую ошибку при попытке открыть таблицу на относительно маленькой БД А не покажешь ли ты нам результат работы gstat -h на этой базе добровольно, без предупредительного бана в голову?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 15:40:53 |
|
||
|
Rollback чужих транзакций
|
|||
|---|---|---|---|
|
#18+
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* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 15:55:39 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1564048]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
113ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 559ms |

| 0 / 0 |
