"SQL-02103: Inconsistent cursor cache." error on a dual processor multi threaded apps
I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem.