|
Access Violations with Oracle 10g.
|
Joined: May 2004
Posts: 23 Australia
Member
|
OP
Member
Joined: May 2004
Posts: 23 Australia |
Some of the applications I maintain have started getting random Access Violations since we migrated the Oracle database over to 10g (from 8i). The AVs only seem to occur when the application is either writing to or reading from the Oracle database.
The errors don't happen consistently, but they do sometimes occur more frequently than other times. I'm not certain but I suspect it may be an issue with the load on the Oracle server. Sometimes one application gets a streaming error when it tries to stream data from the database. And there was a case last week where the applications stopped responding altogether. It turned out that the DBAs were running a system job on the server that was chewing up all of the resources.
So my question is, if the application is trying to access the database and the server doesn't respond, is this likely to cause AVs? Could AVs occur if the connection is lost? Does DOA try to automatically reconnect if a connection is lost, or is there something I need to do to reconnect?
I'm just trying to determine if the problem is with my apps or if it's at the server end.
Delphi 7, DOA 4.0.7.1.
Thanks.
Regards,
Steve
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: Aug 1999
Posts: 22,200
Member
|
Member
Joined: Aug 1999
Posts: 22,200 |
Is this an Access Violation at address 00000000? If so, can you set the global variable NoQueryOptimize in the Oracle unit to True at run-time and check if this fixes it?
Marco Kalter Allround Automations
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: May 2004
Posts: 23 Australia
Member
|
OP
Member
Joined: May 2004
Posts: 23 Australia |
Hi Marco,
I'm pretty sure it's 00000000 but I'll check with the user to confirm. I don't seem to have Oracle.pas, only Oracle.dcu. If I set Optimize to False for all the TOracleDataset and TOracleQuery components will this do the same thing?
Regards,
Steve
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: Aug 1999
Posts: 22,200
Member
|
Member
Joined: Aug 1999
Posts: 22,200 |
Yes, but you can set it to True at run-time:
Oracle.NoQueryOptimize := True; MySession.LogOn;
Marco Kalter Allround Automations
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: May 2004
Posts: 23 Australia
Member
|
OP
Member
Joined: May 2004
Posts: 23 Australia |
Ok, thanks Marco. I have set the NoQueryOptimize variable as suggested and so far, so good. Is there a compatibility problem with Oracle 10g and optimized queries?
Regards,
Steve
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: Aug 1999
Posts: 22,200
Member
|
Member
Joined: Aug 1999
Posts: 22,200 |
It seems to be an Oracle Server bug, which started in 10.2, and was "backported" to later 10.1 and 9.2 patch releases..
Marco Kalter Allround Automations
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: May 2004
Posts: 23 Australia
Member
|
OP
Member
Joined: May 2004
Posts: 23 Australia |
Thanks Marco. Setting Oracle.NoQueryOptimize to True worked a treat. The applications have been rock solid since making that simple change. Thanks very much for your help.
Regards,
Steve
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: Oct 1999
Posts: 138 Eschborn, Germany
Member
|
Member
Joined: Oct 1999
Posts: 138 Eschborn, Germany |
Hi Marco,
can you tell us, which oracle bug id this case has?
Greetings Jens
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: Aug 2004
Posts: 83 Ukraine
Member
|
Member
Joined: Aug 2004
Posts: 83 Ukraine |
|
|
|
Re: Access Violations with Oracle 10g.
|
Joined: Jul 2007
Posts: 3
Member
|
Member
Joined: Jul 2007
Posts: 3 |
We're seeing this issue in our software as well. Upgrading to oracle 10.2.0.2 has not resolved it. It cannot be reproduced on SQL/plus, TOAD, or any other way of accessing the database except through our DOA-using delphi applications.
The workaround (noqueryoptimize) did work, but we'd rather not do anything that degrades performance (even if only minimally).
Would it make sense to open a TAR about this? I've found note 342791.1 in metalink which seemed to describe the issue, but it claims it was solved in 10.2.0.1.
|
|
|
|
|
|