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.
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:
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!