|
|
|
succesfull insert when transaction is read only - нормально?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Код: plsql 1. 2. 3. Код: plsql 1. 2. 3. 4. 5. Это - нормально! Код: plsql 1. 2. 3. 4. 5. Это - номрально! Код: plsql 1. 2. 3. 4. 5. 6. Это - нормально? Как узнать в каком режиме у меня транзакция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:29 |
|
||
|
succesfull insert when transaction is read only - нормально?
|
|||
|---|---|---|---|
|
#18+
set transaction, Возможно баг sqlplus. Он специфически обрабатывает некоторые типы команд, в частности SET. А может между приведенными тремя блоками команд не было коммита... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 15:26 |
|
||
|
succesfull insert when transaction is read only - нормально?
|
|||
|---|---|---|---|
|
#18+
-2-Возможно баг sqlplus. Он специфически обрабатывает некоторые типы команд, в частности SET. Поймал я эту штуку в pl/sql Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Транзакция на деле оказывается ни разу не read only, повторный запуск селекта видит закоммиченные в другой сессии между селектами данные. Как read commited; Установка serializable тоже не ругается, если происходит после установки сейвпоинта. Но транзакция похожа на сериализованную, по крайней мере в части repeatable read. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 16:46 |
|
||
|
succesfull insert when transaction is read only - нормально?
|
|||
|---|---|---|---|
|
#18+
Ну значит баг сервера. Определить текущий уровень изоляции можно по v$transaction.flag. Полечить, можно попробовать начать транзакцию до savepoint, например, с помощью local_transaction_id(true). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 17:11 |
|
||
|
succesfull insert when transaction is read only - нормально?
|
|||
|---|---|---|---|
|
#18+
-2-Ну значит баг сервера. Это ж фича! :) Тут когда-то обсуждали в какой момент Oracle начинает транзакцию. Судя по всему начинает он с insert, по правилам первой указующей команды (savepoint), а все последующие до открытия шлет лесом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 17:38 |
|
||
|
succesfull insert when transaction is read only - нормально?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев-2-Ну значит баг сервера. Это ж фича! :) Тут когда-то обсуждали в какой момент Oracle начинает транзакцию. Судя по всему начинает он с insert, по правилам первой указующей команды (savepoint), а все последующие до открытия шлет лесом. скорее всего просто не отлавливается ORA-01453 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 17:48 |
|
||
|
succesfull insert when transaction is read only - нормально?
|
|||
|---|---|---|---|
|
#18+
-2-Ну значит баг сервера. Определить текущий уровень изоляции можно по v$transaction.flag. спасибо, мне, видимо, прав недодадено, чтоб на v$transaction смотреть. -2-Полечить, можно попробовать начать транзакцию до savepoint, например, с помощью local_transaction_id(true). Если так начинать транзакцию, справедливо вознкает ORA-01453 при set transaction. Мне надо обеспечить репитабл рид по чтению. set transaction read only, как внезапно выяснилось, может оказаться не достаточно. Теперь думаю - уйти в serializable или же закастылиться: Код: plsql 1. 2. 3. 4. Похоже на Bug 14146273. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 18:14 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1885715]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 389ms |

| 0 / 0 |
