I agree, but RAC is like crack, and Oracle know it. FWIW, RAC is actually pretty good - esoteric, yes, but actually capable of an awful lot.
The thing about Oracle is that if you run single server, then you could conceivably migrate to Postres. You've got a world of dev work to do, but you could do it. Once single server starts puffing a bit and the sharp suited Oracle guys tell you RAC is your best option, the PHBs get involved. In fairness to them, they're faced with a big license fee to pay each year, or to pay more in dollars and lost dev time to convert to Postgres. Spending (say) 3-6 months engineering out of Oracle and onto Postgres is pretty career limiting if not done exactly right - not only have you got to convince the CxOs that it's the right way to go (which is hard), but you've got to hit your deadlines and Postgres *has* to give you headroom beyond the next 2-3 years at least (and you've got to push back on your feature delivery a bit). That's a hell of a personal risk to take as a PHB, and so it becomes much easier to spend a lot of someone else's money and buy RAC instead. The implementation costs are tiny in comparison, and you guarantee headroom for several more years at least.
Whilst I can understand all of this, what I can't understand is how anyone thinks Oracle isn't just going to turn up the thumb screws in years 2-3. I mean, once you've used RAC enough that you couldn't "just drop in postgres", then they know you've got months of dev work just to shard up your data, never mind actually use a different RDMS. As much as I think Oracle are arseholes, cranking up the license to a captive customer is pretty understandable. How on earth the CxOs can't see this up-front is beyond me - what the hell do they teach on MBA courses?
What I can't abide is the slight-of-hand stuff Oracle also does. The subtle changes to contract wording that mean you sign your contract renewal and are instantly in violation of your contract (which they only tell you about a few months later). That to me seems more like a protection racket, and surely must be illegal in a lot of jurisdictions. I wonder if customers can ask for assurances that they're license-compliant on day one of contract renewals? That wouldn't stop you having to pay, but at least you'd get some transparency while dealing with the contract, and would mean you could at least stay compliant until the next renewal.
So anyway, if you're about half-using an Oracle single server, then start looking at Postgres. That way you're always small to Oracle and not worth hassling too much, and you won't ever get into all this horrible stuff.