Вы здесь

Database Buffer Cache

буферный кеш организован двумя списками.

Write List

Писательный список Write List содержит модифицированные буферы. Это блоки данных, которые содержат измененные данные и должны были быть записаны в файлы данных.

Least Recent Used (LRU) List Последние используемые.

Буфера из LRU list делятся на Pinned , Clean, Free или Unused и Dirty buffers.
Pinned используются сейчас, Clean доступны для использования. Clean содержат информацию, но она синхронна с диском и скидывать не надо.
Free buffer пусты и еще не использовались.
Dirty buffers те которые должны быть перемещены в Write List.

Когда процесс сервера Oracle требует определенного блока данных, он сначала ищет его в буферном кэше. Если он находит требуемый блок, она непосредственно обращались и это событие известно как Hit кэша.Если поиск в кэше буфера не работает, то он считывается из файла данных на диске и событие называется кэш miss. Если требуемый блок не найден в кэше буфера, то процесс требует свободного буфера для чтения данных с диска. Он начинает поиск свободного буфера из наименее недавно использованных списка LRU. В процессе поиска, если пользовательский процесс находит грязную блок в списке LRU он перекладывает их в Write List. Если процесс не может найти свободные буферы до определенного времени, то процесс сигнализирует DBWn процесс, чтобы написать грязные буферы на диски.

By default accessed buffers are moved to most recently used end of the LRU list. Search for free buffers is initiated from least recently used end of LRU list, this means that recently accessed buffers are kept in cache for longer time. But when a Full table scan happens, oracle process puts the blocks of table to least recently used end of LRU list. This means that they are quickly re-acclaimed by oracle process. When a table is created, a storage parameter Cache | NoCache| Cache Reads is required. If a table is created with Cache parameter, then the data block of table are added to most recently used end inspite of full table scan.

Size of the Database Buffer Cache

Oracle allows different block size for different tablespaces. A standard block size is defined in DB_BLOCK_SIZEinitialization parameter . System tablespace uses standard block size. DB_CACHE_SIZE parameter is used to defiane size for Database buffer cache. For example to create a cache of800 mb, set parameter as below
DB_CACHE_SIZE=800M

If you have created a tablesapce with bock size different from standard block size, for example your standard block size is 4k and you have created a tablespace with 8k block size then you must create a 8k buffer cache as below.
DB_8K_CACHE_SIZE=256M

Click following link to read about Keep buffer pool and recycle buffer pool,

Keep Buffer Pool and Recycle Buffer Pool

menu_sertif: 

Post new comment

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
2 + 2 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.