Automatic free space management

Automatic free space management is slechts beschikbaar in locally managed tablespaces. Het neemt de behoefte weg om freelists en freelist groups te managen door bitmaps te gebruiken om het ruimtegebruik


van elk blok te beschrijven binnen een segment. De bitmap wordt in afzonderlijke blokken opgeslagen die als bitmapped blocks (BMBS) bekend zijn. Dit verlicht de contentie op de segmentheader wat bij freelists voorkomt.

Voorafgaand aan Oracle 9i, moest elk blok worden gelezen zodat de freelist kon worden gecontroleerd om te zien of was er ruimte in het blok was. In 9i, kan de bitmap worden gecontroleerd wat het aantal onnodig gelezen blokken verminderd. De bitmap wordt constant up to date gehouden met veranderingen in het blok wat freespace management makkelijker maakt en verspilde ruimte vermindert omdat de blokken voller kunnen worden gehouden aangezien de overheadkosten van freelist verwerking is verminderd.

De BMBs bevat de blokken van Root, Branch en Leaf. Deze organisatie staat indexachtige onderzoeken naar vrije blokken toe. Aangezien de vrije blokken niet meer in een list worden opgeslagen kan men waarborgen dat blokken aaneengesloten binnen het segment zullen worden gebruikt. Om deze reden is het High Water Mark verdeeld in twee delen:



* Low High Water Mark (LHWM) - zoals het oude High Water Mark, alle blokken onder dit punt zijn al geformatteerd voor gebruik.
* High High Water Mark (HHWM) - wijst naar het punt waarboven geen blokken zijn geformatteerd voor gebruik.

LHWM en HHWM kunnen niet de zelfde waarde hebben afhankelijk van zijn hoe de bitmap tree was bestudeerd. Indien ze verschillend zijn dan kunnen de blokken tussen hen al dan niet voor gebruik geformatteerd zijn. HHWM is noodzakelijk zodat de direct load operaties aaneengesloten ongeformatteerde blokken kan waarborgen.

Om automatic free space management te gebruiken, moeten de objecten in een tablespace geplaatst zijn die de met de SEGMENT SPACE MANAGEMENT AUTO clause is aangemaakt. Alle objecten in deze tablespace hebben voordeel van deze feature.

 

--Clause 

 

 

Create tablespace ts_1

Datafile ‘c\Oracle\Oradata\TS1\ts1.dbf’

Size 10m extent management auto;

 

PCTUSED, FREELIST en FREELIST GROUP worden genegeerd in dit type tablespace.

De SEGMENT_SPACE_MANAGEMENT kolom in de DBA_TABLESPACES en USER_TABLESPACES views geeft het van segment management dat binnen elke tablespace wordt gebruikt, AUTO of MANUAL.

Om een bestaand voorwerp te upgraden om automatic freespace management te laten gebruiken, creeer eenvoudig een nieuwe tablespace en gebruik de ALTER…MOVE syntaxis om het voorwerp binnen de nieuwe tablepsace teplaatsen. Om de tablespace te downgraden naar een vorige versie zullen alle tablespaces met automatic freespace management gedropped moeten worden.

 

 

Advertentie

>

Poll

Voorkeur
 

Wie is er aanwezig

We hebben 263 gasten online