1 Starting and Stopping the BRM System

This chapter explains how to start and stop your Oracle Communications Billing and Revenue Management (BRM) system.

Before you read this chapter, you should be familiar with how BRM works. See "BRM System Architecture" in BRM Concepts.

About Starting and Stopping BRM Components

You start and stop BRM components by starting and stopping the corresponding process for that component.

You can start and stop BRM components by using the following methods:

Choosing the User Name for BRM Components

You can start BRM components as user root, user pin, or any other name you choose. If you start both the BRM database and the BRM components with a user name other than root, you have better control over security and administrators that do not have superuser permissions.

Note:

If you use a port number less than 1000 for a component (1023 for the cm_proxy component), you must start that component as the user root. If you use a port number greater than 1024, you do not have to start the component as the user root.

Starting Several BRM Components in Sequence

You must start BRM components in a specific order, starting with the data tier and finishing with the application tier.

The tiers are structured as shown in Figure 1-1:

Figure 1-1 BRM Component Tiers

Description of Figure 1-1 follows
Description of ''Figure 1-1 BRM Component Tiers''

To start multiple components:

  1. Start the BRM database.

    The BRM database usually starts automatically when the computer is started. For information on stopping and starting the database, see the documentation for your database server.

  2. Start the Data Manager (DM) for your database (dm_oracle).

    Important:

    In multischema systems, you must start all secondary DMs before you start the primary DM.
  3. Start any other DMs, such as these:

    • dm_fusa for BRM-initiated payment processing

      Note:

      Start the Paymentech credit card simulator before starting DM FUSA. See "Running the Paymentech Simulators" in BRM Configuring and Collecting Payments.
    • dm_vertex for tax calculation

  4. Start the daemon or process for any optional features such as these:

    • Mailer

    • Popper

    • Web interface

    • Tax

  5. Start the Connection Manager Master Processes (CMMPs) if your system uses them.

  6. Start CM Proxy if your system uses it.

  7. Start the CMs.

  8. Start BRM clients and other programs, such as optional service integration components.

    Tip:

    Create a custom start script that includes required pin_ctl start component commands and start_component scripts. Be sure to start components in the proper order.

Stopping Several BRM Components in Sequence

You must stop BRM components in a specific order, starting with the application tier and finishing with the data server tier.

  1. Stop the BRM client applications and optional service integration components.

  2. If your system uses any of these optional features, stop each daemon or process:

    • Mailer

    • Popper

    • Web interface

    • Tax

  3. Stop the CMs.

  4. Stop CM proxy if your system uses it.

  5. Stop the Connection Manager Master Processes (CMMPs) if your system uses them.

  6. Stop all but the database DMs, such as dm_vertex for tax calculation

  7. Stop the Oracle DM for your database (dm_oracle).

  8. Close all database sessions, such as SQL*Plus sessions for Oracle.

  9. Stop the BRM database.

    For information on stopping and starting the database, see the documentation for your Oracle database server.

Starting a Component by Using the pin_ctl Utility

You can use the pin_ctl utility to perform the following:

Starting BRM Components with pin_ctl

To start a BRM component by using the pin_ctl utility:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with the start action:

    pin_ctl start component
    

    where component is the component you want to start. For a list of valid component values, see "pin_ctl".

    For example:

    pin_ctl start dm_oracle
    

Starting Optional BRM Components with pin_ctl

By default, the pin_ctl utility is not configured to start BRM optional components, such as Synchronization Queue Manager DM (dm_aq).

To start an optional BRM component by using the pin_ctl utility:

  1. Add the optional component to the BRM_home/bin/pin_ctl.conf configuration file. See "Customizing pin_ctl.conf for Starting and Stopping Optional Components".

  2. Run the pin_ctl utility with the start action:

    pin_ctl start component
    

    where component is the optional component you added in step 1.

    For example, to start dm_aq:

    pin_ctl start dm_aq
    

Starting Pipeline Manager Components with pin_ctl

To start a BRM component by using the pin_ctl utility:

  1. Edit the BRM_home/bin/pin_ctl.conf configuration file. See "Configuring the pin_ctl Utility".

  2. Copy the Pipeline_home/bin/ifw binary file to Pipeline_home/bin/component, where component is the pipeline component name.

  3. Go to the BRM_home/bin directory.

  4. Run the pin_ctl utility with the start action:

    pin_ctl start component
    

    where component is the component you want to start. For a list of valid component values, see "pin_ctl".

Getting Diagnostic Data When You Start a Component

To get diagnostic data about a BRM component by using the pin_ctl utility:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with the start, -collectdata, and component:

    pin_ctl start -collectdata component 
    

    where component is the component you want to get data about. For a list of valid component values, see "pin_ctl".

    For example:

    pin_ctl start -collectdata dm_oracle
    

Halting and Restarting a Component with One Command

To halt and restart a BRM component by using the pin_ctl utility:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with the restart action:

    pin_ctl restart component
    

    where component is the component you want to halt and restart. For a list of valid component values, see "pin_ctl".

    For example:

    pin_ctl restart dm_oracle
    

Starting a Component and Clearing the Log File

You can clear the log file for a component and then start the component.

Note:

If the component is already running, the command just clears the log file and the component continues running.

To start a BRM component and clear the contents of its log file by using the pin_ctl utility:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with the cstart action:

    pin_ctl cstart component
    

    where component is the component parameter.

    For example:

    pin_ctl cstart dm_oracle
    

Starting a Base Set of BRM Components

You can use the pin_ctl start all command to start a customizable set of BRM components. By default, the components are started in this order:

  • Oracle Data Manager (DM)

  • Email DM

  • Connection Manager

  • CM Master Process

  • Invoice formatter

You can customize the components that the pin_ctl start all command starts. You can also create customized ”all” commands to start a separate set of components. See "Creating a Custom ”all” Parameter List".

To start a set of BRM components by using the pin_ctl utility:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with the start action and all as the component:

    pin_ctl start all
    

    Note:

    You can use the -collectdata parameter to collect diagnostic data about all of the components. See "Getting Diagnostic Data for a Component by Using the pin_ctl Utility".

Starting BRM Components Automatically

You can configure BRM components to start automatically when you restart a system by adding component start scripts to the operating system startup scripts, such as the /etc/rc2 script. You can also start components automatically from cron jobs.

Important:

When you set up the BRM system to start automatically, ensure the database starts before any Data Manager that connects to the database. If the DM starts first, it reports an error when it cannot find the database. For more information on component start sequences, see "Starting Several BRM Components in Sequence".

To add a component to the startup script:

  1. As user root, run the installation script for the component (for example, install_dm_fusa or install_cm).

    These scripts are in BRM_home/bin.

  2. (Optional) To avoid problems with file security and permissions, set all component processes to start as user pin (or another name you choose) rather than as user root; add the following line to the initialization file for the operating system, before the lines that start the components:

    su - pin 
    

Starting Multiple Families of BRM Components on the Same Computer

Each BRM component can be part of a family of components. Each family includes a master process and one or more child processes. When you start the master process, BRM starts child processes automatically.

You can run multiple families of a BRM process on the same computer. For example, you can start another instance of the Paymentech DM on a computer that is already running the Paymentech DM.

To run multiple families, put each family in a separate directory with its own configuration file (pin.conf or Infranet.properties). Each family's configuration file must point to a unique port to avoid conflicts when you start the processes. Each configuration file should point to a unique pinlog file as well.

For information on configuring the port and on the location of the log file for a process, see the explanatory text in the configuration file for that process.

Confirming That a BRM Component Started Successfully

To verify that a component started successfully, perform one or more of these checks:

  • For supported components, use the pin_ctl utility with the status action. See "pin_ctl".

  • Look for the startup timestamp in the .log file. For more information on BRM log files, see "Using Logs to Monitor Components".

  • Confirm that the pid file for the component contains the process ID (PID).

    pid files are generated in BRM_home/var/component (for example, BRM_home/var/dm_oracle).

  • Use the ps command to check the component process status.

  • (Solaris and Linux) You can confirm that a shared memory segment has been allocated for the component process by using the ipcs command.

    Note:

    The ipcs command does not show the shared memory segment unless you run it as root or pin or you use the -m parameter.

Stopping a BRM Component by Using the pin_ctl Utility

To stop a BRM component by using the pin_ctl utility:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with the stop action:

    pin_ctl stop component
    

    where component is the component you want to stop. For a list of valid component values, see "pin_ctl".

    For example:

    pin_ctl stop dm_oracle
    

Getting Diagnostic Data When You Stop a Component

For information about the diagnostic data, see "Getting Diagnostic Data for a Component by Using the pin_ctl Utility".

To get diagnostic data when you stop a BRM component:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with stop, -collectdata, and component:

    pin_ctl stop -collectdata component 
    

    where component is the component you want to get data about. For a list of valid component values, see "pin_ctl".

    For example:

    pin_ctl stop -collectdata dm_oracle
    

Stopping a Process by Using Commands

In addition to using the pin_ctl utility halt command, you can stop a component with a direct command. Use ps to get the process ID (PID) of the process, and then use the kill command to stop the process.

Note:

Stopping the CM parent also stops the CM children. If you kill a child CM, a new opcode call starts a new child CM. This is because the parent CM is still active, and can automatically start a child CM when you run an opcode.

In rare cases, you might be left with an allocated but unused shared memory block. Use the ipcs command to detect an allocated block; use the ipcrm command to remove it.

Stopping a Base Set of BRM Components

You can use the pin_ctl stop all command to stop a customizable set of components. By default, the components are stopped in this order:

  • Invoice formatter

  • CM Master Process

  • Connection Manager

  • Email DM

  • Oracle DM

You can customize the components that the pin_ctl stop all command stops. See "Customizing the Components Included in ”all”" You can also create customized ”all” commands to stop a separate set of components. See "Creating a Custom ”all” Parameter List".

To stop a set of BRM components by using the pin_ctl utility:

  1. Go to the BRM_home/bin directory.

  2. Run the pin_ctl utility with the stop action and all as the component:

    pin_ctl stop all
    

    Note:

    You can use the -collectdata parameter to collect diagnostic data about all of the components. See "Getting Diagnostic Data for a Component by Using the pin_ctl Utility".

Starting and Stopping Pipeline Manager Manually

You can stop and start Pipeline Manager by using the command line instead of by using the pin_ctl utility.

Important:

If you start Pipeline Manager manually, you cannot use the pin_ctl utility to control Pipeline Manager (for example, to stop it or to get the status).

Starting Pipeline Manager

You start an instance of Pipeline Manager by using the following command from the Pipeline_home directory:

bin/ifw -r RegistryFile

where RegistryFile is the name of the registry file.

Important:

If Pipeline Manager cannot establish a connection with the Pipeline Manager database (most likely because the database is down), you receive an error message and the Pipeline Manager startup is canceled.

The general syntax for the ifw command and parameters is:

ifw  -r RegistryFile | -h | -v [-r RegistryFile] 

where:

-r RegistryFile

Starts Pipeline Manager with the specified registry file.

-h

Displays the syntax and parameters.

-v  [-r RegistryFile]

Displays the version of Pipeline Manager. If you use the -r parameter, it also displays the version and name of data and function modules. For example:

ifw -v -r conf/wireless.reg
Module ifw.DataPool.Listener.Module Name: DAT_Listener, Version: 10010

Pipeline Manager displays Ready for processing when startup procedures are completed.

Stopping Pipeline Manager

Important:

If you use HTTP or SNMP monitoring in a Pipeline Manager instance, you must stop all monitoring requests to Pipeline Manager before you stop it. To stop the monitoring requests, stop the master SNMP agent. You can use the kill command, for example:
kill -9 master_agent_pid

You stop Pipeline Manager by using the following semaphore entry:

ifw.Active = FALSE

For information on semaphores and how to create semaphore files, see "Updating Configuration Settings during Runtime by Using Semaphore Files".

Starting and Stopping Individual Pipelines

When you start Pipeline Manager, the Controller starts all pipelines. However, you can stop or restart individual pipelines by using semaphores.

Important:

When a pipeline cannot establish a connection with the Pipeline Manager database (most likely because the database is down), you receive an error message and the pipeline startup is canceled.

To start an individual pipeline, use the following semaphore entry:

ifw.Pipelines.PipelineName.Active = True

where PipelineName is the name of the pipeline.

To stop an individual pipeline, use the following semaphore entry:

ifw.Pipelines.PipelineName.Active = False

where PipelineName is the name of the pipeline.

If files are added to the input directory after a pipeline is stopped and before it is restarted, the files are processed in order based on their last modified timestamp. For more information about input processing, see "Configuring EDR Input Processing" in BRM Configuring Pipeline Rating and Discounting.

For information on how to create semaphore files, see "Updating Configuration Settings during Runtime by Using Semaphore Files".

Tip:

Pipeline Manager includes a set of Perl scripts, and associated semaphore files, that you can use to start and stop various types of pipelines and perform other system administration tasks. See "Using Perl Scripts to Start and Stop Pipeline Manager".

Restarting Pipeline Manager after an Abnormal Shutdown

Some modules track data in data files. If an abnormal shutdown occurs, you must delete the data files that were in progress when the shut-down occurred.

See the following topics in BRM Configuring Pipeline Rating and Discounting:

Using Perl Scripts to Start and Stop Pipeline Manager

Pipeline Manager includes a set of Perl scripts, and associated semaphore files, that you can use to start and stop various types of pipelines and perform other system administration tasks.

Table 1-1 describes the files and scripts used for starting and stopping pipelines:

Table 1-1 Scripts for Starting and Stopping Pipelines

Semaphore and Perl script file names Description

start_all_pipeline.reg

start_all_pipeline.pl

Starts all pipelines configured in the start_all_pipeline.reg semaphore file. By default, this list includes these pipelines:

  • ALL_RATE

  • PRE_RECYCLE

  • PRE_PROCESS

  • ALL_BCKOUT

  • ALL_RERATE

If you add custom pipelines, add their names to the semaphore file according to the default examples.

Important:

  • Do not run rating pipelines (ALL_RATE, PRE_RECYCLE, and PRE_PROCESS) at the same time that you run the rerating pipeline (ALL_RERATE). Edit the script to specify which pipeline to run.

  • Before running ALL_RERATE, ensure that the backout pipeline (ALL_BCKOUT) has processed all EDRs that were extracted by the Event Extraction tool.

start_all_rate.reg

start_all_rate.pl

Starts the ALL_RATE pipeline.

start_DiscountPipeline.reg

start_DiscountPipeline.pl

Starts the discount pipeline (DiscountPipeline).

start_main_stop_rerating.reg

start_main_stop_rerating.pl

Starts these pipelines:

  • PRE_PROCESS

  • PRE_RECYCLE

  • ALL_RATE

Stops these pipelines:

  • ALL_BCKOUT

  • ALL_RERATE

start_pre_process.reg

start_pre_process.pl

Starts the preprocessing pipeline (PRE_PROCESS).

start_pre_recycle.reg

start_pre_recycle.pl

Starts the pre-recycle pipeline (PRE_RECYCLE).

start_RealtimePipelineGPRS.reg

start_RealtimePipelineGPRS.pl

Starts the real-time GPRS pipeline (RealtimePipelineGPRS).

start_RealtimePipelineGSM.reg

start_RealtimePipelineGSM.pl

Starts the real-time GSM pipeline (RealtimePipelineGSM).

start_RealtimePipelineZone.reg

start_RealtimePipelineZone.pl

Starts the real-time zoning pipeline (RealtimePipelineZone).

start_recycle.reg

start_recycle.pl

Starts recycling rejected CDRs.

start_rerating_stop_main.reg

start_rerating_stop_main.pl

Stops these pipelines:

  • ALL_RATE

  • PRE_RECYCLE

  • PRE_PROCESS

Starts these pipelines:

  • ALL_BCKOUT

  • ALL_RERATE

stop_all_pipeline.reg

stop_all_pipeline.pl

Stops all the pipelines configured in the stop_all_pipeline.reg semaphore file. By default, this list includes these pipelines:

  • ALL_RATE

  • PRE_RECYCLE

  • PRE_PROCESS

  • ALL_BCKOUT

  • ALL_RERATE

If you add custom pipelines, add their names to the semaphore file according to the default examples.

stop_all_rate.reg

stop_all_rate.pl

Stops the ALL_RATE pipeline.

stop_DiscountPipeline.reg

stop_DiscountPipeline.pl

Stops the discount pipeline (DiscountPipeline).

stop_pre_process.reg

stop_pre_process.pl

Stops the preprocessing pipeline (PRE_PROCESS).

stop_pre_recycle.reg

stop_pre_recycle.pl

Stops the pre-recycle pipeline (PRE_RECYCLE).

stop_RealtimePipelineGPRS.reg

stop_RealtimePipelineGPRS.pl

Stops the real-time pipeline for GPRS (RealtimePipelineGPRS).

stop_RealtimePipelineGSM.reg

stop_RealtimePipelineGSM.pl

Stops the real-time pipeline for GSM (RealtimePipelineGSM).

stop_RealtimePipelineZone.reg

stop_RealtimePipelineZone.pl

Stops the real-time pipeline for zoning (RealtimePipelineZone).


Starting and Stopping Oracle IMDB Cache DM

Before starting or stopping Oracle In-Memory Database (IMDB) Cache DM, ensure that the TIMESTEN_HOME environment variable is set to the directory in which you installed the Oracle IMDB Cache database.

Starting IMDB Cache DM

To start Oracle IMDB Cache DM:

  1. Go to the BRM_home/bin directory.

  2. Run the following command:

    pin_ctl start dm_tt
    

Stopping IMDB Cache DM

To stop Oracle IMDB Cache DM:

  1. Go to the BRM_home/bin directory.

  2. Run the following command:

    pin_ctl stop dm_tt