Heim  >  Artikel  >  Datenbank  >  Was ist Oracle SGA?

Was ist Oracle SGA?

青灯夜游
青灯夜游Original
2022-04-18 11:54:385836Durchsuche

sga bezieht sich auf den „systemglobalen Bereich“, bei dem es sich um eine Reihe von gemeinsam genutzten Pufferspeicherbereichen handelt, die von ORACLE der Instanz zugewiesen werden. Er wird zum Speichern von Datenbankdaten und Steuerinformationen verwendet, um die Verwaltung und den Betrieb von Datenbankdaten zu erreichen. SGA besteht hauptsächlich aus einem gemeinsam genutzten Pool, einem Datenpuffer und einem Redo-Log-Puffer. Der Datenpuffer wird zum Speichern der kürzlich aus der Datendatei gelesenen und geschriebenen Daten verwendet.

Was ist Oracle SGA?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

Die Speicherstruktur ist eine der wichtigsten Komponenten der Oracle-Datenbank. Vorgänge in der Datenbank sind mehr oder weniger auf den Speicher angewiesen, der einen wichtigen Faktor für die Datenbankleistung darstellt:

Was ist Oracle SGA?

Im Folgenden werden einige SGAs in der Speicherstruktur vorgestellt.

Oracle SGA-Einführung

SGAs vollständiger Name ist „System Global Area“, was auf Chinesisch „System Global Area“ bedeutet. Dabei handelt es sich um eine Reihe von gemeinsam genutzten Pufferspeicherbereichen, die von ORACLE für Instanzen zugewiesen werden und hauptsächlich zum Speichern verwendet werden Datenbankdaten und Steuerinformationen werden vom Datenbankprozess gemeinsam genutzt (PGA kann nicht gemeinsam genutzt werden), um die Verwaltung und den Betrieb von Datenbankdaten zu erreichen.

Es enthält die Daten und Steuerinformationen des Oracle-Servers. Sie werden im tatsächlichen Speicher des Computers zugewiesen, auf dem sich der Oracle-Server befindet. Wenn der tatsächliche Speicher nicht ausreicht, werden sie in den virtuellen Speicher geschrieben.

SGA ist eine Reihe gemeinsamer Speicherstrukturen, die von allen Diensten und Hintergrundprozessen gemeinsam genutzt werden. Wenn eine Datenbankinstanz gestartet wird, wird der globale Speicherbereich des Systems automatisch zugewiesen. Beim Herunterfahren der Datenbankinstanz wird SGA-Speicher zurückgewonnen. SGA ist der Bereich, der die größte Menge an Speicher belegt und auch ein wichtiger Faktor für die Datenbankleistung ist.

Fragen Sie die Situation des SGA-Bereichs ab:

SQL> show SGA

Total System Global Area 3290345472 bytes
Fixed Size            2217832 bytes
Variable Size         1795164312 bytes
Database Buffers     1476395008 bytes
Redo Buffers           16568320 bytes
SQL> select * from v$sga;

NAME              VALUE
-------------------- ----------
Fixed Size        2217832
Variable Size         1795164312
Database Buffers     1476395008
Redo Buffers           16568320
  • Feste Größe stellt einen festen Bereich dar, in dem Informationen zu jeder Komponente von SGA gespeichert werden. Die Größe kann nicht geändert werden.

  • Variable Größe repräsentiert variable Bereiche, wie z. B. gemeinsam genutzte Pools, Java-Pools, große Pools usw.

  • Datenbankpuffer stellt den Datenbank-Cache-Puffer dar.

  • Redo Buffers stellt den Protokollpuffer dar.

SGA umfasst hauptsächlich:

Die SGA der globalen Systemdomäne besteht hauptsächlich aus drei Teilen: gemeinsam genutztem Pool, Datenpuffer und Protokollpuffer.

1. Gemeinsamer Pool (gemeinsamer Pool) : Wird zum Speichern kürzlich ausgeführter SQL-Anweisungen und kürzlich verwendeter Datenwörterbuchdaten verwendet.

Es besteht hauptsächlich aus zwei Speicherstrukturen: Bibliothekscache und Datenwörterbuchcache

Ändern Sie die Größe des gemeinsam genutzten Pools: ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;

Bibliothekcache speichert Informationen im Zusammenhang mit ausgeführtem SQL und PL/SQL ist, Speichert den Text der SQL-Anweisung, den analysierten Code und den Ausführungsplan. Realisieren Sie die gemeinsame Nutzung häufig verwendeter Anweisungen und verwenden Sie den LRU-Algorithmus für die Verwaltung. Er besteht aus den folgenden zwei Strukturen: Gemeinsam genutzter SQL-Bereich und Gemeinsam genutzter PL/SQL-Bereich.

Data Dictionary Cache speichert die verwendeten Datenbankdefinitionen, in denen verwandte Tabellen und Spalten gespeichert werden und andere Objekte. Es enthält Informationen zu Datenbankdateien, Tabellen, Indizes, Spalten, Benutzern, Berechtigungen und anderen Datenbankobjekten. Während der Syntaxanalysephase greift der Serverprozess auf Informationen im Datenwörterbuch zu, um Objektnamen zu analysieren und Zugriffsvorgänge zu überprüfen. Datenwörterbuchinformationen werden im Speicher zwischengespeichert, um die Antwortzeiten zu verbessern.

2. Datenpuffer (Datenbankpuffer-Cache): Wird zum Speichern von kürzlich aus Datendateien gelesenen und geschriebenen Daten verwendet.

Die vom Oracle-System verwendeten Datenblöcke (d. h. der Hochgeschwindigkeitspuffer des Benutzers) werden im Datencache gespeichert. Wenn Daten in die Datenbank geschrieben werden, werden sie in Einheiten von Datenblöcken gelesen und geschrieben gefüllt Wenn es voll ist, entfernt das System automatisch einige Daten, auf die Benutzer nicht häufig zugreifen. Wenn sich die Daten, die der Benutzer überprüfen möchte, nicht im Datencache befinden, liest Oracle sie automatisch von der Festplatte. Der Daten-Cache-Bereich umfasst drei Arten von Bereichen:

1) Dirty-Data-Bereich (Dirty Buffers): Enthält Datenblöcke, die geändert wurden und in die Datendatei zurückgeschrieben werden müssen.

2) Freie Puffer: Ein Bereich, der keine Daten enthält und überschrieben werden kann. Oracle kann in diesem Bereich Datenblöcke aus der Datendatei lesen.

3) Reservierter Bereich (Pinned Buffers): Dieser Bereich enthält Bereiche, die verarbeitet werden oder explizit für die zukünftige Verwendung reserviert sind.

3. Redo-Log-Puffer (Redo-Log-Puffer): Wird zum Aufzeichnen von Vorgängen in der Datenbank durch Dienste oder Hintergrundprozesse verwendet.

Wird hauptsächlich zum Wiederherstellen jedes Änderungsdatensatzes verwendet und wird als Redo-Eintrag bezeichnet. Änderungen können mithilfe der Informationen im Redo-Eintrag wiederholt werden.

Darüber hinaus gibt es in SGA zwei optionale Speicherstrukturen:

4. Java-Pool: Wird zum Speichern von Java-Code verwendet.

5. Großer Pool: Wird zum Speichern großer Speicherstrukturen verwendet, die nicht direkt mit SQL zusammenhängen. Verwendung zum Sichern und Wiederherstellen.

Empfohlenes Tutorial: „Oracle Tutorial

Das obige ist der detaillierte Inhalt vonWas ist Oracle SGA?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn