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