Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_4_dbms.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
140.8 Кб
Скачать

Выбор управления пространством сегментов

Для табличных пространств, которые имеют локальное управление, есть возможность выбрать автоматический или ручной режим управления пространством сегментов. Ручной режим существует для обратной совместимости и использования списка свободных блоков для идентификации блоков данных, доступных для вставки совместно с параметрами PCT_FREE и PCT_USED, с контролем, когда блок доступен для вставки. После каждого INSERT или UPDATE база данных сравнивает оставшиеся свободное пространство в блоке данных с настройкой PCT_FREE сегмента. Если блок данных содержит меньше свободного пространства, чем указано в PCT_FREE, считается, что блок заполнен и исключается из списка свободных блоков и более не доступен для вставки. Оставшиеся свободное пространство резервируется для операций UPDATE, которые могут увеличить размер строк в блоке данных. После каждой операции UPDATE или DELETE база данных сравнивает используемое пространство в блоке данных с настройкой PCT_USED. Если блок данных содержит используемого пространства меньше, чем PCT_USED, то блок данных считается пустым и достаточным для вставки и он помещается в список свободных блоков.

Для указания ручного режима управления используется конструкция SEGMENT SPACE MANAGEMENT MANUAL в предложении CREATE TABLESPACE, или опускается конструкция SEGMENT SPACE MANAGEMENT. Несмотря на настоятельную рекомендацию Oracle использовать автоматический режим для постоянных, локально управляемых табличных пространств, значение по умолчанию MANUAL. Пример создания табличного пространства с ручным управлением сегментами:

CREATE TABLESPACE TEST_TS DATAFILE '\db_1\oradata\TEST_TS_01.DBF' SIZE 25G

EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL;

Когда указывается автоматический режим, битовые образы используются взамен свободного списка для идентификации блоков, доступных для вставки. Параметры PCT_FREE и PCT_USED игнорируются для сегментов в табличных пространствах с автоматическим режимом управления. Автоматический режим доступен только для табличных пространств, настроенных для локального управления экстентами, но недоступен для временных и системных табличных пространств. Автоматическое управление сегментами исполняется лучше и снижает количество задач по обслуживанию. Для указания автоматического режима используется конструкция SEGMENT SPACE MANAGEMENT AUTO в предложении CREATE TABLESPACE:

CREATE TABLESPACE TEST_TS DATAFILE '\db_1\oradata\TEST_TS_01.DBF' SIZE 25G

EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;

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

Временное табличное пространство используется для временных сегментов, которые создаются, управляются и удаляются базой данных в случае необходимости. В основном эти сегменты создаются во время выполнений операций сортировки, таких как ORDER BY, GROUP BY и CREATE INDEX. Так же они создаются во время других операций, например, вставка записей во временные таблицы.

Временное табличное пространство создаётся во время создания базы данных конструкцией DEFAULT TEMPORARY TABLESPACE предложения CREATE DATABASE, или после создания базы данных предложением CREATE TEMPORARY TABLESPACE. Например:

CREATE TEMPORARY TABLESPACE temp TEMPFILE 'db_1\oradata\TEMP01.DBF' SIZE 2G;

Обратите внимание, ключевое слово DATAFILE заменено ключевым словом TEMPFILE. Временные файлы используются только временным табличным пространством, никогда не нуждаются в резервном копировании и журнализации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]