Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
вот я об этой привычке и говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2006, 22:07 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
Подниму тему, у меня есть функция, которая возвращает table. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. В ней хочу поставить опцию with UR; - Для того чтобы не было блокировок. Получаю ругачку : [i] The isolation clause is ignored because of the statement context. Можно как то побороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 11:59 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
medoed, Specifying the isolation level - http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.admin.perf.doc/doc/t0005269.html Kind regrads, Vadim. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 12:42 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
GVF112GVF, Спасибо, но я не нашёл там ограничения на функции. У меня версия не 10, а 9.7. У меня в 2-х местах ошибки и пока разбирался - нашёл глюк в том, что если в функции используется select не из таблицы, а из NIKNAMES , то вот она ошибка, если заменяем на таблицу то всё окей. Какие пути развития есть, тоесть как бы сделать так , что бы в функции и NIKNAME остался и уровень изоляции можно было поставить UR. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 13:07 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
medoedПодниму тему, у меня есть функция, которая возвращает table. ... В ней хочу поставить опцию with UR; - Для того чтобы не было блокировок. Получаю ругачку : [i] The isolation clause is ignored because of the statement context. Можно как то побороть? В DB2 можно в подзапросах использовать isolation clause. Типа: Код: sql 1. 2. 3. 4. Но для nickname это не работает, и в этом случае вы можете только указать изоляцию для всего запроса типа: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 13:54 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Марк, спасибо - что откликнулись! Оптимизация в DB2 - вещь просто тяжелая. В MSSQL я могу у каждой таблицы sometable (nolock) могу ставить и не париться, в DB2 это жесть!!! В том то и проблема, что если я использую with ur для всей функции, где есть NikName - ошибка, если ставлю вместо NikName - обычную таблицу , то ошибки нет. Задам ещё вопрос, как мне в функции, в которой используется автономная транзакция, заюзать with UR; Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 14:11 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
medoed, Я, наверное, не очень понятно выразился. Не используйте указание isolation clause в функциях. Если надо, используйте указание уровня изоляции в запросе, который использует эту функцию. Кроме того, если у вас параметр базы cur_commit = ON (это умолчание для вновь создаваемых в 9.7 базах) и вы работаете на уровне изоляции CS (уровень по-умолчанию), то на нём писатели не блокируют читателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 14:33 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinmedoed, (это умолчание для вновь создаваемых в 9.7 базах) и вы работаете на уровне изоляции CS (уровень по-умолчанию) Вот тут немного не понятно, для вновь создаваемых чего. Функции мигрировали с 8 - ки на 9.7 - их никак не перекомпилировали! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 14:51 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
medoedВот тут немного не понятно, для вновь создаваемых чего.Баз данных. Cursor stability (CS) level behavior for newly created databases has been changed . Т.е. если вы в 9.7 сделали CREATE DATABASE MYDB ... то этот параметр будет в ON по-умолчанию. Если вы мигрировали базу с предыдущей версии, то этот параметр (он не существовал ранее) установится в OFF, и его, если надо, можно потом выставить в ON. medoedФункции мигрировали с 8 - ки на 9.7 - их никак не перекомпилировали!"Мигрировали функции" - это что значит? Саму базу мигрировали командой UPGRADE DATABASE или просто пересоздали командой CREATE FUNCTION? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 15:45 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Уточнил у админа 1) Саму базу мигрировали командой UPGRADE DATABASE 2) Скоро поставим cur_commit = ON и задача по переписыванию функций (оптимизации на грязное чтение) сама отпадёт. Спасибо - вопрос закрыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 16:29 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
Прошу прощения с закрытием. Опыта у меня маловато, а блокировки не прекращаются (читателей). Дано: 1) База мигрирована c 8-ки на 9-ку командой : UPGRADE DATABASE. 2) Параметр CUR_COMMIT установлен в ON. 3) Запрос select CURRENT ISOLATION as iso_level from SYSIBM.SYSDUMMY1 - возвращает пустоту. Я так понимаю - сейчас на базе уровень изоляции не установлен (берется из пакетов). Чтобы установить уровень изоляции на базу, в батнике нужно прописать так: db2 terminate db2 change isolation to CS db2 connect to sample Верно или я в чем то запутался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2013, 12:18 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
medoed, Разберитесь кто и кого блокирует. Если блокируются запросы из процедур, которые были созданы до переключения cur_commit в ON, то пакетам процедур надо rebind. Monitoring database locking ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2013, 10:32 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
>>Если блокируются запросы из процедур, которые были созданы до переключения cur_commit в ON, то пакетам процедур надо rebind. Процедур почти нет, функции возвращают данные, а вся логика на толстом клиенте - тоесть update и insert формирутся автоматически. Rebind - производится еженедельно! Насчет монитора - Monitoring database locking , админ сказал, что он сильно систему нагружает! А нет никакой функции или системной процедуры, типа sp_lock - в конкретный момент, чтоб было видно кому плохо и от кого (от какого запроса). Марк - у Вас нет такой доработки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2013, 13:28 |
|
||
|
Как вы боритесь с блокировками?
|
|||
|---|---|---|---|
|
#18+
medoedНасчет монитора - Monitoring database locking , админ сказал, что он сильно систему нагружает! А нет никакой функции или системной процедуры, типа sp_lock - в конкретный момент, чтоб было видно кому плохо и от кого (от какого запроса). Марк - у Вас нет такой доработки? Есть SYSIBMADM.MON_LOCKWAITS . Больше информации о заблокированном запросе можно получить из MON_GET_APPL_LOCKWAIT . Но проблема этих запросов в том, что вы можете не увидеть там запроса, который ресурс заблокировал. Например, этот запрос мог изменить данные и завершится (стал неактивным), а наложенные им блокировки будут висеть до конца таранзакции. В MON_LOCKWAITS показывается только активный в данный момент запрос блокирующей транзакции, который может быть совсем не тем, который заблокировал ресурс. Т.е. вы не получите без монитора блокировок историю запросов блокирующей транзакции, без чего может быть непонятно, что же за запрос заблокировал записи. Такую историю запросов активной транзакции можно получить только на сервере командой: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2013, 17:26 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=33630918&tid=1601554]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 276ms |
| total: | 438ms |

| 0 / 0 |
