The idea of creating an Exadata simulator arose at Oracle Day 2011 Istanbul. One of my friends was trying to fix a virtual machine in a hurry (right before his presentation), he said his “fake Exadata” crashed. He was just joking but I wondered if it’s possible to build an Exadata Simulator using virtual Box (or any other virtualization software). I googled and found nothing useful but I started to work on it.
An important point is, simulating Exadata does not mean simulating all features of Exadata Database Machine. The key features of Exadata Database Machine are infiniband connections and Exadata Storage Servers (the offloading capabilities and Flash Cache). It’s obvious that we do not need to simulate infiniband. All we need is to simulate “Exadata Storage Servers”.
Smart scanning, storage indexes, hybrid columnar compression, I/O resource manager, smart flash cache are all handled by the Exadata Storage Server “Software”. Although it’s called Oracle Exadata Database “Machine”, its heart is the Exadata Storage Server “Software”. You may say that all hardware needs software but the Exadata software is not an embedded one, it’s just an application running on Oracle Linux 5.x 64bit.
I found a way to download the Exadata Storage Server Software. It took about 3 days to install it to a virtual box, and 1 week to solve the problem about mapping physical “disks” to cell disks. By the way, I haven’t modified any executable file nor script. So it was a clean installation. Then I created an ASM disk group using my “fake” Exadata Storage, and started to test the features of Exadata Storage Server.