Курсор и области SQL, память сеанса

Рубрика: Управление Памятью

Разработчик приложений программы Oracle Pro*C или программы Oracle Call Interface (OCI) может явно открывать курсоры или дескрипторы к определенным частным областям SQL, и использовать их в качестве именованного ресурса в течение выполнения программы. Рекурсивные курсоры, которые база данных выполняет неявно для некоторых SQL-операторов, также используют разделяемые области SQL.

Рабочая область

Для сложных запросов (например, запросов поддержки принятия решений), большАя часть PGA посвящается рабочим областям, выделяемым операторами, интенсивно использующими память, такими как:

  • Основанные на сортировке операторы, такие как ORDER BY, GROUP BY, ROLLUP и оконные функции

  • Хэш-объединение

  • Слияние битовой карты

  • Создание битовой карты

  • Запись буферов, используемая операциями массовой загрузки

Оператор сортировки использует рабочую область (область сортировки), чтобы выполнять сортировку в памяти набора строк. Точно так же оператор хэш-объединения использует рабочую область (область хеша), чтобы построить хэш-таблицу из его левой входной части.

Размер рабочей области может контролироваться и настраиваться. Обычно, бОльшие рабочие области могут значительно улучшить производительность определенного оператора за счет более высокого потребления памяти.

Память Сеанса

Память сеанса является памятью, выделенной, чтобы содержать переменные сеанса (информация о входе в систему) и другую информацию, связанную с сеансом. Для разделяемого сервера память сеанса совместно используется и не является частной.

Автоматическое управление Памятью PGA

По умолчанию БД Oracle автоматически и глобально управляет общей суммарным количеством памяти PGA, выделенной экземпляру. Можно управлять этим количеством, устанавливая параметр инициализации PGA_AGGREGATE_TARGET. База данных Oracle тогда пытается гарантировать, чтобы общая сумма памяти PGA, выделенная всем процессам сервера базы данных и фоновым процессам, никогда не превышала эту цель.

Использование Представления V$PARAMETER

Курсор и области SQL

Когда Вы указываете ненулевое значение для SGA_TARGET и не определяете значение для автоматически настраиваемого параметра SGA, значение автоматически настроенных параметров SGA в представлении V$PARAMETER равняется 0, а значение столбца ISDEFAULT равно TRUE.

Если Вы определили значение для какого-либо из автоматически настраиваемых параметров SGA, значение, которое отображается на экране, когда Вы запрашиваете V$PARAMETER, является значением, которое Вы указали для параметра.

Далее: Контроль Менеджера ресурсов

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)