C OSM Development System Guidelines and Best Practices

This appendix provides guidelines and best practices for the various technologies and components that make an Oracle Communications Order and Service Management (OSM) development system.

OSM Development Planning Overview

Figure C-1 shows a development system topology with one administration server, one managed server at the application server layer. The database layer contains a non-partitioned database. This OSM system can be deployed on a single Windows or Linux machine or VM.

Figure C-1 OSM Development System Topology

Surrounding text describes Figure C-1 .

Installing OSM Components on a Windows System

The OSM Server is not supported on Windows systems for production environments. The OSM server can be installed on a Windows system for development, demonstration, and non-performance test systems.

If you plan to use Oracle Communications Design Studio on the Windows system, you should also install the SDK Tools component on the Windows system. If you plan to generate reports using the command line utility of the OSM Reporting Interface, you must install the SDK Tool component.

Hardware Requirements for Development Systems

A small development installation can be installed on a system meeting the following minimum requirements:

  • Two GB RAM

  • One dual-core processor

  • 10 GB of disk space

The numbers provided are guidelines only. Actual disk and memory usage will vary based on the number of users, amount of data, and transaction volume.

For a small, low-volume installation, you can colocate components such as the Oracle Database and WebLogic Server on the same computer. In this case, the minimum RAM required is four GB.

Preparing the Database

The following sections provide information about installing and configuring the Oracle database.

Oracle Database Kernel Configuration

If Oracle Database is installed on the same server as OSM, you must ensure that the appropriate kernel configuration for the database is present.

Downloading and Installing the Oracle Database

For information about installing Oracle Database, see the Oracle Database installation documentation.

You can install OSM with Oracle Database Release 12c pluggable databases (PDB) within a multitenant container database (CDB) or within a non-container database.

In order to set all of the options in the database, you may not want to create a database during the database software installation. It may be more convenient to run the Oracle Database Configuration Assistant (DBCA) after installing the database software. See Oracle Database 2 Day DBA for more information about creating a database with DBCA.

After you install the database, you must add a permission to the database administrator user that you are going to use during the OSM installation. To do this, log in to SQL*Plus as sysdba and run the following:

grant create any context to sysuser as sysdba with admin option

where sysuser is a user with sysdba privileges that you intend to use during OSM installation.

Database Configuration Considerations for Development Instances

Use local listeners. With this option, each Oracle RAC instance is configured to register only with its listener in the same physical server.

The initial extent size for partitioned tables is set to 8MB. If you have many sub-partitions, a large amount of space can be allocated. For example, a table with 64 sub-partitions will be allocated with an initial space requirement of 512MB. Although this is not an issue for production environments, it can become an issue in development or testing environments with limited storage capacity.

To minimize the database space consumed by OSM:

  • Set the deferred_segment_creation initialization parameter to True (the default value.)

  • Install OSM with no partitions, or a small number of partitions (for example, 4.)

Database Parameters

Use the values of the database parameters specified for production systems.

Tablespaces

For non-production environments, one permanent tablespace is enough for the OSM data, and OSM can use the default temporary tablespace for the database instance.

Preparing WebLogic Server

The following sections provide information about installing and configuring the WebLogic Server.

Installing WebLogic Server Software

The software for WebLogic Server and Application Development Framework (ADF) is included in the OSM software media pack. You download the OSM software media pack from the Oracle software delivery website:

https://edelivery.oracle.com/

You install WebLogic Server on all machines that will participate in your domain. The installation directories must be the same on all machines. For complete installation instructions and general information about installing and configuring WebLogic Server, see the WebLogic Server documentation.

Note:

See Table 2-1, "OSM Required Software" for WebLogic Server version and patch information. Ensure that you use the WebLogic Server documentation specific to the required WebLogic Server version.

WebLogic Server Software Installation Overview

To install WebLogic Server:

  1. Ensure that you have installed the version of Java and the Java Development Kit (JDK) that is supported by OSM, not the version included with WebLogic Server (see Table 2-1, "OSM Required Software" for more information). If you are using a 64-bit operating system, Oracle recommends using a 64-bit JDK with the OSM WebLogic server instance to increase performance.

  2. Set environment variables for the version of Java that is supported by OSM, not the version included with WebLogic Server. Do the following:

    • Set JAVA_HOME to the location of the supported Java version.

    • On a UNIX system, add $JAVA_HOME/bin to the PATH variable.

    • On a Windows system, add %JAVA_HOME%/bin to the PATH variable.

  3. Install the WebLogic Server software as described in Oracle Fusion Middleware Installing and Configuring Oracle WebLogic Server and Coherence. When prompted for the installation type, select Complete.

  4. Download and install any necessary patches from Oracle support. Follow the instructions in the README.txt file that is included with the patch.

  5. Create database schemas. See "Creating Database Schemas Using RCU".

  6. Create a WebLogic Server domain.

  7. Configure the WebLogic Server domain.

Creating Database Schemas Using RCU

After you install the WebLogic Server software, create schemas in the database. You create the schemas using the Repository Creation Utility (RCU), which is included in the WebLogic Server installation.

The schemas are required for creating the WebLogic Server domain with the JRF template. Each schema can be used by only one domain. If you create a new domain, you must also create new schemas.

Before creating the schemas, ensure that you have your database connection string, port, administrator credentials, and service name ready.

To create database schemas using RCU:

  1. Go to the Middleware_home/oracle_common/bin/ directory.

  2. Run RCU using one of the following commands:

    • On UNIX:

      ./rcu
      
    • On Windows:

      rcu.bat
      

    The Repository Creation Utility Welcome screen appears.

  3. Click Next.

    The Create Repository screen is displayed.

  4. Select Create Repository, and then click Next.

    The Database Connection Details screen is displayed.

  5. Enter database details in the fields provided (for example, Database Type, Host Name, Port, and so on), and then click Next. Use the host name of one of the Oracle RAC instances. Do not use the SCAN IP address.

    The installer checks the prerequisites. After the prerequisite checks are completed, click OK, and then click Next.

    The Components screen is displayed.

  6. Select the Create a New Prefix option, and enter a new prefix for the schema that will be used for the WebLogic domain.

  7. In the table, expand the AS Common Schemas component, and select the following components:

    • Oracle Platform Security Services (prefix_OPSS)

    • Audit Services (prefix_IAU)

    • Audit Services Append (prefix_IAU_APPEND)

    • Audit Services Viewer (prefix_IAU_VIEWER)

    • Common Infrastructure Services (prefix_STB)

    where prefix is the prefix name you entered at step 6.

  8. On the Schema Passwords screen, select the Use the same password for all schemas option. Enter and confirm a password to use for the schemas, and then click Next.

    The Map Tablespaces screen is displayed. You can click the Manage Tablespaces button when you want to change existing tablespaces. For this procedure, click Next. A Repository Creation notification is displayed. Click OK. Tablespaces are created, and the progress is displayed in a pop-up notification. When the operation is completed, click OK.

    The Summary screen is displayed.

  9. Click Create.

Note:

RCU may take several minutes to create the schemas. If creating the schemas takes an unusual amount of time, Oracle recommends that you purge the database recycle bin to ensure that RCU schemas are created more quickly the next time. For more information, see "OSM and RCU Installers Are Slow to Run Database Tablespace Query".

Creating the WebLogic Server Domain

To create the WebLogic Server domain for OSM:

  1. Create a domain as described in Oracle Fusion Middleware Creating WebLogic Domains Using the Configuration Wizard, and make the following selections:

    • On the Templates screen:

      • Select the Oracle JRF and WebLogic Coherence Cluster Extension templates.

      • Select the Oracle Enterprise Manager template if you want to use Oracle Enterprise Manager Fusion Middleware Control to view and manage OSM logs.

      • The Basic WebLogic Server Domain template is selected by default and you cannot deselect it.

    • On the Domain Mode and JDK screen, select or browse to the version of the Java Development Kit (JDK) that is supported by OSM (see Table 2-1, "OSM Required Software" for more information).

    • On the Database Configuration Type screen, configure the schemas that the system requires, which you created in "Creating Database Schemas Using RCU". Enter the data, including the schema owner that you created, and then click Get RCU Configuration. Click Next.

    • On the Component Datasources screen, verify that the component schemas are configured and then click Next.

    • On the Advanced Configuration screen, do one of the following:

      • To create an administration server without any managed servers, select only Administration Server.

        This configuration is appropriate for most development and test environments. However, because performance testing and staging environments should use the same server configuration as the production environment, a different configuration may be more appropriate.

      • To create an administration server with a single managed server select at least Administration Server, Managed Servers, Clusters and Coherence, and Deployments and Services.

        This configuration is appropriate for production environments that are not highly available. Having the administration traffic on the administration server and the application traffic on the managed server ensures that critical administration operations (such as starting and stopping servers, changing a server's configuration, and deploying applications) do not compete with high-volume application traffic on the same network connection.

      • To create an administration server with multiple managed servers, select at least Administration Server, Managed Servers, Clusters and Coherence, and Deployments and Services.

        This configuration, also called a cluster, is appropriate for all environments that need high availability. If you are using Oracle RAC, you must configure the same number or more of managed servers in the cluster as there are Oracle RAC node instances. For example, if you have two Oracle RAC nodes, you must have at least two managed servers.

        See "Installing and Configuring the WebLogic Server Cluster" for detailed instructions about creating a WebLogic Server cluster.

    • If you are creating an administration server with a single managed server, do the following:

      • On the Managed Servers screen, add one managed server.

      • On the Deployments Target screen, target all the deployments to the managed server. The targets you select must have ADF installed.

    • If you are creating a domain on Oracle Solaris and you plan to choose JMS File Store (as opposed to JMS JDBC Store) for JMS message persistence during the OSM installation, on the Advanced Configuration screen, select JMS File Store.

Increasing the Memory Settings for WebLogic Servers

OSM requires more memory than the amount configured for the WebLogic server by default. The values provided in the following procedure are appropriate for most development environments, but the memory available in your environment may vary.

To increase the memory settings for non-clustered WebLogic servers on UNIX and Linux:

  1. Back up the domain_home/bin/setDomainEnv.sh file by saving a copy with a different name.

  2. Open the domain_home/bin/setDomainEnv.sh file in a text editor.

  3. Search for the following:

    USER_MEM_ARGS="
    
  4. Do one of the following:

    • If you find the search text, change the value of the variable so that the following options are set to the following options or larger:

      -Xms4g -Xmx4g -Xmn2g
      
    • If do not find the search text, do the following:

      1. Search for the following line:

        # IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values
        
      2. Above the line that you searched for, add the USER_MEM_ARGS environment variable as follows:

        USER_MEM_ARGS="-Dweblogic.wsee.useRequestHost=true -Xms4g -Xmx4g -Xmn2g"
        
        # IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values
        ...
        
  5. Save and close the file.

To increase the memory settings for non-clustered WebLogic servers on Windows:

  1. Back up the domain_home\bin\setDomainEnv.cmd file by saving a copy with a different name.

  2. Open the domain_home\bin\setDomainEnv.cmd file in a text editor.

  3. Search for the line that begins with the following:

    set USER_MEM_ARGS
    
  4. Do one of the following:

    Note:

    The following values are suitable if your system has more than 4 GB of memory and you are running Windows 7 with the 64-bit Java 7 Development Kit. Otherwise, smaller values are more appropriate.
    • If you find the search text, change the value of the variable so that the following options are set to the following options or larger:

      -Xms4g -Xmx4g -Xmn2g
      
    • If you do not find the search text, do the following:

      1. Search for the following:

        @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values
        
      2. Above the line that you searched for, add the USER_MEM_ARGS environment variable as follows:

        set USER_MEM_ARGS=-Dweblogic.wsee.useRequestHost=true -Xms4g -Xmx4g -Xmn2g
        
        @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values
        ...
        
  5. Save and close the file.

Configuring the WebLogic Server Domain

The following tasks can be performed either before or after installing OSM, but Oracle recommends performing them before installing OSM.

Preventing Connection Timeout when Using a Remote Database

To prevent a connection timeout when your database and server are in separate locations, or when deploying large cartridges, do the following before deploying cartridges:

  1. Increase the value of the Stuck Thread Max time parameter as follows:

    1. Log in to the WebLogic Server Administration Console.

    2. In the Domain Structure tree, expand Environment and then click Servers.

      The Summary of Servers page is displayed.

    3. Click the name of the WebLogic server where you want to deploy the cartridges.

      The configuration parameters for the server are displayed on a tabbed page.

    4. Click the Tuning tab, and modify the value of the Stuck Thread Max Time parameter to 1200 in seconds or greater.

    5. Click Save.

  2. Increase the value of the Timeout Seconds Java Transaction API parameter as follows:

    1. In the Domain Structure tree of the WebLogic Server Administration Console, click the name the WebLogic server domain.

      The configuration parameters for the domain are displayed on a tabbed page.

    2. Click the JTA tab, and modify the value of the Timeout Seconds parameter to an appropriate value. In most cases, a value of 600 seconds is enough.

      Note:

      If the value is less than 600 when you run the Installer, you are prompted to increase it during installation.
    3. Click Save.

  3. Increase the value of the cartridge deployment transaction timeout parameter as follows:

    1. Open the startWebLogic.sh (UNIX or Linux) or startWebLogic.cmd (Windows) file for your WebLogic domain.

    2. Search for the following string:

      -Dcom.mslv.oms.cartridgemgmt.DeployCartridgeMDB.CartridgeDeploymentTransactionTimeout
      
    3. Increase the value of the parameter.

      For example, in startWebLogic.sh in a UNIX or Linux environment:

      export JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.mslv.oms.cartridgemgmt.DeployCartridgeMDB.CartridgeDeploymentTransactionTimeout=600"
      

      For example, in startWebLogic.cmd in a Windows environment:

      set JAVA_OPTIONS=%JAVA_OPTIONS% -Dcom.mslv.oms.cartridgemgmt.DeployCartridgeMDB.CartridgeDeploymentTransactionTimeout=600
      

      Note:

      The maximum value for this parameter is 3600 seconds. If you exceed this limit, the value is restored to the default of 600 seconds. Try again with a value that is less than or equal to the maximum.
    4. Save and close the file.

See the WebLogic Server documentation for more information about these parameters.

Other Supported High-Availability Options

The following section provides other high-availability options for OSM. These options are different than those described in the other chapters of this book.

Configuring Oracle Database with Clusterware

Oracle Clusterware is software that, when installed on servers running the same operating system, enables the servers to be bound together to operate as if they are one server, and manages the availability of applications and Oracle databases.

With Oracle Clusterware, you can provide a cold cluster failover (also known as cold standby) to protect an Oracle instance from a system or server failure. The basic function of a cold cluster failover is to monitor a database instance running on a server and, if a failure is detected, to restart the instance on a spare server. Network addresses are failed over to the backup node. Clients on the network experience a period of lockout while the failover occurs and are then served by the other database instance after the instance has started.

Setting Up the Database and Clusterware for Cold Standby

A typical cold standby configuration consists of Oracle Clusterware and two Oracle single-instance databases running on separate physical servers with shared disk storage. In this configuration, when node A fails, the database, listener, and ASM instance automatically fail over to node B.

The following procedure describes how to set up Oracle Database and Clusterware to provide cold failover for a single-instance, non-cluster, Oracle database.

  1. Install Oracle Clusterware on two physical machines.

    • For Linux, see Oracle Grid Infrastructure Installation Guide for Linux.

    • For Oracle Solaris, see Oracle Grid Infrastructure Installation Guide for Solaris Operating System.

    • For AIX, see Oracle Grid Infrastructure Installation Guide for AIX.

  2. Install a clustered ASM (Automatic Storage Management) home and instance.

    Note:

    Oracle recommends the use of ASM to optimize storage performance and usage, and to tolerate storage failures. You may need to use other storage systems, such as Oracle Automatic Cluster File System (ACFS), or storage on raw devices. For more information, see the respective product documentation.
  3. Create an ASM disk group on shared storage which is accessible to both nodes A and B.

  4. Install a software-only version of Oracle Database into a new Oracle home on both nodes.

  5. Use the database configuration assistant (DBCA) to create a single-instance database on node A, sharing data files stored on the ASM disk group created in step 3.

  6. Create a new virtual IP address on node A.

  7. Implement the scripts provided in the Oracle white paper Using Oracle Clusterware to Protect A Single Instance Oracle Database. The scripts must be run on both nodes to protect the single-instance database, virtual IP address, and listener.

  8. Start the database, listener, and ASM instance on node A using Oracle Clusterware.

  9. Start the ASM instance on node B.

You have now configured your database instances for cold cluster failover. Once you have installed OSM, you can configure a WebLogic instance to automatically restart when the database fails. See "Configuring WebLogic for Cold Cluster Failover" for more information.

Configuring WebLogic for Cold Cluster Failover

This section describes how to configure a WebLogic instance to restart automatically when a database configured for cold cluster failover fails. For each server in the cluster, navigate to the Health Monitoring tab and set the following parameters:

  • Auto Kill if Failed - Select this parameter to enable Node Manager to automatically kill the server if its health state is failed.

  • Auto Restart - Select this parameter to enable Node Manager to automatically restart the failed server.

  • Restart Delay Seconds - Set this value to the number of seconds Node Manager should wait before attempting to restart the server. The value should allow ample time for the database failover to complete, for example, 300 seconds.

You may also want to consider increasing the JMS Redelivery Limit and possibly the JMS Redelivery Delay Override parameters to ensure that the JMS message redelivery limit is not exceeded during database failover. If the redelivery limit for a JMS message is exceeded, the message is normally delivered to a fallout queue and the symptom is a stuck order. See OSM System Administrator's Guide for more information about JMS redelivery configuration settings.

Oracle RAC Active-Passive

OSM supports Oracle RAC in active-passive configuration. Oracle recommends using an active-active configuration for maximum availability.

In active-passive Oracle RAC, an active instance handles requests and a passive instance is on standby. When the active instance fails, an agent shuts down the active instance completely, brings up the passive instance, and application services can successfully resume processing. As a result, the active-passive roles are now switched.

Cold Cluster Failover

Cold cluster failover consists of Oracle Clusterware and two or more Oracle single-instance databases running on separate physical servers sharing disk storage. Oracle Clusterware monitors the primary active database instance and provides the capability of failover to a cold standby database in case of failure, thus ensuring high availability. Clients on the network experience a period of lockout while the failover occurs and are then served by the other database instance after the instance has started.

JMS Service Migration

If whole server migration is not possible, JMS service migration is an alternative.

JMS services are singleton services and, therefore, are not active on all server instances in a cluster. Instead, they are pinned to a single server in the cluster to preserve data consistency. To ensure that singleton JMS services do not introduce a single point of failure for dependent applications in the cluster, WebLogic Server can be configured to automatically or manually migrate them to any server instance in the migratable target list.

Migratable JMS-related services cannot use the default persistent store, so you must configure a custom store and target it to the same migratable target as the JMS server. The custom store must either be accessible from all candidate server members in the migratable target or migrated to a backup server target by pre-migration/post-migration scripts. JMS service and JTA must be migrated together.

For more information, see the chapter on service migration in Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server.