OBIEE Online Training

Friday, November 11, 2011

obiee-11g-auto-start-all-with-windows

OBIEE 11.1.1 - How to Install Windows Services For OBIEE 11g AdminServer And BI Managed Server?

Following Fusion Middleware 11g components are configured by default as MS Windows Services:
  • Weblogic Node Manager
    (configured as a MS Windows Service if Custom Install route is chosen when installing Weblogic)
  • FMW 11g Process Manager (OPMN)
    (installed as a MS Windows Service if a System Component Instance is configured)
This article shows how to install the WebLogic AdminServer and BI Managed Server as MS Windows Service for the OBIEE 11g installation.



a. For Administration Server
Note: If you install OBIEE 11g version 11.1.1.5 with the Simple Install type, then you will only have an AdminServer and not a BI Managed Server; therefore, the Managed Server section would not apply in that specific version and installation type.
1.   Configure the boot.properties to create an encrypted method to automatically pass the username and password

Create a text file in the location: 
Note: With OBIEE 11.1.1.5, if you have used the Start BI Services from the menu, then it would have automatically created a boot.properties file the first time it was invoke.
%middleware_home%\user_projects\domains\bifoundation_domain\servers\AdminServer\security\boot.properties

For example, if the middleware_home is c:\BI11g, then the boot properties needs to be here:

C:\BI11g\user_projects\domains\bifoundation_domain\servers\AdminServer\security\boot.properties

Add the following lines:

username=[the Administrator username created during install, e.g weblogic]
password=[the weblogic username password e.g welcome1]
Note: the above credentials are the same as the one provided when the AdminServer is started from Command line.
Do not use or leave the brackets [ ] in the file. They are only used to show what should be entered.
As soon as you start the Admin Server the username and password values in this file will be encrypted
2.   Create a command script called installAdmServer_Service.cmd.

Open a text file and input the following lines [edit for your install]:  
echo off
SETLOCAL
 set MW_HOME=D:\Oracle\Middleware
set OPMN_PORT=9500
set wls.host=hostmane
set wls.admin.port=7001
set wls.mgd.port=9704
set wls.mgd.name=bi_server1
set BI_URL=http://IP:9704/analytics
set JAVA_HOME=D:\Oracle\Middleware\Oracle_BI1\jdk
set PRODUCTION_MODE=true
set DOMAIN_HOME=D:\Oracle\Middleware\user_projects\domains\bifoundation_domain
set WLS_HOME=%MW_HOME%\wlserver_10.3
set INSTANCE_HOME=D:\Oracle\Middleware\instances\instance1
set ORACLE_BI_HOME=D:\Oracle\Middleware\Oracle_BI1
set ANT_HOME=%MW_HOME%\modules\org.apache.ant_1.7.1
set DOMAIN_NAME=bifoundation_domain
set USERDOMAIN_HOME=D:\Oracle\Middleware\user_projects\domains\bifoundation_domain
set SERVER_NAME=AdminServer
call "D:\Oracle\Middleware\user_projects\domains\bifoundation_domain\bin\setDomainEnv.cmd"
call "D:\Oracle\Middleware\wlserver_10.3\server\bin\installSvc.cmd"
ENDLOCAL

      Please note that the middleware home values need to be specific to your install
3.   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 modefrom 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:
rem *** Install the service
"%WL_HOME%\server\bin\beasvc" -install
-svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME%"
-javahome:"%JAVA_HOME%"
-execdir:"%USERDOMAIN_HOME%"
-maxconnectretries:"%MAX_CONNECT_RETRIES%"
-host:"%HOST%"
-port:"%PORT%"
-extrapath:"%EXTRAPATH%" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
-log:"D:\Oracle\Middleware\user_projects\domains\bifoundation_domain\AdminServer-stdout.txt"

4.     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 other MS Windows Service you can change the 'Startup Type' to 'Manual'.

Start the Service. The Service will come back fairly quickly to say it is started. The actual time taken for AdminServer to start and reach a state of 'RUNNING' will be longer - perhaps two or three minutes. The state of the server can be monitored by reviewing the stdout txt file.

Notes: An alternative to the boot.properties approach to specifying the Admin Server weblogic username / password is to add the following environment variables to your wrapper cmd script - installAdmServer_Service.cmd
set WLS_USER=[user]
set WLS_PW=[password] 

Note: Do not use or leave the brackets [ ] in the file. They are only used to show what should be entered.  
To quote the documentation, "The beasvc utility encrypts the login credentials and stores them in the Windows registry."
This is one of two possible methods for avoiding the username/password prompt when a server instance starts. The disadvantage to this method is that changing the username or password for the server instance requires you to delete the Windows service and set up a new one with the new username and password. Instead of this method, you can use a boot identity file. With a boot identity file, you can change the login credentials without needing to modify the Windows service.
b. For Managed Server bi_server1  
1. Configure the boot.properties to create an encrypted method to automatically pass the username and password

Create a text file in the location:

%middleware_home%\user_projects\domains\bifoundation_domain\servers\bi_server1\security\boot.properties

For example:

C:\BI11g\user_projects\domains\bifoundation_domain\servers\bi_server1

where the BI11g is your middleware home.

Add the following lines:

username=[the Administrator username created during install, e.g weblogic]
password=[the weblogic username password e.g welcome1]
Note: the above credentials are the same as the one provided when the AdminServer is started from Command line.
As soon as you start the BI Managed Server the username and password values in this file will be encrypted.
The alternative approach - like for AdminServer - is to specify WLS_USER and WLS_PW in the wrapper cmd script. See next point

2.     Create a command script called installManagedSrvr_Service.cmd which has lines like:

SETLOCAL
set DOMAIN_NAME=bifoundation_domain
set USERDOMAIN_HOME=D:\Oracle\Middleware\user_projects\domains\bifoundation_domain
set SERVER_NAME=bi_server1
set PRODUCTION_MODE=true
set ADMIN_URL=http://IP:7001
set JAVA_HOME=D:\Oracle\Middleware\Oracle_BI1\jdk
set PRODUCTION_MODE=true
set DOMAIN_HOME=D:\Oracle\Middleware\user_projects\domains\bifoundation_domain
set WLS_HOME=%MW_HOME%\wlserver_10.3
set INSTANCE_HOME=D:\Oracle\Middleware\instances\instance1
set ORACLE_BI_HOME=D:\Oracle\Middleware\Oracle_BI1
set ANT_HOME=%MW_HOME%\modules\org.apache.ant_1.7.1
set DOMAIN_NAME=bifoundation_domain
call "D:\Oracle\Middleware\user_projects\domains\bifoundation_domain\bin\setDomainEnv.cmd"
call "D:\Oracle\Middleware\wlserver_10.3\server\bin\installSvc.cmd"
ENDLOCAL
Notes:
o    Before running, change the -log parameter in the installSvc.cmd file to the new location. Fore example:

-log:"[middleware_home]\user_projects\domains\bifoundation_domain\servers\bi_server1\bi_server1-stdout.txt"
o    The ADMIN_URL value should reference the AdminServer hostname and listen port
o    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.
o    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
3.   Now run "installManagedSrvr_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'.

Start the Service. The Service will come back fairly quickly to say it is started. The actual time taken for the managed server to start and reach a state of 'RUNNING' will be longer - perhaps two or three minutes. The state of the server can be monitored by reviewing the stdout txt file.
4.   Ensure you make the managed Server to a manual startup so this service can be started after the AdminServer is started.
5.  You may choose to start the managed server from the AdminServer instead of from creating the MS Windows service which is the recommended practice.
6.  First start the Node Manager, Admin Server and the Managed Server in this Order.
You can start the BI Server components either from FMW Control or from the OPMN Command line.
Note: If you start the servers as a service, then any parameters, such as JVM parameters need to be modified in the registry at:
If you want to view these parameters, open up the MS Windows Registry Editor (regedit) and navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\beasvc <your domain>_<managed server name>\Parameters

Be sure and double-check the parameter settings such as the the path for the JVM, the hostname and the port; otherwise the service may not start properly

Otherwise, the parameters can be modified in the command shell scripts

See the WebLogic documentation for installing the NodeManager as a service. 





For more Reference:

1) http://blogs.oracle.com/pa/entry/obiee_11_1_1_how3

2) How to Install MS Windows Services For FMW 11g WebLogic Domain Admin and Managed Servers? [ID 1060058.1]
3) How to Install Windows Services For OBIEE 11g AdminServer And Managed Server [ID 1214693.1]

4) http://blogs.oracle.com/pa/entry/obiee_11_1_1_how3


5) http://deliverbi.blogspot.com/2010/10/obiee-11g-auto-start-all-with-windows.html

6) http://download.oracle.com/docs/cd/E14571_01/web.1111/e13708/winservice.htm#i1186180

7) How to Install MS Windows Services For FMW 11g WebLogic Domain Admin and Managed Servers? [ID 1060058.1]

8) http://gerardnico.com/wiki/dat/obiee/windows_service_11g

9) http://shumonkhan.blogspot.com/2010/08/how-to-install-ms-windows-services-for.html

Thanks
Deva

4 comments:

  1. to those who change weblogic's password and couldn't start service of OBIEE11g 11.1.1.5 again, just rename or delete file boot.properties on this path = %middleware_home%\user_projects\domains\bifoundation_domain\servers\AdminServer\security\boot.properties

    then start service again and put your user weblogic and new password, it will gonna auto generate boot.properties file with new password.

    ReplyDelete
  2. more information about this topic can be found at http://blog.guident.com/2012/02/auto-starting-obiee-11g-services-as.html

    ReplyDelete
  3. I have tried creating the service using your steps but the service for the admin server is not being created so i did not proceed with the rest of the steps. Any idea why? Log in installSvc.cmd is not being created also so I don't have any idea if there are any errors.

    ReplyDelete
  4. Bluehost is definitely one of the best hosting provider for any hosting plans you might require.

    ReplyDelete