- No license fees is huge. My company saves tens of thousands on license fees when we can't really afford it.
- The ability to set up environments super quickly is amazing.
- Rollback of DDLs is huge for testing migrations
- The backup features aren't broken by default. I've spent hours researching how to back up an oracle db and transfer it to another. And at that point versions matter. With postures I think I spent 30 minutes total figuring it out over the years.
Overall I am a huge fan of Postgres having used it for about half of my career and oracle for the other half. I genuinely hope I never use oracle again.
We have a database server at work that costs us about $10k a year. It’s bare metal so that gets a nice spec. We’re probably a little over provisioned, but not crazy so.
The sticker price of the Oracle licence for this would be about $400k a year.
It’s just a complete non-starter for most companies.
Oracle can't roll back these (create table/drop index etc)? That really surprises me. Pretty certain MSSQL can, because I've used it. Amazed, actually, that oracle can't.
MSSQL can roll back DDL. But the DDL changes are not fully transactional, as other trans sacri one can see new columns and tables before the DDL transacrion commits.
Postgres gets it right. DDL is contained in the transacrion until commit.
Having DDL is nice until you are trying to add indexes to a production system and can’t have it locking the entire table. Then you need to add the index concurrently and Postgres does not support concurrent index creation inside of a DDL transaction.
> No license fees is huge. My company saves tens of thousands on license fees when we can't really afford it.
It isn't always about affording it, it's about risk reduction, or the perception thereof:
Every single time the company I work for has to renew a license, it has to once again initiate the long, painful process of finding its ass with both hands. "Why are we paying for this? Who exactly is using it? Why are they using it? How much will this cost? Can we make it cost less? Given that it's impossible for us to negotiate this cost, how can we make the company we're licensing it from not charge us as much money as it's inevitably going to? When is this license due? Why hasn't IT, which has no purchasing authority, fixed this yet?"
With Postgres and CentOS and other OSS, none of that happens. The C-levels never know, so they never get a chance to do their headless-chicken dance routine. Much more relaxing.
- Why are you worried about license fees as a developer? :-) Seriously speaking, start with Oracle SE2. It is so cheap, I would use it everywhere. And if you need those "partitioning", "parallel execution" etc - your business is Enterprise, and you can afford such price tags. (I know, there will be a sh1tst0rm now, but please think about what IO said from business POV)
- Oracle Public Cloud gives you database extremely fast - and you will never have issues with license audit
- The name of "Rollback of DDLs" is "no developer access to production" and "UAT" :-)
I'm a big fan of Postgres, and it's got plenty going for it. That's not to say Oracle isn't a good database in its own right. The knocks against Oracle tend to be lock-in, complexity, price, but rather than go in a checklist comparison I'd rather say what's unique about Postgres:
- Based on its license it's very hard for any one company or individual to "own" Postgres, this makes risk of a company as a bad actor being minimized pretty appealing
- Its geospatial capabilities put it as the most advanced geospatial database, only ESRI software really stands to beat it here
- The improvements for app devs from things like JSON, to a variety of index types put it in unique territory among relational databases
- The extension framework is truly unique and stands to be where a lot of future innovation happens.
"Based on its license it's very hard for any one company or individual to 'own' Postgres"
I know you already know this, but it takes a lot more than just a license. I'd like to call attention to the very enlightened (and noble) work others have done to build a robust political structure and community for Postgres.
The core team, committers and major contributors are spread across many companies and continents. There are different foundations across different regions for handling finances, trademarks, domains, and other basic business operations.
Amazingly, a lot of this structure was being put in place a long time ago, when Postgres was still the weird database option to choose.
Worked on a large application for the Dutch government with Oracle as database using spatial. Oracle is the only database that implemented spatial wrong (in my opinion). Oracle is the only one that implemented spacial functions to have a parameter for the accuracy. So basically you spacial function could calculate things wrong depending on that parameter. We had issues in the calculations when we where subtracting land to see what parts we needed to buy from land owners for laying new roads. We could not fix this. Oracle didn't help. They payed millions for licenses but they did not offer enough support in my opinion. I did some of the calculations in postgres with the spacial extension and most of them where way faster (10 times was not uncommon). Postgres also did not fuck up the calculations like oracle did. The project actually had a huge amount of psql code and we could not switch to postgres...
The original comment was about how few packages and how little space Postgres takes. PostGIS is good but it pulls in a lot of extra packages.
I hate Oracle as much as anyone but this is no longer a fair comparison. If you’re bragging about how good PostGIS is, you’re no longer anywhere near a 66MB install. More like (IIRC) 5 to 10 times that.
I bookmarked this tweet from 2012 - "I wish I had enough money to run Oracle instead of Postgres." "Why do you want to do that?" "I don't, I just wish I had enough money to."
I've used plenty of Oracle; it's a poor choice (probably the worst) for organisations of any size. People buy Oracle in large corporations because that's what their leaders and their team know, and it helps them stay relevant in the company. Especially in places where daily work is more about engaging in office politics than dealing with technology.
It's often higher performance and with better HA solutions than any other options. I have a lot of dislike for the company, but it's silly to say it's a poor choice for any organization size..
You may not:
<<list of things you cannot do>>
- disclose results of any program benchmark tests without our prior consent.
I sadly suspect that Paul Förster might need a lawyer if anyone from Oracle finds out about that post. Which, given that this is trending on Hacker News, they easily might.
people have known this things for quite a while (ie as as far as perf goes oracle is not worth it) and there is a reason why oracle includes that in the license.
also, this comparison would not register as a proper “benchmark” as it’s not even close to how you would perform a proper benchmark. it’s more of a data point.
on top of that there is the optics of suing a guy that wrote an email over some insane provision in your license. probably not worth it. and probably that provision is there to stop competitors from doing an apples to apples comparison and publishing the results that show how much oracle sucks.
as a closing thought: i’ve never heard about anyone starting a new project and even considering oracle as a db for it. it’s mostly locked in people that have to put up with this stuff. legacy code is a bee
I was once subjected to the oracle dB for an ill fated social network project. They purchased 2 servers and oracle licences for 8 cores along with coldfusion licences and then it turned out that a special driver was required to allow them to talk to each other - I managed to find one from a company in germany that only cost a couple of grand. But hey, they were going to be big and only enterprise solutions were on the table - despite my suggestions.
I’m not sure how much it all cost to get started in the end, but it was a lot of cash before development even started. Aside from that, it was not a fun experience developing for it. I mean, for the most part a relation dB is a relational dB, but there was something about working with oracle that just felt broken compared to postgres.
> also, this comparison would not register as a proper “benchmark” as it’s not even close to how you would perform a proper benchmark. it’s more of a data point.
I would prefer to not have to argue about that in court...
Chances are, he lives in a country where essentially saying "by purchasing our product you agree not to tell anyone how bad it is" is unenforceable. That might even include US.
DeWitt clauses (the name for these clauses) have been around since the early 1980s, and have not been struck down yet. I would love to see them disappear, though. For more, see my essay here: https://dwheeler.com/essays/dewitt-clause.html
The fact that something is unenforceable is a poor way of stopping rich lawyer-based companies, such as Oracle, from attempting to enforce it nonetheless.
It's not about making it reasonable, it's an open threat to punish anyone who does decide to benchmark Oracle. Nobody's going to win the case, but whoever violates the term will surely wind up bankrupt defending themselves.
I think this clause is not reasonable and should not be legal. However, these clauses (they're called "DeWitt clauses") have been around for almost 40 years and they have not gone away.
For more, see my essay, "The DeWitt clause’s censorship should be illegal" https://dwheeler.com/essays/dewitt-clause.html (I mentioned it in another thread, but you might not have seen it).
Why not? Installation time and disk size are two values that may be important for some customers, and measuring those might therefore be considered benchmarks.
SQL Server has the same thing if I’m not mistaken. There’s a big reddit benchmark post that goes out of its way not to say SQL Server in the benchmark just for that reason.
People are scared of corporations, but they don't really have much ability to damage you. They can't cause physical harm to your body. They can't take away your loved ones. All they can do is take some money. You started life with $0, so you can probably make it all back. It would be inconvenient, but not an existential crisis.
The likeliest outcome is that nothing will happen. The second most likely outcome is that they will say "don't do that again". People in this thread have a lot of speculation as to how evil Oracle is, but I haven't really seen them go out of their way to ruin people's lives. They sued Google over the range check function because they wanted a percentage of Android, not because they wanted to make Larry Page's life miserable. Legal action costs money, a lot of money, and even companies we think of as evil don't go out of their way to expose themselves to lawsuits.
More scary to me than evil corporations are people that spread fear, uncertainty, and doubt to encourage others to self-censor where they are afraid to speak out themselves. Everyone knows about Oracle's benchmark clause. Everyone knows that you personally would never even think of violating it. The author of this post sees it differently, and on a forum called "Hacker News", we should celebrate the risk he's taking, not spread fear about what could happen in the worst case.
> It would be inconvenient, but not an existential crisis.
Don't generalise from your life; you only have to take care of yourself and Ayaya. A majority of people are deeply committed to a relationship/family/tribe, where losing all one's money definitely constitutes a crisis.
Your first paragraph is totally ridiculous. Maybe you started with $0, but maybe that was 30 years ago and losing all your savings from then till now, including your home, is more than an inconvenience. If you have dependants then that loss could directly impact their lives and especially their education – what if some of that money had been for a college fund? In the US especially, and also to some extent in Europe, having less money affects what medical care you can afford, so it actually can cause physical harm. At the extreme end of things admittedly, these changes could put strain on relationships which could even mean you really do lose loved ones.
I actually do agree it's unlikely that Oracle will follow through with their implied threat, but let's not pretend that their threat is meaningless.
Oracle may very well want to litigate it. I doubt they care about the optics.
This is the well-known DeWitt clause, so named because Oracle crafted it to squelch database research being performed by Dr. David DeWitt. I believe these clauses should be clearly ruled as illegal, but to my knowledge they still persist. Details here:
https://dwheeler.com/essays/dewitt-clause.html
Larry loved those full banner Exadata claims against competitors in your airport terminal. A week later, they’d be gone after HP/Dell/IBM/Cisco sent the lawyers to contest.
Larry would just rotate the banner, mission accomplished, no fine with a retraction.
Since competitors make bank selling Oracle solutions and can’t publish a bmark w/o his permission he doesn’t need to litigate. It’s his ocean.
Maybe one justified reason is that proper benchmarking can be hard. Especially running fair benchmarks between competing complex products.
At some point some big database vendors were showing full-page ads in prominent industry publications comparing database X to Y. This kind of clause in license may make publishing misleading performance figures a bit harder.
I do agree that benchmarking is hard, especially for databases that have so many knobs and buttons to tweak things to suit particular workloads.
I think DB makers should take it as an opportunity to make inroads into developer communities, explaining how to configure and optimise, maybe even work together to create a standard test harness. Rather threatening to bankrupt anyone that talks about their database...
That's not a very useful comparison. Databases are made to execute queries, not to install them. The only useful metric is performance and features (and price, of course). Sure, Oracle is bloated and pain to manage, but if it works faster, provides unique features and costs less in the end, people will use it.
Just look at Postgres[0] supported column data types and then look at Oracle[1]. Better data types means more tightly defined columns, which means fewer bugs/less defensive programming/reduced maintenance/reduced code complexity.
No doubt someone will be along shortly to tell me "you don't NEED it!" and then tell me how to hack constraints into making it act like something it is not, but I don't care. I have no interest in "forcing" Oracle to act like a modern database through repeatedly having to re-define 30+ year old common data types (e.g. Int32, Int64, Long, Bool, etc).
As a developer I /hate/ working with Oracle. It is just cludgy. I don't care how many times people point to vague indefinables for why it is "superior," it sucks to work with. Microsoft Sql Server is better, and Postgres/Sqlite are superb.
Just the fact Postgres has a date (with no-time) column means it outright wins. In Oracle, we stored them as <Date> 12:00 but that's a gotcha since it can get timezone adjusted in the pipeline (e.g. <Date> 12:00 becomes <Date> 08:00) and the result be subtly broken. Cannot time-zone adjust a real date type.
You should store dates with timezone or you can't make calculations like how old is this post. You could base it off system time, but then the calculation have to take into account summer/winter time.
> Databases are made to execute queries, not to install them.
But being able to freely/quicly stand up database servers and quickly create/drop databases makes development and testing much simpler and more reliable.
Given the question: "How do you know that deploying this thing will work?"
- When it's quick/legal to stand up fresh servers and create databases, the answer can be "I tested it, just now, and it works."
- Otherwise you end up in "I read through it and it looks good" or perhaps "We tried most of it on the test instance last week before the other team started using it."
Actually, the whole "create database" is misleading when comparing the two.
For Oracle, a "database" is the a server instance; you create the database when you install the software (without creating a "database" you don't actually have anything running). For postgres, a database is just a level of data organization/segregation.
In an oracle instance you only have a single database. The equivalent of the postgres "database" would be "user/schema" in Oracle.
> That's not a very useful comparison. Databases are made to execute queries, not to install them. The only useful metric is performance and features (and price, of course). Sure, Oracle is bloated and pain to manage, but if it works faster, provides unique features and costs less in the end, people will use it.
Initial installation may not matter much but long maintenance windows directly lead to higher costs. If every patch requires a 60-90 minute downtime, you're going to pay for that in production deploy time.
That depends on a service. For example I'm working on a service which is used by people at working hours (something like 8AM - 19PM, Mon-Fri). I can do anything outside of that window (well, +-30 minutes just to be sure) and nobody's going to pay for it, most likely nobody would even notice.
And for service that's expected to work without interruptions, I think, there should be a way to switch to a secondary database, otherwise those promises are futile. And if there's a way to switch to a secondary database, long patch install time is not a big deal.
Because whether it's 1 minute or 60 minutes, it's interruption nonetheless.
It has been known for DECADES that Oracle is outrageously expensive compared to the competition. But the unwillingness of larger companies to go with open-source databases which have no multi-billion dollar company behind them has kept Oracle in the saddle all these years.
I think that mission critical, legacy systems from a time before there was big OSS acceptance at the CTO level is the main reason. I’m not sure how many greenfield projects are using Oracle, but I’d expect that is rapidly decreasing over time. However, if you’ve had an Oracle db running for 20 years, and the cost of screwing up a migration starts at 9 figures, and runs into the 10 figures, then Oracle have you by the cost-benefit balls.
Oracle consultant here -> The Oracle world is shrinking admittedly and its shrinking from the smaller end up. I almost never get called by a company with less then 500 users or $100k a year of licence obligations.
Oracle is a tried and tested safe bet when implementing corp wide, multi year projects. The HN crowd won't like it (and for good reason) but CTOs will always bet on name recognition when millions or billions are on the line.
I am a platform architect in a large company that has a few hundreds TB database servers that are not on open-source software; we do use Postgres in about the same number of instances, but not for the core databases. There are several reasons for that, from tooling (SSMS has no competition) or simplicity to manufacturer support; for example, using MS SQL setting up high availability or replication is a matter of a few clicks (or a page of code) with no extra add-ons, packages etc. and these features are perfectly integrated in the database engine, supported by the same company, come in the same installer. Even for smaller databases we prefer the free edition of MS SQL, for development, testing or validation we use the free developer edition, so the cost is not that bad, while the product is much more simple, coherent and better supported and this matters when you do the math. The day Postgress will have an integrated tool as good as SSMS, high availability and replication seamlessly integrated and the ease of use for the operations team to keep it in good shape without highly skilled DBA's, I am the first in line to evaluate and deploy it. Until then, it is not good enough, even for free.
If creating a database takes 30 minutes, there is something extremely wrong either in the procedure the person used to do so, or in the Oracle software itself.
In the Oracle world, creating a DB is not something you do often. In most cases you only have a database on the whole server/cluster and all the applications will use that database instance, being isolated at user/schema level. So that 30 minutes time is not that important actually.
Creating pluggable databases (containers) is fast.
Well, if the database has the number of tables, triggers, stored procedures, etc that SAP or Oracle’s ERP has then this seems less unreasonable. We’re talking thousands
- No license fees is huge. My company saves tens of thousands on license fees when we can't really afford it.
- The ability to set up environments super quickly is amazing.
- Rollback of DDLs is huge for testing migrations
- The backup features aren't broken by default. I've spent hours researching how to back up an oracle db and transfer it to another. And at that point versions matter. With postures I think I spent 30 minutes total figuring it out over the years.
Overall I am a huge fan of Postgres having used it for about half of my career and oracle for the other half. I genuinely hope I never use oracle again.
The sticker price of the Oracle licence for this would be about $400k a year.
It’s just a complete non-starter for most companies.
Oracle can't roll back these (create table/drop index etc)? That really surprises me. Pretty certain MSSQL can, because I've used it. Amazed, actually, that oracle can't.
As far as I know, other than Postgres, only Sybase ASE, Informix, DB2 UDB, and Firebird support transaction DDL.
Postgres gets it right. DDL is contained in the transacrion until commit.
It isn't always about affording it, it's about risk reduction, or the perception thereof:
Every single time the company I work for has to renew a license, it has to once again initiate the long, painful process of finding its ass with both hands. "Why are we paying for this? Who exactly is using it? Why are they using it? How much will this cost? Can we make it cost less? Given that it's impossible for us to negotiate this cost, how can we make the company we're licensing it from not charge us as much money as it's inevitably going to? When is this license due? Why hasn't IT, which has no purchasing authority, fixed this yet?"
With Postgres and CentOS and other OSS, none of that happens. The C-levels never know, so they never get a chance to do their headless-chicken dance routine. Much more relaxing.
- Why are you worried about license fees as a developer? :-) Seriously speaking, start with Oracle SE2. It is so cheap, I would use it everywhere. And if you need those "partitioning", "parallel execution" etc - your business is Enterprise, and you can afford such price tags. (I know, there will be a sh1tst0rm now, but please think about what IO said from business POV)
- Oracle Public Cloud gives you database extremely fast - and you will never have issues with license audit
- The name of "Rollback of DDLs" is "no developer access to production" and "UAT" :-)
- hmmm... $> rman rman> connect target rman> backup database plus archivelog delete input; rman> exit
What can be easier?
Are you a huge fan of Vacuuming, XID Freezing, WAL optimisations etc. etc.?
The MVCC in Postgress, in my view (!) is joke from academia, where they had not a single DBA :-)
Dead Comment
- Based on its license it's very hard for any one company or individual to "own" Postgres, this makes risk of a company as a bad actor being minimized pretty appealing
- Its geospatial capabilities put it as the most advanced geospatial database, only ESRI software really stands to beat it here
- The improvements for app devs from things like JSON, to a variety of index types put it in unique territory among relational databases
- The extension framework is truly unique and stands to be where a lot of future innovation happens.
I know you already know this, but it takes a lot more than just a license. I'd like to call attention to the very enlightened (and noble) work others have done to build a robust political structure and community for Postgres.
The core team, committers and major contributors are spread across many companies and continents. There are different foundations across different regions for handling finances, trademarks, domains, and other basic business operations.
Amazingly, a lot of this structure was being put in place a long time ago, when Postgres was still the weird database option to choose.
Where does PostGIS stand in comparison?
I hate Oracle as much as anyone but this is no longer a fair comparison. If you’re bragging about how good PostGIS is, you’re no longer anywhere near a 66MB install. More like (IIRC) 5 to 10 times that.
And the other one is bribing. From mild to criminal, involving payments via vendors to decision makers - http://allthingsd.com/20120816/oracle-settles-sec-bribery-ca...
The standard license (http://www.oracle.com/technetwork/licenses/standard-license-...) you agree to when you download software from the Oracle Technology Network (OTN) does state that you're not allowed to disclose benchmarks.
I sadly suspect that Paul Förster might need a lawyer if anyone from Oracle finds out about that post. Which, given that this is trending on Hacker News, they easily might.also, this comparison would not register as a proper “benchmark” as it’s not even close to how you would perform a proper benchmark. it’s more of a data point.
on top of that there is the optics of suing a guy that wrote an email over some insane provision in your license. probably not worth it. and probably that provision is there to stop competitors from doing an apples to apples comparison and publishing the results that show how much oracle sucks.
as a closing thought: i’ve never heard about anyone starting a new project and even considering oracle as a db for it. it’s mostly locked in people that have to put up with this stuff. legacy code is a bee
I’m not sure how much it all cost to get started in the end, but it was a lot of cash before development even started. Aside from that, it was not a fun experience developing for it. I mean, for the most part a relation dB is a relational dB, but there was something about working with oracle that just felt broken compared to postgres.
I would prefer to not have to argue about that in court...
I mean... does anyone here think this is in any way reasonable? Is this even legal?
There's no proof that figure wasn't Larry Ellison.
/s
For more, see my essay, "The DeWitt clause’s censorship should be illegal" https://dwheeler.com/essays/dewitt-clause.html (I mentioned it in another thread, but you might not have seen it).
Don't think installation size or length of time taken to set up the program really qualify as a "program benchmark test", so he should be fine
The likeliest outcome is that nothing will happen. The second most likely outcome is that they will say "don't do that again". People in this thread have a lot of speculation as to how evil Oracle is, but I haven't really seen them go out of their way to ruin people's lives. They sued Google over the range check function because they wanted a percentage of Android, not because they wanted to make Larry Page's life miserable. Legal action costs money, a lot of money, and even companies we think of as evil don't go out of their way to expose themselves to lawsuits.
More scary to me than evil corporations are people that spread fear, uncertainty, and doubt to encourage others to self-censor where they are afraid to speak out themselves. Everyone knows about Oracle's benchmark clause. Everyone knows that you personally would never even think of violating it. The author of this post sees it differently, and on a forum called "Hacker News", we should celebrate the risk he's taking, not spread fear about what could happen in the worst case.
Don't generalise from your life; you only have to take care of yourself and Ayaya. A majority of people are deeply committed to a relationship/family/tribe, where losing all one's money definitely constitutes a crisis.
I actually do agree it's unlikely that Oracle will follow through with their implied threat, but let's not pretend that their threat is meaningless.
This is the well-known DeWitt clause, so named because Oracle crafted it to squelch database research being performed by Dr. David DeWitt. I believe these clauses should be clearly ruled as illegal, but to my knowledge they still persist. Details here: https://dwheeler.com/essays/dewitt-clause.html
The guy can spend money on a buying a Russian Mig29 fighter plane.
I am sure he can throw some money to make someones life a misery because he can.
Larry would just rotate the banner, mission accomplished, no fine with a retraction.
Since competitors make bank selling Oracle solutions and can’t publish a bmark w/o his permission he doesn’t need to litigate. It’s his ocean.
At some point some big database vendors were showing full-page ads in prominent industry publications comparing database X to Y. This kind of clause in license may make publishing misleading performance figures a bit harder.
I think DB makers should take it as an opportunity to make inroads into developer communities, explaining how to configure and optimise, maybe even work together to create a standard test harness. Rather threatening to bankrupt anyone that talks about their database...
Deleted Comment
Just look at Postgres[0] supported column data types and then look at Oracle[1]. Better data types means more tightly defined columns, which means fewer bugs/less defensive programming/reduced maintenance/reduced code complexity.
No doubt someone will be along shortly to tell me "you don't NEED it!" and then tell me how to hack constraints into making it act like something it is not, but I don't care. I have no interest in "forcing" Oracle to act like a modern database through repeatedly having to re-define 30+ year old common data types (e.g. Int32, Int64, Long, Bool, etc).
As a developer I /hate/ working with Oracle. It is just cludgy. I don't care how many times people point to vague indefinables for why it is "superior," it sucks to work with. Microsoft Sql Server is better, and Postgres/Sqlite are superb.
Just the fact Postgres has a date (with no-time) column means it outright wins. In Oracle, we stored them as <Date> 12:00 but that's a gotcha since it can get timezone adjusted in the pipeline (e.g. <Date> 12:00 becomes <Date> 08:00) and the result be subtly broken. Cannot time-zone adjust a real date type.
[0] https://www.postgresql.org/docs/9.5/datatype.html
[1] https://docs.oracle.com/cd/B28359_01/server.111/b28318/datat...
But being able to freely/quicly stand up database servers and quickly create/drop databases makes development and testing much simpler and more reliable.
Given the question: "How do you know that deploying this thing will work?"
- When it's quick/legal to stand up fresh servers and create databases, the answer can be "I tested it, just now, and it works." - Otherwise you end up in "I read through it and it looks good" or perhaps "We tried most of it on the test instance last week before the other team started using it."
I much prefer the former.
For Oracle, a "database" is the a server instance; you create the database when you install the software (without creating a "database" you don't actually have anything running). For postgres, a database is just a level of data organization/segregation.
In an oracle instance you only have a single database. The equivalent of the postgres "database" would be "user/schema" in Oracle.
Initial installation may not matter much but long maintenance windows directly lead to higher costs. If every patch requires a 60-90 minute downtime, you're going to pay for that in production deploy time.
And for service that's expected to work without interruptions, I think, there should be a way to switch to a secondary database, otherwise those promises are futile. And if there's a way to switch to a secondary database, long patch install time is not a big deal.
Because whether it's 1 minute or 60 minutes, it's interruption nonetheless.
_if_
Of course, those aren't the only reasons, and probably not the the main reasons, why big orgs use bloated proprietary crapware.
Oracle is a tried and tested safe bet when implementing corp wide, multi year projects. The HN crowd won't like it (and for good reason) but CTOs will always bet on name recognition when millions or billions are on the line.
If creating a database takes 30 minutes, there is something extremely wrong either in the procedure the person used to do so, or in the Oracle software itself.
Creating pluggable databases (containers) is fast.