|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
С помощью dbms_lock.allocate_unique создаю собственный лок. Если он только создан, то dbms_lock.request по даному lockhandle возвращает 0. Если генериться этот же лок с таким же именем, dbms_lock.request возвращает значение 4. Вопрос. Каким образом можна "убить" этот лок? Использую dbms_lock.release, но толку от него нету. В dbms_lock_allocated лок продолжает висеть, а dbms_lock.request возвращает значение 4. -------- Любовь и боль Покой и бой Я как любой Несу с собой ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2006, 13:50 |
|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
Как насчёт test case - нечто, что мы все можем запустить и убедиться? Код: plaintext 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2006, 14:17 |
|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
все верно, но последний код возвращает 4, вместо 0. В v$lock она продолжает висеть. -------- Любовь и боль Покой и бой Я как любой Несу с собой ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2006, 17:18 |
|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
Cotton все верно, но последний код возвращает 4, вместо 0. Покажите cut&paste из вашего SQL*Plus. У меня последний вызов вернул 0 ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2006, 17:38 |
|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
Попробовал снова - получилось. Но вопрос остался открытым. Ведь в своем случае я создавал блокировку ч-з dbms_lock.allocate_unique. Я так понимаю, при этом создается запись в таблице dbms_lock_allocated, где указывается имя даного лока. В моем случае это важно (блокировке присваивать уникальное имя). Мне нужно создать лока и после отработки кода удалить его. Но с этим как раз и проблемы... -------- Любовь и боль Покой и бой Я как любой Несу с собой ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2006, 16:34 |
|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
Cotton, я разобрался с этой гнилой оракловой темкой. Если релиз возвращает 4, значит есть сессия, которая не дает снять блокировку. Тебе мой друг нужно в этом случае прибить её отсюда: Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 18:47 |
|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
adar7 я разобрался с этой гнилой оракловой темкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 19:08 |
|
dbms_lock.release()
|
|||
---|---|---|---|
#18+
adar7 Если релиз возвращает 4, значит есть сессия, которая не дает снять блокировку. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 11:20 |
|
|
start [/forum/topic.php?fid=52&fpage=48&tid=1881355]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 185ms |
0 / 0 |