Monthly Archives: February 2014

Comparing Two Repository Files Using SRFDiff

Comparing Two Repository Files Using SRFDiff

The SRFDiff utility allows you to compare two repository (.srf) files. Both SRFs must be from the same locale and language and compliant with the current Siebel Tools schema version. From the Help menu in Siebel Tools, choose Technical Support to view the schema version of the SRF that Siebel Tools is using.

NOTE:  The SRFDiff utility validates only for a major schema version. Therefore, SRFs with different minor schema versions, such as and, are valid schemas.

The differences between the two files, that is new, deleted, and changed objects, are recorded in two user-specified XML output files, depending on what the comparison discovers:

  • diff_srf1_srf2.xml. This output file contains differences between the two SRFs and provides a list of new and modified objects. It may also contain new objects found in srf2 that are not found in srf1. This output file shows the differences found during the comparison using an attribute name/value list format.
  • deleted_records_diff_srf1_srf2.xml. This output file contains deleted objects (objects present in srf1 but not in srf2).

If no differences are found or both SRF files are identical, then the SRFDiff utility does not generate output files.

To compare two repository files

  1. Log in to Siebel Tools.
  2. From the Tools menu, choose Utilities, and then the Compare SRFs menu item.
  3. In the Compare SRFs window, enter the following:
  • Full pathname for the first SRF file
  • Full pathname for the second SRF file you want to compare
  • Full pathname for the output file

NOTE:  If you do not specify a location for saving the output files, the SRFDiff utility by default saves these files to the Tools\objects directory.

  1. Click Compare.

The SRFDiff utility:                                    

  • Validates each SRF for file parameters, such as file existence, version, and language
  • Creates one or two output files as follows:
  • For new or changed objects or both, SRFDiff creates an output file that contains differences between the two SRFs. It also contains new objects present in one SRF file but not in the other file.
  • For deleted objects, SRFDiff creates an output file that contains deleted objects that are present in one SRF file but not in the other file.


Invoking the SRFDiff Utility Using the srvrmgr Command Line Interface

You can also invoke SRFDiff using the server manager (srvrmgr) command line utility by entering the following command:

siebdev /srfdiff “<srf1>” “<srf2>” “<outputfile>”

For example, if you want to compare the siebel.srf file with the siebel_1.srf file that reside in the C:\Programs Files\Siebel Tools 8.1\OBJECTS\ENU\ directory, you enter the following command:

siebdev /srfdiff “C:\Programs Files\Siebel Tools 8.1\OBJECTS\ENU\siebel.srf” “C:\Programs Files\Siebel Tools 8.1\OBJECTS\ENU\siebel_1.srf” “C:\Programs Files\Siebel Tools 8.1\OBJECTS\”

– No need of manual tracking
– It will shows what is added or removed from one srf to another and vice versa.

– It captures one change per object and does not captured multiple changes against same object for different change requirement i.e. If object is changed for two change request then it will only capture as object changed and does not shows how many times it is changed

Open the output file and see the differences:


Installing Siebel 8.2.2 on Linux x86-64 Part-4

6. Configure a Siebel Server.  

Now as we have populated Siebel database, next step is to configure Siebel Server.
In this section we will:-

  1. Generate for Siebel Server.
  2. Configure, Start and test an Installed Siebel Server.

To generate

  • Add 32-bit database client library path to LD_LIBRARY_PATH variable
    export LD_LIBRARY_PATH=/u01/obi/dbHome/OBIDB/product/11.2.0/client/lib
  • Navigate to siebsrvr install directory as
    # cd siebsrvr/install_script/install/
  • Run CreateSiebSrvrEnvScript which takes 4 arguments base directory of Siebel server , gateway name server info , Language and database type.
    Like :-
    [dbuser@vm50 install]$ ./CreateSiebSrvrEnvScript /u01/siebel/ vm50:2320 ENU Oracle
    Here arguments are <Siebsrvr home > <Name Server connecting string > <Langauage> <Database Type>
  • Important Note:- Please enter correct location of the ODBCINI parameter in the created file.{as in our case odbc.ini was located in the gtwysrvr’s sys subdirectory so we set ODBCINI variable accordingly in file just created in previous step.}
  • After fixing we source it.
  • Now we are ready to configure Siebel Server.

To configure Siebel Server

  • Navigate to config directory and run the configuration Wizard in siebsrv mode .as
    # ./ -mode siebsrvr
  • Select Create new configuration.
  • Enter Gateway Name Server Authentication Username and Password.
  • Enter Gateway Name server Host-name and port(2320 in our case).
  • If you receive any error after the above step Please recheck if Gateway Name Server is running properly or not.
  • Enter Siebel Enterprise name
  • Enter Siebel Server name which by default is machine name.
  • Enable Components groups that you want.
  • Select Siebel connection Broker Port default is  2321;
  • Select Remote Synchronization Port.{Default is 40400}
  • As we are not going to perform any additional task click next and follow GUI.
  • A summary screen will appear click next to continue
  • And you should get a success message like the one below :-
  • Click exit to end the Wizard
  • Siebel server is now configures but not started
  • To start the server we navigate to siebsrvr bin directory
  • Run StartServer script as :-
    start_server [-r <siebel root>] [-e <enterprise>] [-L <language code>] [-a] [-f] [-g <gateway:port>] { <server name> … | ALL }
  • We can use srvrmanager to connect to the enterprise and the server
  • and it should connect successfully as
  • We can list all components as
    Srvrmgr> list components

Now next step is to Install Siebel web Server extension and we will try to access Siebel server using a web browser.

7. Installing and configuring a Siebel Web Server Extension (SWSE).

In this section we will:-

  1. install the Siebel Web Server Extension (SWSE)
  2. Configure and test SWSE

 Note: – We need an Oracle HTTP Server already running on the machine

 Note:– Supported Web Servers.
In our case we have http server listening on port 7777.{We have Installing Oracle Web Tier 32-bit on a 64-bit Linux Operating System}
Make sure http server is running as:-

  • Navigate to Server instance sub directory
    For Example :-
    #cd /u01/middleware/Oracle_WT1/instances/instance1/bin
  • Check the status of http server using opmn {oracle process management notification }
  • So http server is running fine, now we will configure Siebel we Server extension.
  • Go to the install image that we created earlier .
  • Run the “runInstaller” script from the Disk1/install directory.
  • Select  Home Location.
  • Select Language and Click Next.
  • We skipped the security update.
  • Once again (as we did earlier), we can skip the prerequisites check warnings as we are using  64 bit Operating System.
  • Cryptographic seed is used to encrypt user information in cookies used by SIEBEL.
  • Click Install on summary screen to proceed.
  • We can monitor installation from progress bar .
  • Click exit after you get success message

Now we will configure the Siebel we server extension that we just installed.

  • Navigate to sweapp directory
  • Source file and navigate to config subdirectory to run configuration tool in swse mode as
    ./ -mode swse
  • Enter Siebel Server hostname
  • Enter Siebel Connection Broker Port{Default is 2321}
  • Select Siebel Web Server Logical Profile that we created earlier , its located in gtwsrvr’s admin subdirectory .
  • Select web server Instance location.
  • We need to restart web Server after configuration so we select restart option
  • Click next to execute settings
  • Click exit after you get a success message.
  • Now we can test it on a web browser
  • We can log as SADMIN User.
    This Concludes Siebel Installation on Linux x86-64.

Installing Siebel 8.2.2 on Linux x86-64 Part-3

In this part we will Siebel database configuration tool to populate Siebel  database but fire we need to some preparation tasks as explained in following section.

4. Preparing to run the Siebel Database Configuration Tool.
 In This section we will prepare our system for running the Siebel database configuration tool.
Our aim is to prepare our database to be populated with  Siebel data.We will run grantusr.sql in dbsrvr directory.

  • Update grantusr.sql in dbsrvr ,to  add GUESTERM  and GUESTCST
  • It is recomended  take a backup of grantuser.sql
  • Add the following line to grantusr.sql
    Note:- It is very important to keep in mind that  grantuser.sql does not create GUESTERM  and GUESTCST user we need to manually add lines to grantuser.sql  to create these two users. :-)
  • Run the updated grantusr.sql
  • Enter username , password for Siebel Database Object
    {In earlier versions of grantuser.sql Siebel user was by default table owner but in this new version of grantusr.sql we can manually specify Table owner user} .
  • Select Table space created earlier when asked for default table space.
  • Also Enter Passwords for SADMIN and LDAPUSER users {It is highly recommended not to change SADMIN user}.
  • TO test we can connect to database as SADMIN user
    sqlplus SADMIN@OBIDB as sysdba
  • Next step is to Populate the Siebel database but first create environment file from scripts located inside siebsrv directory
    # cd /u01/siebel/
  • Run CreateDbSrvrEnvScript as
    # ./CreateDbSrvrEnvScript /u01/siebel/ ENU Oracle
    Here first argument is SIEBEL Base and  ENU is for language English , Oracle For dbserver database type.
  • It will create
    dbenv.csh and files under siebsrvr directory.
  • Source the newly created file.
  • Modify LD_LIBRARY_PATH and add 32-bit database client libraries to this path as :-
  • Note:- It is very important to add 32-bit database client libraries.
  • Above step is a very important step because , .odbc.ini file uses file and all of its supported libraries are not present until we add database client libraries to LD_LIBRARY_PATH.{We can also manually edit file to include database client libraries to LD_LIBRARY_PATH }
  • Now we can test database connection using a tool “ odbcsql “ present in the siebsrvr/bin directory . We can use this tool as :-
    [dbuser@vm50 bin]$ ./odbcsql /source Veebrij_8_DSN /user SADMIN /password SADMINPASSWORD
  • If all went well you should be able to connect successfully.
  • and as we can see we were able to connect successfully.
  • Now we are ready to run Siebel database configuration tool and populate the Siebel database. (Explained in next step)

5 . Running Siebel Database tool to populate the Siebel Database.
In this section we will do the following :-

  1. Run database Configuration tool
  2. Populate and Test Siebel database.

To run database configuration tool:-

  • Navigate to config sub-directory
  • Run the configuration tool in dbsrvr mode as
    # ./ -mode dbsrvr
  • Installer will automatically detect Siebel Server and Gateway name Server directory from the Environment file that we sourced earlier.
  • Select Oracle here :-
  • Select Install Database option.
  • Select Installation operation
  • As we have already run grantusr.sql script earlier , we can click next.
  • Select encoding type :-
  • Enter the ODBC data source that we tested earlier.
  • Enter database username and password created earlier (when we ran grantusr.sql).
  • If there is any error after above step, we need to retest database connectivity and environment variables settings.
  • Enter the table space owner name and password.
  • Now it will ask for Index table space name {Which we have created earlier in Part-1.}
  • Note: – In Siebel grantusr.sql script assumes there is only one table and does not grant permission on Index Table Space.
    So we will manually need to grant permissions as:-
    SQL>alter user SADMIN quota unlimited on SIEBELINDEXTS;
    SQL>alter user SIEBEL quota unlimited on SIEBELINDEXTS;
  • Enter the tablespace name that we created earlier(Part-1).
  • Enter the Product license key. Siebel  License Key can be obtained from
  • Follow the GUI for next steps.
  • In linux Configuration tool generates a master_<Process>.ucf file in $SIEBEL_ROOT/siebsrvr/bin directory. We now need to use Siebel Server Upgrade Wizard to run that file.
  •  Click next to execute settings.
  • Click exit after you get a success message.

Our Next step is to run Server upgrade Wizard with the master install file that was created by the configuration tool in siebsrvr/bin directory. For this

  • Navigate to siebsrvr bin directory and call Server Upgrade wizard as
    # ./srvrupgwiz /m master_install.ucf
  • It will take a while to complete the process(around 60 minutes.)
    and screen like following will appear.
  • After completion you should get screen like below :-
  • Note that it took 60 minutes to complete the process.
  • Once the import is complete we can test if the tables are populated or not. As :-
  • Also we can check size of the SIEBELTS Table space which has grown up-to 1 GB
    So we are fairly confident that database has been populated.

Installing Siebel 8.2.2 on Linux x86-64 Part-2

3.Installing and Configuring a Siebel Enterprise Server
In this Part we will :-
a. Install Siebel Enterprise Server
b. Configure a Siebel Gateway Name Server
c. Configure a Siebel Enterprise within a Gateway Name Server.
d. Create a Siebel Web Server Extension Logical Profile.

3.1.1 Installing Servers:-
Install the servers in the following sequence:-
Siebel Gateway Name Server
Siebel Server
Database Configuration Utilities (with the first Siebel Server)}

  • Create a destination Directory for Siebel Installation and provide permissons accordingly.
    #mkdir /u01/siebel
    #chown oracle:oinstall /siebel
  • Run “runInstaller” with oneClick option.
    # ./runInstaller -oneclick
  • Specify Oracle Home and Oracle Location
  • Select the product and Language to be installed .
  • We can Skip Security Update .
  • As the installer is checking the system for a 32 bit installation , and we are on a 64 bit platform Installer will through errors while performing System Check. Ignore System Check messages.
    Ref:- OUI-11104 Warning While Installing Siebel Enterprise Server 8.2.2 on OEL 5.5 (Oracle Enterprise Linux) [ID 1476556.1]
  • Click Install on the Summary Screen to proceed with the Installation.
  • We can monitor the Installation Procedure from Installation Screen.
  • And if everything goes alright a success message will appear as :-
  • Press Exit to End Installation.

3.2.2 Configure the Siebel Enterprise :-

  • Now that Siebel Installation is complete , next step will be to configure Siebel Enterprise.
  • We need to configure :–
    a. Siebel Gateway name Server
    b. Siebel Enterprise on/within Siebel Gateway Name Server     computer.
    c. {To Configure the Siebel Web Server Extension}. Create a Siebel Web Server Extension Logical Profile.

1.We will use configuration tool located in Gateway Server’s bin directory.

  •  Change to installation directory
    # cd /u01/siebel/
  • source the environment file , as
    [dbuser@vm50 gtwysrvr]$ source
  • Navigate to the config subdirectory
    Invoke to configure Siebel Server and so on
    #./config -mode mode_name
    Here mode_name specify the Configuration Wizard to run.
    Here in our case it’s “enterprise” as we are configuring Siebel Enterprise.
    [dbuser@vm50 config]$ ./ -mode enterprise
  • Click on Create New Configuration.
  • First we will be configuring Gateway Name Server.
  • Choose a network TCP/IP port to use with the Gateway Name Server.
    Default Port is 2320
  • If you want to save a response file later usev(Like Silent/Console Install ) you can save it on this screen , otherwise leave it blank.
  • Click next to continue.
  • It should return a success message.
  • Click exit to End Configuration Wizard.

2. Rerun to the configuration Wizard to Configure Siebel Enterprise     within Gateway   Name Server .

  • Enter Gateway Name Server User Name and password.
  • Enter machine name when asked for Gateway Name Server Host Name.
  • Enter the network TCP/IP port that we are using with Gateway Name Server. {Remember we assigned 2320 when we were configuring Name Server}
  • Note:-If our Gateway name server is running then after clicking next everything will be fine , thus we are also testing if our gateway name server is running or not{which we didn’t perform earlier;-) }
  • Enter Siebel Enterprise Name and description.
  • Next step is to provide primary Siebel File System. Installer will not create this automatically SO ?
    Note: – “ We need Create Siebel File System Manually as it will not do so by itself.”
    # [dbuser@vm50 ~]$ cd /u01/siebel/
    # mkdir fs {File System Should be accessed to every Siebel Server}
  • Select Oracle as RDBMS Owner and Database Table owner
  • Enter the Oracle SQLNet Connect String:
  • Enter Database Username Password for Siebel Database User account{We will be creating this in next Part}.
  • In the Authentication profile we will be using database authentication .
  • As we are configuring Enterprise for first time we must select propagate Authentication Setting to Gateway Name Server.
  • Click next on summary to deploy our Enterprise .
  • Click exit after success message.

3. Rerun for third Time to configure Web Server extension logical    Profile.

  • Enter Siebel Enterprise Name , Entered Earlier
  • Enter location for Profile .Configuration tool will create this directory automatically.
  • To enable application specific statistics reporting. When disabled, only basic statistics will be collected on the statistics Web page for a Siebel Web Server Extension with the assigned profile.
  • Select the compression type to be used for messages exchanged between Siebel Web Server Extension and Siebel Server.
  • Enter Login Session and Active Session Time Out values(In seconds)
  • Note:-HTTP PORT 80 is reserved in Linux only Root can Access it so we need to change it.
  • We will use default employee login and Customer Login.
  • Employee is :- GUESTERM
    Also Enter Employee Password
  • Similarly enter Default Customer Name and Password.
  • Enter the Security Token and Default statistic page.
  • Select TCPIP as connection Protocol
  • Click next on summary screen to complete configuration
  • You should get a success message .Click exit after Success message.
  • Run Post Installation Tests.
    Source newly created in gtwysrvr directory.
    Note :- “As we have not configured database till now we will not be able to use gateway Name server”.
    So test for now we can check if any process is listening on 2320
  • also we can check if any sieb process is running or not ?
  • So above two test’s are positive.
    There is also a useful tool in the bin directory (in gateway name server directory)
    list_ns allow us to track currently running gateway servers
    For Example :-

Installing Siebel 8.2.2 on Linux x86-64 Part-1

1. Verifying Siebel Prerequisites and Installing the Database   Client .
The first step will be to check all the Prerequisites required for sieble installation.So we will be .
a.checking the operating system prerequisites for    installing a Siebel Enterprise Server on Linux, including      verifying the operating system, user, and database. and install the 32-bit Oracle database client, a prerequisite for configuring a Siebel Enterprise that uses an Oracle database.

1.1.1 Configuration details:-

  • 64 bit 11g Database
  • 32 bit Database Client
  • Java Developer Kit (JDK) version 1.6
  • Siebel 8.2.2
  • OEL & Kernel Version
    #cat /etc/*-release ———{EL server 5.4 }
    # uname –a   {To varify kernel Version}
    For Example:-
  • Linux vm50.vTest.localdomain 2.6.32-200.13.1.el5uek #1 SMP Thue Jun 18 02:02:33 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
  •  Oracle Validate Package Installed or Not?
    # rpm -qa | grep oracle-validated

1.1.2 Install Oracle Database 11g as per oracle documentation.

  • Oracle Database 11g 64 bit
  • Oracle Database user and Groups
    # whoami {To determine which one is current user}
    # groups  {To determine all the groups of current user}
  • Varfy oracle Database , ORACLE_HOME and other Environment variables are set , Tnsping to ping database ,
  • # echo $ORACLE_HOME
    # tnsping SIEBLE_DB_NAME

1.1.3 Create Tablespaces for Siebel
We need to create table-space for the Siebel Database that we will be populating later.
We have created two tables , siebelts and siebelindexts {for siebel indexes}.

1.1.4 Install 32 bit Oracle Database Client to support Siebel Application.
 Go to
Select Oracle Database Software for Linux x-86 as we are installing 32 bit Oracle Database Client.

Download  “Oracle Database 11g Release 2 Client ( for Linux x86 ”
Unzip the downloaded File and go to newly created directory
# unzip -o
# cd client

  • Run “runInstaller” script to install Oracle Database Client 11g.
    “On a side note we need to install oracle ODBC drivers as  Oracle Siebel installation uses Oracle ODBC drivers to connect to the database.”
    # rpm -qa | grep unixODBC  {To check Unix ODBC Drivers are Installed on the computer before Installing the client}
    Result should be like for example :-
  • {Twice because we will have one for 32-bit version and other for 64-bit version}
  •  Now run “runInstaller” select Custom Installation
  • Select language :-
  • Installer detects oracle database already installed on the system and select s/w home automatically. But as we know that database installed is 64 bit and client that we are installing is 32 bit so they are Incompatible.
  • Change the Software location Directory.
  • Components to Select are: –
    Oracle Database Utilities, SQL*Plus and Oracle ODBC Driver.
  • Click finish on the summary screen to install components.
  • Run the root script {But we already have Oracle database installed hence we will not run root script?}
  • Click ok and you should get a success message as
  • Test the 32-bit database client by running the 32-bit version of sql*plus , Verify ORACLE_HOME is set and go to client directory
    # echo $ORACLE_HOME
    # cd $ORACLE_HOME
    #cd ../client
    #cd bin
    Now Run the local Version of the sqlplus and confirm that it connects to the database.
    # sqlplus sys@obidb as sysdba

So we conclude that have installed 32 bit client successfully.

2. Downloading the Siebel Software and Creating an Installation Image.

2.1. Download Siebel Software.

2.2 Creating Installation Image

  • Create a directory Where you want to stage Image ,
    #mkdir Siebel_Install_Image
    #mkdir Siebel_Install_Image/JAR_Files
    #chown -R oracle:oinstall Siebel_Install_Image/JAR_Files
  • Unzip all the files to a directory , Lets say /u01/Siebel_Install_Image/JAR_Files
  • We need to extract following Files{Downloaded from Edelievery} :-
    Third-Party Applications , Base Applications , English Language pack and Image Creator files.
  • go to the Jar Directory ,These jar files will be used by “Siebel Network Image Creator” to create the installation image used to install Siebel Enterprise and Siebel Web Server Extension.
  • {Siebel Network Image Creator Script}, used to create installation Images.
  • Set JAVA_HOME Environment Pointing to java installation.
    # export JAVA_HOME=../../jdk1.6.0_29
  • Run Image Creator Script {}.
    # ./ {Invokes Siebel Image Creator Utility that has simple set of screens}
  • Select create a new image option.
  • Select a directory where you want to copy product install images. As we are following slandered Oracle Procedure we keep it as /u01/Siebel_Install_Image
  • Select Linux as Platform
  • Select the product for image creation.
  • Select Language English.
  • Image creator will now extract all the files which can be screen on the command prompt.
  • Click finish to complete Siebel Installation wizard.
  • We created Two Installers:-
    One for Siebel Enterprise Server.
    Other for Siebel Web Server Extension