powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Фиксация записи при commit
6 сообщений из 6, страница 1 из 1
Фиксация записи при commit
    #39551232
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добырй день,
Допустим? мы изменили какую либо строку, при этом:
1. Изменяемый блок подкачивается в буферный кэш
2. Блок становится грязный
3. Генерируется инфа в undo сегменте
4. Добавяется инфа в редо кэше(которая сбрасывается на диск в 3 кейсах)

При commit-e
1. Генерируется scn который записывается в буфер повторения
2. Буфер повторения сбрасывает на диск
3. Измененные блоки из буферного кэше сбрасываются на диск

Вопросы:

1. Правильно ли я понимаю, что из буферного кэша блоки сбрасываются на диск
и до commit?
2. Могут ли грязные блоки из буферного кэша извлекаться до коммита?
Например если в буферном кэше не хватает места?
3. Как грязные блоки в кэше становятся чистыми?
...
Рейтинг: 0 / 0
Фиксация записи при commit
    #39551401
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobalt_frog,

1. да
2. извлекаться? может, удаляться? да.
3. в кэше - commit cleanout в itl блока. на диске этим займётся первый select этих данных
...
Рейтинг: 0 / 0
Фиксация записи при commit
    #39551418
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...cobalt_frog,
3. в кэше - commit cleanout в itl блока. на диске этим займётся первый select этих данных
Грязный блок - это измененный блок. Никакой cleanout не сделает его чистым.
Только сброс на диск.
...
Рейтинг: 0 / 0
Фиксация записи при commit
    #39551472
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Фиксация записи при commit
    #39551491
Veo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Veo
Гость
cobalt_frogДобырй день,
Допустим? мы изменили какую либо строку, при этом:
1. Изменяемый блок подкачивается в буферный кэш
2. Блок становится грязный
3. Генерируется инфа в undo сегменте
4. Добавяется инфа в редо кэше(которая сбрасывается на диск в 3 кейсах)

При commit-e
1. Генерируется scn который записывается в буфер повторения
2. Буфер повторения сбрасывает на диск
3. Измененные блоки из буферного кэше сбрасываются на диск

Вопросы:

1. Правильно ли я понимаю, что из буферного кэша блоки сбрасываются на диск
и до commit?
2. Могут ли грязные блоки из буферного кэша извлекаться до коммита?
Например если в буферном кэше не хватает места?
3. Как грязные блоки в кэше становятся чистыми?

Процесс сброса грязных буферов на диск называется чекпоинтом и не связан с коммитом.

Для лучшего понимания можно представить транзакцию, изменяющую данных в несколько раз больше, чем размер буферного кэша. Пользовательский процесс грузит блоки с диска в буферный кэш, там их меняет, они становятся грязными, подгружает другие, меняет, они тоже становятся грязными. В фоне DBWR сбрасывает грязные буферы на диск, после чего буферы становятся чистыми, т.е. в эти буферы можно уже загружать другие блоки, если понадобится. Вот и всё. А коммит случится где-то в будущем. А может не случится.
...
Рейтинг: 0 / 0
Фиксация записи при commit
    #39551981
cobalt_frog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо за помощь
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Фиксация записи при commit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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