Friday, February 15, 2019

Some challenges with Oracle Reports 12.2.1.3

Oracle Reports has been around for a long time and future versions will most likely not be created  (see here). Hence this is going to be my first and also last blog post on this product. Installing Reports is not an easy task. It requires several steps which are not well documented. This blog post contains a few pointers. The main source of inspiration is here.

Preparations

See for more detail here

  • Install an Oracle database. The database can be picky in required libraries. This is out of scope for this blog post.
  • Install Oracle JDK 8. WebLogic is not certified for OpenJDK.
  • Install WebLogic
  • Install WebLogic FMW Infrastructure
  • Use the RCU to create required schema's




  • Install Oracle Forms / Reports
  • Create a new domain (using config.sh)
    Target the AdminServer to the correct machine


Some challenges

The above, although requires quite some work, is not difficult. The below part took me some time to figure out.

Multicast

Error: REP-51002: Bind to Reports Server failed

Reports uses multicast by default. When installing on Oracle Linux, you need to configure your firewall to allow this. I was running in a VM so just disabled the firewall like described here.

sudo systemctl disable firewalld
sudo systemctl stop firewalld

Attempts to allow multicast requests by correctly configuring the firewall such as described here have not succeeded. If you want to (not required) you can configure multicast to use a specific interface. This allows VMs to communicate with each other and makes monitoring multicast requests easy. See here.

JPS

Error: Jps startup failed

See Oracle Support Doc ID 2233555.1. Oracle Reports requires installation of JCE, Java Cryptography Extension. No issue there since you can download it here. What they don't tell you though is that WebLogic uses an included JRE together with the JDK which was specified during installation. Thus you need to enable JCE in 2 locations. For for example JDK8u201 you can specify in java.security crypto.policy = unlimited. For the included JRE (8u131 for WebLogic 12.2.1.3) you need to copy the JAR files from the JCE download to ORACLE_HOME/oracle_common/jdk/jre/lib/security.

Starting the server

Don't forget to first create a tools and server component.

connect('weblogic','Welcome01','localhost:7001')
createReportsToolsInstance(instanceName='reptools1',machine='AdminServerMachine')
createReportsServerInstance(instanceName='my_repsrv',machine='AdminServerMachine')

And start the server component
/home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin/startComponent.sh my_repsrv

You can check if the server is working correctly in several ways. rwdiag is useful. The nodemanager logs also provide some hints and of course the managed server and component logs. A restart loop is regular when you're just starting out with this product.

Logging in

Reports uses OPSS by default. If you want to login, you need to assign application roles to users.


Now you can access URL's like http://localhost:9002/reports/rwservlet/showenv?server=my_repsrv

Starting Reports

I will not go into details on how you can actually create and run a report, but you can supply the database, database user, password, path of a report and output in the URL such as:

http://localhost:9002/reports/rwservlet?report=/home/oracle/reps/test.rdf&destype=file&desname=/home/oracle/reps/output.pdf?p_jdbcpds=system/Welcome01@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SID=XE)))

Thus security might be something to carefully look at.

No comments:

Post a Comment