Siebel Troubleshooting : An ODBC error occurred; SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl
- by Giri Mandalika
Symptom:
A newly installed Siebel application server fails to start despite successful ODBC connectivity to the database. SRProc process logs ODBC error messages similar to the following:
Message: GEN-13,
Additional Message: dict-ERR-1109:
Unable to read value from export file (Data length (32) Column definition (3)).
Message: GEN-13,
Additional Message: dict-ERR-1107: Unable to read row 0 from export file (UTLDataValRead pBuf, col 4 ).
GenericLog GenericError 1 0002157.. 11-11-18 13:28 Message: Generated SQL statement:,
Additional Message: SQLFetch:
SELECT RDOBJ.DOCK_ID, RDOBJ.RELATED_DOCK_ID, RDOBJ.SQL_STATEMENT, RDOBJ.CHECK_VISIBILITY,
'N', RDOBJ.COMMENTS, RDOBJ.ACTIVE, RDOBJ.SEQUENCE, RDOBJ.VIS_STRENGTH,
RDOBJ.REL_VIS_STRENGTH, RDOBJ.VIS_EVT_COLS
FROM ORAPERF.S_DOCK_REL_DOBJ RDOBJ, ORAPERF.S_DOCK_OBJECT DOBJ
WHERE RDOBJ.REPOSITORY_ID = (SELECT ROW_ID FROM ORAPERF.S_REPOSITORY WHERE NAME = ?)
AND DOBJ.ROW_ID = RDOBJ.DOCK_ID
AND (DOBJ.INACTIVE_FLG = 'N' OR DOBJ.INACTIVE_FLG IS NULL)
AND (RDOBJ.INACTIVE_FLG = 'N' OR RDOBJ.INACTIVE_FLG IS NULL)
Message: Error: An ODBC error occurred,
Additional Message: Function: DICGetRDObjects; ODBC operation: SQLFetch
Message: GEN-13,
Additional Message: dict-ERR-1109: Unable to read value from export file (UTLCompressFRead (fseek)).
Message: GEN-13,
Additional Message: dict-ERR-1107: Unable to read row 0 from export file (UTLDataValRead pBuf, col 0 ).
Message: GEN-10,
Additional Message: Calling Function: DICLoadDObjectInfo; Called Function: Calling DICGetRDObjects
Message: GEN-10,
Additional Message: Calling Function: DICLoadDict; Called Function: DICLoadDObjectInfo
GenericError
(srpdb.cpp (860) err=3006 sys=2) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl
(srpsmech.cpp (74) err=3006 sys=0) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl
(srpmtsrv.cpp (107) err=3006 sys=0) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl
(smimtsrv.cpp (1203) err=3006 sys=0) SBL-GEN-03006: Error calling function: DICFindTable m_pReqTbl
SmiLayerLog Error Terminate process due to unrecoverable error: 3006. (Main Thread)
An inconsistent or corrupted dictionary file "diccache.dat" is likely the cause.
Solution:
Stop the application server and manually kill the remaining Siebel application specific processes
eg.,
stop_server all
pkill siebmtsh
pkill siebproc
..
Remove $SIEBEL_HOME/bin/diccache.dat file. It will be re-generated during the application server startup
Start the application server
start_server all