This site has been specifically designed to troubleshoot all Siebel related issues. When any exception or error occurs in Siebel, the cause is given by a specific error code. Whenever we face an issue, we try to Google or search for a resolution mostly from Oracle Support, IT Toolbox, Siebel Unleashed etc. I have tried to search for all the solutions for a particular error code in all the mentioned sites and put all the solutions in this site.

Search This Blog

SBL-DAT-60237: Error loading dictionary file diccache.dat.

Applies to:

Siebel System Software - Version: 7.7 [18026] BETA to 8.1.1 [21112] - Release: V7 to V8Information in this document applies to any platform.

Symptoms

Note: This solution only applies to enterprises running their OLTP database on an Oracle database.

When attempting to run KEYDBMGR (keydbmgr.exe), the following error is presented:

Error loading dictionary file diccache.dat.(SBL-DAT-60237) Cleaning up... this may take a while.

Cause

This behavior was caused by an Oracle database specific connectivity issue where the ODBC name must match the tnsnames.ora alias. The KEYDBMGR utility reads the connect string out of the .cfg file specified on its command line and then attempts to create an ODBC connection. With Oracle based Siebel implementations, however, the Siebel application normally uses Oracle native connectivity and therefore the connect string value is the tnsnames.ora alias name.

Solution

The suggested workaround is to create an ODBC data source with the same name as the Oracle TNS Names alias referenced in the .cfg file you specify on the keydbmgr.exe command line.

So assume that you have a standard Siebel generated ODBC data source named something like SiebSrvr_Siebel. Look at what the actual Oracle connect string is (for example siebeldb). Then create another ODBC datasource using the same driver but name the ODBC data source "siebeldb" (using my example).

Cause

Incorrect parameters in epharma.cfg file

Parameter ServerDbODBCDataSource in epharma.cfg file was set to %MASTER_DATASOURCE%.

Solution

1. Open epharma.cfg file2. Locate parameter ServerDbODBCDataSource under [Siebel] section.3. Change this parameter to the correct ODBC Data Source.4. Save and close the file.5. Execute keydbupgrade.exe utility and confirm if it works fine.

Symptoms

SBL-DAT-60237

I change the password on the Siebel databse for AVCI01S and was able to connect with SQL
Programmer but I'm getting an error. The following error appears in the log
file:ProcessPluginRequest ProcessPluginRequestError 1 0000000a468d214c:1 2007-07-05
16:51:27 5844: [SWSE] Failed to obtain a session ID. Error loading
dictionary file
diccache.dat.

After further investigation and testing, we were able to find that above error message was caused by shared database account. The shared database credentials are stored in the attribute defined by “Credentials Attribute Type” parameter of ADSI account defined by “Shared Credentials DN”parameter of ADSISecAdpt profile. The shared database credentials are stored in the format below:

username=<username> password=<password>

In previous Siebel versions, it was not required that the shared database accont to exist in Siebel Application as an employee. However, in Siebel version 8.0 this is required. Customer was using AVCI01S database account as shared database. After a new employee with same User ID as AVCI01S was created only in Siebel Application, ADSISecAdpt authentication worked fine and users were able to authenticate against ADSI Directory.

Change Request 12-1K81U2D has been opened to address this Product Defect and allow usage of shared database credentials of an account that does not exist in Siebel Application.

The workaround is to create a new Siebel user with same User ID as shared database account.

Cause

The error is caused by the ODBC data source settings for the local Tools database, which include a value in the "Server name" field by default. This causes a second connection to the local Tools database to fail.

Bug 12-1NCHPDP has been raised for this issue because the Server name field is filled by default by the Tools installation process.

We concluded that the object manager failed to open an anonymous session for user “HI_USER”. This user is not created by default when running the grantusr.sql script, and is also not available as an employee in the standard application.

Solution

The Installation Guide > Installing and Configuring the Siebel Web Server Extension > Configuring the SWSE > Creating the SWSE Logical Profile > Parameters for Creating the SWSE Logical Profile advises that the anonymous user should be created as an Employee:

"The Siebel user ID for a valid employee. Used to start the anonymous session from which the user is shown the login page for an employee application.”

There are two possible workarounds:

1) Temporarily use ‘sadmin’ as the anonymous user, and later modify the eapps.cfg manually

I have created Change Request 12-1J5GID3 to make it clear in the Installation Guide that the user provided when configuring the SWSE Logical Profile should be created first in the application as an employee.

Applies to:

Siebel System Software - Version: 8.1 SIA [21039] - Release: V8

Information in this document applies to any platform.

Symptoms

Customer was upgrading from 7.8 to 8.1 and when they try to connect with Tools 8.1.1 to run Repository Merge the following errors appear in siebdev.log:Error loading dictionary file diccache.dat (SBL-DAT-60237)Error loading dictionary (SBL-DCK-00163)You are not currently licensed to use Siebel Tools (SBL-DEV-00133)

Cause

The issue is caused by the incorrect Repository name set in the tools.cfg-they had DockRepositoryName=Siebel Repository, where they have only "New Siebel Repository" in the database.

Solution

To resolve the issue, in tools.cfg change parameter DockRepositoryName to the name of the repository you have, in this case "New Siebel Repository.Change request #12-1SW8MZP has been logged asking for this to be documented in the Upgrade Guide.

References

BUG:12-1SW8MZP - REPOSITORY 'SIEBEL REPOSITORY' DOES NOT EXIST IN DATABASE.

Applies to:

Symptoms

User is encountering the following error when trying to run the encryptupg utility:

The user-context could not be established. Something is wrong with the assigned primary position or login related repository objects. See additional error messages for more information.(SBL-DAT-00546)The username you have entered is invalid. Please try to log on again or contact your system administrator for assistance.(SBL-DAT-00254)

Cleaning up... this may take a while.

Cause

This behavior is most likely caused by the tableowner database userID not having a corresponding Siebel account and/or that account not having adequate responsibilities / positions.

The error messages are actually pretty self-explanatory:

The user-context could not be established. Something is wrong with the assigned primary position or login related repository objects. See additional error messages for more information.(SBL-DAT-00546)The username you have entered is invalid. Please try to log on again or contact your system administrator for assistance.(SBL-DAT-00254)

The presence of the second message leads us to believe that the tableowner does not have a matching record in the OLTP's S_USER table. This is not uncommon since, by default, the tableowner is not created as a Siebel userID.

Solution

The most likely cause of the behavior you are seeing is that the user you are using to run the encryptupg.exe is the tableowner for your Siebel on-line transactional processing (OLTP) database. While that is actually a good way of running the encryptupg.exe utility (in Oracle it actually is required), there is an issue that the tableowner database account is not by default a Siebel application login. This is why you are seeing the SBL-DAT-00546 and SBL-DAT-00254 errors.

The solution for this is to create a Siebel login for the tableowner account (the default tableowner is SIEBEL). The easiest way to do this and get adequate permissions is to simply copy the SADMIN user.

1. Log into an employee facing, high interactivity Siebel application such as Sales or Call Center using an administrator ID such as SADMIN.

2. Navigate to Site Map > Administration - Users > Employees.

3. On the Employees screen do a query for the login SADMIN (or whatever your administrator user's login is).

5. Fill in the required fields making sure you use the tableowner (SIEBEL in a default implementation) as the login / userID.

6. Save the record.

After doing this, please retest the use of the encryptupg.exe utility.

Also, although not directly related to this behavior, I would like to proactively call your attention to Note 551663.1 on Metalink 3. This discusses a specific issue when using encryption with Oracle databases.