Логически и физически структури на бази данни

Всичко за администраторите на Oracle

Логически и физически структури на бази данни

Базата данни ималогически структури ифизически структури.

логически

Бази данни, таблични пространства и файлове с данни

Връзката между бази данни, таблични пространства и файлове с данни е показана на фигурата. Всяка база данни е логически разделена на две или повече таблични пространства. Един или повече файлове с данни са изрично създадени за всяко таблично пространство, за да съхраняват физически данните на всички сегменти в табличното пространство. Ако това е ВРЕМЕННО таблично пространство, то има временен файл вместо файл с данни. Файлът с данни за табличното пространство може да се съхранява физически на всяка поддържана технология за съхранение.

Пространства за таблици

Базата данни е разделена на логически единици за съхранение, нареченипространства за таблици, които групират заедно свързани логически структури или файлове с данни. Например табличните пространства обикновено групират всички сегменти на приложение, за да опростят някои административни операции.

Блокове данни

На най-ниското ниво на детайлност данните от базата данни на Oracle се съхраняват вблокове с данни. Един блок от данни съответства на определен брой байтове физическо пространство на диска. Размерът на блока с данни се определя за всяко таблично пространство, когато се създава. Базата данни използва и разпределя свободно пространство на базата данни в блокове данни на Oracle.

Следващото ниво на логическото пространство на базата данни еобхват. Екстентът е определен брой последователни блокове от данни на Oracle (получени при едно разпределение), които се използват за съхраняване на определен тип информация.Блоковете от данни на Oracle в екстенти са логически съседни, но могат да бъдат физически ивици на диска поради RAID ивиците и реализациите на файловата система.

Логическият слой за съхранение на базата данни над екстента се наричафрагмент. Сегментът е набор от екстенти, разпределени към определена логическа структура. Например:

Сегменти от данни:Всяка неклъстерирана, неорганизирана по индекс таблица има сегмент от данни, с изключение на външни таблици, глобални временни таблици и разделени таблици, в които всяка таблица има един или повече сегменти. Всички данни на таблицата се съхраняват в екстентите на нейния сегмент от данни. За разделена таблица всеки дял има свой собствен сегмент от данни. Всеки клъстер има сегмент от данни. Данните на всяка таблица в клъстера се съхраняват в сегмента за данни на клъстера.

Индексни сегменти:Всеки индекс има индексен сегмент, който съхранява всички негови данни. За разделен индекс всеки дял има индексен сегмент.

Сегменти за връщане назад:Едно таблично пространство ROLLBACK се създава за всеки екземпляр на база данни. Това таблично пространство съдържа множество сегменти за връщане назад за временно съхраняване на информация за връщане назад. Информацията в сегмента за връщане назад се използва за генериране на съгласувана за четене информация в базата данни, а също и по време на възстановяване на базата данни, връщане назад на необвързани потребителски транзакции.

Временни сегменти:Временните сегменти се създават от базата данни на Oracle, когато даден SQL израз се нуждае от временно работно пространство, за да завърши изпълнението си. Когато операторът завърши, екстентите на временния сегмент се връщат към екземпляра за бъдеща употреба. Дефинирайте или временно таблично пространство отпо подразбиране за всеки потребител или временно таблично пространство по подразбиране, което ще се използва за цялата база данни.

Моля, обърнете внимание:Има и други видове сегменти, които не са споменати по-горе. Има и обекти на схема като изгледи, пакети, тригери и т.н. които не се считат за сегменти, въпреки че са обекти на база данни. Сегмент притежава съответното разпределение на дисково пространство. Други обекти съществуват като низове, съхранени в сегмента на системните метаданни.

Базата данни на Oracle разпределя пространство динамично. Когато съществуващите екстенти на сегмент са пълни, се разпределят допълнителни екстенти. Тъй като екстентите се разпределят според нуждите, сегментните екстенти могат или не могат да бъдат съседни на диска и могат да бъдат разпределени от различни файлове с данни, принадлежащи към едно и също таблично пространство.