Saturday, 12 March 2011

Installing OBIEE on a Solaris box


There are 2 kinds of possible installations
a.       Basic
b.      Advanced
Assumptions
a.       We are doing a heterogeneous installation with the OBIEE server on a solaris box ad client on a windows box
b.      We are using the basic installation type with Sun Java Application server
c.       We are using the OCI driver to connect to the web servers (i.e. we will have to chose OCI in the drop down of connection pool in the OBIEE repository)
d.      Both the presentation server and the OBIEE server are installed on the same box
Pre requisites
a.       Install the web server
Web servers are essentially http servers which will be used to cater requests on the OBIEE presentation server through the portal. We will get into the details later on
The type of OBIEE installation you will do depends on the web server you choose. Advanced installation is only possible if you have chosen Oracle Application Server 10.1.3.1.0 or later.

Any of the available web servers like (Apache, Tomcat, Oracle Application Server and Sun Java Application Server etc) can be used. Please refer to the documentation of the web server to install it (Installation of web server is out of the scope of this post)

If you are installing using Oracle Application Server then you can go for an advanced installation otherwise choose a basic installation
i.         Advanced option helps you install Oracle single sign on server and let you pick the components which you want to install

Make sure that the temporary directory is set for the web server. This directory is used by web servers to generate a servlet for the jsp’s used in the OBIEE application
(Jsp’s are java server pages. Every time a jsp is accessed on the portal, a temporary servlet is generated for it which is finally executed. If this temp directory is not set then exceptions appear in the Presentation Services server logs)
b.      Kernel level parameters should be set to suit the web servers
c.       You should have the required privileges on OS, DB and network for this installation to work
i.         OS privileges will be required for running the install scripts and for giving write access on the jdk directory and sub directories
ii.       DB privileges will be required for installation of scheduler tables (Scheduler is an optional component and its configuration will be discussed in a separate post)
iii.      Network privileges are required to grant access on the web server ports so that the portal is accessible from the client machines. Since we are assuming that both the web server and the OBIEE server will be installed on the same machine so communication between these 2 components will not be a problem
d.      Jdk should be installed and make the user or user group permissions writable for the user installing Oracle Business Intelligence (for jdk)
e.      A shared mount point is required in case we are installing a clustered server
f.        For running Oracle BI processes, the file handle limit must be at least 10240 or unlimited (ulimit: Specifies the maximum number of open files supported.)
g.       Oracle client must be installed and ORACLE_HOME environment variable for the OS user installing OBIEE should be set in the .profile
h.      Make sure that /dev/random and /dev/urandom are available to the OS user installing OBIEE. These pseudo random-number generator devices are required by the presentation server.
i.         Run UnixChk.sh. This is a OS script that checks for some of the above pre requisites like
i.         The memory requirements (RAM etc)
ii.       File handler limit
iii.      Write access for the jdk directory and its sub directories
j.        Make sure that TCP/IP protocol is allowed by all firewalls or proxy servers in use. The default TCP/IP listening port for Oracle BI Presentation Services is 9710

If all the above pre – requisites are taken care of then the hard part is already done

You just have to set your environment variables. One can get an idea of the environment variables to be set in the user.sh file located in OracleBI_HOME/setup/.
Execute ./run-sa.sh script or ./run-sa.sh start64 depending upon the type of processor (The later command should be used if you are deploying on a 64-bit processor)
There are a series of simple steps asking for installing OBIEE. You will be asked for a few options, during the installation which include the installation type (Basic and Advanced), discussed above.

If the above steps are executed religiously then one would have at least installed the most simplest OBIEE application i.e. the one without clustering, without configuring BI Publisher, using Sun web server, OCI driver and with the OBIEE server, the presentation server and the web server all on the same machine and again each of these using the default ports. For more secured applications one would want to change more than one thing in the above properties

A few more steps will come into play if the web server is configured to use a different TCP/IP port other than 9710 or if the web server and Oracle BI presentation services are configured to run on different machines

a.       Editing web.xml file to reconfigure the Oracle BI Presentation Services location and listening port
<servlet>
<servlet-name>SAWBridge</servlet-name>
<servlet-class>com.siebel.analytics.web.SAWBridge</servlet-class>
<init-param>
<param-name>oracle.bi.presentation.sawserver.Host</param-name>
<param-value>localhost</param-value>
</init-param>
<init-param>
<param-name>oracle.bi.presentation.sawserver.Port</param-name>
<param-value>9710</param-value>
</init-param>
</servlet>
Change the ‘localhost’ value to the ip address of the server which has presentation services installed. Again access on port 9710 should be there on this machine from the machine which hosts the web server
Change ‘9710’ to the value on which TCP/IP service works
b.      Editing the war package: After the installation script is executed and the installation is complete with the required options. A file called ‘analytics.war’ and ‘analytics.ear’ is generated in the <Path where OBIEE is installed>/OracleBI/web directory

‘war’ stands for web archive and ‘ear’ stand for enterprise archive. These files are like an OBIEE plugin in the web server
War is actually a subset of ear. War package contains the file called web.xml which we had changed above. So if this file has been changed then the war package should be compiled again by executing the below command in <OracleBIHome>\OracleBI\web

                jar -cf analytics.war -C app .


I have explained the process of changing web.xml file in the following post
http://obiee-oracledb.blogspot.com/2011/03/changing-default-url-of-obiee.html

I will try to come up with extensions of this topic where I would try to discuss the configuration of cluster controller, OBIEE scheduler and BI Publisher






2 comments:

T Kameswara Prasad said...

Hi Vishal,

Is there a step by step procedure for migrating OBIEE from Solaris to Linux environment...? I have gone through various Oracle Docs but no luck.

Thank you,
Prasad

Vishal Pathak said...

Create an SR in Oracle Support and they might be able to help you.