DeepEdit!

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

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

Конфигурируем временные табличные пространства


В Oracle 7.3 впервые появилась концепция чистых временных табличных пространств, а в команду create tablespace была добавлена фраза temporary. Введение чисто временных табличных пространств являлось важным с двух то­чек зрения. Во-первых (что самое главное), они поддерживали возможность разрешить прямую запись на диск при сортировке. Это было сделано путем кон­фигурирования параметра инициализации SORT_DIRECT_WRITES (исключен в OracleSi). Если он был установлен на TRUE, каждая сортировка, большая по размеру, чем SORT_AREA_SIZE, непосредственно записывалась во временное табличное пространство. Значит, буферный кэш базы данных больше не испо­льзовался для сегментов сортировки, а применялся только для данных, индек­сов, кластеров и сегментов отката.
Второй аспект заключался в изменении поведения временных табличных пространств и временных сегментов в Oracle 7.3. Это изменение снижало на­кладные расходы и уменьшало частоту возникновения узких мест для сред, кото­рые генерируют активную деятельность во временных табличных пространствах.
До Oracle 7.3 накладные расходы возникали всякий раз, когда процессу сер­вера требовалась временная память (для сортировок при выполнении итого­вых операций, выполнения фраз 

group by, order by, 

соединений, создания индексов и т. д.) в размере, большем, чем SORT_AREA_SIZE, так как процесс вы­делял (создавал) временный (temp) сегмент во временном табличном простран­стве (как это было определено при создании пользователя или позже при его модификации). После завершения операции сортировки временный сегмент освобождался (сбрасывался). Это обычно были напрасно потраченные усилия, потому что следующий процесс, которому требовалась временная память в раз­мере, превышающем SORT_AREA_SIZE, был вынужден снова выделять времен­ный сегмент только для того, чтобы освободить его по окончании сортировки. Основная проблема заключалась в недостаточном повторном использовании временных сегментов для нескольких операций сортировки.
В Oracle 7.3 с его чистыми временными табличными пространствами пер­вый процесс, которому после старта экземпляра требовалась временная память болыпая, чем SORT_AREA_SIZE, выделял себе временный сегмент во времен­ном пространстве, а затем предоставлял для этого временного сегмента столько экстентов, сколько было необходимо. Когда первый процесс заканчивал дейст­вия по сортировке, он оставлял временный сегмент для его использования дру­гими операциями сортировки. Следующие процессы увеличивали размер этого временного сегмента (чьи характеристики памяти определялись фразой памя­ти по умолчанию команды create tablespace, с помощью которой создавалось
табличное пространство TEMP).
Память в данном временном сегменте поддерживалась с помощью алгоритма пула экстентов сортировки (который все еще использовался словарем Вот почему в каждый момент времени временного табличного пространства имелся всего один временной сегмент. Память этого временного сегмента осво­бождается процессом SMON при остановке 

(shutdown) 

или запуске 

(startup) 

эк­земпляра (в зависимости от обстоятельств и от типа команды 

shutdown immediate

или 

abort). 

В        были добавлены новые динамические представления про-
изводительности V$SORT_USAGE для предоставления информации о характе­ристиках использования временных табличных пространств.
Замечание
В зависимости от числа пользователей системы можно рассмотреть вопрос о создании нескольких временных табличных пространств, чтобы единственное такое пространство не стало источником узких мест.
 


скачать прайс на двухбалочный кран мостовой электрический - стоимость goliaf-kran.ru . системы канализации загородного дома . Элитные двери







jAntivirus