Managing multiple Presentation Services on the same Unix box
September 11th, 2007 by Borkur Steingrimsson
As I had mentioned, I wanted to write up a bit on how to go about setting up multiple Oracle BI presentation services, each configured to access a different repository file (RPD) running on the BI Server. The thing is that you can easily set up the BI server so that it manages more than one RPD file. This is done by adding lines in the NQSConfig.ini fil, in the Repository section:
[ REPOSITORY ]
Star = paint.rpd, DEFAULT;
SH = sh.rpd;
If both the RPD files exist in the repository directory, <ORACLE BI>/server/Repository/ , then the server will load all the listed repositories on startup. However, the default installed Presentation Service will only access the DEFAULT marked repository and any request made to the BI Server will be routed to the Star RPD. In order to take advantage of a single BI server running multiple repositories we need to install a presentation service for each repository. These services do not have to be running on the same machine, nor on the same machine as the BI Server.
- Install just the presentation service software in a new home, choosing just the presentation service.
- Modify the ODBC connection that got created during the installation so that it points to the BI server you already have and change the default repository to use SH (or what ever repository you have in mind). Also, notice that the port of the BI server can be changed, if you have set your BI server to run on a non-default port. Edit the file <ORACLE BI DATA>/setup/odbc.ini and set the parameter ServerMachine=<BI server hostname> and Repository=SH.
- Change the port of the presentation service to use a free port by editing the <ORACLE BI DATA>/web/config/instanceconfig.xml file. I have chosen to use port 9712 instead of the default 9710. Add the following line below the<DNS>: <Listener port=”9712″ />
- Next you need to change the deployed web application to point to the correct host:port of the new presentation service. What I have chosen to do is to have one application server with multiple versions of the analytics.war file deployed. Each deployment points to each presentation service I run, with different URL.After you deploy the WAR file, edit the web.xml file that can be found on the application server (CONTAINER HOME/applications/analytics/analytics/WEB-INF/web.xml) and change the parameters oracle.bi.presentation.sawserver.Host to the BI server hostname and oracle.bi.presentation.sawserver.Port to 9712
- Restart the presentation service and the web application
- Repeat steps 1 to 5 for each repository you wish to expose choosing a new presentation service port every time.
I hope I didn’t forget anything here, if so I will maintain this post as time goes by.


October 9th, 2007 at 4:39 am
Hi,
Do you know if the step below is possible in WIndows environment? THanks!
1. Install just the presentation service software in a new home, choosing just the presentation service.
October 9th, 2007 at 8:52 am
Hi Duc
Alas, I have not tried this on a windows box. I do believe it might be a little more involved as the windows services that get installed might cause you some problems. But if you can’t select a new installation type, you could try to remove access to the already existing BI directories from oracle user and try again. This might lead the BI installer to think you don’t have an existing installation and allow you to go ahead with a new installation.
Borkur
November 1st, 2007 at 2:24 am
Hi Borkur,
I have finished one complete OBIEE install on my Solaris box. I am attempting to install an additional OBI Presenation Server on the same box to allow for me to access an additional repository.
My issue is that when I start going through the install I am unable to change the default installation directory to the location where I want my second presentation server to reside.
I am running setup.sh in console mode.
Thanks for any help you are able to provide,
Tim
November 1st, 2007 at 6:45 am
Tim,
you can try an fool the installer in to thinking that there isn’t an existing installation on your box: set the access rights to 000 and try starting the installer:
chmod 000 ORACLEBI
chmod 000 ORACLEBI_DATA
That might do the trick
Borkur
November 7th, 2007 at 11:53 pm
That worked like a charm.
Thanks!
November 9th, 2007 at 9:18 am
Hello Borkur,
It’s me again. Sorry for all the questions, but I’m a developer currently playing the role of an OBIEE admin…..
In step 4 above you mention having one application server with multiple versions of the analytics.war file deployed. How do you create a multiple analytics.war files?
Just to clarify, all I need for 2 different presentation instances is one OCJ4 service running, one BI service running and 2 presentation services running, correct?
Once again I thank you in advance for any help you can provide,
Tim
November 9th, 2007 at 10:45 am
Tim,
you are right about the setup.
In order to get the second war file set up, you log in to the application server administration interface and redeploy the file, making sure you deploy it to a different web alias, e.g. analytics_dev/ and then you need to change the default server:port attributes in the web config file (I can’t remember the exact filename, but I think you find it in the WEB_INF folder under the je22/applications/analytics_dev/ folder after you deploy the war file).
Good luck :)
November 12th, 2007 at 7:48 am
Hi Borkur, I have problem configuring LDAP in the Admin tool for Microsoft Active directory.
getting error with Bind DN. How should I confgiure this? Am I right to say that I will also
need to check the checkbox for ADSI in Advanced tab?
November 13th, 2007 at 12:19 am
It’s me again.
Once I’m in the application server administration interface and begin the redeploy process how do I define a different web alias?
Is there something in the Application Attributes or Deployment settings that I’m missing?
It seems that no matter what I try I end up only creating the default analytics.war file over and over again.
Once again thanks in advance for any help you are able to provide.
-Tim
November 13th, 2007 at 2:52 pm
Tim,
I just tried this on a local standalone OC4J.
After selecting the analytics.war file, I filled in the following in the Application Attributes step:
Application Name analytics_test
Parent Application default
Bind Web Module to Site default-web-site
Context Root analytics_test
and then hit Deploy. The following shows you the deployment log:
[Nov 13, 2007 1:48:09 PM] Application Deployer for analytics_test STARTS.
[Nov 13, 2007 1:48:09 PM] Copy the archive to C:\OraPkg\OracleBIEE\oc4j_bi\j2ee\home\applications\analytics_test.ear
[Nov 13, 2007 1:48:09 PM] Initialize C:\OraPkg\OracleBIEE\oc4j_bi\j2ee\home\applications\analytics_test.ear begins…
[Nov 13, 2007 1:48:09 PM] Unpacking analytics_test.ear
[Nov 13, 2007 1:48:10 PM] Done unpacking analytics_test.ear
[Nov 13, 2007 1:48:10 PM] Unpacking analytics.war
[Nov 13, 2007 1:49:07 PM] Done unpacking analytics.war
[Nov 13, 2007 1:49:07 PM] Initialize C:\OraPkg\OracleBIEE\oc4j_bi\j2ee\home\applications\analytics_test.ear ends…
[Nov 13, 2007 1:49:07 PM] Starting application : analytics_test
[Nov 13, 2007 1:49:07 PM] Initializing ClassLoader(s)
[Nov 13, 2007 1:49:07 PM] Initializing EJB container
[Nov 13, 2007 1:49:07 PM] Loading connector(s)
[Nov 13, 2007 1:49:08 PM] Starting up resource adapters
[Nov 13, 2007 1:49:08 PM] Initializing EJB sessions
[Nov 13, 2007 1:49:08 PM] Committing ClassLoader(s)
[Nov 13, 2007 1:49:08 PM] Initialize analytics begins…
[Nov 13, 2007 1:49:08 PM] Initialize analytics ends…
[Nov 13, 2007 1:49:08 PM] Started application : analytics_test
[Nov 13, 2007 1:49:08 PM] Binding web application(s) to site default-web-site begins…
[Nov 13, 2007 1:49:08 PM] Binding analytics web-module for application analytics_test to site default-web-site under context root analytics_test
[Nov 13, 2007 1:49:09 PM] Binding web application(s) to site default-web-site ends…
[Nov 13, 2007 1:49:09 PM] Application Deployer for analytics_test COMPLETES. Operation time: 60141 msecs
After this I can successfully navigate to: http://localhost:9704/analytics_test and continue playing. Edit the C:\OraPkg\OracleBIEE\oc4j_bi\j2ee\home\applications\analytics_test\analytics\WEB-INF\web.xml file to make this deployment point to another instance of your presentation service.
cheers,
Borkur
November 15th, 2007 at 1:17 pm
Hello,
There is a similar post about windows setup “The deployment of several BI Presentation Services on the same machine windows” on http://demyanov.ru/?p=70
In case you don’t read Russian for some reason, the translation is here:
http://translate.google.com/translate?u=http%3A%2F%2Fdemyanov.ru%2F%3Fp%3D70&langpair=ru%7Cen&hl=en&ie=UTF8
Sorry, didn’t try it myself yet.
Sincerely,
Boris
November 17th, 2007 at 12:03 am
Hello,
With your help I have been able to bring up both presentation servers that point to two different repositories.
My current problem is that it seems I can only bring up one presentation server at a time. If I try to bring up presentation B while A is running I get the following message:
[oracle@www]$ Oracle BI Presentation Services is already running.
I was having port conflicts due to both the java listening ports being the default 9810, so I changed the java listening port on presentation server B to 9812 by altering config.xml at /web/javahost/config and that error has gone away. This is what the port error looked like in javahost.out.log:
Nov 16, 2007 2:01:57 PM Acceptor listen
SEVERE: Server socket was closed.
java.net.BindException: Address already in use
INFO: Stopped listening socket port
Nov 16, 2007 2:01:57 PM Application listen
INFO: Closed open sockets
*************************************************
I have changed my B Presentation Server instanceconfig.xml to 9712:
AnalyticsWeb
*************************************************
Is there something I have overlooked or is it even possible to have two different presentation servers running at the same time on the same server.
Thanks again,
Tim
November 17th, 2007 at 1:14 am
Tim,
Good to hear that you are managing to get your rig set up.
Basically what is happening is that the startup script isn’t happy with the fact that there is already a presentation server running.
Try starting your second presentation server with the following:
cd ORACLEBIHOME/setup
nohup ./sawserver.sh &
This should take care of it.
November 21st, 2007 at 1:25 am
Worked Perfectly! Thanks so much!
-Tim
November 21st, 2007 at 10:55 am
Hello Duc / All,
Did somebody find a way to install several Presentation Servers in Windows environment?
Thanks
December 13th, 2007 at 8:13 pm
Borkur,
Thank you for this info on managing multiple Presentations on the same Unix box. My employer had me install OBIEE for a EPM project on Solaris/Windows. The architecute is mixed to say the least and is as followed: Admin tools on a Windows 2003 server of course, BI Server on the same unix box as Oracle 10g, Tuxedo 9.1 and the DataStage Server – all will be used for the DW. This box has port access to other unix boxes that host the HR and Financial datasources for the DW. The Presentation Services is on another unix box that host an Tuxedo 9.1 App Server and we deployed the analytics.war file on another unix box that host WebLogic 9.2. Oh, I also installed and configured BI Publisher on Presentation Services box. With all that work of course they postponed the DW project for a year+ and I am now trying to convince them that we could use OBIEE right now with the existing HR and Finaincial OLTP datasources. I plan to leave the existing EPM repository and demo datasource setup in place and then create two more repositories(with your guidence above) for each OLTP datasource. So, thanks again for the tips and please be for warned you may hear back from me.
Best regards.
Ryan
December 18th, 2007 at 11:37 am
Hi All,
Have any one tried to install multiple presentation services on a single windows machine. I tried to follow the points given by below link
http://translate.google.com/translate?u=http%3A%2F%2Fdemyanov.ru%2F%3Fp%3D70&langpair=ru%7Cen&hl=en&ie=UTF8
but it didnot clearly mention how to install multiple Presentation services on single system.
Can any one please help me on this
Thanks in advance
Revathi
December 26th, 2007 at 5:02 pm
Hello Borkur,
I have followed your instructions to setup single BI Server, single OC4J instance with multiply-deployed analytics.war files, and multiple BI Presentation Servers all running on single Linux box which is our development environment. Version of OBI EE I am using is 10.1.3.3.0. I have deployed four rpd files in BI Server and edited NQSConfig.INI per these four rpd files. One rpd is specified as default. What I see when I go to my second, third, and/or fourth BI presentation server url is I can login, but clicking Snswers always points me to the first rpd. I fear I missed something subtle in these steps. Do you have an inventory of config files and their settings that need to be adjusted to make this setup work completely?
Thanks, Zach.
December 26th, 2007 at 5:22 pm
Hello Zach,
in order for the presentation service to access a different RPD than the default one, you must set the Oracle BI Server ODBC connection string to point to the correct repository on the BI server. In the odbc.ini file, make sure you define a connection that points to the correct server, port and repository, e.g.:
[AnalyticsWeb_training]Driver=/app/oracle/product/OBIEE_10132/OracleBI_training/server/Bin/libnqsodbc.sl
Description=Oracle BI Server
ServerMachine=obi-training
Repository=SH
Catalog=sh
UID=
PWD=
Port=9703
Then in the instanceconfig.xml file for the presentation service you must point your services to use this odbc DSN:
where 9711 is the port I want my training environment to be.
Hope this helps,
Borkur
December 26th, 2007 at 5:38 pm
Hello Borkur,
Yes! Now I see where this ties odbc.ini in each presentation server home to the instanceconfig.xml DSN name. I adjusted my dev config files to synch up DSN names and now it is working perfectly. This way our four developers can work independently and I do not have to merge their changes into single rpd plus we can review their dashboard reporting progress.
Thank you so much, Zach
January 24th, 2008 at 3:18 pm
Hi, Does OBIEE use 1 odbc.ini when there are multiple presentation servers
or is there 1 per each instance of the Presentation?
January 24th, 2008 at 3:30 pm
Hello Ramona
Each PS instance has it’s own odbc.ini file, located in the BIHOME/setup/ directory.
Borkur
January 24th, 2008 at 3:35 pm
Bokur, thank you very much. I think this is the issue.
February 14th, 2008 at 3:23 pm
Hi,
We have created multiple Presentation layers in a Windows environment. Now we want to execute iBots, from all Presentation Services. In order to do that, we updated the configuration of the BI Scheduler service in order to include the multiple server:port as follows:
localhost:9710,localhost:9711,localhos:9712
However the iBots fail in about 50% of executions. The error we get is:
[nQSError: 77006] Oracle BI Presentation Server Error: A fatal error occurred while processing the request. The server responded with: Path not found (/users/user1/_ibots/Deliver Employee View)
We checked in the proper Catalog and the iBot exists. As I said, about 50% of the executions are correct.
Did anyone experience this issue? Was anyone able to resolve it?
Thank you in advance,
Alex
April 28th, 2008 at 6:50 pm
[...] server (if it’s a beefy Unix box, for example). However this is a fairly complex task (see this blog posting by Borkur) and it’s usually easier to have a simple pairing of one BI Server, one [...]