7.8 Configuring Reports Server with the Node Manager Reports Process Management

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 12c Release (12.2.1).

If the process fails for any reason, Nodemanager restarts Reports Server for you automatically.

During installation of Oracle Fusion Middleware, Reports Servers are automatically configured in Node Manager.

7.8.1 Starting and Stopping Components

Start / Stop of components is done using WLST commands. The reports process management plugin running in Node Manager does the actual process management of reports server / bridge. If reports processes die, Node Manager detects it and restarts the processes.

In these examples:

  • Name of reports server component - repsvr1

  • Name of reports bridge component - repbrd1

  • Domain Home - /scratch/rrpai/wls2/user_projects/domains/test1

7.8.1.1 FMW Script

Use the following commands:

$DOMAIN_HOME/bin/startComponent.sh  repsvr1
$DOMAIN_HOME/bin/stopComponent.sh  repsvr1
 
$DOMAIN_HOME/bin/startComponent.sh  repbrd1
$DOMAIN_HOME/bin/stopComponent.sh  repbrd1

7.8.1.2 WLST Start / Stop

WLST Online

setenv ORACLE_HOME  /scratch/rrpai/wls2
 
$ORACLE_HOME/oracle_common/common/bin/wlst.sh
connect("weblogic","welcome1", "localhost:7001")
domainRuntime()
# reports server
cd('/SystemComponentLifeCycleRuntimes/repsvr1')
# start reports server
cmo.start(java.util.Properties())
# get state of reports server
cmo.getState()
# stop reports server
cmo.shutdown(java.util.Properties())
 
# reports bridge
cd('/SystemComponentLifeCycleRuntimes/repbrd1')
# start reports bridge
cmo.start(java.util.Properties())
# get state of reports bridge
cmo.getState()
# stop reports bridge
cmo.shutdown(java.util.Properties())

WLST Offline

$ORACLE_HOME/oracle_common/common/bin/wlst.sh
# nmConnect('weblogic', 'welcome1', 'localhost', 'NodeManagerPort', 'DomainName', 'DomainHome')
nmConnect('weblogic', 'welcome1', 'localhost', '5556', 'test1', '/scratch/rrpai/wls2/user_projects/domains/test1')
# reports server
nmStart(serverName='repsvr1', serverType='ReportsServerComponent')
nmKill(serverName='repsvr1', serverType='ReportsServerComponent')
 
# reports bridge
nmStart(serverName='repbrd1', serverType='ReportsBridgeComponent')
nmKill(serverName='repbrd1', serverType='ReportsBridgeComponent')

7.8.1.3 Files Associated with process control

repsvr1 is the name of reports server

ReportsBridgeComponent is the reports bridge location

The startup properties are managed by nodemanager

$DOMAIN_HOME/system_components/ReportsServerComponent/repsvr1/data/nodemanager/startup.properties

Some nodemanager properties are mentioned below:

Table 7-33 nodemanager properties

Property Descrition Value

RestartMax

The number of times Node Manager can attempt to restart the server.

2

RestartInterval

The amount of time Node Manager will spend attempting to restart a failed server. Within this period of time Node Manager will attempt to restart the failed server up to the number defined by RestartMax. By default, Node Manager will attempt to restart a server indefinitely until the FAILED_NOT_RESTARTABLE state is reached.

3600

RestartDelaySeconds

The number of seconds Node Manager should wait before attempting to restart the server.

0

AutoRestart

Specifies whether Node Manager can automatically restart this server if it fails.

true


  • reports environment and timeout config

    $DOMAIN_HOME/system_components/ReportsServerComponent/repsvr1/data/nodemanager/reports_process.xml

  • nodemanager log

    $DOMAIN_HOME/nodemanager/nodemanager.log

  • stdout logs of reports server, created by NodeManager

    $DOMAIN_HOME/servers/repsvr1/logs/repsvr1.out

  • nodemanager process control log config

    $DOMAIN_HOME/nodemanager/nodemanager.properties

  • change log level change this setting

    LogLevel=INFO

7.8.1.4 Reports process management configuration file

For example: $DOMAIN_HOME/system_components/ReportsServerComponent/repsvr1/data/nodemanager/reports_process.xml

You can configure the following:

  • Environment variables to be set for the server

    • If append is set to 'true' it appends the value to current value using platform specific path separator that is, Windows - ';' and Unix - ':' . This is suitable for environment variables like PATH

    • If append is set to 'false' it replaces the environment variable value

  • Stop timeout

  • This is how nodemanager reports plugin works while stopping reports server

    • first it will attempt to shutdown in 'normal' mode that is, wait for reports jobs running in reports server to finish

    • if in 'timeout' specified in config it doesnt stop, it will send attempt to shutdown in immediate mode (that is, does not wait for job finish)

    • if in 'timeout' it doesnt stop again it will force kill process

<?xml version = '1.0' encoding = 'UTF-8'?>
<process xmlns="http://xmlns.oracle.com/reports/process" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <environment>
    <variable id="PATH" value="/scratch/oracle/testPath" append="true"/>
    <variable id="MY_PATH" value="/home/oracle/myPath" append="false"/>
    <variable id="MY_ENV" value="my_env_value"/>
  </environment>
  <stop timeout="30"/>
</process>

7.8.2 Creating a New Reports Tools Component Type

Use the following commands:

$MW_HOME/oracle_common/common/bin/wlst.sh
connect("weblogic","welcome1", "localhost:7001")
help()
help('reports_tools')
help('createReportsToolsInstance')
help('deleteReportsToolsInstance')
createReportsToolsInstance(instanceName='reptools1', machine='M1')
deleteReportsToolsInstance(instanceName='reptools1')
exit()

7.8.3 Creating a New Reports Bridge Component Type

Use the following commands:

$MW_HOME/oracle_common/common/bin/wlst.sh
connect("weblogic","welcome1", "localhost:7001")
help()
help('reports_bridge')
help('createReportsBridgeInstance')
help('deleteReportsBridgeInstance')
createReportsBridgeInstance(instanceName='repbridge1', machine='M1')
deleteReportsBridgeInstance(instanceName='repbridge1')
exit()

7.8.4 Creating a New Reports Server Component Type

Use the following commands:

$MW_HOME/oracle_common/common/bin/wlst.sh 
connect("weblogic","welcome1", "localhost:7001")
help()
help('reports_server')
help('createReportsServerInstance')
help('deleteReportsServerInstance')
createReportsServerInstance(instanceName='repsvr1', machine='M1')
deleteReportsServerInstance(instanceName='repsvr1')
exit()