|Oracle9i Real Application Clusters Deployment and Performance
Release 1 (9.0.1)
Part Number A89870-02
This chapter describes Oracle Real Application Clusters application deployment issues. This chapter first explains considerations for taking advantage of the scalability features of Real Application Clusters. It then explains some of the general issues of application deployment in Real Application Clusters environments.
This chapter includes the following topics:
To optimally deploy applications within Oracle9i Real Application Clusters environments, consider the issues for the Oracle features described in this chapter. Proper implementation of these features minimizes deployment and integration problems. It also ensures that your system takes full advantage of the breakthrough technology of Cache Fusion and the high-performance features of Real Application Clusters.
The feature descriptions in this chapter provide a starting point for Real Application Clusters application deployment. For additional information about these features, refer to other Oracle documentation as noted.
You should consider several application deployment issues to optimize Oracle9i Real Application Clusters performance. These issues relate to features that are unique to Oracle and that enhance the performance of Real Application Clusters. The features discussed in this section are:
High availability systems are systems that have redundant hardware and software that maintains operations despite failures. Well designed high availability systems avoid having single points-of-failure. When failures occur, failover moves the processing performed by the failed component to the backup component. Oracle's failover process quickly re-masters resources, recovers partial or failed transactions, and rapidly restores the system.
You can combine many Oracle products and features to create highly reliable computing environments. Doing this requires capacity and redundancy planning. You must also set expectations and examine your service level agreements. In addition, consider your overall system costs and your return on investment. There are also other practical considerations such as selecting the appropriate hardware and deciding whether to use idle machines that simultaneously serve as part of your high availability configuration.
Primary/Secondary configurations are the least complicated type of high availability configuration to set up. These are also the easiest type of configurations to administer. For example, the administrative overhead for a primary database in this configuration is the same as the overhead of a single instance configuration.
In Primary/Secondary configurations, the second instance does not have to remain idle. For example, you can use the second instance for read-only operations.
You do not have significant scalability with Primary/Secondary configurations, but you do have high availability. Active/active instance configurations, on the other hand, are more complex to configure. In Active/Active configurations, performance is the critical factor.
Oracle Real Application Clusters Guard, which is an enhanced configuration of Real Application Clusters, offers yet another high availability solution. Real Application Clusters Guard tightly integrates Oracle's enhanced recovery features within the cluster framework of your platform. Real Application Clusters Guard is only available on specific UNIX configurations.
Oracle9i Real Application Clusters Concepts for more information about Real Application Clusters and high availability and for more conceptual information about Real Application Clusters Guard
Oracle Net enables services and their applications to reside on different computers and allows them to communicate with each other. Oracle Net establishes network sessions and transfers data between clients and servers or between two servers. Real Application Clusters requires Oracle Net to enable connectivity; you must install Oracle Net on each machine in your network.
The Oracle9i Net Services Administrator's Guide for more information about Oracle Net
Real Application Clusters with the functionality of the shared server can process thousands of concurrently connected database users. Shared server is extremely efficient at managing the connection load for many users; shared server operates similarly to the way that transaction monitors work.
Real Application Clusters with shared server significantly enhances the performance of applications running on two or more smaller computers. You do not need to rewrite your applications to use shared server. In fact, some applications perform better with shared server than without.
With shared server configurations, user processes connect to a dispatcher. The dispatcher then directs multiple incoming network session requests to a common queue. When a server process becomes available, the dispatcher connects the incoming request to the idle dispatcher. When the connection is no longer needed, the server process is available for another request. Thus, a small set of server processes can serve a large number of clients.
The connection load balancing feature automatically distributes connections among active instances. Connection load balancing does this based on the workload of the different nodes and instances in a cluster. You can use connection load balancing, in both shared server and dedicated server environments. Real Application Clusters and Cache Fusion combined with connection load balancing allow you to run many types of applications without application or data partitioning.
You must install Oracle Net to use shared server and its load balancing features.
The transparent application failover (TAF) feature automatically reconnects applications to the database if the connection fails. Because the re-connection happens automatically within the OCI library, you do not need to change the client application to use TAF.
Because most TAF functionality is implemented in the client-side network libraries (OCI), the client must use the Oracle Net OCI libraries to take advantage of TAF functionality. Therefore, to implement TAF in Real Application Clusters, make sure you use JDBC OCI instead of PL/SQL packages.
You can also use TAF in Primary/Secondary Instance configurations. If you do this, then use the
INSTANCE_ROLE parameter in the Connect Data portion of the connect descriptor to configure explicit secondary instance connections.
To use TAF, you must have a license for the Oracle9i Enterprise Edition. Because TAF was designed for Real Application Clusters, it is much easier to configure TAF for that environment. However, TAF is not restricted for use with Real Application Clusters environments. You can also use TAF for single instance Oracle. In addition, you can use TAF for the following system types:
PL/SQL is Oracle's procedural extension of SQL. PL/SQL is an advanced fourth-generation programming language that offers features such as data encapsulation, overloading, collection types, exception handling, and information hiding. PL/SQL also offers seamless SQL access, tight integration with the Oracle server, as well as tools, portability, and security.
The PL/SQL User's Guide and Reference for more information about PL/SQL
Recovery Manager (RMAN) is an Oracle tool that you can use to backup, copy, restore, and recover datafiles, control files, and archived redo logs. You can invoke RMAN as a command line utility or use it through the Oracle Enterprise Managers.
RMAN automates many backup and recovery tasks. For example, RMAN automatically locates the appropriate backups for each datafile and copies them to the correct destinations. This eliminates the manual, error-prone effort of using operating system commands to accomplish the same task.
You must accurately configure RMAN so that all instances can access all the archive logs throughout the cluster. When one instance fails, the surviving instance that performs recovery must access the archive logs of the failed instance.
Oracle9i Real Application Clusters Administration for details on configuring RMAN for use with Real Application Clusters and Oracle9i Recovery Manager User's Guide and Reference for detailed information on RMAN
Oracle9i supports cluster file systems on a limited number of platforms. Cluster file systems simplify Real Application Clusters installation and management. Using cluster file systems eliminates the need to manage raw devices. Cluster file systems also offers scalable, low latency, highly resilient file systems that significantly reduce storage costs. For details on how to implement cluster file systems, refer to your vendor cluster file system documentation.
The next chapter in Part One examines application development for online e-commerce and decision support systems. The remainder of this book examines the design and performance phases of deployment for Real Application Clusters.