Grunnleggende i felles svømmebasseng i Oracle 12c

April 28  by Eliza

Visse gjenstander og enheter i Oracle 12c er hyppig brukt. Derfor er det fornuftig å ha dem klar hver gang du ønsker å gjøre en operasjon. Videre er data i den felles svømmebasseng aldri skrevet til disk.

Den felles svømmebasseng i seg selv består av fire hovedområder:

  • Bibliotek cache
  • Ordbok cache
  • Server Resultat cache
  • Reservert Pool

En hurtigbuffer er et midlertidig område i minnet skapt for en rask hente av informasjon som ellers kan ta lengre tid å hente. For eksempel, cacher som er nevnt i foregående liste inneholde precomputed informasjon. I stedet for en bruker å beregne verdier hver gang, kan brukeren få tilgang til informasjonen i et buffer.

Biblioteket cache i Oracle 12c

Biblioteket cache er akkurat som hva det heter: et bibliotek. Mer spesifikt er det et bibliotek av klar-til-go SQL-setninger.

Hver gang du utfører en SQL-setning, skjer mye i bakgrunnen. Denne bakgrunnen aktivitet kalles parsing. Parsing kan være ganske dyrt i form av prosessorkraft.

Under parsing, noen av disse ting skje:

  • Uttalelsen syntaks blir sjekket for å sikre at du skrev alt riktig.
  • Objektene du henviser til blir sjekket. For eksempel, hvis du prøver å få tilgang til en tabell kalt ANSATT, gjør Oracle sikker på at det finnes i databasen.
  • Oracle sørger for at du har tillatelse til å gjøre hva du prøver å gjøre.
  • Koden blir omdannet til en database-klar-format. Formatet kalles byte-kode eller p-kode.
  • Oracle bestemmer optimal bane eller plan. Dette er uten tvil den dyreste delen.

Hver gang du utfører en uttalelse, er informasjonen lagret i biblioteket cache. På den måten neste gang du utføre setningen har ikke mye å oppstå (for eksempel sjekke tillatelser).

Ordboken cache i Oracle 12c

Ordboken cache er også ofte brukt for parsing når du utfører SQL. Du kan tenke på det som en samling av informasjon om deg og databasens stedene. Det kan sjekke bakgrunnen-type informasjon.

Ordboken cache er også underlagt reglene i Least Recently Used (LRU) algoritme: Hvis det ikke er riktig størrelse, kan informasjonen bli kastet ut. Ikke å ha nok plass til ordlisten cache kan påvirke diskbruk.

Fordi definisjonene av gjenstander og tillatelse basert informasjon blir lagret i databasefiler, har Oracle å lese disker for å laste denne informasjonen inn i ordlisten cache. Dette er mer tidkrevende enn å få den fra minnet. Tenk deg et system med tusenvis av brukere stadig utfører SQL. . . en feil sized ordbok cache kan virkelig hemme ytelsen.

Som biblioteket cache, kan du ikke kontrollere størrelsen på ordlisten cache direkte. Som den samlede felles pool endringer i størrelse, så gjør ordlisten cache.

Serveren resultat cache i Oracle 12c

Serveren resultat cache består av to deler:

  • SQL resultat cache: Denne cache lar Oracle se at den forespurte data - spurt av en nylig utført SQL-setning - kan være lagret i minnet. Denne situasjonen kan Oracle hoppe over henrettelsen del av, eh, gjennomføring, i mangel av et bedre ord, og gå direkte til resultatsettet hvis den finnes.

    SQL resultat cache fungerer best på relativt statiske data (som beskrivelsen av et element på en e-handel).

    Bør du bekymre deg for resultatet cache returnere feil data? Ikke i det hele tatt. Oracle automatisk ugyldig data som er lagret i resultatet cache hvis noen av de underliggende komponentene er endret.

  • PL / SQL-funksjon resultat cache: De PL / SQL-funksjon resultat buffer oppbevarer resultatene av en beregning. For eksempel si at du har en funksjon som beregner verdien av dollaren basert på valutakursen for Euro. Du kanskje ikke ønsker å lagre den faktiske verdi siden den endres hele tiden.

    I stedet har du en funksjon som kaller på en daglig eller timepris for å fastslå verdien av dollaren. I et økonomisk program, kan denne samtalen skje tusenvis av ganger i timen. Derfor, i stedet for den funksjon som kjører, går det direkte til PL / SQL resultat cache for å få data mellom oppdateringene rente. Hvis prisen ikke endres, Oracle, kjøres funksjon og oppdaterer resultatet cache.

Det reserverte basseng i Oracle 12c

Når Oracle skal fordele en stor del (over 5 KB) av sammenhengende minne i den felles svømmebasseng, tildeler det minnet i den reserverte bassenget. Dedikere den reserverte bassenget for å håndtere store minnetildelinger forbedrer ytelsen og reduserer minne fragementation.

Minst nylig brukt algoritme i Oracle 12c

Hvis biblioteket cache er kort på plass, er gjenstander kastet ut. Setninger som brukes mest bo i biblioteket cache lengst. Jo oftere de er brukt, jo mindre sjanse har de for å bli kastet ut dersom biblioteket cache er kort på plass.

Biblioteket cache utkastelse prosessen er basert på det som kalles Least Recently Used (LRU) algoritme. Hvis skrivebordet er rotete, hva legger du bort først? De tingene du bruker minst.

Du kan ikke endre størrelsen på biblioteket cache selv. Den felles svømmebasseng samlede størrelse avgjør det. Hvis du tror for mange uttalelser blir kastet ut, kan du øke den samlede felles svømmebasseng størrelse hvis du er tuning det selv. Hvis du lar Oracle gjør tuning, griper det ledig minne fra andre steder.