Schlagwort-Archive: unbekannt oder unterbewertet

Linux Huge Pages: Schnellstart

If you’re not using HugePages, you’re doing it wrong!  (Mark J. Bobak)

Sie haben eine SGA von mehreren GB Größe, dazu mehrere Hundert Sessions auf der Datenbank? Ihr DB-Server läuft unter Linux, aber ohne Einsatz von HugePages? Dann verschenken Sie RAM und CPU-Leistung, und zwar nicht zu knapp!

Über Linux HugePages wurde schon viel geschrieben (s. Literaturliste unten), jedoch hauptsächlich auf Englisch und meist sehr ausgedehnt. Dieser Artikel soll die wichtigsten Fakten und Maßnahmen in Kürze aufzeigen.

Szenario

Ein Praxisbeispiel vorweg: Eine Data Warehouse-DB mit 20 GB SGA und etwa 300 Sessions läuft auf einem Server mit 32 GB RAM. Gelegentlich gerät der Server unter höhere Last und fängt daraufhin an, massiv zu swappen; die Performance geht in die Knie. Was ist passiert?

Weiterlesen

WITH-Clause Reloaded: Hierarchie und Rekursion

Vor ein paar Jahren hatte ich schon einmal über die „WITH-Klausel“ geschrieben, als sie noch ein relativ unbekanntes SQL-Feature war.

Mittlerweile hat sich auch die Oracle-Welt weiter gedreht, und es sind neue Möglichkeiten seit 11g hinzugekommen — z.T. Features, die mit dem ISO-Standard SQL1999 schon etwa 10 Jahre zuvor verabschiedet wurden.

Zeit also, sich einmal wieder mit der Syntax der WITH-Clause zu beschäftigen und sie mit Oracles bisherigen, proprietären Lösungen zu vergleichen!

Weiterlesen

Daten blitzschnell nach CSV entladen mit dem Pro*C-unloader

Heute möchte ich auf ein altes, aber bewährtes Tool von Tom Kyte verweisen, das nach meiner Erfahrung weitgehend unbekannt oder unterbewertet ist, das aber extrem hilfreich ist, wenn man Daten aus Oracle mit bestmöglichem Durchsatz entladen will: Auftritt „unloader“!

Weiterlesen

Alt, aber bezahlt: Oracle Disk Manager auf VxFS

Neues aus den Rubriken „Old Feature“ und „unbekannt oder unterbewertet„: Der Oracle Disk Manager (ODM)!

Nicht immer hat man als DBA in einem Unternehmen die Wahl, welche Speichersysteme man für die Datenbank einsetzt, und seien sie auch noch so effizient: Es gibt oft altertümliche Standards, gerne auch als „Best Practice“ bezeichnet (um sie über jeden Zweifel, jedes Gegenargument und jegliche Innovation erhaben zu machen), an die man sich halten muss. Ein solcher Standard ist die zwingende Nutzung von Dateisystemen anstelle von ASM und/oder Raw Volumes.

Worin aber sollen denn die Nachteile von Dateisystemen liegen? Sie sind doch so schön bequem handhabbar?

Weiterlesen

GROUP BY und ORA-00979 in 10gR2 und 11gR2

Aus der Rubrik „heute dazugelernt“: Oracle erlaubt es, mindestens seit 9iR2 (frühere Versionen habe ich nicht getestet), mehr Spalten in einer SELECT-Liste anzugeben, als später in der GROUP BY-Klausel verwendet werden.

Für Aggregatfunktionen wie COUNT(), SUM(), etc. ist das ja klar, es geht darüberhinaus aber auch mit

  1. Konstanten
  2. Ausdrücken, die für jede Zeile einer Gruppe denselben Wert liefern (also z.B. von einer der Spalten im GROUP BY abgeleitet sind).

Weiterlesen

RELY-Constraints als Hilfe für den Optimizer und die Datenmodellierung

Oft werden dem unbestrittenen Nutzen von Constraints Nachteile im Zeitbedarf für deren Einsatz gegenüber gestellt, dabei lassen sich diese Nachteile oftmals leicht umschiffen. Zudem kann die Geschwindigkeit von Abfragen wesentlich schlechter werden, wenn keine Constraints eingesetzt werden!

„Wir setzen keine Constraints in unserer [großen Datenbank|DWH-DB|…] ein, weil die Performance bei der Beladung dann zu schlecht ist.“
Diese Ausrede gilt spätestens seit der Verfügbarkeit von RELY-Constraints nicht mehr! Weiterlesen

Unterbewertet oder unbekannt: Deferred Constraints

Über Nutzen und Nachteile von Constraints wird gerne und leidenschaftlich gestritten. Auf der Seite der Nachteile wird oft angeführt, daß die zeilenweise Verifizierung (im Englischen auch gerne als „slow-by-slow“ verballhornt) ein Performance-Killer ist. Es wäre also durchaus praktisch, wenn auch Constraints stapelweise, z.B. pro Transaktion, abgearbeitet werden könnten. Auftritt der Deferred Constraints!

Weiterlesen