We used the following design principles and best practices to create the database VM:
- SCSI controllers—We created multiple SCSI controllers to optimize and balance the I/O for the different database disks, as shown in the following table. We chose the controller type VMware Paravirtual for optimal performance.
Table 3. SCSI controller properties in the database VM
SCSI 0 |
Guest operating system disk |
None |
VMware Paravirtual |
SCSI 1 |
Oracle DATA disks |
Physical |
VMware Paravirtual |
SCSI 2 |
Oracle REDO disks |
Physical |
VMware Paravirtual |
SCSI 3 |
Oracle OCR, GIMR, FRA, TEMP |
Physical |
VMware Paravirtual |
- Hard disk drives—We assigned the following properties to all database-related virtual disks (for example, DATA, REDO, FRA, OCR/VD, and TEMP):
- Raw Device Mapping (RDM)—For optimal performance and management simplicity, all Oracle related disks presented to the ESXi host from the Unity storage array are mapped directly as raw devices to the database VM.
- Virtual Device Node—For load balancing and optimal performance, the SCSI controllers are assigned as noted in Table 3.
- VM vCPU and vMem—The following table lists the amount of virtual CPU (vCPU) and virtual memory (vMem) that we assigned to the database VM during the testing of the reference architecture.
Table 4. VM configuration: vCPU and vMem details
Number of vCPUs |
Limit (MB) |
Reservation (GB) |
Total (GB) |
Limit (MB) |
18 |
Unlimited |
192 |
256 |
Unlimited |
- Network adapters—We added two network adapters, one for in-band VM or guest operating system management and one for Oracle public traffic, to the database VM. We configured the two adapters with the recommended type setting of VMXNet 3.
- Enable disk UUID—In each of the VM options, we added the configuration disk.enableUUID parameter and set it to TRUE. This setting ensures that the VMDK always presents a consistent disk UUID to the VM.