Oracle DB, Табличные пространства

Материал из sysadm
Перейти к навигации Перейти к поиску

Предопределенные табличные пространства

  • SYSTEM
  • SYSAUX
  • USERS
  • TEMP - временное табличное пространство по умолчанию
  • UNDO

Временные табличные пространства

Временные табличные пространства предназначены для хранения временных данных сессий и имеют ряд особенностей.

Особенности:

  • Временное табличное пространство присутствует в базе постоянно
  • Используется для хранения временных данных сессии пользователя, которые хранятся до ее завершения. Например, рабочие области сортировки.
  • Во временном табличном пространстве нельзя создавать объекты (таблицы, индексы и т.п.)
  • Временные данные принадлежат сессии и не могут быть разделены с другими сессиями
  • Oracle Database пишет все данные сессии в локальной области (PGA) порциями по 64 Кбайт, поэтому советуют создавать табличные пространства с размерами экстентов, кратными 64 Кбайт.

Табличные пространства отката (UNDO)

Табличные пространства отката (UNDO) предназначены для хранения данных для отката транзакций.

Параметры табличных пространств

Выделение размера экстента

CREATE TABLESPACE ...
  ...
  EXTENT MANAGEMENT LOAL {AUTOALLOCATE | UNIFORM [SIZE <size>] }
  • AUTOALLOCATE - (опция по умолчанию) размер новых экстентов определяется автоматически, с ростом сегмента Oracle увеличивает размер новых экстентов от 64 Кб до 64 Мб.
  • UNIFORM - новые экстенты имеют фиксированный размер заданный на уровне табличного пространства, если размер явно не указан, то он принимается равным 1 Мб. Размер экстента можно задать только при создании табличного пространства, после создания его изменить нельзя. Часто администраторы создают несколько табличных пространств, разделяя их по размеру экстента, чтобы размещать объекты в оптимальном для них табличном пространстве.

К выбору размера экстента необходимо подходить серьезно, т.к. от этого зависит количество экстентов в сегменте, что может существенно влиять на производительность.

Рекомендации:

  • 64 Кбайт — для малых сегментов;
  • 1 Мбайт — для средних сегментов;
  • 64 Мбайт — для крупных сегментов.

Если в табличном пространстве планируется размещать сегменты разных размеров, то лучше использовать AUTOALLOCATE.

Управление размером сегмента

CREATE TABLESPACE ...
  ...
  SEGMENT SPACE MANAGEMENT {AUTO | MANUAL}

Локально управляемые табличные пространства

В Oracle 11g и выше табличные пространства являются локально управляемыми. В более ранних версиях табличные пространства управлялись словарем данных.