Wednesday, February 8, 2012

Auto Start OBIEE 11g using Windows Services


After installing OBIEE 11g in a windows environment,the server is stopped and started by using command windows.  This works fine in a Development or Testingenvironment, but in Production, this can cause serious issues. If server maintenanceis preformed or the server is restarted, OBIEE will not automatically come backup. The only way to start a windows program on start, without logging in, is byusing windows services. The following guide is set of steps we used to createand install OBIEE 11g using windows services. After the services are installed,they must be configured to start automatically after each other with delayedstartup to ensure that when one service completes, the next will start afterit. Please feel free to leave any questions or comments.


Set the following environment variables
System variable JAVA_HOME = D:\OBI11g\Oracle_BI1\jdk
System variable BI_ORACLE_HOME = D:\OBI11g\Oracle_BI1
installSvc.cmd
Take a backup of ‘installSvc.cmd’ located at ‘D:\OBI11g\wlserver_10.3\server\bin
Add the following to ‘installSvc.cmd’:
set JAVA_VM=-server
set MEM_ARGS=-Xms512m -Xmx512m -XX:MaxPermSize=512m-XX:+UseSpinning

AdministrationServer
  1. Create a command script called installAdmServer_Service.cmd.

    Open a text file and input the following lines [edit for your install]:
SETLOCAL
setDOMAIN_NAME=bifoundation_domain
setUSERDOMAIN_HOME=D:\OBI11g\user_projects\domains\bifoundation_domain
setSERVER_NAME=AdminServer
setPRODUCTION_MODE=true
set OPMN_PORT=9500
cd %USERDOMAIN_HOME%
call"D:\OBI11g\user_projects\domains\bifoundation_domain\bin\setDomainEnv.cmd"
call"D:\OBI11g\wlserver_10.3\server\bin\installSvc.cmd"
ENDLOCAL


2.     Add -delay:120000  in the installSvc.cmd file to the line at thebottom.
ForExample:
rem*** Install the service
"%WL_HOME%\server\bin\beasvc"-install -svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME%"  -delay:120000 -javahome:"%JAVA_HOME%"-execdir:"%USERDOMAIN_HOME%"-maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%"-port:"%PORT%" -extrapath:"%EXTRAPATH%" -password:"%WLS_PW%"-cmdline:%CMDLINE%-log:"D:\OBI11g\user_projects\domains\bifoundation_domain\servers\AdminServer\AdminServer-stdout.txt"
  1. For troubleshooting / debugging purposes it is helpful to redirect standard out and error to a text file. Although most information is captured in the AdminServer server log files, you will not see all standard out and error when the server is started via a MS Windows Service (unlike when you start an AdminServer in console mode from the command prompt using startWebLogic.cmd). To redirect standard out to a text file, backup and edit installSvc.cmd file and change the line at the bottom of the file so it includes the -log parameter. For example:
"%WL_HOME%\server\bin\beasvc"-install -svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME%"  -delay:120000-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"-maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%"-port:"%PORT%" -extrapath:"%EXTRAPATH%"-password:"%WLS_PW%" -cmdline:%CMDLINE% -log:"D:\OBI11g\user_projects\domains\bifoundation_domain\servers\AdminServer\AdminServer-stdout.txt"
  1. Next,  run "installAdmServer_Service.cmd" and the service should be installed, it will have a name like "beasvc %DOMAIN_NAME%_%SERVER_NAME%" (e.g. beasvc bifoundation_domain_AdminServer)
The Service "Startup Type" will be 'Automatic'. Just like any otherMS Windows Service you can change the 'Startup Type' to 'Manual'.

For Managed Server bi_server1
  1. Create a command script called installBIServer_Service.cmd which has lines like:
SETLOCAL
setDOMAIN_NAME=bifoundation_domain
setUSERDOMAIN_HOME=D:\OBI11g\user_projects\domains\bifoundation_domain
setSERVER_NAME=bi_server1
setJAVA_HOME=D:\OBI11g\Oracle_BI1\jdk
setPRODUCTION_MODE=true
setADMIN_URL=http://localhost:7001
set OPMN_PORT=9500
setBI_ORACLE_HOME=D:\OBI11g\Oracle_BI1
cd %USERDOMAIN_HOME%
call"D:\OBI11g\user_projects\domains\bifoundation_domain\bin\setDomainEnv.cmd"
call"D:\OBI11g\wlserver_10.3\server\bin\installSvc.cmd"
ENDLOCAL
Notes:
    • Before running, add
-depend:"beasvcbifoundation_domain_AdminServer" -delay:180000
To thelast line at the bottom of the installSvc.cmd. For Example:
rem ***Install the service
"%WL_HOME%\server\bin\beasvc"-install -svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME%" -depend:"beasvcbifoundation_domain_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:"D:\OBI11g\user_projects\domains\bifoundation_domain\servers\AdminServer\bi_Server1-stdout.txt"
    • Before running, change the -log parameter in the installSvc.cmd file to the new location. For example:

      "%WL_HOME%\server\bin\beasvc" -install -svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME%" -depend:"beasvc bifoundation_domain_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:"D:\OBI11g\user_projects\domains\bifoundation_domain\servers\AdminServer\bi_Server1-stdout.txt"
    • The ADMIN_URL value should reference the AdminServer hostname and listen port
    • The SERVER_NAME value is case sensitive. For example, if you are creating a MS Windows service for a different managed server such as 'wls_ods1' then the value needs to match the case of the server name otherwise the startup of the server via the MS Windows service will fail.
    • Be careful that there are no trailing spaces after each line in the command file - trailing spaces will cause the managed server to fail at startup. For example a trailing space in the ADMIN_URL value will result in the error

      <19-Jan-2010 11:37:58 o'clock GMT> <Error> <EmbeddedLDAP> <BEA-171524> <Cannot determine the Listen address for the Admin server
  1. Now run "installBIServer_Service.cmd". The Service should be installed, it will have a name like "beasvc %DOMAIN_NAME%_%SERVER_NAME%" (e.g. - beasvc bifoundation_domain_bi_server1)

    The Service "Startup Type" will be 'Automatic'. Just like any other MS Windows Service you can change the 'Startup Type' to 'Manual'.

OBIEE Services Dependencies
The servicesshould be started in the order below:
1)     OracleWebLogic NodeManager (D_OBI11g_wlserver_10.3)
2)     beasvcbifoundation_domain_AdminServer
3)   beasvcbifoundation_domain_bi_server1
4)   OracleProcessManager_instance1
SettingDependencies:
In RegistryEditor navigate to HKEY_LOCALMACHINE->SYSTEM->CurrentControlSet->service
For OracleProcessManager_instance1 Serviceset
‘DependOnService’= beasvc bifoundation_domain_bi_server1
For beasvc bifoundation_domain_bi_server1 Serviceset
‘DependOnService’= beasvc bifoundation_domain_AdminServer
Note: This should already be set as wecreated the dependency while creating the service
For beasvc bifoundation_domain_AdminServer Serviceset
‘DependOnService’= Oracle WebLogic NodeManager (D_OBI11g_wlserver_10.3)
Note: The startup type for all the aboveservices should be ‘Manual’
Starting OBIEE Services after the Database is Up andRunning
The Admin ServerService(beasvc bifoundation_domain_AdminServer) and Managed Server Service(beasvcbifoundation_domain_bi_server1) requires the database to be up and running forthem to start properly.
In order forOBIEE services to start after the database is up and running, we create a batchfile and set this as Startup Scripts to delay start OBIEE services after systemstartup.
Batch File:
NET STOP"OracleProcessManager_instance1"
TIMEOUT /T 300/NOBREAK
NET START"OracleProcessManager_instance1"
Setting batchfile as Startup Script:
Run-> gpedit.msc



In Local GroupPolicy Editor:
ComputerConfiguration->Windows Settings->Scripts (Startup/Shutdown)->Startup
 Add the Batchfile as startup script.


Friday, January 20, 2012

Federal News Radio Segment with Guident

January 20, 2012

Dan Ackerman, Guident Executive Vice President, and I hadthe fortunate experience of being interviewed by Federal News Radio 1500 AM aswe were guests on “Federal TechTalk with John Gilroy”. The focus of thediscussion was the current state of government business intelligence – how thegovernment is using it for increasing efficiencies and enabling dataeffectiveness – as well as taking a look into what’s on the horizon including topics such as mobile BI, predictive analytics, Big Data, content intelligence, cost containment, and consumer intelligence.

The interview experience was great.  John Gilroy is an energetic, personable guywho made Dan and I instantly feel comfortable. Even though we were in a recording studio with large microphones infront of us, John helped us feel like we were having a casual conversation overcoffee.  The interview was ‘Live-to-Tape’which means while the show was not live, it won’t be edited.  The pressure was on for Dan and I to giveclean, concise answers with minimal hiccups. Luckily, this was Dan’s third timeon the show so he and John Gilroy were able to help me with my rookie radiobutterflies.

The recording consisted of 4 ten minute blocks ofinterviews.  Between each session, John,Dan, and I chatted for a few minutes to discuss topics for the next block.  While 40 minutes seems like a long time, thesession really flew by and allowed me to become one of John’s more than 240survivors who have interviewed with him. This was truly a great experience and exciting for Dan and I torepresent Guident in discussing our thoughts on the state of current and futuregovernment affairs.

1/24/12 Update - Click here for a direct link to the Federal News Radio Segment featuring Guident.

Please provide us your comments and opinions on the businessintelligence trends in the federal government!

Ken Raffel
Senior Vice President