SSDs mit Oracle

19

Wir haben versucht, SSDs mit Oracle zu verwenden, um unsere Testmigrationsläufe zu beschleunigen. Je nach Datenvolumen dauert ein Migrationslauf derzeit 12 bis 18 Stunden (natürlich nehmen wir auch zahlreiche Leistungsoptimierungen vor). Wir haben eine Reihe billiger Linux-Boxen, die wir für verschiedene Läufe und Analysen verwenden.

Die Kosten für SSDs direkt von Dell sind unerschwinglich. Ich habe mich gefragt, ob jemand Erfahrung mit der Verwendung von Consumer-SSDs (wie den Crucial / Micron-SSDs) hat.

Mir ist klar, dass die TRIM-Unterstützung unter Linux (mit Centos) ein Problem darstellen würde. Hat jemand sie unter Windows 7 verwendet, um dem entgegenzuwirken?

Stuart Brock
quelle
1
Am Ende haben wir SSDs für Indizes und Tablespaces hinzugefügt und die beiden über diese verteilt. Wir haben nicht den großen Geschwindigkeitssprung bekommen, den wir uns erhofft hatten. Etwa 10-15% schneller für unsere Migrationsläufe, aber da keine anderen Optionen verfügbar waren, war dies eine gute Zeitersparnis (unser Oracle-Tuning-Experte war bereits in der DB entlassen worden). Vielen Dank für alle Kommentare. Wir haben uns für Crucial SSDs entschieden, die eine ziemlich gute Leistung zu einem guten Preis bieten und immer noch keine Probleme haben. Wir haben auch akzeptiert, dass sie abgenutzt sind und behalten sie im Auge (und viele Backups)! Vielen Dank für alle Kommentare. Stuart.
Stuart Brock

Antworten:

6

Hier sind die größten Probleme, die ich bei SSDs und Datenbanken sehe:

  • SSD-Fehler
    • Es kommt öfter vor, als ich möchte; Oft innerhalb von ein bis zwei Jahren bei normalem Gebrauch und schneller, wenn von / zu stark gelesen / geschrieben wird. Was passiert, wenn Sie Ihre Redo-, Protokoll- und Datendateien an eine SSD senden? Viele Lese- und Schreibvorgänge. Schlechte Kombination, IMO.
  • SSD "Allheilmittel"
    • SSDs sind nett, wenn es um Lesegeschwindigkeit geht, ja. Sie eignen sich hervorragend zum Booten für ein Betriebssystem oder zum Starten von Programmen. Man sollte jedoch nicht zulassen, dass SSDs zu einem Fix für die vollständige Optimierung werden. Ich bin mir sicher, dass Sie dies nicht tun, da Sie wahrscheinlich alles versuchen, um die Migration zu beschleunigen, aber manchmal können SSDs wie ein heiliger Gral erscheinen, um einige der schwierigeren Probleme bei der Optimierung zu vermeiden. (In vielerlei Hinsicht gilt das Gleiche für das Werfen von mehr Hardware oder Speicher auf ein Problem. Manchmal ist es besser, das Problem zu optimieren, als mehr Hardware darauf zu werfen.)
  • R / W-Fehlanpassung
    • Lesevorgänge sind rasend schnell.
    • Schreibvorgänge sind nicht so schnell wie Lesevorgänge (obwohl normalerweise besser als bei Festplatten).
      Http://en.wikipedia.org/wiki/Solid-state_drive
    • Daher sind SSDs nur für Bootmedien (wie Betriebssysteme, ausführbare Datenbankdateien usw.) sinnvoll.
  • Wear Leveling und Sicherheit
    • Wenn die Sicherheit von Belang ist, kann das Laufwerk aufgrund der Abnutzungserscheinungen in Ihrer SSD so gut wie nicht mehr gelöscht werden, und Sie können sicher sein, dass es auf Null gesetzt wurde. Zwei, drei und mehr Durchgänge reichen nicht aus, und es besteht immer die Möglichkeit, dass ein Teil Ihrer Daten noch verfügbar ist.
Kerri Shotts
quelle
Haben Sie 2019 noch die gleiche Meinung?
TrojanName
7

Ich sehe noch keine Antworten auf Ihre Frage, und obwohl ich keine Erfahrung mit der Verwendung von SSD-Laufwerken für Endverbraucher mit einer Datenbank habe, dachte ich, dass die folgende Frage zu ServerFault nützlich sein könnte:

/server/69037/configuring-sql-for-optimal-performance-ssd-or-hdd

edit: Ich habe kürzlich den folgenden Artikel gefunden und dachte, ich würde ihn meiner Antwort hinzufügen. Es geht um die Verwendung von SSDs mit SQL Server, aber ich dachte, einige der besprochenen Faktoren könnten auch für Oracle-DBAs nützlich sein.

http://technet.microsoft.com/en-us/magazine/hh334997.aspx (E / A reduzieren, Leistung steigern)

Jeff
quelle
5

SSDs können das LESEN von Daten beschleunigen.

Schneller kann man nicht schreiben. Denken Sie nicht einmal daran, die Redos auf der SSD zu platzieren, da sie nur geschrieben sind. So beschleunigen Sie das Schreiben zum Wiederherstellen: Fügen Sie weitere Laufwerke hinzu und entfernen Sie sie. Redos werden sequentiell geschrieben, sodass das Hinzufügen weiterer Spindeln den Schreibdurchsatz verbessert, bis Sie die Controller-Grenze erreichen.

Was macht diese Testmigration? Verwendet es prozeduralen Code oder verwendet es Mengen?

Stellen Sie bei Verwendung von Prozedurcode sicher, dass Massenoperationen implementiert werden. Sets sind fast immer schneller.

ik_zelf
quelle
1
Haben Sie eine Quelle für einen Benchmark, der eine geringere Schreibgeschwindigkeit auf SSDs anzeigt, insbesondere bei gleichem Striping-Anteil? Mein Verständnis war, dass SSDs auch beim Schreiben schneller sind, aber der Unterschied ist nicht so dramatisch wie beim Lesen.
Leigh Riffel
@Leigh - Das stimmt, aber der wahre Punkt ist, dass der Vorteil für zufällige io erheblich größer ist als für sequentielle . Ich denke, es ist fair zu sagen, dass SSDs immer noch nur für hohe zufällige Iops-Bedürfnisse sind.
Jack Douglas
1
Wir haben einige Tests mit den f5100-Karten auf einem M5000-System durchgeführt, bei denen wir versucht haben, die Flash-Disks als sekundären Cache für zfs, für Dateien und Extended SGA zu verwenden. Das Lesen war schnell und das Schreiben langsam im Vergleich zu dem, was wir mit dem SAN gemacht haben. (einige EMV-Box). Wie bereits erwähnt, werden die Protokolle nacheinander geschrieben. Scheiben sind für diese Art von io gemacht, wenn sie gestreift sind.
ik_zelf
2

Ich habe meine alte Festplatte gegen eine Crucial M4 512 MB SSD ausgetauscht, um Tests mit einer großen Oracle-Datenbank durchzuführen.

Ich starte Oracle 10.2 unter Windows 7 in VMWare.

Leistungsänderungen sind wirklich beeindruckend. Das Importieren und Exportieren von Datenbanken und SQL-Abfragen erfolgt viel schneller.

Ich habe jedoch von Zeit zu Zeit einen seltsamen Fehler:

FEHLER 2012-06-18 18: 18: 14,177: Fehler beim Ausführen der Abfrage
java.sql.SQLException: ORA-01578: ORACLE-Datenblock beschädigt (Datei 6, Block 1646317)
ORA-01110: Datendatei 6: 'C: \ ORACLE \ PRODUCT \ 10.2.0 \ ORADATA \ DUNE \ WEBDATA02.DBF '

Ich hatte nie dieses Problem mit der gleichen VM auf dem gleichen Computer mit der Festplatte.

Nach dem Ausführen von DBV für die Datei wird nichts als beschädigt markiert.

Ich habe nichts zu diesem Thema gefunden.

Svett
quelle
Erkenne diesen Fehler nicht, aber ich habe vergessen zu erwähnen, dass die Importe durch die SSDs massiv beschleunigt wurden. Es waren nur die Migrationsläufe, die nur um 10-15% schneller wurden. Also danke dafür.
Stuart Brock