Каков размер SGA? X$KSMFSV,X$KSMMEM

dbstalker, 17 июня

Основная структура памяти Oracle – System Global Area (SGA, системная глобальная область). Размер SGA вычисляется по определенным параметрам инициализации.

SGA разбивается на четыре раздела:

  • фиксированный раздел,
  • переменный раздел,
  • журнальный буфер,
  • пул буферов блоков базы данных.

Размер SGA – сумма размеров этих четырех разделов.

Все это Вы видите, когда стартует екземпляр:

SQL> startup nomount
ORACLE instance started.

Total System Global Area 1050224444 bytes
Fixed Size                   456508 bytes
Variable Size                520093696 bytes
Database Buffers          528482304 bytes
Redo Buffers                1191936 bytes

Fixed Size (фиксированный размер) – размер фиксированного во время компиляции базы данных компонента SGA . Эта часть SGA cодержит вспомогательные переменные и структуры данных фиксированного размера, предназначена для указания на другие части SGA (см. таблицы X$KSMFSV+X$KSMMEM). Изменить размер этой части SGA невозможно. Размер зависит только от конкретной версии сервера.

Variable Size (переменный размер) – это когда выделяются участки памяти переменного размера. Здесь находится разделяемый пул shared pool, большой пул large pool, Java-пул, область курсоров и много других структур. Large pool - динамически распределяемая память. Shared pool состоит из динамически управляемой памяти и постоянной памяти. Постоянная shared pool память содержит перечень структур таких как the buffer headers, the process, session, and transaction arrays, the enqueue resources and locks, the online rollback segment array, and various arrays for recording statistics. Размер variable area SGA зависит от параметров инициализации. Упрощенно размер этой области можно оценивать как сумму shared pool + large pool+ java_pool_size. В тоже время, вы знаете, что параметр SHARED_POOL_SIZE задает только приблизительный размер разделяемого пула.

Database Buffers - Буферный кэш содержит копии блоков данных. Размер этой области определяется как произведение числа буферов данных, отведенных под кэш, на размер одного буфера (равен размеру блока данных): DB_BLOCK_BUFFERS * DB_BLOCK_SIZE

Redo Buffers -Область памяти, используемая серверными процессами при записи redo информации в журналы транзакций. Размер буфера контролируется параметром LOG_BUFFER.

Таким образом, размер SGA можно очень упрощенно оценить по формуле:

sga_size = fixed_portion_size + shared_pool_size + large_pool_size +  java_pool_size +  log_buffer  + db_block_buffers*db_block_size .

Тэги: SGA

ОднаКнопка

 

Новый комментарий

Я не спамер: введите суму 4+1



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Требуется бухгалтер
21 августа, 1 ответа