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.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.
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
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
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')
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 | Description | 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 |
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
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 does not stop, it will send attempt to shutdown in immediate mode (that is, does not wait for job finish)
if in 'timeout' it does not 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>
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()
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()
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()