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 and Oracle 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 node.

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, or unavailable and maximizes the time when it is running, or 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 recover.

See Also:

Oracle Fusion Middleware High Availability Guide for more information about high availability

9.2 Extending a WebLogic Server Domain to Support Additional Components

When you create a 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.

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 Server 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 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 any of 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.

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 JRF 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 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 an Oracle home in which the Oracle Fusion Middleware component has been installed. 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 Cloning a Middleware Home or Oracle Home

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 an Oracle home, as well as Oracle Internet Directory and Oracle Virtual Directory.

In this section, you expand your environment by cloning a Middleware home and an Oracle home, as described in the following topics. To provide better performance, you apply the clone to a different host.

Note that all cloning commands 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 cloning command to return an error. Also note that, even in silent mode, the commands prompt for passwords if they are not provided where they are needed.

See Also:

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

9.4.1 Cloning a Middleware Home

You can clone a Middleware home, which can contain one or more Oracle homes and an Oracle WebLogic Server home. You can also clone only the Middleware home, excluding its Oracle homes.

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.

To clone a Middleware home with its Oracle homes and Oracle WebLogic Server home, but excluding the log files:

  1. At the source Middleware home, execute the createClone command, using the following syntax:

    java -jar ORACLE_HOME/jlib/cloningclient.jar createClone 
             -archiveLocation  archive_location 
             -sourceMWHome MW_home -excludePattern pattern 
             [-invPtrLoc Oracle_Inventory_location]
    

    For example, to clone a Middleware home that is located at /scratch/oracle /Middleware1 and to exclude log files, use the following command:

    java -jar ORACLE_HOME/jlib/cloningclient.jar createClone 
           -archiveLocation /tmp/mw_clone.jar
           -sourceMWHome /scratch/Oracle/Middleware1 -excludePattern "*.log,*.bak" 
           -invPtrLoc /scratch/Oracle/oraInst.loc
    
  2. If you are cloning the Middleware home to a different host, copy the files to that system. Copy the archive, as well as the cloningclient.jar file.

  3. At the target, extract the files from the archive using the applyClone command. Specify the value all for the sourceID option. Use the following syntax:

    java -jar ORACLE_HOME/jlib/cloningclient.jar applyClone 
             -archiveLocation archive_location 
             -targetLocation target_MW_home -sourceID all
             -invPtrLoc Oracle_Inventory_location
    

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

    java -jar ORACLE_HOME/jlib/cloningclient.jar applyClone 
             -archiveLocation  /tmp/mw_clone.jar 
             -targetLocation /scratch/MW_Home_clone -sourceID all
             -invPtrLoc /scratch/Oracle/oraInst.loc
    

9.4.2 Cloning an Oracle Home

When you clone an Oracle home, you copy the contents of the Oracle home. This is useful when you want a copy of an Oracle home to which patches have been applied. You can clone more than one Oracle home at the same time.

Note the following:

  • If you are cloning an Oracle home to another host, you must copy the cloningclient.jar file from the source to the target host. The Java JDK, version 1.6.4 or later, must be available on that host.

  • The directory that you specify for the cloned Oracle home must not exist.

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

  • If the Oracle home contains Oracle SOA Suite, Oracle WebCenter, Oracle Forms Services, Oracle Reports, or Oracle Business Intelligence Discoverer, the parent of the Oracle home must be the Middleware home.

  • If you are applying the clone of an Oracle SOA Suite or Oracle WebCenter Oracle home, ensure that the same type of Oracle home is not present in that Middleware home. That is, you can have only one Oracle SOA Suite Oracle home in a Middleware home and you can have only one Oracle WebCenter Oracle home in a Middleware home.

  • If you are applying the clone of an Identity Management or Web Tier Oracle home, you can restore it to a directory that is not a Middleware home by using the -mwHomeValidation option with a value of false.

To clone two Oracle homes, soa_oh1, and idm_oh1:

  1. At the source Oracle home, execute the createClone command, using the following syntax:

    java -jar ORACLE_HOME/jlib/cloningclient.jar createClone 
             -archiveLocation  archive_location 
             -sourceOracleHomeLoc ORACLE_HOME1,ORACLE_HOME2  
             [-invPtrLoc Oracle_Inventory_location]
    

    For example, to clone two Oracle homes, soa_oh1, and idm_oh1, located at /scratch/Oracle/Middleware1, use the following command:

    java -jar ORACLE_HOME/jlib/cloningclient.jar createClone 
           -archiveLocation /tmp/oh_clone.jar
           -sourceOracleHomeLoc /scratch/Oracle/Middleware1/soa_oh1,/scratch/Oracle/Middleware1/idm_oh1
           -invPtrLoc /scratch/Oracle/oraInst.loc
    
  2. Use the listCloneArchive command to list the sourceIDs of the Oracle homes to be cloned. Note that this lists all sourceIDs in the archive. Use the following syntax:

    java -jar ORACLE_HOME/jlib/cloningclient.jar listCloneArchive 
             -archiveLocation  archive_location
    

    For example:

    java -jar ORACLE_HOME/jlib/cloningclient.jar listCloneArchive 
                   -archiveLocation  /tmp/oh_clone.jar
     Log   File :  "/tmp/CLONE2009-04-07_10-36-38AM-LOG/CLONE2009-04-07_10-36-38AM.log" .
     Error File :  "/tmp/CLONE2009-04-07_10-36-38AM-LOG/CLONE2009-04-07_10-36-38AM.error" .
     2009-04-07_10-36-38AM : INFO  : CLONE-21039   Gathering all sourceid from archive.
     Oracle home archive # 1 , sourceid =oraclehome1@soa_oh1,   
             home location =/scratch/Oracle/Middleware/soa_oh1
     Oracle home archive # 2 , sourceid =oraclehome1@idm_oh1,   
             home location =/scratch/Oracle/Middleware/idm_oh1
    
  3. If you are cloning the Oracle home to a different host, copy the files to that system. Copy the archive, as well as the cloningclient.jar file.

  4. At the target, extract the files from the archive using the applyClone command. Specify the value of the sourceIDs for each Oracle home. Use the following syntax:

    java -jar ORACLE_HOME/jlib/cloningclient.jar applyClone 
             -archiveLocation archive_location 
             -targetLocation target_ORACLE_HOME1,target_ORACLE_HOME1, 
             -sourceID OH1_sourceID,OH2_sourceID
    

    For example, to apply the clone to the directories/scratch/Oracle/Middleware1/soa_oh1_cl and /scratch/Oracle/Middleware1/soa_oh2_cl, use the following command:

    java -jar ORACLE_HOME/jlib/cloningclient.jar applyClone 
        -archiveLocation /tmp/oh_clone.jar 
        -targetLocation /scratch/Oracle/Middleware1/soa_oh1_cl,/scratch/Oracle/Middleware1/soa_oh2_cl
             -sourceID oraclehome1@soa_oh1,oraclehome2@idm_oh1
    

9.5 Learn More

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