- Большой пул - необязательная область SGA.
- Содержит области памяти, которые без него содержались бы в разделяемом. пуле, снимая с него нагрузку.
- Данная область используется:
- под память сессий (UGA) разделяемого сервера
- процессами ввода-вывода (I/O slaves)
- утилитой RMAN при выполнении сохранения-восстановления базы
- под буфера сообщений операций параллельного выполнения
parallel_automatic_tuning
установлен вtrue
- В отличие от разделяемого пула в большом пуле не применяется алгоритм LRU.
- Размер задается параметром инициализации
large_pool_size
ALTER SYSTEM SET LARGE_POOL_SIZE = 64M;
Если сконфигурирован большой пул, то в него помещаются области памяти, используемые разделяемым сервером (Oracle Shared Server), архитектурой Oracle, процессами параллельного выполнения команд. В этом случае, разделяемый пул используется для кэширования последних выполненных запросов. Память в разделяемом пуле, предназначенная для быстрого доступа к деревьям разбора команд SQL, не освобождается для информации сеанса, ввода-вывода, процессов резервирования и восстановления. Выигрыш в производительности обеспечивается за счет сокращения числа операций по увеличению и уменьшению разделяемой SQL-области.
Резервирование и восстановление
Утилита Recoveiy Manager (RMAN) использует большой пул, когда заданы параметры BACKUP_DISK_IO = n
и BACKUP_TAPE_IO_SLAVE = TRUE
. Если большой пул сконфигурирован, но в нем не хватает свободного места, операция выделения в нем пространства приведет к сбою. RMAN пишет сообщение об ошибке в сигнальный файл и не использует подчиненные процессы ввода-вывода (I/O slaves) для резервирования и восстановления.
Операции параллельного выполнения команд
Если параметр PARALLEL_AUTOMATIC_TUNING
установлен в TRUE
, то параллельные процессы выделяют буфера в большом пуле, иначе используется разделяемый пул.
Размер большого пула (LARGE_POOL_SIZE)
Размер задается динамическим параметром инициализации LARGE_POOL_SIZE
.