book
Article ID: KB0082635
calendar_today
Updated On:
Description
Symptoms:
1. When accessing TIBCO Spotfire Web Player or the TIBCO Spotfire Professional Client, you receive an error message like the following:
------------------------------
Error accessing preference storage.
ActiveX: True, Beta: False, Browser: IE, ClrVersion: 3.5.30729, Cookies: True, EcmaScriptVersion: 3.0, Frames:
True, Id: ie7, InputType: keyboard, IsMobileDevice: False, JavaApplets: True, JScriptVersion: 5.7,
MaximumHrefLength: 10000, MaximumRenderedPageSize: 300000, MobileDeviceManufacturer: Unknown, MobileDeviceModel:
Unknown, MSDomVersion: 7.0, Platform: WinNT, PreferredImageMime: image/gif, PreferredRenderingMime: text/html,
PreferredRenderingType: html32, SupportsUncheck: True, SupportsXmlHttp: True, Tables: True, Type: IE7,
UseOptimizedCacheKey: True, VBScript: True, Version: 7.0, W3CDomVersion: 1.0, Win32: True
------------------------------
2. On the Spotfire Server, log [server install dir]\tomcat\logs\server.log contains errors like the following
------------------------------------
ORA-00600: internal error code, arguments: [qkacon:FJswrwo], [3], [], [], [], [], [], []
------------------------------------
Cause:
This issue is caused by a bug in Oracle 10.2.0.2 through 10.2.0.4, related to CONNECT BY queries, that can cause problems with loading preferences.
Issue/Introduction
"Error accessing preference storage" error message while accessing the TIBCO Spotfire Web Player and TIBCO Spotfire Professional client.
Resolution
Below you can find three possible solutions for this issue.
The quickest workaround is typically to disable cost based transformation for 'connect by' in the database used by the Spotfire Server. Alternatively, upgrade your Oracle version to 11g or later as this issue is not present in later Oracle versions.
Option#1:
Upgrade your Oracle version to 11g or later
Option#2:
To disable the cost based transformation at the Database, you would need to run the following commands at the DB end. If you don't have access to the Database, please check with your DBA:
SQL> conn / as sysdba
SQL> alter system set "_optimizer_connect_by_cost_based" = false;
Option#3:
It is also possible to do an alter session only for the Spotfire Server session, by editing the init-queries section in the Server configuration file.
1) Export the Server configuration. In an example below, assumption is that Server configuration has been exported (e.g. using the TIBCO Spotfire Server Configuration Tool), to a file called configuration.xml.
2) Back up configuration.xml.
3) Open configuration.xml in a Text or XML editor, such as Notepad
4) Search for the "init-queries" tag and you should see something like the following:
<init-queries />
5) Replace this line with the following lines
<init-queries>
<init-query>alter session set "_optimizer_connect_by_cost_based"= false</init-query>
</init-queries>
6) Save the file.
7) Now import the configuration.
If you prefer using Configuration Tool, use "Load configuration from file" function to load new configuration file, and then save the new configuration.
OR
To use Command Line Tool, open a command prompt, go to [spotfire server install dir]\tomcat\bin and enter the following command:
config import-config --comment="Any comment here"
8) Restart the Spotfire Server (Service) so the new configuration is used.
9) Check if issue is resolved.