19 Scaling Your Environment

You can expand your environment by adding Managed Servers, expanding your domain to include other products, creating a cluster of Managed Servers, copying existing Middleware homes or existing Oracle Fusion Middleware components such as Oracle SOA Suite or Oracle HTTP Server, as described by the following topics:

19.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 to 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.

19.2 Extending a 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 Portal, 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.

Table 19-1 shows some of the components you can add to an existing domain and the domain templates needed.

Table 19-1 Supported Domain Extensions

Existing Domain Template Components That Can Be Added

Oracle SOA Suite

Any Oracle SOA Suite component.

Any Oracle WebCenter Portal component. Extend with Oracle WebCenter Portal domain template.

Any Web Tier component. Extend with Web Tier domain template.

Oracle Identity Management

Any Identity Management component.

Any Web Tier component. Extend with Web Tier domain template.

Oracle Portal, Oracle Reports, Oracle Forms Services, Oracle Business Intelligence Discoverer

Any of these components.

Any Web Tier component. Extend with Web Tier domain template.


Note:

For Identity Management components, Oracle Portal, Oracle Forms Services, Oracle Reports, and Oracle Business Intelligence Discoverer, if the component that you want to include in the domain is on a remote host, the WebLogic Server home must have the same full path as the WebLogic Server home for the original component.

For example, you are extending a domain that initially was created to support Identity Management components so that it can now also support Web Tier components and you install Web Tier components on a remote host. In this case, if the WebLogic Server home for Identity Management is located in /scratch/oracle/Middleware/wlserver_10.3, the WebLogic Server home for the Web Tier must also be located in /scratch/oracle/Middleware/wlserver_10.3.

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

  1. Use RCU to add any required schemas for the component, as described in the Oracle Fusion Middleware Repository Creation Utility User's Guide.

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

  3. From an Oracle home that was installed for the component you want to add (for example, for Oracle WebCenter Portal), 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.

19.3 Adding Additional Managed Servers to a 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 not added as a part of a cluster, 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 add a Managed Server to a domain using the Administration Console:

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

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

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

    The Summary of Servers page is displayed.

  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, 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 this server is to be a standalone server or a member of 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 JRF to the Managed Server or cluster as described in Section 19.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.

19.3.1 Applying Oracle JRF Template 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 several 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 applying 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 3.5.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.)

For example, to configure the Managed Server server1 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='cluster1', domainDir='/scratch/Oracle/Middleware/user_projects/domains/domain1')

See Also:

19.4 Creating Additional Oracle Instances and System Components

When you install and configure an Oracle Fusion Middleware environment that contains system components, Oracle instances are created for those system components. If you require additional Oracle instances, you can create an Oracle instance using the OPMN createinstance command and you can create a system component using the OPMN createcomponent command, as described in the following topics:

19.4.1 Creating an Oracle Instance Using a Non-Secure Port

You can create an Oracle instance that does not use a secure port to communicate with the Administration Server. You use the OPMN createinstance command. For example, to create an Oracle instance and an Oracle HTTP Server component instance:

  1. Create the Oracle instances and the Oracle Web Cache instances:

    1. From the command line, go the following directory:

      (UNIX) ORACLE_HOME/opmn/bin
      (Windows) ORACLE_HOME\opmn\bin
      
    2. Create the Oracle instance, using the opmnctl createinstance command. For example:

      opmnctl createinstance -oracleInstance /scratch/Oracle/Middleware/inst1
         -adminHost hostname -adminPort 7001
      

      This command creates the Oracle instance and, by default, registers the instance with the Oracle WebLogic Server Administration Server.

    3. Create the Oracle HTTP Server instance, using the opmnctl createcomponent command. For example:

      opmnctl createcomponent -componentType OHS 
          -oracleInstance /scratch/Oracle/Middleware/inst1 
          -componentName webcache1
      
  2. Register the Oracle instances, along with all of its components, with the Administration Server, using the opmnctl registerinstance command. For example:

    opmnctl registerinstance -adminHost admin_server_host 
         -adminPort admin_server_port -adminUsername username 
         -adminPassword password
         -oracleInstance ORACLE_INSTANCE_dir -oracleHome ORACLE_HOME_dir
         -instanceName Instance_name -wlserverHome Middleware_Home
    

19.4.2 Creating an Oracle Instance Using a Secure Port

You can create an Oracle instance that uses a secure port to communicate with the Administration Server. You use the OPMN createinstance command. For example, to create an Oracle instance and an Oracle HTTP Server component instance that uses a secure port:

  1. Create the Oracle instance as a instance that is not registered with the Administration Server. (You will register it in a subsequent step.)

    opmnctl createinstance -oracleInstance /scratch/Oracle/Middleware/inst1
                            -adminRegistration OFF
    
  2. To access the Administration Server using a secure port, you must supply the relevant security settings, such as passphrases and trust locations. The list of system properties required for a connection depends on the type of SSL connection being made. To supply the settings, create a file named wls.connect.properties. The following shows an example wls.connect.properties file:

    # Example wls.connect.properties file for using the default DemoTrust store
     
    # These are jsse system property settings used for accessing mbeans
    javax.net.ssl.trustStore=/scratch/aime1/middleware/wlserver_10.3/server/lib/DemoTrust.jks
    javax.net.ssl.trustStorePassword=DemoTrustKeyStorePassPhrase
     
    # These are weblogic system property settings used for app deployment
    weblogic.home=/scratch/aime1/middleware/wlserver_10.3/server
    weblogic.security.TrustKeyStore=DemoTrust
    weblogic.security.JavaStandardTrustKeystorePassPhrase=DemoTrustKeyStorePassPhrase
     
    # Other commonly used weblogic property settings for app deployment
    # Comment next line for a more verbose deployment
    weblogic.log.StdoutSeverity=off
    # Comment next line to enable host name verification
    weblogic.security.SSL.ignoreHostnameVerification=true
    
  3. Copy the file to the following location:

    ORACLE_INSTANCE/config/OPMN/opmn/wls.connect.properties
    

    The properties are loaded as system properties each time a secure connection is created.

    Note:

    • Because OPMN conveys these properties into the JVM without validating them, you must ensure that the settings are valid and complete and that the syntax is valid.

    • On Windows, you must ensure that any backslashes (\) in the wls.connect.properties file is correctly escaped. For example:

      javax.net.ssl.trustStore=c:\\oracle\\mw2238\\wlserver_10.3\\server\\lib\\DemoTrust.jks
      
  4. Create the Oracle HTTP Server instance, using the opmnctl createcomponent command. For example:

    opmnctl createcomponent -componentType OHS 
        -oracleInstance /scratch/Oracle/Middleware/inst1 
        -componentName webcache1
    
  5. Register the Oracle instance using the secure protocol:

    ORACLE_INSTANCE/bin/opmnctl registerinstance -adminProtocol t3s 
          -adminHost admin_server_host 
         -adminPort admin_server_port -adminUsername username 
         -adminPassword password
         -oracleInstance ORACLE_INSTANCE_dir -oracleHome ORACLE_HOME_dir
         -instanceName Instance_name -wlserverHome Middleware_Home
    

19.5 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, 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

19.6 Copying a Middleware Home or Component

You can copy a Middleware home or many Oracle Fusion Middleware components to a different location while preserving its configuration. Some situations in which copying Oracle Fusion Middleware is useful are:

  • Creating a Middleware home that is a copy of a production, test, or development environment, enabling you to create a new Middleware home or component with all patches applied to it in a single step. This is in contrast to separately installing, configuring and applying any patches to separate Middleware homes or components.

  • Preparing a "gold" image of a patched home and deploying it to many hosts.

For information about the scripts you use to copy a Middleware home or component, see Chapter 20.