I am doing some tests to migrate a 9i database to a 11g database using TTS, from Solasi 9 to Solaris 11 (no convert required). The cenario is:
ServerA (Oracle 9i, datafiles in filesystem) ---> ServerB (Oracle 11g, datafiles in ASM)
My doubt is: How to copy the datafiles from the filesystem in ServerA throught the network, and put then in ASM on ServerB? After this operation a will attach the datafiles to the new database. I did some tests with RMAN COPY, first i copied (via OS command "cp") the test datafile to a staging area, accessible by both servers, then, logged on ServerB, i tryied to copy this datafile using RMAN COPY, but the error "datafile not found in the recovery catalog" appears to me.
I have to say that I thought that the only reason you'd use TTS was to avoid Endian issues (going from AIX to Linux, for instance).
I tried to move one database (about 500Gb or so) using TTS because we wanted to move it on Linux and it was very cumbersome to the point where the downtime was too great and the potential for data loss was not something the project were willing to sign off on - there are certain data types which won't be moved across using TTS.
GoldenGate is another option that is supposed to guarantee zero downtime during the upgrade, but that too doesn't deal with some of the obscure data types very well. And it can be a pain to configure initially (a basic configuration is nice and easy, but if goes wrong, the most common solution is to 'start over again')
I would advise following the standard upgrade process. You could build a 'shell' 9i database on Server B and then upgrade to 10g, build a 10g ASM, move the datafiles to ASM, upgrade the 10g ASM to 11g GI and then upgrade the database to 11gR2. You might have to move to the terminal release for 9i (I can't remember what that is).
MOS/Metalink has really good upgrade docs, to be honest. They take you step by step through the process and are very thorough.