Re: Why the hell isn't Oracle paying for this?!
This is the biggest problem with these sorts of contracts in my experience.
Your company goes to $vendor and say "I would like to buy a product that does X, Y, Z - what can you sell us and how much discount can we get?"
A sales drone from $vendor says "We have a lovely product DWH2.0* that does not only X, Y, z(sic) but also optionally A, B, C and we can sell it to you at an excellent price"
then someone who's paying attention points out that Z and z are actually not the same thing, but it gets glossed over by some managers who got terribly excited about the idea of at least one of A, B, and/or C despite no one who's going to use to tool caring in the slightest about that.
So now the contract gets signed, with $vendor saying "We promise to provide DWH 2.0 which does X, Y, z, and A in 18 months and for a large sum of monies."
Then the thing shows up and the person who pointed out that z and Z aren't the same thing is proven absolutely right and whoever's in charge - which at this point may well not be the same person who signed the contract in the first place - goes "Oh shit, that thing we bought doesn't actually work. Um, $vendor, how much to get Z implemented as well?" At which point the thing that should have been part of the contract from the get-go is now added in at a massive additional cost and a 9 month delivery slippage.
Sometime during that extended, now 30 or more month, period some other idiot, who got too excited during the initial sales pitch, suddenly realizes that B and C aren't included. "Well, No" - says $vendor - "You didn't pay for those and we did say they were optional..."
...which is the point we discover that they're actually not optional any more, because in the intervening months this new idiot has been basing all their decisions around the idea that the new product would have B and C because they didn't read the actual contract but the nice sales rep sure did spend a lot of time talking about B and C in the initial pitch.
So now we need to get a price for B and C - oh, and by the way, since this project is now well over a year behind schedule we actually need D as well, which wasn't any part of the initial pitch but our requirements have changed because getting this implemented has taken so long.
"Sure!" says $vendor "But D is going to require a major change and we can backport it to DWH 2.0 - but it would be much better you bought DWH 3.0 instead which is finally out now, and will only cost an additional 10% on top of your original contact's per-month price!"
"Oh no! goes basically everyone, that's far too much money, how much for the backport?" To which the real answer is "Fuck if we know, the sales drone pitched it without actually asking engineering if it was possible to do a special custom version of DWH that was basically version 2 but with one of the big features of version 3 shoe-horned in there" so hands get waved and everyone is assured that it'll definitely be cheaper to some extent...
...which after another 12 months of messing about by the engineering department at $vendor to try and get this shit working it's discovered that no, it's definitely not going to be cheaper, but we've still paid for the proof of concept work, and to start again with DWH 3.0 now would be even more expensive.
So now here we are, two full years after the initial contract should have already been delivered and we've paid the full cost, plus a bunch of additional un-planned "upgrade" costs, the thing still isn't here, we're looking at at least another year to get a special weird and impossible to properly support version of DWH 2.0 with only some of the benefits of 3.0 and oh look, 4.0 is out now and that's a whole new thing and 2.0 is going to be retired the year after next so your original contract won't be valid anyway and you'll need a special extended support contract for even more money.
By this point all the people responsible for the initial decision have long since fucked off and all the staff who just wanted X, Y and Z to get their jobs done are many years more entrenched in the (almost certainly Excel based) workaround they put in place to deal with the fact that the old DTAH** system didn't handle Y terribly well, and have added another bunch of stupid shit on top of that which means that when we finally get DWH 2.1.043.misery.q4 actually delivered, it doesn't do what they want it to anyway.
All of this shit could have been avoided if everyone involved actually read the exact specification and contractual obligations but since that has never once, in the history of procurement, ever actually fucking happened we're stuck with this sort of nonsense happening over, and over again forever, and asshole sales drones keep on selling things that don't actually exist to idiot managers who keep buying things that don't actually do what they want.
/rage.
* Disaster Waiting to Happen
** Disaster That Already Happened - because that product also went through this exact same bullshit procurement process