|
|
|
Блокировка rollback segments
|
|||
|---|---|---|---|
|
#18+
В книге описывается обычная ситуация: Идет транзакция Выделенный для нее ролбэк сегмент заблокирован, чтобы иметь возможность ее откатить Происходит commit и блокировка с роллбэк сегмента и изменных строк снимается Теперь вопрос по конкретной ситуации - будет ли роллбэк сегмент оставаться заблокированным или будет выдано snapshot too old? Последовательность действий: Session 1 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Session 2 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Session 1 Код: plaintext 1. 2. 3. 4. Вопрос 1: Откуда он знает что изменение строки с id=1 нужно запретить? Блокировки ведь на ней больше нет. Мое предположение - сравнение SCN. Session 1 Код: plaintext 1. 2. 3. 4. 5. 6. Вопрос 2: Пока не закончится эта транзакция, будут показываться данные по сотоянию на момент выдачи команды set transaction isolation level serializable. Старое значение name='aaaa' очевидно берется из rollback segment. Будет ли этот rollback segment оставаться заблокированным или в результате такого select'а может возникнуть snapshot too old если rollback segment будет перезаписан? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 18:07:44 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2773&tid=1990327]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 357ms |

| 0 / 0 |
