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

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

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).
After this is completed, try keydbmgr.exe again.

Symptoms


Keydbupgrade.exe utility was not working.
Verified this issue by reviewing the output of keydbupgrade execution as below:

D:\sba80\siebsrvr\BIN>keydbupgrade.exe /u SADMIN /p SADMIN /l enu /c .\enu\epharma.cfg
Error loading dictionary file diccache.dat.(SBL-DAT-60237)
Cleaning up... this may take a while.

Cause


Incorrect parameters in epharma.cfg file

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

Solution


1. Open epharma.cfg file
2. 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.

Applies to:

Product Release: V8 (Enterprise)
Version: 8.0 [20405] Fin Svcs
Database: Oracle 10.2.0.2
Application Server OS: Microsoft Windows 2003 Server SP1
Database Server OS: Sun Solaris 9

This document was previously published as Siebel SR 38-3395346953.

Symptoms

SBL-DAT-60237I 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.

ProcessPluginRequest    ProcessPluginRequestError    1    0000000a468d214c:1    2007-07-05 16:51:27     5844: [SWSE] Set Error Response (Session: Error: 07727949 Message: Error loading dictionary file diccache.dat.(SBL-DAT-60237))

I also renamed the diccache file so that it creates a new one and it still shows the same error. At what time are you available for another web conference? The earlier the better.

Thank You,
Troy

Solution

Message 1

For the benefit of other readers,


Customer was configuring Siebel ADSI Security Adapter (ADSISecAdpt) version 8.0. After all settings were performed, error message below was logged in Object Manager and Siebel Web Server Extension log files:

SBL-DAT-60237: 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.

Applies to:

Siebel Tools - Version: 8.0.0.1 [20408] - Release: V8
Information in this document applies to any platform.
***Checked for relevance on 16-Feb-2010***

Symptoms

When opening the Check In / Check Out dialog box in Tools, this error occurs:

08001 (-816): [Siebel Database][ODBC Driver][Adaptive Server Anywhere]Specified database file already in use


In the corresponding log file you might also observe these related error messages:

DBCLog DBCLogError 1 00000002487415c8:0 2008-07-09 09:21:32 [Sybase][ODBC Driver][Adaptive Server Anywhere]Specified database file already in use
GenericLog GenericError 1 00000002487415c8:0 2008-07-09 09:21:32 08001: [Siebel Database][ODBC Driver][Adaptive Server Anywhere]Specified database file already in use
GenericLog GenericError 1 00000002487415c8:0 2008-07-09 09:21:32 (wraprmtcmn.cpp (63) err=1114276 sys=600) SBL-DCK-00164: Error connecting to datasource SEAW Local Db default instance (YYYT789).
GenericLog GenericError 1 00000002487415c8:0 2008-07-09 09:21:32 Error connecting to datasource %1 (%2).
ObjMgrLog Error 1 00000002487415c8:0 2008-07-09 09:21:32 (ctxtmgr.cpp (2334)) SBL-DCK-00164: Error connecting to datasource SEAW Local Db default instance (YYYT789).
ObjMgrLog Error 1 00000002487415c8:0 2008-07-09 09:21:32 (ctxtmgr.cpp (2355)) SBL-DAT-60237: Error loading dictionary file diccache.dat.
ObjMgrSessionLog Error 1 00000002487415c8:0 2008-07-09 09:21:32 (model.cpp (5886)) SBL-DAT-60237: Error loading dictionary file diccache.dat."

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.
After removing the "Server name" value, the error disappears.

Solution

  1. Open the ODBC Administrator.
  2. Select the System DSN tab. 
  3. Select the local Tools datasource (by default, "SSD Local Db default instance").
  4. Click the Configure button.
  5. In the configuration window, select the Database tab.
  6. Clear the field labeled "Server name".
  7. Close the configuration window and exit the ODBC Administrator.
This solution has been successfully tested with a standard Tools installation.

Note: This situation can also occur for dedicated Web clients. The same solution applies for this case.

References

BUG:12-1NCHPDP - "SPECIFIED DATABASE FILE ALREADY IN USE" ERROR WHEN DOING CHECK IN OR CHECK OUT

Applies to:

Siebel System Software - Version: 8.0 [20405] to 8.1.1 SIA [21111] - Release: V8 to V8
z*OBSOLETE: Microsoft Windows Server 2003
Product Release: V8 (Enterprise)
Version: 8.0 [20405]
Database: Microsoft SQL Server 2005
Application Server OS: Microsoft Windows 2003 Server SP1
Database Server OS: Microsoft Windows 2003 Server SP1

This document was previously published as Siebel SR 38-3317466373.

""""Checked for relevance on 20-Oct-2010""""

Symptoms

Hi Support:

I cannot install Siebel 8.0 at all, I have tried using the standard setup procedure and also with the FastTrack Wizard.

With both procedures, it ends with these errors on the logs when trying to log on for example to http://mysibelserver/ecommunications_enu


ss070403_1412.log (SWE log)

SisnapiLayerLog Error   1       0000002646120eb0:0      2007-04-03 18:26:32       1756: [SISNAPI] Async Thread: connection (0x2e09e80), error (1180682) while reading message
ObjMgrSessionLog        Error   1       0000002646120eb0:0      2007-04-03 18:26:32     Login failed for Login name : HI_USER
ProcessPluginState      ProcessPluginStateError 1       0000002646120eb0:0      2007-04-03 18:26:32       3052: [SWSE] Open Session failed (0x75eb4d) after      0.0661 seconds.
ProcessPluginRequest    ProcessPluginRequestError       1       0000002646120eb0:0      2007-04-03 18:26:32       3052: [SWSE] Failed to obtain a session ID. Error loading dictionary file diccache.dat.
ProcessPluginRequest    ProcessPluginRequestError       1       0000002646120eb0:0      2007-04-03 18:26:32       3052: [SWSE] Set Error Response (Session: Error: 07727949 Message: Error loading dictionary file diccache.dat.(SBL-DAT-60237))

Cause

You have installed Siebel version 8.0 but when trying to login to the application you received an error message:

Login failed for Login name : HI_USER
3052: [SWSE] Set Error Response (Session: Error: 07727949 Message: Error loading dictionary file diccache.dat.(SBL-DAT-60237))

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

2) Install a separate machine with Windows XP; install the Dedicated Web Client; create the Employee under ‘Administration – User’ screen; and then continue with SWSE installation

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)
Also, Additional Message: Repository 'Siebel Repository' does not exist in database.

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:

Siebel Sales - Version: 7.7 [18026] BETA to 8.1.1 [21112] - Release: V7 to V8

Information in this document applies to any platform.

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).

4. Click the little Menu button on the list applet and select Copy Record.

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.

No comments:

Post a Comment