Опубликован: 02.08.2007 | Уровень: специалист | Доступ: платный
Лекция 13:

Создание физической модели базы данных. Подготовка скрипта для создания базы данных

Создание табличных пространств

Проектировщик базы данных работает с логическими объектами - табличными пространствами, таблицами, представлениями, индексами и т.д., так называемыми логическими файлами СУБД Oracle. Информация о содержимом логических файлов хранится в словаре данных.

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

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

Табличные пространства можно создавать, менять и удалять. Для создания табличных пространств в СУБД Oracle предусмотрена команда SQL CREATE TABLESPACE, параметры которой приведены в таблице 13.8.

Таблица 13.8. Параметры команды create tablespace
Параметр Описание Замечание по умолчанию
Имя_табличного_пространства Имя, присваемое табличному пространству. Оно должно отражать назначение этого табличного пространства
Спецификация файла данных
Местонахождение файла Полный путь к каталогу и имя файла
size Полный начальный размер файла данных, в соответствии с которым выделяется дисковое пространство
reuse Если файл данных существует, его нужно использовать повторно, указав этот параметр, в противном случае возникнет ошибка. Размер файла должен совпадать с указанным в параметре size
autoextend Разрешает или запрещает автоматическое увеличение размера файла данных.Может принимать значения on и off. Для on существуют дополнительные параметры: next: величина приращения файла (в байтах). maxsize: наибольший допустимый размер файла данных. Может быть неограниченным (unlimited) ON
minimum extend Предназначен для управления фрагментацией - определяет минимальный размер экстента
default предложение хранения объем пространства, выделяемого объекту при отсутствии явно указанной конструкции хранения
initial Объем пространства, выделяемого для первого экстента страниц 5
next Объем для пространства, выделяемого для второго и последующих экстентов 5 физических страниц
minextens Минимальное количество выделяемых экстентов 1
maxextents Максимальное количество выделяемых экстентов - может быть неограниченным (intimated) 121
petincrease Коэффициент приращения размера (в %) для каждого следующегоэкстента после next 50
freelist groops Используется в режиме параллельного сервера и указывает количество списков свободных блоков для объектов, созданных в данном табличном пространстве без использования конструкций хранения
freelist Указывает количество списков свободных блоков, созданных в данном табличном пространстве без использования конструкций хранения
optimal Применяется только к сегментам отката и определяет минимальный объем пространства, до которого сокращается сегмент отката после расширения за пределы оптимального значения
online/offline Указывает, режим (оперативный/автономный, в котором изначально должно находиться табличное пространство online
permanent/temporary Указывает, будет ли табличное пространство содержать объекты или только временные сегменты permanent
Предложение управления экстентами
dictionary Указывает, что управление экстентами осуществляется только через словарь данных dictionary
local Указывает, что некоторая часть табличного пространства зарезервирована для битовых карт user
plugged_in Используется с переносимыми табличными пространствами и указывает, что табличное пространство может быть "подключено" к базе данных NO

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

CREATE TABLESPACE my_ts
DATAFILE 'c:\ora9i\oradata\orcr\myfile01.dbf'
SIZE 2M;

Ключевое слово TABLESPACE задает имя табличной области (my_ts), ключевое слово DATAFILE задает спецификацию файла операционной системы ('c:\ora9i\oradata\orcr\myfile01.dbf'), в котором будут размещаться данные создаваемой табличной области, ключевое слово SIZE задает размер табличного пространства в мегабайтах. Остальные значения параметров принимаются по умолчанию. В частности, поскольку значение по умолчанию для параметра AUTOEXTEND есть ON (см. таблицу 13.8), то разрешено автоматическое расширение пространства, выделенного для данного табличного пространства. По умолчанию созданное табличное пространство переходит в оперативный режим (ONLINE) и является постоянным табличным пространством (PERMANENT).

Для изменения параметров табличного пространства используется команда ALTER TABLESPACE, а для удаления - команда DROP.

Чтобы разместить объект базы данных в определенном табличном пространстве, необходимо явно указать это табличное пространство в командах SQL. Например, команда

CREATE TABLE CUSTOMER
(CUSTOMER_ID CHAR(5) NOT NULL,
CUSTOMER_NAME VARCHAR(25),
CUSTOMER_ADDR VARCHAR(50),
CUSTOMER_RATING CHAR(10))
TABLESPASE my_st,
PCTFREE 15;

размещает таблицу CUSTOMER и табличном пространстве my_st.

Александра Каева
Александра Каева
Михаил Забелкин
Михаил Забелкин
Евгений Вершинин
Евгений Вершинин
Россия, Нижний Новгород, Нижегородский государственный технический университет, 2008
Aleksandr Arshinskyi
Aleksandr Arshinskyi
Россия