Saturday 28 July 2012

Server Busy Error in SIEBEL



"Server you are trying to access is either busy or experiencing difficulties” 
Undoubtedly, for any Siebel admin this is the most common issue to troubleshoot. In this post I will try to list down most possible reasons causing this issue.
1)      Issue with Database
Check database connectivity by using database client like sqlplus/plsql developer/Toad

2)      Issue with Data source name i.e. DSN
Siebel connects to database using DSN so check
In UNIX:
       Setup environment variables, go to bin directory & run below command
       odbcsql /u sie_app /p ******** /s siebsrvr_CMS
       Where,
       /u - database user
       /p-  database password
       /s-   Datasource Name
       If this is not working then you have to check .odbc.ini file.
       especially driver name & TNS service name (Same service name must be present in tnsnames.ora file)
If above command errors out then check following environment variables
echo $ORACLE_HOME
echo $LD_LIBRARY_PATH
          echo $TNS_ADMIN
           In Windows:
           Use ODBC datasource administrator -> System DSN -> Double click on Data source ->Test     
           connect
3)      Issue with database account
Make sure you can access database with following accounts
1)      Anon user : In case of DB authentication
2)      SADMIN/LDAP USER: In case of LDAP or SSO Authentication (assuming you use SADMIN/LDAP USER as common login to connect to database )
3)      Check anon user and SADMIN/LDAP user is present in S_USER table.
select  * from S_USER where login like ‘SADMIN’
select  * from S_USER where login like ‘ANONUSR’
4)      Check Siebel services
           Ps –ef | grep sieb
           ps –ef | grep siebsvc

           Check Siebel server & Gateway is running.
           list_ns
           list_server all

5)      Check SC broker & AOM status
set server siebapp

list comp scbroker show CC_ALIAS, CP_DISP_RUN_STATE
list comp SSEObjMgr_enu show CC_ALIAS, CP_DISP_RUN_STATE

list tasks for comp SSEObjMgr_enu show TK_TASKID, TK_DISP_RUNSTATE, TK_LABEL
list tasks for comp scbroker show TK_TASKID, TK_DISP_RUNSTATE, TK_LABEL

6)      Check port 2321 of application server

telnet tsgsq2902 :2321 (from web server)
netstat  -an | grep 2321 (from application server)

7)      Check core services are running

cd  $MWHOME/bin
./mwadm status

Or check status of process regss , watchdog ,mwrpcss etc   

8)      Check data source definition
srvrmgr:siebapp> List param DSConnectString for named subsystem ServerDataSrc show PA_ALIAS, PA_VALUE

9)      Check CPU/Memory/Mount space  utilization

df -hk
top –n 0
prstat –a 5 5
10)    Try using vanilla Siebel.srf file
11)    Try using backu[ copy of siebns.dat file
13)   Check lbconfig.txt file & eapps.cfg to make sure requests are reaching to SCbroker

a)      lbconfig.txt location specified correctly in eapps.cfg under communication management section
b)      virtual host value must be set to true
c)       server connect strings must be given properly in lbconfig.txt file
d)      object manager connect string in eapps.cfg must contain value Virtual host
                  

14)   Check application server log files, WEB instance log, SWSE logs, SSO agent logs
15)   If it is newly installed environment then check environment by using EVT

16)   Make sure that all the mounts including File system are available.

17)   Restart Application Server
delete .osdf  file make sure that  .shm file is getting deleted after stopping server, if not, delete it manually.
18)   Take web server bounce
19)   Take clean bounce to recreate .svc file

20)   Verify messages in /var/adm/messages

21)   Physical host reboot
This should be the last resort, if nothing else works. Server reboot will open clogging of ports and will restart all the OS processes.


Friday 27 July 2012

Siebel Packager


Hello Friends,
Sometime back I got chance to create mobile client packager. In this post I will explain procedure of creation of packager, in next few days I will also write separate article on Siebel anywhere.

What is packager?
The Siebel Packager utility allows the Siebel administrator to assemble the Siebel client executable program and other installed files, including your custom configuration, into a customized installation package that is tailored to your needs. Siebel Packager packages installations for Siebel Mobile or Dedicated Web Client. 

You can access/download the document from below link.

Sunday 15 July 2012

Siebel 8.2.2 Installation Changes


Hi Friends,

Recently I got chance to install Siebel 8.2.2, most of the installation steps are similar to 8.1.x with few interesting differences. I am going to pinpoint those differences in this post.

1)  It supports windows 64 bit
2)  ImageCreator.exe is no more available for creation of installation image. You have to use snic.bat
3) You have to run setup.bat(Windows) or ./runinstaller(Unix/Linux) to invoke installer
4)  It uses OUI (Oracle universal installer wizard) for installation.
     One of the advantages of OUI is that it supports cloning
5) Configuration tool will not be invoked automatically after installation, you have  
     to invoke it explicitly.
6)  To prevent session hijacking, session IDs in cookies are encrypted using key given in epps.cfg
7)  8.2.2 license keys are not available on licensecodes.oracle.com.
     8.1 all inclusive keys will work just fine with Public Sector 8.2.2

Friday 6 July 2012

Siebel Component synchronization

When to do synchronization?
You need to synchronize batch-mode Siebel Server components between the Siebel Gateway Name Server and the database whenever you:

§     Create new component definitions
§     Modify existing batch-mode component definitions
§     Delete Siebel Server components
§     Enable Siebel Server components
§     Disable Siebel Server components

Why to synchronize?
For batch mode components to function properly they should have their definitions available in S_SRM_ACTION and S_SRM_ACT_PARAM tables. When we synchronize any batch mode component, Siebel flushes definition of that particular batch mode component from siebns.dat file to S_SRM_ACTION and S_SRM_ACT_PARAM tables. 

How to synchronize?
-- From Siebel server manager.
smgr> sync comps
 --  From GUI
1.                   From the application-level menu, choose Navigation > Site Map > Administration - Server Configuration.
2.                   From the link bar, click Enterprises.
3.                   Click the Synchronize view tab.
A list of batch-mode server components appear.
4.                   Click the Synchronize button.
This operation may take up to a minute to execute.
5.                   For the changes to take effect, stop and restart the Siebel Server System Service


Siebel MainWin Processes

Significance of MainWin Processes in Siebel

Siebel is written in c ++ and it was originally developed for windows platform only.
Mainsoft is the application porting platform which rapidly ported entire Siebel application logic engine to UNIX. So MainWin binary (mwadm) gets installed during Siebel server installation on UNIX or Linux based environments.
You can see Mainwin installation path in siebenv.sh file as $ MWHOME.

MainWin Processes:

1)      regss:
regss is the registry service of MainWin. This service is in charge of manipulating the registry file which contains system and application information.
2)      mwrpcss:
mwrpcss processes the RPC (Remote Procedure Calls) and COM (Component Object Model)requests for MainWin.
3)      watchdog:
watchdog ensures that both regss and mwrpcss daemons are running.
All Siebel server components calls/uses above three processes during run time.
When we stop Siebel server,  MainWin processes should  ideally be stopped.
It is good practice to check status of MainWin processes after server shutdown, if processes are running even after shouting down the server , stop processes manually using below command
Go to /siebsrvr/mw/bin directory and run command ./mwadm stop
Also after starting Siebel server these processes ideally should come up, if not start them manually using   ./mwadm start
You can check status of Mainwin services using command  ./mwadm status
If MainWin processes get corrupted or killed while starting Siebel server, siebsvc process will get started but no other process will start i.e, Siebel server will be up but no component will take anyrequest because no process for any component will get created. In this case we have to restart theMainWin processes first and then we should start the Siebel servers.
Note: MainWin processes must not be shutdown or killed while Siebel server is running.