Вы находитесь на странице: 1из 10

The Three main pillars of Siebel Architecutre

November 5th, 2012adminLeave a commentGo to comments

The following 3 components are the three main pillars in the siebel architecture: 1. 2. 3. SCBroker SRBroker SRProc I will explain these 3 siebel components one by one as most people do not have a clear understanding of the same. SCBroker or Siebel Connection Broker The main purpose of this component is to listen to port 2321 for user requests (Users log in to the application) on the servers hosting the Object Manager Component and forward it to Object Manager. But does it all end here? Is it all that it does? The answer is NO It does one more work and thats why I call it as an intelligent component. SCBroker accepts the incoming user requests and after accepting the user requests assigns it to the Process from the Object Manager that has the least Load. How does it do this? Well the answer is it reads the shm file on the server. The shm file has a section for the processes running on the server which tells the SCBroker about the load on different Processes for the Object Manager running on the server.Thus SCBroker does load balancing amongst Object Manager Processes in siebel There is normally only one task running for SCBroker on a server. There can be multiple instances of SCBroker on the same server however each will listen to the same port -2321. SRBroker or Server Request Broker SRBroker does the same work as of a broker in a real world. It is used for inter-server and intra-server communication. Lets see this with an example. Lets say we have File System Manager (FSM) Component running on an server along with Object Manager. Now suppose the Object Manager needs to access some attachment from the file system. How will the Object Manager do this? The Object Manager will give a call to the FSM But through SRBroker this is the case of inter server communication. Lets say after sometime the Object Manager needs to access another attachment from the filesystem but this time the FSM component is down on the server for some reason. Under this scenario as the request from the Object Manager to the File System Manager is going through SRBroker SRBroker will sense that Filesystem Manager on the local server is not running and will forward the request to the next server for FSM component on that server to get the request processed through SRBroker on that server this is the case of intra server communication. SRBroker maintains a consistent connection with all the components on the local server plus with all the SRBroker components in the enterprise. The number of tasks for SRBroker is generally kept as the sum of the count of components on the local server and the number of servers in the enterprise Plus 20. SRProc or Server Request Processor SRProc is responsible for processing asynchronous requests. It picks the requests from S_SRM_REQUEST Table for the components that are hosted on the server on which particular SRProc is running. SRProc works in conjunction with SRBroker meaning that once SRProc picks up the requests from S_SRM_REQUEST Table for the components on that server it will pass on the requests to the destined components through SRBroker. The number of running tasks for SRProc on the server should be 3 while in actual it is 4. There is one hidden task. One SRProc maintains consistent connection with the SRBroker on the server. So if the SRBroker is down on the server for some reason and you try to bring up SRProc it will not start you first need to start SRBroker.


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 inS_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. 2. 3. From the application-level menu, choose Navigation > Site Map > Administration - Server Configuration. From the link bar, click Enterprises. 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 administrator interview questions.

Guys, I am trying to list down most possible interview questions for Siebel administrator. Please feel free to suggest/correct/add if I am missing anything.

1. 2. 3. 4. 5. 6.

Tell me something about your past/current projects and your roles & responsibilities. Explain Siebel architecture or Explain request flow in detail. How to do repository migration & DDL synch? How do you do daily health checks? Why to generate browser scripts & how to generate browser scripts. Explain performance tuning steps

7. 8. 9.

Which authentication method are you using? Why to do apply and activate? How to troubleshoot server busy error?

10. What is siebns.dat file? Can you edit that? 11. Briefly explain Siebel server installation pre-requisites & installation steps. 12. How to generate lbconfig.txt file? 13. Which reporting tool are you using? Is it actuate /BIP/OBIEE? How to integrate BIP/OBIEE with Siebel? 14. Steps to extract local database and to set up Siebel tools & mobile clients? 15. What is the difference between position and responsibility? 16. How to cleanup Siebel file system? 17. Have you ever been involved in resolving Siebel interfacing issues with other applications? 18. Most recent issues & steps you have taken to troubleshoot those. 19. How to setup Siebel email profiles? 20. Emails are not getting triggered from the application, how will you troubleshoot? 21. How to troubleshoot components crashes? 22. How to decode & analyze FDR files? 23. Have you ever been involved in DB refresh activity? 24. Roles of SCbroker, SRbroker & SRproc components. 25. How to deploy workflows? What is activate & why it is required? 26. How workflow monitor agent works? 27. What are SARM files and why to generate those? 28. Have you ever been involved in Siebel version upgrade? 29. Have you been involved in automating routine tasks? 30. You achievements/ challenging assignments as Siebel admin

Hope you will find this helpful.



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 Refer article http://www.siebeloracle.com/how-to-take-clean-bounce-of-siebel-server/for clean bounce

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.


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 executableprogram 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.


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:


regss: regss is the registry service of MainWin. This service is in charge of manipulating the registry file which contains system and application information.


mwrpcss: mwrpcss processes the RPC (Remote Procedure Calls) and COM (Component Object Model)requests for MainWin.


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.


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