DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Конфигурирование буферных пулов

Буферный кэш базы данных традиционно конфигурируется путем установки всего двух параметров инициализации, а именно: DB_BLOCK_SIZE и
устанавливается равным числу
блоков, которые можно разместить в буфере. Типичные значения этого пара-
метра лежат в диапазоне от нескольких сотен до десятков тысяч. Поскольку раз-
мер блока определяет размер каждого из этих буферов, очень важно также
значение параметра        Полный размер кэша буфера базы дан-
ных равен произведению числа блоков на размер блока. Значит, если DB_BLOCK_SIZE = 8192, a DB_BLOCK_BUFFERS = 10000, кэш буфера базы дан­ных будет иметь размер 81920000 байт, или около 80 Мбайт. Это, пожалуй, самая большая требующаяся базовая конфигурация. Размер этого кэша можно увидеть немедленно после запуска экземпляра в строке буферов базы данных:
□ SVHMGR> startup
ORACLE instance started.
Total System Global Area        48572320 bytes
Fixed Size        64912 bytes
Variable Size        45137920 bytes
Database Buffers        2048000 bytes
Redo Buffers        73728 bytes
Database mounted. Database opened.
Точно так же, как Oracle распознал, каким образом объекты SQL и PL/SQL
большого размера опустошают область коллективного пула, он        что
различные модели доступа для таблиц вносят беспорядок в кэш буфера базы данных. В Огас!е8 появились подмножества кэша буфера базы данных, позволя­ющие АБД разделять таблицы 

с 

различными потребностями в кэше во многом
аналогично тому, как отделяются большие объекты PL/SQL от небольших паке-
тов. За счет добавления 

игла сохранены-;, 

и 

пула повторного

       

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

пул по


В Oracle 7.3 и в последующих версиях можно избежать конкуренции при досту­пе к списку LRU и отыскивания пригодных к использованию буферов, конфигу­рировать несколько защелок LRU.

Пул по умолчанию
По времени создания это, действительно, первый буферный кэш базы данных.
Память для него никаким специальным образом не выделяется. Если значение
установлено равным какому-то числу буферов, то при этом конфигурируется общее число буферов, доступных всем пулам. Например:
□        DB_BLOCK_BUFFERS = 10000
Любой объект, который не был специально назначен для одного из других
пулов, будет помещен в пул по умолчанию. При конфигурировании нескольких
.. пулов необходимо также конфигурировать несколько защелок LRU, что выпол-
няется при помощи установки значения        В идеале
это значение должно быть равно удвоенному числу доступных ЦП экземпляра.
Такое задание дает возможность проактивно сделать число защелок LRU рав-
ным разрешенному максимуму, для того чтобы исключить конкуренцию, вы-
званную недостатком защелок LRU. Опираясь на опыт, можем сказать, что в
случае установки числа защелок равным их максимальному значению мы не на-
блюдали измеримых накладных расходов. По умолчанию Oracle устанавливает
этот параметр равным числу ЦП в системе:
DB_BLOCK_LfiU_LATCHES = 16 ATMs is for an 8-CPU machine '*/

Пулсохранения
Этот пул спроектирован специально для того, чтобы разрешить нужды ма-
лых таблиц, к которым необходим очень быстрый доступ. Таблицы просмотра и
другие малые, но часто используемые таблицы следует назначать в пул сохране-
ния. В этом случае удается избежать усилий, требующихся для повторного счи-
тывания блоков данных с диска, после того как они стали считаться
устаревшими. Объекты, помещенные в пул сохранения, не конкурируют с объ-
ектами, помещенными в другие два пула, и будут устаревать только в том случае,
если их вынудит к этому конкуренция с другими объектами этого пула. Для со-
здания пула сохранения параметр инициализации        уста-
навливается равным определенному числу блоков (из значения параметра
DB BLOCK BUFFERS). Однако вы должны также установить число защелок
LRU для этого пула из общего числа DB_BLOCK_LRU_LATCHES:
BUFFER_POOL_KEEP = (buffers:2000, lru_latches:2)
Следует иметь в виду, что сумма размеров буферов пула по умолчанию, пула сохранения и пула повторного использования не может быть больше числа бло­ков, выделенных в параметре DB_IJLOCK_BUFFERS. Точно так же сумма коли­чества защелок для всех трех пулов не должна быть больше числа защелок, определенных параметром
 


ремонт квартир цены недорого, профессионалы.







jAntivirus