In my experiences, the terms "active-active" and "active-passive" mean different things to different people. So, let's not bother labeling the two main configurations (at least that's what I think you're talking about) and just explain them.
With multi-instance databases in Oracle, you can optionally set the active_instance_count parameter. If set to 1, then one instance will assume the "primary" role and it will allow sessions to connect directly to it. All other instances will have the "secondary" role until the primary instance fails. When the primary instance fails, one of the secondary instances will assume the primary role and begin accepting connections. There are a number of reasons that this configuration is useful, and it is typically used to provide very fast failover. This is useful for applications that require faster failover than a traditional failover cluster but that cannot run in a parallel configuration due to an application design problem (all users update one row in one table or any number of other related issues).
When the active_instance_count is set to a value other than 1 (or it is not set at all), then users may connect to any instance. This is what most people think of as a "true" parallel database since processing is taking place on multiple nodes at the same time. In versions prior to 9i, this was the configuration that required very careful planning and design to avoid pings created when application users touch the same data from multiple instances.
In general, most people refer to an "active-passive" configuration as the first one I've described (when active_instance_count is set to 1) and "active-active" is commonly associated with the second case where users are active on more than one node simultaneously.
This was first published in September 2004