5 Prerequisite Requirements and Preliminary Setup

This chapter describes prerequisite requirements and preliminary setup that you must satisfy before you begin installing Business Transaction Management. Business Transaction Management is composed of several types of components. Some of the following requirements pertain to all Business Transaction Management components while other requirements pertain to a subset of components.

Web Browser Requirements

The requirements in this section pertain to the web browser that you use to perform the initial configuration of Business Transaction Management and to access the Business Transaction Management Console.

  • The web browser requires the Adobe Flash plugin version 10.1 or higher.

  • If you are using Internet Explorer as your web browser, you must configure it to allow the Flash player's Active X control. Consult your Internet Explorer documentation for instructions on enabling this setting.

Access to WSDL and Schema Resources

In order to discover and monitor your business services, the Business Transaction Management observers require access to the WSDL and schema resources that describe the services. You must ensure that these resources are not protected in such a way (for example, by authentication) that the observers cannot access them.

For example, in an Oracle Service Bus environment, you must not undeploy sbresouce.war or apply security roles to it that will prevent the observer from accessing the WSDL information.

Setting up your WebLogic Environment

Note:

If you are using WebLogic Node Manager, you will use the WebLogic Administrative Console to adjust settings rather than edit scripts.
  1. Ensure that the appropriate database driver for your Oracle RDBMS is in the WebLogic server's classpath for each central server and monitor.

    Drivers are supplied in the jdbc directory of BTM_Servers_*.zip. Use ojdbc5.jar with JDK 1.5 and ojdbc6.jar with JDK 1.6.

  2. Ensure that all WebLogic domains in which the central servers and monitors are installed include the Java Required Files (JRF) template.

    If any of these domains doesn't include the JRF template, extend the domain and add the template. You will get the following exception when you attempt to start the server if the JRF template is not included in the domain:

    java.lang.ClassNotFoundException: oracle.security.jps.wls.listeners.JpsApplicationLifecycleListener
    

    Note:

    The JRF template is part of the Oracle Application Development Framework (ADF) runtime, which means that you must install the ADF runtime into your WebLogic installation before you can extend any domain with the JRF template. When installing the ADF runtime, take care to install the release version that matches your version of WebLogic. You can download the ADF runtime at:
    http://www.oracle.com/technetwork/developer-tools/adf/downloads/index.html
    
  3. Ensure that each WebLogic server in which you install a Business Transaction Management central server or monitor is uniquely identified so that the central servers and monitors can reliably connect to each other. You can perform this task in either of the following ways:

    • Ensure that any and all IP addresses assigned to the host machine uniquely identify that machine.

    • Ensure that the WebLogic server's Listen Address property is set to a hostname or IP address that uniquely identifies the server.

      To set this property, navigate in the WebLogic Administration Console to Environment > Servers, then click your server and display the Configuration/General tab.

    Note:

    If the machine has an IP address that is shared with another machine on the network, or the machine has multiple IP addresses that are treated as separate virtual machines, you must set the domain's Listen Address property as described above.
  4. For central servers and monitors, ensure that memory allocation for your WebLogic server is set appropriately. Two methods of setting the Java options that control memory allocation are described below. Use the method that is appropriate for how you start and stop your managed servers:

    If you use the Node Manager to remotely start and stop your managed servers, set the Java memory options for your server using this method:

    1. Open the WebLogic Administration Console.

    2. Select your managed server.

    3. Select the Configuration > Server Start tab.

    4. Enter the following Java options in the Arguments field, making sure to separate all entries in the field with a space:

      -Xms256m -Xmx768m -XX:MaxPermSize=256m
      

      These are the minimum recommended settings. Depending on your environment, you might have to set them higher.

    If you start and stop your managed servers by executing local script files, set the Java memory options for your server using this method:

    1. Open the setDomainEnv script file for your domain in a text editor.

      On Windows systems, open setDomainEnv.cmd; on UNIX-like systems, open setDomainEnv.sh. These script files are located in the user_projects\domains\domain_name\bin directory of your WebLogic installation.

    2. Locate the following settings and ensure that they are set to at least the values indicated (depending on your environment, you might have to set them higher.):

      MEM_ARGS=-Xms256m -Xmx768m
      
      -XX:MaxPermSize=256m
      

      There are several of these entries; set them all.

      Depending on your version of WebLogic, you might also see separate 32-bit and 64-bit settings like these:

      set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m
      set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m
      set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m
      set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m 
      

      In this case, set them all to at least the minimum recommended settings.

  5. Set up an administrative user on the WebLogic server in which you will install the Main server (btmMain.ear).

    Business Transaction Management maps roles defined in WebLogic to its own application roles. See Mapping WebLogic Users to Business Transaction Management Roles for more information.

Setting up Business Transaction Management Databases

Several Business Transaction Management system services use a database to store persistent information and log messages. You must use an Oracle 10g or 11g RDBMS for these databases, and it must be configured to support SQL authentication mode and TCP/IP connections.

Before you configure Business Transaction Management, create the following database users (these are suggested names):

  • sphereDB

  • measurementDB

  • transactionDB

  • messageLogDB

You can create the database users in the same Oracle instance or in separate instances. But you must ensure that each Business Transaction Management component can access its required databases. Refer to Table 4-1, "Business Transaction Management Communication Protocols" for a complete breakdown of the database access requirements for each Business Transaction Management component.

You must create the database users before starting configuration of Business Transaction Management. When you configure Business Transaction Management (see Initial Configuration of Business Transaction Management), the system will automatically create the appropriate database tables.

If you prefer to create the schemas manually for the first three of these databases (sphereDB, measurementDB, and transactionDB), your DBA can create them beforehand (see the following note). If you intend to let the system automatically create these tables and indexes, the database users must have create table, create index, create view, and analyze privileges. You cannot create the fourth schema (messageLogDB) beforehand because the system must be able to create and drop tables dynamically in response to changes in your monitored applications. For this database, the user must have create table, drop table, create index, create view, and analyze privileges. Note that it is not sufficient to assign the privileges to the roles associated with the user. You must explicitly assign the privileges to the user.

Note:

Your DBA can manually create the tables and indexes for the sphereDB, measurementDB, and transactionDB databases using the datastoreUtil utility. This utility generates the appropriate schema definitions. Documentation on using this utility to generate the schema definitions is provided in Chapter 15, "The datastoreUtil Utility."

Setting up a Monitor Group Database

If you plan to deploy a monitor group, then you must also provide a database that the monitor group members can use for sharing information among themselves. Each monitor in a particular monitor group must be able to write to the same monitor group database using JDBC. Although the replicated instances of any one monitor group can be widely dispersed across your network, they must all have access to this same database.

For your monitor group database, you can either use the message log database schema (messageLogDB), or create a separate schema. If you create a separate schema, we suggest that you use monitorGroupDB as the database user name. Using separate schemas gives you the ability to relocate them to alternate drives or physical locations should a performance bottleneck develop.

If you like, you can manually create the monitor group database schema using the datastoreUtil utility (see Chapter 15, "The datastoreUtil Utility"). If you don't create the schema manually, then the system will automatically create the schema after you set up the monitor group.

For more information about monitors, including how to set them up, see Chapter 7, "Installing Monitors."

Estimating Database Resource Requirements

For help with sizing Business Transaction Management databases, refer to Doc ID 1487044.1 (Estimating Database Space Requirements for BTM Release 12c) at My Oracle Support (support.oracle.com). This document includes a spreadsheet to help administrators estimate the resources required by their Business Transaction Management databases. You should always use the most current version of this document from My Oracle Support because it will be updated as we strive to improve its accuracy.