When OBIEE 11g is
installed on a Windows server the Node Manager and Process Manager are setup as
Windows services, however the Admin and BI Servers are not. I will explain to create services for the Admin and BI Server and configure all four services
to start in the correct order.
OBI_HOME below should point to the middle ware home directory for OBIEE. e.g. D:\app\obiee. Below this exist the
directories: instance, Oracle_BI1, user_projects etc…
Confirm boot.properties files exist
The boot.properties
files contain the encrypted user-id and password for starting and stopping the
services. Unless they have been removed there should be two of these files
under the following directories once OBIEE 11g has been stopped and restarted
following the installation:
%OBI_HOME%\user_projects\domains\bifoundation_domain\servers\AdminServer\security
And
%OBI_HOME%\user_projects\domains\bifoundation_domain\servers\bi_server1\security
Where OBI_HOME is the OBIEE middleware
installation home directory and bi_server1 is the name of the BI Managed
Service. bi_server1 is the default name, but may have been altered during the
installation.
If the files do not
exist, stop and restart OBIEE. If they still do not exist then investigate why
before continuing.
Note: the line set SERVER_NAME=bi_server1 may need changing if your managed service has a different name.
We need set BI_ORACLE_HOME environment variable
is set.
Look in the server
Environment variables for BI_ORACLE_HOME
(Control Panel -> System -> Advanced System Settings’ ->
‘Advanced’ tab -> Environment Variables -> System variables.
If it is not there,
add it.
Edit the Service installation command file –
installSvc.cmd
We need to do four
changes to this file.
- Create the OBI_HOME variable
- Name the services Oracle_XXXX
- Specify a log file for each of the Admin and BI Servers.
- Implement a solution to the Windows issue of command lines being no longer than 2k.
This file is located
under %OBI_HOME%\wlserver_10.3\server\bin.
Near the top of the
file, after the line that sets WL_HOME add a new line:
set OBI_HOME=%WL_HOME%\..\
Now find the line near
the bottom which starts "%WL_HOME%\server\bin\beasvc" –install….
Change the svcname
parameter from:
-svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME%"
To
-svcname:"Oracle_%DOMAIN_NAME%_%SERVER_NAME%"
Then at the end of the
line add a new log parameter:
-log:"%OBI_HOME%\user_projects\domains\bifoundation_domain\servers\%SERVER_NAME%\logs\service_start.log"
Now locate the line set
CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH% and add the following line underneath it:
@echo %CLASSPATH% > %WL_HOME%\server\bin\classpath.txt
This outputs the
CLASSPATH variable to a text file.
Just below this there
are two lines that start set CMDLINE=.
Each of these lines refers to \"%CLASSPATH%\", so change this to point to the text file
instead:
Change: -classpath \"%CLASSPATH%\"
To: -classpath
@%WL_HOME%\server\bin\classpath.txt
Now save the file.
Edit the commEnv.cmd file
We need to do five
changes to this file.
- Add an additional jar file to the classpath variables
- Check the JAVA_HOME variable
- Check the JAVA_VENDOR variable
- Check the PRODUCTION_MODE variable
- Set the java MEM_ARGS variable
This
file is located under %OBI_HOME%\wlserver_10.3\common\bin.
Locate
the set
WEBLOGIC_CLASSPATH and set FMWCONFIG_CLASSPATH commands and add the following to the end:
%BEA_HOME%\oracle_common\modules\oracle.jrf_11.1.1\jrf.jar
Ensure
the JAVA_HOME path is pointing at the OBIEE version:
For
example: set
JAVA_HOME=C:\app\obiee\Oracle_BI1\jdk
Ensure
that the JAVA_VENDOR variable is set to sun:
set
JAVA_VENDOR=Sun
Set
the PRODUCTION_MODE variable to true
set
PRODUCTION_MODE=true
Locate
the :sun_prod_mode label, then in the set MEM_ARGS command change all
three memory parameters to 512m:
set
MEM_ARGS=-Xms512m –Xmx512m -XX:MaxPermSize=512m -XX:+UseSpinning
There is some scope
for editing these memory settings. The above settings work fine, but can be
increased if needed.
Create the Admin Server install script.
We are going to create
a new script which will create the windows service for the Admin Server. In the
%OBI_HOME%\wlserver_10.3\server\bin directory create a new file called
installAdminServer.cmd and paste in the code below.
SETLOCAL
set OBI_HOME=c:\app\obiee
set DOMAIN_NAME=bifoundation_domain
set
USERDOMAIN_HOME=%OBI_HOME%\user_projects\domains\bifoundation_domain
set SERVER_NAME=AdminServer
set PRODUCTION_MODE=true
set
JAVA_HOME=%OBI_HOME%\Oracle_BI1\jdk
cd %USERDOMAIN_HOME%
call
%USERDOMAIN_HOME%\bin\setDomainEnv.cmd
set SERVER_MEM_ARGS=-Xms256m
-Xmx1024m -XX:MaxPermSize=512m -XX:-UseSSE42Intrinsics
call
"%OBI_HOME%\wlserver_10.3\server\bin\installSvc.cmd"
ENDLOCAL
Save and run it. Note
that it must be run ‘as administrator’. Either right click on it in Explorer
and select the ‘Run as administrator’ option:
Or open a command
window as administrator, change to the directory and run it manually:
On both cases if
prompted by the user access control, select yes to continue.
The script should end
without errors:
Now if you look in
Services you should see the new Admin service called
‘Oracle_bifoundation_domain_Adminserver’:
Create the BI Server install script.
We now repeat this to
for the script to create the windows service for the BI Server. In the
%OBI_HOME%\wlserver_10.3\server\bin directory create a new file called
installBIServer.cmd and paste in the code below.
SETLOCAL
set OBI_HOME=c:\app\obiee
set DOMAIN_NAME=bifoundation_domain
set
USERDOMAIN_HOME=%OBI_HOME%\user_projects\domains\bifoundation_domain
set SERVER_NAME=bi_server1
set PRODUCTION_MODE=true
set
JAVA_HOME=%OBI_HOME%\Oracle_BI1\jdk
set ADMIN_URL=http://localhost:7001
cd %USERDOMAIN_HOME%
call
%USERDOMAIN_HOME%\bin\setDomainEnv.cmd
@rem set SERVER_MEM_ARGS=-Xms256m
-Xmx2048m -XX:MaxPermSize=512m
call
"%OBI_HOME%\wlserver_10.3\server\bin\installSvc.cmd"
ENDLOCAL
Note: the line set SERVER_NAME=bi_server1 may need changing if your managed service has a different name.
Now save and run as
administrator as before.
Again look in Services
(refresh the view) to see the new service, Oracle_bifoundation_bi_server1:
Create Groups & Dependencies in the
Registry
To ensure the OBIEE
service start in the correct order we need to create a group in the windows
registry for each service. We then assign each of the four services to these
groups and place dependencies on the start order.
Open the Registry
Editor (regedit)
Expand and locate
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder:
Double click on the
‘List’ entry and add the following four groups to the end of the value:
OBI
Node Manager
OBI
Admin Server
OBI
Managed Server
OBI
OPMN
Click ok to Save.
Now locate the
Weblogic Node Manager entry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
- in this case called ‘Oracle WebLogic
NodeManager (c_app_obiee_wlserver_10.3)’:
Right click on the
entry and select New -> String Value:
Enter the name
‘Group’. Double click on Group and enter the OBI Node Manager group name
created above:
Now repeat this for
the other three entries:
“Oracle_bifoundation_domain_AdminServer”
with the Group value “OBI Admin Server”.
“Oracle_bifoundation_domain_bi_server1”
with the Group value “OBI Managed Server”.
“OracleProcessManager_instance1”
with the Group value “OBI OPMN”.
Now we need to setup
the dependences to ensure each service wait’s until the previous services have
started before starting.
Right click on the Oracle_bifoundation_domain_AdminServer
entry and select ‘New’ -> ‘Multi-String value’. Give it the name
DependOnService. Edit the value and
enter the name of the node manager service:
Now create a
DependOnService value for the Oracle_bifoundation_domain_bi_server1 and give it
the two values:
Oracle WebLogic NodeManager (c_app_obiee_wlserver_10.3)
Oracle_bifoundation_domain_AdminServer
Finally create the
DependOnService value for the OracleProcessManager_instance1 with the three
values:
Oracle WebLogic NodeManager
(c_app_obiee_wlserver_10.3)
Oracle_bifoundation_domain_AdminServer
Oracle_bifoundation_domain_bi_server1
Check the Services.
Open up the Services
window and scroll down to find the four OBIEE services. You need to make sure
all four are set to Automatic startup.
The Oracle Process
Manager will probably be set to Manual so needs changing, the others should
already be set to Automatic.
Restart the Server.
Now shutdown and
restart the Server.
When the server boots
all four services should start in the correct order, however be warned that
they will take just as long to start as they do when using the standard ‘Start
BI Services’ command, however being services there will be no command windows
and the services will stay up when you log off.
The Services screen is
a little confusing because all four services will report a status of ‘Started’
even though they are still loading in the back ground.
You can check the log
files for the Admin and BI Managed services in their respective home
directories:
%OBI_HOME%\user_projects\domains\bifoundation_domain\servers\AdminServer\logs
And
%OBI_HOME%\user_projects\domains\bifoundation_domain\servers\bi_server1\logs
If the services fail
to start you will need to check the logs and attempt to work out why. Tweaking
the memory settings in the files edited above may help.
Whatever you need to
do, if you need to re-run either the installAdminServer.cmd or
installBIServer.cmd scripts you will need to delete the existing windows services
first (otherwise the scripts will just fail – they won’t update the existing
services)
To do this first open
the Services window and check that the services are ‘Stopped’ – it’s entirely
possible that the Services could be Started but OBIEE still doesn’t work. If
they are Started then manually stop them.
Then open a command
window “as Administrator” and run the following commands:
sc delete
Oracle_bifoundation_domain_AdminServer
sc delete Oracle_bifoundation_domain_bi_server1
These delete the
services, removing them from the Services window (select Action -> Refresh).
No comments:
Post a Comment