- •Хранение баз данных
- •Табличные области
- •Табличная область system
- •Другие табличные области
- •Оперативные и отключенные табличные области
- •Постоянные и временные табличные области
- •Табличные области только для чтения и чтения/записи
- •Дополнительные сведения о файлах данных
- •Число файлов данных для табличной области
- •Использование пространства файлов данных
- •Сращивание свободного пространства в файлах данных табличной области
- •Размеры файлов данных
- •Повреждение файлов данных
- •Оперативные и отключенные файлы данных
- •Управляющие файлы
- •Зеркально отображенные управляющие файлы
- •Сегменты, экстенты и блоки данных
- •Сегменты данных и индексные сегменты
- •Временные сегменты
- •Временные табличные области
- •Сегменты отката
- •Запись информации в сегменты отката
- •Сегмент отката system
- •Несколько сегментов отката
- •Назначение конкретных сегментов отката
- •Оперативные и отключенные сегменты отката
- •Общие и частные сегменты отката
- •Отложенные сегменты отката
- •Другие функции сегментов отката
- •Блоки данных
- •Выделение блоков данных
- •Доступность блоков данных и списки свободных блоков
- •Сцепление строк и размер блока данных
- •Параметры хранения объектов
- •Размещение табличных областей
- •Параметры для экстентов
- •Initial 500k
- •Специальные параметры хранения данных для сегментов отката
- •Initial 100k
- •Параметры для блоков данных
- •Параметры для списков свободных блоков
- •Пороги блоков
- •Элементы транзакций
- •Установки по умолчанию для хранения объектов
- •Установки по умолчанию для пользователей
- •Установки по умолчанию для табличных областей
- •Initial 100k
- •Уникальность хранения мультимедийных данных
- •Дополнительные сведения о локаторах lob
- •Разделение данных
- •Разделенные таблицы
- •Размещение строк в разделах данных
- •Использование maxvalue
- •Разделенные индексы
- •Варианты создания разделенных индексов
- •Равноразделенные объекты
- •Глобальные разделенные индексы
- •Имена таблиц с учетом разделов
- •Управление разделением
- •Соответствие индексов и таблиц
- •Контрольные вопросы.
Установки по умолчанию для хранения объектов
В большинстве случаев параметры хранения объектов не являются обязательными; они позволяют управлять хранением информации каждого объекта. Для параметров хранения всегда существуют установки по умолчанию. Далее показано, как задавать такие установки для объектов хранения данных базы данных Oracle.
Установки по умолчанию для пользователей
Как было показано ранее, для каждого пользователя можно установить табличную область по умолчанию и временную табличную область. Когда пользователь создает новый объект базы данных и не указывает для него табличную область явно, Oracleсохраняет новый объект в табличной области по умолчанию для этого пользователя. Во временной табличной области пользователяOracle, по мере необходимости, выделяет временное рабочее пространство для его SQL-операторов.
Установки по умолчанию для табличных областей
Если при создании в табличной области таблицы, кластера данных, индекса или моментального снимка не указываются параметры экстентов нового объекта, то для сегмента этого объекта устанавливаются значения, которые были заданы по умолчанию для этой табличной области. Для каждой табличной области можно указать по умолчанию значения:
Размеров начального и последующих экстентов сегмента
Минимального и максимального числа экстентов в сегменте
Коэффициента возрастания последующих экстентов сегмента.
Например, следующий оператор изменяет установки для экстентов табличной области, заданные по умолчанию:
ALTER TABLESPACE sales_data_1
DEFAULT STORAGE (
Initial 100k
NEXT 100K
MINEXTENTS 3
MAXEXTENTS 100
PCTINCREASE 0);
Уникальность хранения мультимедийных данных
Когда в таблице содержится столбец, имеющий тип данных LOB(например,CLOB,BLOBилиNCLOB) или BFILE, тогда в каждой строке таблицы хранится лишь небольшой локатор (locator). Это указатель местонахождения реальных данных LOB или BFILE для строки. Что касается столбцов CLOB,BLOBи NCLOB, то локатор LOB определяет место хранения информации в пределах базы данных; для столбцов BFILE он указывает на внешние файлы, управляемые операционной системой сервера. Понятие локаторов LOB и BFILE проиллюстрировано на рис. $.11.
Рис. $.11 показывает, что характеристики хранения полей LOB не зависят от характеристик хранения базовой таблицы. Это упрощает процесс обращения к данным LOB, занимающим обычно большие области диска. В этом примере все не-LOB- и нe-BFILE- данные для каждой строки таблицы хранятся вместе в одной табличной области, данные столбца LOB- в другой табличной области, а данные столбца BFILE - в файловой системе сервера. При этом основные табличные и связанные с ними мультимедийные данные распределяются для хранения среди разных физических областей (например, дисководов), что снижает конкуренцию при доступе к диску и повышает общую производительность системы.
Дополнительные сведения о локаторах lob
Для обеспечения эффективного доступа к LOB-даппым указатели столбца CLOBилиBLOBхранятся в соответствующем индексе В-дерева. При этомOracleможет быстро обращаться к указанным порциям (chunks) конкретных LOB-данных столбца.
Разделение данных
При создании больших таблиц (или индексов) в производственных системах баз данных могут возникать различные проблемы, порождаемые размерами и характеристиками хранения таких таблиц. Для примера рассмотрим следующие ситуации:
Таблица вырастает настолько, что для работы с ней нужно время, превышающее разрешенный интервал.
Для обработки запроса необходимо выполнить полное сканирование очень большой таблицы. Пока происходит считывание множества блоков данных указанной таблицы, падает производительность приложения и системы.
Одно из ответственных приложений работает в основном с единственной большой таблицей. Когда в результате сбоя диска хотя бы один блок данных в этой таблице становится недоступен, запрещается доступ ко всей таблице. Чтобы таблица и приложение могли продолжать функционирование, администратору приходится восстанавливать всю табличную область, в которой находится эта таблица.
Чтобы уменьшить вероятность возникновения проблем такого рода, в Oracle8 поддерживается разделение таблиц и индексов.