[Ora 10g]Подскажите, как побороть локи...
От: Веселый кролик Россия  
Дата: 15.10.08 05:22
Оценка:
Есть OeBS форма. При сохранении данных одним пользователем другие тормозят. После анализа трейса выяснилось, что таблица лочиться запросом FOR UPDATE.

SELECT ...
FROM ...
FOR UPDATE ... NOWAIT;


Дело в том, что эта конструкция находиться в стандартном функционале и изменить или удалить ее нельзя. Начальство дало задание убрать тормоза... Как можно обойти эту проблему? Может быть понижать уровень изолированности транзакции и потом поднимать обратно? Но мне надо для разных сеансов менять уровень изолированности в таком случае... Мыслей нет...
То что меня не убивает, делает меня умнее.
Re: [Ora 10g]Подскажите, как побороть локи...
От: yogi Россия  
Дата: 15.10.08 06:19
Оценка:
Здравствуйте, Веселый кролик, Вы писали:

ВК>Есть OeBS форма. При сохранении данных одним пользователем другие тормозят. После анализа трейса выяснилось, что таблица лочиться запросом FOR UPDATE.


ВК>
ВК>SELECT ...
ВК>FROM ...
ВК>FOR UPDATE ... NOWAIT;
ВК>


ВК>Дело в том, что эта конструкция находиться в стандартном функционале и изменить или удалить ее нельзя. Начальство дало задание убрать тормоза... Как можно обойти эту проблему? Может быть понижать уровень изолированности транзакции и потом поднимать обратно? Но мне надо для разных сеансов менять уровень изолированности в таком случае... Мыслей нет...


Что-то я не понял, как связано торможение и select for update. Тем более, что у тебя стоит nowait, т.е. если сессия не может получить блокировку, то запрос сразу отваливается с ошибкой, а не висит в ожидании. Так же, если ты начнешь менять уровни изоляции, убирать for update, то ты имеешь шанс огрести таких проблем с тертыми-перетертыми данными, что тормоза потом будут казаться детскими шалостями В общем, я бы изучал вопрос более внимательно.
Путь к сердцу женщины лежать не должен.
Re: [Ora 10g]Подскажите, как побороть локи...
От: wildwind Россия  
Дата: 15.10.08 06:34
Оценка:
Здравствуйте, Веселый кролик, Вы писали:

ВК>Есть OeBS форма. При сохранении данных одним пользователем другие тормозят. После анализа трейса выяснилось, что таблица лочиться запросом FOR UPDATE.


Знаешь, любое изменение данных в таблицах что-то лочит.
Анализ должен был прояснить, за счет чего происходит замедление работы других пользователей. Если неясно, анализируйте еще.
Re[2]: [Ora 10g]Подскажите, как побороть локи...
От: Веселый кролик Россия  
Дата: 15.10.08 06:45
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, Веселый кролик, Вы писали:


ВК>>Есть OeBS форма. При сохранении данных одним пользователем другие тормозят. После анализа трейса выяснилось, что таблица лочиться запросом FOR UPDATE.


W>Знаешь, любое изменение данных в таблицах что-то лочит.

W>Анализ должен был прояснить, за счет чего происходит замедление работы других пользователей. Если неясно, анализируйте еще.

Нельзя ли более конкретно? Куда копать?
То что меня не убивает, делает меня умнее.
Re[2]: [Ora 10g]Подскажите, как побороть локи...
От: Веселый кролик Россия  
Дата: 15.10.08 06:46
Оценка:
Здравствуйте, yogi, Вы писали:

Можно ли поподробнее?
То что меня не убивает, делает меня умнее.
Re[3]: [Ora 10g]Подскажите, как побороть локи...
От: an-392  
Дата: 15.10.08 07:02
Оценка:
Здравствуйте, Веселый кролик, Вы писали:

ВК>Нельзя ли более конкретно? Куда копать?

сюда:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/intro.htm#sthref129
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#g43931
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/toc.htm
http://www.sql.ru/faq/faq_topic.aspx?fid=389
Re[4]: [Ora 10g]Подскажите, как побороть локи...
От: Веселый кролик Россия  
Дата: 15.10.08 07:17
Оценка:
Здравствуйте, an-392, Вы писали:

A3>Здравствуйте, Веселый кролик, Вы писали:


Мля... Я читал это все. Меня интересует конкретно по задаче моей...
То что меня не убивает, делает меня умнее.
Re[5]: [Ora 10g]Подскажите, как побороть локи...
От: an-392  
Дата: 15.10.08 07:52
Оценка:
Здравствуйте, Веселый кролик, Вы писали:

ВК>Здравствуйте, an-392, Вы писали:


A3>>Здравствуйте, Веселый кролик, Вы писали:


ВК>Мля... Я читал это все. Меня интересует конкретно по задаче моей...

Не верю (с) Станиславский.
Re[3]: [Ora 10g]Подскажите, как побороть локи...
От: wildwind Россия  
Дата: 15.10.08 07:57
Оценка:
Здравствуйте, Веселый кролик, Вы писали:

ВК>Нельзя ли более конкретно? Куда копать?


Я думал, раз ты пишешь "после анализа трейса выяснилось", значит знаешь куда копать...

Нужно снять трассировку 8 уровня с сессии "другого пользователя" при нормальной работе и при замедленной (но выполнять при этом одни и те же действия), и сравнить их.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.