As mentioned before, I frequently find myself in discussions around Oracle performance and how an Oracle database behaves on EMC storage. It turns out that often there is a lot of confusion on how the different layers interact with each other and very few people seem to understand the whole stack.
So I started a personal challenge to make a “one picture tells more than 1000 words” complete overview of the Oracle on EMC database stack.
I failed.
Turns out it’s nearly impossible to get everything in one picture without cutting corners.
So here is a simplified (and therefore incorrect) picture. It ignores certain complexities and is far from complete, and might even contain errors.
I made a few assumptions and bypasses:
- The database is using ASM on Fibre Channel disks (picture for filesystems or NFS protocol would look very different)
- Storage is EMC Symmetrix (EMC VNX/CLARiiON would look very similar)
- Dual fabric SAN for high availability and load balancing
- No Virtual provisioning, FAST-VP etc (this would make the picture much more complicated)
- I focus on the database and redo log writer. Oracle has many more processes performing I/O. Left out for simplicity.
- I completely ignore the network layer. Not relevant for this explanation
- Also ignored are volume partitioning (alignment), host logical volume managers, oracle RAC etc etc etc.
- The picture reflects RAID-5 3Data+1Parity configurations. RAID-1 or RAID-6 would look very similar.
- Symmetrix Metavolumes are not always used. In many cases, customers assign Symm logical volumes directly to the host.
- And much more I didn’t mention…
Maybe it helps many people in starting to understand the end-to-end performance stack of an Oracle database. Feedback welcome as always!
Comments are closed.