Professional Documents
Culture Documents
Siebel CRM Protected by Cluster Ware 133669
Siebel CRM Protected by Cluster Ware 133669
In this example. it is assumed that the Application VIP or the Siebel Gatewav is
supposed to run on the phvsical NI( eth0` oi~eth0,. In addition. the IP address
o~ip_address, including its subnet on~subnet, needs to be speciied.
1he subnet or the VIP must be the same as the subnet deined or the phvsical
NI( here: eth0,. 1he subnet can be determined using the sbiniconig
command. It will be the alue gien or the mask` parameter.
1he IP address must either be registered in the DNS used in the enironment or
the hosts ile on all cluster nodes prior to issuing this command. 1he subnet or the
VIP must be the same as the subnet o the phvsical IP assigned to eth0`.
lor the purpose o this document. the ailoer o the Siebel Gatewav VIP is
restricted to node1 and node2 -p restricted -h node1 node2`,. 1his setting might
be necessarv in complex enironments that are based on more than two nodes in
order to restrict the ailoer o certain resources to nodes that are used or a
dierent purpose.
I the parameter -p is not speciied. Oracle (lusterware will choose the node. to
which a resource will be ailed oer. based on the lOS1ING_MLMBLRS` list
speciied in the application proile
4
.
Reer to Appendix A or an example o the sieb_gtwv_ip.cap ile generated bv this
command. 1he sieb_gtwv_ip.cap ile can be ound under
(RS_lOMLcrspublic directorv.
Ater creating the Application VIP. register it with Oracle (lusterware:
4
lor inormation on the lOS1ING_MLMBLRS. reer to the Oracle (lusterware and
Oracle Real Application (lusters Administration and Deplovment Guide
crs_profile -create sieb_gtwy_vip
-t application
-a $CRS_HOME/bin/usrvip
-p restricted -h `node1 node2'
-o oi=eth0,ov=<ip_address>,on=<subnet>
crs_register sieb_gtwy_vip
SiebeI CRM AppIications protected by OracIe CIusterware Page 9
1he VIP action script that was used implicitlv in the crs_proile command aboe
>(RS_lOMLbinusrip, needs to be run as the root operating svstem user.
1hereore. go to: CRS_HOML/bin and issue:
loweer. the Oracle (lusterware sotware owner oracle, needs to be explicitlv
granted permission to start the VIP resource that runs with root priileges.
Step 1b: Create an AppIication VIP per SiebeI Server
Similarlv to Step 1a. create an Application VIP or each Siebel Serer.
Go to: CRS_HOML/bin and issue:
1he Siebel Gatewav needs to be conigured to run on the VIP just created in step
1a sieb_gtwv_ip,. 1hereore. Oracle stronglv recommends using a name resolution
or this VIP. 1he name resolution can either be perormed using a DNS or bv
adding an alias to the hosts iles o att tbe voae. in the cluster.
\hen coniguring the Siebel Gatewav. this name should then be used as the irtual
host name that the Siebel Gatewav will be conigured to run on.
Iigure 4: Siebel Gateway Configuration
Similarlv. the Siebel Serer host parameter needs to be conigured to use the irtual
host name.
Step 2a: Create and Test the Action Script for the SiebeI Gateway
In this step. the script that will be used to start. stop. and check the status o the
Siebel Gatewav Serer is created and tested. loweer. this step will not go into
details on how to create the script. Instead. use the sample script sieb_gtwv.scr`
proided in Appendix B as an example.
lrom the Oracle (lusterware point o iew. there needs to be one script accepting
start`. check`. and stop` as command line arguments. since Oracle (lusterware
will call this script or each o those actions. passing the respectie argument.
1he Siebel Gatewav is conigured to run on the irtual host name or the serer.
which resoles to the VIP created in step 1a sieb_gtwv_ip,. 1hereore. the VIP
needs to actie beore the Siebel Gatewav can be started:
SiebeI CRM AppIications protected by OracIe CIusterware Page 11
Go to CRS_HOML/bin and issue:
Upon a successul execution o this command. the ollowing message is displaved:
.ttevptivg to .tart .ieb_gtry_rip ov vevber voae]
tart ot .ieb_gtry_rip ov vevber voae] .vcceeaea.
1he Siebel Gatewav will be started on the node where the assigned sieb_gtwv_ip
is running. I the VIP is not running. it will be started implicitlv. Depending on the
lOS1ING_MLMBLRS
5
list the VIP as well as the Gatewav might start on
dierent node than the one that was used to issue the crs_start command.
Once the VIP has been started successullv. the start unction o the action Script
or the Siebel Gatewav can be tested. Since the Siebel Gatewav itsel has not been
registered with Oracle (lusterware vet. anv action o the action script needs to be
tested manuallv.
1hereore. change to the Siebel sotware owner bere: orasiebel,. go to the directorv
where the action script or the Siebel Gatewav has been stored and issue:
On the next prompt. enter:
Note: a successul execution o the script would result in echo > and must return
the alue 0.
loweer. in order to make sure that the script returns the right alue depending on
the operation perormed. check the successul execution using the operating svstem
command ps` to list running processes. As the orasiebel user issue:
At this stage. this command should list a running Siebel Gatewav.
In order to test the check or the Siebel Gatewav. issue the command listed below
as the orasiebel user. Similarlv to the test aboe. issue echo > ater calling the
action script with the appropriate parameter check,. Make sure that 0` is
returned. indicating a successul execution:
5
lor inormation on the lOS1ING_MLMBLRS. reer to the Oracle (lusterware and
Oracle Real Application (lusters Administration and Deplovment Guide
crs_start sieb_gtwy_vip
sieb_gtwy.scr start
echo $?
ps -ef |grep siebsvc | grep gtwyns
SiebeI CRM AppIications protected by OracIe CIusterware Page 12
Once the start and check is unctioning as expected. the sieb_gtwv.scr should be
called with the stop parameter to test the shutdown o the Siebel Gatewav process.
As beore. issue echo >` to eriv the result. Again. a zero alue should be returned
upon a successul shutdown o the Siebel Gatewav.
Step 2b: Create and Test the Action Script for each SiebeI Server
Similarlv to Step 2a. create the script that will be used to start. stop and check the
status o each Siebel Serers deploved. See Appendix ( or an example o the
sieb_srr.scr script.
1est the script see examples in step 2a, and ensure it is working beore creating the
application proile in step 3.
Step 3a: Create an appIication profiIe for the SiebeI Gateway
Ater creating and thoroughlv testing the action scripts or the Siebel Gatewav and
the Siebel Serers. an application proile or those resources needs to be generated.
An application proile is used to conigure how Oracle (lusterware will treat an
application in regards to check interals. script timeouts. and restart attempts or
example. Although. the application proile will be created in the next step. it can
easilv be updated later on.
Beore registering the application. make sure that the action script is aailable on all
nodes that are supposed to host the Siebel Gatewav bere: node1 and node2,. \hen
using a per node installation. the script needs to be copied to the same directorv on
all those nodes. otherwise a shared destination can be used.
sieb_gtwy.scr check
echo $?
sieb_gtwy.scr stop
echo $?
SiebeI CRM AppIications protected by OracIe CIusterware Page 13
As the Oracle (lusterware sotware owner bere: oracle, issue the ollowing
command to create an application proile or the Siebel Gatewav:
Go to: CRS_HOML/bin and issue:
In this example. it is assumed that the Siebel Gatewav is checked eerv 60 seconds
parameter -o ci~60 with (I ~ (heck Interal, and it will be restarted on the
same node 3 times beore a ailoer to another node will occur parameter -o
ra~3 with RA ~ Restart Attempts,.
In addition. it is important to notice that the Siebel Gatewav is dependent on the
Siebel Gatewav VIP that was created in step 1a. 1his dependencv has been created
in the example aboe using the -r sieb_gtwv_ip` parameter. where r` stands or
Required Resources.
A required resource will alwavs be started together with the resource that depends
on it. In this example here. the Siebel Gatewav VIP will alwavs be started wheneer
the Siebel Gatewav will be started. loweer. i the Siebel Gatewav VIP is alreadv
started on the cluster and the Gatewav is started later. the Gatewav will start on the
node where the VIP was running at startup time.
In other words. the Siebel Gatewav will not be able to run on a node that does not
run the Siebel Gatewav VIP anvmore. (onsequentlv. the parameters -h and -p
used when creating the Siebel Gatewav VIP to speciv the hosting members and to
restrict the ailoer to onlv 2 nodes, do not need to be speciied. since it has alreadv
been deined that the Siebel Gatewav VIP will onlv ailoer between the nodes
node1 and node2` as speciied or the Siebel Gatewav VIP.
Reer to Appendix A or an example o the resource proile settings used or the
Siebel Gatewav VIP in this paper.
Step 3b: Create an appIication profiIe for the SiebeI Server
Similarlv to step 3a. create the application proile or the Siebel Serers. Again.
make sure that the action script is aailable on all nodes beore proceeding.
As the Oracle (lusterware sotware owner bere: oracle, issue the ollowing
command to create an application proile or a Siebel Serer.
crs_profile -create sieb_gtwy_app
-t application
-d "Siebel Gateway Server"
-r sieb_gtwy_vip
-a /home/srinsubr/gcc_stage/s05oradb/bh/sieb_gtwy.scr
-o ci=60,ra=3
SiebeI CRM AppIications protected by OracIe CIusterware Page 14
Go to: CRS_HOML/bin and issue:
In this example. it is assumed that the Siebel Siebel is checked eerv 60 seconds
parameter -o ci~60 with (I ~ (heck Interal, and it will be restarted on the
same node 3 times beore a ailoer to another node will occur parameter -o
ra~3 with RA ~ Restart Attempts,.
In addition. note the parameter st~400`. where st` stands or Script 1imeout.
1he script timeout describes time in seconds that Oracle (lusterware will wait or a
return o the check operation or example. I the check operation does not return at
all under this amount o time. the resource state will be declared. as
UNKNO\N` and Oracle (lusterware will stop monitoring this resource.
Once a resource has reached the state UNKNO\N`. manual interention is
required to reinstate the resource into a good state. 1his could be a manual restart
o the resource using crs_stop - ollowed bv crs_start or example.
1he script timeout has been set to 400 seconds in this example. because in
conducting o arious tests. it has been ound that the check operation mav take a
certain amount o time beore returning an appropriate alue on the svstems used
or this test. 1his alue does not represent a general recommendation. 1ests should
be perormed in order to determine a suitable alue.
Similarlv to the example aboe. the Siebel Serer will depend on the sieb_sr1_ip
parameter -r sieb_sr1_ip`,. loweer. it is important to note that eerv
Siebel Serer deploved in the svstem would be dependent on its own VIP.
1hereore. the Siebel Serer VIPs are numbered sieb_srJ_ip`,.
Reer to Appendix D or an example o the resource proile settings used or the
Siebel Serer in this paper.
Step 4a: Register the SiebeI Gateway with OracIe CIusterware
Ater the application proile has been created. the Siebel Gatewav needs to be
registered with Oracle (lusterware. Go to: CRS_HOML/bin and issue the
ollowing command as the Oracle (lusterware sotware owner bere: oracle,:
crs_profile -create sieb_s06_app
-t application
-d "Siebel Server"
-r sieb_srv1_vip
-a /home/srinsubr/gcc_stage/s05oradb/bh/sieb_srvr.scr
-o ci=60,ra=3,st=400
crs_register sieb_gtwy_app
SiebeI CRM AppIications protected by OracIe CIusterware Page 15
1he Siebel Gatewav must run as the Siebel operating svstem user bere: orasiebel,.
As the root operating svstem user go to CRS_HOML/bin and issue:
In the aboe example. the owner o the just registered sieb_gtwv_app` application
is set to orasiebel` parameter -r orasiebel`,. which ensures that this
application will be run under the orasiebel` operating svstem user.
loweer. the Oracle (lusterware sotware owner oracle, needs to be explicitlv
granted permission to start. check. and stop the application. In order to achiee this
coniguration another crs_setperm call is required:
1he aboe setting is speciic to Oracle (lusterware and used internallv onlv. 1he
right permissions still need to be set on the script leel e.g. the sieb_gtwv.scr script
needs to be alwavs executable.,
Step 4b: Register the SiebeI Server with OracIe CIusterware
Similarlv to the Siebel Gatewav. the Siebel Serer needs to be registered with Oracle
(lusterware and it also has to run as the Siebel operating svstem user bere:
orasiebel,. 1hereore. go to: $CRS_HOML/bin and issue the ollowing command
as the Oracle (lusterware sotware owner bere: oracle,:
As the root operating svstem user go to $CRS_HOML/bin and issue:
1his. again. assures that the Siebel Serer will be run under the orasiebel`
operating svstem user. loweer. the Oracle (lusterware sotware owner bere:
oracle, needs to be able to call the respectie action script:
crs_setperm sieb_gtwy_app -o orasiebel
crs_setperm sieb_gtwy_app -u user:oracle:r-x
crs_register sieb_s06_app
crs_setperm sieb_s06_app -o orasiebel
crs_setperm sieb_s06_app -u user:oracle:r-x
SiebeI CRM AppIications protected by OracIe CIusterware Page 16
Step 5: Test the SiebeI High AvaiIabiIity Environment
Beore going lie with the whole svstem. some testing will be required. 1his step
will be used to outline some basic tests that should be perormed. Depending on
the production enironment. additional tests will be required.
1he tests should oresee:
1. Use o Oracle (lusterware commands to operate on registered resources
a. Lnsure that dependencies are kept and executed
2. Reaction to ailure scenarios such as
a. Process ailures
b. Node ailures
c. Network ailures
3. Maintenance operations such as relocation o resources among nodes
Suitable scenarios should start with the tests described under 1.: starting and
stopping the registered Siebel applications using Oracle (lusterware commands. It
should be ensured that those commands work properlv beore continuing with anv
other test.
1o test the start o the Siebel Gatewav. go to CRS_HOML/bin and issue:
Logicallv. the Siebel Gatewav needs to run beore anv Siebel Serer should be
started. since necessarv coniguration inormation are requested rom the Siebel
Gatewav bv each starting Siebel Serer.
1hereore. the start action o the Siebel Serer action script sieb_srr.scr - see
Appendix (, checks whether or not a Siebel Gatewav is running in the cluster. I
no Siebel Gatewav is running. it will start a Siebel Gatewav using crs_start.
Neertheless. it makes sense to test this scenario during production testing.
lollowing the test steps in this paper. stop the Siebel Gatewav and trv starting the
whole stack bv starting the Siebel Serer as the high leel application:
1hen start the Siebel Serer:
crs_start sieb_gtwy_app
crs_start sieb_s06_app
crs_stop sieb_gtwy_app
SiebeI CRM AppIications protected by OracIe CIusterware Page 17
1he start o the Siebel Serer should also start the Siebel Gatewav on one o the
nodes in the cluster. Proper startup o the Siebel Gatewav and Siebel Serers should
be conirmed using crs_stat.
It should also be noted that based on the dependencv settings the VIPs or the
Siebel Gatewav and the Siebel Serers should hae been started implicitlv. too.
1hose VIPs will alwavs run on the same node as the associated Siebel Serices
Gatewav or Serer,.
loweer. starting those Siebel Serices in this wav using a Siebel Serer startup to
start the Siebel Gatewav, mav start all components on the same node. \hile this is
generallv not a problem and certain application proile settings or starting the
Siebel Serers using the -c nodename when issuing the crs_start command,
might preent that. there might still be scenarios in which a relocation o one o
those components is desirable.
1hereore. perorm suitable relocation tests using the crs_relocate command. \hen
running those tests. it should be also ensured that dependencies are ollowed. L.g.
one can onlv relocate a resource that other resourses are not dependent on.
I there are dependencies to the resource. the orce` -, option must be used to
relocate the respectie resource. loweer. appropriate error messages will be gien
in this case. I the orce option is used. all resources including the dependent ones,
will be relocated.
1o test the relocation o the Siebel Gatewav go to CRS_HOML/bin and issue:
In the aboe example the Siebel Gatewav is relocated to node2`. which assumes
that it was running on node1` beore. lurther relocation tests can be perormed or
each Siebel component registered in the cluster as well as or VIPs and to ensure all
components can operate on all releant nodes.
Ater suitable tests hae shown that Oracle (lusterware commands can successullv
be used to start stop and relocate all the registered resources on all releant
nodes. tests should be perormed or the check operations. 1hose tests should
oresee scenarios described under 2. Reaction to ailure scenarios` rom the list o
potential tests gien aboe`
Oracle does not generallv recommend on how those ailure scenarios should be
tested. Suitable test scenarios should be deeloped and perormed in accordance to
the production enironment.
crs_relocate -c node2 sieb_gtwy_app
SiebeI CRM AppIications protected by OracIe CIusterware Page 18
SUMMARY
1he inormation presented assumed that the ollowing steps hae been completed:
Oracle (lusterware is installed
6
Oracle Real Application (lusters is installed
Siebel Gatewav is installed
Siebel Serer is installed
Oracle l11P Serer is installed
8
Siebel Siebel \eb Serer Lxtention S\SL, is installed
9
Based on this sotware inrastructure it has been shown how Oracle (lusterware
can be used to protect the Siebel Gatewav and the Siebel Serers in a ligh
Aailabilitv enironment.
1his paper does not claim to be complete in its instructions. Instead. the general
procedure is outlined and respectie cross-reerences and recommendations hae
been made in regards to adopt required steps to the production enironment.
1he sample scripts and application proiles proided in Appendix A-D can be used
to implement this ligh Aailabilitv enironment or Siebel applications discussed
in this paper. But customization will be required beore using them in production.
6
lor the Oracle (lusterware Installation and (oniguration guides as well as
or the Oracle (lusterware Administration and Deplovment Guide reer to:
http:www.oracle.complsdb111portal.portal_dbselected~11&rame~
lor the Oracle Real Application (lusters Installation and (oniguration guides reer
to: http:www.oracle.complsdb111portal.portal_dbselected~11&rame~
8
lor installation o the Oracle l11P Serer. reer to:
http:download.oracle.comdocscdB25221_04nadocindex.htm
9
lor documentation on the installation o all Siebel (omponents reer to
http:edelierv.oracle.com and download the Siebel Business Applications Media
Pack 8.0 Release or Linux x86` when working on Linux x86,.
SiebeI CRM AppIications protected by OracIe CIusterware Page 19
APPENDIX A - SIEBEL GATEWAY VIP EXAMPLE PROFILE
NAME=sieb_gtwy_vip
TYPE=application
ACTION_SCRIPT=/home/srinsubr/gcc_inst/s0506_app/crs/bin/usrvip
ACTIVE_PLACEMENT=0
AUTO_START=restore
CHECK_INTERVAL=60
DESCRIPTION=sieb_gtwy_vip
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=node1 node2
OPTIONAL_RESOURCES=
PLACEMENT=restricted
REQUIRED_RESOURCES=
RESTART_ATTEMPTS=3
SCRIPT_TIMEOUT=60
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=eth0
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=255.255.248.0
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=<IP_ADDRESS>
SiebeI CRM AppIications protected by OracIe CIusterware Page 20
APPENDIX B - SIEBEL GATEWAY SCRIPTS
sieb_gtwy.scr
#!/bin/sh
#
***************************************************************
# * *
# * * This script starts, stops and checks the SIEBEL GATEWAY
# * *
# * *
#
***************************************************************
#
SCRIPT=$0
ACTION=$1 # Action (start, stop or check)
MYLOG=/home/srinsubr/gcc_stage/s05oradb/bh
export MYLOG
ORA_OWNER=oradb # ORACLE installation owner
INSTALL_PATH=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtw
ysrvr
export INSTALL_PATH
RET1=1 # Internal return values ( do not change )
RET2=1 # Internal return values ( do not change )
RETVAL=1 # Script return value
# Start section - start the process and report results
#
case $1 in
'start')
# A) START - Siebel Gateway Server:
#echo "STARTING DATE: `date`" >> event.log
${INSTALL_PATH}/startserver.sh 1>/dev/null 2>&1
RET1=$?
if [ ${RET1:-0} -eq 0 ]; then
RETVAL=0
else
RETVAL=1
fi
;;
#
# Stop section - stop the process and report results
#
'stop')
# B) STOP - Gateway Server:
${INSTALL_PATH}/stopserver.sh 1>/dev/null 2>&1
RET1=$?
# Prepare return values:
if [ ${RET1:-0} -eq 0 ]; then
RETVAL=0
else
RETVAL=1
fi;
if [ ${RET1:-0} -eq 105 ]; then
RETVAL=0
fi;;
SiebeI CRM AppIications protected by OracIe CIusterware Page 21
#
# Check section - check the server status using WLS ping
#
'check')
if ps -ef | grep gtwyns | grep siebns.dat | grep -v grep
then
RETVAL=0
else
RETVAL=1
fi
# Prepare return values:
;;
*)
echo "usage: $0 {start | stop | check}"
;;
esac
if [ $RETVAL -eq 0 ]; then
exit 0
else
exit 1
fi
Gateway startserver.sh
if [ ! -d "$HOME" ]; then
echo "ERROR: HOME must be set prior to starting the Siebel
server!"
exit 1
fi
SIEBEL_ROOT=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtwy
srvr ; export SIEBEL_ROOT
SIEBEL_HOME=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtwy
srvr ; export SIEBEL_HOME
SIEBEL_LIB_DIR=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/g
twysrvr/lib ; export SIEBEL_LIB_DIR
MWHOME=${SIEBEL_ROOT}/mw ; export MWHOME
SQLANY=${SIEBEL_ROOT}/SYBSsa80 ; export SQLANY
SIEBEL_LANGUAGE=enu ; export SIEBEL_LANGUAGE
LANGUAGE=enu ; export LANGUAGE
PATH=${PATH}:${SIEBEL_ROOT}/bin:${MWHOME}/bin ; export PATH
PATH=${PATH}:${SQLANY}/bin
if [ a${LD_LIBRARY_PATH} = ${LD_LIBRARY_PATH}a ]
then
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib
else
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib:${LD_LIBRARY_PATH}
fi
export LD_LIBRARY_PATH
ICU_DATA=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtwysrv
r/nlp/icu_data ; export ICU_DATA
MWREGISTRY=${MWHOME}/system/registry.bin ; export MWREGISTRY
MWCORE_PRIVATE_DATA=${MWHOME}/.mw/core_data ; export
MWCORE_PRIVATE_DATA
MWUSER_DIRECTORY=${MWHOME}/.mw ; export MWUSER_DIRECTORY
ODBCINI=${SIEBEL_ROOT}/sys/.odbc.ini ; export ODBCINI
SIEBEL_GATEWAY=stain05:2320; export SIEBEL_GATEWAY
start_ns
SiebeI CRM AppIications protected by OracIe CIusterware Page 22
Gateway stopserver.sh
if [ ! -d "$HOME" ]; then
echo "ERROR: HOME must be set prior to starting the Siebel
server!"
exit 1
fi
SIEBEL_ROOT=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtwy
srvr ; export SIEBEL_ROOT
SIEBEL_HOME=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtwy
srvr ; export SIEBEL_HOME
SIEBEL_LIB_DIR=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/g
twysrvr/lib ; export SIEBEL_LIB_DIR
MWHOME=${SIEBEL_ROOT}/mw ; export MWHOME
SQLANY=${SIEBEL_ROOT}/SYBSsa80 ; export SQLANY
SIEBEL_LANGUAGE=enu ; export SIEBEL_LANGUAGE
LANGUAGE=enu ; export LANGUAGE
PATH=${PATH}:${SIEBEL_ROOT}/bin:${MWHOME}/bin ; export PATH
PATH=${PATH}:${SQLANY}/bin
if [ a${LD_LIBRARY_PATH} = ${LD_LIBRARY_PATH}a ]
then
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib
else
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib:${LD_LIBRARY_PATH}
fi
export LD_LIBRARY_PATH
ICU_DATA=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtwysrv
r/nlp/icu_data ; export ICU_DATA
MWREGISTRY=${MWHOME}/system/registry.bin ; export MWREGISTRY
MWCORE_PRIVATE_DATA=${MWHOME}/.mw/core_data ; export
MWCORE_PRIVATE_DATA
MWUSER_DIRECTORY=${MWHOME}/.mw ; export MWUSER_DIRECTORY
ODBCINI=${SIEBEL_ROOT}/sys/.odbc.ini ; export ODBCINI
SIEBEL_GATEWAY=stain05:2320; export SIEBEL_GATEWAY
stop_ns
SiebeI CRM AppIications protected by OracIe CIusterware Page 23
APPENDIX C - SIEBEL SERVER SCRIPTS
sieb_srvr.scr
#!/bin/sh
#**************************************************************
# **
# ** This script starts, stops and checks the Siebel Server
# **
#**************************************************************
#
SCRIPT=$0
ACTION=$1 # Action (start,stop or check)
ORA_OWNER=oradb # ORACLE Clusterware installation owner
RET1=1 # Internal return values (do not change)
RET2=1 # Internal return values (do not change)
RETVAL=1 # Script return value
INSTALL_PATH=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/sie
bsrvr
export INSTALL_PATH
GATEWAY_PATH=/home/srinsubr/gcc_stage/s05orasiebel/Siebel80/gtw
ysrvr
export GATEWAY_PATH
ORA_CRS_HOME=/home/srinsubr/gcc_inst/s0506_app/crs
export ORA_CRS_HOME
PATH=${PATH}:${ORA_CRS_HOME}/bin
export PATH
# Start section - start the process and report results
#
case $1 in
'start')
GTWYNS05=`rexec -l oradb -p ora123 stain05 ps -ef |grep gtwyns
| awk '{print $10}'`
if [ "$GTWYNS05" = "" ] ; then
# check if gtwy is running on stain06
GTWYNS06=`ps -ef | grep gtwyns | awk '{print $10}'`
if [ "$GTWYNS06" = "" ] ; then
crs_start sieb_gtwy_app 1>/dev/null 2>&1
fi
fi
${INSTALL_PATH}/startserver.sh 1>/tmp/s1.trc 2>&1
RET1=$?
RETVAL=${RET1}
;;
SiebeI CRM AppIications protected by OracIe CIusterware Page 24
#
# Stop section - stop the process and report results
#
'stop')
$INSTALL_PATH/stopserver.sh 1>/tmp/s2.trc 2>&1
RET1=$?
RETVAL=${RET1}
;;
#
# Check section - check the server status using grep for siebel
server name
#
'check')
${INSTALL_PATH}/checkserver.sh 1>/dev/null 2>&1
RETVAL=$?
;;
*)
echo "usage: $0 {start|stop|check)"
;;
esac
#
# Return value to CRS daemon
if [ $RETVAL -eq 0 ]; then
exit 0
else
exit 1
fi
SiebeI Server startserver.sh
if [ ! -d "$HOME" ]; then
echo "ERROR: HOME must be set prior to starting the Siebel
server!"
exit 1
fi
SIEBEL_ROOT=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/sieb
srvr ; export SIEBEL_ROOT
SIEBEL_HOME=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/sieb
srvr ; export SIEBEL_HOME
SIEBEL_LIB_DIR=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/s
iebsrvr/lib ; export SIEBEL_LIB_DIR
MWHOME=${SIEBEL_ROOT}/mw ; export MWHOME
SQLANY=${SIEBEL_ROOT}/SYBSsa90 ; export SQLANY
SIEBEL_LANGUAGE=enu ; export SIEBEL_LANGUAGE
LANGUAGE=enu ; export LANGUAGE
PATH=${PATH}:${SIEBEL_ROOT}/bin:${MWHOME}/bin ; export PATH
PATH=${PATH}:${SQLANY}/bin
if [ a${LD_LIBRARY_PATH} = ${LD_LIBRARY_PATH}a ]
then
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib
else
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib:${LD_LIBRARY_PATH}
fi
SiebeI CRM AppIications protected by OracIe CIusterware Page 25
export LD_LIBRARY_PATH
ICU_DATA=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/siebsrv
r/nlp/icu_data ; export ICU_DATA
MWREGISTRY=${MWHOME}/system/registry.bin ; export MWREGISTRY
MWCORE_PRIVATE_DATA=${MWHOME}/.mw/core_data ; export
MWCORE_PRIVATE_DATA
MWUSER_DIRECTORY=${MWHOME}/.mw ; export MWUSER_DIRECTORY
ODBCINI=${SIEBEL_ROOT}/sys/.odbc.ini ; export ODBCINI
SIEBEL_GATEWAY=stain05-vip:2320; export SIEBEL_GATEWAY
SIEBEL_UNIXUNICODE_DB=ORACLE; export SIEBEL_UNIXUNICODE_DB
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252; export NLS_LANG
LANG=en_US.UTF-8; export LANG
MWOS=linux; export MWOS
${MWHOME}/bin/regautobackup -off
export
ORACLE_HOME=/home/srinsubr/gcc_inst/oraclient/app/oraclient/pro
duct/11.1.0/client_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
start_server -d ALL
SiebeI Server stopserver.sh
if [ ! -d "$HOME" ]; then
echo "ERROR: HOME must be set prior to starting the Siebel
server!"
exit 1
fi
SIEBEL_ROOT=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/sieb
srvr ; export SIEBEL_ROOT
SIEBEL_HOME=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/sieb
srvr ; export SIEBEL_HOME
SIEBEL_LIB_DIR=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/s
iebsrvr/lib ; export SIEBEL_LIB_DIR
MWHOME=${SIEBEL_ROOT}/mw ; export MWHOME
SQLANY=${SIEBEL_ROOT}/SYBSsa90 ; export SQLANY
SIEBEL_LANGUAGE=enu ; export SIEBEL_LANGUAGE
LANGUAGE=enu ; export LANGUAGE
PATH=${PATH}:${SIEBEL_ROOT}/bin:${MWHOME}/bin ; export PATH
PATH=${PATH}:${SQLANY}/bin
if [ a${LD_LIBRARY_PATH} = ${LD_LIBRARY_PATH}a ]
then
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib
else
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib:${LD_LIBRARY_PATH}
fi
export LD_LIBRARY_PATH
ICU_DATA=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/siebsrv
r/nlp/icu_data ; export ICU_DATA
MWREGISTRY=${MWHOME}/system/registry.bin ; export MWREGISTRY
MWCORE_PRIVATE_DATA=${MWHOME}/.mw/core_data ; export
MWCORE_PRIVATE_DATA
MWUSER_DIRECTORY=${MWHOME}/.mw ; export MWUSER_DIRECTORY
ODBCINI=${SIEBEL_ROOT}/sys/.odbc.ini ; export ODBCINI
SIEBEL_GATEWAY=stain05-vip:2320; export SIEBEL_GATEWAY
SIEBEL_UNIXUNICODE_DB=ORACLE; export SIEBEL_UNIXUNICODE_DB
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252; export NLS_LANG
LANG=en_US.UTF-8; export LANG
MWOS=linux; export MWOS
${MWHOME}/bin/regautobackup -off
export
ORACLE_HOME=/home/srinsubr/gcc_inst/oraclient/app/oraclient/pro
duct/11.1.0/client_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
SiebeI CRM AppIications protected by OracIe CIusterware Page 26
stop_server -d ALL
SiebeI Server checkserver.sh
if [ ! -d "$HOME" ]; then
echo "ERROR: HOME must be set prior to starting the Siebel
server!"
exit 1
fi
SIEBEL_ROOT=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/sieb
srvr ; export SIEBEL_ROOT
SIEBEL_HOME=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/sieb
srvr ; export SIEBEL_HOME
SIEBEL_LIB_DIR=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/s
iebsrvr/lib ; export SIEBEL_LIB_DIR
MWHOME=${SIEBEL_ROOT}/mw ; export MWHOME
SQLANY=${SIEBEL_ROOT}/SYBSsa90 ; export SQLANY
SIEBEL_LANGUAGE=enu ; export SIEBEL_LANGUAGE
LANGUAGE=enu ; export LANGUAGE
PATH=${PATH}:${SIEBEL_ROOT}/bin:${MWHOME}/bin ; export PATH
PATH=${PATH}:${SQLANY}/bin
if [ a${LD_LIBRARY_PATH} = ${LD_LIBRARY_PATH}a ]
then
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib
else
LD_LIBRARY_PATH=${SIEBEL_ROOT}/lib:${SIEBEL_ROOT}/lib/odbc/mera
nt:${MWHOME}/lib:${SQLANY}/lib:/usr/lib:${LD_LIBRARY_PATH}
fi
export LD_LIBRARY_PATH
ICU_DATA=/home/srinsubr/gcc_stage/s06orasiebel/Siebel80/siebsrv
r/nlp/icu_data ; export ICU_DATA
MWREGISTRY=${MWHOME}/system/registry.bin ; export MWREGISTRY
MWCORE_PRIVATE_DATA=${MWHOME}/.mw/core_data ; export
MWCORE_PRIVATE_DATA
MWUSER_DIRECTORY=${MWHOME}/.mw ; export MWUSER_DIRECTORY
ODBCINI=${SIEBEL_ROOT}/sys/.odbc.ini ; export ODBCINI
SIEBEL_GATEWAY=stain05-vip:2320; export SIEBEL_GATEWAY
SIEBEL_UNIXUNICODE_DB=ORACLE; export SIEBEL_UNIXUNICODE_DB
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252; export NLS_LANG
LANG=en_US.UTF-8; export LANG
MWOS=linux; export MWOS
${MWHOME}/bin/regautobackup -off
export
ORACLE_HOME=/home/srinsubr/gcc_inst/oraclient/app/oraclient/pro
duct/11.1.0/client_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
if list_server ALL | grep started
then
if list_server ALL | grep running
then
STATUS=1
else
STATUS=0
fi
else
STATUS=1
fi
exit ${STATUS}
SiebeI CRM AppIications protected by OracIe CIusterware Page 27
APPENDIX D - SIEBEL SERVER EXAMPLE PROFILE
NAME=sieb_s06_app
TYPE=application
ACTION_SCRIPT=/home/srinsubr/gcc_stage/s05oradb/bh/sieb_srvr.sc
r
ACTIVE_PLACEMENT=0
AUTO_START=restore
CHECK_INTERVAL=60
DESCRIPTION=Siebel 06 App Server
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=node1 node2
OPTIONAL_RESOURCES=
PLACEMENT=restricted
REQUIRED_RESOURCES=sieb_srv1_vip
RESTART_ATTEMPTS=3
SCRIPT_TIMEOUT=600
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=
Providing High AvaiIabiIity for SiebeI CRM AppIications
January 2008, Version 1.7
Author: KeIIy Tan, Markus MichaIewicz, Bhaskar Gupta
Contributing Authors: PhiIip NewIan, RoIand Knapp
OracIe Corporation
WorId Headquarters
500 OracIe Parkway
Redwood Shores, CA 94065
U.S.A.
WorIdwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracIe.com
Copyright 2007, OracIe Corporation and/or its affiIiates. AII rights reserved.
This document is provided for information purposes onIy and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed oraIIy or impIied
in Iaw, incIuding impIied warranties and conditions of merchantabiIity
or fitness for a particuIar purpose. We specificaIIy discIaim any
IiabiIity with respect to this document and no contractuaI obIigations
are formed either directIy or indirectIy by this document. This document
may not be reproduced or transmitted in any form or by any means,
eIectronic or mechanicaI, for any purpose, without our prior written permission.
OracIe is a registered trademark of OracIe Corporation and/or its affiIiates.
Other names may be trademarks of their respective owners.