Locally_managed_tablespaces

Net als ieder ander object, beheert de data dictionary de ruimte toewijzing van een tablespace. Dat betekent dat Oracle de juiste tabellen update in de data dictionary wanneer een extent wordt toegewezen of vrijgemaakt voor hergebruik. 


Oracle slaat ook rollback informatie op over elke update van de dictionary tabellen. Omdat de dictionary tabellen en rollback segmenten een onderdeel zijn van de database, is de ruimte die ze bezetten onderworpen aan hetzelfde ruimte beheer als alle andere gegevens. Deze methode van het beheer van de ruimte heet extent management by the data dictionary. Dit soort tablespaces wordt ook wel Dictionary Managed Tablespaces genoemd. Dit was de enige optie die beschikbaar was voor de release 8,1. In Oracle release 8,1 en hoger heb je ook de mogelijkheid om het beheer van de ruimte toewijzing door de tablespace te laten beheren, ook wel ‘extent management by the tablespace’.

 

Locally Managed Tablespaces


 
Een tablespace die zelf zijn extent toewijzing kan beheren heet een ‘locally managed tablespace’. Deze tablespaces houden een bitmap bij in elke datafile met de status van de vrijgekomen of gebruikt blokken in die datafile. Elk bit in de bitmap komt overeen met een blok of een groep blokken. Wanneer een extent wordt toegewezen of vrijgemaakt voor hergebruik, verandert Oracle de bitmap-waarde om de nieuwe status van de blokken te tonen. Deze wijzigingen veroorzaken geen rollback generatie omdat ze geen tabellen in de data dictionary updaten (behalve voor speciale gevallen zoals tablespace quota informatie).


Extent Allocation Locally managed tablespaces


Kunnen een gelijke extent size hebben of een variabele size die worden bepaald door het systeem. Een van beide opties, UNIFORM of AUTOALLOCATE kan worden genoemd bij het maken van de tablespace. Voor uniform extent size kunt u een grootte opgeven. De standaard is 1 MB. Voor AUTOALLOCATE extents kunt u de grootte van de initial extent opgeven en Oracle bepaalt de optimale grootte van de bijkomende extents, met een minimum omvang grootte van 64KB. Daarom noemen we deze system-managed extents.


Hoe worden de extents gealloceerd


Oracle kijkt voor vrije ruimte voor een nieuw extent naar een kandidaat-datafile in de tablespace en vervolgens zoekt het in de bitmap die bij de datafile hoort voor het vereiste aantal aaneengesloten vrije blokken. Als dat datafile niet genoeg aaneengesloten vrije ruimte heeft, zoekt Oracle in een andere datafile. Wanneer extents worden vrijgegeven, wijzigt Oracle de bitmap in de betreffende datafile.


Creëren van een Locally Managed Tablespace

 

CREATE TABLESPACE tbs1 
DATAFILE 'file1.dbf'
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 256K;


Voordelen

  • Local management van extents voorkomt recursief ruimte beheer, dat kan optreden in dictionary managed tablespaces.
  • Local management van extents spoort automatisch aaneengesloten vrije ruimte, wat het handmatig samenvoegen van vrije extents voorkomt.
  • De afhankelijkheid van data dictionary is verminderd.


Opmerkingen

  • Temporary tablespaces die hun extents Locally managen kunnen alleen UNIFORM extent allocation gebruiken.
  • Voor permanente tablespaces de standaard grootte voor system managed extents is 64KB.
  • De storage (opslag) parameters NEXT, PCTINCREASE, MINEXTENTS, MAXEXTENTS, en DEFAULT STORAGE zijn niet geldig voor locally managed tablespaces.
     
     
     

 

 

Advertentie

>

Poll

Voorkeur
 

Wie is er aanwezig

We hebben 255 gasten online