I recently tried installing Oracle 11g on a server already running 10g. Each would run independently with no problem, but 10g refused to run simultaneously with 11g. Can this be done? I don't need a solution so much as confirmation that it is indeed possible.
Yes, you can have different versions of Oracle installed and running on the same server. I'd probably go with different listeners on different ports. And you wouldn't want two instances with the same name running. There's plenty of other areas you'd want to be sure they don't bump into each other (mostly disk locations).
That said, running two instances (other than dev/test) on one server isn't generally recommended. If they are small, you'd probably get better performance as separate schemas in one instance, and if they are big then go for separate servers. Also consider virtualization as an option.
You can always have multiple oracle accounts; the oracle account does not need to be named oracle. For example, you can have an oracle10 and an oracle11 user. This is more straightforward than a single 'oracle' user and multiple ORACLE_HOMEs.
The listeners can also be on different ports (eg, 1521 and 1523).
It is certainly possible. You do need to ensure that the different versions are installed in different Oracle Homes, but other than that, you can have as many versions of Oracle as you'd like.
Caveat: Technically, multiple home support was introduced in 8.1.5-- if you're using earlier versions, the answer changes a bit. You can still generally do it, just not as simple.
We do it around here all the time.
I would suggest if you decide to run 1 listener to service multiple homes/versions (like all on port 1521) that you run the listener from the highest version of Oracle that is in the group being serviced. I don't have any specific issues to cite but we have seen more reliability when we have say a 10g listener servicing 9i and 10g databases rather than a 9i listener trying to service 9oi and 10g databases.