Can Oracle XE and Microsoft SQL Server 2005 run on the same server in a production environment? From an IT professional position, why would I not allow Oracle XE and MSSQL2005 to run on the same server?


On the same logical server, even if you can do it technically (I don't know if one or both products will fail in this case), you are likely to struggle with resource contention. Both database servers are far happier being masters of their own little universe. I think you'll just make every little job you need to do on that system a tiny bit more difficult than it has to be.

Now if you were to partition a physical server into two logical servers with virtualisation, then it should be a piece of cake.


Just thought I should expand this a bit: Firstly, there are issues with patching - If you do something that requires an OS restart (thankfully not common these days but not impossible) then you've interrupted one of the services because of an issue with the other one.

Secondly, resource contention can be important, with 3 obvious areas... processor, RAM and disk. All of these are obvious, and the first two can be dealt with by configuring each service to only use 50% (or whatever) of resources on a shared box.

Disk can be a problem, whether you virtualise as I suggest, or not. You need to consider space, obviously, and IO throughput. The first one is simple, you either have enough or you don't. The second one might require a bit more planning; if good IO is needed then you need to consider separate disk spindles for each type of disk use for each app (e.g. db files, logfiles, backup), so for both on a physical server you're talking about quite a lot of separate disk arrays to allow for high availability and good throughput.

For tip-top performance you're probably also talking about separate RAID controllers for at least each app's set of disks, if not separate RAID controllers for each disk set.

It depends what you're trying to do. I mean where I work there's production for the in house helpdesk software used by our support team with no more than 10 of them connected at once (important in terms of availability but blistering performance not required so much), and there's performance for our CRM app that all the staff use to manage student details (requires 'reasonable' responsiveness to users and does a lot of data crunching in the background), and there's PERFORMANCE for the student intranet which is used as the student web homepage when they log on and runs a portal through which they receive and submit assignments, read class notes, talk to tutors, etc. and is expected to cope with thousands of people doing all those things at once.

  • FYI... I have both servers working fine on my development workstation... They, however, do not have production users. Thank you so much for your answer though... I appreciate the word of warning. – Michael Rosario Jun 3 '10 at 21:28
  • That's good to know. I think resource contention would be an issue on a production server - on a dev machine you generally have less users hitting the db at once, and if there is a bit of a slowdown then its less noticeable. – Rob Moir Jun 3 '10 at 21:56

While this can almost certainly be made to work, it will likely require some trial and error and you will probably have issues now and again.

It is far better to virtualize, and have each function running on a separate server on the single piece of hardware.


Sure it can work. They listen on different default ports and are completely independent applications. If they are lightly used (which I assume they will be since you are using the express editions of both) you will probably be OK, but know that databases are RAM and I/O hogs, so if you expect the apps to be any meaningful size you will want the databases on separate servers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.