4 Configuring Oracle SOA Suite Domain

After you have installed Oracle SOA Suite, you can configure the domain, which you can also extend for high availability.

Refer to the following sections to create the database schemas, configure a WebLogic domain, and verify the configuration:

Creating the Database Schemas

Before you can configure an Oracle SOA Suite and Oracle Business Process Management domain, you must install required schemas on a certified database for use with this release of Oracle Fusion Middleware.

Installing and Configuring a Certified Database

Before you create the database schemas, you must install and configure a certified database, and verify that the database is up and running.

Starting the Repository Creation Utility

Start the Repository Creation Utility (RCU) after you verify that a certified JDK is installed on your system.

To start the RCU:

  1. Verify that a certified JDK already exists on your system by running java -version from the command line. For 12c (12.2.1.4.0), the certified JDK is 1.8.0_211 and later.
  2. Ensure that the JAVA_HOME environment variable is set to the location of the certified JDK. For example:
    • (UNIX) setenv JAVA_HOME /home/Oracle/Java/jdk1.8.0_211
    • (Windows) set JAVA_HOME=C:\home\Oracle\Java\jdk1.8.0_211
  3. Change to the following directory:
    • (UNIX) ORACLE_HOME/oracle_common/bin
    • (Windows) ORACLE_HOME\oracle_common\bin
  4. Enter the following command:
    • (UNIX) ./rcu
    • (Windows) rcu.bat

Navigating the Repository Creation Utility Screens to Create Schemas

Enter required information in the RCU screens to create the database schemas.

Introducing the RCU

The Welcome screen is the first screen that appears when you start the RCU.

Click Next.

Selecting a Method of Schema Creation

Use the Create Repository screen to select a method to create and load component schemas into the database.

On the Create Repository screen:
  • If you have the necessary permissions and privileges to perform DBA activities on your database, select System Load and Product Load. This procedure assumes that you have SYSDBA privileges.

  • If you do not have the necessary permissions or privileges to perform DBA activities in the database, you must select Prepare Scripts for System Load on this screen. This option generates a SQL script that you can give to your database administrator. See About System Load and Product Load in Creating Schemas with the Repository Creation Utility.

  • If the DBA has already run the SQL script for System Load, select Perform Product Load.

Providing Database Connection Details

On the Database Connection Details screen, provide the database connection details for the RCU to connect to your database.

Note:

If you are unsure of the service name for your database, you can obtain it from the SERVICE_NAMES parameter in the initialization parameter file of the database. If the initialization parameter file does not contain the SERVICE_NAMES parameter, then the service name is the same as the global database name, which is specified in the DB_NAME and DB_DOMAIN parameters.

For example:

  • Database Type: Oracle Database
  • Host Name: examplehost.exampledomain.com
  • Port: 1521
  • Service Name: Orcl.exampledomain.com
  • User Name: sys
  • Password: ******
  • Role: SYSDBA

Click Next to proceed, then click OK in the dialog window that confirms a successful database connection.

Specifying a Custom Prefix and Selecting Schemas

On the Select Components screen, specify a custom prefix and select the product database schema.

Select Create new prefix, specify a custom prefix, then select SOA Suite schema. This will automatically select SOA Infrastructure, along with the following schemas as dependencies:

  • User Messaging Service

  • Metadata Services

  • WebLogic Services

  • Oracle Platform Security Services

  • Audit Services

  • Audit Services Append

  • Audit Services Viewer

Tip:

Make a note of the custom prefix you choose to enter here; you will need this later on during the domain creation process.

A schema called Common Infrastructure Services is also automatically created; this schema is grayed out (you can’t select it or deselect it). This schema enables you to retrieve information from the RCU during domain configuration. See Understanding the Service Table Schema in Creating Schemas with the Repository Creation Utility.

The custom prefix logically groups these schemas together for use in this domain only; you must create a unique set of schemas for each domain as schema sharing across domains is not supported.

See Also:

See the following topics in Creating Schemas with the Repository Creation Utility:

Click Next to proceed, then click OK to confirm that prerequisite checking for schema creation was successful.

Specifying Schema Passwords

On the Schema Passwords screen, specify how you want to set the schema passwords on your database, then enter and confirm your passwords.

You must make a note of the passwords you set on this screen; you will need them later on during the domain creation process.

Specifying Custom Variables

On the Custom Variables screen, specify the custom variables for the SOA Infrastructure schema.

For the Oracle SOA Suite standard installation topology, accept both default values for Database Profile (Small) and Healthcare Integration (No).

See About the Custom Variables Required for the SOA Suite Schemas.

For more information about the options on this screen, see Custom Variables in Creating Schemas with the Repository Creation Utility.

Completing Schema Creation

Navigate through the remaining RCU screens to complete schema creation.

On the Map Tablespaces screen, the Encrypt Tablespace check box appears only if you enabled Transparent Data Encryption (TDE) in the database (Oracle or Oracle EBR) when you start the RCU. Select the Encrypt Tablespace check box if you want to encrypt all new tablespaces that the RCU creates.

When you reach the Completion Summary screen, click Close to dismiss the RCU.

Configuring the Domain

Use the Configuration Wizard to create and configure a domain.

For information on other methods to create domains, see Additional Tools for Creating, Extending, and Managing WebLogic Domains in Creating WebLogic Domains Using the Configuration Wizard.

Starting the Configuration Wizard

Start the Configuration Wizard to begin configuring a domain.

To start the Configuration Wizard:

  1. Change to the following directory:

    (UNIX) ORACLE_HOME/oracle_common/common/bin

    (Windows) ORACLE_HOME\oracle_common\common\bin

    where ORACLE_HOME is your 12c (12.2.1.4.0) Oracle home.

  2. Enter the following command:

    (UNIX) ./config.sh

    (Windows) config.cmd

Navigating the Configuration Wizard Screens to Create and Configure the Domain

Enter required information in the Configuration Wizard screens to create and configure the domain for the topology.

Note:

You can use this procedure to extend an existing domain. If your needs do not match the instructions in the procedure, be sure to make your selections accordingly, or see the supporting documentation for more details.

Selecting the Domain Type and Domain Home Location

Use the Configuration Type screen to select a Domain home directory location, optimally outside the Oracle home directory.

Oracle recommends that you locate your Domain home in accordance with the directory structure in What Are the Key Oracle Fusion Middleware Directories? in Understanding Oracle Fusion Middleware, where the Domain home is located outside the Oracle home directory. This directory structure helps avoid issues when you need to upgrade or reinstall software.

To specify the Domain type and Domain home directory:

  1. On the Configuration Type screen, select Create a new domain.
  2. In the Domain Location field, specify your Domain home directory.

For more details about this screen, see Configuration Type in Creating WebLogic Domains Using the Configuration Wizard.

Selecting the Configuration Template for Oracle SOA Suite

Use the Templates screen to select the templates you require. You have the option to create a Reference Configuration domain or a Classic domain.

Reference Configuration Domain

Note:

A Reference Configuration domain cannot be extended to BPM. You need to create a Classic domain to extend to BPM.

On the Templates screen, make sure Create Domain Using Product Templates is selected, then select Oracle SOA Suite Reference Configuration [soa].

Selecting this template automatically selects the following as dependencies:

  • Oracle Enterprise Manager
  • Oracle WSM Policy Manager
  • Oracle JRF
  • WebLogic Coherence Cluster Extension

To complete the Reference Configuration domain, perform the manual steps described in Configuring Reference Configuration Domain Parameters.

For information about configuring a Reference Configuration domain and enabling settings for developing projects, see:

Classic Domain

A Classic domain is the default domain for JDeveloper that contains all the features except for the Reference Configuration settings.

Click Browse and select oracle.soa.classic.domain_template.jar from the Templates folder (soa > common > templates > wls), then click OK.

For more information about this screen, see Templates in Creating WebLogic Domains Using the Configuration Wizard.

Configuring High Availability Options

Use this screen to configure service migration and persistence settings that affect high availability. This screen appears for the first time when you create a cluster that uses automatic service migration, persistent stores, or both, and all subsequent clusters that are added to the domain by using the Configuration Wizard, automatically apply the selected HA options.

Enable Automatic Service Migration

Select Enable Automatic Service Migration to enable pinned services to migrate automatically to a healthy Managed Server for failover. It configures migratable target definitions that are required for automatic service migration and the cluster leasing. Choose one of these cluster leasing options:

  • Database Leasing - Managed Servers use a table on a valid JDBC System Resource for leasing. Requires that the Automatic Migration data source have a valid JDBC System Resource. If you select this option, the Migration Basis is configured to Database and the Data Source for Automatic Migration is also automatically configured by the Configuration Wizard. If you have a high availability database, such as Oracle RAC, to manage leasing information, configure the database for server migration according to steps in High-availability Database Leasing.

  • Consensus Leasing - Managed Servers maintain leasing information in-memory. You use Node Manager to control Managed Servers in a cluster. (All servers that are migratable, or which could host a migratable target, must have a Node Manager associated with them.) If you select this option, the Migration Basis is configured to Consensus by the Configuration Wizard.

See Leasing for more information on leasing.

See Service Migration for more information on Automatic Service Migration.

JTA Transaction Log Persistence

This section has two options: Default Persistent Store and JDBC TLog Store.
  • Default Persistent Store - Configures the JTA Transaction Log store of the servers in the default file store.

  • JDBC TLog Store - Configures the JTA Transaction Log store of the servers in JDBC stores.

Oracle recommends that you select JDBC TLog Store. When you complete the configuration, you have a cluster where JDBC persistent stores are set up for Transaction logs.

For more details on persistent and TLOG stores, see the following topics in Developing JTA Applications for Oracle WebLogic Server:

JMS Service Persistence

A persistent JMS store is a physical repository for storing persistent message data and durable subscribers. It can be either a disk-based file store or a JDBC-accessible database. You can use a JMS file store for paging of messages to disk when memory is exhausted.

  • JMS File Store - Configures a component to use JMS File Stores. If you select this option, you can choose the File Store option in the Advanced Configuration Screen to change the settings, if required. In the File Stores screen, you can set file store names, directories, and synchronous write policies.

  • JMS JDBC Store - Configures a component to use JDBC stores for all its JMS servers. When you complete the configuration, you have a cluster and JDBC persistent stores are configured for the JMS servers.

Selecting the Application Home Location

Use the Application Location screen to select the location to store applications associated with your domain, also known as the Application home directory.

Oracle recommends that you locate your Application home in accordance with the directory structure in What Are the Key Oracle Fusion Middleware Directories? in Understanding Oracle Fusion Middleware, where the Application home is located outside the Oracle home directory. This directory structure helps avoid issues when you need to upgrade or re-install your software.

For more about the Application home directory, see About the Application Home Directory.

For more information about this screen, see Application Location in Creating WebLogic Domains Using the Configuration Wizard.

Configuring the Administrator Account

Use the Administrator Account screen to specify the user name and password for the default WebLogic Administrator account for the domain.

Oracle recommends that you make a note of the user name and password that you enter on this screen; you need these credentials later to boot and connect to the domain's Administration Server.

For more information about this screen, see Administrator Account in Creating WebLogic Domains Using the Configuration Wizard.

Specifying the Domain Mode and JDK

Use the Domain Mode and JDK screen to specify the domain mode and Java Development Kit (JDK).

On the Domain Mode and JDK screen:

  • Select Production in the Domain Mode field.

  • Select the Oracle HotSpot JDK in the JDK field.

For more information about this screen, see Domain Mode and JDK in Creating WebLogic Domains Using the Configuration Wizard.
Specifying the Database Configuration Type

Use the Database Configuration type screen to specify details about the database and database schema.

On the Database Configuration type screen, select RCU Data. This option instructs the Configuration Wizard to connect to the database and Service Table (STB) schema to automatically retrieve schema information for schemas needed to configure the domain.

Note:

If you select Manual Configuration on this screen, you must manually fill in parameters for your schema on the next screen.

After selecting RCU Data, specify details in the following fields:

Field Description

DBMS/Service

Enter the database DBMS name, or service name if you selected a service type driver.

Example: orcl.exampledomain.com

Host Name

Enter the name of the server hosting the database.

Example: examplehost.exampledomain.com

Port

Enter the port number on which the database listens.

Example: 1521

Schema Owner

Schema Password

Enter the username and password for connecting to the database's Service Table schema. This is the schema username and password entered for the Service Table component on the Schema Passwords screen in the RCU (see Specifying Schema Passwords).

The default username is prefix_STB, where prefix is the custom prefix that you defined in the RCU.

Click Get RCU Configuration when you finish specifying the database connection information. The following output in the Connection Result Log indicates that the operation succeeded:

Connecting to the database server...OK
Retrieving schema data from database server...OK
Binding local schema components with retrieved data...OK

Successfully Done.

For more information about the schema installed when the RCU is run, see About the Service Table Schema in Creating Schemas with the Repository Creation Utility.

See Database Configuration Type in Creating WebLogic Domains Using the Configuration Wizard .

Specifying JDBC Component Schema Information

Use the JDBC Component Schema screen to verify or specify details about the database schemas.

Verify that the values populated on the JDBC Component Schema screen are correct for all schemas. If you selected RCU Data on the previous screen, the schema table should already be populated appropriately.

For high availability environments, see the following sections in High Availability Guide for additional information on configuring data sources for Oracle RAC databases:

See JDBC Component Schema in Creating WebLogic Domains Using the Configuration Wizard for more details about this screen.

Testing the JDBC Connections

Use the JDBC Component Schema Test screen to test the data source connections.

A green check mark in the Status column indicates a successful test. If you encounter any issues, see the error message in the Connection Result Log section of the screen, fix the problem, then try to test the connection again.

By default, the schema password for each schema component is the password you specified while creating your schemas. If you want different passwords for different schema components, manually edit them in the previous screen (JDBC Component Schema) by entering the password you want in the Schema Password column, against each row. After specifying the passwords, select the check box corresponding to the schemas that you changed the password in and test the connection again.

For more information about this screen, see JDBC Component Schema Test in Creating WebLogic Domains Using the Configuration Wizard.

Selecting Advanced Configuration

Use the Advanced Configuration screen to complete the domain configuration.

On the Advanced Configuration screen, select:

  • Administration Server

    Required to properly configure the listen address of the Administration Server.

  • Node Manager

    Required to configure Node Manager.

  • Topology

    Required to configure the Oracle SOA Suite Managed Server.

Optionally, select other available options as required for your desired installation environment. The steps in this guide describe a standard installation topology, but you may choose to follow a different path. If your installation requirements extend to additional options outside the scope of this guide, you may be presented with additional screens to configure those options. For information about all Configuration Wizard screens, see Configuration Wizard Screens in Creating WebLogic Domains Using the Configuration Wizard.

Configuring the Administration Server Listen Address

Use the Administration Server screen to select the IP address of the host.

Select the drop-down list next to Listen Address and select the IP address of the host where the Administration Server will reside, or use the system name or DNS name that maps to a single IP address. Do not use All Local Addresses.

Do not specify any server groups for the Administration Server.

Configuring Node Manager

Use the Node Manager screen to select the type of Node Manager you want to configure, along with the Node Manager credentials.

Select Per Domain Default Location as the Node Manager type, then specify Node Manager credentials.

For more information about this screen, see Node Manager in Creating WebLogic Domains Using the Configuration Wizard.

For more about Node Manager types, see Node Manager Overview in Administering Node Manager for Oracle WebLogic Server.

Configuring Managed Servers for Oracle SOA Suite

Use the Managed Servers screen to configure Managed Servers.

To configure Managed Servers for Oracle SOA Suite:
  1. Click Add and create a Managed Server named soa_server1.
  2. In the Listen Address drop-down list, select the IP address of the host on which the Managed Server will reside or use the system name or DNS name that maps to a single IP address. Do not use All Local Addresses.
  3. In the Server Groups drop-down list, make sure that SOA-MGD-SVRS is selected. This server group ensures that SOA and Oracle Web Services Manager (OWSM) services are targeted to the Managed Servers you are creating.

    There is another server group called SOA-MGD-SVRS-ONLY that targets only SOA but not Oracle Web Services Manager (OWSM) to the server. This is typically used if you want to have Oracle Web Services Manager (OWSM) in a different server rather than with the SOA server.

    Server groups target Fusion Middleware applications and services to one or more servers by mapping defined application service groups to each defined server group. A given application service group may be mapped to multiple server groups if needed. Any application services that are mapped to a given server group are automatically targeted to all servers that are assigned to that group. See Application Service Groups, Server Groups, and Application Service Mappings in Domain Template Reference.

  4. Configuring a second Managed Server is one of the steps needed to configure the standard topology for high availability. If you are not creating a highly available environment, then this step is optional.

    Click Add and select SOA-MGD-SVRS to create a second Managed Server named soa_server2.

    Note:

    If you plan to configure a cluster that includes both SOA and OSB Managed Servers on the same machine, you must assign both the OSB-MGD-SVRS-COMBINED and SOA-MGD-SVRS server groups to each Managed Server. Otherwise, domain creation will fail.

    For more information about the high availability standard topology, see Understanding the Fusion Middleware Standard HA Topology in High Availability Guide.

    For more information about the next steps to prepare for high availability after your domain is configured, see Preparing Your Environment for High Availability.

These server names are referenced in examples throughout this document; if you choose different names be sure to replace them as needed.

For more information about this screen, see Managed Servers in Creating WebLogic Domains Using the Configuration Wizard.

Configuring a Cluster for Oracle SOA Suite

Use the Clusters screen to create a new cluster.

On the Clusters screen:

  1. Click Add.
  2. Specify soa_cluster1 in the Cluster Name field.
  3. Leave the Cluster Address field blank.

By default, server instances in a cluster communicate with one another using unicast. If you want to change your cluster communications to use multicast, see Considerations for Choosing Unicast or Multicast in Administering Clusters for Oracle WebLogic Server.

You can also create clusters using Fusion Middleware Control. In this case, you can configure cluster communication (unicast or multicast) when you create the new cluster. See Create and configure clusters in Oracle WebLogic Server Administration Console Online Help.

For more information about this screen, see Clusters in Creating WebLogic Domains Using the Configuration Wizard.

Defining Server Templates

If you are creating dynamic clusters for a high availability setup, use the Server Templates screen to define one or more server templates for domain.

To continue configuring the domain, click Next.

For steps to create a dynamic cluster for a high availability setup, see Using Dynamic Clusters in High Availability Guide.

Configuring Dynamic Servers

If you are creating dynamic clusters for a high availability setup, use the Dynamic Servers screen to configure the dynamic servers.

If you are not configuring a dynamic cluster, click Next to continue configuring the domain.

Note:

When you create dynamic clusters, keep in mind that after you assign the Machine Name Match Expression, you do not need to create machines for your dynamic cluster.

To create a dynamic cluster for a high availability setup, see Using Dynamic Clusters in High Availability Guide.

Assigning Oracle SOA Suite Managed Servers to the Cluster

Use the Assign Servers to Clusters screen to assign Managed Servers to a new configured cluster. A configured cluster is a cluster you configure manually. You do not use this screen if you are configuring a dynamic cluster, a cluster that contains one or more generated server instances that are based on a server template.

Note:

All Managed Servers of a component type in the domain must belong to that cluster. For example, Oracle SOA Suite domains support only a single Oracle SOA Suite cluster inside each domain.

For more on configured cluster and dynamic cluster terms, see About Dynamic Clusters in Understanding Oracle WebLogic Server.

On the Assign Servers to Clusters screen:

  1. In the Clusters pane, select the cluster to which you want to assign the Managed Servers; in this case, soa_cluster1.
  2. In the Servers pane, assign soa_server1 to soa_cluster1 by doing one of the following:
    • Click once on soa_server1 to select it, then click the right arrow to move it beneath the selected cluster (soa_cluster1) in the Clusters pane.

    • Double-click on soa_server1 to move it beneath the selected cluster (soa_cluster1) in the Clusters pane.

  3. Repeat to assign soa_server2 to soa_cluster1.
The following image shows a generic example of the Clusters pane after Managed Servers are assigned to clusters.

For more information about this screen, see Assign Servers to Clusters in Creating WebLogic Domains Using the Configuration Wizard.

Configuring Coherence Clusters

Use the Coherence Clusters screen to configure the Coherence cluster.

Leave the default port number as the Coherence cluster listen port. After configuration, the Coherence cluster is automatically added to the domain.

Note:

Setting the unicast listen port to 0 creates an offset for the Managed Server port numbers. The offset is 5000, meaning the maximum allowed value that you can assign to a Managed Server port number is 60535, instead of 65535.

See Table 7-2 for more information and next steps for configuring Coherence.

For Coherence licensing information, see Oracle Coherence Products in Licensing Information.

Creating a New Oracle SOA Suite Machine

Use the Machines screen to create new machines in the domain. A machine is required so that Node Manager can start and stop servers.

If you plan to create a high availability environment and know the list of machines your target topology requires, you can follow the instructions in this section to create all the machines at this time. For more about scale out steps, see Optional Scale Out Procedure in High Availability Guide.

To create a new Oracle SOA Suite machine so that Node Manager can start and stop servers:
  1. Select the Machine tab (for Windows) or the UNIX Machine tab (for UNIX), then click Add to create a new machine.
  2. In the Name field, specify a machine name, such as soa_machine1.
  3. In the Node Manager Listen Address field, select the IP address of the machine in which the Managed Servers are being configured.

    You must select a specific interface and not localhost. This allows Coherence cluster addresses to be dynamically calculated.

  4. Verify the port in the Node Manager Listen Port field.
  5. Repeat these steps to add more machines, if required.

Note:

If you are extending an existing domain, you can assign servers to any existing machine. It is not necessary to create a new machine unless your situation requires it.

For more information about this screen, see Machines in Creating WebLogic Domains Using the Configuration Wizard.

Assigning Servers to Oracle SOA Suite Machines

Use the Assign Servers to Machines screen to assign the Administration Server and Managed Servers to the new machine you just created.

On the Assign Servers to Machines screen:

  1. In the Machines pane, select the machine to which you want to assign the servers; in this case, soa_machine1.
  2. In the Servers pane, assign AdminServer to soa_machine1 by doing one of the following:
    • Click once on AdminServer to select it, then click the right arrow to move it beneath the selected machine (soa_machine1) in the Machines pane.

    • Double-click on AdminServer to move it beneath the selected machine (soa_machine1) in the Machines pane.

  3. Repeat these steps to assign all Managed Servers to their respective machines.

For more information about this screen, see Assign Servers to Machines in Creating WebLogic Domains Using the Configuration Wizard.

Virtual Targets

If you have a WebLogic Server Multitenant (MT) environment, you use the Virtual Targets screen to add or delete virtual targets. For this installation (not a WebLogic Server MT environment), you do not enter any values; just select Next.

For details about this screen, see Virtual Targets in Creating WebLogic Domains Using the Configuration Wizard.

Partitions

The Partitions screen is used to configure partitions for virtual targets in WebLogic Server Multitenant (MT) environments. Select Next without selecting any options.

For details about options on this screen, see Partitions in Creating WebLogic Domains Using the Configuration Wizard.

Reviewing Your Configuration Specifications and Configuring the Domain

The Configuration Summary screen shows detailed configuration information for the domain you are about to create.

Review each item on the screen and verify that the information is correct. To make any changes, go back to a screen by clicking the Back button or selecting the screen in the navigation pane. Domain creation does not start until you click Create.

For more details about options on this screen, see Configuration Summary in Creating WebLogic Domains Using the Configuration Wizard.

Writing Down Your Domain Home and Administration Server URL

The End of Configuration screen shows information about the domain you just configured.

Make a note of the following items because you need them later:

  • Domain Location

  • Administration Server URL

You need the domain location to access scripts that start Node Manager and Administration Server, and you need the URL to access the Administration Server.

Click Finish to dismiss the Configuration Wizard.

Starting the Servers

After configuration is complete, start Node Manager, then the WebLogic Administration Server and Managed Servers.

For more information on additional tools you can use to manage your domain, see Overview of Oracle Fusion Middleware Administration Tools in Administering Oracle Fusion Middleware.

Starting Node Manager

To start the per-domain Node Manager:
  1. Change to the following directory:

    • (UNIX) setenv JAVA_HOME /home/Oracle/Java/jdk1.8.0_211

    • (Windows) set JAVA_HOME=C:\home\Oracle\Java\jdk1.8.0_211

  2. Enter the following command:

    • (UNIX) Using nohup and nm.out as an example output file:

      nohup ./startNodeManager.sh > LOG_DIR/nm.out&
      

      where LOG_DIR is the location of directory in which you want to store the log files.

    • (Windows) startNodeManager.cmd

      Note:

      On Windows operating systems, Oracle recommends that you configure Node Manager to run as a startup service. This allows Node Manager to start up automatically each time the system is restarted.

      See Running Node Manager as a Startup Service in Administering Node Manager for Oracle WebLogic Server.

Starting the Administration Server

To start the Administration Server:
  1. Go to the DOMAIN_HOME/bin directory.

  2. Enter the following command:

    • (UNIX)

      ./startWebLogic.sh
    • (Windows)

      startWebLogic.cmd

If you selected Production Mode on the Domain Mode and JDK screen when you created the domain, you see a prompt for the Administrator user login credentials as provided on the Administrator Account screen.

For more information about starting the Administration Server, see Starting and Stopping Administration Server in Administering Oracle Fusion Middleware.

In production mode, a boot identity file can be created to bypass the need to provide a user name and password when starting the Administration Server. For more boot identity files, see Creating a Boot Identity File for an Administration Server in Administering Server Startup and Shutdown for Oracle WebLogic Server.

You can verify that the Administration Server is up and running by accessing the Administration Server Console. The URL is provided on the End of Configuration screen (http://administration_server_host:administration_server_port/console). The default Administration Server port number is 7001.

Note:

Make sure that the database hosting your product schemas is up and running and accessible by the Administration Server.

For more information about how to use the Administration Console, see Getting Started Using Oracle WebLogic Server Administration Console in Administering Oracle Fusion Middleware.

Starting the Managed Servers

To start the Managed Servers:

  1. Sign in to Oracle Fusion Middleware Control:
    http://administration_server_host:administration_server_port/em
    

    The Administration Server host and port number were in the URL on the End of Configuration screen (Writing Down Your Domain Home and Administration Server URL). The default Administration Server port number is 7001.

    The login credentials were provided on the Administrator Account screen (Configuring the Administrator Account).

  2. The Enterprise Manager landing page lists the servers configured for this domain and displays their status (such as Running or Shutdown). For a newly configured domain, only the AdminServer(admin) will be running.

    Select the first Managed Server.

  3. Next to the WebLogic Server menu, select Start Up.
  4. Repeat Steps 3 and 4 to start all Managed Servers.
  5. On the main landing page, verify that all the Managed Servers are up and running.

Configuring Reference Configuration Domain Parameters

Run commands to configure and complete the creation of a Reference Configuration domain.

To configure parameters for a Reference Configuration domain on the WebLogic server after the SOA server is started, run the following commands:
  • cd $ORACLE_HOME/soa/common/tools/refconfig
  • $ORACLE_HOME/oracle_common/common/bin/wlst.sh $ORACLE_HOME/soa/common/tools/refconfig/soaWLSParams.py –domain <domain name> –user <domain user> –adminhost <admin host> –adminport <admin port>
To set the database parameters, run the following commands:
  • cd $ORACLE_HOME/soa/common/tools/refconfig
  • $ORACLE_HOME/oracle_common/common/bin/wlst.sh $ORACLE_HOME/soa/common/tools/refconfig/soaDBParams.py -host <host name> -port <port number> -sid <sid value>

Restart the database for the database parameters to be effective.

Verifying the Configuration

After completing all configuration steps, you can perform additional steps to verify that your domain is properly configured.

To verify that the domain is configured properly, see Performing Additional Domain Configuration Tasks.

Creating a Silent Domain in SOA

Perform the following steps to create a silent domain using a sample script.
  1. Copy the following script (createSoaDomain.py) into the Linux system where you want to create the domain.
    import os
    import sys
    
    import com.oracle.cie.domain.script.jython.WLSTException as WLSTException
    
    class SOA12213Provisioner:
    
    # In this sample script, only one machine is used for all servers.
    # You can add more than one machine. For example, soa_server1 - machine1, soa_server2 - machine2
    
        MACHINES = {
            'machine1' : {
                'NMType': 'SSL',
                'ListenAddress': '127.0.0.1',
                'ListenPort': 5658
            }
        }
    
        CLUSTERS = {
            'soa_cluster' : {}
        }
    
        SERVERS = {
            'AdminServer' : {
                'ListenAddress': '127.0.0.1',
                'ListenPort': 7001,
                'Machine': 'machine1'
            },
            'soa_server1' : {
                'ListenAddress': '127.0.0.1',
                'ListenPort': 8001,
                'Machine': 'machine1',
                'Cluster': 'soa_cluster'
            },
            'soa_server2' : {
                'ListenAddress': '127.0.0.1',
                'ListenPort': 8002,
                'Machine': 'machine1',
                'Cluster': 'soa_cluster'
            }
        }
    
        JRF_12213_TEMPLATES = {
            'baseTemplate' : '@@ORACLE_HOME@@/wlserver/common/templates/wls/wls.jar',
            'extensionTemplates' : [
                '@@ORACLE_HOME@@/oracle_common/common/templates/wls/oracle.jrf_template.jar',
                '@@ORACLE_HOME@@/oracle_common/common/templates/wls/oracle.jrf.ws.async_template.jar',
                '@@ORACLE_HOME@@/oracle_common/common/templates/wls/oracle.wsmpm_template.jar',
                '@@ORACLE_HOME@@/oracle_common/common/templates/wls/oracle.ums_template.jar',
                '@@ORACLE_HOME@@/em/common/templates/wls/oracle.em_wls_template.jar'
            ],
            'serverGroupsToTarget' : [ 'JRF-MAN-SVR', 'WSMPM-MAN-SVR' ]
        }
    
        SOA_12213_TEMPLATES = {
            'extensionTemplates' : [
                '@@ORACLE_HOME@@/soa/common/templates/wls/oracle.soa_template.jar'
            ],
            'serverGroupsToTarget' : [ 'SOA-MGD-SVRS-ONLY' ]
        }
    
        def __init__(self, oracleHome, javaHome, domainParentDir):
            self.oracleHome = self.validateDirectory(oracleHome)
            self.javaHome = self.validateDirectory(javaHome)
            self.domainParentDir = self.validateDirectory(domainParentDir, create=True)
            return
    
        def createSoaDomain(self, name, user, password, db, dbPrefix, dbPassword):
            domainHome = self.createBaseDomain(name, user, password)
            self.extendDomain(domainHome, db, dbPrefix, dbPassword)
    
    
        def createBaseDomain(self, name, user, password):
            baseTemplate = self.replaceTokens(self.JRF_12213_TEMPLATES['baseTemplate'])
    
            readTemplate(baseTemplate)
            setOption('DomainName', name)
            setOption('JavaHome', self.javaHome)
            setOption('ServerStartMode', 'prod')
            set('Name', domainName)
            cd('/Security/' + domainName + '/User/weblogic')
            set('Name', user)
            set('Password', password)
    
            print 'Creating cluster...'
            for cluster in self.CLUSTERS:
                cd('/')
                create(cluster, 'Cluster')
                cd('Cluster/' + cluster)
                for param in  self.CLUSTERS[cluster]:
                    set(param, self.CLUSTERS[cluster][param])
    
            print 'Creating Node Managers...'
            for machine in self.MACHINES:
                cd('/')
                create(machine, 'Machine')
                cd('Machine/' + machine)
                create(machine, 'NodeManager')
                cd('NodeManager/' + machine)
                for param in self.MACHINES[machine]:
                    set(param, self.MACHINES[machine][param])
    
            print 'Creating Servers...'
            for server in self.SERVERS:
                cd('/')
                if server == 'AdminServer':
                	cd('Server/' + server)
                	for param in self.SERVERS[server]:
                		set(param, self.SERVERS[server][param])
                    continue
                create(server, 'Server')
                cd('Server/' + server)
                for param in self.SERVERS[server]:
                    set(param, self.SERVERS[server][param])
    
            setOption('OverwriteDomain', 'true')
            domainHome = self.domainParentDir + '/' + name
    
            print 'Writing base domain...'
            writeDomain(domainHome)
            closeTemplate()
            print 'Base domain created at ' + domainHome
            return domainHome
    
    
        def extendDomain(self, domainHome, db, dbPrefix, dbPassword):
            print 'Extending domain at ' + domainHome
            readDomain(domainHome)
            setOption('AppDir', self.domainParentDir + '/applications')
    
            print 'Applying JRF templates...'
            for extensionTemplate in self.JRF_12213_TEMPLATES['extensionTemplates']:
                addTemplate(self.replaceTokens(extensionTemplate))
    
            print 'Applying SOA templates...'
            for extensionTemplate in self.SOA_12213_TEMPLATES['extensionTemplates']:
                addTemplate(self.replaceTokens(extensionTemplate))
    
            print 'Extension Templates added'
    
            print 'Configuring the Service Table DataSource...'
            fmwDb = 'jdbc:oracle:thin:@' + db
            cd('/JDBCSystemResource/LocalSvcTblDataSource/JdbcResource/LocalSvcTblDataSource')
            cd('JDBCDriverParams/NO_NAME_0')
            set('DriverName', 'oracle.jdbc.OracleDriver')
            set('URL', fmwDb)
            set('PasswordEncrypted', dbPassword)
    
            stbUser = dbPrefix + '_STB'
            cd('Properties/NO_NAME_0/Property/user')
            set('Value', stbUser)
    
            print 'Getting Database Defaults...'
            getDatabaseDefaults()
    
            print 'Targeting Server Groups...'
            serverGroupsToTarget = list(self.JRF_12213_TEMPLATES['serverGroupsToTarget'])
            serverGroupsToTarget.extend(self.SOA_12213_TEMPLATES['serverGroupsToTarget'])
            cd('/')
            for server in self.SERVERS:
                if not server == 'AdminServer':
                    setServerGroups(server, serverGroupsToTarget)
                    print "Set CoherenceClusterSystemResource to defaultCoherenceCluster for server:" + server
                    cd('/Servers/' + server)
                    set('CoherenceClusterSystemResource', 'defaultCoherenceCluster')
    
            cd('/')
            for cluster in self.CLUSTERS:
                print "Set CoherenceClusterSystemResource to defaultCoherenceCluster for cluster:" + cluster
                cd('/Cluster/' + cluster)
                set('CoherenceClusterSystemResource', 'defaultCoherenceCluster')
            
            print "Set WLS clusters as target of defaultCoherenceCluster:[" + ",".join(self.CLUSTERS) + "]"
            cd('/CoherenceClusterSystemResource/defaultCoherenceCluster')
            set('Target', ",".join(self.CLUSTERS))
    		 
            print 'Preparing to update domain...'
            updateDomain()
            print 'Domain updated successfully'
            closeDomain()
            return
    
    
        ###########################################################################
        # Helper Methods                                                          #
        ###########################################################################
    
        def validateDirectory(self, dirName, create=False):
            directory = os.path.realpath(dirName)
            if not os.path.exists(directory):
                if create:
                    os.makedirs(directory)
                else:
                    message = 'Directory ' + directory + ' does not exist'
                    raise WLSTException(message)
            elif not os.path.isdir(directory):
                message = 'Directory ' + directory + ' is not a directory'
                raise WLSTException(message)
            return self.fixupPath(directory)
    
    
        def fixupPath(self, path):
            result = path
            if path is not None:
                result = path.replace('\\', '/')
            return result
    
    
        def replaceTokens(self, path):
            result = path
            if path is not None:
                result = path.replace('@@ORACLE_HOME@@', oracleHome)
            return result
    
    
    #############################
    # Entry point to the script #
    #############################
    
    def usage():
        print sys.argv[0] + ' -oh <oracle_home> -jh <java_home> -parent <domain_parent_dir> [-name <domain-name>] ' + \
              '[-user <domain-user>] [-password <domain-password>] ' + \
              '-rcuDb <rcu-database> [-rcuPrefix <rcu-prefix>] [-rcuSchemaPwd <rcu-schema-password>]'
        sys.exit(0)
    
    
    print str(sys.argv[0]) + " called with the following sys.argv array:"
    for index, arg in enumerate(sys.argv):
        print "sys.argv[" + str(index) + "] = " + str(sys.argv[index])
    
    if len(sys.argv) <  6:
        usage()
    
    #oracleHome will be passed by command line parameter -oh.
    oracleHome = None
    #javaHome will be passed by command line parameter -jh.
    javaHome = None
    #domainParentDir will be passed by command line parameter -parent.
    domainParentDir = None
    #domainName is hard-coded to soa_domain. You can change to other name of your choice. Command line parameter -name.
    domainName = 'soa_domain'
    #domainUser is hard-coded to weblogic. You can change to other name of your choice. Command line paramter -user.
    domainUser = 'weblogic'
    #domainPassword is hard-coded to welcome1. You can change to other password of your choice. Command line parameter -password.
    domainPassword = 'welcome1'
    #rcuDb will be passed by command line parameter -rcuDb.
    rcuDb = None
    #change rcuSchemaPrefix to your soainfra schema prefix. Command line parameter -rcuPrefix.
    rcuSchemaPrefix = 'DEV12'
    #change rcuSchemaPassword to your soainfra schema password. Command line parameter -rcuSchemaPwd.
    rcuSchemaPassword = 'welcome1'
    
    i = 1
    while i < len(sys.argv):
        if sys.argv[i] == '-oh':
            oracleHome = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-jh':
            javaHome = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-parent':
            domainParentDir = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-name':
            domainName = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-user':
            domainUser = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-password':
            domainPassword = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-rcuDb':
            rcuDb = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-rcuPrefix':
            rcuSchemaPrefix = sys.argv[i + 1]
            i += 2
        elif sys.argv[i] == '-rcuSchemaPwd':
            rcuSchemaPassword = sys.argv[i + 1]
            i += 2
        else:
            print 'Unexpected argument switch at position ' + str(i) + ': ' + str(sys.argv[i])
            usage()
            sys.exit(1)
    
    provisioner = SOA12213Provisioner(oracleHome, javaHome, domainParentDir)
    provisioner.createSoaDomain(domainName, domainUser, domainPassword, rcuDb, rcuSchemaPrefix, rcuSchemaPassword)
    
  2. Open the script and change the following values:
    1. ListenAdress: This is the IP address of the machine where the SOA domain should be created.
    2. Prefix of RCU schema: This is hardcoded to DEV12, change this value to the specific prefix. For example, if the name of the RCU schema is SAMPLE_SOAINFRA, then the value of rcuSchemaPrefix is SAMPLE.
    3. RCU schema password: This is hard coded to welcome1. Change this value to the schema specific password.
  3.  Go to FMW_HOME/oracle_common/common/bin/
  4. Type ./wlst.sh <script_location>/createSoaDomain.py -oh "<FMW_HOME>"  -jh "<JAVA_HOME>" -parent "<new domain creation location>" -rcuDb  "<hostname of the database>:<database port>/<service id>"
    The following is an example of the command with the required parameters:
    Type cd $MW_HOME/oracle_common/common/bin
    Type ./wlst.sh <script_name with absolute path> -oh "<oracle middleware home>" -jh  "<java home>" -parent "<domain parent directory with absolute path>" -name  "<domain_name>" -user "<domain user>" -password "domain password" -rcuDb  "<hostname>:<port>/<service>" -rcuPrefix "<soa_infra schema prefix>"  -rcuSchemaPwd "<soainfra schema password>"
    • -oh — Middleware home path. Default is none, set a value.

    • -jh — Java home path. Default is none, set a value.

    • -parent — domain parent directory name with absolute path. Default is none, set a value.

    • (Optional) -name — domain name. Default is soa_domain. If value is not set, default value will be used.

    • (Optional) -user — domain user. Default is weblogic. If value is not set, default value will be used.

    • (Optional) -password — domain password. Default is welcome1. If value is not set, default value will be used..

    • -rcuDb — RCU database details. Default is none, set a value.

    • -rcuPrefix — soainfra schema prefix. Default is DEV12. Check your soainfra prefix and set this value accordingly.

    • -rcuSchemaPwd —soainfra schema password. Default is welcome1. Check your soainfra schema password and set this value accordingly.