8.8 Configuring Reports Server with the Oracle Process Manager and Notification Server and Oracle Enterprise Manager

The best way to start, shut down, monitor, and manage Reports Server is through the Oracle Process Manager and Notification Server (OPMN) and Oracle Enterprise Manager.

OPMN provides a centralized mechanism for initializing, maintaining, and shutting down your Oracle Fusion Middleware components, including Reports Server. Out-of-the-box, Oracle Reports components are managed with OPMN for death detection and recovery, providing an enhanced health check mechanism in Oracle Reports 11g Release 1 (11.1.1).

You can conveniently monitor your Reports Servers through Oracle Enterprise Manager and, if the process fails for any reason, OPMN restarts Reports Server for you automatically.

During installation of Oracle Fusion Middleware, Reports Servers are automatically configured in OPMN and registered with Oracle Enterprise Manager.

8.8.1 opmn.xml

Components are configured with OPMN in the opmn.xml file located in INSTANCE_HOME/config/OPMN/opmn/opmn.xml This section describes how to configure the following components through OPMN:

See Also:

For a detailed description of OPMNconfiguration and the contents of opmn.xml:

8.8.1.1 Module Specification

The module tag is included by default in opmn.xml and tells OPMN to load a particular module. In the case of Reports Server, the OracleAS Reports Services module must be loaded. This module is loaded with the following information, by default, in opmn.xml:

<module path="/private/oraclehome/opmn/lib/libopmnreports"><module-id id="ReportsServices"/></module>

8.8.1.2 Standalone Reports Server Specification

In the case of the standalone Reports Server, the Reports Server is running in its own component. Therefore, you must specify a separate component for Reports Server to control the server through OPMN. For example:

<ias-component id="<ServerName>">
 <process-type id="ReportsServerComponent" module-id="ReportsServices">
   <process-set id="<ServerName>" restart-on-death="true" numprocs="1">
      <environment>
         <variable id="PATH" value="<PATH environment variable> "/>
      </environment>
      <module-data>
         <category id="general-parameters">
            <data id="batch" value="yes"/>
         </category>
         <category id="restart-parameters">
            <data id="reverseping-timeout" value="120"/>
         </category>
      </module-data>
      <start timeout="75" retry="2"/>
      <stop timeout="120"/>
      <restart timeout="75"/>
      <ping timeout="30" interval="30"/>
   </process-set>
 </process-type>
</ias-component>

Note:

The timeout values in the preceding example are all in number of seconds.

The key segments of this specification for Oracle Reports are described below.

<ias-component id="<RSName>" ...>

This tag specifies the name of Reports Server. It must match the Reports Server internal name from targets.xml

See Also:

Chapter 19, "Managing and Monitoring OracleAS Reports Services" for more information on targets.xml.

<process-type id="ReportsServer" module-id="ReportsServices">

This tag defines the process for the named Reports Server and associates it with the OracleAS Reports Services process module.

<process-set id="<RSName>" restart-on-death="true" numprocs="1">

This tag defines the process characteristics for the named Reports Server. It indicates whether Reports Server should be restarted when it fails. It also specifies the number of Reports Servers started for this process set, which has to be 1 because the process-set id identifies a single Reports Server name.

<variable id="PATH" value="your_shell_path"/>

The first tag specifies the value for the PATH environment variable for the process. This variable must be set for the start script to find uname. This environment element is not needed on the Microsoft Windows platform.

<category id="general-parameters"><data id="batch" value="yes"/></category>

This group of tags gathers together all of the data (parameters) common to the process. In this particular example, it provides a way to specify that the BATCH parameter be sent to Reports Server. batch=yes|no is an option to the start and stop commands of Reports Server. If it is not configured, this option is not passed in to Reports Server.

<category id="restart-parameters"><data id="reverseping-timeout" value="120"/></category>

This group of tags indicates the restart parameters category, which defines parameters to be used in detecting whether the process has failed and needs to be restarted. If a notification is not received within the specified reverseping-timeout period, then the process is considered failed and will be restarted.

See Also:

For more information on opmn.xml and its contents:

  • Oracle Application Server Administrator's Guide

8.8.1.3 Oracle Reports Bridge Specification

The Oracle Reports bridge runs within its own component. Therefore, you must specify a separate ias-component tag for the Oracle Reports bridge to control the bridge through OPMN.For troubleshooting scenarios and diagnosis, see Section D.8, "Diagnosing Oracle Reports Bridge Problems"

The following are examples for a minimum bridge configuration as well as a full bridge configuration.

Example 8-1 Minimum Configuration for Oracle Reports Bridge

<ias-component id="your_bridge_name" status="enabled" id-matching="false"
xmlns="http://www.oracle.com/ias-instance/">
 <process-type id="ReportsBridge" module-id="ReportsBridgeServices">
   <process-set id="your_bridge_name" restart-on-death="true" numprocs="1">
      <environment>
         <variable id="PATH" value="your_oracle_home_directory/jdk/jre/bin" append="true"/>
         <variable id="PATH" value="your_shell_path" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/jlib/zrclient.jar" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/reports/jlib/rwrun.jar" append="true"/>
      </environment>
   </process-set>
 </process-type>
</ias-component>

Example 8-2 Full Configuration for Oracle Reports Bridge

<ias-component id="your_bridge_name" status="enabled" id-matching="false">
 <process-type id="ReportsBridge"module-id="ReportsBridgeServices">
   <process-set id="your_bridge_name" restart-on-death="true" numprocs="1">
      <environment>
         <variable id="PATH" value="your_shell_path" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/jlib/zrclient.jar" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/reports/jlib/rwrun.jar" append="true"/>
      </environment>
      <module-data>
         <category id="restart-parameters">
            <data id="reverseping-timeout" value="120"/>
         </category>
         <category id="start-parameters">>
            <data id="jvm-options" value="="-Xms128mb -Xmx256mb"/>
            <data id="bridge-options" value="start_options_if_any"/>      
         </category>
        <category id="stop-parameters">
            <data id="jvm-options" value="-Xms128mb -Xmx256mb"/>
            <data id="bridge-options" value="stop_options_if_any"/>
        </category>
      </module-data>
      <start timeout="120" retry="3"/>
      <stop timeout="120"/>
      <restart timeout="120" retry="0"/>
   </process-set>
 </process-type>
</ias-component>

8.8.1.4 COS Naming Service Specification

By default, Oracle Reports uses the built-in broadcast mechanism for Reports Server discovery. Alternatively, Oracle Reports clients can use the Common Object Service (COS) naming service for Reports Server discovery to submit report requests when the built-in broadcast mechanism is not suitable for your environment, as in the following scenarios:

  • Oracle Reports is installed on a machine that is connected to a network using VPN.

  • You want to avoid broadcast traffic on your network.

For more information, see Section 2.3.4.2, "Server Discovery Using the COS Naming Service".To control the COS naming service through OPMN, the opmn.xml file must include a custom ias-component tag, as follows:

<ias-component id="namingservice">
<process-type id="namingservice" module-id="CUSTOM">
      <environment>
         <variable id="PATH" value="ORACLE_HOME\jdk\bin"/>
      </environment>
   <process-set id="namingservice" numprocs="1">
      <module-data>
         <category id="start-parameters">
            <data id="start-executable" value="ORACLE_HOME\jdk\bin\orbd"/>
            <data id="start-args" value="-ORBInitialPort port"/>>
         </category>
      </module-data>
   </process-set>
 </process-type>
</ias-component>

Where,

ORACLE_HOME is your Oracle Home directory.

port is the port on which you want to start the COS naming service. This port must be specified in your rwnetwork.conf file as specified in Section 8.5.1.3, "namingService".

Additionally, to make sure that OPMN starts the COS naming service before it attempts to start Reports Server, opmn.xml must include the following dependency:

<ias-component id="<reports_server_name>" status="enabled" id-matching="false">
<process-type id="ReportsServer" module-id="ReportsServices">
...
<managed-process ias-component="namingservice" process-type="namingservice"
process-set="namingservice" autostart="true"/>
...
</process-type>
</ias-component>

To use OPMN to control the COS naming service, perform the following steps:

  1. Stop Reports Server and WLS_REPORTS.

  2. Edit the opmn.xml file and add an ias-component tag. For example:

    ...
    <ias-component id="namingservice">
    <process-type id="namingservice" module-id="CUSTOM">
       <environment>
        <variable id="PATH" value="G:\FRHome_2\jdk\bin"/>
       </environment>
      <process-set id="namingservice" numprocs="1">
       <module-data>
        <category id="start-parameters">
         <data id="start-executable" value="G:\FRHome_2\jdk\bin\orbd"/>
         <data id="start-args" value="-ORBInitialPort 8988"/>
        </category>
       </module-data>
      </process-set>
     </process-type>
    </ias-component>
    ...
    
  3. Add a dependency to the Reports Server ias-component tag. For example:

    <category id="general-parameters">
      <data id="batch" value="yes"/>
    </category>
    <category id="restart-parameters">
              <data id="reverseping-timeout" value="120"/>
    </category>
      </module-data>
       <dependencies>
                <managed-process ias-component="namingservice"
                process-type="namingservice" process-set="namingservice"
                autostart="true"/>
       </dependencies>
    <stop timeout="120"/>
    <restart timeout="600"/>
    <ping timeout="30" interval="30"/>
    </process-set>
    </process-type>
    </ias-component>
    ...
    

    Note:

    In Reports 11g Release 1 (11.1.1), you cannot add a dependency on WLS_REPORTS because the in-process server and WLS_REPORTS are not managed by OPMN.

  4. Navigate to your ORACLE_INSTANCE/opmn/bin directory.

  5. Run one of the following commands:

    • If OPMN is up and running, to reload the changes made to the opmn.xml file: opmnctl reload

    • If OPMN is not running: opmnctl start

  6. Start the COS naming service using either of the following commands:

    opmnctl startproc ias-component=namingservice

    or

    opmnctl startproc process-type=namingservice

  7. Modify the rwnetwork.conf file to use the COS naming service instead of the default broadcast mechanism, as described in Section 8.5.1.3, "namingService".

  8. Start WLS_REPORTS and Reports Servers.

    To stop the COS naming service, use the following command:

    opmnctl stopproc ias-component=namingservice

    To restart the COS naming service, use the following command:

    opmnctl restartproc ias-component=namingservice

    Troubleshooting: If a COMM_FAILURE error displays when Reports Server is started, either the naming service is not started properly or the port is not specified properly. To resolve this error, check whether the naming service process orbd is running. If not, start it. If the orbd process is running, check the port specified for namingService in the rwnetwork.conf file. It should be same as the port on which orbd is started.

    When you execute the command opmnctl stopall, Reports Server may not stop gracefully, and may be killed by OPMN. This is because OPMN does not check the dependency while stopping the process. If OPMN stops the COS naming service before stopping Reports Server, Reports Server will not shut down gracefully. This is harmless, and can be ignored.

8.8.2 Creating a New Reports Server

You can use the following OPMN commands to create new Reports Server.

ORACLE_INSTANCE/bin/opmnctl createcomponent  
       -adminUsername weblogic  
       -adminHost ${ADMIN_HOST} 
       -adminPort ${ADMIN_PORT}   
       -oracleHome ${ORACLE_HOME} 
       -oracleInstance ${ORACLE_INSTANCE} 
       -instanceName  $INSTANCE_NAME 
       -componentName  <servername> 
       -componentType  ReportsServerComponent 

For example, to create a new Server named test_server, run the following commands on the commandline:

ORACLE_INSTANCE/bin/opmnctl createcomponent 
  -adminUsername weblogic  
  -adminHost host.domain.com   
  -adminPort 7001  
  -oracleHome /path/oracle_home 
  -oracleInstance /path/instance_home 
  -instanceName  myinst 
  -componentName  test_server 
  -componentType  ReportsServerComponent

After creating the Reports Server, restart the WLS_REPORTS managed server by stopping it and and start it again. This is necessary for completing registration of the new Reports Server configuration MBeans.

8.8.3 Creating a New Bridge Component Type

You can use the following OPMN commands to create new Bridge Component Type.

ORACLE_INSTANCE/bin/opmnctl createcomponent  
       -adminUsername weblogic  
       -adminHost ${ADMIN_HOST} 
       -adminPort ${ADMIN_PORT}   
       -oracleHome ${ORACLE_HOME} 
       -oracleInstance ${ORACLE_INSTANCE} 
       -instanceName  $INSTANCE_NAME 
       -componentName  <Bridgename> 
       -componentType  ReportsBridgeComponent

For example, to create a new Bridge Component Type named test_bridge, run the following commands on the commandline:

ORACLE_INSTANCE/bin/opmnctl createcomponent
  -adminUsername weblogic
  -adminHost host.domain.com
  -adminPort 7001
  -oracleHome /path/oracle_home    
  -oracleInstance /path/instance_home 
  -instanceName  myinst -componentName  test_bridge   
  -componentType  ReportsBridgeComponent

Note:

After running the command the new server / bridge will be automatically registered with OPMN.