6Extracting and Initializing a Remote Server
Extracting and Initializing a Remote Database
This chapter describes how to extract and initialize a remote database. It includes the following topics:
Process of Extracting the Server Database
This process is a step in Roadmap for Implementing Siebel Remote.
You do the following tasks to extract the server database for a remote client:
You must repeat this process for each remote client.
Verifying the Reporting Hierarchy and Employee Status
This process is a step in Process of Extracting the Server Database.
You must make sure that the reporting hierarchy for your organization is accurate and that the employee status is valid before you can extract the server database for a remote client.
To verify the reporting hierarchy and employee status
Log in to the Siebel Server with administrator privileges.
For more information, see Logging in to the Siebel Database as an Administrator.
Make sure the reporting hierarchy for your organization is valid:
Navigate to the Administration - Group screen, and then the Positions view.
Verify that the user you are about to extract contains a valid position in your organization hierarchy.
The routing rules use information from the Positions view of the Administration - Group screen. This information might affect the server database extract. For more information, see How Positions, Organizations, and Responsibilities Affect Access and Siebel Applications Administration Guide.
Verify the employment status.
You must make sure that the Employee record for the remote client displays a status of Active. Some earlier versions of Siebel CRM did not populate this field. An inactive status or a null field value might prevent a successful extraction and initialization, and might cause incorrect data routing. You do the following work:
Navigate to the Administration - User screen, and then the Employees view.
Query the User ID field for the employee record you must verify.
Click the Last Name field.
Click the Job Information view tab.
To view the Job Information view tab, it might be necessary for you to click the down arrow that is located at the far right of the view tab bar.
In the Job Information form, verify that the Employment Status field is Active.
The remote client environment requires a value of Active.
How Positions, Organizations, and Responsibilities Affect Access
Employee responsibilities and positions determine the access that the user possesses to the server database. Balancing the data routing model with user access helps to optimize the size of the local database for this user. It also helps to minimize synchronization time. You must make sure the routing model is consistent with the user responsibilities and position. For information about configuring the routing model, see Configuring the Remote Client to Automatically Synchronize.
Keeping Organization Information Current on the Remote Client
Modifications that you make to your organization, such modifying a position, division, or territory, can cause routers to reevaluate visibility for objects that are related to these modified objects. These modifications can affect Transaction Router performance and can result in a large backlog of transactions.
The remote client environment requires a value of Active. Siebel Remote creates progressively more transactions the higher in the hierarchy where you modify, add, or delete a position. The Transaction Processor and the Transaction Router might require a significant amount of time to work through the backlog and route these modifications to users. You can do the following to improve throughput:
Keep organization information current on the remote client
Use multiple routers
To keep organization information current on the remote client
Reextract users after you modify your organization.
Caution: For important caution information about modifying a position for a user or modifying a routing model, see Requirements for Extracting the Server Database.
For more information, see About the Standard Routing Model.
Updating a Responsibility
If you modify a user responsibility, then Siebel Remote downloads this new information to the local database during the next synchronization. It is not necessary to reextract the server database. For more information, see Limiting Access to Views by Modifying Responsibilities.
To update a responsibility
Modify the responsibility on the Siebel Server.
Inform the user to synchronize, log out, and then log back in to the remote client.
This step is necessary to access the views that Siebel Remote displays under the new responsibility.
Extracting the Server Database
This process is a step in Process of Extracting the Server Database.
Database extraction uses the server database template that the Siebel Server creates when you run the Generate New Database server component. This template provides an up to date database schema to a new or existing remote client. It is strongly recommended that you distribute all database schema modifications to all remote clients.
The Database Extract server component (alias DbXtract) does the following work:
Identifies visible instances for all members of a list of nodes.
Identifies the commonly visible instances and extracts the records only one time for all these nodes.
Extracts instances that reside outside of the common set for each node.
This configuration helps to reduce the time that Siebel Remote requires to extract a large number of users. The Optimal Mode parameter enables this process. If the Optimal Mode parameter is TRUE, then other parameters can affect the time that Siebel Remote requires to complete the extraction. Example parameters include Nodes Per Group and Extract All Repository Files.
Unable to connect to Database
. For example, you might run the job by entering a command like this on the srvrmgr command line:
start task for comp dbxtract with username=user_name, password=pwd
Related Topics
How Siebel Remote Extracts Local Databases
Controlling the Data That Siebel Remote Routes to Clients
Related Books
Siebel Performance Tuning Guide
To extract the server database
Make sure you complete all required work.
Caution: Do all required work before you extract the server database.For more information, see Requirements for Extracting the Server Database.
Log in to the Siebel Server with administrator privileges.
For more information, see Logging in to the Siebel Database as an Administrator.
If the local database contains unsynchronized transactions, then you must attempt to synchronize those transactions before you proceed.
Navigate to the Administration - Server Management screen, and then the Jobs view.
In the Jobs list, click New.
In the Component/Job field, choose Database Extract from the picklist.
In the Requested Server field, enter the name of the Siebel Server where Siebel Remote runs the Database Extract job.
After the job finishes, the read-only Execution Server field displays the name of the Siebel Server that ran the job. For a Database Extract job, this server is the same as the Requested Server.
Locate the Job Parameters list that resides below the Jobs list and the Job Detail form.
Click New in the Job Parameters list that you located in Step 8, and then add a parameter using values from the following table.
Parameter Name Description Client Name
Enter the remote client name.
For more information, see Extracting a Database for Multiple Users.
Optional. To use DAT format for the server database extract file, click New, and then add a parameter using values from the following table.
Parameter Name Value Data File Type
DAT
Optional. To specify a password for the database administrator on the remote client, click New, and then add a parameter using values from the following table.
Parameter Name Value Client DBA Password
Use the same value that you use with Generate New Database.
With the Database Extract record still chosen, click Start in the Jobs list.
Siebel Remote extracts the server database for the remote client. This step might require a few minutes to finish.
If you receive an error that is similar to the following, then see Rerunning a Database Extract to Avoid a Concurrency Error:
Target node is currently in use by another server process
If performance degrades during the extract, then take corrective action.
For more information, see Monitoring Performance of a Server Database Extract.
Requirements for Extracting the Server Database
Perform or review all of the items that this topic describes before you extract the server database. If you do not do this, then it might be necessary for you to reextract the server database for all users, which can be a time consuming and tedious task.
Do all the following tasks before you extract the server database:
Make sure the same conflict resolution rule is in effect for the local databases and for the server databases to maintain integrity across databases. You can specify the rule as part of the initial Siebel Remote implementation on your server database before you run a database extract for any client so that Siebel Remote copies the rule consistently to all remote clients.
Set the Intersection Table Conflict Resolution field before you extract any remote client. If you modify this field after extraction, then you must reextract all remote clients. If you do not reextract all clients, then server data and client data might diverge.
Set the Intersection Table Merge Rule field before you extract any remote client. If you modify this field after extraction, then you must reextract all clients. If you modify this field after extraction, and if you do not reextract all clients, then server data and client data might diverge.
Make sure you test time filtering thoroughly before you use it in a production environment. Make sure the cutoff dates you choose for time filtering allow the necessary data to reach the test remote clients. Deploying an incorrect cutoff date can prevent stable but necessary data from reaching the remote client. Price lists or rate lists are examples of this data. If you must choose an earlier cutoff date after you deploy Siebel Remote to a production environment, then it might be necessary for you to reextract all remote clients.
If you modify the server database schema after you deploy Siebel Remote to a production environment, then you must run the Generate New Database server component and reextract all remote clients, or you must use a Siebel Anywhere kit to distribute this modification to all remote clients. It is strongly recommended that you do this even if this modification only affects a private dock object because individual tables in a private dock object might become visible to a remote client at a later time. Problems might occur if the server database structure does not match the local database structure.
Define all positions and routing models before you deploy Siebel Remote to a production environment. If you must modify the Position for a user or a routing model, then you must reextract the server database to the remote client so that Siebel Remote deletes the records that it must not display to the user, according to the modified position. This configuration also improves Transaction Router performance because a reporting hierarchy reorganization for your company creates many transactions on the Siebel Server, and these transactions might cause a backlog.
Set the routing group before you deploy Siebel Remote to a production environment. If you modify the routing group from Standard to Full Copy after deployment, then you must reextract all remote clients that are associated with the regional node.
You must not rename or delete any DX files that exist in the
siebsrvr\docking\client\inbox
folder. If you rename or delete these files, then you will lose the transactions and you must reextract the remote client.
Rerunning a Database Extract to Avoid a Concurrency Error
If another Siebel Server process uses the target node, then Siebel CRM might display an error message. For example, if another Siebel Server process is accessing the inbox or outbox folder for user sjones, then Siebel CRM might display an error message that is similar to the following:
Target node "sjones" is currently in use by another server process. Try again later.
Rerunning a database extract to avoid a concurrency error
Wait a few minutes, and then rerun the server database extract.
If you wait a few minutes, then the file might be available and unlocked.
Monitoring Performance of a Server Database Extract
If you observe performance degradation, then it might be necessary to limit the number of children records for each parent record. The visibility for all children must be examined for each child. Attaching many children to the same parent record can degrade the performance of the router and the server database extract. This is true for objects with limited visibility. If more than 10,000 child records are attached to a parent record, such as with contacts attached to an account, then you must thoroughly test the performance of the server database extract and router.
How Siebel CRM Manages Modifications in the S_DOCK_SESSION Table
Siebel Remote stores the synchronization history of the remote client in the S_DOCK_SESSION table. It uses the data in this table for one of the Siebel Remote status reports. Although it does not remove the data in this table, reextracting a remote client automatically cleans up table rows that Siebel Remote associates with that client. For example, if you create a new account and assign it to the remote client, then Siebel Remote adds a new row for this client to the S_DOCK_SESSION table. If you reextract and reinitialize the remote client, then Siebel Remote removes the row that it created in the S_DOCK_SESSION table for the account. To clean up the S_DOCK_SESSION table, it is not necessary to resynchronize the remote client.
The LAST_ATTACH_BYTES column of the S_DOCK_SESSION table contains the last chunk of bytes for the last file attachment that Siebel Remote processes. It uses this column with the LAST_ATTACH_FILE column that stores the file name of the last attachment file that it processed.
Options for Extracting the Server Database
This topic describes options available to you when you extract the server database. It includes the following information:
Extracting a Database for Multiple Users
To simultaneously extract a database for multiple users, you create a text file that includes a list of the User IDs of the users. You then reference that text file in the Client Name parameter of the database extract.
In this example, assume you must configure Siebel Remote to do a database extract for the following users: AMARTIN, CCHENG, PSINGH and RMARLOW. To create a database extract for multiple users at the same time, you must create a text file that contains the user IDs of these users.
To extract a database for multiple users
Create a text file named clientlist.txt that contains the user IDs you require, such as the following new users:
AMARTIN
CCHENG
PSINGH
RMARLOW
The text file must contain the user ID for each user. To separate each user ID in this file, you can use a space, comma, semicolon, new line, or tab.
Do the procedure that starts with Extracting the Server Database.
In Step 9 in the topic Extracting the Server Database, enter a command like the following:
@\\server\clientlist.txt
In this command,
\\server\clientlist.txt
is the path to the text file you created in Step 1.To view the new subfolders for AMARTIN, CCHENG, PSINGH, and RMARLOW, examine the
siebsrvr\docking
folder.To confirm successful extraction, determine if compressed files exist in the
outbox
subfolder for each new folder that you examined in Step 3.If you are using more than one list, then start another instance of Database Extract.
Make sure you specify a different value for the TS Table Number parameter.
Extracting a Database for Hundreds of Users
You can extract a database for hundreds of users.
To extract a database for hundreds of users
Separate users into multiple lists that contain about 50 to 100 users for each list, where each list contains users who all synchronize with the same Siebel Server.
Log on to the Siebel Server that Siebel Remote uses to synchronize the users in this list.
Start a Database Extract task for each list.
Running Multiple Instances of Database Extract
You can run multiple instances of the Database Extract server component. If you do run multiple instances, to reduce contention, it is recommended that you assign each task to use a different temporary name for the S_DOCK_INITM_n table. Siebel Remote supports up to 100 such tasks. The Siebel schema includes 48 S_DOCK_INITM tables. If you require more temporary tables, then you can use Siebel Tools to create them. For more information, see Parameters of the Database Extract Server Component.
To run multiple instances of database extract
Assign a different temporary S_DOCK_INITM_n table for the TS Table Number parameter for each instance of Database Extract that you run.
For example, assign S_DOCK_INITM_2 for one instance, and assign S_DOCK_INITM_3 for another instance.
Using a Transaction Log to Optimize Performance
When operating without a transaction log, Oracle Database SE2 must use a checkpoint at the end of every transaction. Writing these modifications consumes considerable resources, and it can degrade performance.
To enable Oracle Database SE2 to write notes that detail modifications as they occur, you can use a transaction log. Oracle Database SE2 can write the new database pages all at one time and at a time that is more efficient. Checkpoints make sure information enters the server database file and that this information is consistent and up to date.
To use a transaction log to optimize performance
Open the Server Manager command line.
For more information, see Opening the Command Line Interface for Server Manager.
Enter the following command:
srvrmgr> change param ClientDbTxnLog=True for comp dbxtract
This command sets the ClientDbTxnLog parameter to True for the Database Extract server component. Subsequent database extracts include a transaction log.
Setting Encryption on the Local Database Password
You can encrypt the local database password.
To set encryption on the local database password
Make sure the Siebel Server and the parameters in the configuration file are configured to allow for encryption.
For more information, see Process of Configuring Encryption and Authentication for the Remote Client.
When you run a database extract, set the following parameter to TRUE:
Encrypt client Db password (alias EncryptLocalDbPwd)
Note: Password encryption interferes with project checkin and checkout. If the developer checks projects in and out, then you must not use password encryption in the remote client. When you run a database extract, do the following, set EncryptLocalDbPwd to FALSE.For more information about:
Parameters, see Parameters of the Database Extract Server Component.
Extracting a database, see Extracting the Server Database.
Related Topic
Extracting a Database to a CD-ROM or Other Portable Media
A database extract stores the compressed file on the Siebel Server, by default. To download data and initialize the local database, the user logs on to the Siebel Server. A database extract can also store the compressed file in a folder that you specify in the server database extract parameters. This feature allows you to copy the compressed database file from a folder, and then make an image of the files on a CD-ROM or other media device, that you can then distribute to users. The user can initialize the local database directly from the CD-ROM rather than having to download it from the Siebel Server.
The remote client must synchronize before it gets a database extract from a CD-ROM. The remote client requires a network connection to do this synchronization.
To extract a database to a CD-ROM or other portable media
On the Siebel Server, delete any .toc, .uaf, and .dat files that exist in the docking folder of the user.
Removing these files makes sure that the remote client does not attempt to download the files from the Siebel Server during the next synchronization.
Complete the procedure described in Extracting the Server Database, with the following modifications:
After you add the Client Name in the Component Request Parameters list, click New to add the CD Directory parameter using values from the following table.
Parameter Name Value CD Directory
Specify the name of the folder on the CD-ROM that Siebel Remote uses to extract the server database files. For example, type the following text:
E:\db_extract\username
where:
E: is the drive that contains the CD-ROM
db_extract\username
is a folder on the CD-ROM
Modify the values of other parameters, as necessary.
For more information, see Parameters of the Database Extract Server Component.
In the Component Requests form, click Menu, and then click Submit.
Siebel Remote extracts the local database to the folder that you specify in the CD Directory parameter. You can create an image of these files on a CD-ROM or other media device.
Truncating the dobjinst.dbf Database Tables
During the cleanup of the dobjinst.dbf database tables, you can choose to truncate or delete the tables. For more information, see Parameters of the Database Extract Server Component.
To truncate the dobjinst.dbf database tables
Set the Truncate TS Table parameter to TRUE.
Saving Transactions That Siebel Remote Does Not Include in an Extract
To prevent the loss of local transactions that a user might enter in the local database, you can use the Save Client Transactions parameter. This feature is valid for a typical reextract of the local database for the user. It does not work during a major upgrade or for records that Siebel Remote does not display for the user.
If Siebel Remote extracts a server database for a remote client, and if Save Client Transactions is TRUE, then Siebel Remote does the following:
Extracts transactions that it has not yet synchronized with the Siebel Server. It extracts these transactions from the current local database, and then stores them in the user inbox as DX files.
Replaces the current local database with the new extract.
Applies the DX files from the user inbox to the new local database. These files include the transactions that it has not yet synchronized with the Siebel Server.
Sends the transactions to the Siebel Server during the next synchronization.
To save client transactions that Siebel Remote does not include in an extract
Make sure the Save Client Transactions parameter is set to TRUE.
For more information, see Parameters of the Database Extract Server Component.
Strings That Siebel Remote Does Not Send to the Local Database
Siebel Remote does not send some strings to the local database. These strings reside in the S_MSG table. For example, some workflow processes include steps that use the Error Code property. When Siebel Remote extracts the server database for a local developer, it does not correctly route the records in the S_MSG table that the Error Code property uses.
Initializing the Local Database
This process is a step in Roadmap for Implementing Siebel Remote.
This topic describes the following ways to initialize the local database:
For options, see Options for Initializing the Local Database.
If you configure Siebel Remote to extract a database for a remote client, then you must initialize the local database so that Siebel Remote can exchange data exchange between this client and the Siebel Server. This includes uploading any local database modifications. Siebel Remote must download a substantial amount of information from the Siebel Server when it initializes a local database. It is strongly recommended that you create a LAN connection rather than using a WAN or VPN connection between the server and the remote client.
You can also initialize the local database from a CD-ROM or other media. For more information, see Extracting a Database to a CD-ROM or Other Portable Media.
Initializing the Local Database by Using the GUI
This topic describes how to initialize the local database by using the GUI.
To initialize the local database by using the GUI
Make sure the TableOwner parameter in the configuration file is set to the following default value:
Siebel
For more information, see Modifying the Siebel Configuration File for Siebel Remote.
Create a connection between the Siebel Server and the remote client.
In the Siebel program group on the remote client, click the Siebel Remote icon.
The target of the icon must reference the correct configuration file. The default value is siebel.cfg.
In the Siebel Remote Parameters dialog box, enter the following information:
In the Client Name field, enter the registered remote client name.
In the User Name field, enter the user login name.
For more information, see Format That Siebel Remote Uses for the Remote Client Name, Database Name, Login ID, and Windows Password.
Enter the password.
The password must match the authenticated password.
Click Continue.
Siebel Remote starts the initialization.
To monitor the process for errors, you can click the opposing arrows in the lower right corner of the screen.
Initializing the Local Database from the Command Line
This topic describes how to initialize the local database from the command line.
To initialize the local database from the command line
Make sure the TableOwner parameter in the configuration file is set to the following default value:
Siebel
For more information, see Modifying the Siebel Configuration File for Siebel Remote.
Use the stand-alone synchronizer.
For more information, see Using the Stand-Alone Synchronizer.
Initializing the Local Database During Login
This topic describes how to initialize the local database during login.
To initialize the local database during login
Make sure the TableOwner parameter in the configuration file is set to the following default value:
Siebel
For more information, see Modifying the Siebel Configuration File for Siebel Remote.
Log in to the remote client and connect to Local_SE.
For more information, see Logging in to the Local Database.
When the Siebel application cannot find a local database, it runs the procedure that begins with Step 1 in the topic Initializing the Local Database by Using the GUI to initialize the local database.
Options for Initializing the Local Database
This topic describes some of the options that are available when you initialize the local database.
Initializing the Local Database as a Nonadministrative User When Using Microsoft Windows
This topic describes how to allow a user who does not possess administrator privileges to initialize the local database when the remote client runs on Microsoft Windows.
To initialize the local database as a nonadministrative user when using Microsoft Windows
Log in to the Siebel Server with administrator privileges.
For more information, see Logging in to the Siebel Database as an Administrator.
Configure the remote client.
For more information, see Process of Configuring the Remote Client.
In Windows Explorer, right-click the folder for the remote client, choose Properties, and then click the Security Tab.
Choose the Group or User name.
Add the nonadministrative user.
Give full permissions, and then click OK.
Initialize the local database.
For more information, see Initializing the Local Database.
Initializing the Local Database When Using IBM DB2 for z/OS
If you use an RAS connection with IBM DB2 for z/OS, then you must set the Database Connection Timeout parameter before you initialize the local database.
To initialize the local database when using IBM DB2 for z/OS
Set the Database Connection Timeout parameter of the Synchronization Manager server component to a value that is less than the actual timeout of the connection.
For example, you might modify the DBConnectionTimeout parameter to 360. For more information, see Parameters of the Synchronization Manager Server Component.
Initialize the local database.
For more information, see Initializing the Local Database.