
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.11.2016, 19:13
|
|||
|---|---|---|---|
|
|||
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
Всем привет. Oracle 11.2.0.4. После партиционирования таблички с колонкой nested table. Один запрос начал открывать транзакцию и лочить таблицу в LMODE=1. Воспроизвести промлему можно так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 19:17
|
|||
|---|---|---|---|
|
|||
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
Запрос который создает блокировку : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. блокировку можно увидеть здесь: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Может кто-то объяснить, что это за блокировка? Почему стартует транзакция? (после запуска в plsql-developere зажигаются кнопочка, которая говорит что есть не закомиченные данные). И как можно избежать этой блокировки? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 19:24
|
|||
|---|---|---|---|
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
niv76 Почему стартует транзакция? Скорее всего из за открытия рефкурсора. lmode1 = NULL Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 19:27
|
|||
|---|---|---|---|
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
Код: plsql 1. 2. 3. 4. это одна таблица/бд или разные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 19:38
|
|||
|---|---|---|---|
|
|||
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
одна таблица. схему забыл убрать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 19:44
|
|||
|---|---|---|---|
|
|||
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
ora601, спасибо. Запрос можно выполнить и без рефкурсора, результат такой же. Замечу, что если создать таблицу без партиционирования, то блокировка не создается. Сам запрос должен содержать внешнее соединение + скалярный подзапрос к любой таблице, не обязательно этой. Если хоть одно из этих условий убрать, то блокировки не происходит..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 19:46
|
|||
|---|---|---|---|
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
niv76ora601, спасибо. Запрос можно выполнить и без рефкурсора, результат такой же. Замечу, что если создать таблицу без партиционирования, то блокировка не создается. Сам запрос должен содержать внешнее соединение + скалярный подзапрос к любой таблице, не обязательно этой. Если хоть одно из этих условий убрать, то блокировки не происходит..... Тогда остаеться параллель. Как с этим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 20:01
|
|||
|---|---|---|---|
|
|||
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
ora601, Паралеля нет. Поигрался еще немного. Похоже что это вообще не блокировка: В одной сессии открыл курсор, в другой проверил, что блокировка в v$lock таблице появилась, и попробовал дропнуть эту таблицу. Дроп прошел!!! ну и на рабочей базе, ожиданий реально не было, хотя таблица абдейтиться регулярно, а локи эти висят довольно долго, до 300 секунд, пока сессия не закроется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 20:02
|
|||
|---|---|---|---|
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
niv76ora601, Паралеля нет. Поигрался еще немного. Похоже что это вообще не блокировка: В одной сессии открыл курсор, в другой проверил, что блокировка в v$lock таблице появилась, и попробовал дропнуть эту таблицу. Дроп прошел!!! ну и на рабочей базе, ожиданий реально не было, хотя таблица абдейтиться регулярно, а локи эти висят довольно долго, до 300 секунд, пока сессия не закроется... Ну это же не X mode, что ты хотел) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2016, 20:10
|
|||
|---|---|---|---|
|
|||
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
Вобщем не понятна природа этой блокировки, и может ли она создать какие-то проблемы на много пользовательской базе. Пока таких проблем обнаружено не было. Но определенная тревога от непонимания присутствует.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.11.2016, 10:37
|
|||
|---|---|---|---|
|
|||
почему селект лочит таблицу в lmode 1? |
|||
|
#18+
niv76, я бы вам посоветовал избавиться от вложенной таблицы, так вы автоматически избавитесь от возникновения транзакции, а так же от головной боли в будущем в виде сопровождения данной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1887068]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 509ms |

| 0 / 0 |
