СУБД Oracle / Лекции / Лек_ORAC / LCD / Хранение БД, Рисунки
.doc
База данных
Файлы данных
Табличные области
Рис.1. Данные каждой табличной области базы данных Oracle физически сохраняются в одном или нескольких файлах, связанных с табличной областью.
Табличные области
Таблица
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Таблица
Таблица
Таблица
Файлы данных
Рис.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 поддерживается разделение строк таблицы по диапазонам.