In 10g half your installation job is done for you; unix scripts and windows services all delivered out of the box, and pretty much working too!
In 11g you have to do the hard work yourself :(.
Firstly, you may be wondering why Oracle did not provide windows services already installed for you. ME too!
Anyway, the point is you should create the services so that your OBIEE system stays up and running when you either log off the server, or your RDC is disconnected (normally due to IT time limits).
Now I am no Windows techie (nor Unix for that matter), so I would not know where to begin on creating a windows service (other than my friend Google). Luckily I don’t have to, the Weblogic install includes a neat utility that does the techie bit for us, we just have to know how to call the utility.
Note that this article is based upon a real install I did last month for a client, on a Win 2008 32bit VM. This is not just based upon a theory found in some Oracle documentation, or stealing other peoples blog postings.
Step-by-Step
The main tasks are:
- Stop your obiee system (of course!)
- Create a boot file (for the passwords)
- Create the command files (that will be used to create and update the services)
- Create the utility files (that call the Weblogic Utility.)
- Run the commands created in step 3.
1. Stop OBIEE 11g
This includes:
- BI Applications
- Weblogic Managed servers
- Weblogic Admin Server
- Windows services (Node manager and OPM)
2. Boot File
In order for the services to start without user intervention then you need to store the username and password in a file on the server. It’s a simple file with: username and password on two lines.
username=weblogic
password=mypwdhere
See example here : Shiva
3. Command Files
The first command file create the Admin Server service, the second creates a BI Server service, and finally a batch file to update the existing Node manager service.
Admin Server Script
@rem *** Install the BI Windows services @rem Created by: Adrian Ward @rem Created March 7th 2011 @rem Includes a delay tag @rem Calls the beasvc.exe @rem *************************************************************
@echo off SETLOCAL set MW_HOME=C:OracleFMW set OPMN_PORT=9500 set wls.host=hostnamehere set wls.admin.port=7001 set wls.mgd.port=9704 set wls.mgd.name=bi_server1 set BI_URL=http://%wls.host%:%wls.mgd.port%/analytics set JAVA_HOME=C:OracleFMWOracle_BI1jdk set PRODUCTION_MODE=true set DOMAIN_HOME=%MW_HOME%user_projectsdomainsbifoundation_domain set WLS_HOME=%MW_HOME%wlserver_10.3 set INSTANCE_HOME=%MW_HOME%instancesinstance1 set ORACLE_BI_HOME=%MW_HOME%Oracle_BI1 set ANT_HOME=%MW_HOME%modulesorg.apache.ant_1.7.1 set DOMAIN_NAME=bifoundation_domain set USERDOMAIN_HOME=%MW_HOME%user_projectsdomainsbifoundation_domain set SERVER_NAME=AdminServer
Call "C:OracleFMWuser_projectsdomainsbifoundation_domainbinsetDomainEnv.cmd" Call "C:OracleFMWwlserver_10.3serverbininstallSvc_Admin.cmd" ENDLOCAL
The above script sets the variables you need, then calls a couple of other command files (see below what they do)
BI Server 1
@rem *** Install the BI Windows services @rem Created by: Adrian Ward @rem Created March 7th 2011 @rem Includes a delay tag @rem Calls the beasvc.exe @rem *************************************************************** @echo off SETLOCAL set MW_HOME=C:OracleFMW set JAVA_HOME=C:OracleFMWOracle_BI1jdk set PRODUCTION_MODE=true set DOMAIN_HOME=%MW_HOME%user_projectsdomainsbifoundation_domain set WLS_HOME=%MW_HOME%wlserver_10.3 set INSTANCE_HOME=%MW_HOME%instancesinstance1 set ORACLE_BI_HOME=%MW_HOME%Oracle_BI1 set ANT_HOME=%MW_HOME%modulesorg.apache.ant_1.7.1 set DOMAIN_NAME=bifoundation_domain set USERDOMAIN_HOME=C:OracleFMWuser_projectsdomainsbifoundation_domain set SERVER_NAME=bi_server1 set ADMIN_URL=http://localhost:7001 Call "C:OracleFMWuser_projectsdomainsbifoundation_domainbinsetDomainEnv.cmd" Call "C:OracleFMWwlserver_10.3serverbininstallSvc_BIServer.cmd" ENDLOCAL
Again this command file sets the variables for managed BI Server service, then calls the command file which calls the create windows service utility.
Update Service Batch Command
In order to run all the services, and in the right order, we need to update the existing service (i.e. the one that Oracle did provide). This is done by using the sc command (yes my friend Google helped here!).
sc config OracleProcessManager_instance1 depend= "Oracle bi_server1" start= auto
4. Create Utility Files
There is a command file already in place that calls the utility that create the service (called InstallSvc.cmd). Some documents and blogs suggest that you update this existing file, run it for the Admin Server service, then update the file again and run it for the BI Server service. I find it’s much easier to create the exact files you need from a copy of the existing Svc command file, then you can package them all up and can be run by the Sys admin people in any installation, including production.
So, from the above code listings you can se that we call installSvc_Admin.cmd and installSvc_BIServer.cmd. These are very similar except for the command line which has a subtle difference in the options. This differences are only in the last section where it calls the beasvc utility.
So, take a copy of the existing InstallSvc.cmd and update the last section as below:
installSvc_Admin.cmd
rem *** Install the service
“%WL_HOME%serverbinbeasvc” -install -svcname:”Oracle AdminServer” -depend:”Oracle WebLogic NodeManager (C_Oracle_FMW_wlserver_10.3)” -delay:240000 -javahome:”%JAVA_HOME%” -execdir:”%USERDOMAIN_HOME%” -maxconnectretries:”%MAX_CONNECT_RETRIES%” -host:”%HOST%” -port:”%PORT%” -extrapath:”%EXTRAPATH%” -password:”%WLS_PW%” -cmdline:%CMDLINE% -log:”CC:OracleFMWuser_projectsdomainsbifoundation_domainserversAdminServerlogswinsrvc_AdminServer-stdout.txt”
installSvc_BIServer.cmd
rem *** Install the service
“%WL_HOME%serverbinbeasvc” -install -svcname:”Oracle bi_server1″ -depend:”Oracle AdminServer” -delay:180000 -javahome:”%JAVA_HOME%” -execdir:”%USERDOMAIN_HOME%” -maxconnectretries:”%MAX_CONNECT_RETRIES%” -host:”%HOST%” -port:”%PORT%” -extrapath:”%EXTRAPATH%” -password:”%WLS_PW%” -cmdline:%CMDLINE% -log:”C:OracleFMWuser_projectsdomainsbifoundation_domainserversbi_server1logswinsrvc_bi_server1-stdout.txt”
Notice that the simple differences are in the -depend, – svcname, -log and -delay options.
Now you have created the files you can call them and your wndows services will appear!
Good luck.