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 Oracle Fusion Middleware components such as Oracle SOA Suite or Oracle HTTP Server, or 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 Extend my domain automatically to support the following added products, Then, select the source from which this domain is to be extended. For example, select Oracle WebCenter Spaces.

  9. Click Next.

    The Configure JDBC Data Sources screen is displayed.

  10. Select the schemas for the new component you added, entering 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 selecting each schema individually and entering the password.

    • 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.

  11. Click Next.

    The Test Component Schema screen is displayed.

  12. If the test succeeds, click Next.

    The Select Optional Configuration screen is displayed.

  13. In this and the following customization screens, you can choose to customize. To do so, select the type of customization. If you do not want to customize the settings, click Next.

    The Configuration Summary screen is displayed.

  14. Review the information on the screen and if it is correct, click Extend.

  15. 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.3.1.

  2. Lock the Oracle WebLogic Server configuration, as described in Section 2.3.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.4.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')

See Also:

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:

  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 and some components.

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 the following, on the same host or a different host. The clone must be on the same operating system as the source.

  • Middleware home: You can clone the Middleware home, the Oracle WebLogic Server home, and all of the Oracle homes within the Middleware home. You can clone a Middleware home that contains no Oracle homes.

    You can apply the clone of the Middleware home to the same host or a different host.

  • Java components: You can clone the configuration of a domain containing Java components, such as Oracle SOA Suite and Oracle Business Activity Monitoring to the same or a different Middleware home, on the same host or a different host.

  • System components: You can clone the configuration of a domain containing system components, such as Oracle HTTP Server and Oracle Internet Directory, to the same or a different Oracle instance, to the same or a different Middleware home, on the same host or 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
    
  • Extract a move plan from the source component:

    (UNIX) ORACLE_COMMON_HOME/bin/extractMovePlan.sh
    (Windows) ORACLE_COMMON_HOME\bin\extractMovePlan.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 if you want to continue whenever you do not specify the -silent true option. 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, in silent mode, the scripts generate an error if you do not provide passwords 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/t2p/temp"
    export T2P_JAVA_OPTIONS="-Djava.io.tmpdir=/home/t2p/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:

If you are applying the clone of a Middleware home on a host that does not yet have Oracle Fusion Middleware installed, note the following
  • The host must have JDK 1.6.04 or higher installed. In addition, ensure that the PATH, CLASSPATH, and JAVA_HOME environment variables point to the JDK.

  • Copy the pasteBinary script from the following location in the source host to the target host:

    (UNIX) ORACLE_COMMON_HOME/bin/pasteBinary.sh
    (Windows) ORACLE_COMMON_HOME\bin\pasteBinary.cmd
    
  • Copy the following file from the following location in the source host to the target host:

    (UNIX) ORACLE_COMMON_HOME/jlib/cloningclient.jar
    (Windows) ORACLE_COMMON_HOME\jlib\cloningclient.jar
    
  • If you run the pasteBinary script from a different location than ORACLE_COMMON_HOME/bin, then the pasteBinary script and the cloningclient.jar file must be in the same directory.

  • Ensure that the files have execute permission.

9.5.1 Cloning a Middleware Home

You can clone a Middleware home, which can contain zero or more Oracle homes and an Oracle WebLogic Server home.

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.

  • If Oracle WebLogic Server is not located in the Middleware home, the Oracle WebLogic Server home is not archived and cloned, but any Oracle homes in the Middleware home are archived and cloned.

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

  • If the target host does not contain the file oraInst.loc, you must create the file (you must have Super User or root privileges). By default, the clone operation looks for the file in the /etc directory. If you create it in another location, use the -invPtrLoc parameter to the pasteBinary command to specify the location.

    The file must contain the following:

    inventory_loc=oraInventory_location
    inst_group=user_group
    

To clone a Middleware home:

  1. On Windows, at the source Middleware home, stop the Administration Server and any Managed Servers running in the Middleware home.

  2. At the source Middleware home, execute the copyBinary script, which finds the WebLogic Server home and 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.

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

    copyBinary.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                  -archiveLoc /tmp/mw_clone.jar
                  -sourceMWHomeLoc /scratch/Oracle/Middleware1 
                  -invPtrLoc /scratch/oracle/oraInst.loc
    
  3. If you are cloning the Middleware home to a different host, copy the archive file to that system.

  4. Copy the pasteBinary scripts and the cloningclient.jar file to the target system and ensure that they have execute permission. See Section 9.5 for the locations of the files.

    Do not copy the other scripts, such as pasteConfig. Those scripts are generated when you extract the files, as in step 5.

  5. At the target, extract the files from the archive using the pasteBinary script.

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

    pasteBinary.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18 
                   -archiveLoc  /tmp/mw_clone.jar 
                   -targetMWHomeLoc  /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 the source Oracle home names.

9.5.2 Customizing Move Plans When Cloning Components

When you clone Oracle Fusion Middleware components, you run the extractMovePlan script to create a move plan for the component that you are cloning. The extractMovePlan script extracts configuration information from the archive into a move plan. It also extracts any needed configuration plans. Before you apply the clone to the target, you must edit the move plan to reflect the values of the target environment.

The following shows an excerpt of a move plan for WebLogic Java components:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<movePlan>
    <movableComponent>
        <componentType>J2EEDomain</componentType>
        <moveDescriptor>
            <configProperty>
                <name>Startup Mode</name>
                <value>PRODUCTION</value>
                <itemMetadata>
                    <dataType>STRING</dataType>
                    <scope>READ_WRITE</scope>
                </itemMetadata>
            </configProperty>
            <configGroup>
                <type>SERVER_CONFIG</type>
                <configProperty id="Server1">
                    <configProperty>
                        <name>Server Name</name>
                        <value>AdminServer</value>
                        <itemMetadata>
                            <dataType>STRING</dataType>
                            <scope>READ_ONLY</scope>
                        </itemMetadata>
                    </configProperty>
                    <configProperty>
                        <name>Listen Address</name>
                        <value>example.com</value>
                        <itemMetadata>
                            <dataType>STRING</dataType>
                            <scope>READ_WRITE</scope>
                        </itemMetadata>
                    </configProperty>

You can modify properties with the scope of READ_WRITE. Do not modify the properties with the scope of READ_ONLY.

The properties that you edit differ depending on the type of component. See the table in "Customizing Move Plans When Cloning Components" in the Oracle Fusion Middleware Administrator's Guide for information about the properties to edit for each type of component.

9.5.3 Cloning Java Components

You can clone WebLogic Java components, such as Oracle SOA Suite.

To clone a WebLogic Java component:

  1. At the source Middleware home, make sure that the Administration Server and all Managed Servers are started.

  2. At the source Middleware home, execute the copyConfig command.

    For example, to clone the Oracle SOA Suite domain named SOA_domain1 in the in the Middleware home /scratch/Oracle/Middleware1, use the following command:

    copyConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18 
                  -archiveLoc /tmp/soa.jar
                  -sourceDomainLoc /scratch/Oracle/Middleware1/user_projects/domains/SOA_domain1
                  -sourceMWHomeLoc /scratch/Oracle/Middleware1
                  -domainHostName example.com
                  -domainPortNum 8001
                  -domainAdminUserName admin_username
                  -domainAdminPassword /scratch/admin/passwd.txt
                  -logDirLoc /tmp/logs
    
  3. If you are cloning the component to a different host, copy the archive file to that system.

  4. Extract the move plan from the archive, using the extractMovePlan script. For example:

    extractMovePlan.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                     -archiveLoc /tmp/soa.jar
                     -planDirLoc /tmp/Oracle/t2p_plans/soa
    
  5. Edit the move plan, modifying the properties in described in the tables in "Move Plans for Components" in the Oracle Fusion Middleware Administrator's Guide.

  6. At the target, extract the files from the archive using the pasteConfig script. For example, to apply the clone to the Middleware home /scratch/Oracle/Middleware1, use the following command:

    pasteConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                -archiveLoc /tmp/soa.jar
                -movePlanLoc /tmp/Oracle/t2p_plans/soa/moveplan.xml
                -targetDomainLoc /scratch/Oracle/Middleware1/user_projects/domains/SOA_domain1
                -targetMWHomeLoc /scratch/Oracle/Middleware1/
                -domainAdminPassword /scratch/pwd_dir/pass.txt 
    

9.5.4 Cloning System Components

You can clone the system components, such as Oracle HTTP Server or Oracle Virtual Directory.

To clone a system component:

  1. At the source Middleware home, make sure that the Administration Server and all Managed Servers are started.

  2. At the source Middleware home, execute the copyConfig command.

    For example, to clone the Oracle HTTP Server instance named ohs1 in the Oracle instance located in /scratch/Oracle/Middleware1/webtier_1, use the following command:

    copyConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18 
                  -archiveLoc /tmp/ohs1.jar
                  -sourceInstanceHomeLoc /scratch/Oracle/Middleware1/webtier_1
                  -sourceComponentName ohs1
    
  3. If you are cloning the component to a different host, copy the archive file to that system.

  4. Extract the move plan from the archive, using the extractMovePlan script. For example:

    extractMovePlan.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                     -archiveLoc /tmp/ohs1.jar
                     -planDirLoc /tmp/Oracle/t2p_plans/ohs
    
  5. Edit the move plan, modifying the properties in described in the tables in "Move Plans for Components" in the Oracle Fusion Middleware Administrator's Guide.

  6. At the target, extract the files from the archive using the pasteConfig script. For example, to apply the clone to the Oracle instance webtier_2 and name the cloned Oracle HTTP Server instance ohs_cl, use the following command:

    pasteConfig.sh -javaHome /scratch/Oracle/Middleware/jrockit_160_20_D1.1.0-18
                -archiveLoc /tmp/ohs1.jar
                -movePlanLoc /tmp/Oracle/t2p_plans/ohs/moveplan.xml
                -targetOracleHomeLoc /scratch/Oracle/Middleware/Oracle_WebTier 
                -targetInstanceHomeLoc /scratch/Oracle/Middleware/webtier_2 
                -targetInstanceName webtier_2 
                -targetComponentName ohs_cl 
                -domainHostName myhost
                -domainPortNum 7001 
                -domainAdminUserName domain_admin_username
                -domainAdminPassword domain_admin_password_file 
    

9.6 Learn More

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