Partitioning with Farms and Clusters
Oracle Application Server Tips by Burleson
Now that we understand the basic
configuration of multiple Oracle9iAS instance, it?s important to
recognize the sub-partitioning within the App Server layer.
Oracle9iAS provides two levels of collections with the App Server
layer, allowing the Oracle9iAS administrator flexibility in the
creation of multiple Oracle9iAS instances:
Instances - In Oracle9iAS, an
instance is defined as a collection of processes required to run a
component within an application server instance. A instance is
made up of one or more Java containers and the support structure
needed to support them. The Oracle9iAS Infrastructure is an
instance with a supporting database to store metadata.
Clusters - In Oracle9iAS a
?cluster? is an arbitrary collection of instances that are part of
the same farm and also shared a common configuration and J2EE
Farms - In Oracle9iAS, a ?farm? is
a collection of instances and clusters that comprise your
Oracle9iAS system and share a common repository infrastructure.
In sum, a farm is any related group of
Oracle9iAS instances sharing a repository, while a cluster must
share a common definition and J2EE applications (Figure 1.7).
Any Oracle9iAS architecture may have many farms and many clusters
defined within the system.
Figure 7: Oracle9iAS Farms and Clusters
Now that we have the basic idea, let?s take
a closer look at Farms and clusters.
A cluster is a collection of Oracle9iAS
instances that share identical configuration parameters an
application deployment schemes and J2EE applications. Clusters
are used to enforce heterogeneity within the Oracle9iAS instances.
Hence, additions are commonly made to clusters when processing
demands require an additional Oracle9iAS instances in order to
manage an increased demand at the application server level.
Instances in a cluster are managed by the Oracle9i AS
Infrastructure, which provides an easy method or creating and
It is important to note that Oracle9iAS
clusters are used in conjunction with the Web Cache load balancing
algorithms, such that the load balancing at the Web Cache layer
monitors all of the Oracle9iAS instances in the clusters, and feeds
work to the least-loaded Oracle9iAS instance. Please note that
only J2EE and Web Cache components can be clustered, and that
clusters must host a common set of J2EE applications.
There is important one-to-many relationship
between an Oracle9iAS instance and a metadata repository. Each
Oracle9iAS instance may have one, and only one metadata repository,
while each metadata repository may service many Oracle9iAS
From the Oracle9iAS architecture point of
view, a farm is a collection of Oracle9iAS instances is that all map
to the same metadata repository. Because each Oracle9iAS instance
within a farm must contain the same metadata repository, all
instances within the farm must share of the same configuration and
application membership information.
Now that we understand the App server level,
let?s take a quick look at the database tier of Oracle9iAS.
The Oracle9iAS Database Tier
The Oracle9iAS database tier contains the
standard Oracle9i relational database (or any other database).
The function of the database tier is to provide the application with
persistent storage. The Oracle9i Application Server also
contains a special instance called the Infrastructure that uses a 9i
database to store metadata. This database is more correctly in
the application server tier since it does not provide persistent
storage for the application. The application server provides a
method to place the Infrastructure database schema into a database
in the database tier however best practices will still recommend
that the Infrastructure database support only the infrastructure and
to be separate from the customer database for performance reasons.
Oracle Portal ? Oracle web screen
component definitions are stored inside the Oracle infrastructure
Oracle Reports ? Oracle report
specifications are stored inside the Oracle infrastructure
Oracle Discoverer ? Oracle
discoverer metadata is stored inside the infrastructure.
Oracle Personalization ? The Oracle
infrastructure database is used to store consumer group
information and historical page viewing (referrer statistics)
Now that we have covered the database tier,
let?s dive deeper into the Oracle9iAS architecture and take a brief
tour of each of the Oracle9iAS components.
This is an excerpt from "Oracle
10g Application Server Administration Handbook" by Don Burleson
and John Garmany.