Deploying Siebel Enterprise Configuration Data Using the Cfgmerge Utility

 Siebel Application Deployment Manager is not designed to deploy changes made to the configuration of enterprise parameters, servers, and components.These changes can be made either through the server management screens and views in the Siebel Web Client or through the Siebel Server Manager (srvrmgr) command line utility.

We already know that the storage location of this information is the siebns.dat file, which is managed by the Siebel Gateway Name Server.
Because some of the parameters refer to enterprise-specific paths or host names such as the file system path or the chart server host name, we cannot simply copy the siebns.dat file from one enterprise to the other.
The cfgmerge command line utility is one possible solution to achieving a merge of configuration stores.
The utility compares two siebns.dat files—target and source—and produces an input file for the Siebel Server Manager (srvrmgr) command line utility. This file contains the necessary commands to change those parameters in the target environment that have been modified in the source environment. The input file must be reviewed, modified if necessary, and then executed using the srvrmgr command line.
Deploying New Component Definitions from Source to Target Enterprises
The cfgmerge utility can produce input files on the enterprise level and the individual server level. It can only compare parameters, component definitions, and server components that are already present in both siebns.dat files and have the same names in both files.
If we wish to use the cfgmerge utility to deploy new component definitions from the source system to the target system, we have to create them manually in the target system by simply copying and renaming an existing component definition in the graphical user interface or by using a script and then running the utility.
 
Using the Cfgmerge Utility
The following list gives an example procedure of how to use the cfgmerge utility:
 
Log in to the Siebel Server Manger (srvrmgr) command line against the source enterprise.
Use the backup namesrvr command to create a backup of the current siebns.dat source file.
Rename the backup copy to siebns_source.dat.
Log in to the Siebel Server Manger (srvrmgr) command line against the target enterprise.
Use the backup namesrvr command to create a backup of the current siebns.dat target file.
Rename the backup copy to siebns_target.dat.
Copy both files created in the previous steps to a temporary directory on a machine where a Siebel Gateway Name Server is installed.
On this machine, open a command shell and navigate to the bin directory of the Siebel Gateway Name Server installation folder.
Execute a command similar to the following to create the input file at the enterprise level.
 
cfgmerge -l ENU -i D:\cfgmerge\siebns_source.dat,D:\cfgmerge\
siebns_target.dat -e SIEB_DEV,SIEB_TEST -o D:\cfgmerge\DEV_TEST_
ENT.txt
The above command invokes the cfgmerge utility. The -l parameter takes a three letter language code. The -i switch is followed by a comma-separated list of the full paths to the file representing the source siebns.dat and the file representing the target siebns.dat. The -e switch is followed by a comma-separated list of the names of the source enterprise and the target enterprise. The -o parameter value specifies the path where the output file should be written to.
Execute a command similar to the following to create the input file at the server level:
 
cfgmerge -l ENU -i D:\cfgmerge\siebns_source.dat,D:\cfgmerge\
siebns_target.dat -e SIEB_DEV,SIEB_TEST -s Dev_1,Test_1 -o D:\
cfgmerge\DEV_TEST_SRV.txt
The above command is similar to the one that generates the enterprise level output. The difference is the -s switch, which is followed by a comma-separated list of the names of the two Siebel servers to compare.
 
If necessary, we repeat the command for any additional Siebel servers in the source or target enterprise.
 
Review and modify the output files if necessary. It is mandatory to thoroughly review the output files of the cfgmerge utility in order to avoid unwanted changes being applied to the target enterprise configuration.
 
Log in to the Siebel Server Manager (srvrmgr) against the target enterprise and execute a command similar to the following to apply the changes:
 
 
read D:\cfgmerge\DEV_TEST_ENT.txt
read D:\cfgmerge\DEV_TEST_SRV.txt
The read command opens the specified file and executes all commands in that file.
 
The process is completed by shutting down and restarting all services of the target enterprise. If end users are affected by the shutdown, we must of course ensure that the end user community is notified of the downtime well in advance.