I think we are still doing a 9.2 to 10104 upgrade as we refresh a database, everyday. My felowe dba, included the upgrade scripts as part of our refresh scripts.
so, we bring over raws, using create control file, instantiate the db, recover it using archivelogs, shut down, bring up in migrate mode, upgrade the db to 10g and then shutdown. Startup in open mode.
Works fine, we almost always test migrations like this whenever possible, so developers can mess around the db, which gets destroyed at the end of the day.
Now, we are not doing 9.2 to 10.2, but (as described above) we also do 10104 to 10202, so it is almost painless too.
However, the initial part of crs etc was a buit painful, once it is done, rest is almost mechanical.
YMMV Raj -- //www.freelists.org/webpage/oracle-l