Showing posts with label Siebel 8. Show all posts
Showing posts with label Siebel 8. Show all posts

Tuesday, November 11, 2008

Bash Scripts To Startup/Shutdown Siebel Server and Gateway

The following scripts will make Starting/Shutting Down Siebel Server and Gateway a baby's task, each of them does the following:
  1. Makes sure the user running the scripts is the "siebel" user to avoid running the processes under any other user (which unluckily happened to me many time)
  2. Loads Siebel Environment variables by running the "siebenv.sh" script (which is provided by Oracle)
  3. Runs the "start_server all", "start_ns", "stop_server all" or "stop_ns" commands.
Here they are:

Assumptions:
  1. There is only one enterpise in one siebel server
  2. All the scripts are put in folder "/CRM/Scripts" in my example
  3. "/siebel" is Siebel installation folder
  4. "siebel" is the user name used to install and configure Siebel
Startup The Gateway:

if [ $USER == "siebel" ]; then
cd /siebel/gtwysrvr
. ./siebenv.sh
/siebel/gtwysrvr/bin/start_ns
else
echo "Please login as user siebel to run this script."
fi

Shutdown The Gateway:

if [ $USER == "siebel" ]; then
cd /siebel/gtwysrvr
. ./siebenv.sh
/siebel/gtwysrvr/bin/stop_ns
else
echo "Please login as user siebel to run this script."
fi

Startup Siebel Server:

if [ $USER == "siebel" ]; then
cd /siebel/siebsrvr
. ./siebenv.sh
/siebel/siebsrvr/bin/start_server all
else
echo "Please login as user siebel to run this script."
fi

Shutdown Siebel Server:

if [ $USER == "siebel" ]; then
cd /siebel/siebsrvr
. ./siebenv.sh
/siebel/siebsrvr/bin/stop_server all
else
echo "Please login as user siebel to run this script."
fi

Startup the Gateway and then Siebel Server (They must be started in that order):

if [ $USER == "siebel" ]; then
. /CRM/Scripts/StartupGateway
. /CRM/Scripts/StartupSiebel
else
echo "Please login as user siebel to run this script."
fi

Shutdown the Siebel Server and then the Gateway (Again, they must be shutdown in this order):

if [ $USER == "siebel" ]; then
. /CRM/Scripts/ShutdownSiebel
. /CRM/Scripts/ShutdownGateway
else
echo "Please login as user siebel to run this script."
fi


That's it! It might look stupid, but this is the way I like it, keep it simple & stupid :)

Modifying the siebns.dat file

siebns file cannot and MUST NOT be modified by hand using any text editor as it is CRC checked by an Oracle algorithm, e.g. vi, and what used to happen is that you should send the file to Oracle Support and they'll clean it up for you, but this is only supported for versions earlier than Siebel 8, and so you should follow the following easy steps in case the siebns.dat file is messed up (many unused enterprises in my case):
  1. Make sure that you shutdown the Siebel Server
  2. DO NOT shutdown the Gateway server, it must be up to correctly modify the siebns.dat
  3. Navigate to /$SIEBEL_ROOT/gtwysrvr and run cfgenv.sh to prepare some environment variables (. ./cfgenv.sh)
  4. Navigate to /$SIEBEL_ROOT/gtwysrvr/bin and run ./ssincfgw to start the Gateway configuration
  5. Choose "Remove Existing Configuration" and then "Remove an Enterprise From an existing gateway server"
  6. Type the name of the enterprise you want to remove (unluckily there is no list to choose from, so you have to know them, and if you don't, you can open the siebns.dat file using a text editor such as vi, you'll find all your enterprises there, DON'T MODIFY ANYTHING BY HAND!)
  7. Execution Successfull :)
  8. Restart your Gateway and Siebel Server.
That's my first Siebel 8 subject and it's pretty strange for a first post I guess, hope it's useful :)