3Configuring the System Architecture

Configuring the System Architecture

This chapter provides an overview of configuring the Siebel Server and its components, modifying Siebel Server parameters, and reinstalling the Siebel Gateway and Siebel Servers, if necessary. This chapter includes the following topics:

About Configuring the Siebel Server and Its Components

Before starting the Siebel Server, you might want to modify how it has been configured. You must enable component groups on the Siebel Server. This topic describes some of the configuration-related tasks that you must perform to maintain or administer your Siebel CRM installation.

For more information about configuring Siebel Servers and server components by using the Server Manager GUI, see Configuring Siebel Servers. For more information about configuring Siebel Servers and server components by using the Server Manager command-line interface, see Using the Siebel Server Manager Command-Line Interface.

Note: The instructions in this chapter assume that you have successfully installed and initially configured the Siebel Gateway, the Siebel Enterprise, and at least one Siebel Server. For more information about performing configuration tasks by using the Siebel Management Console, see the Siebel Installation Guide for the operating system you are using.

Before starting the Siebel Server, you might want to add site-specific parameter values or overrides of existing values by using the Server Manager GUI.

You can configure a Siebel Server by modifying the parameters at the Siebel Server, component, or task level for the given Siebel Server. Changes to parameters at the Siebel Server level are inherited at the component and task levels. Changes to parameters at the component level are inherited at the task level. You can also modify parameters at the Siebel Enterprise Server level. Siebel Servers, components, or tasks within the Siebel Enterprise Server inherit the values for modified parameters unless you have explicitly modified (overridden) these parameters at these levels (Siebel Server, component, or task level). For more information, see About Siebel System Parameters.

For information about configuration tasks using Siebel Management Console, see the Siebel Installation Guide for the operating system you are using.

About System Environment Variables

Environment variables are variables configured for a particular computer hosting an aspect of a Siebel CRM deployment. These Siebel-specific environment variables configure interactions with the computer's operating system and various functions of Siebel CRM applications. Configure environment variables through the operating system of the individual computer. For information about configuring these variables, see Configuring System Environment Variables.

Environment variables configure a wide range of functionality and are covered in context-specific areas of the Siebel Bookshelf. The Siebel Bookshelf is available on Oracle Technology Network (OTN) and Oracle Software Delivery Cloud. It might also be installed locally on your intranet or on a network location.

The following table provides a partial listing of environment variables for Siebel CRM or that affect the Siebel CRM applications, and it indicates one or more locations where each variable is documented. This list is not comprehensive. Some environment variables are set automatically. In general, you set environment variables explicitly only as you are instructed by documentation for Siebel CRM.

Table Partial Listing of Siebel Environment Variables

Environment Variable

Where Documented

NLS_LANG

Siebel Installation Guide for the operating system you are using

NLS_SORT

Siebel Installation Guide for the operating system you are using

ORACLE_HOME

Siebel Installation Guide for the operating system you are using

PATH

Siebel Installation Guide for the operating system you are using

SIEBEL_CODEPAGE

Siebel Installation Guide for the operating system you are using

TEMP

Siebel Installation Guide for the operating system you are using

TMP

Siebel Installation Guide for the operating system you are using

LD_LIBRARY_PATH (Linux and Oracle Solaris)

Siebel Installation Guide for UNIX

JAVA_HOME

Siebel Installation Guide for UNIX

LANG

Siebel Installation Guide for UNIX

LC_ALL

Siebel Installation Guide for UNIX

LIBPATH (AIX)

Siebel Installation Guide for UNIX

NLS_DATE_FORMAT

Siebel Installation Guide for UNIX

ODBCINI

Siebel Installation Guide for UNIX

SHLIB_PATH (HP-UX)

Siebel Installation Guide for UNIX

SIEBEL_HOME

Siebel Installation Guide for UNIX

SIEBEL_GATEWAY_ROOT

Siebel Installation Guide for UNIX

SIEBEL_SERVER_ROOT

Siebel Installation Guide for UNIX

SIEBEL_ROOT

Siebel Installation Guide for UNIX

SIEBEL_ENTERPRISE

Siebel Installation Guide for UNIX

SIEBEL_UNIXUNICODE_DB

Siebel Installation Guide for UNIX

TNS_ADMIN

Siebel Installation Guide for UNIX

SIEBEL_ASSERT_MODE

Siebel Performance Tuning Guide

SIEBEL_OSD_LATCH

Siebel Performance Tuning Guide

SIEBEL_OSD_MAXLIMITS

Siebel Performance Tuning Guide

SIEBEL_OSD_NLATCH

Siebel Performance Tuning Guide

SIEBEL_OSD_PTHREAD_STACK_SIZE

Siebel Performance Tuning Guide

2007183.1 (Article ID) on My Oracle Support

Note: This environment variable applies only to supported versions of UNIX or Linux operating systems.

SIEBEL_SARMBufferSize

Siebel Performance Tuning Guide

SIEBEL_SARMFileSize

Siebel Performance Tuning Guide

SIEBEL_SARMLevel

Siebel Performance Tuning Guide

SIEBEL_SARMMaxFiles

Siebel Performance Tuning Guide

SIEBEL_SARMPeriod

Siebel Performance Tuning Guide

SIEBEL_CRASH_HANDLER

Siebel System Monitoring and Diagnostics Guide

SIEBEL_DIAG_STORE

Siebel System Monitoring and Diagnostics Guide

SIEBEL_LOG_ARCHIVES

Siebel System Monitoring and Diagnostics Guide

SIEBEL_LOG_DIR

Siebel System Monitoring and Diagnostics Guide

SIEBEL_LOG_EVENTS

Siebel System Monitoring and Diagnostics Guide

SIEBEL_SESSMGR_TRACE

Siebel System Monitoring and Diagnostics Guide

SIEBEL_SISNAPI_TRACE

Siebel System Monitoring and Diagnostics Guide

SIEBEL_STDERROUT

Siebel System Monitoring and Diagnostics Guide

SIEBEL_DATA_SOURCE

Using Siebel Tools

SIEBEL_TABLE_OWNER

Using Siebel Tools

SIEBEL_FILE_ENCODING

Siebel Marketing User Guide

SPELLCHECKLEVEL1

Set to True when using the spell check feature with outbound email messages. For more information about this feature, see Siebel Email Administration Guide.

RESOLV_MULTI

1435205.1 (Article ID) on My Oracle Support

Note: This environment variable applies only to supported versions of Oracle Enterprise Linux.

Configuring System Environment Variables

This topic describes how to configure system environment variables on Windows and on UNIX. For more information about Siebel environment variables, see About System Environment Variables.

This topic contains the following information:

Configuring an Environment Variable on Windows

This procedure describes how to configure an environment variable on Windows.

To configure an environment variable on Windows

  1. Choose Start, Settings, Control Panel, and then double-click System.

  2. Click the Advanced tab, then click Environment Variables.

  3. In the System Variables section, click New to create a new environment variable.

    For a partial list of Siebel environment variables, see About System Environment Variables.

  4. Set the Variable Name field to the name of a Siebel environment variable.

  5. Set the Variable Value field to the value for the Siebel environment variable.

  6. Restart the computer for the environment variables to take effect.

Configuring an Environment Variable on UNIX

This procedure describes how to configure an environment variable on UNIX.

To configure an environment variable on UNIX

  1. Log in as the Siebel Service owner user.

  2. Run the siebenv.sh or siebenv.csh script to set Siebel environment variables. For more information about these scripts, see Siebel Installation Guide for UNIX.

  3. Depending on the type of UNIX operating system that you use, enter a command like the following to set the environment variable.

    For Korn shell:

    export Siebel_Environment_Variable=Variable_Value
    

    For C shell:

    setenv Siebel_Environment_Variable Variable_Value
    

    where:

    • Siebel_Environment_Variable is a Siebel-specific environment variable.

    • Variable_Value is the setting for the environment variable.

    For example, enter the following command for C shell:

    setenv SIEBEL_SARMLevel 1
    
  4. Restart the computer for the environment variables to take effect.

Configuring Siebel Server Load Balancing

Siebel Server load balancing distributes the workload across multiple Siebel Servers. For background information and information about initially configuring your Siebel CRM server environment, see Siebel Deployment Planning Guide and the Siebel Installation Guide for the operating system you are using.

This topic contains the following information:

About Rebalancing Siebel Server Loads

Server loads can become unevenly distributed for several reasons:

  • You have just added a new Siebel Server to the network. It will have a low workload compared to other Siebel Servers.

  • You have just enabled an Application Object Manager on a Siebel Server. It will have a lower workload than other Application Object Managers on different Siebel Servers.

  • There was a server configuration or request routing problem that prevented even distribution of workloads. When this problem is corrected, one or more Siebel Servers will have low workloads.

Siebel native load balancing distributes workloads based on logins. Users must terminate existing sessions and log in to the new sessions to cause workloads to be redistributed. For example, you have 1000 concurrent user sessions running on three Siebel Servers. You then add a fourth Siebel Server. Until all of the users end their sessions and log in again, the load is not evenly distributed between all four servers.

Whenever possible, let normal user login behavior rebalance Siebel Server workloads. Intervene only when absolutely necessary. To rebalance server workloads, stop SCBroker on a Siebel Server. Doing so directs workload away from that server, but does not affect existing user sessions. However, session reconnect does not work for this server. If the connection times out, and user requests come through a Siebel Application Interface other than the one used for login, then the session is lost.

Troubleshooting Siebel Native Load Balancing

This topic provides guidelines for resolving problems with Siebel native load balancing. To resolve a problem, look for it in the list of symptoms or error messages in the following table. Some problem solutions in the table require changing the function of server components.

Table Resolving Siebel Native Load Balancing Problems

Problem

Cause

Solution

Users do not get a login page. The browser might display Server Busy Error.

Verify TCP port access for Siebel Servers, Siebel Gateway, and Siebel Application Interface.

See Verifying Load Balancing Port Access on Siebel Servers.

Increase the Siebel Application Interface logging level.

To turn on detailed Siebel Application Interface logging, increase the log level for Siebel Application Interface. For more information, see the information about configuring the Siebel Application Interface in the Siebel Installation Guide for the operating system you are using. The logs for this module are located in SIEBEL_AI_ROOT/applicationcontainer/logs.

Users can connect but loads are not balanced evenly between Siebel Servers

Unequal loads might be caused by characteristics of users and jobs.

Because jobs are distributed in a round-robin fashion, it is normal for a snapshot of the servers to show somewhat unequal loads. Unequal loads can be caused by several things, including the nature of the jobs and the rate at which users log in and log out on different servers. Over a longer period, the number of sessions handled by each server evens out.

Siebel Servers do not have equal access to computing resources.

Verify that all of the Siebel Servers have equal access to computing resources such as CPU and memory.

A Siebel Server has recently been added or has been restarted.

Load balancing is based on user logins. During the process in which current sessions are terminated and new sessions are started, the new Siebel Server is included in the load sharing.

A Siebel Application Interface cannot route requests to one or more Siebel Servers.

Check for connectivity problems between the Siebel Application Interface and the Siebel Server with the low workload, as described earlier in this table.

A Siebel Server is rejecting an unusual number of user requests.

Check the Siebel Application Interface log files for SISNAPI Connection Refused messages. Possible causes are:

  • The SCBroker component either is not running or is listening on a different port.

  • The requested Application Object Manager is not running or cannot run any more tasks.

  • The requested Application Object Manager has a task or thread that is not responding.

  • The Application Object Manager cannot communicate with the database server.

A Siebel Server has functional or configuration problems.

Enable server diagnostics. Look for problems with components. Verify that the basic configuration is correct. For more information about monitoring and diagnosing server problems, see Siebel System Monitoring and Diagnostics Guide.

Verifying Load Balancing Port Access on Siebel Servers

This topic describes how to verify access to the load balancing port (that is, the port on which the SCBroker component listens) on your Siebel Servers.

To verify load balancing port access on your Siebel Servers

  1. On the computer where Siebel Application Interface is running, telnet to the SCBroker port (such as 2321) on each Siebel Server.

    For example, if a Siebel Server has the host name SiebSrvr1, then use the following command:

    telnet SiebSrvr1 2321
    

    If the connection succeeds, then there is load balancing port access. The connection times out after 500 ms.

    If the connection fails, with the message Could not open connection to server, then complete the remaining steps that follow.

  2. Verify that the Siebel CRM applications that you want are running on each Siebel Server.

  3. On each Siebel Server, verify that SCBroker is running and is configured to listen on port 2321.

  4. Verify that the operating system is not blocking access to the SCBroker port.

  5. Check that no other networking device, such as a firewall, is blocking access to the SCBroker port.

Related Topics

About Siebel Connection Broker (SCBroker)

Configuring the Session Manager

The Session Manager is a layer within the Siebel Application Interface and Application Object Manager that manages TCP/IP (SISNAPI) connections between clients and Application Object Managers. The Session Manager primarily manages communications between the Siebel Application Interface and the Siebel Server. It is not a stand-alone component, but it is embedded in Siebel Application Interface and in an Object Manager component that is directly accessed through an external interface, such as Component Object Model (COM).

Note: SISNAPI is a proprietary messaging format used for communication with Siebel Servers, and between multiple Siebel Servers. The acronym stands for Siebel Internet Session API (Application Program Interface).

The Session Manager is primarily responsible for establishing and managing connections from the client to the Application Object Manager. A connection is established for each new session request, and is kept open or terminated based on connection multiplexing settings. The Session Manager allows multiple client sessions to share the same pool of connections, thereby minimizing resource usage and maximizing overall performance.

When a client requests a new session, the Siebel Application Interface receives the HTTP request, translates the request into SISNAPI messaging format, and invokes the Session Manager, which is embedded in the Siebel Application Interface, to obtain a physical connection to the Siebel Server. The Session Manager creates a new, temporary connection, which is load-balanced to an available Siebel Server.

After this temporary connection is made to a Siebel Server, Session Manager checks to see whether there are enough connections to the target process. If there are enough TCP connections, then the temporary connection is dropped and the existing connection is used for this new user session. If a connection is not available, then the temporary connection is retained. For more information about this process, see Siebel Performance Tuning Guide, which describes the use of the parameter Number of Sessions for each SISNAPI Connection (alias SessPerSisnConn).

After Session Manager opens a connection to the Siebel Server, it closes connections based on the time the connection remains idle. The parameter SISNAPI Connection Maximum Idle Time (alias ConnIdleTime) controls this feature. After reaching the configured idle period, the connection is disconnected by the Application Object Manager process.

A benefit of the ConnIdleTime parameter is to manage connections that pass through a firewall placed between the Siebel Application Interface and the Siebel Server. Because firewalls block idle connections, the ConnIdleTime parameter can be configured to disconnect idle connections before they are blocked by the firewall. This setting avoids future connection problems between the Siebel Application Interface and the Siebel Server.

Note: Only enable the ConnIdleTime parameter at the component level, specifically, for Application Object Manager components.

For more information about communication between the client and the Siebel application, see Siebel Performance Tuning Guide.

Parameters that modify Session Manager and SISNAPI connections are available for each component at the component level. For more information about these and other parameters, see Siebel Enterprise, Server, and Component Parameters.

Reinstalling the Siebel Gateway and Siebel Server

In some cases, you might have to reinstall the Siebel Gateway and Siebel Servers. These cases include scenarios when you want to:

  • Rename the computer on which the Siebel Gateway, Siebel Servers, or both are running.

  • Make structural changes to the directory where the Siebel Gateway, Siebel Servers, or both are installed.

  • Move the Siebel Gateway, Siebel Servers, or both to another computer.

Each of the listed operations requires you to uninstall and reinstall both the Siebel Gateway and Siebel Servers. Uninstalling also requires that you first perform the necessary tasks to remove associated configuration data. For more information about installing and uninstalling Siebel Servers and the Siebel Gateway and about tasks for configuring and for removing configuration data, see the Siebel Installation Guide for the operating system you are using.

Caution: In general, uninstalling and reinstalling server modules can present severe consequences for your application environment. Avoid these tasks and associated tasks wherever possible or perform them only when necessary.

You uninstall and reinstall Siebel Servers and the Siebel Gateway in the following sequence.

To uninstall and reinstall server entities

  1. Uninstall each Siebel Server.

  2. Uninstall the Siebel Gateway.

  3. Reinstall the Siebel Gateway.

  4. Reinstall each Siebel Server.

    After installation and initial configuration, you perform any additional necessary Siebel Server configuration tasks, such as to define new components, enable or disable components and component groups, assign component groups to Siebel Server, and so on. You must also reextract all of the Mobile Web Clients. For information about extracting Mobile Web Client databases, see Siebel Remote and Replication Manager Administration Guide.