Inhoudsopgave:
Video: Blues Fundamentals Part 1: How to Play 12 Bar Blues Rhythm in all 12 Keys | Steve Stine LIVE 2024
Alle logische structuren die u zult zien staan in de databestanden van de database. Met de logische structuren van Oracle 12c kunt u uw gegevens indelen in beheersbare en, goed, logische stukken.
Laten we de relatie van logische tot fysieke objecten onderzoeken. De pijl wijst in de richting van een een-op-veel-relatie.
Tablespaces in Oracle 12c
Tablespaces zijn het eerste niveau van logische organisatie van uw fysieke opslag.
Elke 12c-database moet de volgende tablespaces hebben:
-
SYSTEM: Slaat de kerndatabasevoorwerpen op die worden gebruikt voor het uitvoeren van de database zelf.
-
SYSAUX: Voor objecten die aanvullend zijn en niet specifiek zijn gekoppeld aan de kernfuncties van de database.
-
UNDO: Slaat de terugdraaibare of ongedaan gemaakte segmenten op die worden gebruikt voor het herstellen van transacties.
-
TEMP: Voor tijdelijke opslag.
Elke tabelruimte is verantwoordelijk voor het organiseren van een of meer gegevensbestanden. Doorgaans kan elke tablespace worden gekoppeld aan een gegevensbestand, maar naarmate de database groeit en uw bestanden groot worden, kunt u besluiten om opslagruimte toe te voegen in de vorm van meerdere gegevensbestanden.
Dus wat is de volgende stap om uw database in gebruik te nemen? U maakt een aantal gebieden om uw gegevens op te slaan. Stel dat uw database verkoop, personeelszaken, boekhoudgegevens en historische gegevens zal bevatten. Mogelijk hebt u de volgende tablespaces:
-
SALES_DATA
-
SALES_INDEX
-
HR_DATA
-
HR_INDEX
-
ACCOUNTING_DATA
-
ACCOUNTING_INDEX
-
HISTORY_DATA
-
HISTORY_INDEX
Segmenten in Oracle 12c
segmenten zijn de volgende logische opslagstructuur na tablespaces. Segmenten zijn objecten in de database die fysieke opslag vereisen en omvatten het volgende:
-
Tafels
-
Indexen
-
Gematerialiseerde weergaven
-
Partities
Deze objectvoorbeelden zijn niet < segmenten en bewaar geen werkelijke gegevens: Procedures
-
Synoniemen
-
Sequences
-
De laatste lijst met objecten leeft niet in een tablespace met segmenten. Het zijn stukjes code die in de SYSTEM tablespace leven.
Telkens wanneer u een segment maakt, geeft u op in welke tabelruimte het onderdeel moet zijn. Dit helpt met de prestaties.
Extents in Oracle 12c
Extents
zijn als de groeiringen van een boom. Wanneer een segment groeit, wint het een nieuwe dimensie. Wanneer u voor het eerst een tabel maakt om items op te slaan, krijgt deze zijn eerste omvang. Terwijl u gegevens in die tabel invoegt, wordt die hoeveelheid vol. Wanneer de mate vult, grijpt het een andere mate van de tablespace. Wanneer u voor het eerst een tablespace maakt, is het allemaal vrije ruimte. Wanneer u begint met het maken van objecten, wordt die vrije ruimte toegewezen aan segmenten in de vorm van extensies. Je gemiddelde tablespace bestaat uit gebruikte extents en vrije ruimte.
Wanneer alle vrije ruimte is gevuld, is dat databestand ongeschikt. Dat is wanneer uw DBA-vaardigheden binnenkomen en u beslist hoe u meer vrije ruimte beschikbaar kunt maken zodat de segmenten zich kunnen blijven uitbreiden.
Extensies zijn niet noodzakelijk aangrenzend. Wanneer u bijvoorbeeld een tabel met items maakt en de eerste 1, 000 items invoegt, kan deze meerdere keren groeien en uitbreiden. Uw segment kan nu uit vijf gebieden bestaan. U maakt echter ook een nieuwe tabel.
Omdat elke tabel in een nieuwe tabelruimte wordt gemaakt, begint deze aan het begin van het gegevensbestand. Nadat u uw tweede tabel hebt gemaakt, moet uw eerste tabel mogelijk opnieuw worden verlengd. De volgende omvang komt na de tweede uitbreiding. Uiteindelijk hebben alle objecten die een tablespace delen hun onderlinge vermenging.
Dit is geen slechte zaak. In de afgelopen jaren, voordat Oracle betere algoritmen had voor opslag, brachten DBA's veel van hun tijd en inspanningen door met het proberen samen te smelten in deze omvang. Het werd
fragmentatie genoemd. Het is een ding van het verleden. Word niet meegezogen! Laat het gewoon. Oracle 12c is volledig in staat om dergelijke situaties te beheren. Er zijn situaties waarin u meerdere gegevensbestanden in een tablespace hebt. Als een tablespace meer dan één databestand heeft, maakt de tablespace automatisch alle rondes in alle databestanden. Dit is een andere Oracle-prestatiefunctie.
Stel dat u één grote tabel heeft die het grootste deel van uw toepassing ondersteunt. Het leeft in een tablespace gemaakt van vier databestanden. Naarmate de tabel wordt uitgebreid, wijst Oracle de omvang van elk gegevensbestand als volgt toe:
1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 … enzovoort
Dit Zo kan Oracle profiteren van de gegevensverspreiding over veel fysieke apparaten wanneer gebruikers gegevens openen. Het vermindert het conflict op segmenten met veel activiteit.
Oracle-blokken in Oracle 12c
Een
Oracle-blok is de minimale eenheid die Oracle op een bepaald moment kan lezen of schrijven. Oracle leest en schrijft meestal meer dan één blok tegelijk, maar dat is tegenwoordig aan Oracle. Vroeger had u meer directe controle over hoe Oracle zijn lees- en schrijfacties van blokken beheerde, maar nu wordt de functionaliteit automatisch afgestemd. Je kunt het tot op zekere hoogte handmatig aanpassen, maar de meeste installaties kunnen het beste aan Oracle worden overgelaten.
Oracle vindt het segment.
-
Oracle vraagt dat segment als er ruimte is.
-
Het segment retourneert een blok dat niet vol is.
-
De rij- of indexingang wordt aan dat blok toegevoegd.
-
Oracle-blokken hebben ook een fysieke tegenhanger, net als de gegevensbestanden. Oracle-blokken bestaan uit OS-blokken. Dit is de opgemaakte grootte van de minimale opslageenheid op het apparaat.