Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СУБД Oracle / Лекции / Лек_ORAC / LCD / Хранение БД, Рисунки

.doc
Скачиваний:
46
Добавлен:
16.04.2013
Размер:
117.25 Кб
Скачать

База данных

Файлы данных

Табличные области

Рис.1. Данные каждой табличной области базы данных Oracle физически сохраняются в одном или нескольких файлах, связанных с табличной областью.

Табличные области

Таблица

FileFileFile

___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Таблица

Таблица

Таблица

Файлы данных

Рис.2. Объекты табличной области хранятся в одном или в нескольких файлах данных, составляющих табличную область.

SYSTEM

TEMP

ROOLBACK

Табличные области

ACCOUNTING

ACCOUNTING_INDEX

MANUFACTURING

MANUFACTURING_INDEX

Рис.3. Использование нескольких табличных областей для логического и физического разделения мест хранения различных наборов информации базы данных.

«Срощенная»

табличная

область

Свободное пространство

Используемое пространство

Рис.4. «Сращивание» свободного пространства.

Таблица

Сегмент данных

Блок данных

Экстенты

Рис.5. Выделение физического пространства для хранения таблицы в виде экстентов (групп последовательных блоков данных) в сегменте данных таблицы.

Таблица

Транзакция

UPDATE sales/customers

SET zipcode=91000

WHERE id=1;

ROLLBACK;

UPDATE sales/customers

SET zipcode=91000

WHERE id=1;

В сегмент отката записывается старый zipcode

Старый zipcode восстанавливается из сегмента отката

Сегмент отката

Сегмент отката

Таблица

Транзакция

Рис.6. Сегменты отката следят за данными изменяемыми транзакцией и способствуют ее откату.

Рис.7. Oracle записывает информацию в экстенты, составляющие сегмент отката, циклически.

Список свободных

блоков

Список свободных

блоков

Список

свободных блоков

102

204

230

231

420

439

450

451

452

102

204

230

231

420

450

451

452

102

204

230

231

420

439

450

451

452

Блок данных 439

Блок данных 439

Блок данных 439

Операции INSERT

Операции DELETE

Рис.8. В зависимости от того, насколько заполнен блок данных, он может включаться в список свободных блоков и исключаться из него.

Строки, помещающи­еся в одном блоке

Строка

Строка

Строка

Строка

Строка

Строка

Блоки данных

Сцепленная строка

Рис.9. Хранение частей строки в цепочке, распределенной между несколькими блоками.

Пространство, зарезервированное для операций обновления строк

PCTFREE=10

PCTFREE=10

Операции INSERT

PCTUSED=40

PCTUSED=40

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

Порог PCTUSED достигнут, блок возвращается в список свободных блоков

Операции DELETE

PCTFREE=10

PCTFREE=10

PCTUSED=40

PCTUSED=40

Рис.10. Oracle удаляет блок данных из списка свободных блоков, когда блок заполняется до PCTFREE. Когда блок заполняется до PCTUSED, Oracle возвращает его в список свободных блоков.

Таблица

BFILE-данные управляются файловой системой сервера

Строка

Строка

Строка

LOB-данные хранятся отдельно от других данных строки, но в пределах базы данных

Не–LOB-данные хранятся вместе в табличной области

Табличная область

Локаторы указывают на местонахождение данных LOB и BFILE

Файловая система сервера

Табличная область

Рис.11. Хранение основных табличных данных и связанных с ними мультимедийных данных в разных физических областях для снижения конкуренции при доступе к диску.

Неразделенная таблица CUSTOMERS

Разделенная таблица CUSTOMERS

Клиенты в

AL,AK,AZ,AR,CA,CO,CT,DC,DE,FL,GA

Клиенты в

HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME

Клиенты в

MI,MN,MS,MO,MT,NC,ND,NE,NH,NJ

Клиенты в

NM,NV,NY,OH,OK,OR,PA,PR,RI

Клиенты в

SC,SD,TN,TX,UT,VA,VT,WA,WI,WV,WY

Клиенты

во всех штатах

Рис.12. В Oracle8 поддерживается разделение строк таблицы по диапазонам.