2. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 2/32
Oracle Core für Einsteiger:
Datenbank I/O
Martin Klier
Performing Databases GmbH
Mitterteich
#FiveWordTechHorrors „Storage comes from other department“
3. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 3/32
Referent
● Martin Klier
● Lösungsarchitekt und
Datenbankspezialist
● Fachliche Schwerpunkte:
– Performanceoptimierung / Tuning
– hochverfügbare Systeme
– Cluster und Replikation
● Linux seit 1997
● Oracle Database seit 2003
14. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 14/32
Einige IO-Kategorien
#FiveWordTechHorrors „Storage is fast. What's IOPS?“
15. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 15/32
Tablespace
DB file sequential read
Buffer Cache
6 Single Block Read IOs (=„random access“)
6 Memory Access Calls (CPU)
16. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 16/32
●
Verwendet für Einzelzugriffe (Index Block)
●
In äußerst geringem Maß auch bei Vollzugriffen möglich
●
1 I/O call liest1 Blockim TBS
●
Schreibt Buffer auf optimalen Platz im Cache
DB file sequential read
20. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 20/32
●
Verwendet für Massen-Lesevorgänge (Parallel Exec, Export..
●
1 I/O call liestn zusammenhängende Blocksim TBS
●
max(n) = DB_FILE_MULTIBLOCK_READ_COUNT
●
Schreibt zusammenhängend in die Prozess-PGA
Ziel: Sparen von IO- und CPU-Zeit
Direct Path Read
21. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 21/32
Oracle ASM
#FiveWordTechHorrors „No ASM diskgroups are online“
22. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 22/32
ASM
LUN 1 LUN 2 LUN 4 LUN 5
Location A Location B
LUN 3 LUN 6
Diskgroup A Diskgroup B
Oracle Datenbank
Instanz
ASM
Instanz
Verwaltung
Administration
Direktzugriffe
Online Redo Logs
Datafiles
Backups
...
Spiegelung
Spiegelung + Striping
23. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 23/32
●
„Automatic Storage Management“
(Automagic?)
●
Logical Volume Manager
●
Umgehung des Verwaltungslayers für Datenzugriffe
(analog Raw Device)
●
Multi-Master-fähig
●
Bedienung über SQL oder Command Line Tools
ASM
24. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 24/32
InMemory ist cool.
Cool reicht nicht.
UseCase muß passen.
#FiveWordTechHorrors „InMemory solves all performance problems“
25. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 25/32
Storage Sizing Basics
#FiveWordTechHorrors „Database fits into cache anyway“
26. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 26/32
●
Die Datenbank passt ohnehin in den Cache.
●
Wir vermeiden IO sowieso wo es geht.
●
Warum spiegeln - wir machen stündliche Archivelog-Backups
●
Vor zehn Jahren waren das noch Megabytes.
●
Ich mache das schon seit 20 Jahren:
Unsere Storage IST schnell genug für XYZ.
#StorageTechHorrors
28. @MartinKlierDBA Oracle Core für Einsteiger: Datenbank I/O 28/32
–
Falsch
–1. Data Block - eins
2. Undo Block - zwei
3. Online Redo Log - drei
4. Archived Redo Log - vier
5. Control File - fünf
5-Finger-Faustregel
–
aber ok
–
+1 für weitere(n) Block
+1 für Flashback Log