In mine case I had Windows 2003 x86 SP2 (source server) with OBIEE 10.3.4.1 installation in standard locations:
- c:\OracleBI
- c:\OracleBIData
I will assume that Linux is installed with non required but nice tools:
vnceserver
Setup VNC server on CentOS: http://wiki.centos.org/HowTos/VNC-Server Enable on server (GUI part) http://bobpeers.com/linux/vnc Desktop > Preferences > Remote Desktop For windows vnc viewer: http://www.realvnc.com/cgi-bin/download.cgi
rlwrap
as root: yum install readline-devel Download the latest version of GNU readline from http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html At the time of writing, this is readline-6.0.tar.gz Unpack the gzipped tar file under /tmp cd /tmp tar -zxvf readline-6.0.tar.gz Change to the directory this creates and run configure: cd readline-6.0 ./configure If you do not have write access to the /usr/local/ hierarchy, then you can install the files somewhere else: ./configure --prefix=/home/my-user-name/packages Now build the readline library make and install (become superuser first if installing under /usr/local) make install --------------------------------- install rlwrap: gunzip rlwrap*.gz tar -xvf rlwrap*.tar cd rlwrap* ./configure make make check make install -----------------------------------The process will be done in next steps:
- Source server backup data
- Setup install environment on target server
- Install JAVA on target server
- Install OBI EE on target server
- Install Oracle client
- Install OBI EE client side on Windows host
- Fix some bugs in new OBI EE installation
- Setup BI Publisher
- Apply backup files/settings to target server
- Add additional fonts
- Create OBI start/stop script (boot start) on target server
Source server backup data
On source server, of next two source directories:- make zip files of catalog directory (in mine case "c:\OracleBIData\web\catalog\samplesales")
- backup repository file (in mine case c:\OracleBI\server\Repository\AZM.rpd)
- C:\OracleBI\xmlp\XMLP\Users
Beside that, according Oracle documentation chapter "Backing Up Business Intelligence Folders and Files", recommended backup of some other files. If you have some other custom changes (some terms change to something els i.e. "SUM" to "Total sum" or some translations to local language) find those files to edit them on target server as well.
Setup install environment on target server
In mince case I'll install OBIEE under oracle user which belongs to dba group.groupadd -G dba:501 useradd -g dba oracle passwd oracleAfter creation, login once as oracle to create env files. Then append then to the ".bash_profile" of the oracle user important stuff. here is an example Add entries in .bash_profile (for Oracle 10g and OBIEE 10g) so complete profile for oracle user looks like:
# .bash_profile # # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # rlwrap #--------------------------- alias sql='rlwrap sqlplus' alias rlrman='rlwrap rman' #=========================== # User specific environment and general #--------------------------- if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi TMP=/var/tmp export TMP TMPDIR=$TMP export TMPDIR TEMP=$TMP; export TEMP # Local Binary PATH=$PATH:$HOME/bin export PATH #=========================== # Oracle general Parameters #--------------------------- ORACLE_BASE=/oracle export ORACLE_BASE # Java Home JAVA_HOME=/usr/java/jdk1.7.0_02 export JAVA_HOME #=========================== # Oracle BIEE Parameters #--------------------------- OBI_HOME=/oracle/product/obi10g/OracleBI export OBI_HOME OBI_DATA_HOME=/oracle/product/obi10g/OracleBIData export OBI_DATA_HOME # OBI Setup Script PATH=$PATH:$OBI_HOME/setup export PATH #=========================== # Oracle DB Parameters #--------------------------- ORACLE_HOME=/oracle/client/10g export ORACLE_HOME TNS_ADMIN=/oracle/client/10g/network/admin export TNS_ADMIN PATH=$ORACLE_HOME/bin:$PATH export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH #===========================
Install JAVA on target server
In this case I have decided to install latest java SE 7u2 version. However SE 6 is far enough,- Download jdk-7-linux-i586.rpm from page
- cd [download directory]
- rpm -ivh jdk-7-linux-i586.rpm
- cd /etc/alternatives/java
- alternatives --config java
- alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_02 3
- alternatives --config java
[root@app-srv ~]# alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java * 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java + 3 /usr/java/jdk1.7.0_02/bin/java Enter to keep the current selection[+], or type selection number: 3 [root@app-srv ~]# java -version java version "1.7.0_02" Java(TM) SE Runtime Environment (build 1.7.0_02-b13) Java HotSpot(TM) Server VM (build 22.0-b10, mixed mode) [root@app-srv ~]#
Install OBI EE on target server
as root:mkdir -p $OBI_HOME chown -R oracle:dba $OBI_HOME chmod -R 775 $OBI_DATA_HOME mkdir -p $OBI_DATA_HOME chown -R oracle:dba $OBI_DATA_HOME chmod -R 775 $OBI_DATA_HOMEas root
Make sure that /dev/random and /dev/urandom are available
[root@oel11g ~]# cd /dev [root@oel11g dev]# ls *random random urandomas root
chmod -R 777 $JAVA_HOMEas oracle
change directory to the installation directory.
./setup.sh -consoleas root
chmod -R 755 $JAVA_HOMEChange mem preferences:
vi $OBI_HOME/oc4j_bi/bin/oc4jand change -Xmx512m to something more "serious". In mine case 756M was quite enough.
JVMARGS="-Djava.library.path=/usr/local/OracleBI/server/Bin:/usr/local/OracleBI/web/bin -DSAROOTDIR=/usr/local/OracleBI -DSADATADIR=/usr/local/OracleBIData -XX:MaxPermSize=128m -Xmx512m $OC4J_JVM_ARGS" else JVMARGS="-Djava.library.path=/usr/local/OracleBI/server/Bin:/usr/local/OracleBI/web/bin -DSAROOTDIR=/usr/local/OracleBI -DSADATADIR=/usr/local/OracleBIData -XX:MaxPermSize=128m -Xmx756m"
Install Oracle client
OBIEE must have 10g client installed. In this case Administrator type of installation is the best option.as oracle
install oracle client (full)
./runInstaller -ignoreSysPrereqsBounce OBI services. This how correct services should look like (this doesn't mean that OBI is running correctly):
[oracle@app-srv ~]$ ps -ef|grep [j]ava oracle 29400 29398 0 21:30 pts/1 00:00:12 /usr/java/jdk1.7.0_02/bin/java -Djava.library.path=/oracle/product/obi10g/OracleBI/server/Bin:/oracle/product/obi10g/OracleBI/web/bin -DSAROOTDIR=/oracle/product/obi10g/OracleBI -DSADATADIR=/oracle/product/obi10g/OracleBIData -XX:MaxPermSize=128m -Xmx1024m -jar /oracle/product/obi10g/OracleBI/oc4j_bi/j2ee/home/oc4j.jar -config /oracle/product/obi10g/OracleBI/oc4j_bi/j2ee/home/config/server.xml -userThreads oracle 29590 1 0 21:32 pts/1 00:00:02 /usr/java/jdk1.7.0_02/bin/java -classpath /oracle/product/obi10g/OracleBI/web/javahost/lib/core/sautils.jar:/oracle/product/obi10g/OracleBI/web/javahost/lib/core/sawconnect.jar:/oracle/product/obi10g/OracleBI/web/javahost/lib/core/javahost.jar:/oracle/product/obi10g/OracleBI/web/javahost/lib/core/xalan-2.4.1.jar:/oracle/product/obi10g/OracleBI/web/javahost/lib/core/xercesImpl-2.6.2.jar:/oracle/product/obi10g/OracleBI/web/javahost/lib/core/xml-apis-2.6.2.jar -Xms128M -Xmx256M -Djava.awt.headless=true -Djava.util.logging.config.file=/oracle/product/obi10g/OracleBI/web/javahost/config/logconfig.txt -Doracle.bi.presentation.coreconfigdir=/oracle/product/obi10g/OracleBI/web/config -Doracle.bi.presentation.dataconfigdir=/oracle/product/obi10g/OracleBIData/web/config -Doracle.bi.rootdir=/oracle/product/obi10g/OracleBI -Doracle.bi.presentation.rootdir=/oracle/product/obi10g/OracleBI/web -Doracle.bi.tempdir=/oracle/product/obi10g/OracleBIData/tmp -Doracle.bi.javahostdir=/oracle/product/obi10g/OracleBI/web/javahost -Doracle.bi.presentation.cordaroot=/oracle/product/obi10g/OracleBI/corda50 com.siebel.analytics.javahost.standalone.Main /Config /oracle/product/obi10g/OracleBI/web/javahost/config/config.xml [oracle@app-srv ~]$
Install OBI EE client side on Windows host
Because in OBIEE 10g there is no Admin Tool GUI part, this has to be installed on any Windows box. If you are upgrading, open .rpd (AZM.rpd) file with new Admin Tool and just save it under same name. Open and save is the only thing you need to do!Transfer new rpd to $OBI_HOME/server/Repository directory on target server.
Fix some bugs in new OBI EE installation
There are several known bugs which must be fixed before continue installation. If you try to login to Answers through browser:http://app-srv:9704/analytics/saw.dll?Answers
You'll get message "Unable to login"
This is because if you look in NQServer.log you'll find a cause:
tail /oracle/product/obi10g/OracleBI/server/Log/NQServer.log [nQSError: 47007] Invalid repository file: /oracle/product/obi10g/OracleBI/server/Repository/samplesales.rpd.On Linux there is no preinstalled repository file (.rpd) (on Windows there is!).
[oracle@app-srv ~]$ ls -la $OBI_HOME/server/Repository total 8 drwxr-x--- 2 oracle dba 4096 Mar 17 20:55 . drwxr-x--- 12 oracle dba 4096 Mar 17 20:55 .. [oracle@app-srv ~]$Next is to make some changes in $OBI_HOME/server/Config/NQSConfig.INI. Before that make a bakups of all files here for your safety.
vi $OBI_HOME/server/Config/NQSConfig.INI
[ REPOSITORY ] Star = samplesales.rpd, DEFAULT;
[ REPOSITORY ] Star = AZM.rpd, DEFAULT;I reccomend to make some aditional changes in this file as well (if you are using racle OCI connection, file cache is uselles and slower then Oracle DB cache):
[ CACHE ] # Vadas 01.07.2011 ENABLE = YES; ENABLE = NO; # Vadas 01.07.2011 DATA_STORAGE_PATHS = "/usr/local/OracleBIData/cache" 500 MB; DATA_STORAGE_PATHS = "/usr/local/OracleBIData/cache" 1 MB; # Vadas 01.07.2011 MAX_ROWS_PER_CACHE_ENTRY = 100000; // 0 is unlimited size MAX_ROWS_PER_CACHE_ENTRY = 1; // 0 is unlimited size # Vadas 01.07.2011 MAX_CACHE_ENTRIES = 1000 MAX_CACHE_ENTRIES = 1;And one that is for mine country:
[ GENERAL ] # Vadas SORT_ORDER_LOCALE = "English-usa"; SORT_ORDER_LOCALE = "Croatian";Beside all, probably another error is shown in:
[oracle@app-srv Config]$ tail $OBI_DATA_HOME/web/log/sawserver.out.log saw.subsystem.security.checkAuthenticationImpl saw.threadPool saw.threads Odbc driver returned an error (SQLDriverConnectW). State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 12008] Unable to connect to port 9703 on machine LOCALHOST. [nQSError: 12010] Communication error connecting to remote end point: address = LOCALHOST; port = 9703. [nQSError: 12002] Socket communication error at call=: (Number=-1) Unknown error 4294967295 (HY000) --------------------------------------- [oracle@app-srv Config]$and is connected to previously shown problem with missing rpd.
Now it is time to unpack all files from initially backuped catalog directory. In mine case that was under samplesales directory:
cd $OBI_DATA_HOME/web/catalog/samplesales unzip samplesales.zip
bounce OBI services
If you setup all in .bashprofile (like in mine case) then you do not need edit $OBI_HOME/setup/user.sh file. Otherwise do so as stated there
If you login to Dashboard through WEB and get error like:
500 Internal Error: - servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.Then problem is with port, which is fixed as:
1. vi $OBI_HOME/oc4j_bi/j2ee/home/applications/analytics/analytics/WEB-INF/web.xml
2. Replace the port as 9703 instead of 9710
3. run next statements
run-sa.sh stop wait for 10 seconds run-saw.sh stop wait for 10 seconds run-sa.sh start run-saw.sh start.Now click on the application Dashboard. It will work fine.
If you have upgrade oc4j then do not forget to change password after first start.
[oracle@app-srv ~]$ oc4j -start Starting OC4J from /usr/local/OracleBI/oc4j_bi/j2ee/home ... Mar 16, 2012 9:28:37 PM com.evermind.server.XMLDataSourcesConfig parseRootNode INFO: Legacy datasource detected...attempting to convert to new syntax. 12/03/16 21:28:37 Set OC4J administrator's password (password text will not be displayed as it is entered) Enter password: Confirm password: The password for OC4J administrator "oc4jadmin" has been set. 12/03/16 21:29:03 The OC4J administrator "oc4jadmin" account is activated.Before making any change to next file do make a backup.
cd $OBI_DATA_HOME/web/config/ mkdir originals cp -p *.* originals
vi $OBI_DATA_HOME/web/config/instanceconfig.xml
AnalyticsWeb
1500 2500 5000000 3000 300000 2000000 AnalyticsWeb
Setup BI Publisher
When you start to setup BI publisher settings you might find next bugs (errors).Missing Admin tab in Publisher
On first use in Publisher WEB page you'll find that Admnin tab is missing.vi $OBI_HOME/xmlp/XMLP/Admin/Configuration/xmlp-server-config.xmlchange to
Superuser setting
Alse check whether you have SUPERUSER_PASSWORD and SUPERUSER_USERNAME set (Administrator in default case).Check for Administrator role
Check whether you the Administrator Role mapping is enabled there.vi $OBI_HOME/xmlp/XMLP/Admin/Security/principals.xmlIn XML Publisher (http://app-srv:9704/xmlpserver/servlet/report), under Admin tab make changes that reflect your environment:
For OCI database connection DWH check existence in $TNS_NAMES/tnsnames.ora file.
Admin>JDBC-add proper connection
Admin>Server Configuration
- System Temporary Director->/var/tmp
- Output Formats->Check all except MHTML
Admin>Runtime Configuration
- Enable multithreading->true
- Thread count-> nr of cores (4)
- Enable scalable feature of XSLT processor->True
- Enable XSLT runtime optimization->True
- CSV delimiter->TAB(\t)
Add additional fonts
If you wish to install own fonts, place them (as root) incp -p arial*.ttf $JAVA_HOME/jre/lib/fonts cd $JAVA_HOME/jre/lib/fonts chown oracle:dba arial*.ttf chmod 755 arial*.ttfAdmin>Font Mappings interface
Under RTF Templates set 4 times "Arial" for each font
Bounce OBI services and test some Answers or ready made BI Publisher report.
Create OBI start/stop script (boot start) on target server
Last, create start/stop/statu script which will run on boot as well as on demand. here is source:#!/bin/sh # # File : obiee # Purpose: Start and stop Oracle Business Intelligence 10g components # on CentOS 5.8 x86 # # Author : Damir Vadas, TEB Informatika 2012 # # cp -p obiee /etc/init.d # chmod +x /etc/init.d/obiee # ln -s /etc/init.d/obiee /etc/rc.d/rc5.d/S50obiee # ln -s /etc/init.d/obiee /etc/rc.d/rc5.d/K50obiee # ln -s /etc/init.d/obiee /home/oracle/obiee # if [ "$USER" != "oracle" ]; then OBI_HOME=/oracle/product/obi10g/OracleBI OBI_DATA_HOME=/oracle/product/obi10g/OracleBIData fi case "$1" in start) echo "Starting Oracle BI services in 3 steps ..." echo `date` echo "Pokrecem oc4j (1/3) ... Trajanje 20-ak sek" if [ "$USER" = "oracle" ]; then oc4j -start > /dev/null 2>&1 & else su - oracle -c "oc4j -start > /dev/null 2>&1 &" fi sleep 15 echo "--------------------------------------------------" echo "Pokrecem nqsserver server (2/3) ... Trajanje cca 1-1.5 minuta." if [ "$USER" = "oracle" ]; then run-sa.sh start else su - oracle -c "run-sa.sh start" fi sleep 15 echo "--------------------------------------------------" echo "Pokrecem saw server (3/3) ... Trajanje cca 1 minuta." if [ "$USER" = "oracle" ]; then run-saw.sh start else su - oracle -c "run-saw.sh start" fi sleep 15 echo "--------------------------------------------------" echo `date` ;; stop) echo `date` echo "--------------------------------------------------" echo "Spustam saw server (1/3)" if [ "$USER" = "oracle" ]; then run-saw.sh stop else su - oracle -c "run-saw.sh stop" fi tail $OBI_DATA_HOME/web/log/javahost.out.log sleep 5 echo "--------------------------------------------------" echo "Spustam nqsserver server (2/3)" if [ "$USER" = "oracle" ]; then run-sa.sh stop else su - oracle -c "run-sa.sh stop" fi sleep 15 echo "--------------------------------------------------" echo "Spustam oc4j (3/3)" if [ "$USER" = "oracle" ]; then oc4j -shutdown -port 23971 -password oc4jadmin else su - oracle -c "oc4j -shutdown -port 23971 -password oc4jadmin" fi sleep 3 kill -9 `ps auwwwx | grep [o]c4j | awk '{print $2}' | xargs` echo `date` ;; status) echo "----- JAVA proceses ------------------------------" echo `ps -ef|grep [j]ava` echo "==================================================" echo " " echo "------ NQSERVER ----------------------------------" ps -ef|grep [n]qsserver tail -n 5 $OBI_HOME/server/Log/NQServer.log echo "==================================================" echo " " echo "------ SAW SERVER --------------------------------" ps -ef|grep [s]awserver tail -n 5 $OBI_DATA_HOME/web/log/sawserver.out.log echo "==================================================" echo " " ;; *) echo "Usage: $0 start|stop|status" exit 1 ;; esac exit 0
The end
Hope this helps someone as me once...Cheers!
No comments :
Post a Comment