Grundlæggende om den fælles pool i Oracle 12c

Visse objekter og apparater i Oracle 12c anvendes hyppigt. Derfor giver det mening at have dem klar, hver gang du ønsker at gøre en operation. Desuden er data i den fælles pool aldrig skrevet til disk.

Den fælles pool selv består af fire hovedområder:

  • Bibliotek cache
  • Ordbog cache
  • Server Resultat cache
  • Reserveret Pool

En cache er en midlertidig område i hukommelsen skabt til en hurtig hente oplysninger, som ellers ville tage længere tid at hente. For eksempel caches nævnt i det foregående liste indeholder precomputed information. I stedet for en bruger at skulle beregne værdier hver gang, kan brugeren få adgang til oplysningerne i en cache.

Biblioteket cache i Oracle 12c

Biblioteket cache er ligesom hvad det hedder: et bibliotek. Mere specifikt er det et bibliotek af klar-til-go SQL-sætninger.

Hver gang du udfører en SQL-sætning, der sker en masse i baggrunden. Denne baggrund aktivitet kaldes parsing. Parsing kan være ganske dyrt i form af regnekraft.

Under parsing, nogle af disse ting ske:

  • Opgørelsen syntaks kontrolleres for at sikre, at du har skrevet alt korrekt.
  • Objekterne du refererer til er markeret. For eksempel, hvis du forsøger at få adgang til en tabel kaldet MEDARBEJDER, Oracle sørger den findes i databasen.
  • Oracle sørger for, at du har tilladelse til at gøre, hvad du forsøger at gøre.
  • Koden omdannes til en database-ready format. Formatet kaldes byte-kode eller p-kode.
  • Oracle bestemmer den optimale sti eller planen. Dette er langt den dyreste del.

Hver gang du udfører en erklæring er oplysningerne opbevaret i biblioteket cache. På den måde, næste gang du udføre sætningen ikke meget har at forekomme (såsom kontrol tilladelser).

Ordbogen cache i Oracle 12c

Ordbogen cache også ofte til parsing når du udfører SQL. Du kan tænke på det som en samling af oplysninger om dig og databasens objekter. Det kan kontrollere baggrund type information.

Ordbogen cache også underlagt reglerne i mindst nyligt brugt (LRU) algoritme: Hvis det ikke er den rigtige størrelse, kan oplysninger blive sat på gaden. Ikke at have nok plads til ordbogen cache kan påvirke diskforbrug.

Fordi definitionerne af genstande og tilladelse baserede oplysninger lagres i databasefiler, Oracle har at læse diske at genindlæse disse oplysninger i ordbogen cache. Dette er mere tidskrævende end at få det fra hukommelsen cache. Forestil dig et system med tusindvis af brugere konstant fuldbyrdende SQL. . . en forkert størrelse ordbog cache virkelig kan hæmme ydeevne.

Ligesom biblioteket cache, kan du ikke kontrollere størrelsen af ​​ordbogen cache direkte. Da de overordnede fælles pool ændringer i størrelse, det gør ordbogen cache.

Serveren resultat cache i Oracle 12c

Serveren resultat cache har to dele:

  • SQL resultat cache: Denne cache lader Oracle se, at de ønskede data - anmodet af en nyligt henrettet SQL-sætning - kan være gemt i hukommelsen. Denne situation lader Oracle springe udførelsen del af, er, udførelse, i mangel af et bedre udtryk, og gå direkte til det resultat indstillet, hvis den findes.

    SQL Resultatet cache fungerer bedst på relativt statiske data (ligesom beskrivelsen af ​​et punkt på en e-handel site).

    Skulle du bekymre dig om resultatet cache returnere ukorrekte data? Overhovedet ikke. Oracle gør automatisk lagret i resultatet cache, hvis nogen af ​​de underliggende komponenter ændres.

  • PL / SQL-funktion resultat cache: PL / SQL-funktion resultat cache gemmer resultaterne af en beregning. For eksempel sige, at du har en funktion, som beregner værdien af ​​dollaren er baseret på kursen på euroen. Du kan ikke ønsker at gemme den aktuelle værdi, da det ændrer sig hele tiden.

    I stedet har du en funktion, der opfordrer en daglig eller timeløn til at bestemme værdien af ​​dollaren. I et økonomisk program, kan denne indkaldelse ske tusindvis af gange i timen. Derfor, i stedet for den funktion udfører, det går direkte til PL / SQL resultat cache for at få data mellem den sats opdateringer. Hvis hastigheden ændrer sig, Oracle igen udfører den funktion og opdaterer resultatet cache.

Den reserverede pool i Oracle 12c

Når Oracle har brug for at afsætte en stor del (over 5 KB) af sammenhængende hukommelse i den fælles pool, allokerer hukommelsen i den reserverede pulje. Afsætte den reserverede pulje til at håndtere store hukommelse tildelinger forbedrer ydeevnen og reducerer hukommelse fragementation.

Mindst nyligt brugt algoritme i Oracle 12c

Hvis biblioteket cache er kort på plads, er objekter smidt ud. Udsagn, der bruges mest bo i biblioteket cache længst. Jo oftere de er vant, jo mindre chance har de for at blive sat på gaden, hvis biblioteket cache er kort på plads.

Biblioteket cache bortvisning proces er baseret på det, der kaldes den mindst nyligt brugt (LRU) algoritme. Hvis dit skrivebord er rodet, hvad gør du lægge væk først? De ting, du bruger mindst.

Du kan ikke ændre størrelsen af ​​biblioteket cache selv. Den fælles pool samlede størrelse afgør det. Hvis du tror, ​​for mange udsagn bliver smidt, kan du øge den samlede fælles pool størrelse, hvis du tuning det selv. Hvis du lader Oracle gøre tuning, det griber frigøre hukommelse fra andre steder.


© 2019 Zajacperrone.com | Contact us: webmaster# zajacperrone.com