Remix.run Logo
▲ philipallstar 3 hours ago

I don't love Oracle, but they made so much money selling the best relational database on the planet for 40 years.

▲nylonstrung 2 hours ago | parent | next [-]

We must have extremely different definitions of what constitutes "best" or even "good"

▲JsonDemWitOster an hour ago | parent | prev | next [-]

Uh, it's only the "best" in the same sense that Windows Server is the best server infra on the planet. And arguably Windows has some network bandwagon effect behind its momentum: when your workstation supplier supplies machines with Windows pre-installed and you have built an IT Support Team with the expertise for Windows technologies, it only makes sense to also use Windows in your server.

AFAICT the only thing Oracle has over established FOSS DBs is vendor support and the only thing Oracle has over established FOSS vendors like Percona is a ginormous marketing budget. I'm always grimused when I see Oracle product placement in the MCU.

▲jiggawatts 2 hours ago | parent | prev | next [-]

"The best", but you'll be sued if you publish benchmarks: https://en.wikipedia.org/wiki/David_DeWitt#DeWitt_Clause

Every time I use Oracle, I regret it.

Just this month, I tried to hook it up to a modern .NET app with the latest Oracle client and discovered that if you cancel a transaction, the connection enters a broken state and is returned to the connection pool, "infecting it". After a half a dozen of those, the whole app server just dies with endless cancellation related exceptions. This isn't even the only such bug, apparently there's a whole family of pool-corruption bugs that have workaround config settings and everything!

This was with version 23.26.301 which suggests that they've had a lot of major releases, bug fixes, etc... but basic functionality like "connect successfully to the database server every time" is totally broken and has been for many years.

The issue tracker forums have tumbleweeds rolling through them and play the sound of wolves howling in the distance to provide just the right kind of "what are you still doing here?" ambiance.

▲scrlk an hour ago | parent | next [-]

> there's a whole family of pool-corruption bugs that have workaround config settings and everything

Back in 2018, a former Oracle developer explained what it was like working on Oracle DB: https://news.ycombinator.com/item?id=18442941

> Here is how the life of an Oracle Database developer is:

> - Start working on a new bug.

> - Spend two weeks trying to understand the 20 different flags that interact in mysterious ways to cause this bag.

> - Add one more flag to handle the new special scenario. Add a few more lines of code that checks this flag and works around the problematic situation and avoids the bug.

> - Submit the changes to a test farm consisting of about 100 to 200 servers that would compile the code, build a new Oracle DB, and run the millions of tests in a distributed fashion.

> - Go home. Come the next day and work on something else. The tests can take 20 hours to 30 hours to complete.

> - Go home. Come the next day and check your farm test results. On a good day, there would be about 100 failing tests. On a bad day, there would be about 1000 failing tests. Pick some of these tests randomly and try to understand what went wrong with your assumptions. Maybe there are some 10 more flags to consider to truly understand the nature of the bug.

> - Add a few more flags in an attempt to fix the issue. Submit the changes again for testing. Wait another 20 to 30 hours.

> - Rinse and repeat for another two weeks until you get the mysterious incantation of the combination of flags right.

Seems like their comment is still valid today.

▲marcosdumay 36 minutes ago | parent | prev | next [-]

My favorite bug of the .Net connector is how the entire API supports async operations, but the underlying implementation can't tell two different executions of the same query apart, so it's random whether each call will get their own results or some other ones.

But polluting the poll with unusable connections is just Oracle copying the MS-SQL's thing. The C# recommended coding practices will automatically deal with this. (Not that you would want to follow them, but you may want to look and copy this part.)

▲JsonDemWitOster an hour ago | parent | prev | next [-]

What an honor for Professor De Witt (no relation to my handle).

My handle notwithstanding, I'm smart enough to not take legal advice from HN but nonetheless I cannot stop myself hence the rhetorical question: how is a EULA clause like that even enforceable? If this isn't going against freedom of speech then this surely it's against some consumer protection laws?

The cynical answer to that I guess is "a lot of money funding a legal team the size of a warlord's militia" and also "lobbying" but even then it doesn't track to me that this clause could have even that much of an effect as a scare tactic?

▲hobo123 2 hours ago | parent | prev | next [-]

That should just be illegal. The right to measure or to publish things is not about their software, it's a personal right, so Obstacle shouldn't be able to remove your right in their license agreement.

▲gchamonlive an hour ago | parent | prev [-]

To be fair with Oracle, every software has it's idiosyncrasies and for many corporations the devil you know wins every time. The problem starts when new projects start adopting such a hopeless stack.

▲gchamonlive 2 hours ago | parent | prev [-]

OracleDB, MongoDB and PHP over IIS natively on a single Windows machine running on Azure. Delicious.

▲pepperoni_pizza 2 hours ago | parent | next [-]

I've lost count how many "cloud-native application deployed on Azure" at my job have turned out to be this. Installed by random contractors who have since left of course.

▲gchamonlive an hour ago | parent [-]

It's easy to deploy grief and call it a day if you aren't the one cleaning up afterwards. On the other hand the blaming mentality never led anyone anywhere so I'm not really sure how one is to address this.

My guess would be the cause is unreasonable corporate pressure for productivity, so if this is the case the natural answer would be to give people more time to think about architecture, create incentives for group studies and laboratories and remove incentives that lead to the so called "résumé-driven development"

▲catchnear4321 2 hours ago | parent | prev [-]

please don’t trigger my ptsd like that, thanks

▲gchamonlive 2 hours ago | parent [-]

HN despertely needs a collapsible "spoilers" section in the comments