Products | Versions |
---|---|
TIBCO InConcert | - |
Not Applicable | - |
Resolution:
Debug log can show:
18:25:04 (disp) 18657 t001: debug: svdbinit after initDatabaseSession
18:25:04 (disp) 18657 t001: debug: svdbinit Id initialize failed -- <Error, IC, 100>: Row Not Found
18:25:04 (disp) 18657 t001: debug: end next sequence:counter 0:0
18:25:04 (disp) 18657 t001: debug: Oracle Message: -1 - ORA-00001: unique constraint (TCOLA_O.ID_COUNTERS_KEY) violated
18:25:04 (disp) 18657 t001: debug: Oracle Message: sql - insert into ID_COUNTERS (SERVER1,SERVER2,SEQUENCE_NUM,COUNTER) values (:b0,:b1,:b2,:b3) .
Any time you see an entry of debug: end next sequence:counter 0:0 in the debug log you will have the error condition. Note even though the debug log shows this error you might not see the row in ID_COUNTERS until the server is shut down.
Solution 0: First verify that TWO_TASK is set correctly in the environment and in icconfig.xml. If incorrect fix any configuration files but also remove any rows in ID_COUNTERS left in the database that the InConcert server should not have been connecting to.
Solution I:
First check to see if the server name that is recorded in the debug log, for instance, "18:25:04 (disp) 18657 t001: debug: IC_SERVER_NAME = networx_uat_secondary" matches what is in SERVER_NAMES.SERVER_NAME. Get a full dump SERVER_NAMES. If the name does not match then you probably have an additional server which was installed on an upgraded server and the upgrade of SERVER_NAMES dropping the primary key which requires a unique server_number and adding a new primary key which requires a unique server_name.
If you have an additional (secondary) server running that does not have its name in SERVER_NAMES then in sqlplus do step 3 from server/<name_of_server/database/<type_of_database>convert_from_22.template. The steps are to drop the primary key and then create a new index but instead of dropping the Primary key drop the index by that name.
Next you will add the missing row to SERVER_NAMES. It will be something like insert into server_names values(1123,'networx_uat_secondary', 23,
22,1,'is-qatest10.gwl.com20080403091130','is-qatest9.gwl.com'). 1123 is the server_number, ,'networx_uat_secondary is the name of the additional server, 23 is the DB version, 22 is the initial DB version and should be whatever is already in the table, is-qatest10.gwl.com20080403091130 is the Global ID and should be same for all rows of SERVER_NAMES, and is-qatest9.gwl.com' is the host name the additional server is running on.
Solution II:
The debug log server name matches the name in SERVER_NAMES. In this case I do not know the cause of the problem. However, there is at least a temporary solution, have the customer stop the server and remove any rows in ID_COUNTERS which start with zero.
The permanent solution is believed to be an upgrade from Oracle 10.2.0.2 to 10.2.0.4.
The debug log may also show such errors as:
____________________________________
10:06:39 (disp) 15121 t001: debug: svdbinit after initDatabaseSession
10:06:39 (disp) 15121 t001: debug: Oracle Message: -1410 - ORA-01410: invalid ROWID
10:06:39 (disp) 15121 t001: debug: Oracle Message: sql - delete from ID_COUNTERS where rowid = :x
10:06:39 (disp) 15121 t001: debug: svdbinit Id initialize failed -- <Error, DBMS, -1410>: Undefined status code -1410 for DBMS facility
10:06:39 (disp) 15121 t001: debug: end next sequence:counter 0:0
____________________________________
or
____________________________________
10:26:19 (wrkr) 15122 t001: debug: Oracle Message: -1 - ORA-00001: unique constraint (TIBCOPT10.CLASS_MEMBERS_KEY) violated
10:26:19 (wrkr) 15122 t001: debug: Oracle Message: sql - insert into CLASS_MEMBERS (OBJECT_ID,CLASS_ID)select :b0 ,CLASS_ID from CLASS_MEMBERS where OBJECT_ID=:b1
10:26:19 (wrkr) 15122 t001: debug: RPC done: 001032 Severity: 3 Time: 0.084 Queued: 0 Uniqueness Violation.
____________________________________