Gebruik de opdracht Oracle ipcs om het gedeelde geheugen

te bepalen. een nuttige opdracht voor het geheugen waarmee u de Oracle SGA kunt controleren is de opdracht ipcs. De opdracht ipcs geeft de grootte van elk deel van het gedeelde geheugen voor de SGA weer. Als er niet genoeg geheugen is voor de gehele SGA om in een aaneengesloten stukje geheugen te passen, zal de SGA worden gebouwd in niet-aaneengesloten geheugensegmenten. In het geval van een instant crash, het geheugen kan niet worden vrijgegeven. Als dit je overkomt, merk dan op dat het ipcrm commando de segmenten verwijdert (ipcrm –m voor geheugensegmenten en ipcrm –s voor semafoorsegmenten). Gebruik ipcs-b op Solaris en ipcs-a Op Linux, HPUX en AIX.

1024_001

in het voorgaande voorbeeld is de SGA opgebouwd in drie niet-aaneengesloten segmenten (die de 100M+ SGA vormen). De instantie wordt dan afgesloten en gestart met een kleinere SGA (dus de SGA bestaat uit aaneengesloten stukjes geheugen). Nadat de SGA is verlaagd naar 70M, voer ik opnieuw het ipcs commando uit:

1024_002

het aanbrengen van de volledige SGA in een enkel gedeeld geheugensegment verdient over het algemeen de voorkeur vanwege de overhead die nodig kan zijn om meer dan één segment te volgen en de tijd die nodig is om heen en weer te schakelen tussen die segmenten. Je kunt de maximale grootte van een enkel gedeeld geheugensegment vergroten door de shmmax instelling in het /etc/system bestand (of /etc/sysctl te vergroten.conf afhankelijk van versie). Zie de Oracle install-documentatie voor meer specifieke informatie over uw platform. Op Solaris 10 is de instelling van de gedeelde geheugenparameters verplaatst naar resource control, dus als je het /etc/system bestand wijzigt, worden alle wijzigingen die je aanbrengt genegeerd. Als laatste, als je Hugepages configureert, dan wordt het geheugen uit een pool gehaald en worden semaforen niet gebruikt. AMM vereist het gebruik van semaforen, dus als je MEMORY_TARGET instelt, kun je Hugepages niet gebruiken.

TIP

gebruik de opdracht ipcs om te zien of uw SGA gebouwd is met meerdere niet-aaneengesloten stukken geheugen. Een database crash kan dit problematisch maken door het geheugen niet vrij te geven. Gebruik het ipcrm commando (alleen als de SGA stukken niet worden vrijgegeven na een database crash) om vervolgens de SGA stukken uit het geheugen te verwijderen. Geef het ipcrm commando niet uit met een draaiende database.

Write a Comment

Het e-mailadres wordt niet gepubliceerd.