Oracle

В данном разделе представлены выдержки и некоторые программы из моего диплома,
посвященного настройке и оптимизации работы сервер ORACLE.



Buffer Cache.

Buffer Cache используется при любых запросах или изменения. Этот кэш уменьшает число дисковых операций ввода-вывода, сохраняя данные последних транзакций. Суть его работы состоит в следующем: при выполнении некоторого оператора, ORACLE находит на диске блок данных, содержащий запрошенную строку. Затем считывает этот блок с диска в Buffer Cache. Если другая транзакция хочет обновить ту же или другую строку в этом блоке данных, то доступа к диску уже не требуется.

ORACLE собирает и хранит статистику, отображающую доступ к данным, в системной таблице V$SYSSTAT. Статистика по использованию Buffer Cache хранится в этой таблице в следующих столбцах:
DB BLOCK GETS и CONSISTENT GETS - сумма этих двух столбцов показывает общее число запросов данных.
PHYSICAL READS - количество раз, когда данных в Buffer Cache не оказалось, и пришлось обратиться к файлам данных на диске.

SELECT name, value
FROM v$sysstat
WHERE name IN ('db block gets', 'consistent gets', 'physical reads');
Выполнив приведенный запрос и обнаружив, что отношение числа PHYSICAL READS к сумме DB BLOCK GETS и CONSISTENT GETS превышает 20%-30%, надо увеличить параметр DB_BLOCK_BUFFERS. Этот параметр задает количество блоков данных, которые должен содержать Buffer Cache. Размер одного блока данных соответствует параметру DB_BLOCK_SIZE. Параметр DB_BLOCK_BUFFERS также задается в файле INIT.ORA со всеми вытекающими отсюда последствиями.



prev next
Hosted by uCoz