I have one followup question:

Is there a good methodology or resource to determine "how to partition my application?" How do I determine the "best way" to partition my app.

Well, that's two questions :-)

1. Partitioning means the design of an application so that OPS instances access mutually exclusive sets of data. If you do not have such an application, you will see often or at times worse perforamnce than before. This is valid mainly for OPS, not for RAC. Partitioning an already existing application means rewring most of the code, which is often out-of-the-question operation. Now, although we do not have partitioned application, we use OPS in the following way: Node1 is the OLTP instance, all (well almost) DMLs take place there. Node 2 is a reporting instance: only selects are run there. Thus with take benefit of the 8i Cache Fusion, which means that blocks needed for reading (note for reading, not for writing as implemented on RAC 9i) are transfered via the Interconnect, not via disk.

2. I do not know for I am not familiar with your applications.

Based on my overview, can you tell whether you think OPS would improve or degrade performance?
Hard to say, the guess is degrade, unless you tune the server almost perfectly which is very difficult. I am spending most of my time tuning the OPS server, it is a hard job. Many things do not works as in a single instance DB. I suggest again that first you get familiar with OPS, read all you find about it and then make up your mind.