До появления версии 7.3 в Oracle? был только один пул. Начиная с Oracle 7.3,
для эффективного управления коллективным пулом и разделения больших и ма-
лых объектов
в Oracle8i - пул Java (для поддержки программ на Java). Несмотря на наличие
всех этих новых пулов, коллективный пул по-прежнему остается в центре вни-
мания. Вместе с библиотечным и словарным кэшами, а также
ляемой для поддержки Oracle MTS в системах Огас1е7, он является критичной
для производительности областью. считается очень дорогой опе-
для эффективного управления коллективным пулом и разделения больших и ма-
лых объектов
SQL
появилась резервируемая область. В Огас1е8 - большой пул, ав Oracle8i - пул Java (для поддержки программ на Java). Несмотря на наличие
всех этих новых пулов, коллективный пул по-прежнему остается в центре вни-
мания. Вместе с библиотечным и словарным кэшами, а также
с
памятью, остав-ляемой для поддержки Oracle MTS в системах Огас1е7, он является критичной
для производительности областью. считается очень дорогой опе-
рацией и его всячески стараются избежать, но при этом многие забывают, что
выполнение жесткой разборки в области коллективного пула - одна из наиболее интенсивно потребляющих время ЦП операций. Все это делает конфигурирование коллективного пула (и других пулов) крайне важным.
Конфигурирование таких пулов - это всего лишь установка соответствующих параметров в файле init.ora с последующим повторным стартом экземпляра. Как и для всех настроек, весь фокус заключается в выборе оптимальных значений устанавливаемых параметров. Это значит, что выбранные значения параметров не будут вызывать затруднения в работе других систем или требовать многократных повторных изменений параметров, т. е. перезапусков системы, но при этом обеспечат нужные показатели обработки и пропускной
способности.
Коллективный пул
Имеется четыре параметра, непосредственно влияющих на коллективный пул. Наиболее существенными из них являются SHARED POOL SIZE, .SHARED POOL RESERVED SIZE и LARGE_POOL_SIZE. Первый параметр определяет размер коллективного пула. Второй параметр указывает, сколько памяти коллективного пула необходимо выделить для резервного пула.
Резервный пул
используется для больших пакетов, процедур, функций и тому подобного. Третий параметр используется для Oracle MTS, опций Parallel Query, а также для RMAN. Память для этого пула выделяется дополнительно к памяти коллективного пула. Например, если SHARED_POOL_SIZE для вашей системы равен 128 Мбайт, a LARGE_POOL_SIZE - 32 Мбайта, то эти 32 Мбайта выделяются дополнительно к ранее выделенным для SI IARED_POOL_SIZE 128 Мбайт.Параметр SHARED_POOL_RESERVED_MIN_ALL ОС действителен только втом случае, если система имеет версию 8.0.3 или более раннюю. Начиная с версии 8.0.3, этот параметр стал недокументированным и начинается с символа подчеркивания (_). Как и все другие недокументированные параметры, использовать его можно только с разрешения службы поддержки Oracle.
Большой пул
Для конфигурирования большого пула можно использовать параметр
LARGE_POOL_SIZE из файла init.ora. Он начнет действовать только после по-
вторного старта экземпляра. До появления версии Oracle 8.0.3 значение пара-
метра указывало на минимальный размер
выделяемый из большого пула для выполнения любой операции. После появле-
ния версий 8.0.3 его поддержка прекратилась, но чтобы им воспользоваться, вы
можете ввести в файл init.ora параметр _[ARGE_POOL_MlN_ALLOC. хотя осо-
бой необходимости в этом нет.
LARGE_POOL_SIZE из файла init.ora. Он начнет действовать только после по-
вторного старта экземпляра. До появления версии Oracle 8.0.3 значение пара-
метра указывало на минимальный размер
выделяемый из большого пула для выполнения любой операции. После появле-
ния версий 8.0.3 его поддержка прекратилась, но чтобы им воспользоваться, вы
можете ввести в файл init.ora параметр _[ARGE_POOL_MlN_ALLOC. хотя осо-
бой необходимости в этом нет.
Особенно полезен большой пул в тех случаях, когда Oracle сконфигурирован для использования MTS или RMAN при выполнении операций резервного копирования. Если Oracle сконфигурирован в режиме MTS, разделы Cursor State и User Session Data переносятся из PGA в область коллективного пула. Это, конечно, становится источником дополнительной конкуренции с другими использованиями коллективного пула и ухудшает производительность. Вот почему следует конфигурировать большой пул.
Замечание Вопреки популярному мнению, области сортировки для сеансов, прикрепленных к базам данных Oracle, которые используют конфигурацию MTS, выделяются в областях PGA сеансов, а не в области коллективного пула. Последний раз это проверялось для Oracle 8.1.6.
RMA.N в тех случаях, когда не конфигурирован большой пул, тоже использу-
ет регулярный коллективный пул. Для параллельных операций, выполняемых
подчиненными параллельными запросами, требуется рабочее пространство в
коллективном пуле, и конфигурирование большого пула предохраняет от со-
перничества и фрагментации в регулярном коллективном пуле. В уста-
новка параметра PARALLEL_Ain'OMATIC_T(JNING на TRUE позволяет этим
операциям вместо коллективного пула использовать большой пул, если даже к
этому времени параметр не был установлен.
ет регулярный коллективный пул. Для параллельных операций, выполняемых
подчиненными параллельными запросами, требуется рабочее пространство в
коллективном пуле, и конфигурирование большого пула предохраняет от со-
перничества и фрагментации в регулярном коллективном пуле. В уста-
новка параметра PARALLEL_Ain'OMATIC_T(JNING на TRUE позволяет этим
операциям вместо коллективного пула использовать большой пул, если даже к
этому времени параметр не был установлен.
Можно рекомендовать выбирать начальное значение размера большого пула
равным размера коллективного пула в зависимости от частоты и типа
равным размера коллективного пула в зависимости от частоты и типа
его использования. Предпочтительный метод настройки большого пула состоит в увеличении его размеров до тех пор, пока в представлении V$SGASTAT увеличивается область, называющаяся Targe pool memory in use". Если начала увеличиваться область "large pool free memory", это значит, что для большого пула памяти выделено больше, чем это реально необходимо. При конфигурировании большого пула улучшается управляемость областью коллективного пула, выделяемой по умолчанию. Конечно, чистым итогом выделения памяти для большого пула все равно является общий рост SGA, но за счет разделения различных функций уменьшается соперничество, а вы избегаете того, чтобы любой из пулов стал слишком большим. Ведь по мере увеличения размера любого пула возрастает и стоимость его сопровождения, причем иногда выше всех разумных пределов.
Пул Java
Конфигурирование пулаJava осуществляется параметром JAVA POOL SIZE. Как уже упоминалось, описанные в документации рекомендации по выбору значения этого параметра слишком занижены. Кто бы мог подумать? В нескольких реализациях Oracle для различных платформ указывается, что для этого параметра должно использоваться минимум Мбайт. И снова, это будет отдельная область, независимая от выделяемой по умолчанию области коллективного пула. Значение по умолчанию параметра JAVA_POOL__.SIZE зависит от ОС и может быть уменьшено до 1 Мбайта, если Java не используется.
< Предыдущая | Следующая > |
---|