Hem Personliga finanser Grunderna i databasbuffertcache i Oracle 12c - dummies

Grunderna i databasbuffertcache i Oracle 12c - dummies

Innehållsförteckning:

Video: Grunderna i Företagsekonomi 2024

Video: Grunderna i Företagsekonomi 2024
Anonim

Oracle 12cs databasbuffertcache är typiskt den största delen av SGA. Den har data som kommer från filerna på disken. Eftersom tillgången till data från disken är långsammare än från minnet är databasbuffertens cache enbart avsikt att cache data i minnet för snabbare åtkomst.

Databasbuffertbufferten kan innehålla data från alla typer av objekt:

  • Tabeller

  • Indexer

  • Materialiserade vyer

  • Systemdata

I frasen databasbuffertcache avser termen buffert databasblock. Ett databasblock är den minsta mängd lagring som Oracle läser eller skriver. Alla lagringssegment som innehåller data består av block. När du begär data från en skiva läser Oracle minst ett block vid lägsta Oracle.

Även om du bara begär en rad, kommer många rader i samma tabell troligen att hämtas. Detsamma gäller om du begär en kolumn i en rad. Oracle läser hela blocket, som sannolikt har många rader och alla kolumner för den raden.

Det är möjligt att tänka på att om din avdelningstabell bara har tio rader, kan hela saken läsas i minnet även om du bara begär en avdelningens namn.

Buffertcache-status i Oracle 12c

Buffertcache styr vilka block som stannar beroende på tillgängligt utrymme och blockstatus (liknande hur den delade poolen bestämmer vad SQL ska stanna). Buffertcachen använder sin egen version av LRU-algoritmen.

Ett block i buffertcachen kan vara i en av tre tillstånd:

Gratis:

  • Används för närvarande inte för något Pinned:

  • Aktuellt nås > Dirty: Block har ändrats men ännu inte skrivits till disk

  • Gratis block Idealiskt finns gratis block när du behöver dem. Men det är förmodligen inte fallet om inte din databas är så liten att det hela kan passa i minnet.

LRU-algoritmen fungerar lite annorlunda i buffertcachen än vad den gör i den delade poolen. Det poäng varje block och sedan gånger hur länge det har varit sedan det var tillgängligt. Ett block får till exempel en punkt varje gång den berörs.

Ju högre poäng, desto mindre sannolikt kommer blocket att spolas från minnet. Det måste dock nås ofta eller poängen minskar. Ett block måste arbeta hårt för att hålla sig i minnet om konkurrensen om minnesresurser är hög.

Ge varje block ett poäng och tid förhindrar att denna typ av situation uppstår: Ett block öppnas kraftigt i slutet av månaden för rapporter.Dess poäng är högre än något annat block i systemet. Det blocket är aldrig tillgängligt igen.

Det sitter där slösa minnet tills databasen startas om eller ett annat block äntligen gör tillräckligt med poäng för att slå ut det. Tidskomponenten ökar det mycket snabbt efter att du inte längre har tillgång till den.

Pinned blocks

Ett block som för närvarande är tillgängligt är ett

pinnat block.

Blokken är låst (eller fastspänd) i buffertcachen så att den inte kan åldras ur buffertens cache medan Oracle-processen (som ofta representerar en användare) åtkomst till den. Smutsiga block Ett modifierat block är ett

smutsigt block.

För att se till att dina ändringar hålls över databasavstängningar måste dessa smutsiga block skrivas från buffertens cache till disken. Databasen heter smutsiga block i en smutsig lista eller skrivkö. Du kanske tror att varje gång ett block ändras, ska det skrivas till disk för att minimera borttagna data. Detta är inte fallet - inte ens när det finns en commit

(när du sparar dina ändringar permanent)! Flera strukturer hjälper till att förhindra borttagna data. Dessutom har Oracle ett spelproblem. Systemprestanda skulle krypa om du skrev block till disk för varje modifikation. För att bekämpa detta spelar Oracle oddsen att databasen sannolikt inte kommer att misslyckas och skriver block till disk bara i större grupper. Oroa dig inte; det är inte ens en risk för borttagna data. Oracle hämtar prestanda från databasen

just nu

till en eventuell återhämtning som tar längre tid senare. Eftersom fel på ordentligt hanterade system sällan uppstår är det ett billigt sätt att få lite prestanda. Det är emellertid inte som om Oracle lämnar smutsiga block överallt utan att rengöra sig efter sig själv. Blockera skrivutlösare i Oracle 12c Vad triggar en blockskrivning och därmed ett smutsigt block?

Databasen utges avstängningskommando.

En fullständig eller partiell kontrollpunkt uppstår - det är då systemet periodiskt dumper alla smutsiga buffertar till disken.

  • En tröskel för återställningstiden, som ställts in av dig, är uppfylld; Det totala antalet smutsiga block ger en oacceptabel återhämtningstid.

  • Ett gratis block behövs och ingen finns efter en viss sökning.

  • Vissa kommandon för datadefinitionsspråket (DDL). (DDL-kommandon är SQL-satser som definierar objekt i en databas.)

  • Var tredje sekund.

  • Övriga skäl. Algoritmen är komplex, och du kan inte vara säker med alla de förändringar som uppstår med varje programversion.

  • Faktum är att databasen blir ganska upptagen skrivblock i en miljö där det finns många förändringar.

Grunderna i databasbuffertcache i Oracle 12c - dummies

Redaktörens val

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Du har två alternativ för att ta bort en webbdel från din SharePoint-sida - stängning eller radering. Att stänga en webbdel lämnar webbdelen på sidan så att du kan aktivera den igen för framtida användning. Att ta bort webbdelen tar bort webbdelen från din sida (men tar inte bort den från SharePoint). Till ...

För att ladda ner Apps från SharePoint Store - dummies

För att ladda ner Apps från SharePoint Store - dummies

Förutom de appar som följer med SharePoint, Du kan också lägga till appar från tredje part. Dessa tredjepartsprogram visas i SharePoint-butiken. Om du använder SharePoint Online har du tillgång till hela butiken. Om du använder SharePoint On-Premise kan dina lokala IT-administratörer ha låst ned de appar som ...

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Du vill visa din SharePoint appdata med annan text och webbdelar på flera platser, till exempel hemsidor för hemsida, webbsidor eller publiceringssidor. I dessa situationer vill du inte att dina användare ska interagera med själva appen med alla redigeringsalternativ. Du vill bara att de ska se flera ...

Redaktörens val

Vad är Kik? - dummies

Vad är Kik? - dummies

Grundades 2009, är Kik en gratis snabbmeddelandeprogram utvecklad från Kik Interactive. Kik är tillgängligt på Android, Windows Phone och iOS-enheter. Applikationen är modellerad efter BlackBerry Messenger. Kik använder den befintliga smarttelefonens dataplan eller Wi-Fi för att skicka och ta emot meddelanden, videoklipp, foton, mobila webbsidor, skisser och annat innehåll. ...

ÖVersätt Twitter Slang och Jargon - dummies

ÖVersätt Twitter Slang och Jargon - dummies

Diskussioner om och om Twitter är fulla med alla slags förkortningar och jargong som kan förvirra nya Twitter-användare. Vad talar folk om (och tweeting) om? Följande ordlista definierar några av de förvirrande förkortningarna och Twitter-lingo du kan komma över. AFAIK: Så vitt jag vet. bot: Ett konto som drivs av en ...

Vad är Letgo? - dummies

Vad är Letgo? - dummies

Letgo är en mobil klassificerad applikation som tillåter användare att köpa från och sälja till andra lokalt. Du kan använda Letgo till fyndbutik eller slutligen släppa på saker som samlar damm runt ditt hus. I likhet med andra classifieds-applikationer som Wallapop eller Craigslist kommer säljare att skicka ett objekt och vänta på en köpare ...

Redaktörens val

Vanliga kodningsfel - dummies

Vanliga kodningsfel - dummies

Koden fungerar inte? Här är några vanliga misstag som kan gå upp till och med även den mest erfarna kodaren. Om din kod inte kommer att köras, försök att springa ned den här checklistan för att se om du har några av dessa fel: Har inte en slutlig HTML-tagg efter varje öppnande HTML-tagg . Saknade parentes i ...

Grundläggande kodningsordförråd - dummies

Grundläggande kodningsordförråd - dummies

Kodning har ett omfattande vokabulär som för lekmän kan verka som ogenomtränglig technobabble. Oavsett om du läser kodningsrelaterad artikel online eller pratar med en utvecklare på jobbet hörs det kanske ord som du inte har hört förut eller som har en annan mening i en kodande kontext. Här är några vanliga ordförrådsord att veta: Allmänt ...