4 Configuring Oracle Service Bus Domain

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

The configuration steps presented here assume that you have completed the installation steps covered in:

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 Service Bus 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.3.0), the certified JDK is 1.8.0_131 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_131
    • (Windows) set JAVA_HOME=C:\home\Oracle\Java\jdk1.8.0_131
  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.3.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

You must 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.

Note:

If you want to use an Oracle Real-Time Integration Business Insight agent (Insight Service Bus agent) to collect business metrics:

  • Insight must be collocated in the same domain as BAM. See About Insight Integration with Oracle Service Bus.

  • If you configure BAM and Insight in a separate domain from the Oracle Service Bus domain, then the Oracle Service Bus domain cannot also include BAM. If Oracle Service Bus and BAM are collocated in the same domain, then the BAM data source entries must reference the local SOA schema. Insight agents (in the SOA and Oracle Service Bus domains) access the remote BAM/Insight domain’s SOA schema through the BAM data source entries. However, if the BAM data source must reference the local SOA schema for BAM to work in the Oracle Service Bus domain, then the Insight agents cannot access the remote BAM/Insight domain’s SOA schema.

  • If you configure an Oracle Service Bus domain to include an Insight Service Bus agent that communicates with a remote BAM/Insight domain, then you will need to manually edit the BAM data source entries to reference the SOA schema of the BAM/Insight domain. See Specifying JDBC Component Schema Information.

  • If BAM and Insight are collocated in the same domain as Oracle Service Bus, then the BAM data source entries reference the correct SOA schema (in the Oracle Service Bus domain), and no manual updates are necessary.

To specify the Domain type and Domain home directory:

  1. On the Configuration Type screen, select Create a new domain.

    Note:

    You can also extend your existing Oracle Service Bus domain to include an Insight agent by selecting Update an existing domain. See Extending the Domain with Oracle Service Bus in Enterprise Deployment Guide for Oracle SOA Suite. When an existing domain is extended to include the Insight Service Bus Agent template, you will need to repack and unpack the domain in all the machines that host the servers of that cluster.
  2. In the Domain Location field, specify your Domain home directory.

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

Selecting the Configuration Templates for Oracle Service Bus

Use the Templates screen to select the templates you require.

On the Templates screen, make sure Create Domain Using Product Templates is selected, then select the following templates:

  • Oracle Service Bus - 12.2.1.3.0 [osb]

    Selecting this template automatically selects the following as dependencies:

    • ODSI XQuery 2004 Components

    • Oracle Enterprise Manager

    • Oracle WSM Policy Manager

    • Oracle JRF

    • WebLogic Coherence Cluster Extension

    Note:

    If you plan to use dynamic clusters with Oracle Service Bus, make sure the JAX-RPC template is not selected. If JAX-RPC is selected, the domain will not support dynamic clusters. Beginning with 12c (12.2.1.1), the JAX-RPC template is optional for the Oracle Service Bus domain. If you require the JAX-RPC template, you must explicitly select it.
  • Insight Service Bus Agent - 12.2.1.3.0 [osb] if you want to include an Oracle Real-Time Integration Business Insight agent with Oracle Service Bus.

    See About Insight Integration with Oracle Service Bus.

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.

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 on the JDBC Component Schema screen are correct for all schemas. Review the following to understand when the schema table may not be populated correctly for BAM:

  • If you configure an Oracle Service Bus domain to include an Insight Service Bus agent that communicates with a remote BAM/Insight domain, then you will need to manually edit the BAM data source entries to reference the SOA schema of the BAM/Insight domain. The data sources that you will need to edit are:
    • BamDataSource (SOAINFRA schema)

    • BamJobSchedDataSource (WLS schema)

    • BamLeasingDataSource (WLS_RUNTIME schema)

    • BamNonJTADataSource (SOAINFRA schema)

    • mds-bam (MDS schema)

  • If BAM and Insight are collocated in the same domain as Oracle Service Bus, then the BAM data source entries reference the correct SOA schema (in the Oracle Service Bus domain), and no manual updates are necessary.

Tip:

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

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

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.

Specifying the Path to the Keystore Certificate or Key

Use the Keystore screen to specify either the path to the trusted certificate for each keystore, or the path to each keystore’s private key and other private key information.

When you click in the Trusted Certificate, Private Key, or Identity Certificate fields, a browse icon appears to the right of the field. Click this icon to browse to the appropriate file.

For more information about this screen, see Keystore 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 Service Bus 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 Service Bus

Use the Managed Servers screen to configure Managed Servers.

On the Managed Servers screen, a new Managed Server named osb_server1 is automatically created by default.

To configure Managed Servers for Oracle Service Bus:
  1. 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.
  2. In the Server Groups drop-down list, make sure that OSB-MGD-SVRS-COMBINED is selected. This server group ensures that Oracle Service Bus and Oracle Web Services Manager (OWSM) services are targeted to the same Managed Server.
    • If you want to have OWSM Policy Manager in a different server from the Oracle Service Bus server, select OSB-MGD-SVRS-ONLY. This targets only Oracle Service Bus but not OWSM Policy Manager to the server.

    • If you plan to configure a cluster that includes both SOA and Oracle Service Bus 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.

  3. 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 OSB-MGD-SVRS-COMBINED to create a second Managed Server named osb_server2.

    Note:

    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 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 the Administration Server as the Oracle Service Bus Runtime Server

Beginning with 12c (12.1.3), you can configure the administrator server as the Oracle Service Bus runtime server if you require a standalone Oracle Service Bus domain.

To use the administration server as the Oracle Service Bus runtime server, you must create a compact domain. However, a compact domain is supported only in the developer environment, not the production environment. Therefore, Oracle does not support Oracle Service Bus running in the administration server in production. To create a compact domain in a testing and development environment, see Configuring a Compact Domain in Installing Oracle SOA Suite and Business Process Management Suite Quick Start for Developers.

Note:

You can follow the steps in Installing Oracle SOA Suite and Business Process Management Suite Quick Start for Developers to create a compact domain even if you did not use the Quick Start installation to install Oracle Service Bus.
Configuring a Cluster for Oracle Service Bus

Use the Clusters screen to create a new cluster.

On the Clusters screen:

  1. Click Add.
  2. Specify osb_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 Service Bus 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 Service Bus domains support only a single Oracle Service Bus 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, osb_cluster1.
  2. In the Servers pane, assign osb_server1 to osb_cluster1 by doing one of the following:
    • Click once on osb_server1 to select it, then click the right arrow to move it beneath the selected cluster (osb_cluster1) in the Clusters pane.

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

  3. Repeat to assign osb_server2 to osb_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 5-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 Service Bus 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 Service Bus 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 osb_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 Service Bus 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, osb_machine1.
  2. In the Servers pane, assign AdminServer to osb_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 (osb_machine1) in the Machines pane.

    • Double-click on AdminServer to move it beneath the selected machine (osb_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_131

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

  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.

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 OSB

Perform the following steps to create a silent domain using a sample script.
  1. Copy the following script (createOSBDomain.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 OSB12213Provisioner:
    
    # In this sample script, only one machine is used for all servers.
    # You can add more than one machine. For example, osb_server1 - machine1, osb_server2 - machine2 
    
        MACHINES = {
            'machine1' : {
                'NMType': 'SSL',
                'ListenAddress': '127.0.0.1',
                'ListenPort': 5658
            }
        }
    
        CLUSTERS = {
            'osb_cluster' : {}
        }
    
        SERVERS = {
            'AdminServer' : {
                'ListenAddress': '127.0.0.1',
                'ListenPort': 7001,
                'Machine': 'machine1'
            },
            'osb_server1' : {
                'ListenAddress': '127.0.0.1',
                'ListenPort': 8001,
                'Machine': 'machine1',
                'Cluster': 'osb_cluster'
            },
            'osb_server2' : {
                'ListenAddress': '127.0.0.1',
                'ListenPort': 8002,
                'Machine': 'machine1',
                'Cluster': 'osb_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' ]
        }
    
        OSB_12213_TEMPLATES = {
            'extensionTemplates' : [
                '@@ORACLE_HOME@@/osb/common/templates/wls/oracle.osb_template.jar'
            ],
            'serverGroupsToTarget' : [ 'OSB-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 createOSBDomain(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 OSB templates...'
            for extensionTemplate in self.OSB_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.OSB_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 osb_domain. You can change to other name of your choice. Command line parameter -name.
    domainName = 'osb_domain'
    #domainUser is hard-coded to weblogic. You can change to other name of your choice. Command line paramter -user.
    domainUser = 'weblogic'
    domainPassword = 'password'
    #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 = 'password'
    
    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 = OSB12213Provisioner(oracleHome, javaHome, domainParentDir)
    provisioner.createOSBDomain(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 OSBdomain 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: Change this value to the schema specific password.
  3.  Go to FMW_HOME/oracle_common/common/bin/
  4. Type ./wlst.sh <script_location>/createOSBDomain.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 osb_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. 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. Check your soainfra schema password and set this value accordingly.

Starting Oracle Service Bus as a Windows Service

This section describes how to configure your environment in order to start an Oracle Service Bus domain as a Windows service.

Ensure you back up your Windows registry before proceeding as this procedure requires modification to your Windows registry.

  1. Set your Oracle Service Bus domain to start as a Windows service by running the WL_HOME\server\bin\installSvc.cmd script.

  2. Add the required environment variables to the Windows registry. Before proceeding, you must know the name of the Windows service you created. The service name is typically beasvc [DOMAIN_NAME]_[SERVER_NAME].

    • Back up your Windows registry.

    • Run the Windows regedit utility. Choose Start> Run in Windows. Enter regedit in the Run dialog box, and click OK.

    • Locate the following registry key for your Windows service:

      HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\beasvc [DOMAIN_NAME]_[SERVER_NAME]

    • Create a new Multi-String Value called Environment.

    • Edit the new Environment value by adding the following entry:

      ALSB_HOME=C:\oracle12c\Oracle_OSB1

      where C:\oracle12c is the root of your Oracle Fusion Middleware installation.

    • Windows XP 32-bit only: In a command window, change directories to a location where you want to generate a temporary file, then run the following command: set > env.txt.

      Open the env.txt file, copy its entire contents, and paste the contents into the Environment registry value you created, below the ALSB_HOME entry.

    • Click OK in the multi-string value dialog box and close the Windows registry editor.

  3. Before starting the service, be sure to start any databases used by the Oracle Service Bus domain.