ORA-12542 could lead to DOA instability?

ldsandon

Member³
I have been experiencing some strange AV or invalid pointer operations after I get "ORA-12542: TNS address already in use" error on an heavy loaded standalone machine.
The application is somewhat complex (some services loading DLLs to process data, using session pools, and sharing sessions with some of the DLLs), and the error require a heavy load, therefore I am not able to replicate the problem in a simple test case. The problem disappeared when I used IPC instead of TCP/IP to connect to the database, therefore it's a connection problem.

What I am trying to understand is if OracleSession or some other component may be left in un unstable state after the error. Using DOA 4.0.6.2 with Delphi 7, Oracle 9.2.0.5 Enterprise on Windows 2003.
 
The Direct Oracle Access components should not be in an instable state after an Oracle error. I assume this error occurs when connecting, and the result would be that the session is not connected. Do you have any idea where there Access Violations and Invalid Pointer Operations occur?

You may also want to investigate the cause of the ORA-12542 errors of course. There are many topics about this on Oracle MetaLink.
 
The real problem is that AVs and Invalid Pointer Operation errors do not appear in my code, but in Oracle (i.e. Access violation at address 606922E0 in module 'oraclient9.dll'. Read of address 80000029, this is usually the first one), or in other DLLs like borlndmm.dll. Because they appear randomly and only under load, I am not still able to reproduce them in a consistent way.

I use a lot of LOBs to store processed data, and I am afraid they could be one of the causes, if locators are not created and freed correctly.

If I am not wrong, I have to freed locators I create (for example, with CreateTemporary), but not references I get from LOBField. Am I right?

I will try to use DOA 4.0.5, and see if the behaviour is different, because it appeared only lately, but I changed my code too, it is an attempt to isolate the problem.

Thank you.
 
I tracked the problem in calling an oracle package I wrote through a anonymous PL/SQL block using a TOracleQuery. The call is very simple:

BEGIN
ikp_system.decrease_node_count(:process_id, :node_count);
END;

Now I am testing with DOA 4.0.5, I will tell what happens.
 
I resolved the ORA-12542 using IPC instead of TCP/IP , but the AVs in oraclient9.dll were still present until I reinstalled DOA 4.0.5 and rebuilt all. Now I am testing and the AVs seems to be gone. I am not sure, but it could have been something related to LOBs
 
Back
Top