powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Snapshot to old
13 сообщений из 13, страница 1 из 1
Snapshot to old
    #39507944
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня возник вопрос связанный с этой ошибкой, одна из причин это изменение начитанной в курсоре таблицы и частая фиксация изменений. Не совсем понимаю почему?
если не сложно, то своими словами и хотелось бы еще ссылок плз.
...
Рейтинг: 0 / 0
Snapshot to old
    #39507946
Фотография Vladimir Filin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frog...хотелось бы еще ссылок плз.
Томас Кайт
"Oracle для профессионалов
Архитектура, методики программирования
и особенности версий 9i, 10g и 11g
2-е издание". - причина получения ошибки подробно описана.
Про 3-е издание сказать не могу.
...
Рейтинг: 0 / 0
Snapshot to old
    #39508054
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frog,


Сессия А выдала SELECT * FROM TBL. Затем сессия Б изменила (с фиксацией) данные в TBL еще не прочитанные сессией A. Откуда Oracle достанет данные чтобы гарантировать statement level read consistency? Правильно, из UNDO. А если этот UNDO на этот момент уже переиспользован? Правильно - snapshot too old. Так-что частая фиксация может увеличить риск. Но все это в общих чертах (есть undo retention, и.т.п.).

SY.
...
Рейтинг: 0 / 0
Snapshot to old
    #39508177
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SYcobalt_frog,


Сессия А выдала SELECT * FROM TBL. Затем сессия Б изменила (с фиксацией) данные в TBL еще не прочитанные сессией A. Откуда Oracle достанет данные чтобы гарантировать statement level read consistency? Правильно, из UNDO. А если этот UNDO на этот момент уже переиспользован? Правильно - snapshot too old. Так-что частая фиксация может увеличить риск. Но все это в общих чертах (есть undo retention, и.т.п.).

SY.

Тут имеется ввиду частая фиксация в сессии А или в сессии Б? Я спрашивал именно про случай когда происходит частая фиксации в сессии А, например выборка в курсор селекта и обновление данных самой этой таблицы.
...
Рейтинг: 0 / 0
Snapshot to old
    #39508243
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frogSYcobalt_frog,


Сессия А выдала SELECT * FROM TBL. Затем сессия Б изменила (с фиксацией) данные в TBL еще не прочитанные сессией A. Откуда Oracle достанет данные чтобы гарантировать statement level read consistency? Правильно, из UNDO. А если этот UNDO на этот момент уже переиспользован? Правильно - snapshot too old. Так-что частая фиксация может увеличить риск. Но все это в общих чертах (есть undo retention, и.т.п.).

SY.

Тут имеется ввиду частая фиксация в сессии А или в сессии Б? Я спрашивал именно про случай когда происходит частая фиксации в сессии А, например выборка в курсор селекта и обновление данных самой этой таблицы.

імхо
не так важно кто фиксирует, важно что кто-то затер данные ундо (пойдет на второй круг)
обычно сессии Б, но может и А

.....
stax
...
Рейтинг: 0 / 0
Snapshot to old
    #39508442
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Как ни странно (хотя почему странно - типичная ошибка оптимизаторов долгоиграющих транзакций) чаще всего самострел. Сессия выдает select, читает данные в цикле, изменяет их и фиксирует через каждые N строк.

SY.
...
Рейтинг: 0 / 0
Snapshot to old
    #39508446
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не читайте в курсоре, а скидывайте в коллекцию и будет вам счастие
...
Рейтинг: 0 / 0
Snapshot to old
    #39508450
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYStax,

Как ни странно (хотя почему странно - типичная ошибка оптимизаторов долгоиграющих транзакций) чаще всего самострел. Сессия выдает select, читает данные в цикле, изменяет их и фиксирует через каждые N строк.

SY.

по разному, от системы зависит, у нас ОЛТП, было чаще Б (чистый долгоиграющий селект)

если сам (А) виноват, бороться проще

меня больше возмущало,
что даже если запись из выборки никто не трогал, меняли другие строки блока и затерли инфу, то всеравно 1555

но такая архитектура

.....
stax
...
Рейтинг: 0 / 0
Snapshot to old
    #39508453
Бракованный финский угорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxчто даже если запись из выборки никто не трогал, меняли другие строки блока и затерли инфу, то всеравно 1555
Для OLTP уменьшить размер блока.
...
Рейтинг: 0 / 0
Snapshot to old
    #39508458
Бракованный финский угорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DВАне читайте в курсоре, а скидывайте в коллекцию и будет вам счастие
Дорогая, читать в коллекцию пачками или всю таблицу? Если первое, то от 1555 это не страхует, а если второе - то гнать, например, многосотмиллионную таблицу в коллекцию и работать с ней...
...
Рейтинг: 0 / 0
Snapshot to old
    #39508462
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бракованный финский угорьDВАне читайте в курсоре, а скидывайте в коллекцию и будет вам счастие
Дорогая, читать в коллекцию пачками или всю таблицу? Если первое, то от 1555 это не страхует, а если второе - то гнать, например, многосотмиллионную таблицу в коллекцию и работать с ней...

редкостный гений станет обрабатывать построчно многосотмиллионную таблицу, милый )
...
Рейтинг: 0 / 0
Snapshot to old
    #39508465
Бракованный финский угорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DВАБракованный финский угорьпропущено...

Дорогая, читать в коллекцию пачками или всю таблицу? Если первое, то от 1555 это не страхует, а если второе - то гнать, например, многосотмиллионную таблицу в коллекцию и работать с ней...

редкостный гений станет обрабатывать построчно многосотмиллионную таблицу, милый )
И я в таком же случае обновляю свои таблички forall-пачками при однократном открытии курсора на чтение. Но осознаю, что вероятность получения 1555 остается.
...
Рейтинг: 0 / 0
Snapshot to old
    #39508469
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бракованный финский угорьStaxчто даже если запись из выборки никто не трогал, меняли другие строки блока и затерли инфу, то всеравно 1555
Для OLTP уменьшить размер блока.

счас уже менее актуально

.....
stax
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Snapshot to old
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]