Search This Blog

SBL-DAT-00452: Join in business component definition '%1' has source fields that come from tables '%2' and '%3'

Applies to:

Product Release: V7 (Enterprise)
Version: 7.5.3.5 [16183] DEU
Database: Other (Please specify in Comments field)

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

Symptoms

SBL-DAT-00144, SBL-DAT-00451, SBL-DAT-00466

We installed the Siebel sales version7.5.3.5.software on our HP iPAQ 2210 PDA running Pocket PC 2003 operating system. When we tried to synchronize the Sample database with the PDA (Companion Sync) using ActiveSync version 3.7.1 we received errors. Log files are attached.

Thanks.

Solution

Message 1

For the Benefit of other users:

Customer installed the Siebel sales version7.5.3.5.software on their HP iPAQ 2210 PDA running Pocket PC 2003 operating system. When they tried to synchronize the Sample database with the PDA (Companion Sync) using ActiveSync version 3.7.1 they received errors. Found following errors in SyncManager.log file.

"(SBL-DAT-00144) 'Pick List' mit dem Namen '' nicht gefunden. Dieses Objekt ist entweder nicht aktiv oder nicht vorhanden.

(SBL-DAT-00451) MultiValueLink 'Expense Hotel Item'für Business Component 'Expense Item'ist mehrmals definiert.

(SBL-DAT-00466) Mehrfachwert-Verknüpfungsdefinition '' ist für die Business Component-Definition 'Expense Item' nicht vorhanden".

In order to move forward we needed to get increased tracing in place at both ends of the synchronization so that we can capture as much information on the synchronization as possible. We recommend proceeding with the following:

1) Add SIEBEL_LOG_EVENTS=7 to the Start > Control Panel > System > Advanced > Environment Variables

2) Re-install the handheld device having made the following changes to the setup.ini prior to re-install:

[Logging]

<Ctd...>

Message 2

<Ctd..>

[Logging]
; This outputs all SQL statements generated in the app to a log file in the Install folder
LogSqlStmts    = Y
; This outputs all system error messages to a log file for easier debugging.
LogSSAErrors     = Y
; This is the logging level for Syncmanager client. The maximum value is 5. It increases the amount of information logged.
SyncLogReportingLevel    = 5
; This level controls the extent of transaction error information received from the server
TXNErrorLevel    = 5

3) Ensure that the [PDA] section of your .cfg file (salesce.cfg) includes the following :
LoggingLevels=77777

Once you've put these in place please delete the directories underneath %SIEBEL_CLIENT_ROOT%\hhsync\ so that we force a complete re-generation of the handheld files. Can you then synchronization and provide me with the following:

1) Contents of the hhsync sub-directory
2) Any SyncManager_Log* files from the %SIEBEL_CLIENT_ROOT%\LOG directory
3) Any hhsync.xxx.log files from the %SIEBEL_CLIENT_ROOT%\LOG directory
4) Your salesce.cfg and salesceqbe.txt files from %SIEBEL_CLIENT_ROOT%\BIN\ENU directory

In order to synchronize with the Sample database in this configuration you should ensure that the salesce.cfg has a DefaultDataSource of 'Sample' which will ensure a connection during synchronization to this database.

Customer reported that they made all the above changes suggested and when they started the sync again it worked successfully.

Behavior has been ... <Ctd..>

Message 3

<Ctd...>

Behavior has been resolved after they re-installed the handheld device and made sure that the salesce.cfg file has a DefaultDataSource of 'Sample' to ensure a connection during synchronization to Sample database. Then the synchronization has worked without any problems so it is possible that there had been a problem with the previous installation.

Keywords: PDA, HP iPAQ 2210, Pocket PC 2003, ActiveSync 3.7.1, Siebel 7.5.3.5, companion sync, Sample, SBL-DAT-00144, SBL-DAT-00451, SBL-DAT-00466.

Applies to:

Siebel Anywhere - Version: 7.0.4 [14068] and later   [Release: V7 and later ]
Siebel Remote - Version: 7.0.4 [14068] and later    [Release: V7 and later]
Information in this document applies to any platform.
Area(s):Remote/Replication/Anywhere
Release(s):V7 (Enterprise)
Database(s):All Supported Databases
App Server OS(s):All Supported Platforms
Latest release tested against:V7 (Enterprise)
Keywords:Router, Troubleshoot, DCK, XR, CSC, ORA

This document was previously published as Siebel Troubleshooting Steps 13.

Purpose

Transaction Router Failures.

Last Review Date

20-Apr-2005

Instructions for the Reader

A Troubleshooting Guide is provided to assist in debugging a specific issue. When possible, diagnostic tools are included in the document to assist in troubleshooting.

Troubleshooting Details

Symptom or Error Message

 
The Transaction Router Siebel Remote server task may fail under certain conditions which will cause a backlog in the transactions to be routed to Siebel Remote mobile users and regional nodes. Symptoms of a Transaction Router failure are usually an error on the Status field on the Server task applet, and the Task State field that would report that the task has exited with an error:
 
Task State: Exited with error
Status: ERROR: 1 client(s) failed with errors, 0 client(s) successful
 
To generate more detailed trace information:
 
  • In Siebel 7 and 8, follow the instructions detailed in Document 477138.1, regarding component tracing and log files, and Document 477003.1, regarding SQL-based event logging.
 
  • In Siebel applications versions 5.x and 6.x, run the Transaction Router task with the following parameters set:
 
Sql flag = 3
Trace flag = 7
Error flag set = 7
 
Cause
 
There are three main causes for Transaction Router failures:
 
  1. Connectivity and RDBMS behaviors
 
  1. Errors when reading from and writing to .dx files
 
  1. Errors when accessing cache files and docking directories
 

Diagnostic Steps

 
The first step in diagnosing a Transaction Router failure issue is to try to determine whether the failure was a one-time occurrence or a persistent failure. This is easy to achieve by simply trying to restart the Transaction Router. If the Transaction Router starts and continues processing without further error then it is likely that the cause may be poor network connectivity, database connectivity, or another intermittent system issue at the time of failure. You can then inspect the log file to see why the Transaction Router failed. If the Transaction Router fails again after restarting then it is likely that you have a persistent failure which will require some action to be taken before it can restart and continue without failing. Typically the first step is to increase the tracing as detailed above, then restart the Transaction Router and review the more detailed log for the commonly seen issues as detailed below.
 
  1. Connectivity and RDBMS Behaviors

 
Review the Transaction Router log file for RDBMS and network related errors. The errors below are examples of RDBMS errors that have been seen in Transaction Router log files:
 
Oracle
 
ORA-01000: maximum open cursors exceeded
 
ORA-04031: unable to allocate 4096 bytes of shared memory
 
ORA-03113: end-of-file on communication channel
 
ORA-03114: not connected to ORACLE
 
DB2
 
[IBM][CLI Driver][DB2/SUN] SQL0437W Performance of this complex query may be sub-optimal. Reason code: "6". SQLSTATE=01602
 
[IBM][CLI Driver][DB2/6000] SQL0911N The current transaction has been rolled back because of a deadlock or timeout. Reason code "68". SQLSTATE=40001
 
[IBM][CLI Driver][DB2/6000] SQL0973N Not enough storage is available in the "APP_CTL_HEAP" heap to process the statement. SQLSTATE=57011
 
MS SQL Server
 
[MERANT][ODBC Siebel Database driver][SQL Server]ct_results(): network packet layer: internal net library error: Net-Library operation terminated due to disconnect
 
[MERANT][ODBC Siebel Database driver][SQL Server]ct_cmd_alloc(): user api layer: external error: The connection has been marked dead.
 
[Microsoft][ODBC SQL Server Driver][SQL Server]SHUTDOWN is in progress. Log off
 
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionRead (recv()).
 
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionWrite (send())
 
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]General network error
 
[Microsoft][ODBC SQL Server Driver]Communication link failure
 
  1. Errors When Reading from and Writing to .dx Files

 
Review the Transaction Router log file for Siebel errors. The errors below are examples of Siebel application errors that have been seen in Transaction Router log files:
 
SBL-DCK-00142: Error opening transaction file C:\SIEBEL\docking\TXNPROC\00005115.dx for read
 
Unable to read an item from the User Txn Log file.
 
SBL-TXR-00026: Error in the main function
 
NOTE:  In Siebel applications prior to version 7.5.3, the error numbers are the same without the SBL prefix, namely DCK-00142 and TXR-00026.
 
  1. Errors When Accessing Cache Files and Docking Directories

 
Review the Transaction Router log file for Siebel errors. The errors below are examples of Siebel errors that have been seen in Transaction Router log files:
 
SBL-CSC-00119: Block number xxx exceeds file size (yyy blocks)
 
SBL-CSC-00213: Invalid visibility database. Shutdown and restart *all* routers to rebuild
 
SBL-DCK-00123: Error opening file C:\SIEBEL\docking\J_LIBAIRE\00000091.log for read
 
SBL-DCK-00250: A newer version of the dobjinst.dbf must be rebuilt by starting transaction processor with parameter "TSDbRecreate" set to "TRUE"
 
SBL-CSC-00128: Cannot get exclusive access to Tall/Skinny database for node %NODE%
 
SBL-CSC-00103: Error reading 204 bytes from dbfile at 0 (0 bytes read)
 
SBL-CSC-00202: An attempt was made to seek past the end of a data block
 
SBL-CSC-00301: Invalid value 0 for argument pVisDataInfo->createLatch
 
SBL-CSC-00120: Not enough space in buffer cache
 
NOTE:  In Siebel applications prior to version 7.5.3, the error numbers are the same without the SBL prefix, namely CSC-00119, CSC-00213, DCK-00123, DCK-00250, CSC-00128, CSC-00103, CSC-00202, CSC-00301, and CSC-00120.
 

Solution

 
  1. Connectivity and RDBMS Behaviors

 
RDBMS errors are not generated by the Siebel application, but they are reported in the log files to aid with troubleshooting. The examples given above have all been caused by underlying network issues, incorrect database configuration, or incorrect tuning. It is recommended to involve your DBA, because many RDBMS errors can be resolved by database tuning alone.  Database tuning should be done in conjunction with the recommendations made in Siebel Bookshelf.
 
    • In Siebel Bookshelf version 7.7 > Siebel Installation Guide for (Microsoft Windows or UNIX): Servers, Mobile Web Clients, Tools, refer to the following chapter:
 
 
    • In Siebel Bookshelf version 7.5.3 > Siebel Server Installation Guide for (Microsoft Windows or UNIX), refer to the appropriate chapter for your RDBMS:
 
Microsoft Windows
 
 
UNIX
 
 
    • In Siebel Bookshelf version 7.0.x > Siebel Server Installation Guide for (Microsoft Windows or UNIX) review the appropriate chapter for your RDBMS on Creating and Optimizing the database for Siebel eBusiness Applications.
 
If the RDBMS error points to an underlying network issue, you should also involve appropriate networking resources to investigate the cause further.
 
In case of database or network connectivity issues here are some initial checks that should be performed:
 
    1. Verify that the database server is accessible from the Siebel application server machine by executing the ping command from a command prompt on the application server:
 
> ping %hostname_of_database_server%
 
    1. Verify that the database server is running.
 
    1. Verify that ODBC connection strings are configured correctly. Please refer to Document 475610.1 on Siebel SupportWeb for details on how to test connectivity through ODBC data sources created by Siebel
 
NOTE: Not all RDBMS errors can be solved by database tuning alone. If the error generated indicates a data integrity issue, create a Service Request with Siebel Technical Support and provide an associated Transaction Router trace with increased logging enabled. Do not attempt to modify data in Siebel application tables using direct SQL as this is not supported unless you are explicitly instructed to do so by Siebel Technical Support.
 
  1. Errors When Reading from and Writing to .dx Files

 
In normal processing, the Transaction Router reads .dx files that have been created by the Transaction Processor in the SERVER_ROOT\docking\txnproc folder and writes .dx files out to mobile clients or to the \outbox directories of regional nodes. The following errors typically occur when the Transaction Router cannot read .dx files from the \txnproc directory and subsequently continue writing files to the nodes' outboxes. Effectively no data is being is routed to any node serviced by the application server where a Transaction Router has these errors.
 
    • Error Opening Transaction File for Read
 
SBL-DCK-00142: Error opening transaction file C:\SIEBEL\docking\TXNPROC\00005115.dx for read
 
This error is generated when the Transaction Router attempts to read a corrupt .dx file from the \txnproc directory. This error is usually found paired with SBL-TXR-00026: Error in the main function. The most likely causes of a corrupt .dx file are shortage of disk space or disk failure. To resolve this error without Siebel Technical Support's assistance, remove all the .dx files from the \txnproc folder and re-extract all mobile clients and regional nodes.
 
In some occurrences it may be possible with Siebel Technical Support's assistance to avoid the re-extraction of all nodes. If re-extraction of all nodes has a major business impact, please raise a Service Request with Siebel Technical Support and provide the following:
 
      • The Transaction Router log file
 
      • The corrupt .dx file; in this example, 00005115.dx from the \txnproc folder
 
      • The preceding .dx file; in this example, 00005114.dx from the \txnproc folder
 
      • The next .dx file; in this example, 00005116.dx from the \txnproc folder
 
      • The results of running txnutl on the corrupt .dx file. This should include the uncompressed .dx file (.dx2 file) and the readable transaction file (txn.log). For details on how to use txnutl please see Document 475688.1 on Siebel SupportWeb.
 
      • The results of the following SQL statement run on the server database:
 
select min(TXN_ID) from S_DOCK_TXN_LOG;
 
    • Unable to read an item from the User Txn Log file.
 
This error normally occurs when there is corrupt transaction in the .dx file being read by the Transaction Router. This is normally followed by some details about the corrupt transaction, example:
 
Trace Trace 3 2002-12-20 18:00:09 Txn Type : S
Trace Trace 3 2002-12-20 18:00:09 Txn Id : 1615359
Trace Trace 3 2002-12-20 18:00:09 Src Node : 1
Trace Trace 3 2002-12-20 18:00:09 Created By : 1-B7
Trace Trace 3 2002-12-20 18:00:09 DLog Row Id: 1-15DW4
Trace Trace 3 2002-12-20 18:00:09 OperType : Insert
Trace Trace 3 2002-12-20 18:00:09 TableName: CX_EVT_ACT_XM
Trace Trace 3 2002-12-20 18:00:09 Txn RowId : 1-15DW3
Trace Trace 3 2002-12-20 18:00:09 Txn LastUpdBy : 1-B7
Reading from file e:\sea630\siebsrvr\docking\TXNPROC\00001580.dx
Trace Trace 3 2001-12-20 18:00:09 Writing to file e:\sea630\siebsrvr\docking\GZTHG0\outbox\00000112.dx
 
If you encounter this behavior, please log a Service Request with Siebel Technical Support and provide the following information, since it may be possible to modify the .dx file:
 
      • The Transaction Router log file
 
      • The .dx file being read from the \txnproc directory; in the example above, the file would be 00001580.dx
 
      • The results of running txnutl on the corrupt .dx file. This should include the uncompressed .dx file (.dx2 file) and the readable transaction file (txn.log). For details on how to use txnutl please refer to Document 475688.1 on Siebel SupportWeb.
 
    • SBL-TXR-00026: Error in the main function.
 
If this error is encountered it is good practice is to check for other DCK or TXR errors that will give better description of the actual error.
 
  1. Errors When Accessing Cache Files and Docking Directories

 
The Transaction Router may fail trying to access one of the following:
 
    • The visibility database, visdata.dbf file, located in the SERVER_ROOT\docking directory
 
    • The Tall\Skinny database for a specific node
 
    • The Transaction Processor located in SERVER_ROOT\docking\%node_name%
 
    • The SERVER_ROOT\docking\txnproc directory
 
The solutions to these errors are specific to the error message, as follows:
 
    1. SBL-CSC-00119: Block number xxx exceeds file size (yyy blocks)
 
If the Transaction Router fails with this error please refer to Document 476091.1 on Siebel SupportWeb, regarding corruption of the dobjinst.dbf file.
 
    1. SBL-CSC-00213: Invalid visibility database. Shutdown and restart *all* routers to rebuild
 
This error indicates that the visibility database is corrupt. Use the following steps to rebuild visdata.dbf:
 For Siebel versions prior to 8.x:
      1. Shut down all Transaction Routers.
 
      1. Re-start the first Transaction Router with the following parameters set:
 
Id Db Recreate = TRUE
Id Db Size = 102400
 
      1. Wait 10-15 minutes to ensure the visdata.dbf is created without interruption.
 
      1. Restart all remaining Transaction Routers with the Id Db Recreate parameter set to FALSE.

For Siebel 8.x and above: 


        i.    Shut down all Transaction Processors and Routers.


        ii.   Re-start the Transaction Processor with the following parameters set:

Id Db Recreate = TRUE
Id Db Size = 102400

       iii    Wait 10-15 minutes to ensure the visdata.dbf is created without interruption.

       iv    Restart Transaction Routers with the Id Db Recreate parameter set to FALSE and IdDbSize to be the same as Transaction Processor

 
NOTE: Under normal circumstances, it is neither necessary nor recommended to delete the visdata.dbf file. If the error re-occurs, it is possible that there is another underlying error. In this case, please review the Transaction Router log file for earlier CSC errors in particular, and refer to Document 476759.1 as you may be experiencing a Transaction Router performance problem.
 
    1. SBL-DCK-00123: Error opening file C:\SIEBEL\docking\J_LIBAIRE\00000091.log for read
 
The most probable cause of the above error is that the server database has been restored to a point in time, and the mobile client's dobjinst.dbf cache file is out of sync with the internal commit number stored in the Siebel database. To resolve this error, it is necessary to re-extract the problem node, J_LIBAIRE in the example above.
 
    1. SBL-DCK-00250: A newer version of the dobjinst.dbf must be rebuilt by starting transaction processor with parameter "TSDbRecreate" set to "TRUE"
 
This error indicates that the Transaction Processors Tall\Skinny database is corrupt and needs to be rebuilt. It can be rebuilt by starting Transaction Processor with parameter Ts Db Recreate = TRUE. Under normal circumstances, it is neither necessary nor recommended to delete the file. Please note that if the dobjinst.dbf is deleted for a mobile client or regional node, the node has to be re-extracted, because the node's dobjinst.dbf file can only be recreated by a Database Extract. Refer to Document 475738.1 for additional information on the recreation of dobjinst.dbf.
 
    1. SBL-CSC-00128: Cannot get exclusive access to Tall/Skinny database for node JFIELD
 
This error indicates that the Transaction Router cannot access a particular node's dobjinst.dbf file. If you encounter this behavior please try the following steps:
 
      1. Shut down and restart the Siebel server, and restart the Transaction Router to see if the problem persists.
 
      1. If it does, end date the node in question. In the example above, the node is JFIELD.
 
      1. Rename the node's folder in the docking directory. In the example above, this directory would be SERVER_ROOT\Docking\JFIELD.
 
      1. Re-extract the problem node.
 
Additionally, please refer to Document 476220.1, which details another possible cause for the above error.
 
    1. SBL-CSC-00103: Error reading xxx bytes from dbfile at 0 (0 bytes read)
 
This error can be caused by a corrupted shared visibility database cache file. To force Transaction Router to recreate the visibility database firstly shutdown all Transaction Routers then restart the first Transaction Router with the Id Db Recreate parameter set to TRUE.
 
Also if a mobile client or a regional node's dobjinst.dbf file becomes corrupted this can produce same error. The resolution would be to rename this nodes docking directory on the application server and re-extract this node and then restart the Transaction Router.
 
    1. SBL-CSC-00202: An attempt was made to seek past the end of a data block
SBL-CSC-00301: Invalid value 0 for argument pVisDataInfo->createLatch
 
Both of the above errors indicate that visibility database has become corrupted. If recreating visdata.dbf as described above does not resolve the error, it is possible that you are experiencing a Transaction Router performance problem. Please refer to Document 476759.1 for further information.
 
NOTE: If you are still experiencing Transaction Router failures after following the recommendations above and in the referenced SupportWeb documents, please raise a Service Request providing as much information as possible about the failure, and include the Transaction Router log file with the Service Request.



No comments:

Post a Comment