Состояния буферов в Кэше

Рубрика: Управление Памятью

Буферы в буферном кэше могут быть в одном из четырех состояний.

Эти состояния перечислены далее:

  • Связанный: Блок или в настоящий момент читается в кэш или записывается. Другие сеансы ожидают, чтобы получить доступ к блоку.

  • Чистый: Буфер теперь не связан и является кандидатом на немедленное устаревание, если на текущее содержимое (блок данных) не ссылаются снова. Или содержимое находится в синхронизации с диском или буфер содержит снимок CR блока.

  • Свободный/неиспользованный: Буфер пуст, потому что экземпляр только запущен. Это состояние очень походит на чистое состояние, за исключением того, что буфер не использовался.

  • Грязный: Буфер больше не связан, но содержимое (блок данных) изменилось и должно быть сброшено на диск процессом DBWn прежде, чем он сможет устареть.

Серверные процессы используют буферы в буферном кэше, но процесс DBWn делает буферы в кэше доступными, записывая измененные буферы обратно в файлы данных. Очередь контрольной точки перечисляет буферы, которые должны быть записаны на диск.

Кроме того база данных Oracle поддерживает несколько размеров блоков в той же самой базе данных. Стандартный размер блока используется для табличного пространства SYSTEM. Вы определяете стандартный размер блока, устанавливая параметры инициализации DB_BLOCK_SIZE. Допустимые значения от 2 Кбайт до 32 Кбайт, и значение по умолчанию составляет 8 Кбайт. Размеры кэша буферов нестандартных размеров блока определяются следующими параметрами:

  • DB_2K_CACHE_SIZE

  • DB_4K_CACHE_SIZE

  • DB_8K_CACHE_SIZE

  • DB_16K_CACHE_SIZE

  • DB_32K_CACHE_SIZE

Параметры DB_nK_CACHE_SIZE не могут использоваться, чтобы измерить размер кэша для стандартного размера блока. Если значение DB_BLOCK_SIZE равно nK, то недопустимо устанавливать DB_nK_CACHE_SIZE. Размер кэша для стандартного размера блока всегда определяется значением DB_CACHE_SIZE.

У каждого буферного кэша есть ограниченный размер, так что обычно не все данные на диске могут поместиться в кэш. Когда кэш полон, последующие неудачные обращения в кэш заставляют базу данных Oracle записывать измененные данные в кэше на диск, чтобы создать место для новых данных. (Если буфер не является модифицированным (грязным), он не должен быть записан на диск прежде, чем новый блок сможет быть считан в буфер.) Последующий доступ к любым данным, которые были записаны на диск, приводит к дополнительным неудачным обращениям в кэш.

Размер кэша влияет на вероятность, что запрос к данным приведет к удачному обращению в кэш. Если кэш будет большим, то он, более вероятно, будет содержать данные, которые запрашиваются. Увеличение размера кэша увеличивает процент запросов данных, которые приводят к удачным обращениям в кэш.

Далее: Методология Настройки Производительности

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)