Сегменти, степен и блокове оракул

Групата данни (блок данни) е най-малката единица на съхранение в базата данни. В идеалния случай Oracle данни блок трябва да е кратен на блока на операционната система, за да се гарантира ефективност на операциите на I / O.

стандартния размер на блок от данни на базата данни се определя от параметъра инициализиране DB_BLOCK_SIZE; Този размер на блока се използва за tablespaces СИСТЕМА, TEMP и SYSAUX при създаването на базата данни и не може да бъде променена без повторно създаване на базата данни.
Всеки блок данни има глава (глава), който определя кои данни се съхраняват в кодовете на данни или блок. В таблиците с списъка на указатели (таблица директория) съдържа информация относно реда на таблицата в този блок; може да се съдържа в записите на блок ред или индексни само една таблица, с изключение на клъстерни таблици, когато списък с указатели идентифицират всички редове маси, които попадат в този блок. Списък на указатели в информационния блок редове (ред директория) осигурява информация относно конкретни редове в таблица или индекс елементи, съхранени в блока.

Дисковото пространство за заглавието, списъкът с маса указател и списък с низове указатели е много малък процент от пространството, разпределена към единицата, така че ние ще се съсредоточи па свободно пространство (свободно пространство) и линии за данни (редове от данни) в блока.

Нов блок новоразпределени данни има място за запис, за нови и обновяването на съществуващи (предварително записани) линии; Промени може едновременно увеличаване и намаляване на размера на разпределени пространство за ред, когато един ред има колони с променлива дължина или не празен (без NULL) се заменят с празен (NULL), или обратно. Място за нови вложки ще бъде на разположение в устройството, докато тя е превишила процентът на свободно място в блока, определен от параметъра PCTFREE, който е настроен да създадете сегмент. Ако размерът на свободното пространство в блока е по-малък от PCTFREE. вложка вече не е разрешен в този блок. Ако списъците пространство за контрол на свободна памет се използва за сегментиране на блоковете в таблица нов вмъкване ще се разрешава само след размера на свободното място в блока падне под PCTUSED.

Ако размерът на линията е по-голям от размера на блока, или ако се обновява ред вече не се вписва в оригиналната единица (Vol. Д. В блока, където той е бил поставен преди актуализацията.), Низът може да заема повече от един блок. В първия случай, твърде висока за блок линия съхранява във веригата (верига) на блока; тя може да бъде неизбежен когато ред съдържа колони, чийто размер превишава големина разрешени в Oracle размер 10 грама блок (за Oracle 10g 32K).

Във втория случай низ може да спре да прибира в оригиналната блок след обновяване, като Oracle, ще бъдат принудени да мигрират (превод) данни за всички линии в новия блок и първия блок да напусне указател към указва местоположението на втория блок, който сега се съхранява данните се обновяват ред. Не е трудно да се отгатне, че един сегмент с голям брой изпратени редове може да изпитате проблеми с производителността, тъй като броят на блокове, които ще бъдат достъпни за да изпълни искането, може да се увеличи, ако не почти се е удвоил. В някои случаи, настройка PCTFREE стойност или реорганизация на таблица може да доведе до по-добро използване на дисково пространство и да се подобри ефективността на I / O.

В степен (степен) е следващата логична разпределението ниво в базата данни; е определен брой блокове, определени за конкретния вид на обекти, като маса или индекс. Една степен е минимален брой блокове, определени за едно и също време; когато цялото място в степента, е пълна, друга степен се разпределя.

При създаването на една маса се разпределя степен за първоначалния си (оригинал). След цялото място в оригиналното ниво, прекарано, тя ще бъде разпределена степен отделните (допълнително). В LMTs тези следващи степени могат да бъдат или същия размер (ако са използвани дума създаване ЕДНАКВИ таблици), или Oracle избира оптималния размер (AUTOALLOCATE) за него. Ако размерът на степен бе избрана по оптимален начин, Oracle ще започне с минимален размер на степен на 64 KB, и постепенно ще се увеличи размера на следващата степен, в която те са кратни на оригинала. Ако такова пространство за таблици сценарий, фрагментация е сведена до нула.

Ако размери степен са определени автоматично от Oracle, параметри ПЪРВОНАЧАЛНА, NEXT, PCTINCRFASE и MINEXTENTS използват само като "насоки", като се има предвид, че според вътрешни алгоритми Oracle идентифицира най-добрите сегменти размер.

Групи степен, предоставени на един сегмент. Сегмент трябва да бъдат изцяло се съдържа в едно пространство на маса. Всеки сегмент представлява един и само един тип обекти на база данни, като например маса, секция на разделена таблица, индекс, или временно сегмент. За разделени таблици, всеки дял трябва да се съхранява в собствен сегмент; обаче, клъстер, състояща се от две или повече таблици може да се съхранява в същия сегмент. Разпределени индекс се състои от един сегмент за всеки индекс дял.

Време слотовете се разпределят за множество сценарии. Когато операцията за сортиране не може да се извърши в паметта, като се случва например в изберете изявление, където е необходимо да се справи данните за извършване на операции, различни от група, или съюз, временно сегмент е предназначена за съхраняване на междинните резултати от сортирането. Тъй като разпределението и deallocation на времеви интервали се появява често, това би било желателно да се създаде пространство специална таблица за съхранение на времеви интервали. Това помага да се разпространява на исканията се изисква PA I / O за тази операция, както и намаляване на възможността за фрагментиране в другите пространства за таблици, поради постоянно разпределение и deallocation на временни сегменти. Когато създадете база данни, можете да за всеки нов потребител, който не е определен изрично специфичен временно пространство за таблици се използва за създаване на по подразбиране, но временна таблица пространство; Ако системата за таблици извършва локално управляеми за хъркането слотове трябва да се създаде отделна пространство за таблици.

Начин на управление на дисковото пространство в рамките на сегмента зависи от това как е бил създаден за таблици, този блок за управление. Ако мястото на маса се управлява с помощта на речник, segment- използва за управление на пространството в дялове на списъци с памет; ако пространството за таблици се контролира локално, дисково пространство може да се контролира чрез freelists и използване растерни в сегменти. Oracle силно препоръчва създаването на всички нови tablespaces локално управлявани, и да управляват свободно пространство автоматично извършва в сегменти, като се използват растерни изображения. Автоматичен контрол на свободното пространство в сегмента позволява едновременен достъп до списъци малко сегмент, но в сравнение със списъка на свободна памет; в допълнение към маси се различават значително в размер линии значително по-ефективен пространство се използва в автоматично контролирани сегменти.

Ако сегмента се създава автоматично контролира площи в сегмента, растерни изображения се използват за контролиране на това място. В резултат на ключови думи pctused, freelist и freelist групи в операторите да създават маса и да се създаде индекс се игнорират. Три ниво структура на растерното изображение в сегмента показва дали HWM блокове, поставени под пълно (запълнени над PCTFREE), свободен: от 0 до 25%, от 25 до 50%, от 50 до 75%, от 75 до 100% или неформатиран.

Правила за публикуване

Вие не можете да публикувате нови теми

Вие не можете да пускате отговор

Вие не можете да слагате прикачени файлове

Вие не можете да редактирате вашите съобщения

Часът в момента е 12:42. Всички времена са GMT +3.