Configuring Oracle CM SDK for RAC

Technical Brief: Configuring Oracle CM SDK for Oracle Real Application Clusters (RAC)

Author: Oracle CM SDK Team, Version 1.0, January 2004

Table of Contents

  1. Introduction
  2. RAC Fundamentals
  3. Oracle CM SDK Connect Descriptor Settings for RAC
  4. Oracle CM SDK Load Balancing and Failover in a RAC Environment
  5. Oracle CM SDK Configuration Tasks for RAC
  6. Configuring OID for use with Oracle CM SDK on RAC
  7. References

Introduction

This document describes how to configure Oracle Content Management SDK to leverage the features of Oracle Real Application Clusters (RAC). The use of RAC is mostly transparent to applications running on Oracle CM SDK; however, there is some configuration that must be performed in order for the system to run smoothly.

In this document, we first provide a fairly high-level background discussion of Real Application Clusters (RAC). We then discuss the configuration steps that must be performed to allow Oracle CM SDK to function properly with a RAC configuration. We also discuss the configuration steps required to allow Oracle CM SDK applications using Oracle Internet Directory (OID) to use RAC.

Real Application Clusters Fundamentals

A cluster is a group of computers acting together that behave like a single system. Clustering requires both hardware (interconnect) and software (clusterware) support. Traditionally, clusters were used in high availability read-only applications, such as data warehouses. These days, clusters are increasingly becoming a lower-cost approach to computing applications that require very high availability and scalability.

An Oracle Real Application Cluster (RAC) consists of two or more computers configured to interact to provide the appearance of a single Oracle database. These two or more nodes are linked by an interconnect. The interconnect serves as the communication path between each node in the cluster database. Each Oracle instance uses the interconnect for the messaging that synchronizes each instance's use of shared resources. Oracle also uses the interconnect to transmit data blocks that the multiple instances share. The primary type of shared resource is the datafiles that all the nodes access.

Real Application Clusters require that all nodes have simultaneous access to the shared disks to give the instances concurrent access to the database. The implementation of the shared disk subsystem is based on your operating system: you can use either a cluster file system, or place the files on raw devices. Cluster file systems greatly simplify the installation and administration of Real Application Clusters.

More information on RAC can be found in the references.

Figure 1: An example of a RAC Configuration

Oracle CM SDK Connect Descriptor Settings for RAC

The components of Oracle CM SDK that we need to configure for RAC are:

  1. The Oracle CM SDK Node and HTTP Node services. These components, not to be confused with database nodes, provide the protocol servers and agents as well as service connection management and user sessions.
  2. The Domain Controller, which is responsible for starting (bootstrapping) and monitoring the domain.
  3. The administration tools, such as ifsctl, Oracle Enterprise Manager Application Server Control, and Oracle Enterprise Manager Grid Control. These are used for managing the Oracle CM SDK components.

When configuring Oracle CM SDK, the system administrator has two options for specifying an explicit value for the database connect descriptor of an Oracle CM SDK service configuration: either by specifying a <DatabaseUrl> entry in the registry.xml configuration file on each middle tier host, or by using the service configuration property named IFS.SERVICE.JDBC.DatabaseUrl.

Unless set by one of these two methods, this property defaults to null, which means "synthesize a minimally-defined connect descriptor from the domain name." However, if specified, this property will be used in creating the service's database connections.

Setting the DatabaseUrl property allows you to specify a connect identifier for any naming service supported by the underlying JDBC driver, such as the Local Naming Service (better known as tnsnames.ora). Note that the JDBC thin driver does not support any naming services. In the naming service, a more fully-defined connect descriptor can be defined for that connect identifier. This applies when creating an Oracle CM SDK service's database connections. Example settings are shown in the following sections.


Note: This behavior comes standard with Oracle CM SDK 10g (9.0.4) but has also been made available for Oracle CM SDK 9.0.3. To obtain this functionality, download the following patches from the ARU Web site:

  • ARU Patch 4940953
  • ARU Patch 4940956

Which value should I update?

From a RAC point of view, setting the <DatabaseUrl> entry in the registry.xml file is the preferred method since this value can be used by the Domain Controller, the management and administration tools, and the Oracle CM SDK Nodes during their operation. The only drawback is that this entry has to be set on all of the middle-tier machines.

The IFS.SERVICE.JDBC.DatabaseUrl is a convenient way of setting this parameter for all of the middle tiers from a central location using the Application Server Control. The problem is that during startup, the Domain Controller and ifsctl utility don't have access to the database, and so will need to synthesize the connect descriptor. This will still work, but will not be able to take advantage of the multiple RAC nodes and if the required listener is down, Oracle CM SDK will not be able to start up.


Note: Be sure to specify a correct value for the IFS.SERVICE.JDBC.DatabaseUrl parameter. If you specify an incorrect value, Oracle CM SDK processes cannot connect to the Oracle CM SDK schema. The only way to effectively change this parameter in this situation is to modify the value directly in the database.


So, when planning to use Oracle CM SDK in a RAC environment, Oracle Corporation recommends that you set the <DatabasUrl> property in registry.xml.

Oracle Enterprise Manager Settings for RAC

In the Application Server Control, for Oracle CM SDK SQL metrics (like Document Statistics, Documents By MIME Type, and Users) to work against a RAC database, you need to specify the target instance property DBConnectDescriptor for the Oracle CM SDK target. You can specify this in the targets.xml file in the Oracle home of the Application Server: $ORACLE_HOME/sysman/emd. The value of DBConnectDescriptor can be either a naming service connect identifier in the tnsnames.ora, or an explicit identifier for the database connect descriptor.

The Grid Control relies on a Management Agent being installed on each middle tier in its own separate Oracle home. If this Grid Control Agent is installed after you configure the Oracle CM SDK middle tier for use in a RAC environment, then the DBConnectDescriptor will be automatically configured in the targets.xml of the Grid Control Agent's Oracle home. This is done using the targets.xml values from the Application Server Control Oracle home on the Oracle CM SDK middle tier.

If a Grid Control Management Agent is installed on an Oracle CM SDK middle tier before you enable RAC support, you will need to configure DBConnectDescriptor for the Oracle CM SDK target in the targets.xml of the Grid Control Agent Oracle home. This value can be obtained from targets.xml values specified in the Application Server Control Oracle home on the Oracle CM SDK middle tier. (See Post-configuration Tasks for more information on updating the targets.xml file.)

Oracle CM SDK Load Balancing and Failover in a RAC Environment

Listener Load Balancing

Oracle RAC is a set of instances operating against the same database. The instances have a common service name, but distinct instance names. A database listener sits in front of these instances to provide load balancing across them. The listener is aware of each instance, whether it is running or down, and its load. In creating a database connection, a client generally specifies only the service name, and not the instance name, in order to defer instance selection to the listener's load balancing algorithm. This is called listener or connect load balancing.

Figure 2: Listener load balancing (for example, lsnr 1 can balance the load between both instances)

With Oracle CM SDK, in this scenario, using the default connect descriptor is fine, because it specifies the service name but not the instance name.

Client load balancing

Rather than have a single listener, there can be a set of listeners. As before, each of these listeners is aware of all instances for the database. Clients can balance connection requests across these listeners by supplying a list of listener addresses in their connect descriptor, which Net8 will use on a round-robin basis.

Figure 3: Client load balancing

Example: Sample tnsnames.ora entry enabling load balancing

RAC =
  (DESCRIPTION = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = rac2)(PORT = 1521))
  (LOAD_BALANCE = ON)
  (FAILOVER = ON)
  (CONNECT_DATA =
  (SERVICE_NAME = rac)
  (failover_mode = (type=select)(method=basic))
  )
  )

For Oracle CM SDK, the default connect descriptor specifies the hostname and port of only a single listener, and cannot balance loads across multiple listeners. However, by setting the IFS.SERVICE.JDBC.DatabaseUrl property or the <DatabaseUrl> entry in the registry.xml configuration file, Oracle CM SDK services can opt-out of the default connect descriptor and specify a connect identifier whose corresponding connect descriptor specifies a list of listeners.

Connect time failover

Another benefit of multiple listeners is fault-tolerance of listener failure. Clients can failover to alternate listeners at connect time by supplying a list of listeners in their connect descriptor.

Figure 4: When lsnr1 fails, requests can be re-routed to lsnr2

Example: Sample tnsnames.ora entry enabling failover

RAC =
  (DESCRIPTION = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = rac2)(PORT = 1521))
  (LOAD_BALANCE = off)
  (FAILOVER = ON)
  (CONNECT_DATA =
  (SERVICE_NAME = rac)
  (FAILOVER_MODE = (TYPE=SELECT)(METHOD=BASIC))
  )
  )

Transparent application failover

Transparent Application Failover (TAF) allows an existing connection to failover to another listener, without needing to reestablish the connection. The in-progress transaction must be rolled back, but there is no need to reestablish the database connection. Cursors may be optionally preserved (with a performance overhead for all normal select operations). Clients request TAF through the connect descriptor.

In Oracle CM SDK, the default connect descriptor does not specify the desired FAILOVER_MODE or the failover listeners. However, as previously stated, by setting the IFS.SERVICE.JDBC.DatabaseUrl property or the <DatabaseUrl> entry in the registry.xml configuration file, Oracle CM SDK services can opt-out of the default connect descriptor and specify a connect identifier whose corresponding connect descriptor specifies the FAILOVER_MODE and failover listeners.


Note: Network protocol timeout parameters between the middle tier application and the database tier may affect the failover operation since their values will determine the length of time that is waited before switching over to another node. It is important to ensure that these are set to an appropriately short time. On some systems, the default values for the tcp_ip_abort_interval and the tcp_keepalive_interval are set to several minutes, and this could increase the time it takes for the system to failover if a server node fails.


Oracle CM SDK Configuration Tasks for RAC

Preconfiguration

You can choose to run Oracle CM SDK against a Real Applications Clusters (RAC) database at any time, either preconfiguration or post-configuration. However, if you know that you want to point to a RAC database for your initial Oracle CM SDK deployment, performing the following preconfiguration steps allows you to specify a RAC database during the Oracle CM SDK configuration process. Note that there are additional post-configuration tasks that must also be completed.

  1. Set the following system parameter in the RAC database: MAX_COMMIT_PROPAGATION_DELAY=1

    During Oracle CM SDK configuration and operation, objects are often created and then read back straight away for various reasons, like the creation of subclasses or keeping middle-tier caches up-to-date. In a RAC configuration, looking for a data value from instance A that was committed by instance B can cause problems if instance A does not yet have the updated information. For this reason, you should set the MAX_COMMIT_PROPAGATION_DELAY to a very small value so that the information is instantaneously made available to all instances.

    Setting MAX_COMMIT_PROPAGATION_DELAY to zero or to any value below 100 will have the same effect, that is to use the broadcast on commit System Change Number (SCN) generation scheme. By default the system uses a scheme called the Lamport scheme and a MAX_COMMIT_PROPAGATION_DELAY value of 700 hundredths of a second, or seven seconds. You can see this in the alert.log file ("Picked xxx scheme to generate SCNs"). The only exception to that is Tru-64: on that platform, setting MAX_COMMIT_PROPAGATION_DELAY to zero is not recommended because it causes excessive system CPU consumption. Unfortunately, zero is the default on Tru-64, so this value must be changed for this platform. Setting the parameter to anything between 1 and 99 will have the desired broadcast on commit behavior, although it will not be reported as such in the alert.log file (instead it will say "Picked Lamport Server scheme to generate SCNs"). The bottom line is that if you want to set it to a value that guarantees broadcast on commit for all platforms, select a value between 1 and 99. The fact that the parameter is a number in hundredths of a second is misleading, as anything between 1 and 99 works exactly the same way. This is recommended for both Oracle CM SDK and Oracle Files.

  2. Ensure that the JOB_QUEUE_PROCESSES parameter is set to a value of 10 or higher. This parameter is required for running Oracle CM SDK database jobs and is typically not set high enough (it may even be 0 by default).
  3. Make a TNS entry in the tnsnames.ora file for load balancing and connection failover options in each Oracle Home used by Oracle CM SDK. See the RAC Administrator’s Guide for more information on making a TNS entry for these options. Here is a sample TNS entry which specifies multiple hosts for use in a RAC environment using sample address values:
  4.     ifsrac.us.oracle.com =
        (DESCRIPTION =
          (ENABLE = BROKEN)
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = ifsrac1.us.oracle.com)(PORT = 1521))
            (ADDRESS = (PROTOCOL = TCP)(HOST = ifsrac2.us.oracle.com)(PORT = 1521))
          )
          (LOAD_BALANCE = ON)
          (FAILOVER = ON)
          (CONNECT_DATA =
            (service_name = ifsrc.us.oracle.com)
            (FAILOVER_MODE=(TYPE=select)(METHOD=basic)(RETRIES=20)(DELAY=15))
          )
        ) 
    

Configuration

Configure Oracle CM SDK, specifying the name of the RAC database on the Database Selection screen of the Oracle CM SDK Configuration Assistant.


Note: In order to use RAC, you must configure Oracle CM SDK against a specific node in the target RAC configuration, and this node must have load balancing disabled during the Oracle CM SDK configuration process.


Post-configuration Tasks

The following tasks are required after configuring Oracle CM SDK if you are using Oracle CM SDK with an Oracle RAC database.

  1. On each middle tier, back up and then edit the registry.xml file (located in $ORACLE_HOME/ifs/common/) to add a <DatabaseUrl> entry. You can add the <DatabaseUrl> entry anywhere under the <Instance> tag. In the following example, the entry is added directly under the tag. Note that the value for tnsentry should be the same as that specified in the RAC pre-configuration steps.

    The following example shows a registry.xml entry showing the setting of the <DatabaseURL> value for RAC:

    <Instance>
    <DatabaseUrl>jdbc:oracle:oci8:@my_tnsentry</DatabaseUrl>
    <Domain>ifs://DBHOME:1521:dbservice:ifssys</Domain>
    <DomainType>files</DomainType>
    <Registered>1018925008096</Registered>
    <LastModified>1028330926700</LastModified>
    <LastStarted>1028329087966</LastStarted>
    <Ports></Ports>
    </Instance>
    
  2. The next post-configuration step ensures that the Application Server Control and the Grid Control are correctly configured for Oracle CM SDK in a RAC environment.

    On each middle tier, back up and the edit the the targets.xml file in the Oracle home of the Application Server in the folder $ORACLE_HOME/sysman/emd, so that it has the correct value for the DBConnectDescriptor parameter.

    If the local tnsnames.ora (in the same Oracle home) is configured with an entry for the RAC database, for example, ifsrac.us.oracle.com, then the value of the property DBConnectDescriptor can be specified as <Property NAME="DBConnectDescriptor" VALUE="ifsrac.us.oracle.com"/>

    You can also more fully specify the connect descriptor as shown in the example below. Property values in double quotes should have no line breaks or spaces.

    <Target TYPE="oracle_ifs" NAME="m21i.qa8-sun.us.oracle.com_cmsdk_ifsrac1-linux.us.oracle.com:1521:ifsrac.us.oracle.com:CLSimple" DISPLAY_NAME="Content Management SDK (CLSimple)" VERSION="9.0.4.0.0" ON_HOST="qa8-sun.us.oracle.com">
    <Property NAME="Version" VALUE="9.0.4.0.0"/>
    <Property NAME="RunReposMetric" VALUE="TRUE"/>

    <Property NAME="RunResponseTimeMetric" VALUE="TRUE"/>
    <Property NAME="RunLoadBalancerResponseTimeMetric" VALUE="FALSE"/>
    <Property NAME="IfsRootHome" VALUE="/data/m21i/ifs"/>
    <Property NAME="IfsHome" VALUE="/data/m21i/ifs/cmsdk"/>
    <Property NAME="DomainName" VALUE="ifs://ifsrac1-linux.us.oracle.com:1521:ifsrac.us.oracle.com:CLSimple"/>
    <Property NAME="DomainType" VALUE="cmsdk"/>
    <Property NAME="SchemaPassword" VALUE="c838cb5e9930c1cd" ENCRYPTED="TRUE"/>
    <Property NAME="SysadminUsername" VALUE="system"/>
    <Property NAME="SysadminPassword" VALUE="7f25b7470f060c85d10d95d959d7151b" ENCRYPTED="TRUE"/>
    <Property NAME="ApplicationUrl" VALUE="http://qa8-sun.us.oracle.com:7777/cmsdk/admin"/>
    <Property NAME="LoadBalancerUrl" VALUE=""/>
    <Property NAME="DBConnectDescriptor" VALUE="(DESCRIPTION=(ENABLE=BROKEN)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ifsrac1.us.oracle.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=ifsrac2.us.oracle.com)(PORT=1521)))(CONNECT_DATA=(service_name=ifsrc.us.oracle.com)(FAILOVER_MODE=(TYPE=select)(METHOD=basic)(RETRIES=20)(DELAY=15))))"/>
    <CompositeMembership>

    <MemberOf TYPE="oracle_ias" NAME="m21i.qa8-sun.us.oracle.com"/>
    </CompositeMembership>
    </Target>

    If you have installed the Grid Control Management Agent before you install Oracle CM SDK on a middle-tier machine, then you will have to ensure that the targets.xml file in the Oracle home for the Management Agent is updated with the DBConnectDescriptor property information that you added to the Application Server Oracle home targets.xml file.

Configuring Oracle Internet Directory for use with Oracle CM SDK on RAC

When Oracle CM SDK is used in conjunction with Oracle Internet Directory for user management, it relies on OID being able to post events to Oracle CM SDK via its database. For this to happen correctly in a RAC database environment, OID has to be made aware that Oracle CM SDK is in fact running against a RAC database.

For OID, it is not enough to just set the appropriate entries in the tnsnames.ora file. You must also specify the database service information in an input parameter file that uses the LDAP Data Interchange Format (LDIF).

This section describes the steps required to configure your Oracle Internet Directory (OID) installation to work with Oracle CM SDK running in a RAC configuration, including specifying the LDIF syntax-compliant configuration information. There are five major steps to perform:

  1. Configure the TNS entry for the OID server so that it can properly handle the multiple RAC database instances.
  2. Find the Oracle CM SDK application Global Unique Identifier (GUID).
  3. Obtain the OID provisioning profile name and interface connect information. This will be used to supply the RAC database service information to the OID server.
  4. Create an LDIF-compliant parameter file using the information obtained in the previous steps.
  5. Update OID with the RAC database service information.

Step 1 - Configure the TNS Entry for the OID Server

Create the following TNS entry in $ORACLE_HOME/network/admin/tnsnames.ora file on the OID machine (on the machine where the DIP server is running) for RAC configuration. You will have to provide the appropriate addresses for your configuration.

	ifsrac.us.oracle.com =
	  (DESCRIPTION =
	  (ENABLE = BROKEN)
	  (ADDRESS_LIST =
	  	(ADDRESS = (PROTOCOL = TCP)(HOST = ifsrac1.us.oracle.com)(PORT = 1521))
	  	(ADDRESS = (PROTOCOL = TCP)(HOST = ifsrac2.us.oracle.com)(PORT = 1521))
	  )
	(CONNECT_DATA =
		(service_name = ifsrc.us.oracle.com)
		(FAILOVER_MODE=
			(TYPE=select)
			(METHOD=basic)
			(RETRIES=20)
			(DELAY=15))
		)
	)
  

Step 2 - Finding the Application Global Unique Identifier

The application Globally Unique Identifier (GUID) allows us to retrieve and update the Oracle CM SDK application information stored in the OID repository. For historical reasons, the common name used for Oracle CM SDK is "IFS."

On your OID server, execute the following command:

ldapsearch -h <oid host> -p <oid port> -D cn=orcladmin -w <oid orcladmin password> -b "cn=IFS,cn=Products,cn=OracleContext" -s sub "ObjectClass=*" orclguid

Each returned result will appear in the following format:

orclApplicationCommonName=<DB Host Name>:<DB Listener Port>:<DB Service Name>:<CM SDK Schema Name>,cn=IFS,cn=Products,cn=OracleContext
orclguid=<32 character GUID>

The following lines are an example of the format of the information returned from the ldapsearch command:

orclApplicationCommonName=database1.us.oracle.com:1521:orcl:IFSSYS,cn=IFS,cn=Products,cn=OracleContext orclguid=C80BC6C12F1A1C20E034080020B4F232

orclApplicationCommonName=database2.us.oracle.com:1521:orcl:IFSUSER,cn=IFS,cn=Products,cn=OracleContext orclguid=C89DE53A0EC51B49E034080020B4F232

There may be more results, but there should be at least one.

From the result obtained in the previous step, find out which orclApplicationCommonName value matches the Oracle CM SDK domain you are working with. Note its GUID, indicated by the orclguid parameter, and write it down or save it to a file, as you will need it in subsequent steps. This GUID is called the Application GUID. We will refer it to as appguid from now on.

Step 3 - Obtain the OID Provisioning Profile Name and Interface Connect Information

Now execute the following command, substituting the appguid from the previous ldapsearch command:

ldapsearch -h <oid host> -p <oid port> -D cn=orcladmin -w <oid orcladmin password> -b "cn=Provisioning Profiles, cn=Changelog Subscriber, cn=Oracle Internet Directory" -L -v -s sub "orclODIPProfileName=*_<appguid>" orclodipprofileinterfaceconnectinformation

You should get a result in the following format:

dn: orclODIPProfileName=<some 32 digit GUID>_<appguid>, cn=Provisioning Profiles, cn=Changelog Subscriber, cn=Oracle Internet Directory
orclodipprofileinterfaceconnectinformation: <DB Host Name>:<DB Listener Port>:<DB Service Name>:<CM SDK Schema Name>$id:<20 character schema password>

For example:

dn: orclODIPProfileName=C7A54DF5C1402607E034080020B4F232_C80BC6C12F1A1C20E034080020B4F232, cn=Provisioning Profiles, cn=Changelog Subscriber, cn=Oracle Internet Directory orclodipprofileinterfaceconnectinformation: database1.us.oracle.com:1521:orcl:ifssys$id:ZEISOAUNVFCQRNPKMHOF

Step 4 - Create an LDIF-Compliant Parameter File

Create a text file (for example, updateoid) containing the following four lines based on the values obtained so far (the line numbers were added for clarity and are not present in the actual file):

1 dn: orclODIPProfileName=C7A54DF5C1402607E034080020B4F232_C89DE53A0EC51B49E034080020B4F232, cn=Provisioning Profiles, cn=Changelog Subscriber, cn=Oracle Internet Directory
2 changetype: modify
3 replace: orclodipprofileinterfaceconnectinformation
4 orclodipprofileinterfaceconnectinformation: database1.us.oracle.com:1521:orcl:ifssys$id:ZEISOAUNVFCQRNPKMHOF

The first and fourth lines have been copied from the result obtained from the previous step. Change the fourth line so that it uses the RAC service name entry from the tnsnames.ora file entries created in Step 1. For example,

orclodipprofileinterfaceconnectinformation: database1.us.oracle.com:1521:orcl:ifssys$id:ZEISOAUNVFCQRNPKMHOF

becomes

orclodipprofileinterfaceconnectinformation: DBSVC=ifsrac.us.oracle.com:ifssys$id:ZEISOAUNVFCQRNPKMHOF

Here is an example of a complete update file:

dn: orclODIPProfileName=C7A54DF5C1402607E034080020B4F232_C89DE53A0EC51B49E034080020B4F232, cn=Provisioning Profiles, cn=Changelog Subscriber, cn=Oracle Internet Directory 
changetype: modify 
replace: orclodipprofileinterfaceconnectinformation 
orclodipprofileinterfaceconnectinformation: DBSVC=ifsrac.us.oracle.com:ifssys$id:ZEISOAUNVFCQRNPKMHOF

Caution: Unnecessary space characters in the LDIF input file, such as a space at the end of an attribute value, will cause the LDAP operations to fail.


Step 5 - Update OID with the RAC Database Service Information

On your OID server, execute the following command:

ldapmodify -h <oid host> -p <oid port> -D cn=orcladmin -w <oid orcladmin password> -f updateoid

Your OID instance is now configured to run against an Oracle CM SDK schema which has been created on a RAC database.

The exact syntax of the ldapmodify command and how to use the command can be found in the Oracle Internet Directory Administrator's Guide Release 9.2.

References

Oracle CM SDK references:

  1. Oracle Content Management SDK Installation and Configuration Guide

Oracle Real Application Clusters References:

  1. Oracle9i Real Application Clusters Concepts Release 2 (9.2)
  2. Oracle9i Real Application Clusters Setup and Configuration Release 2 (9.2)
  3. Oracle9i Real Application Clusters Administration Release 2 (9.2)

Oracle Net Services References:

  1. Oracle9i Net Services Administrator's Guide Release 2 (9.2)
  2. Oracle9i Net Services Reference Guide Release 2 (9.2)

Oracle Internet Directory:

  1. Oracle Internet Directory Administrator's Guide Release 9.2
E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy