ACTIVE_INSTANCE_COUNT enables you to designate one instance in a two-instancecluster as the primary instance and the other instance as the secondary instance. This parameter has no functionality in a cluster with more than two instances. When you set this parameter to 1, the first instance you start up becomes the primary instance and accepts client connections. The second instance starts up as a secondary instance and can accept client connections only if the first instance fails. In such an
event, the secondary instance becomes the primary instance.
When the failed instance can once again be started up, it starts up as the secondary instance, and will not accept client connections unless the current primary instance fails.
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.