Allgemeine Fragen zur Oracle DB

Giorgo

Enthusiast
Thread Starter
Mitglied seit
30.09.2006
Beiträge
406
Ort
München
Hallo leute,

hoffe mein beitrag hier ist nicht im falschen unterforum... (falls ja bitte verschieben)


Kann mir jemand sagen ob der einsatz einer SSD bei Datenbanken was bringt? Falls ja, merklich oder eher gering?
Ich kann diesbezüglich paar infos geben, aber wenn was noch erfragt werden müsste für eine richtige antwort dann einfach fragen bitte...

Es handelt sich um eine Oracle DB (glaub version 9) die ca 4GB-8GB gross ist, auf der DB greifen so ca 5-10 leute des öffteren zu, eher die ganze zeit mehrmals...

Falls eine SSD doch sinnvoll in dem segment ist, welche wäre dann die beste wahl?

Neben der 1 großen DB werden aber noch sehr viele kleinere Datein im zugriff sein, nur so nebenbei...



Danke schonmals ;)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
kenne Oracle nicht aber kannst du in etwa abschätzen wie viel write da täglich zusammen kommen?
 
erhlich gesagt nein, ich weiss nicht wie das mit der DB abläuft und dem schreibzugriffen...
aber viele daten kommen da nicht rein denk ich mal... also täglich ^^

das ganze ist so ne art kartei akte von mehreren kunden, und dort werden tag täglich immer neue informationen hinzugeschrieben...

aber die DB ist relativ klein wenig größer am ende des tages, ca. 100MB...
doch das lesen dieser akte ist sehr zeitaufwendig, sobald man einen kunden ausgewählt hat und dann auf öffnen drückt kann es bis zu 20sekunden wartezeit geben :/
 
wo liegt denn die DB aktuell drauf?
 
auf ner sata... hab auch an einer sas gedacht falls du das ansprechen wolltest...
aber dacht mir dann, wenn dann evtl gleich ssd... wie gesagt, falls es sinn machen sollte...
 
auf ner sata... hab auch an einer sas gedacht falls du das ansprechen wolltest...
aber dacht mir dann, wenn dann evtl gleich ssd... wie gesagt, falls es sinn machen sollte...

das ist schon der richtige gedanke... mit der SSD.

da du nicht angibst, dass alles immer verfügbar sein muss, es geschäftlich oder privat ist, würde ich eine SSD mit hohem durchsatz bei kleinen files nehmen respektive hohe IOPS.

privat: MLC + regelmässig automatisierte backups auf ne HDD

geschäftlich: SLC + evtl. Raid1 + regemässige backups.



das waren erstmal meine gedanken. da gibts jetzt sicherlich andere, die mehr ahnung von datenbanken haben.
 
ne doch, es ist schon geschäftlich und sollte auch immer verfügbar sein klar :)
aber muss es ne SLC sein?

wäre ne MLC mit täglichen Backup auch nicht fürs erste in ordnung?
falls Raid1 in frage käme, wäre dann nicht die TRIM funktion verloren gegangen?
weil hab eigentlich an keinen Raid1 gedacht extra wegen TRIM und dafür aber immer abends nen komplett backup aufs NAS...
 
wenn das dir "reicht", dann sage ich mal als empfehlung: Intel M 80GB.
 
ne doch, es ist schon geschäftlich und sollte auch immer verfügbar sein klar :)
aber muss es ne SLC sein?

wäre ne MLC mit täglichen Backup auch nicht fürs erste in ordnung?

Wenn es bei Deinem Geschäft nicht so schlimm ist, ca. 8h an Daten zu verlieren würde das gehen. Ist halt die Frage, ob SLC dann nicht evt. günstiger wäre, langfristig gesehen.
 
möchte kurz noch paar daten hinzufügen:

der Server wird ein neuer Lenovo ThinkServer TD230 SUK12GE sein mit folgenden Controller, Intel 5520 Chipsatz ICH10R SATA Controller (Raid 0,1,10)...

darauf dacht ich dann halt entweder 1 SSD mit täglichen Backup auf NAS oder halt RAID1 und trozdem täglichen Backup auf NAS...

Als SSD evtl die "Intel X25-M G2 Postville SSD 80GB"

aber das halt je nachdem welche SSD für mein vorhaben besser geeignet wäre...



//edit:
ne alternative wäre doch das OS auf ner SATA zu installieren und die DB auf der SSD drauf packt, damit hätte ich doch die stabilität des OS schon mal sicher nur die DB könnte dann halt bei nem crash schneller wieder eingesetzt werden... (vom NAS auf ne neue SSD oder dementsprechend ne SATA)

ist das überhaupt empfehlenswert, oder muss das OS auch auf die SSD damit alles sauber läuft?
 
Zuletzt bearbeitet:
Wenn es bei Deinem Geschäft nicht so schlimm ist, ca. 8h an Daten zu verlieren würde das gehen. Ist halt die Frage, ob SLC dann nicht evt. günstiger wäre, langfristig gesehen.
Naja, auch ein MLC fällt nicht von heute auf morgen aus. Wenn die Platte nur mit der einige GB großen DB gefüllt ist, dann dürfte sich die Schreibbelastung gut verteilen. Falls die SMART-Werte zu schnell schlechter werden, kann man ja immernoch wechseln. Und ob eine mechanische Festplatte mehr zufällige Schreibvorgänge verträgt als eine einigermaßen ausgereifte SSD - da wäre ich mir auch nicht sicher. Abgesehen davon, daß das Lesen die Festplatte genauso stark fordert.

Solange wir bzw. der TS nicht wissen/weiß, wieviel nun geschrieben wird, brauchen wir aber nicht über SLC oder MLC diskutieren. Bei wirklich enormen Workload wäre bei "nur" 8 GB auch ein RAM-Drive - wie auch immer realisiert - ja vielleicht auch eine Variante.

mfg
 
die 20s müssen nicht an der hardware liegen. indexe erstellen, selects optimieren und prog verbessern wäre sinnvoller. ich hatte mal bei ora9 30000 datensätze, lesen und umformatieren mit .net, dann weiterexportieren nach exel, das hat solange wie mittagspause gedauert. nach optimieren wars 800 mal schneller
 
Hallo,

Die Postville ist aufgrund des dann fehlenden TRIM nicht im RAID1 empfehlenswert.
Das Sterben einer SSD ist auch weit weniger tragisch, als man denkt, da die Flashzellen dann nicht mehr beschreibbar sind, aber noch gelesen werden können. Es empfiehlt sich evtl. eine 2. im Schrank als Sofortersatz.
 
In einem solchen einsatzgebiet, wenns MLC sein soll, führt kein weg an ner Sandforce vorbei wenn man mich fragt
 
der Server wird ein neuer Lenovo ThinkServer TD230 SUK12GE sein...
Da dein zukünftiger Server SAS Controller hat und du ja einigermaßen Kritische Daten darauf betreiben willst würde ich gleich zu einer SAS 6Gb/s Enterprise SSD mit SandForce SF-1500 Controller greifen. Die haben 10Mio Std. MTBF, Sicherungsmechanismen bei zufälligen Stromausfällen und sowieso den besseren Support da Enterprise.
 
genau für diesen Einsatzzweck entwickeln doch die Hersteller profesionelle Geräte, mit SAS -Controller, SLC-Chips etc.
es macht keinen Sinn eine "Consumer-SSD" für jeden professionellen Einsatzzweck zu misbrauchen. Die SF1200 mit MLC sind gut für private Anwender die Spaß haben wollen, aber Profis kaufen was anderes
 
die 20s müssen nicht an der hardware liegen. indexe erstellen, selects optimieren und prog verbessern wäre sinnvoller. ich hatte mal bei ora9 30000 datensätze, lesen und umformatieren mit .net, dann weiterexportieren nach exel, das hat solange wie mittagspause gedauert. nach optimieren wars 800 mal schneller

Indexe erstellen sollte schon gemacht worden sein...
aber in wie fern soll es möglich sein das Programm zu verbessern oder die selects optimieren?

das gennante programm ist in dem fall hier das M1 von Compumed, also ein Arztinformationssystem... evtl kennt ja der eine oder andere M1...


Da dein zukünftiger Server SAS Controller hat und du ja einigermaßen Kritische Daten darauf betreiben willst würde ich gleich zu einer SAS 6Gb/s Enterprise SSD mit SandForce SF-1500 Controller greifen. Die haben 10Mio Std. MTBF, Sicherungsmechanismen bei zufälligen Stromausfällen und sowieso den besseren Support da Enterprise.

also das model das ich genannt habe hat nur nen ICH10R SATA Controller, der nächste größere Lenovo der auch ca. 500€ mehr kostet hat dann SAS 9240-8i Controller...
 
Zuletzt bearbeitet:
aber oracle gibts seit 30 jahren, das läuft auch auf nicht so toller hardware ziemlich schnell.

komplizierte selects können auch als view im db-schema gespeichert sein. dann könnt ihr selber gucken, ob und warum eine view langsam läuft. man kann auch teile oder die ganze view als materialized view laufen lassen, die zb. nachts aktualisiert wird.

meine entwicklungsvirtuellemaschine (xp, ora9, vs08, 2core 2gb) habe ich letztes jahr von WD blue auf indilinx verschoben. alles mögliche ist schneller geworden, aber bei meiner langsamsten abfrage (3-5s) ansich nix bemerkbar. das dickschiff beim kunden hats anscheinend auch nicht rausgerissen, die nehmen jetzt eine materialized view für den langsamen teil.
 
Da dein zukünftiger Server SAS Controller hat und du ja einigermaßen Kritische Daten darauf betreiben willst würde ich gleich zu einer SAS 6Gb/s Enterprise SSD mit SandForce SF-1500 Controller greifen. Die haben 10Mio Std. MTBF, Sicherungsmechanismen bei zufälligen Stromausfällen und sowieso den besseren Support da Enterprise.

Die 10 Mio. Stunden MTBF beziehen sich lediglich nur auf den SF-1500 Controller selbst, nicht aber auf die gesamte SSD.
 
Nabend,

wir haben in der Firma einen Teil einer Oracle Datenbank auf einem Raid1 aus zwei Intel X25-E 64GB. Für unseren typischen Workload bringt das eine ganze Menge!
Für einen zweiten Bereich mit großen Textdaten und Indizes die nur einmal am Tag geupdatet werden und es ansonsten nur auf das lesen ankommt, setzen wir seit ca. 6 Monaten zwei Intel X25-M 80GB G2 und auch das funktioniert ziemlich gut. (Hohe IOPs)

Was ich sagen will: Es kommt stark drauf an, wie eure Datenbank gestrickt ist und z.B. auch wieviel RAM die Kiste hat. (Und natürlich wie Oracle konfiguriert ist)
Unter Windows würde ich dir mal empfehlen mit dem Perfmon den typischen Workload auf den Platten anzugucken wenn die Abfragen laufen.
Relevante Kenngrößen sind hier vor allem Reads/Writes pro Sekunde und Durchsatz pro Sekunde. Solltest du hier Werte sehen, die am Limit einer normalen Festplatte liegen (ca. 150-300 IO/s oder halt so 50-100MB/s) könnte eine SSD einen deutlichen Vorteil bringen.

LG Ben
 
Als zertifizierter Oracle Entwickler kann ich antiram und Benston vollkommen recht geben. Bei so wenigen DML Statements würde ich über den Einsatz von Materialized Views nachdenken (jedoch: mat views sind eher für Data Warehouse Anwendungen gedacht. Ein Anwender, sau große Datenbank, die fette Statistiken rausspucken muss z.b. ihr betreibt aber eher eine OLTP Datenbank, da gibt es andere Optimierungen), jedoch denke ich wird das Problem weniger die Datenbank als mehr der Client sein. Ich kenne den M1 Client nicht, bin da eher in der Finanzbranche statt der Medizin unterwegs aber auch bei uns gibt es das Problem, dass die Clients teilweise extrem unsauber programmiert sind und wirklich teils seltendämliche Statements vor die Datenbank fahren...

Eine SSD kann etwas bringen, kann aber auch einfach verpuffen. Je nachdem, wie Oracle eingerichtet ist, liegen die meisten Daten eh im Cache und damit im RAM und werden überhaupt nicht aus der Datendatei geladen. Eure Datenbank ist mit 4 GB eher eine sehr, sehr, sehr, sehr, sehr, sehr, sehr kleine Oracle DB. Eigentlich die kleinste von der ich höre, dass sie im produktiven Einsatz ist :) eventuell ist die Engine auch einfach nur falsch konfiguriert, dass z.b. zu wenig im Cache landet.

Ich darf die Dokumente hier nicht einfach so veröffentlichen aber wenn du lieb fragst, dann kann ich dir die Oracle 9i Performance Tuning Guides zur Verfügung stellen, da sind auch alle relevanten Parameter in sachen HDD und Load etc. angerissen.
Leider habe ich die nur für 9i, weil darauf habe ich damals gelernt aber wenn ihr eine 9i im Einsatz habt, dann passt das ja. Ich übernehme aber keine Haftung dafür, wenn das Ding zerschossen wird, am besten legst dir zum "herumoptimieren" eine Testumgebung an, kann ja auch in einer VM laufen.

Was viel bringen kann ist es noch einen eigenen Optimizer in die Statements einzubauen, falls das überhaupt möglich ist bei einen proprietären Client. Aber nach einer sorgfältigen Analyse des Kostenplans kann man da je nachdem schon noch einiges herausholen.

Jedenfalls macht für eine Oracle DB in der Größe mit dem Load es eigentlich keinen Sinn eine SSD einzusetzen, wenn der Rest total zerkurbelt ist. Wenn die Anwendung ordentlich optimiert wäre und die Datenbank ordentlich konfiguriert ist (vor allem die Indizes und die Optimizer) könnte mein Smartphone zu Abfrageergebnissen < 10ms führen, darauf geb ich dir Brief und Siegel ;)

Grüße
 
Zuletzt bearbeitet:
also das mit perfmon hätte ich schon eher machen sollen, bin nur selber drauf nicht gekommen :/ werde ich gleich mal die tage machen... thx dafür ^^

@ Ayn, also hab gerade nachgeschaut, ist doch ne etwas ältere oracle version, 7.3.3.0.0... hättest du evtl dafür auch paar optimierungs guides?

langsam glaub ich auch das mein problem nicht an der HDD oder halt SSD liegt, sondern echt an der schlechten umsetzung der zugriffe auf der DB...

wär echt nett falls du mir da was zu kommen lassen könntest, evtl hilfts bissal was :)



@ moderatoren, ich denk das thema hier hat sich als nicht SSD thema erwissen, daher würde ich bitte um ne verschieben, will hier nicht im falschen bereich meine fragen oder anregungen stellen :)


Danke leute für eure hilfe!
 
Zuletzt bearbeitet:
besser auf 10 updaten, über so viele versionen besser gleich von hand ohne automatische updates.
 
Das ist ja das problem, ich hab darauf glaub ich kein einfluss... M1 hat als oracle 7.3.3... Glaube nicht das ich da irgendwie updaten koennte ohne evtl was kaputt zu machen...

Eigentlich sollte m1 an sich mal das ganze updaten, kann ja nicht sein das so ne alte version keine nachteile in sache performance hat...
 
Thema verschoben nach "Anwendungsprogramme"

Threadtitel von "[Frage] SSD + Oracle DB = Sinnvoll?" auf "Allgemeine Fragen zur Oracle DB" geändert.
 
Narf, da habe ich vorhin so eine schöne Antwort geschrieben gehabt und dann brennt hier die Luft (sinngemäß). Ich werde mich da noch mal darum kümmern, wenn ich wieder zu hause bin.
Grundsätzlich sieht die Konfiguration jedenfalls gut aus.

db_file_multiblock_read_count = 32
Der Parameter ist an die individuelle IO Leistung des Systems anzupassen. Ab 10g Release 2 setzt man den nicht mehr, da ermittelt das dbms den optimalen Wert eigenständig.

db_block_buffers = 143360
Diesen Parameter kann man ab 9i dynamisch setzen und so Lastspitzen abfangen z.B.
welche Optimierungen da in 10g(r2) und 11g eingeflossen sind weiß ich nicht genau. Jedenfalls beeinflusst das direkt die Größe des Cache doch Achtung: ein zu großer Cache kann sich auch negativ auswirken. Man kann sich die Trefferstatistik auf der Konsole anzeigen lassen, wenn man sehr hohe Cache hits hat >95% kann man überlegen den Cache noch weiter zu vergrößern. Hat man jedoch sehr wenig Cache hits < 60%, dann sollte man den Cache verkleinern, weil dann die Engine nicht so viel Cache durchsuchen muss. Ist ein wenig ein Balance Akt.

shared_pool_size = 125829120
Im Shared Pool werden ja unter anderen die Ausführungspläne gespeichert, eventuell bringt es etwas diesen Parameter zu erhöhen auf 200 - 250 MB, das könntest du mal testen. Jedoch ist damit immer verbunden: DB rutnerfahren, ändern, DB starten etc. Aber so ist das halt.

Ich lasse dir und jemand anderen der angefragt hatte jedenfalls nachher die Dokumente zukommen, wenn ich wieder zu hause bin (Stündchen ist noch geplant, mal sehen ;) ).

Die ganze DB Engine auszutauschen ist natürlich mit erheblichen Aufwand verbunden, falls überhaupt möglich. Das hört sich für mich ja so an, als das die Datenbank mit der Anwendung zusammen ausgeliefert worden wäre und bei medizinischen Anwendungen mag ich auch immer nicht so recht dazwischenfunken, die haben ja sicherlich auch ganz stringente Anforderungen was das Protokollieren von Zugriffen / Datenschutzrestriktionen etc. angeht.

Grüße
 
ayn: dieser Performance Tuning Guide den du erwähnt hast, ist das der selbe wie dieser hier: Contents ?

Ich hätte die Hardware für eine 40GB 10g DB festzulegen. Es finden sehr viele Read/Writes statt. Pro Tag werden ca 6GB Redo-Logs erzeugt.
Es stünden 24 HDD Slots zur Verfügung. Das Budget würde verschiedene Optionen zulassen:
24x S-ATA Platten
12x SAS 15k Platten
2x SSD + 12 S-ATA
Welche Konfiguration wäre hier vorzuziehen, bzw gibt es einen "einfachen" Weg die Beste Konfiguration herauszufinden (der Tuning Guide ist doch SEHR umfangreich).
 
Oracle 9i Performance Tuning Stundent Guide Vol 1 + 2 + noch ein paar Folien vom Coach, die will ich aber vorher noch sichten.

Gut möglich, dass sich die Inhalte aber überschneiden, das ist auch alles kein Voodoo, da wird nur mit Wasser gekocht ;)

Grüße
 
also hab mal dein guide durch und hab, naja wie soll ich es sagen, nicht viel optimieren können :)

wie dem auch sei, ich habs mit der oracle db sein lassen, evtl such ich am faschen ort...

jetzt wollt ich einfach mal allgemein ne frage stellen...

wie könnte ich die der durchsatzt der schreiblese leistung der HDD/Netzwerkkarte auf dem server anzeigen lassen damit ich mal sehen kann was da so abverlangt wird vom system...

es wurd schon perfmon hier angesprochen, hab es auch versucht nur komm ich damit nicht ganz klar, statt das es mir MB/sec zeigt seh ich nen 100% diagram (evtl auslastung) doch die lese/write werte kann ich nicht sehen :/ evtl zu dumm zum einstellen...

gibts sonst nen tool zum testen? auch evtl mehr als nur netzwerk und hdd... halt komplett den server mal durchleuchten und danach optimierungs vorschläge machen...


das ganz hat jetzt evtl wieder nix mit oracle zu tun, aber das thema leitet von dort ab...



thx schon mal ;)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh