Zuhause Persönliche Finanzen Grundlagen des Datenbankpuffercaches in Oracle 12c - Dummies

Grundlagen des Datenbankpuffercaches in Oracle 12c - Dummies

Inhaltsverzeichnis:

Video: Recht 1 - Vodcast 1: Grundlagen des Rechts 2024

Video: Recht 1 - Vodcast 1: Grundlagen des Rechts 2024
Anonim

Der Datenbankpuffercache von Oracle 12c ist normalerweise der größte Teil des SGA. Es hat Daten, die von den Dateien auf der Festplatte stammen. Da der Zugriff auf Daten von der Festplatte langsamer als aus dem Speicher erfolgt, dient der Cache des Datenbankpuffers ausschließlich dem Zwischenspeichern der Daten im Speicher für einen schnelleren Zugriff. Der Datenbankpuffercache kann Daten von allen Objekttypen enthalten:

Tabellen

  • Indizes

  • Materialisierte Ansichten
  • Systemdaten

  • Im Begriff

Datenbankpuffer-Cache bezieht sich der Begriff Puffer auf Datenbankblöcke. Ein Datenbankblock ist die minimale Speichermenge, die Oracle liest oder schreibt. Alle Speichersegmente, die Daten enthalten, bestehen aus Blöcken. Wenn Sie Daten von der Festplatte anfordern, liest Oracle mindestens einen Block. Selbst wenn Sie nur eine Zeile anfordern, werden wahrscheinlich viele Zeilen in derselben Tabelle abgerufen. Das Gleiche gilt, wenn Sie eine Spalte in einer Zeile anfordern. Oracle liest den gesamten Block, der höchstwahrscheinlich viele Zeilen enthält, und alle Spalten für diese Zeile.

Es ist möglich zu denken, dass, wenn Ihre Abteilungstabelle nur zehn Zeilen hat, das gesamte Ding in den Speicher gelesen werden kann, selbst wenn Sie den Namen nur einer Abteilung anfordern.

Puffer-Cache-Status in Oracle 12c

Der

Puffer-Cache steuert, welche Blöcke erhalten bleiben, abhängig vom verfügbaren Platz und dem Blockstatus (ähnlich wie der gemeinsam genutzte Pool entscheidet, welche SQL bleiben soll). Der Puffercache verwendet seine eigene Version des LRU-Algorithmus.

Ein Block im Puffercache kann sich in einem von drei Zuständen befinden:

Frei:

  • Wird für nichts verwendet Angepasst:

  • Wird gerade aufgerufen > Dirty: Block wurde modifiziert, aber noch nicht auf die Festplatte geschrieben

  • Freie Blöcke Idealerweise sind freie Blöcke verfügbar, wann immer sie benötigt werden. Das ist jedoch wahrscheinlich nicht der Fall, es sei denn, Ihre Datenbank ist so klein, dass das Ganze in den Speicher passt.

Der LRU-Algorithmus funktioniert im Puffer-Cache etwas anders als im freigegebenen Pool. Es punktet jeden Block und dann mal, wie lange es seit dem Zugriff war. Zum Beispiel erhält ein Block jedes Mal einen Punkt, wenn er berührt wird.

Je höher die Punkte, desto unwahrscheinlicher wird der Block aus dem Speicher gelöscht. Es muss jedoch häufig darauf zugegriffen werden oder die Punktzahl sinkt. Ein Block muss hart arbeiten, um im Gedächtnis zu bleiben, wenn die Konkurrenz um Speicherressourcen hoch ist.

Indem jedem Block eine Punktzahl und Zeit gegeben wird, wird verhindert, dass diese Art von Situation auftritt: Ein Block wird am Ende des Monats für Berichte schwer zugänglich gemacht.Seine Punktzahl ist höher als bei jedem anderen Block im System. Auf diesen Block wird nie wieder zugegriffen.

Es sitzt da, dass Speicher verschwendet wird, bis die Datenbank neu gestartet wird oder ein anderer Block schließlich genug Punkte bekommt, um ihn zu eliminieren. Die Zeitkomponente veraltet sehr schnell, nachdem Sie nicht mehr darauf zugreifen.

Angepasste Blöcke

Ein Block, auf den gerade zugegriffen wird, ist ein

gepinnter Block.

Der Block ist in den Puffercache gesperrt (oder gepinnt), sodass er nicht aus dem Puffercache gealtert werden kann, während der Oracle-Prozess (der häufig einen Benutzer darstellt) darauf zugreift. Dirty blocks Ein modifizierter Block ist ein

Dirty Block.

Um sicherzustellen, dass Ihre Änderungen bei Datenbank-Shutdowns beibehalten werden, müssen diese Dirty Blocks aus dem Puffercache auf die Festplatte geschrieben werden. Die Datenbank benennt verunreinigte Blöcke in einer Dirty-Liste oder einer Warteschlange. Sie könnten denken, dass jedes Mal, wenn ein Block geändert wird, dieser auf die Festplatte geschrieben werden sollte, um verlorene Daten zu minimieren. Das ist nicht der Fall - auch nicht, wenn commit

ist (wenn Sie Ihre Änderungen dauerhaft speichern)! Mehrere Strukturen helfen, verlorene Daten zu vermeiden. Außerdem hat Oracle ein Glücksspielproblem. Die Systemleistung würde crawlen, wenn Sie für jede Änderung Blöcke auf die Festplatte geschrieben haben. Um dies zu verhindern, spielt Oracle die Wahrscheinlichkeit, dass die Datenbank wahrscheinlich nicht ausfällt, und schreibt Blöcke nur in größeren Gruppen auf die Festplatte. Mach dir keine Sorgen; Es ist nicht einmal ein Risiko gegen verlorene Daten. Oracle erhält jetzt Leistung aus der Datenbank

jetzt

mit den möglichen Kosten einer Wiederherstellung, die länger als später dauert. Da Fehler auf ordnungsgemäß verwalteten Systemen selten auftreten, ist dies eine kostengünstige Möglichkeit, etwas Leistung zu erzielen. Es ist jedoch nicht so, dass Oracle schmutzige Blöcke überall hinterlässt, ohne sich selbst aufzuräumen. Blockschreibauslöser in Oracle 12c Was löst einen Blockschreibvorgang und damit einen Dirty-Block aus?

Der Datenbank wird ein Befehl zum Herunterfahren erteilt.

Ein vollständiger oder teilweiser Prüfpunkt tritt auf - das ist der Zeitpunkt, an dem das System alle beschädigten Puffer regelmäßig auf die Festplatte schreibt.

  • Ein von Ihnen festgelegter Wiederherstellungszeit-Schwellenwert ist erfüllt. die Gesamtanzahl der verschmutzten Blöcke verursacht eine inakzeptable Wiederherstellungszeit.

  • Ein freier Block wird benötigt und keiner wird nach einer bestimmten Suchmenge gefunden.

  • Bestimmte DDL-Befehle (Data Definition Language). (DDL-Befehle sind SQL-Anweisungen, die Objekte in einer Datenbank definieren.)

  • Alle drei Sekunden.

  • Andere Gründe. Der Algorithmus ist komplex und Sie können sich nicht sicher sein, welche Änderungen bei jeder Softwareversion auftreten.

  • Tatsache ist, dass die Datenbank ziemlich beschäftigt ist, Blöcke in einer Umgebung zu schreiben, in der es viele Änderungen gibt.

Grundlagen des Datenbankpuffercaches in Oracle 12c - Dummies

Die Wahl des Herausgebers

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Jede leere Arbeitsmappe, die Sie öffnen, enthält ein Einzelblatt mit dem prosaischen Namen Sheet1. Um weitere Blätter zu Ihrer Arbeitsmappe in Excel 2013 hinzuzufügen, klicken Sie einfach auf die Schaltfläche Neues Blatt in der Statusleiste (die mit Pluszeichen in einem Kreis). Jedes Arbeitsblatt, das Sie mit der Befehlsschaltfläche Neues Blatt hinzufügen, ist ...

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Mit der bedingten Formatierung von excel 2010 können Sie das Aussehen von eine Zelle basierend auf ihrem Wert oder dem Wert einer anderen Zelle. Sie geben bestimmte Bedingungen an, und wenn diese Bedingungen erfüllt sind, wendet Excel die Formatierung an, die Sie auswählen. Sie können die bedingte Formatierung verwenden, um Datumsangaben zu suchen, die bestimmte Kriterien erfüllen (z. B. fallen auf ...

Die Wahl des Herausgebers

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

Es wird erwartet, dass festes Verständnis des mathematischen Grundwissens, wenn Sie das ASVAB nehmen. Multiplizieren und Dividieren von Brüchen sind zwei der Dinge, die Sie wissen müssen. Fraktionen multiplizieren Fraktionen multiplizieren ist sehr einfach. Alles, was Sie tun müssen, ist, die Zähler untereinander zu multiplizieren und die Nenner mit ... zu multiplizieren.

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

Sie müssen für die Word-Wissensprobleme bereit sein auf dem ASVAB. Das Format, das Sie unten sehen, ist ein gutes Beispiel dafür, was Sie finden werden, wenn Sie das ASVAB benutzen. Beispielfragen Wortwissenszeit: 11 Minuten für 35 Fragen Anleitung: Der Wortwissensubtest ist der dritte Untertest ...

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

Zeit für Sie, all Ihre ASVAB Vorbereitung zur guten Verwendung. Fragen Sie sich anhand der folgenden Beispieltestfragen, ob Ihr Leseverständnis auf dem neuesten Stand ist. Lesen Sie jeden kurzen Absatz, dem eine oder mehrere Fragen zu den in dieser Passage enthaltenen Informationen folgen. Achten Sie darauf, den Absatz sorgfältig zu lesen ...

Die Wahl des Herausgebers

Zoomen und Schwenken in AutoCAD - Dummys

Zoomen und Schwenken in AutoCAD - Dummys

AutoCAD erleichtert das Schwenken, indem es Bildlaufleisten und Echtzeit-Schwenken bietet. Beim Echtzeit-Panning (im Gegensatz zum Vorgabezeit-Panning?) Können Sie Objekte auf dem Bildschirm sehen, wenn Sie die Maus nach oben und unten oder vor und zurück bewegen. Natürlich bewegt sich der Standpunkt, nicht die Objekte. Sowohl das Schwenken als auch das Zoomen ändern die Ansicht ...

Mit AutoCAD LT 2005 DesignCenter - Dummies

Mit AutoCAD LT 2005 DesignCenter - Dummies

DesignCenter ist ein dummer Name für eine nützliche, wenn auch etwas ausgelastete Palette. Die DesignCenter-Palette ist praktisch für das Extrahieren von Daten aus allen Arten von Zeichnungen. Während sich die Eigenschaftenpalette mit Objekteigenschaften beschäftigt, behandelt die DesignCenter-Palette hauptsächlich benannte Objekte: Ebenen, Linientypen, Blockdefinitionen (dh Symboldefinitionen), Textstile und andere Organisationsobjekte ...

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Jeder Punkt in einer AutoCAD-Zeichnungsdatei kann identifiziert werden durch seine X-, Y-, Z-Koordinaten. (In den meisten 2D-Zeichnungen ist der Z-Koordinatenwert 0. 0.) Dieses Koordinatensystem wird in AutoCAD als Weltkoordinatensystem oder WCS bezeichnet. Koordinateneingabe Die direkteste Methode, um Punkte präzise einzugeben, ist die Eingabe von Zahlen mit dem ...