74 Installing Pipeline Manager

This chapter describes how to install the Oracle Communications Billing and Revenue Management (BRM) Pipeline Manager.

Determining Your System Requirements

Before you install Pipeline Manager, ensure that requirements described in this section are met.

Hardware Requirements

Pipeline Manager requires the hardware listed in Table 74-1.

Table 74-1 Pipeline Manager Required Hardware

Component Requirements

CPU

4 or more CPUs

RAM

More than 4 GB (to use 54-bit)

Disk Type

RAID disc array (RAID 5 hardware solution with appropriate cache strongly recommended, RAID 0 software solution)

Note:

The more pipelines you configure and the more CPUs you use, the more important it is to put input and output on systems that are managed by different Controllers.

Software Requirements

Pipeline Manager requires the following software:

  • Oracle Database server

  • Oracle Database client

  • Java Runtime Environment (JRE)

See "BRM Software Compatibility" in BRM Compatibility Matrix for the supported software versions.

Creating a User and Configuring Environment Variables

Follow these steps to create a Pipeline Manager user and set up system environment variables on a system:

  1. Create a user that owns the Pipeline Manager software. The examples in this document use the default user integrate with the bash shell as the default shell.

    Note:

    You must create a Pipeline Manager user and set the user's environment before installing Pipeline Manager.

  2. Log in as user integrate.

  3. Go to the pipeline_home directory.

  4. Open the source.me.sh file for your shell in a text editor.

    Note:

    The source.me file is for a bash shell. If you use a C shell, open the source.me.csh file.

  5. Set the following environment variables for Pipeline Manager using the information in Table 74-2:

    Table 74-2 Pipeline Manager Environment Variables

    Environment Variable Description

    IFW_EVENTHANDLER_PORT

    The port number on which the event handler daemon listens for events.

    Important:

    • If you are starting more than one framework process, change the value of this parameter before starting each process. Each process must have a unique event handler port for all users on a host. A framework process will not start if it cannot start the event handler daemon, and the event handler daemon will not start if it cannot listen on the specified port.

    • Do not set this variable to a well-known port number, such as port 11960 used by BRM.

    IFW_HOME

    The directory where the Pipeline Manager software is installed.

    Note: This documentation refers to this directory as the pipeline_home.

    LD_LIBRARY_PATH

    The library path.

    Set this to include pipeline_home/lib.

    If your system already has this variable set to another value for other applications, Pipeline Manager might not find the proper libraries.

    To determine if a pre-existing value is present, enter the following command:

    echo $LD_LIBRARY_PATH 

    If the variable is already set in your system, add the new variable as follows:

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH};pipeline_home/lib

    C shell:

    setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH};pipeline_home/lib

    Important: After your first upgrade reset the LD_LIBRARY_PATH environment variable to the following:

    setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH};BRM_home/lib;pipeline_home/lib

    where BRM_home/lib must come before pipeline_home/lib, separated by a semicolon.

    LD_LIBRARY_PATH_64

    (Solaris)

    The library path.

    Set this to include pipeline_home/lib.

    If your system already has this variable set to another value for other applications, Pipeline Manager might not find the proper 64-bit libraries.

    To determine if a pre-existing value is present, enter the following command:

    echo $LD_LIBRARY_PATH_64

    If the variable is already set in your system, add the new variable as follows:

    export LD_LIBRARY_PATH_64=${LD_LIBRARY_PATH_64};pipeline_home/lib

    C shell:

    setenv LD_LIBRARY_PATH_64 ${LD_LIBRARY_PATH_64};pipeline_home/lib

    LD_PRELOAD_64

    (Solaris)

    A variable that can be used to configure libumem memory allocation. Set using the ifw-start script. See "libumem Memory Allocator".

    MALLOC_TRIM_THRESHOLD_

    MALLOC_MMAP_MAX_

    MALLOC_TOP_PAD_

    (Linux only)

    On Linux Pipeline Manager platforms, modify the MALLOC_TRIM_THRESHOLD_, MALLOC_MMAP_MAX_, and MALLOC_TOP_PAD_ environment variables with these values:

    • MALLOC_TRIM_THRESHOLD_ = -1

    • MALLOC_MMAP_MAX_ = 0

    • MALLOC_TOP_PAD_ = 268435456

    MAX28DIGIT_DECIMAL_SUPPORT

    By default, Pipeline Manager supports 15-digit decimal. To configure Pipeline Manager to support up to 28-digit decimal, set this to Y.

    NLS_LANG

    Set this to LANG American_America.AL32UTF8.

    Important: You must use American_America as the language and territory regardless of your locale and the UTF8 or AL32UTF8 character set.

    BRM 12.0 supports AL32UTF8 as its default character set. It also continues to support the UTF8 character set for BRM installations that are being upgraded to BRM 12.0 from previous versions. The unicode character set AL32UTF8 is recommended for all new BRM 12.0 deployments.

    PATH

    The Pipeline Manager executable path.

    Set this to include pipeline_home/bin.

    IFW_EVENTHANDLER_PORT

    The port number on which the event handler daemon listens for events.

    Important:

    • If you are starting more than one framework process, change the value of this parameter before starting each process. Each process must have a unique event handler port for all users on a host. A framework process will not start if it cannot start the event handler daemon, and the event handler daemon will not start if it cannot listen on the specified port.

    • Do not set this variable to a well-known port number, such as port 11960 used by BRM.

  6. Save and close the updated file.

  7. Update the environment for the current shell session:

    For bash shell:

    source source.me.sh

    C shell:

    source source.me.csh

Setting the Maximum Allowed Number of Open Files

To avoid causing a failure of Pipeline Manager, you must configure the maximum number of pipeline files allowed per process in the kernel. The recommended value is 2048. You should also set the maximum number of open files allowed for the system to 20480 (ten times the number of files per process).

To modify the number of open files allowed:

(Linux) Setting Maximum Open Files on Linux

To set the maximum open files on Linux:

  1. Log on as root.

  2. Open the system file (/etc/sysctl.conf).

  3. Add the following lines to the end of the file, or modify the values if these lines are already present:

    # sets the hard limit on file descriptors:
    fs.file-max = 2605192
  4. Run sysctl -p to reload all the settings from the system file.

(Solaris) Setting Maximum Open Files on Solaris

To set the maximum open files on Solaris:

  1. Log on as root.

  2. Open the system file (/etc/system).

  3. Add the following lines to the end of the file, or modify the values if these lines are already present:

    * sets the hard limit on file descriptors:
    set rlim_fd_max = 20480
    * sets the soft limit on file descriptors:
    set rlim_fd_cur = 2048
  4. Restart your computer to enable the new kernel parameters.

Installing Pipeline Manager

This section describes how to install and uninstall Pipeline Manager.

Note:

If you are installing Pipeline Manager to replace an identical release (for example, to restore a clean version of the package), you must first uninstall the existing installation. See "Uninstalling Pipeline Manager".

To install Pipeline Manager, see "Installing Individual BRM Components" in BRM Installation Guide.

To upgrade Pipeline Manager, see "Upgrading BRM and Pipeline Manager" in BRM Upgrade Guide.

Uninstalling Pipeline Manager

To uninstall Pipeline Manager, see "Uninstalling Optional Components" in BRM Installation Guide.

Pipeline Manager Directory Structure

Installation creates the following directory structure shown in Table 74-3:

Note:

pipeline_home is the default Pipeline Manager installation directory.

Table 74-3 Directory Structure Created by Pipeline Manager Installation

Directory Description

pipeline_home/bin/

Server binaries, such as the main Pipeline Manager binary ifw.

pipeline_home/conf/

Contains registry files.

pipeline_home/data/

Contains source and directory files for EDRs.

pipeline_home/database/

Database creation scripts and database documentation.

pipeline_home/discount/

Balance Data Module transaction and data.

pipeline_home/etc/

Error messages.

Note: You can copy the error messages to another directory and customize them; for example, as preparation for translation into other languages.

pipeline_home/formatDesc/

External file format definitions and internal container definitions.

pipeline_home/info/

Info registry, which shows the current system status.

pipeline_home/instrumentation/

Performance Data collection.

pipeline_home/iScriptLib/

iScript libraries.

pipeline_home/lib/

Shared libraries.

pipeline_home/lib64/

Shared libraries (64-bit)

pipeline_home/log/

Process log.

pipeline_home/releaseNotes/

Release notes.

pipeline_home/samples/

Sample registries that you can use for testing your Pipeline Manager setup.

pipeline_home/semaphore/

Directory that is checked regularly for semaphores.

pipeline_home/tools/

The tools such as binaries and Perl scripts.

Installing Pipeline Manager Optional Components

This section describes how to install the following Pipeline Manager optional components:

  • Pipeline Configuration Manager

  • Pipeline PDK Manager

  • Interconnect Manager

  • CIBER Roaming Manager

    Note:

    Before you install CIBER Roaming Manager and TAP Roaming Manager, you must install Interconnect Roaming Manager.

  • TAP Roaming Manager

The hardware and software requirements for CIBER Roaming Manager and TAP Roaming Manager are the same as for Pipeline Manager. For more information, see "Installing Pipeline Manager".

For more information on configuring roaming in Pipeline Manager, see BRM Configuring Roaming in Pipeline Manager.

Before installing Pipeline Manager optional components, you must install:

  • BRM.

  • Pipeline Manager.

Note:

If you are installing the optional components to replace an identical release (for example, to restore a clean version of the package), you must first uninstall the existing installation. See "Uninstalling Pipeline Manager Optional Components".

To install Pipeline Manager optional components, see "Installing Individual BRM Components" in BRM Installation Guide.

Uninstalling Pipeline Manager Optional Components

To uninstall Pipeline Manager optional components, see "Uninstalling Optional Components" in BRM Installation Guide.

Increasing Heap Size to Avoid “Out of Memory" Error Messages

To avoid "Out of Memory" error messages in the log file after installation, increase the maximum heap size used by the Java Virtual Machine (JVM). The exact amount varies greatly with your needs and system resources. By default, the JVM used has a maximum heap size of 60 MB. Increase the maximum heap size to 120 MB by entering the following sample code in a text editor:

%IF_EXISTS%("INIT_JAVA_HEAP", "@INIT_JAVA_HEAP@20m") %IF_EXISTS%("MAX_JAVA_HEAP", "@MAX_JAVA_HEAP@120m")

where 20m and 120m indicate the minimum and maximum heap sizes respectively.

Save the file as Packagename.ja in the temporary directory (temp_dir) to which you downloaded the installation software.

Packagename indicates the name of the installation software. For example, if you installed Pipeline Manager on Solaris 11 then, save the file as 12.0_Pipeline_solaris_64_opt.ja.

Configuring an Oracle Pipeline Manager Database

This section describes how to configure the Pipeline Manager database on Oracle.

Before proceeding, you should be familiar with executing database scripts.

Before setting up the Oracle database for Pipeline Manager, ensure the following:

  • An Oracle database instance is mounted and open.

  • You have administrator access to the database instance.

To install and configure the Pipeline Manager database, follow the steps in these sections:

  1. Setting the Environment for the Pipeline Manager Database

  2. Setting Up the Oracle JSA Database Schema

  3. Setting Up the Oracle Pipeline Manager Framework Database Schema

  4. Changing Public Synonyms to Private for Users in Multiuser Environments

  5. Loading Procedures for FCT_DuplicateCheck

  6. Encrypting the Database Password

Setting the Environment for the Pipeline Manager Database

Before setting up the database schemas for your Oracle Pipeline Manager database, you must configure database environment variables.

  1. Open the configuration file for the login shell. This is the file in which your user profile is stored; for example, .profile or .bashrc. By default it is stored in your home directory.

  2. Change the following variables in Table 74-4 to match your Pipeline Manager environment:

    Table 74-4 Environment Variables of Pipeline Manager Database

    Environment Variable Description

    ORACLE_HOME

    Include or set this variable to point to the Oracle installation path.

    LD_LIBRARY_PATH

    (32-bit systems) Include or set entries to point to the database /lib directories.

    Example for Oracle databases:

    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32

    LD_LIBRARY_PATH_64

    (64-bit systems) Include or set entries to point to the database /lib directories.

    Example for Oracle databases:

    LD_LIBRARY_PATH_64=$IFW_HOME/lib:$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib

    PATH

    Include or set entries to point to the database /bin directory.

    Example for Oracle databases:

    ${ORACLE_HOME}/bin
  3. Save and close the file.

Setting Up the Oracle JSA Database Schema

This section describes how to run scripts to set up the Oracle JSA database schema.

Run the scripts described in the following steps to set up the database schema for the JSA tables and tablespaces:

Note:

All scripts are located in the pipeline_home/database/Oracle/Scripts directory.

  1. Open the JSA_Tablespaces.sql file with a text editor.

  2. Replace all occurrences of the string *** with the path to the Oracle tablespace data file.

  3. Save the file.

  4. Log in as user database administration (DBA).

  5. Run the JSA_Tablespaces.sql script.

    This script creates the tablespaces for the JSA server.

  6. Run the JSA_Roles.sql script.

    This script creates roles and the default JSA user.

  7. Log out and log in as user JSA.

  8. Run the JSA_Create.sql script.

    This script creates the JSA tables.

  9. Run the JSA_Synonyms.sql script.

    This script creates the JSA public synonyms.

  10. Run the JSA_Prepare.sql script.

    This script inserts some default values into the tables.

The Oracle JSQ database schema is now set up.

Setting Up the Oracle Pipeline Manager Framework Database Schema

To set up the database schema for the Pipeline Manager framework work tables and tablespaces:

Note:

All scripts are located in the pipeline_home/database/Oracle/Scripts directory.

  1. Open the ifw_Tablespaces.sql file with a text editor.

  2. Replace the occurrences of the string ORA_DAT_PATH and ORA_IDX_PATH with the path that leads to the *.dbf files shown in the script file.

  3. Save the file.

  4. Log in as user DBA.

  5. Run the ifw_Tablespaces.sql script.

    This script creates the tablespaces for the Pipeline Manager framework.

  6. (Optional) Change the default Pipeline Manager user name (pipeline_user) from integrate to another name:

    1. Open the ifw_Roles.sql file by using a text editor.

    2. In the User: INTEGRATE section, replace the two occurrences of INTEGRATE in the following string with the new default user name:

      INTEGRATE identified by INTEGRATE
    3. In the GRANT commands that follows the QUOTA commands in the User: INTEGRATE section, replace all occurrences of INTEGRATE with the new default user name.

    4. Save the file.

  7. Run the ifw_Roles.sql script.

    This script creates the appropriate roles and the default user.

  8. Log out and log in as pipeline_user.

  9. Run the ifw_Create.sql script.

    This script creates the Pipeline Manager framework tables.

  10. Run the ifw_Synonyms.sql script.

    This script creates the public synonyms.

The Oracle Pipeline Manager framework database schema is now set up.

You can create only one instance of the pipeline schema in a particular database. You can create multiple users and give permission to access the same tables. Creating multiple instances lead to public synonym conflict.

To avoid public synonym conflicts in a multiuser environment, change the public synonyms to private synonyms for specific users. See "Changing Public Synonyms to Private for Users in Multiuser Environments" for more information.

For example, if you create table1 for user1, you can create user2 and assign permissions to access table1. Typically, you access the table as user1.table1. However, using synonyms, you can directly access the table as table1. No prefix (user1) is required.

Changing Public Synonyms to Private for Users in Multiuser Environments

Changing public synonyms to private synonyms for a user is required for avoiding public synonym conflict in a multiuser environment.

Note:

All scripts are located in the pipeline_home/database/Oracle/Scripts directory

To change public synonyms to private synonyms for a user:

  1. Connect to the Oracle database with SQL*Plus:

    % sqlplus system@databaseAlias
    Enter password: password

    where databaseAlias is the database alias of the Oracle database.

  2. Drop the public synonyms for IFW tables for the user.

  3. Grant CREATE ANY synonym access to the user you created for the Pipeline Manager tables. For example:

    SQL> CREATE ROLE synonym_role;
    SQL> GRANT CREATE ANY SYNONYM TO synonym_role;
    SQL> GRANT synonym_role TO pin_user;

    where pin_user is the BRM user.

  4. Open the ifw_Synonyms.sql file with a text editor.

  5. Remove the occurrences of the string public and add the Pipeline Manager database user. For example, for ifw_SEQ_AGGREGATION table, change the string to:

    create synonym ifw_SEQ_AGGREGATION for ifw_user.ifw_SEQ_AGGREGATION;

    where ifw_user is the is the Pipeline Manager database user.

  6. Save the file.

  7. Run the ifw_Synonyms.sql script.

    This script creates the private synonyms for the user.

  8. Exit SQL*Plus.

The public synonyms are now changed to private synonyms for the user.

Loading Procedures for FCT_DuplicateCheck

Before using the FCT_DuplicateCheck module, you must load the duplicate check stored procedures in the Pipeline Manager database:

  1. Load the DuplicateCheck_Oracle.plb file from pipeline_home/database/Oracle/Scripts/DuplicateCheck.

  2. Verify that there is an unique index BIDX_DUPCHK_DATA on the DATA column of the IFW_DUPLICATECHECK table. If not, then create it before starting Pipeline Manager.

The duplicate check stored procedures are now loaded.

Encrypting the Database Password

If your database is encrypted, use the pin_crypt_upgrade utility to migrate your data, and then use the pin_crypt_app utility to encrypt the Pipeline Manager password.

  1. Go to the BRM_home/bin directory.

  2. Run the pin_crypt_app utility with the -useZT parameter:

    pin_crypt_app -useZT -enc
  3. At the prompt, enter the plaintext password to encrypt.

  4. At the next prompt, re-enter the plaintext password.

    The output is the OZT-encrypted password.

  5. Write down the encrypted password or copy it to a text editor.

  6. Open the Pipeline Manager startup registry file.

  7. In the DataPool section, enter the user name, encrypted password, and database name.

    For example:

    UserName     = INTEGRATOR
    PassWord     = &ozt|0D5E11BFDD97D2769D9B0DBFBD1BBF7EE03F1642861DFA57502C7FB85A654267
    DatabaseName = IFWDB

    Note:

    Be sure that these lines are not commented. (The default is commented).

  8. Save the registry file.

(Solaris) Configuring Memory Allocation and Block Transfer Mode on Solaris Systems

If you run Pipeline Manager on the Solaris platform, configure the following:

libumem Memory Allocator

By default, the Hoard memory allocator is used on Solaris systems. If you run Pipeline Manager on Solaris 9, you might achieve better performance by using the libumem memory allocator.

To enable the libumem memory allocator, edit the ifw-script file (ifw-start.sh or ifw-start.csh, depending on your system needs) to set the LD_PRELOAD_64 environment variable to /usr/lib/sparcv9/libumem.so.1 and to change the executable from ifw to ifw_nomalloc as shown in the following examples:

For the ifw-start.sh file, change:

. /BRM_home/ifw/source.me.sh
ifw $*
  

To the following:

export LD_PRELOAD_64=/usr/lib/sparcv9/libumem.so.1
. /BRM_home/ifw/source.me.sh
ifw_nomalloc $*
  

For the ifw-start.csh file, change:

source /BRM_home/ifw/source.me.csh
ifw $*
  

To the following:

setenv LD_PRELOAD_64=usr/lib/sparcv9/libumem.so.1
source /BRM_home/ifw/source.me.csh
ifw_nomalloc $*

Block Transfer Mode

On Solaris systems, you should set up Pipeline Manager buffers to function in block transfer mode. This mode addresses performance and scalability issues that occur when two or more threads are accessing the same buffer (thread contention).

When buffers operate in block transfer mode, EDR blocks of a configurable size are transferred simultaneously between the threads. If, for example, the block size is set to 100, concurrent buffer access is reduced to 1/100 of the number without the block transfer mode.

Specifying Block Transfer Mode and Block Size

To specify block transfer mode and block size, set the values in the registry files as shown in the following example:

Buffer 
{ 
  Size = 4000
  BlockTransfer = TRUE    # Optional, defaults to FALSE
  BlockSize = 500         # Only needed when BlockTransfer = TRUE
} 

This example specifies a buffer size of 4000 and a block size of 500. Up to eight (4000/500) blocks can be in the buffer.

Loading the Tailor-Made Stored Procedure

If you use the Tailor-Made Plan feature, you must load its stored procedure.

To load the stored procedure:

  1. Ensure the following:

    • BRM and Pipeline Manager are installed.

    • The BRM schema and the Pipeline Manager schema reside on the same database.

  2. Connect to the Oracle database with SQL*Plus:

    % sqlplus system@databaseAlias
    Enter password: password
  3. Grant access of the pipeline schema to user pin by doing the following:

    1. Run the SQL grant select, update, insert, and delete command on the specified Pipeline Manager tables:

      SQL> grant select, update, insert, delete on tableName to pin;

      where tableName is the name of the Pipeline Manager table. Run the command on the following tables:

      • ifw_rateplan

      • ifw_rateplan_cnf

      • ifw_rateplan_ver

      • ifw_model_selector

      • ifw_selector_detail

      • ifw_selector_rule

      • ifw_selector_rule_lnk

      • ifw_selector_ruleset

      • ifw_pricemodel

      • ifw_pricemdl_step

    2. Run the SQL grant select command on the specified Pipeline Manager tables:

      SQL> grant select on tableName to pin;

      Run the command on the following tables:

      • ifw_service

      • ifw_timezone

      • ifw_timemodel

      • ifw_impact_cat

      • ifw_zonemodel

      • ifw_calendar

    3. Run the SQL grant select command on the specified Pipeline Manager sequences:

      SQL> grant select sequenceName to pin;

      where sequenceName is the name of the Pipeline Manager sequence. Run the command on the following sequences:

      • ifw_seq_selectordetail

      • ifw_seq_selectorrule

      • ifw_seq_modelselector

      • ifw_seq_pricemodel

      • ifw_seq_rateplan

  4. Type exit to exit SQL*Plus.

  5. Go to the IFW_Home/database/Oracle/Scripts directory, where IFW_Home is the pipeline install directory.

  6. Enter the following command to open SQL*Plus:

    % sqlplus pin@database_Name
    Enter password: password

    where database_Name is the service name or database alias of the Oracle database.

  7. Enter the following command to load the stored procedure:

    SQL>@create_pricing_tailormadeplan_procedures.plb
  8. Type exit to exit SQL*Plus.

Loading the Discount Stored Procedure

Loading of the stored procedure is required for discount configuration.

To load the stored procedure:

  1. Ensure the following:

    • BRM and Pipeline Manager are installed.

    • The BRM schema and the Pipeline Manager schema are on the same database.

  2. Connect to the Oracle database with SQL*Plus:

    % sqlplus system@databaseAlias
    Enter password: password
  3. Grant access of pipeline schema to user pin by doing the following:

    1. Run the SQL grant select, update, insert, and delete commands on the specified Pipeline Manager tables:

      SQL> grant select, update, insert, delete on tableName to pin;

      where tableName is the name of the Pipeline Manager table. Run the command on the following tables:

      • ifw_discountmodel

      • ifw_dscmdl_ver

      • ifw_dscmdl_cnf

      • ifw_dsctrigger

      • ifw_dsccondition

      • ifw_discountrule

      • ifw_discountstep

      • ifw_dscbalimpact

      • ifw_discountmaster

      • ifw_discountdetail

    2. Run the SQL grant select commands on the specified Pipeline Manager sequences:

      SQL> grant select sequenceName to pin;

      where sequenceName is the name of the Pipeline Manager sequence. Run the command on the following sequences:

      • ifw_seq_discountmodel

      • ifw_seq_discountconfig

      • ifw_seq_discounttrigger

      • ifw_seq_discountcondition

      • ifw_seq_discountrule

      • ifw_seq_discountstep

      • ifw_seq_discountbalimpact

      • ifw_seq_discountmaster

  4. Type exit to exit SQL*Plus.

  5. Go to the ifw/database/Oracle/Scripts directory.

  6. Enter this command to open SQL*Plus:

    % sqlplus pin@database_Name
    Enter password: password

    where database_Name is the service name or database alias of the Oracle database.

  7. Enter this command to load the stored procedure:

    SQL>@create_pricing_discountmodel_procedures.plb
  8. Type exit to exit SQL*Plus.

What's Next?

You have installed Pipeline Manager and required optional components. To install Pipeline Configuration Center, see "Installing Pipeline Configuration Center" in BRM Installation Guide.