I'm not sure that any one OS can be classified as the "best." Each has its pros and cons. Sun Solaris is a stable OS that has been around a very long time. But many that are looking at Real Appication Clusters (RAC) are looking towards Linux. It is much cheaper to procure multiple Linux boxes for your RAC than Sun Solaris boxes. Especially when considering that for Solaris, you'll also need to procure some clustering software. For Linux, you can use Oracle's Cluster-ready Services (OCS), which you can get for free from Technet.
Oracle provides two really good High Availability options, Real Application Clusters and Data Guard (DG). Each has its own pros and cons as well. With RAC, you achieve high availability by clustering multiple nodes together. Should one node go down, the others are there to get the work done. RAC also lets you scale your workload by adding more nodes should your current cluster not be able to handle the load. So RAC gives you higher availability and higher performance. But RAC typically costs more than Data Guard. With DG, you have two (nearly) identical databases. Should the primary go down, you failover to the standby. DG does nothing to address performance, but it costs less to implement too.
This was first published in April 2006