Memory Architecture

Memory Architecture8 Memory Architecture

Oracle Database geheugen gebruikt om informatie op te slaan, zoals de volgende:

Informatie over een aangesloten sessie, ook al is het momenteel niet actief

Informatie nodig terwijl het programma (bijvoorbeeld de stand van een vraag van welke rijen werden opgehaald)

Informatie die wordt gedeeld en gecommuniceerd tussen Oracle Database processen (bijvoorbeeld locking informatie)

In cache gegevens (bijvoorbeeld gegevens blokken en redo log entries) die ook permanent op opslagapparaten wordt opgeslagen

Basic Memory Structures

De basis geheugenstructuren geassocieerd met Oracle Database omvatten:

Softwarecode gebieden

Software code gebieden zijn delen van het geheugen wordt gebruikt om code die wordt uitgevoerd of kan worden uitgevoerd op te slaan. Oracle Database code wordt opgeslagen in een software omgeving die typisch op een andere plaats dan programma gebruikersrechten—een meer exclusieve of beschermde locatie.

Systeem wereldwijde omgeving (SGA)

De SGA is een groep gedeeld geheugen structuren, bekend als SGA componenten. die data bevatten en controle-informatie voor een Oracle database-instantie. De SGA wordt gedeeld door alle servers en processen op de achtergrond. Voorbeelden van gegevens die zijn opgeslagen in de SGA zijn onder andere het cachegeheugen datablokken en gedeelde SQL gebieden.

Programma wereldwijde omgeving (PGA)

Een PGA is een geheugen gebied dat gegevens bevat en controle-informatie voor een server proces. Het is niet-gedeelde geheugen door Oracle Database wanneer een server wordt gestart. Toegang tot PGA is exclusief voor het serverproces. Er is een PGA per serverproces. Achtergrond processen ook hun eigen PGA’s toe te wijzen. Het totale geheugen dat door alle individuele PGA is bekend als de totale bijvoorbeeld PGA geheugen. en het verzamelen van individuele PGA wordt aangeduid als de totale instantie PGA. of gewoon instantie PGA. U gegevensbank initialisatie parameters om de grootte van de instantie PGA, PGA niet individueel ingesteld.

Figuur 8-1 illustreert de relatie tussen deze geheugenstructuren.

Afbeelding 8-1 Oracle Database Memory Structures

Overzicht van de System Global Area

De System Global Area (SGA) en de set van de database processen vormen een Oracle Database instantie. Oracle Database wijst automatisch geheugen voor een SGA wanneer u een exemplaar te starten en het besturingssysteem terugvorderen van het geheugen bij het afsluiten van de instantie. Elke instantie heeft zijn eigen SGA.

De SGA is lezen / schrijven. Alle database achtergrondprocessen en al server processen die voor rekening van de gebruikers kunnen informatie in SGA de instantie te lezen, en een aantal processen schrijven naar de SGA tijdens databasebewerking.

Een deel van de SGA bevat algemene informatie over de toestand van de database en de instantie die de processen op de achtergrond nodig om toegang te krijgen. Dit is het vaste SGA genoemd. Geen gebruikersgegevens wordt hier opgeslagen. De SGA bevat ook informatie tussen processen, zoals het blokkeren van informatie gecommuniceerd.

Als het systeem maakt gebruik van gedeelde server architectuur, dan is het verzoek en de reactie wachtrijen en enkele inhoud van de PGA in de SGA.

Zoals getoond in figuur 8.1. de SGA bestaat uit een aantal geheugencomponenten. die pools van het geheugen zijn gebruikt een bepaalde klasse van geheugentoewijzing verzoeken te voldoen.

De belangrijkste SGA componenten zijn de volgende:

"Inleiding tot een Oracle aanleg" Voor meer informatie over een Oracle-database-instance

Database Buffer Cache

De database buffer cache is het gedeelte van de SGA dat kopieën van datablokken te lezen van datafiles houdt. Alle gebruikers gelijktijdig verbonden met het exemplaar aandeel toegang tot de database buffer cache.

Dit gedeelte bevat de volgende onderwerpen:

Organisatie van de Database Buffer Cache

De buffers in de cache worden georganiseerd in twee lijsten: het schrijven lijst en de minst recent gebruikte (LRU) lijst. De write lijst houdt vuile buffers, welke gegevens dat is gewijzigd, maar nog niet is geschreven naar de schijf bevatten. De hoofdspoorwegonderneming lijst bevat gratis buffers, gespeld buffers, en vuile buffers die nog niet zijn verplaatst naar de write lijst. Buffers geen nuttige gegevens bevatten en zijn beschikbaar voor gebruik. Speldde buffers worden momenteel benaderd.

Wanneer een Oracle Database proces toegang tot een buffer, gaat het proces de buffer naar de meest recent gebruikte (MRU) einde van de lijst LRU. Naarmate er meer buffers voortdurend verplaatst naar het MRU-einde van de LRU lijst, vuile buffers leeftijd naar het LRU einde van de lijst LRU.

Het eerst een Oracle Database gebruikersproces vereist specifieke gegevens, zoekt de gegevens in de database buffer cache. Als het proces de gegevens vindt reeds in de cache (een cache hit), kan de data direct uit het geheugen gelezen. Als het proces de gegevens in de cache (a cache miss) kan vinden, moet het datablok uit een gegevensbestand op schijf in een buffer in de cache voordat de toegang tot gegevens te kopiëren. Toegang krijgen tot gegevens via een cache hit is sneller dan toegang te krijgen via een cache miss.

Voordat het lezen van een data blok in de cache, moet het proces voor het eerst te vinden een gratis buffer. Het proces doorzoekt de LRU lijst, te beginnen bij de minst recent gebruikte einde van de lijst. Het proces zoekopdrachten ofwel totdat het vindt een gratis buffer of totdat zij de drempelwaarde van buffers heeft doorzocht.

Als de gebruiker proces vindt een vuile buffer als het doorzoekt de LRU lijst, het beweegt die buffer om het schrijven lijst en blijft zoeken. Wanneer de werkwijze een vrije buffer vindt, leest het datablok van de schijf in de buffer en beweegt de buffer naar de MRU-einde van de LRU lijst.

Als een Oracle Database gebruiker proces doorzoekt de drempelwaarde van buffers, zonder het vinden van een vrije buffer, het proces stopt met het zoeken van de LRU lijst en signaleert de DBW0 achtergrond proces om een ​​deel van de vuile buffers naar de schijf te schrijven.

"Database Writer Process (DBW n)" Voor meer informatie over DBW n processen

De LRU algoritme en de volledige tabel Scans

Wanneer de gebruiker proces is het uitvoeren van een volledige tabel te scannen, leest de blokken van de tafel in de buffers en zet ze op de LRU einde (in plaats van de MRU einde) van de lijst LRU. Dit komt omdat een volledig gescand tafel meestal slechts kort nodig is, zodat de blokken worden bewogen snel vaker reactie gebruikte blokken in de cache.

U kunt deze standaard gedrag van de blokken die betrokken zijn bij tabel scans op een tafel-by-tafel basis te controleren. Om aan te geven dat de blokken van de tafel zijn tijdens een volledige tabel scan aan het MRU-einde van de lijst te worden geplaatst, gebruik maken van de cache clausule bij het maken of wijzigen van een tafel of cluster. U kunt dit gedrag voor kleine lookup tabellen of grote statische historische tabellen opgeven om I / O op latere toegangen van de tafel te voorkomen.

Redo Log Buffer

De redo log buffer is een circulaire buffer in de SGA dat de informatie over wijzigingen in de database bevat. Deze informatie wordt opgeslagen in redo inzendingen. Opnieuw items bevatten de informatie die nodig is om te reconstrueren, of opnieuw, wijzigingen in de database in te voegen. BIJWERKEN. DELETE. CREATE. WIJZIGEN. of DROP operaties. Redo gegevens worden gebruikt voor database recovery, indien nodig.

Opnieuw items worden gekopieerd door Oracle Database processen uit het geheugen van de gebruiker ruimte om de redo log buffer in de SGA. De redo inzendingen nemen continue, sequentiële ruimte in de buffer. Het achtergrondproces LGWR schrijft de redo log buffer om de actieve redo log bestand (of groep bestanden) op de schijf.

"Log Writer Process (LGWR)" Voor meer informatie over hoe de redo log buffer is geschreven naar de schijf

Gedeeld zwembad

Het zwembad gedeelte van de SGA bevat de bibliotheek cache, het woordenboek cache, het resultaat cache, buffers voor het parallel uitvoeren van berichten, en controle structuren.

Dit gedeelte bevat de volgende onderwerpen:

bibliotheek Cache

De bibliotheek cache omvat de gedeelde SQL, privémailinglijsen SQL gebieden (bij een gedeelde server configuratie), PL / SQL procedures en pakketten en controlestructuren zoals sloten en library cache handgrepen.

Gedeelde SQL ruimtes zijn toegankelijk voor alle gebruikers, zodat de bibliotheek cache is opgenomen in het zwembad binnen de SGA.

Shared SQL Gebieden en privé SQL Areas

Oracle Database vertegenwoordigt elke SQL-instructie loopt met een gedeelde SQL en een eigen SQL omgeving. Oracle Database herkent wanneer twee gebruikers uitvoeren van dezelfde SQL-instructie en hergebruikt de gedeelde SQL gebied voor deze gebruikers. Echter, moet elke gebruiker een apart exemplaar van private SQL gebied van de instructie te hebben.

Een gedeelde SQL gebied bevat de parse boom en uitvoeringsplan voor een bepaalde SQL-instructie. Oracle Database bespaart geheugen met behulp van een gedeelde SQL gebied voor SQL-instructies meerdere keren uitvoeren, wat vaak gebeurt als veel gebruikers dezelfde applicatie draaien.

Oracle Database wijst geheugen van het zwembad wanneer er een nieuwe SQL-instructie wordt ontleed, op te slaan in de gedeelde SQL omgeving. De grootte van dit geheugen is afhankelijk van de complexiteit van de instructie. Als de hele zwembad is al toegewezen, kan Oracle Database items van het zwembad met behulp van een gemodificeerde LRU (minst recent gebruikte) algoritme totdat er voldoende vrije ruimte voor gedeelde SQL gebied van de nieuwe verklaring van vrijgeven. Als Oracle Database deallocates een gedeelde SQL gebied, moet de bijbehorende SQL-instructie worden reparsed en toegewezen aan een andere gedeelde SQL gebied tijdens de volgende uitvoering.

PL / SQL Program Units en het Shared Pool

Oracle Database verwerkt PL / SQL programma units (procedures, functies, pakketten, anonieme blokken, en database triggers) op dezelfde manier verwerkt individuele SQL-statements. Oracle Database kent een gemeenschappelijke ruimte aan de ontleed, gecompileerde vorm van een programma-eenheid te houden. Oracle Database kent een eigen vlak voor waarden die specifiek zijn voor de sessie die de programmaeenheid, inclusief plaatselijke, globaal, en pakket variabelen (ook bekend als pakket concretisering) en buffers voor het uitvoeren van SQL loopt houden. Als er meer dan één gebruiker hetzelfde programma unit werkt, dan is een enkele, gemeenschappelijke ruimte wordt gebruikt door alle gebruikers, terwijl elke gebruiker een afzonderlijk exemplaar handhaaft van zijn of haar privé-SQL gebied, met waarden die specifiek zijn voor zijn of haar sessie.

Individuele SQL statements in een PL / SQL programmaeenheid worden verwerkt zoals beschreven in de vorige paragrafen. Ondanks hun oorsprong in een PL / SQL programma-eenheid, deze SQL-statements gebruik maken van een gemeenschappelijke ruimte om hun ontleed voorstellingen en een eigen ruimte voor elke sessie dat de verklaring loopt vast te houden.

Toewijzing en Hergebruik van geheugen in de Shared Pool

In het algemeen is een item (gedeelde SQL gebied of woordenboek rij) in het zwembad blijft totdat het wordt gespoeld volgens een gewijzigde LRU algoritme. Het geheugen voor items die niet wordt regelmatig gebruikt wordt vrijgemaakt als de ruimte nodig is voor nieuwe items die moeten worden toegewezen wat ruimte in het zwembad. Gemodificeerde LRU algoritme maakt zwembad items die worden gebruikt door vele sessies zolang ze nuttig in het geheugen blijven, zelfs als het proces dat het item oorspronkelijk eindigt. Hierdoor wordt de overhead en verwerking van SQL statements geassocieerd met meerdere gebruikers Oracle Database systeem geminimaliseerd.

Wanneer een SQL-instructie voor de uitvoering naar Oracle Database wordt ingediend, Oracle Database voert automatisch de volgende geheugentoewijzing stappen:

Oracle Database controleert het zwembad om te zien of een gedeelde SQL gebied reeds bestaat voor een identiek statement. Als dat zo is, is dat de gedeelde SQL gebied gebruikt voor de uitvoering van de daaropvolgende nieuwe exemplaren van de verklaring. Als alternatief, als er geen SQL gebied gedeeld om een ​​verklaring, Oracle Database wijst een nieuwe gedeelde SQL gebied in het zwembad. In beide gevallen is privé SQL gebied van de gebruiker van de gedeelde SQL gebied dat de instructie bevat.

Een gedeelde SQL gebied kan worden gespoeld uit het zwembad, zelfs als de gemeenschappelijke SQL correspondeert met een open cursor die niet is enige tijd toegepast. Als de open cursor vervolgens wordt gebruikt om haar verklaring draaien, Oracle Database reparses de verklaring, en een nieuwe gedeelde SQL gebied wordt in het zwembad toegewezen.

Oracle Database kent een eigen SQL gebied namens de sessie. De locatie van de private SQL is afhankelijk van de soort die voor de sessieverbinding.

Oracle Database spoelt ook een gemeenschappelijke SQL gebied van het zwembad in deze omstandigheden:

Wanneer de ANALYSE statement wordt gebruikt om bij te werken of de statistieken van een tabel, cluster, of de index te verwijderen, alle gedeelde SQL gebieden die statements verwijzen naar de geanalyseerde schema object bevatten, zijn gespoeld uit het zwembad. De volgende keer dat een gespoeld verklaring wordt uitgevoerd, wordt de verklaring ontleed in een nieuwe gedeelde SQL gebied om de nieuwe statistieken voor het schema object weer te geven.

Als een schema object wordt verwezen in een SQL-instructie en dat object wordt later gewijzigd op enigerlei wijze, wordt de gedeelde SQL gebied ongeldig (gemarkeerd ongeldig), en de verklaring moet worden reparsed de volgende keer dat het wordt uitgevoerd.

Als u globale naam van een database database wijzigt, wordt alle informatie gespoeld uit het zwembad.

"Shared SQL Gebieden en privé SQL Areas" Voor meer informatie over de locatie van de private SQL gebied

Hoofdstuk 6, "Schema Object Dependencies" voor meer informatie over de ongeldigverklaring van SQL-statements en de afhankelijkheid kwesties

Oracle Database SQL Taal Verzoek om informatie over het gebruik van ALTER SYSTEM FLUSH SHARED_POOL

Oracle Database Reference voor meer informatie over V $ SQL en V $ SQLAREA dynamische uitzicht

Woordenboek Cache

De data dictionary is een verzameling van de database tabellen en weergaven bevat referentie-informatie over de database, haar structuren, en zijn gebruikers. Oracle Database toegang tot de data dictionary frequent tijdens de SQL-instructie parsing. Deze toegang vereist over de verdere werking van Oracle Database.

De data dictionary is zo vaak benaderd door Oracle Database dat twee bijzondere locaties in het geheugen worden aangewezen om woordenboek data vast te houden. Een gebied heet de data dictionary cache. ook als de rij cache feit van haar gegevens rijen plaats van buffers (die hele blokken gegevens bevatten). Het andere gebied in het geheugen aan woordenboek data vast te houden is de bibliotheek cache. Alle Oracle Database gebruiker processen delen deze twee caches voor de toegang tot data dictionary informatie.

resultaat Cache

Het resultaat cache is samengesteld uit de SQL-query resultaat cache en PL / SQL-functie resultaat cache, die dezelfde infrastructuur delen.

Vergelijkbaar met dat cache opdrachtgever resultaat cache cache ook gevonden, behalve dat de cache wordt uitgevoerd op de client.

Oracle Database Reference voor meer informatie over dynamische prestaties ($ V) bekeken

Oracle Call Interface Programmer’s Guide voor meer informatie over de cliënt resultaat cache

SQL Query Resultaat Cache

De resultaten van vragen en vraag fragmenten kunnen worden opgeslagen in het geheugen in de SQL-query resultaat cache. De database kan dan gebruik maken van de cache resultaten aan toekomstige uitvoeringen van deze vragen en query-fragmenten te beantwoorden. Omdat het ophalen van de resultaten van de SQL-query resultaat cache is sneller dan afdraaien een query, vaak gerund queries ervaren een aanzienlijke verbetering prestaties wanneer de resultaten worden in de cache. Gebruikers kunnen een query of query fragment met een resultaat cache hint annoteren aan te geven dat de resultaten worden opgeslagen in de SQL zoekresultaat cache.

U kunt de RESULT_CACHE_MODE initialisatie parameter om te bepalen of de SQL-query resultaat cache wordt gebruikt voor alle vragen (indien mogelijk), of slechts voor zoekopdrachten die zijn geannoteerd.

De database ontkrachting een cachegeheugen resultaat wanneer een transactie wijzigt de gegevens of metagegevens van elke van de gegevensbestandvoorwerpen gewend cachegeheugen resultaat construeren.

Oracle Database Performance Tuning Guide voor informatie over de parameter RESULT_CACHE_MODE initialisatie

PL / SQL-functie Result Cache

Een PL / SQL-functie wordt soms gebruikt om het resultaat van een berekening waarvan de ingangen zijn één of meerdere parameters query afgegeven door de functie weer. In sommige gevallen zijn deze vragen toegang tot data (bijvoorbeeld de catalogus van bakkerswaren in een shopping applicatie) die zeer zelden wijzigingen ten opzichte van de frequentie van het aanroepen van de functie. Er kunnen syntax in de brontekst van een PL / SQL-functie te verzoeken de resultaten worden gecached en correctheid garanderen, dat de cache worden verwijderd wanneer geven een lijst van tafels ervaart DML. De opzoektabel sleutel voor de cache is de combinatie van feitelijke argumenten waarmee de functie wordt aangeroepen. Wanneer een bepaalde aanroeping van de-resultaat in de cache-functie is een cache hit, waarna de functie lichaam is niet uitgevoerd; In plaats daarvan wordt de cache waarde onmiddellijk terug.

Oracle Database PL / SQL Taal Reference voor meer informatie over de PL / SQL-functie resultaat cache

grote Pool

Sessie geheugen voor de gedeelde server en de Oracle XA-interface (gebruikt waarin transacties interactie met meer dan één database)

I / O-server processen

Oracle database back-up en restore-activiteiten

Door het toewijzen sessie geheugen van het grote zwembad voor gedeelde server, Oracle XA of parallel-query buffers, Oracle Database kunt het zwembad gebruik maken van de eerste plaats voor caching gedeelde SQL en te voorkomen dat de prestaties overhead veroorzaakt door het krimpen van de gedeelde SQL-cache.

Bovendien, het geheugen voor Oracle Database backup en restore operaties, voor I / O-server processen en voor parallelle buffers in buffers van enkele honderden kilobytes wordt toegewezen. Het grote zwembad is beter in staat om een ​​dergelijk groot geheugen verzoeken dan de gedeelde zwembad te voldoen.

Het grote zwembad heeft geen LRU lijst. Het is verschillend van gereserveerde ruimte in het zwembad, die dezelfde LRU lijst als andere herinnering uit het zwembad toegewezen gebruikt.

"Shared Server Architectuur" voor meer informatie over het toewijzen sessie geheugen van het grote zwembad voor de gedeelde server

Oracle Database Performance Tuning Guide voor meer informatie over het grote zwembad, reserveer ruimte in het zwembad, en I / O-server processen

"Overzicht van Parallel Execution" voor informatie over het toewijzen van geheugen voor parallelle uitvoering

Java Pool

Java zwembad geheugen wordt gebruikt in server geheugen voor alle sessie-specifieke Java-code en data binnen de JVM. Java geheugen wordt gebruikt op verschillende manieren, afhankelijk van de wijze waarop Oracle Database loopt.

De Java Pool Advisor statistieken geven informatie over de bibliotheek cache-geheugen wordt gebruikt voor Java en te voorspellen hoe veranderingen in de omvang van het Java-zwembad kan invloed hebben op de parse tarief. De Java Pool Advisor wordt intern ingeschakeld wanneer statistics_level is ingesteld op typische of hoger. Deze statistieken teruggezet wanneer de adviseur is uitgeschakeld.

streams Pool

De streams zwembad wordt uitsluitend gebruikt door Oracle Streams. De Stromen zwembad slaat gebufferd wachtrij berichten, en het biedt geheugen voor Oracle Streams afvangen en processen toe te passen.

Tenzij u specifiek configureren, de grootte van het Streams zwembad begint bij nul. De grootte van het zwembad groeit dynamisch als dat nodig is bij Oracle Streams wordt gebruikt.

Overzicht van het programma Global Area

Oracle Database kent een programma wereldwijde omgeving (PGA) voor elke server proces. De PGA wordt gebruikt om SQL-statements te verwerken en om logon en andere sessie-informatie te houden. Voor de toepassing van geheugenbeheer, is de verzameling van alle PGA’s bekend als de instantie PGA. Gebruik van een initialisatie parameter de grootte van de instantie PGA stellen, en de database distribueert geheugen PGA individuele behoefte.

Achtergrond processen ook hun eigen PGA’s toe te wijzen. Deze discussie richt zich op enige server proces PGA.

Dit gedeelte bevat de volgende onderwerpen:

Overzicht van Memory Management Methods

Memory management omvat behoud van een optimale grootte voor de Oracle-database bijvoorbeeld geheugen structuren zoals eisen aan de database te veranderen. Het geheugen dat moet worden beheerd is het systeem wereldwijde omgeving (SGA) geheugen en de instantie programma wereldwijde omgeving (bijvoorbeeld PGA) geheugen. De instantie PGA-geheugen is de verzameling van het geheugen toewijzingen voor alle individuele PGA.

Oracle Database ondersteunt verschillende memory management methoden, die door de initialisatie parameter instellingen worden gekozen. Oracle raadt u aan de automatische geheugenbeheer methode mogelijk te maken.

Automatic Memory Management – Voor zowel de SGA en aanleg PGA

Te beginnen met Oracle Database 11 g. Oracle Database kan de SGA-geheugen en bijvoorbeeld PGA geheugen volledig automatisch beheren. U wijst alleen de totale geheugen te gebruiken door het subsysteem en Oracle Database dynamisch geheugen uitwisseling tussen de SGA en de PGA bijvoorbeeld als nodig is om verwerkingseisen voldoen. Dit vermogen wordt aangeduid als automatische geheugenbeheer. Met deze geheugenbeheer methode, de databank tevens stemt dynamisch de afmetingen van de afzonderlijke componenten SGA en de afmetingen van de individuele PGA.

Automatische Gedeelde Memory Management – Voor de SGA

Wilt u meer directe controle uit te oefenen over de omvang van de SGA, kunt u de automatische geheugenbeheer in- en uitschakelen automatisch gedeeld geheugen management. Met automatische gedeeld geheugen beheer, je target en maximale grootte voor de SGA te stellen. De database stemt dan is de totale omvang van de SGA om uw aangewezen doel, en dynamisch stemt de afmetingen van alle SGA componenten.

Handmatig Shared Memory Management – Voor de SGA

Als u de volledige controle over de individuele SGA component maten wilt, kunt u zowel automatisch memory management en automatisch gedeeld geheugen beheer uit te schakelen. Dit maakt effectief handleiding shared memory management. In deze modus stelt u de grootte van meerdere afzonderlijke componenten SGA ingesteld, waardoor de totale SGA grootte bepalen van. U vervolgens handmatig af te stemmen deze individuele SGA componenten op een permanente basis.

Automatische PGA Memory Management – Voor de aanleg PGA

Wanneer u de automatische geheugenbeheer in- en uitschakelen automatisch gedeeld geheugen beheer of handmatig gedeeld geheugen beheer, ook impliciet in staat automatisch PGA geheugenbeheer. Met automatische PGA memory management, je een doel formaat voor de instantie PGA te stellen. De database stemt dan is de grootte van de instantie PGA om uw doelgroep, en dynamisch stemt de grootte van de individuele PGA. Omdat automatische PGA memory management is de standaard methode voor de instantie PGA, als je een beoogde omvang niet expliciet instelt, de database automatisch berekent en configureert een redelijke standaard.

Handmatig PGA Memory Management – Voor de aanleg PGA

Vorige versies van Oracle Database vereist de DBA om de maximale werkgebied maat voor elk type SQL-operator (zoals sort of hash-join) handmatig op te geven. Het bleek moeilijk te zijn, omdat de werkdruk altijd verandert. Hoewel de huidige versie van Oracle Database deze handleiding PGA memory management methode ondersteunt, Oracle raadt u vertrekt automatische PGA geheugenbeheer ingeschakeld.

Samenvatting van de Memory Management Methods

Tabel 8-2 geeft een overzicht van de verschillende memory management methoden. Als u niet automatisch memory management mogelijk te maken, moet u afzonderlijk configureren een memory management methode voor de SGA en één voor de PGA.

Als de automatische geheugenbeheer niet is ingeschakeld, is de standaard methode voor de instantie PGA automatisch PGA memory management.

Tabel 8-2 Oracle Database Memory Management Modes

Memory Management Opties en -instellingen voor Database Installatie

Als u uw database met Database Configuration Assistant (DBCA) de basisinstallatie mogelijkheid te creëren en te kiezen, wordt de automatische geheugenbeheer standaard ingeschakeld. Als u kiest voor geavanceerde installatie, Database Configuration Assistant (DBCA) kunt u kiezen uit de volgende drie memory management-configuraties:

Automatische memory management

Automatische gedeeld geheugen beheer + automatische PGA geheugenbeheer

Handmatig shared memory management + automatische PGA geheugenbeheer

Als u de database met een CREATE DATABASE SQL-statement te maken en niet kiezen voor de memory management modus door het opgeven van de vereiste geheugen initialisatie parameters, handmatig gedeeld geheugen beheer en automatische PGA geheugenbeheer zijn standaard geconfigureerd.

Over Software Code Areas

Software code gebieden zijn delen van het geheugen wordt gebruikt om code die wordt uitgevoerd of kan worden uitgevoerd op te slaan. Oracle Database code wordt opgeslagen in een software omgeving die typisch op een andere plaats dan programma gebruikersrechten—een meer exclusieve of beschermde locatie.

Software gebieden zijn meestal statisch in omvang, alleen te veranderen wanneer software wordt bijgewerkt of opnieuw geïnstalleerd. De vereiste grootte van deze gebieden is afhankelijk van het besturingssysteem.

Software gebieden zijn alleen-lezen en kan geïnstalleerd worden gedeeld of niet-gedeelde. Als het mogelijk is, is Oracle Database code gedeeld, zodat alle gebruikers er toegang toe, zonder dat meerdere exemplaren in het geheugen. Dit levert een besparing van echte hoofdgeheugen en verbetert de algemene prestaties.

Gebruikersprogramma’s kunnen worden gedeeld of niet-gedeelde. Sommige Oracle tools en utilities (zoals Oracle Forms en SQL * Plus) kan geïnstalleerd worden gedeeld, maar sommige niet. Meerdere exemplaren van Oracle Database kunt dezelfde Oracle Database code gebied te gebruiken met verschillende databases als die op dezelfde computer.

De optie van het installeren van software gedeeld is niet beschikbaar voor alle besturingssystemen (bijvoorbeeld op de pc werkt Windows).

Zie je Database besturingssysteem-documentatie Oracle voor meer informatie.

Scripting op deze pagina verbetert de inhoud navigatie, maar niet de inhoud op geen enkele manier te veranderen.

Bron: docs.oracle.com


Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

drie + 20 =