Migrating to a new version of Oracle can be safely done in several steps, it doesn’t have to be an all or none transition. Note: The following steps assume a UNIX environment.
1. Install the 11g binaries in a different ORACLE_HOME, it is even best to use a different Unix account to keep these environments separate from each other. Follow the advice of the installer and set the environment variable, ORACLE_BASE, as your diagnostic directories are based off that variable. I noticed this installer no longer allows you to cancel the netca utility (using an interactive install) which I recommend so that a listener isn’t started on the default port of 1521 which would also do the automatic registration of any databases on that node. There have been issues when using multiple listeners from different oracle homes in previous versions so I start up a listener for each ORACLE_SID on non-default ports using the LOCAL_LISTENER init.or parameter.
2. Migrate listeners to 11g, they work with most downlevel clients. I haven’t had an issue using one full version difference such as an 10gR2 database with a 126.96.36.199.0 listener. Using the environmental variable TNS_ADMIN keeps any problems with scripting or otherwise to a minimum.
3. Migrate your RMAN catalog to 11g, hopefully this is on a different node than production. No issues using downlevel RMAN clients (10gR2) to talk to a RMAN catalog on an 11g database. DON’T use the 11g RMAN utility to try and backup lower level databases, not recommended. Your RMAN version should always be the same version as the database. While I was at it the RMAN catalog was migrated to ALU32UTF8 characterset, this migration to a new characterset is relatively easy to accomplish with exp/imp since the catalog is usually small.
4. Migrate your Grid Control 10.2.0.4 repository database to 188.8.131.52.0. It is highly recommended not to use the standard database install that comes with Grid Control. Precreate the database at the version you want and then install the Grid Control Server components, it is easy to do with the interactive installer that comes with Grid Control. I also migrated this database to ALU32UTF8 at this time.
5. Migrate some of your smaller applications to 11g. For example we have a small java portal application that went to ALU32UTF8 and 11gR1. By the way….it runs faster in 11g.