|
|
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Я правильно предполагаю, что это можно безопасно делать только когда нет активных транзакций? Думаю повесить лок в "on transaction start" и ждать завершения других транзакций в течение непродолжительного времени (мониторя mon$transactions). И в случае успеха буду менять метаданные как хочу. А потом отпущу лок, и все продолжат свою работу :) Такое сработает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:35:05 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeДумаю повесить лок в "on transaction start"Как насчет isql -nod трататата, которую ( теоретически !) может кто-то из твоих коллег по цеху ввести ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:39:10 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeЯ правильно предполагаю неправильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:39:16 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeЯ правильно предполагаю, что это можно безопасно делать только когда нет активных транзакций? Меняется, но эффект проявляется только для "новых", начатых после этого момента транзакций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:42:05 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
dimitrNickDeeЯ правильно предполагаю неправильно Какие действия необходимо и достаточно произвести не сервере, кроме отключения всех пользователей, чтобы можно было менять метаданные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:49:05 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeКакие действия необходимо и достаточно произвести не сервере, кроме отключения всех пользователей, чтобы можно было менять метаданные?Не делай этого, мы уже сделали пару раз (индекс, что ли создавали или дропали - не помню уже). Было больно и плохо. Отрубай всех. Если система поддерживает оповещение юзеров - предупреди за 10 минут и отрубай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:51:06 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDee, во-первых, изменения метаданных бывают разные. Во-вторых, классик или супер? В третьих, что именно понимается под безопасностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:51:55 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
ну и в четвертых - идея с триггером и локом бредовая независимо от ответов на предыдущие вопросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 19:53:00 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
dimitrво-первых, изменения метаданных бывают разные. Во-вторых, классик или супер? В третьих, что именно понимается под безопасностью? Я продумываю как бы мне перенести среднее звено трёхзвенки в UDR, чтобы клиенты цеплялись не к серверу приложений, а напрямую к Firebird. Вроде почти всё продумал (главное - RPC и обновление серверных dll с клиента), а вот как быть с изменением метаданных - непонятно. В трёхзвенке я просто отцепляю весь пул коннектов, держа пользователей на локе. И нет проблем. А вот тут что-то не могу сообразить. Исходя из своих ограниченных пониманий, думал что отсутствия транзакций должно было быть достаточно для изменения любых метаданных. А ты говоришь - нет. Но не говоришь почему :) Изменения самые разные - почти весь DDL, включая дропание. Продумываю и для классика и для супера. Под безопасностью понимается, что ничего не поломается в других коннектах. Ну и иногда DDL не срабатывают в одной транзакции, и приходится дробить. Т.е. хочется уверенности что в тонкий процесс применения DDL никто не вмешивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 20:25:45 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
dimitrну и в четвертых - идея с триггером и локом бредовая независимо от ответов на предыдущие вопросы Может я неверно выразился... я бы поставил транзакции на ожидание в очередь (секунд на несколько), и самое интуитивно-подходящее для этого место - триггер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 20:34:37 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeИсходя из своих ограниченных пониманий, думал что отсутствия транзакций должно было быть достаточно для изменения любых метаданных. А ты говоришь - нет. Но не говоришь почему :) метаданные кешируются коннектом, а не транзакцией. Блокируют метаданные запросы, а не транзакции. NickDeeИзменения самые разные - почти весь DDL, включая дропание. о дропании таблиц при подключенных юзерах можешь забыть NickDeeПродумываю и для классика и для супера. там есть отличия в поведении. Без переподключения всех юзеров в классике ты (в ряде случаев) не заставишь их увидеть измененные метаданные. NickDeeПод безопасностью понимается, что ничего не поломается в других коннектах. гарантией является только шатдаун базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 20:36:51 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeИзменения самые разные - почти весь DDL, включая дропание. Продумываю и для классика и для супера. Под безопасностью понимается, что ничего не поломается в других коннектах. Забей, делай изменения на ходу. В других коннектах ничего не поломается. А если изменения обломаются с ошибкой "Object in use", значит ты решил изменить что-то нужное и лучше тебе пойти и передумать его изменять. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 20:39:26 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
dimitr> гарантией является только шатдаун базы Да ладно уж так сурово-то. Лично я делал галочку "всем выйти вон из БД", менял метаданные, а потом снимал галочку. И никаких проблем, всё работало. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 20:55:22 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
dimitrметаданные кешируются коннектом, а не транзакцией. Блокируют метаданные запросы, а не транзакции. Ok. Тогда остаётся только грохать коннекты. А на клиенте писать код для переконнекта. И придётся научиться ставить входящие коннекты в очередь. Это ведь можно сделать в "on connect"-триггере? Или там уже поздно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 20:59:55 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, полной гарантией является не только отключение всех коннектов, но и предотвращение новых. Галочка не защитит от isql-я или gbak-а, которые в этот же момент были запущены кроном. Сетевой сервер гасить слишком сурово, да и не защитит от embedded-коннектов. Шатдаун во всех смыслах правильнее. Мое дело предложить - ваше дело отказаться :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:00:08 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЛично я делал галочку "всем выйти вон из БД", менял метаданные, а потом снимал галочку. И никаких проблем, всё работало. Представь себя на месте пользователя :) Какой-то там админ вдруг вмешивается в твою работу! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:10:18 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeПредставь себя на месте пользователя :) Какой-то там админ вдруг вмешивается в твою работу! :) А вот твоя фантазия совсем не мешает тебе изменять метаданные, которыми пользователь как раз сейчас пользуется... Экий ты... двуличный. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:14:30 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeПредставь себя на месте пользователя :) Какой-то там админ вдруг вмешивается в твою работу! :)Если это происходит 1 раз в день (но не каждый день), то потерпят. Если чаще, то... а может, есть смысл сначала проработать всю схему, а затем накатывать ? Чего она у тебя такая... "мутирующая" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:18:12 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeГаджимурадов РустамЛично я делал галочку "всем выйти вон из БД", менял метаданные, а потом снимал галочку. И никаких проблем, всё работало. Представь себя на месте пользователя :) Какой-то там админ вдруг вмешивается в твою работу! :) А я плавающее полупрозрачное окошко у клиентов вешал. Что-то вроде: "Пожалуйста, завершите работу. До автоматического завершения осталось ... секунд." И разными цветами переливается. Пользователям нравится. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:19:34 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
dimitr> Галочка не защитит от isql-я или gbak-а, dimitr> которые в этот же момент были запущены кроном Во-первых, момент нужно подходящие выбирать. Крон посреди дня лично меня бы удивил. Во-вторых, ну запустятся, ну вылетит ошибка - ничего страшного в этом не вижу. > Мое дело предложить - ваше дело отказаться :-) Я ж не про это. Я про то, как малой кровью. :) Вон человек выше независимо от меня к этому же пришёл, да ещё переливающееся окошко нарисовал, чтобы юезрам стресс снимать - значится, мысль дельная. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:34:05 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
kgb ussr> А я плавающее полупрозрачное окошко у клиентов вешал. kgb ussr> И разными цветами переливается. Пользователям нравится. :) Спасибо за идею. :) Не забудь в топике интерфейсов скриншот засветить. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:35:02 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovNickDeeПредставь себя на месте пользователя :) Какой-то там админ вдруг вмешивается в твою работу! :) А вот твоя фантазия совсем не мешает тебе изменять метаданные, которыми пользователь как раз сейчас пользуется... Экий ты... двуличный. Дак я делаю это прозрачно для пользователей. Могу таблицу переименовать - пользователь даже не заметит (если алиас останется тем же) :) Конечно дроп полей он ощутит. Переоткроет окошко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:48:20 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeДак я делаю это прозрачно для пользователей. В таком случае одно из двух: или никакие активные транзакции и коннекты тебе вообще не должны мешать изменять метаданные, или... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:56:23 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
dimitrШатдаун во всех смыслах правильнее. Надо попросить чтобы в IBExpert исправили ошибку при манипуляции с метаданными :) Все пишут как им удобнее, блин :) Без всякого уважения к тому, как задумано Джимом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 21:56:49 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> или... Или придумывание проблемы там, где её нет, как обычно. NickDee> Надо попросить чтобы в IBExpert исправили NickDee> ошибку при манипуляции с метаданными :) Ась? Ошибку в Windows, отображающую сообщение, не надо исправить, нет? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 22:00:37 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамNickDee> Надо попросить чтобы в IBExpert исправили NickDee> ошибку при манипуляции с метаданными :) Ась? Ну вон же чуть выше dimitr сказал как правильно: 15531117 - правильно сначала базу в шатдаун :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 22:21:42 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDeeГаджимурадов РустамNickDee> Надо попросить чтобы в IBExpert исправили NickDee> ошибку при манипуляции с метаданными :) Ась? Ну вон же чуть выше dimitr сказал как правильно: 15531117 - правильно сначала базу в шатдаун :) Что творится. Эдак всех юзеров придется из-под sysdba/masterke выводить... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 22:31:14 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDee> Ну вон же чуть выше dimitr сказал как правильно: NickDee> 15531117 - правильно сначала базу в шатдаун :) Он такого не говорил. Перечитай пост ещё раза три, до просветления. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 22:57:59 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамNickDee> Ну вон же чуть выше dimitr сказал как правильно: NickDee> 15531117 - правильно сначала базу в шатдаун :) Он такого не говорил. Перечитай пост ещё раза три, до просветления. Я понимаю так: Делать безопасно только при одном-единственном коннекте. Дальше только следствия: - если к базе есть только наш коннект и новых коннектов нет и быть не может, то всё будет ok. - если к базе есть только наш коннект и могут появиться новые коннекты, то shutdown, и всё будет ok. - если к базе есть несколько коннектов и новых коннектов нет и быть не может, то отрубаем все параллельные коннекты, и всё будет ok. - если к базе есть несколько коннектов и могут появиться новые коннекты, то отрубаем все параллельные коннекты и shutdown, и всё будет ok. Во всех остальных случаях "ok" не гарантируется. А ты как понимаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 23:17:01 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDee> Во всех остальных случаях "ok" не гарантируется. Ну, похоже ты просто не понимаешь, что такое "ок", что такое "не ок", и что ты вообще хочешь получить. > А ты как понимаешь? Так я же уже описал не просто понимание, а работающий механизм. Разжёвывать надо? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 23:33:30 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамNickDee> Во всех остальных случаях "ok" не гарантируется. Ну, похоже ты просто не понимаешь, что такое "ок", что такое "не ок", и что ты вообще хочешь получить. > А ты как понимаешь? Так я же уже описал не просто понимание, а работающий механизм. Разжёвывать надо? Ты написал про свою программу, а мы с тобой начали перетирать про IBExpert, причём с твоей подачи: 15531278 Ты ещё говоришь что описал работающий механизм. Я конечно же это помню. И у меня тоже есть работающий механизм, без прерывания работы, и я писал об этом тут. Ты немного из контекста беседы вылетел :) Или возвращайся или давай её закроем, на сегодня :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 23:44:17 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
NickDee> Ты написал про свою программу, а мы с тобой NickDee> начали перетирать про IBExpert, причём с твоей подачи: 15531278 И? Это что-то меняет? У меня пользователи в IBE к БД не лазят, знаешь ли. А у тебя ? Так что это ещё вопрос, кто откуда вылетел. > Или возвращайся или давай её закроем, на сегодня :) Закрыть - это завсегда можно, я не против. Хоть на сегодня, хоть сразу на завтра. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 23:51:45 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамNickDee> Ты написал про свою программу, а мы с тобой NickDee> начали перетирать про IBExpert, причём с твоей подачи: 15531278 И? Это что-то меняет? У меня пользователи в IBE к БД не лазят, знаешь ли. А у тебя ? Я не говорю про тебя и твоих пользователей. Я говорю про IBExpert вообще. Хм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 23:58:55 |
|
||
|
Изменение метаданных при работающих пользователях
|
|||
|---|---|---|---|
|
#18+
Ещё раз, для особо непонятливых. Если к БД кто-то соединён через IBE (и вообще как-либо мимо АРМов) - это не пользователи, это либо разработчики, либо "службы". Если это разработчики, то о них можно не думать. А службы у меня по своему желанию сами в БД не лезут, да и если лезли бы - ничего страшно. Не говоря же о том, что их легко можно научить проверять тот же флаг. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 00:06:46 |
|
||
|
|

start [/forum/search_topic.php?author=Timoha21&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 428ms |
| total: | 762ms |

| 0 / 0 |
