|
|
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Можно ли передавать текущую копию данных с помощью ref курсора между различными транзакциями в PL/SQL? Тест работает: Код: 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. 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. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2017, 12:04 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Splash, Курсор можно даже передавать на клиента, который совсем не транзакционная СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2017, 12:34 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
SplashМожно ли передавать текущую копию данных с помощью ref курсора между различными транзакциямиМожно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2017, 13:01 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Но при этом в другом коде с таким же подходом каким-то чудом выскакивает ошибка ORA-08103: object no longer exists. Никто ничего не truncate и не rebuild, оно само. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2017, 20:59 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
SplashНо при этом в другом коде с таким же подходом каким-то чудом выскакивает ошибка ORA-08103: object no longer exists. Никто ничего не truncate и не rebuild, оно само.Немного про чудеса 13239188 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2017, 21:28 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Спасибо тебе, мил человек! Код: plsql 1. Меняю в исходном тестовом примере одну строчку на создание временной таблицы -- и всё, привет "ORA-08103: object no longer exists". И это при том, что commit идёт опосля... Oracle ни в какую не даёт чужой транзакции подглядывать данные во временной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2017, 21:50 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
ElicSplashМожно ли передавать текущую копию данных с помощью ref курсора между различными транзакциямиМожно обоснуй RTFM-ом По ИМХО шной логике сие должно нарушать концептуальную констистентность , и вызывать циклические дедлок рестарты на for update курсорах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 00:50 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
мастеркласс техносрача сие должно нарушать концептуальную констистентностькурсоры - клиентская прерогатива. plsql тоже клиент. Приложение получило в переменную данные, использовало в другой транзакци. Если исходная транзакция не завершена, заблокированные строки недоступны для изменения. Передача контекста транзакции другой сессии это совсем другой механизм - dbms_XA. мастеркласс техносрачавызывать циклические дедлок рестарты на for update курсорах.for update лочит в той транзакции, в которой открыт курсор. К самому курсору блокировка строк отношения не имеет. Можешь хоть на бумажке переписать данные, полученные с for update - тоже своего рода курсор. Дедлок с передачей или непередачей значений между транзакциями не связан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 01:02 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
мастеркласс техносрачаПо ИМХО шной логике сие должно нарушать концептуальную констистентность , и вызывать циклические дедлок рестарты на for update курсорах.Речь не про них. 19941227 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 07:45 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Elicмастеркласс техносрачаПо ИМХО шной логике сие должно нарушать концептуальную констистентность , и вызывать циклические дедлок рестарты на for update курсорах.Речь не про них. 19941227 Если не про них, тогда речь о грязном чтении, когда в транзакцию вбрасыватся данные по левому SCN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 15:10 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
б.анальщинамастеркласс техносрача сие должно нарушать концептуальную констистентностькурсоры - клиентская прерогатива. plsql тоже клиент. Приложение получило в переменную данные, использовало в другой транзакци. Если исходная транзакция не завершена, заблокированные строки недоступны для изменения. Передача контекста транзакции другой сессии это совсем другой механизм - dbms_XA. мастеркласс техносрачавызывать циклические дедлок рестарты на for update курсорах.for update лочит в той транзакции, в которой открыт курсор. К самому курсору блокировка строк отношения не имеет. Можешь хоть на бумажке переписать данные, полученные с for update - тоже своего рода курсор. Дедлок с передачей или непередачей значений между транзакциями не связан. Читайте внимательно сабж. "между транзакциями" Это банальное грязное чтение, есть такой уровень изолированности транзакций , но Оракл машет маркетинговым флагом , что он вреден не нужен и не поддерживается , а тут бац и такая банальная нетривиальщина :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 15:27 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
мастеркласс техносрачатогда речь о грязном чтенииСчитать что угодно не возбранишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 15:33 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Elicмастеркласс техносрачатогда речь о грязном чтенииСчитать что угодно не возбранишь. Вопрос стоял не что угодно, а между транзакциями ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 22:07 |
|
||
|
Можно ли использовать ref cursor для передачи данных между транзакциями в PL/SQL?
|
|||
|---|---|---|---|
|
#18+
мастеркласс техносрача между транзакциями Почему именно курсор с for update? В одной транзакции получил незакомиченное значение 42, передал в другую - это нарушение консистентности. Запретить что-либо передавать и получать в транзакциях! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2017, 10:31 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39559294&tid=1884847]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
138ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 454ms |

| 0 / 0 |
