Hi -

Since I am limited to a single server for development and production, I go through this every time we migrate to a new release. The thing you need to ensure is that all of the ORACLE_XXX environment variables are correct for each process that wants to use a particular version. One easy way to do this is by installing the new version in a separate directory branch, modifying the oratab file appropriately for each SID, then using oraenv to set the complete environment for each process that wants to use a particular SID. Remember that you can set ORAENV_ASK="NO" in shell scripts for non-interactive jobs.

An example of the (Unix) directory structure used here is:

ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=${ORACLE_BASE}/product/7.3.3 --- for 7.3.3
ORACLE_HOME=${ORACLE_BASE}/product/8.0.6 --- for 8.0.6

Tim