9 Scaling Your Environment

You can expand your environment by adding Managed Servers, expanding your WebLogic Server domain to include other products, or cloning existing Middleware homes as described by the following topics:

9.1 Overview of Scaling Your Environment

Scalability is the ability of a system to provide throughput in proportion to, and limited only by, available hardware resources. A scalable system is one that can handle increasing numbers of requests without adversely affecting response time and throughput.

The growth of computational power within one operating environment is called vertical scaling. Horizontal scaling is leveraging multiple systems to work together on a common problem in parallel.

Oracle Fusion Middleware scales both vertically and horizontally. Horizontally, Oracle Fusion Middleware can increase its throughput with several Managed Servers grouped together to share a workload. Also, Oracle Fusion Middleware provides great vertical scalability, allowing you to add more Managed Servers or components in the same host.

High availability refers to the ability of users to access a system. Deploying a high availability system minimizes the time when the system is down (unavailable) and maximizes the time when it is running (available). Oracle Fusion Middleware is designed to provide a wide variety of high availability solutions, ranging from load balancing and basic clustering to providing maximum system availability during catastrophic hardware and software failures.

High availability solutions can be divided into two basic categories: local high availability and disaster recovery.

9.2 Extending a WebLogic Server Domain to Support Additional Components

When you create an Oracle WebLogic Server domain, you create it using a particular domain template. That template supports a particular component or group of components, such as the Oracle SOA Suite. If you want to add other components, such as Oracle WebCenter, to that domain, you can extend the domain by creating additional Managed Servers in the domain, using a domain template for the component which you want to add.

See Also:

The table "Supported Domain Extensions" in the Oracle Fusion Middleware Administrator's Guide for information about which components you can add to an existing domain and the domain templates needed

When you extend a domain, the domain must be offline.

To extend a domain, you use the Oracle WebLogic Server Configuration Wizard from an Oracle home into which the desired component has been installed. Then, you select the domain that you want to extend and the component you want to add.

For example, to extend a domain that was initially created to support Oracle SOA Suite so that it can now also support Oracle WebCenter:

  1. Use RCU to add any required schemas for the component, as described in Section 3.2.1.

  2. Install Oracle WebCenter, as described in the Oracle Fusion Middleware Installation Guide for Oracle WebCenter.

  3. From an Oracle home that was installed for the component you want to add, (for example, for Oracle WebCenter), invoke the Configuration Wizard, using the following command:

    (UNIX) ORACLE_HOME/common/bin/config.sh
    (Windows) ORACLE_HOME\common\bin\config.cmd
    

    The Configuration Wizard's Welcome screen is displayed.

  4. Select Extend an existing WebLogic Domain.

  5. Click Next.

    The Select a WebLogic Domain Directory screen is displayed.

  6. Select the directory for the domain to which you want to add the components.

  7. Click Next.

    The Select Extension Source screen is displayed.

  8. Select the source from which this domain will be extended. For example, select Oracle WebCenter Spaces.

  9. Click Next.

    The Conflict Detected dialog box is displayed.

  10. Select Keep existing component and Apply this selection if further conflicts are detected. Click OK.

    The Configure JDBC Data Sources screen is displayed.

  11. Enter the following information:

    • For Vendor, select Oracle.

    • For Driver, select Oracle's Driver (Thin) for Service connections; Versions:9.0.1,9.2.0,10,11.

    • For Schema Owner, do not enter anything. Each data source uses the user name specified in the table.

    • If you used the same password when you created the schemas, select all of the schemas and enter the password in Schema Password.

      Alternatively, you can specify different passwords for each data source by entering them in the password column of the table.

    • With all of the schemas selected, for DBMS/Service, enter the SID of the database.

    • With all of the schemas selected, for Host Name, enter the host name of the database.

    • With all of the schemas selected, for Port, enter the listening port of the database.

  12. Click Next.

    The Customize Server and Cluster Configuration screen is displayed.

  13. In this and the following customization screens, you can choose to customize. To do so, click Yes. If you do not want to customize the settings, click No.

  14. Click Next.

  15. Click Next.

    The Review WebLogic Domain screen is displayed.

  16. In the Review WebLogic Domain screen, review the information on the screen and if it is correct, click Next.

    The Extend WebLogic Domain screen is displayed.

  17. Click Extend.

  18. When the operation completes, click Done.

See Also:

Oracle WebLogic Server Administration Console Online Help for more information about creating additional Managed Servers

9.3 Adding Additional Managed Servers to a WebLogic Server Domain

You can add Managed Servers to a domain to increase the capacity of your system. The Managed Servers can be added to a cluster.

When a Managed Server is added to a cluster, it inherits the applications and services that are targeted to the cluster. When a Managed Server is added to a domain, it does not automatically inherit the applications and services from the template.

To add a Managed Server to a domain, you can use the Oracle WebLogic Server Administration Console or WLST.

See:

Administration Console Online Help and Oracle Fusion Middleware WebLogic Scripting Tool Command Reference for complete information about adding Managed Servers

To create an additional Managed Server using the Administration Console:

  1. Display the Administration Console, as described in Section 2.1.2.1.

  2. Lock the Oracle WebLogic Server configuration, as described in Section 2.1.2.2.

  3. In the left pane, expand Environment, then select Servers.

  4. In the Servers table, click New.

    The Create a New Server: Server Properties page is displayed.

  5. Enter the following information:

    • For Name, enter a name for the server.

      Each server within a domain must have a name that is unique for all configuration objects in the domain. Within a domain, each server, computer, cluster, JDBC connection pool, virtual host, and any other resource type must be named uniquely and must not use the same name as the domain.

    • For Listen Address, if you want to limit the valid addresses for a server instance, enter an IP address or DNS name. Otherwise, URLs to the server can specify the host computer's IP address, any DNS name that maps to one of the IP addresses, or the localhost string.

    • For Listen Port, enter the port number from which you want to access the server instance.

      If you run multiple server instances on a single computer, each server must use its own listen port.

    • Specify whether or not this server will be a standalone server or will belong to an existing cluster or a new cluster.

      • If this server is to be a standalone server, select No, this is a stand-alone server.

      • If this server is to be part of an existing cluster, select Yes, make this server a member an existing cluster. Then, select the cluster.

        This option is not shown if there are no existing clusters.

      • If this server is to be part of a new cluster, select Yes, create a new cluster for this server.

  6. Click Next.

    The Review Choices page is displayed.

  7. Review the information. If it is correct, click Finish.

  8. Apply Oracle JRF to the Managed Server or cluster as described in Section 9.3.1.

Note that you can also use Fusion Middleware Control to add a Managed Server to a domain. From the Farm menu, choose Create/Delete Components. Then, in the Fusion Middleware Components page, select Create, then WebLogic Server.

9.3.1 Applying Oracle JRF to a Managed Server or Cluster

Oracle JRF (Java Required Files) consists of those components not included in the Oracle WebLogic Server installation and that provide common functionality for Oracle business applications and application frameworks.

JRF consists of a number of independently developed libraries and applications that are deployed into a common location. The components that are considered part of Java Required Files include Oracle Application Development Framework shared libraries and ODL logging handlers.

You must apply the JRF template to a Managed Server or cluster in certain circumstances. You can only apply JRF to Managed Servers that are in a domain in which JRF was configured. That is, you must have selected Oracle JRF in the Configuration Wizard when you created or extended the domain.

Note the following points about when you apply JRF:

  • When you add a Managed Server to an existing cluster that is already configured with JRF, you do not need to apply JRF to the Managed Server.

  • When you add a Managed Server to a domain and the Managed Server requires JRF services, but the Managed Server is not part of a cluster, you must apply JRF to the Managed Server.

  • When you create a new cluster and the cluster requires JRF, you must apply JRF to the cluster.

  • You do not need to apply JRF to Managed Servers that are added by product templates during the template extension process (though you must select JRF in the Configuration Wizard).

  • You must restart the server or cluster after you apply JRF.

  • If you create a server using Fusion Middleware Control, the JRF template is automatically applied.

You use the custom WLST command applyJRF to configure the Managed Servers or cluster with JRF. To use the custom WLST commands, you must invoke the WLST script from the Oracle Common home. See Section 2.1.3.1.1 for more information.

The format of the applyJRF command is:

applyJRF(target={server_name | cluster_name | *}, domainDir=domain_path
        [,shouldUpdateDomain= {true | false}])

You can use the applyJRF command online or offline:

  • In online mode, the JRF changes are implicitly activated if you use the shouldUpdateDomain option with the value true (which is the default.) In online mode, this option calls the online WLST save() and activate() commands.

  • In offline mode, you must restart the Administration Server and the Managed Servers or cluster. (In offline mode, if you specify the shouldUpdateDomain option with the value true, this option calls the WLST updateDomain() command.)

To configure a Managed Server with JRF, use the following command:

applyJRF(target='server1', domainDir='/scratch/Oracle/Middleware/user_projects/domains/domain1')

To configure all Managed servers in the domain with JRF, specify an asterisk (*) as the value of the target option.

To configure a cluster with JRF, use the following command:

applyJRF(target='cluster', domainDir='/scratch/Oracle/Middleware/user_projects/domains/domain1')

9.4 Creating Clusters

A WebLogic Server cluster consists of multiple WebLogic Server server instances running simultaneously and working together to provide increased scalability and reliability. A cluster appears to clients to be a single WebLogic Server instance. The server instances that constitute a cluster can run on the same computer, or be located on different computers. You can increase a cluster's capacity by adding additional server instances to the cluster on an existing computer, or you can add computers to the cluster to host the incremental server instances. Each server instance in a cluster must run the same version of WebLogic Server.

You can create a cluster of Managed Servers using WLST, the Oracle WebLogic Server Administration Console, or Fusion Middleware Control. This section describes how to create a cluster using Fusion Middleware Control.

Note:

For Identity Management components, Oracle Portal, Oracle Forms Services, Oracle Reports, and Oracle Business Intelligence Discoverer, if one or more Managed Servers that you want to include in a cluster is on a remote host, the WebLogic Server home must have the same full path as the WebLogic Server home of the other Managed Servers.

For example, you have a Managed Server on Host A and a Managed Server on Host B, and you want to include them in a cluster. If the WebLogic Server home on Host A is located in /scratch/oracle/Middleware/wlserver_10.3, the WebLogic Server home on Host B must also be located in /scratch/oracle/Middleware/wlserver_10.3.

To create a cluster of two Managed Servers, soa_server1 and soa_server2, using Fusion Middleware Control, take the following steps:

  1. From the Farm menu, choose Create/Delete Components.

    The Fusion Middleware Components page is displayed.

  2. Choose Create, then WebLogic Cluster.

    The Create WebLogic Cluster page is displayed.

  3. For Name, enter a name for the cluster.

  4. In the Cluster Messaging Mode section, select one of the following:

    • Unicast. Then, for Unicast Broadcast Channel, enter a channel. This channel is used to transmit messages within the cluster.

    • Multicast. Then, for Multicast Broadcast Channel, enter a channel. A multicast address is an IP address in the range from 224.0.0.0 to 239.255.255.255. For Multicast Port, enter a port number.

      Note:

      You must ensure that the multicast address is not in use.
  5. In the Servers section, select one or more servers to be added to the cluster. In this scenario, select soa_server1 and soa_server2.

  6. Click Create.

Now, you have a cluster with two members, soa_server1 and soa_server2.

See Also:

Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server for more information about clusters

If you create a server using Fusion Middleware Control, the JRF template is automatically applied.

9.5 Cloning a Middleware Home or Component

You can expand your environment to meet growing demands by cloning existing Middleware homes and Oracle homes.

Cloning is the process of copying an existing entity to a different location while preserving its state. The cloned entity behaves the same as the source entity. For example, a cloned Oracle home can be deinstalled or patched using the installer. It can also be used as the source for another cloning operation.

You can clone a Middleware home, and all of the Oracle homes within the Middleware home, as well as Oracle Internet Directory and Oracle Virtual Directory.

In this section, you expand your environment by cloning a Middleware home. To provide better performance, you apply the clone to a different host.

You use the following scripts to clone a Middleware home or component:

  • Copy the source Middleware home:

    (UNIX) ORACLE_COMMON_HOME/bin/copyBinary.sh
    (Windows) ORACLE_COMMON_HOME\bin\copyBinary.cmd
    
  • Apply the copied Middleware home to the target:

    (UNIX) ORACLE_COMMON_HOME/bin/pasteBinary.sh
    (Windows) ORACLE_COMMON_HOME\bin\pasteBinary.cmd
    
  • Copy the source component configuration:

    (UNIX) ORACLE_COMMON_HOME/bin/copyConfig.sh
    (Windows) ORACLE_COMMON_HOME\bin\copyConfig.cmd
    
  • Apply the copied component configuration to the target:

    (UNIX) ORACLE_COMMON_HOME/bin/pasteConfig.sh
    (Windows) ORACLE_COMMON_HOME\bin\pasteConfig.cmd
    

Note that all cloning scripts ask you if you want to continue whenever the -silent true option is not used. To continue, you must type Yes, which is not case sensitive. Any words other than Yes causes the script to return an error. Also note that, even in silent mode, the scripts prompt for passwords if they are not provided where they are needed.

To specify additional Java options, define the T2P_JAVA_OPTIONS environment variable and specify the options in the variable definition. The following examples set the value for the Java temp directory:

  • On Linux or UNIX:

    setenv T2P_JAVA_OPTIONS "-Djava.io.tmpdir=/home/sasinsin/temp"
    export T2P_JAVA_OPTIONS="-Djava.io.tmpdir=/home/sasinsin/temp"
     
    
  • On Windows:

    set T2P_JAVA_OPTIONS="-Djava.io.tmpdir=c:\home\sasinsin\temp"
    

See Also:

"Cloning Oracle Fusion Middleware" in the Oracle Fusion Middleware Administrator's Guide for complete information about cloning, including the syntax

Note:

  • The cloning operation archives only those Oracle homes that lie within a Middleware home. It does not clone Oracle homes that are located outside of the Middleware home.

  • You can clone only one Middleware home at a time.

  • To create an archive of a Middleware home, Oracle WebLogic Server must be installed in the Middleware home.

  • On Windows, ensure that no Oracle WebLogic Server processes are running in the source Middleware home.

To clone a Middleware home:

  1. At the source Middleware home, execute the copyBinary script, which finds the WebLogic Server home and all of the Oracle homes contained within the Middleware home. If there are no Oracle homes in the Middleware home, no Oracle homes will be present in the archive. Use the following syntax:

    copyBinary -javaHome path_of_jdk
                -archiveLocation  archive_location 
                -sourceMWHomeLoc MW_HOME  
               [-invPtrLoc Oracle_Inventory_location]
    

    For example, to clone a Middleware home that is located at /scratch/Oracle /Middleware1, use the following command:

    copyBinary.sh -javaHome /scratch/Oracle/Middleware/jrockit_160_14_R27.6.5-32/
           -archiveLocation /tmp/mw_clone.jar
           -sourceMWHomeLoc /scratch/Oracle/Middleware1 
           -invPtrLoc /scratch/oracle/oraInst.loc
    
  2. If you are cloning the Middleware home to a different host, copy the archive file to that system.

    In addition, if the target system does not contain the scripts, copy the scripts to the target system and ensure that they have execute permission.

  3. At the target, extract the files from the archive using the pasteBinary script. Use the following syntax:

    pasteBinary -javaHome path_of_jdk
             -archiveLocation archive_location 
             -targetLocation target_MW_home 
    

    For example, to apply the clone to the directory /scratch/oracle/MW_Home_clone, use the following command:

    pasteBinary.sh -javaHome /scratch/Oracle/Middleware/jrockit_160_14_R27.6.5-32/ 
             -archiveLocation  /tmp/mw_clone.jar 
             -targetLocation /scratch/oracle/MW_Home_clone 
    

    The Middleware home is extracted to /scratch/oracle/MW_Home_clone and the WebLogic Server home and all of the Oracle homes are extracted under it with the same names as that of source Oracle home names.

9.6 Learn More

For more information about the topics covered in this chapter, see: