Copied from StackOverflow

Are there any overwhelming reasons to pick one over the other?

I'm in the middle. Our database administrator says that Oracle on Linux is better, but cannot present proof. Our hardware administrators only know Windows.

Right now we're proceeding with Linux, but I'd feel better if I could find some proof that it was a better OS for hosting Oracle.

The database has 500 GB of data. I know it's not big, but we have some processes that are taxing our Windows 2003 (32 bit) server.

-- Edit -- I've seen several very good arguments for either one. Nothing that makes the decision easier, but good points none the less. It looks like there isn't a definite "bad" choice.

11 Answers 11


if your server admins knows only Windows (MS-only shop) - you should use Oracle on Windows... or do you want as a DBA to maintain O/S, install O/S patches, handle O/S security, do O/S backups etc etc?

However, in case of mixed shop, I usually recommend Oracle on Linux for various reasons (some might be subjective):

  1. Better stability, drivers and market experience of linux 64 bit vs Windows 64 bit
  2. Linux is more flexible to tweaking and configuration
  3. Linux is the development platform as far as I know - releases / patches usually comes faster
  4. Since linux is open source, Oracle R&D can better investigate issues
  5. You can optionally get support from Oracle for the O/S (and VM) - "single throat to choke"
  6. Linux is considered more secure (but if you consider it flame - ignore it)
  7. I personally don't like all the registry and windows services stuff - need to hunt down NLS registry configuration etc is not nice
  8. Seem to be more customers using linux in higher-end configurations (RAC, data guard etc) than Windows.

But anyway, for your developers, accessing Oracle on windows or linux is the same, totally transparent. They should be checking Oracle goodies for .NET either way.

  • We have OEL and their support. We were somewhat disappointed that even when using OEL, the database install was a manual pain in the back side! If this install goes well, we'll probably move more databases to Linux.
    – Brad Bruce
    Commented Jun 8, 2009 at 20:36
  • Hi Brad, sorry for your pain... next time try to install the oracle-validated RPM, which automates all the pre-install steps...."When it is installed... sets and verifies system parameters... installs any additional packages needed for installing Oracle Clusterware and Oracle Database. It creates an oracle software owner (oracle), and the OSDBA group (dba) and Oracle Inventory group (oinstall). It also updates sysctl.conf settings, system startup parameters, user limits, and driver parameters..." download.oracle.com/docs/cd/B28359_01/install.111/b32002/…
    – Ofir Manor
    Commented Jun 8, 2009 at 21:44
  • Now WHERE was my DBA hiding that little gem? The install guide he had only showed how to edit the files manually! Thanks. It should make reinstalling tomorrow a little easier!
    – Brad Bruce
    Commented Jun 8, 2009 at 22:18
  • well, it wasn't there from day 1... So, not sure it is his fault (but looking at the latest online version of the install guide is always recommended). BTW - nowadays everyone can install it directly from Oracle public yum server (if your server has internet access) - just go to public-yum.oracle.com for details
    – Ofir Manor
    Commented Jun 9, 2009 at 0:13
  • I found out why we didn't use oracle-validated. It likes to install the latest version of all of the packages. It turns out that our SAN driver is incompatible with the latest version of several packages.
    – Brad Bruce
    Commented Jun 17, 2009 at 11:45

You should also have a look at Solaris. Solaris has always been extremely well supported by Oracle. And now that Sun has been bought by Oracle, it's probably going to be even better supported.

You can very well use OpenSolaris if price is an issue, or go with standard Solaris if you want great support. The Solaris option is used in the bank where I work, by a lot of our competitors and by the state where I live.

That said, the major difference in stability / performance / cost / ... will probably come from the platform in which your administrators are the most comfortable ...

  • if all the system admins in the company only know and support Windows - how is that going to help? Linux or Solaris are just as bad if no one will support it.
    – Ofir Manor
    Commented Jun 8, 2009 at 21:46

There used to be an overriding reason to go with Linux for 64bit support (and therefore better memory management) - this is now reduced with the more stable support of x64 WIntel platforms.

I cannot give you a definitive answer for why, but I looked after the IT support for a smallish development house who wrote applications against Oracle 7i, 8i, 9i and 10i - all database hosts were done vs Linux - on RHEL 3, 4 and 5.

The primary reason for this was given as it was the most stable supported Host OS that Oracle ratified for use with their database. With the plethora of patches that Microsoft release, it was almost impossible to keep the host OS at a level that Oracle had tested and would support.

Having used Oracle on Windows 2003 x64 and RHEL 4 x64 - the same database performed a lot better on Linux than on Windows - the back end storage was a 300Gb fibre presented raid 10 partition on an EMC array.

Both systems were 'untweaked'


It's down to a combination of which platform you'll get the best support from Oracle (or other external support providers) on, and which you're most comfortable with yourselves.

In my experience Oracle can be very high-maintenance, meaning that the quality of support is utterly crucial. If you can do it all in-house, more power to you, but it's an utterly huge beast these days, requiring a lot of dedicated resources to get the best out of, so like as not you're going to be calling on external support a bit. So which platform can you get the best external support on? I think that would be Linux, but I also think you'll get decent support on Windows.

On the other hand, and from the sound of things, your in-house skills are primarily Windows. Now, you can't be in a position where you're reliant on external support for basic day-to-day operational stuff. Also, I'd be suspicious of your DBA advocating Linux; OS platforms should be somewhat outside of a DBAs remit. Based on that alone I'd definitely be leaning towards Windows.


If you pay Oracle's own consultancy group to come in and design a 'turnkey' system for you that involves a DB there's a 98%+ chance that they'll install it on 'Oracle Enterprise Linux', which is their own rebranded version of RHEL.

That speaks volumes to me.


In practice you're unlikely to want to run a server which ONLY hosts an Oracle instance.

Even if you don't plan to run any other actual applications on there, you'll want monitoring, backup / restore, server management software and hardware support software.

Choose the OS on the basis of what OS those components run on (or you are most familiar with running on). It is likely you'll want to make some custom monitoring scripts / components; your developers will probably be more comfortable with one or the other, so allow them to make the decision on that basis.

Some organisations have a "never break" rule of insisting that absolutely every Windows box runs on-access AV software; this is likely to make the Windows box perform absolutely terribly. This is however, not a good reason to use Linux :)


MS SQL Server would be the first choice on Windows systems. On Linux, I'd use Oracle as database. I have worked with Oracle on Windows in the past and it works almost as well as under Linux. (Linux is faster with Oracle.) But more importantly, will those database administrators of yours be able to administrate the Linux hardware? They will have to do that, if your hardware administrators are unable to do so. If not, then you might decide to just go to Windows 2003 (64-bits) just because your organisation lacks the proper knowledge to keep these systems running properly on Linux.

Both Linux and Windows have their strengths and weaknesses. Both can be very good in the hands of experts. Both can be dangerous hazards in the hands of the amateurs.


Support is important as already stated... When you have the option to support both, clearly define SLA's for your app. Than release the db in both OS's and see how close you are to your SLA's. The cloud is great for this kind of A/B testing. In my experience for high performance SLA's I can find performance differences in different distributions of Unix/Linux let alone *nux vs Microsoft. Also, I do not believe testing DB's out of the box with out of the box OS configs. If that is the way tests are being done they are not useful. Most db's and os's can be customized to run better in different combinations. It would be silly to not consider that as part of the performance test. Every performance test I have ever done I have always found ways to make Oracle on some *nux version run orders of magnitude faster than windows. Those Os's offer more options to customize and that DB can also be customized for Linux to a greater degree. Linux vs Solaris can be interesting in particular because there is a often a slower ramp up time for solaris to reach maximum throughput than many linux distros.

I suspect any performance test that says windows performance compares to linux is an out of the box test or the tester just doesn't know how to customize the combination of linux and oracle.


The general rule is that Oracle is best on Solaris, then on Linux, then on Windows. Oracle now owns Solaris and repackages their own Linux (a clone of Red Hat / CentOS.) Those are the platforms that Oracle prefers. They are also the ways by which Oracle will support your entire stack.

I think that Windows sounds like the right choice for your shop, though, since that is where your skills already exist.

  • I think this was mostly true when Solaris was the main development platform. Oracle has since moved to Linux, and this is also the only platform for which Oracle will support the operating system directly. Of course, if they are allowed to aquire Sun Microsystems that last part might change :)
    – Roy
    Commented Dec 4, 2009 at 23:06

Here's my experience based on Oracle 10gR2 RAC on Win2003 x64:

I've got two production RACs that have been running happily for more than two years, with two maintenance reboots in between and four instance restarts due to patches application. So, stability-wise, Win2003 is a good option. System-wise, I have little to complain. It is stable and RAC configuration allows for good scalability.

However, should you install (or upgrade to) a RAC, bear in mind that RAC installs can be tricky, and RACs on linux are way more documented. When I installed these babies, I was somewhat out on my own and got my fair share of burns, and I have the feeling that RACs on Linux/Unix enjoy a somewhat better support.


Unless you are using the Linux oracle provides, you should choose windows 2008 for stability performance and manageability. Oracle provides linux with their install for the simple reason that they own it. It's got nothing to do with stability or performance. As described here Windows was the equal of or outperformed linux. I don't know of any other independant studies for 2008 but every upgrade I've seen showed improvemnt in performance over 2003

  • Since when did Oracle own Linux?
    – MarkR
    Commented Jun 8, 2009 at 21:12
  • see oracle.com/technologies/linux/index.html
    – Jim B
    Commented Jun 8, 2009 at 21:52
  • Oracle doesn't "own" Linux, allthough they have their own distribution. Solaris used to be their development platform until they moved on to Linux, long before OEL became available. RHEL and SLES are both well suported by Oracle and the community, there is no need to use OEL if you don't want to. As for that performance report, their setup was entirely I/O bound and the configuration looks flakey too. Not that I'd expect the OS to make a huge difference in performance, not out of the box anyway.
    – Roy
    Commented Dec 4, 2009 at 23:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .