Huis Persoonlijke financiën Basis van de databasebuffercache in Oracle 12c - dummies

Basis van de databasebuffercache in Oracle 12c - dummies

Inhoudsopgave:

Video: Buffer Cache 2024

Video: Buffer Cache 2024
Anonim

Oracle 12c databasebuffercache bevatten, is meestal het grootste gedeelte van de SGA. Het heeft gegevens die afkomstig zijn van de bestanden op schijf. Omdat toegang tot gegevens vanaf schijf langzamer is dan uit geheugen, is het enige doel van de databasebuffercache om de gegevens in het geheugen in de cache op te slaan voor snellere toegang.

De databasebuffercache kan gegevens van alle soorten objecten bevatten:

  • Tafels

  • Indexen

  • Gematerialiseerde weergaven

  • Systeemgegevens

In de zin databasebuffercache, verwijst de term buffer naar databaseblokken. Een databaseblok is de minimale hoeveelheid opslag die Oracle leest of schrijft. Alle opslagsegmenten die gegevens bevatten, bestaan ​​uit blokken. Wanneer u gegevens van de schijf opvraagt, leest Oracle minimaal één blok.

Zelfs als u slechts één rij aanvraagt, worden waarschijnlijk veel rijen in dezelfde tabel opgehaald. Hetzelfde geldt als u één kolom in één rij aanvraagt. Oracle leest het hele blok, dat waarschijnlijk veel rijen heeft, en alle kolommen voor die rij.

Het is denkbaar dat als de tabel met afdelingen slechts tien rijen bevat, het hele item in het geheugen kan worden gelezen, zelfs als u de naam van slechts één afdeling aanvraagt.

Buffercachestatus in Oracle 12c

De

Een blok in de buffer cache kan in een van de drie toestanden zijn:

  • Gratis: Wordt momenteel niet gebruikt voor iets

  • Vastgezet: Wordt momenteel geopend > Vuil:

  • Blok is gewijzigd maar nog niet naar schijf geschreven Gratis blokken

Idealiter zijn gratis blokken beschikbaar wanneer u ze nodig hebt. Dat is waarschijnlijk niet het geval, tenzij je database zo klein is dat het hele ding in het geheugen kan passen.

Het LRU-algoritme werkt in de buffercache iets anders dan in de gedeelde pool. Het scoort elk blok en vervolgens tijden hoe lang het is geweest sinds het werd geopend. Een blok krijgt bijvoorbeeld een punt telkens wanneer het wordt aangeraakt.

Hoe hoger de punten, hoe kleiner de kans dat het blok uit het geheugen wordt verwijderd. Het moet echter vaak worden bekeken of de score neemt af. Een blok moet hard werken om in het geheugen te blijven als de concurrentie om geheugenbronnen hoog is.

Door elk blok een score en een tijd te geven, voorkomt u dat dit soort situaties zich voordoen: aan het eind van de maand wordt aan een blok zwaar geraadpleegd voor rapporten.De score is hoger dan bij elk ander blok in het systeem. Dat blok is nooit meer toegankelijk.

Het bevat daar geheugenverlies totdat de database opnieuw is opgestart of een ander blok uiteindelijk genoeg punten scoort om het te verslaan. Het tijdsonderdeel veroudert het erg snel nadat u het niet langer gebruikt.

Vastgezette blokken

Een blok dat momenteel wordt geopend, is een

vastgezet blok. Het blok is vergrendeld (of vastgezet) in de buffercache, zodat het niet uit de buffercache kan verouderen terwijl het Oracle-proces (dat vaak een gebruiker vertegenwoordigt) het opent. Vuile blokken

Een gewijzigd blok is een

vuile blok. Om ervoor te zorgen dat uw wijzigingen in database-uitschakelingen worden bijgehouden, moeten deze vuile blokken worden geschreven vanuit de buffercache naar schijf. De database geeft vuile blokken in een vuile lijst of een schrijfwachtrij. Je zou denken dat elke keer dat een blok wordt gewijzigd, het naar de schijf moet worden geschreven om verloren gegevens te minimaliseren. Dit is niet het geval - zelfs niet als er een

commit is (wanneer u uw wijzigingen permanent opslaat)! Verschillende structuren helpen verloren gegevens te voorkomen. Bovendien heeft Oracle een gokprobleem. De systeemprestaties worden gecrawld als u blokken voor elke wijziging op schijf hebt geschreven. Om dit te bestrijden speelt Oracle de kansen dat de database waarschijnlijk niet zal falen en blokken naar schijf alleen in grotere groepen schrijft.

Maak je geen zorgen; het is niet eens een risico tegen verloren gegevens. Oracle haalt momenteel de prestaties uit de database

met de mogelijke kosten van een herstel dat later duurt. Omdat storingen op goed beheerde systemen zelden voorkomen, is dit een goedkope manier om prestaties te behalen. Het is echter niet zo dat Oracle overal vuile blokken laat liggen zonder zichzelf op te ruimen. Blokschrijftriggers in Oracle 12c

Wat triggert een blokschrijf en daarom een ​​vies blok?

De database krijgt een opdracht shutdown.

  • Een volledig of gedeeltelijk controlepunt treedt op - dat is het moment waarop het systeem alle vuile buffers periodiek op schijf dumpt.

  • Er is aan een door u ingestelde hersteltijddrempel voldaan; het totale aantal vuile blokken veroorzaakt een onacceptabele hersteltijd.

  • Een gratis blok is nodig en er is geen blok gevonden na een bepaalde hoeveelheid zoeken.

  • Bepaalde DDL-opdrachten (Data Definition Language). (DDL-opdrachten zijn SQL-instructies die objecten in een database definiëren.)

  • Elke drie seconden.

  • Andere redenen. Het algoritme is complex en u kunt niet zeker zijn van alle wijzigingen die optreden bij elke softwareversie.

  • Het is een feit dat de database behoorlijk druk blijft om blokken te schrijven in een omgeving waar er veel veranderingen zijn.

Basis van de databasebuffercache in Oracle 12c - dummies

Bewerkers keuze

Een Oracle-omgeving instellen - dummies

Een Oracle-omgeving instellen - dummies

Als u een typische PL / SQL-omgeving wilt instellen, hebt u de volgende componenten: Databaseserver: dit is een computer (of een reeks computers) die de Oracle-database uitvoert. Oracle werkt in veel populaire computeromgevingen. De meest gebruikte met Oracle zijn UNIX, Linux of een versie van Microsoft Windows. PL / SQL wordt meestal uitgevoerd ...

SQL-rijwaarden en -waarden - dummies

SQL-rijwaarden en -waarden - dummies

De waarden die worden bewaard in de cellen die de snijpunten van de SQL-database vormen De rijen en kolommen van de tabel zijn de grondstoffen waaruit u zinvolle relaties en trends kunt afleiden. Rijwaarden De meest zichtbare waarden in een database zijn tabelrijwaarden. Dit zijn de waarden die elke rij van een databasetabel ...

SQL eerste, tweede en derde normale vormen - dummies

SQL eerste, tweede en derde normale vormen - dummies

Er zijn drie bronnen van wijzigingsanomalieën in SQL Deze worden gedefinieerd als eerste, tweede en derde normale vormen (1NF, 2NF, 3NF). Deze normale vormen fungeren als remedies voor het wijzigen van anomalieën. Eerste normale vorm Om in de eerste normale vorm (1NF) te zijn, moet een tabel de volgende eigenschappen hebben: De tabel is tweedimensionaal met rijen en ...

Bewerkers keuze

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een veel voorkomende misvatting is dat wanneer de kinderen van een stel vertrekken thuis, zullen pappa en mama het syndroom van empty-nest ontwikkelen. Ja, ze hebben misschien een leeg nest, maar voor sommige paren bloeit hun liefdesleven in deze periode van hun leven. De slachtoffers van het syndroom zijn de paren waarvan de relatie uit elkaar valt als zij de enige ...

STD's: wat u moet weten over herpes - dummies

STD's: wat u moet weten over herpes - dummies

Herpes, veroorzaakt door het herpes simplex-virus (HSV) ), is een ongeneeslijke SOA. Herpes heeft eigenlijk twee vormen: herpes simplex-type 1 (HSV-1) en herpes simplex-type 2 (HSV-2). HSV-1 wordt meestal geassocieerd met koortsblaasjes en koortsblaren boven de taille. "Ongeveer 80 procent van de Amerikaanse volwassenen heeft orale herpes. Ongeveer 25 procent van ...

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Een van de grootste vragen voor tieners is niet "Zou ik seks moeten hebben? "Maar" Hoe ver moet ik gaan? "Terwijl het eigen comfortniveau en dat van de partner de topprioriteit zou moeten zijn in deze beslissing, spelen andere factoren een rol, vooral als tieners dat amorfe concept van" het derde honk overwegen. "" Derde basis "...

Bewerkers keuze

Tien voorwaarden American Football Announcers Gebruik - dummies

Tien voorwaarden American Football Announcers Gebruik - dummies

Een van de moeilijkste en meest intimiderende onderdelen over het volgen van een Amerikaans voetbalwedstrijd is dat de presentatoren soms een vreemde taal lijken te spreken die alleen bekend is bij echte voetballiefhebbers. Maar als je een aantal belangrijke termen onthoudt, ben je ver voor op het spel. Hier zijn enkele voetbaltermen die je misschien hoort, ...

Het begin van een voetbalspel: The Kickoff - dummies

Het begin van een voetbalspel: The Kickoff - dummies

Voor Amerikaanse voetbalfans, de openingsaftrap is een opwindende start voor elke game. Ze zien de tweezijdige sensatie van het ene team dat probeert het andere te blokkeren en helpt de herhaler om door en voorbij 11 snelladers van het trapende team te rennen. (Wel, maak die tien spelers.De kicker staat meestal rond de 50-yard-lijn, ...

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Elk kind in uw team is anders zoveel manieren. Sommigen zijn begaafde hardlopers, anderen kunnen duizelingwekkende vangsten maken en wat moeite om simpelweg de basistechnieken van het spel te vatten. Ongeacht de sterke en zwakke punten van de kinderen, die overal op de kaart staan, hebben jongeren algemene kenmerken die worden beïnvloed ...