Mailing List
Home
Forum Home
Oracle List - by freelists.org
Oracle on SUSE Linux - Runing Oracle on SUSE Linux
Oracle database error code ...
www.freelists.org
Subjects
ORA 12540: TNS:internal limit restriction exceeded
ORA 12838 please : Is possible to append two times to the same table befo
ORA 12838 please : Is possible to append two times to the same table before
ora 04031
ora 12500 on windows
ORA 32004: obsolete and/or deprecated parameter(s) specified
ORA 01925: maximum of 30 enabled roles exceeded
ORA 01925: maximum of 30 enabled roles exceeded
ora 12500 on windows
ORA 01650, one idea
ORA 01650
ORA 4030
ORA 12838 please : Is possible to append two times to thesametable before do
ORA 12838 please : Is possible to append two times to thesame table before d
ORA 01536
ORA 03113 end of file on communication channel
ORA 32004: obsolete and/or deprecated parameter(s) specified
ORA 00600:
ORA 00020: maximum number of processes (%s) exceeded
ORA 01925: maximum of 30 enabled roles exceeded
ORA 3113 while creating a cluster database 9201 RAC on Linux with OCFS
ora 12500 on windows
ora 12500 on windows
ora 12500 on windows
ORA 01650, one idea
ora 12500 on windows
ora 12500 on windows
ora 12500 on windows
ORA 2000 Error Using DBMS STATS GATHER SCHEMA STATS
ORA 01650, one idea
ORA 01650, one idea
ORA 01650, one idea
ORA 01650
ORA 01650
ORA 01031
ORA 4030
ORA 4030
ORA 06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
ORA 01722 invalid number
 
-none-

-none-

2007-09-03       - By Alvaro Jose Fernandez

 Back
Hello,

This OLEDB/ADO question was asked several times, and I try it once more
time.

The Oracle ODBC/OLEDB Provider, on certain situations, sends out to the
RDBMS dictionary querys on its own (aka "select * from (select NULL
......from DBSCHEMA_INDEXES ..., etc), when in VB code we use
"CursorLocation = adUseClient". These querys return primary key and
index info from the dictionary at a low level, to populate the schema
rowsets in ADO, but (since we use synonyms which differs from the real
tables's names in the app), they aren't returning rows (ie: the app uses
"TABLE", so the driver at low level query for "TABLE" -- but the real
table is "A_TABLE"). So it's useless (and the ADO layer just discards
the result with no harm in the app)

These querys are really parsed by the RDBMS. They cost a bit, and, in
some situations which we found, their accumulated time worths for more
than 90% of waits of the application (SQL net from client) , though
their individual performance is ok). I'm not talking about problems with
these queries's performance at an individual level, but instead their
relevance on an aggregate level, across many executions. Also, we see
they are ruining the global parse to execute ratio (albeit being
soft-parsered).

This happens since ODBC/OLEDB drivers from the series 9.2 client, and
also from 10.2.0.2 .

In Metalink there are some bugs documenting this behavior:



3249559 ANSI JOIN SYNTAX AND ADO CLIENT CURSORS CAUSES COSTLY QUERIES,
which correspond to base bug:
3866119 MOST JOINS NOT UPDATEABLE WHEN USING SQL 1999 SYNTAX



Bug 3249559 most precisely describes the situation, but it's "base bug"
3866119 doesn't really fixed all the cases. A very simple ADO Recordset
test from vbscript using 9.2.0.7.0 OLEDB Provider, and not using ansi
joins at all, reproduces the problem.





What I would like to know is if any of you have to deal with this
before, and would like to share if there are any viable workarounds.
Changing the VB code is not an option.

regards,

alvaro


<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas
-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
  {margin:0cm;
  margin-bottom:.0001pt;
  font-size:12.0pt;
  font-family:"Times New Roman";}
a:link, span.MsoHyperlink
  {color:blue;
  text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
  {color:purple;
  text-decoration:underline;}
p
  {mso-margin-top-alt:auto;
  margin-right:0cm;
  mso-margin-bottom-alt:auto;
  margin-left:0cm;
  font-size:12.0pt;
  font-family:"Times New Roman";}
address
  {margin:0cm;
  margin-bottom:.0001pt;
  font-size:12.0pt;
  font-family:"Times New Roman";
  font-style:italic;}
pre
  {margin:0cm;
  margin-bottom:.0001pt;
  font-size:10.0pt;
  font-family:"Courier New";}
span.EstiloCorreo17
  {mso-style-type:personal-compose;
  font-family:Arial;
  color:windowtext;}
@(protected) Section1
  {size:595.3pt 841.9pt;
  margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
  {page:Section1;}
-->
</style>

</head>

<body lang=ES link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10
.0pt;
font-family:"Courier New"'>Hello, <br>
<br>
This OLEDB/ADO question was asked several times, and I try it once more time.
<br>
<br>
The Oracle ODBC/OLEDB Provider, on certain situations, sends out to the RDBMS
dictionary querys on its own (aka &quot;select * from (select NULL ......from
DBSCHEMA_INDEXES ..., etc), when in VB code we use &#8220;CursorLocation =
adUseClient&#8221;. These querys return primary key and index info from the
dictionary at a low level, to populate the schema rowsets in ADO, but (since we
use synonyms which differs from the real tables&#8217;s names in the app), they
aren&#8217;t returning rows (ie: the app uses &#8220;TABLE&#8221;, so the
driver at low level query for &#8220;TABLE&#8221; -- but the real table is
&#8220;A_TABLE&#8221;). So it&#8217;s useless (and the ADO layer just discards
the result with no harm in the app) <br>
<br>
These querys are really parsed by the RDBMS. They cost a bit, and, in some
situations which we found, their accumulated time worths for more than 90% of
waits of the application (SQL net from client) , though their individual
performance is ok). I'm not talking about problems with these queries&#8217;s
performance at an individual level, but instead their relevance on an aggregate
level, across many executions. Also, we see they are ruining the global parse
to execute ratio (albeit being soft-parsered). <br>
<br>
This happens since ODBC/OLEDB drivers from the series 9.2 client, and also from
10.2.0.2 . <br>
<br>
In Metalink there are some bugs documenting this behavior: <o:p></o:p></span><
/font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10
.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 face="Courier New">
<span
style='font-size:10.0pt;font-family:"Courier New"'>3249559 ANSI JOIN SYNTAX AND
ADO CLIENT CURSORS CAUSES COSTLY QUERIES, which correspond to base bug: <br>
3866119 MOST JOINS NOT UPDATEABLE WHEN USING SQL 1999 SYNTAX <o:p></o:p></span>
</font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10
.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10
.0pt;
font-family:"Courier New"'>Bug 3249559 most precisely describes the situation,
but it's &#8220;base bug&#8221; 3866119 doesn't really fixed all the cases. A
very simple ADO Recordset test from vbscript using 9.2.0.7.0 OLEDB Provider,
and not using ansi joins at all, reproduces the problem. <br>
<br>
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10
.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10
.0pt;
font-family:"Courier New"'>What I would like to know is if any of you have to
deal
with this before, and would like to share if there are any viable workarounds.
Changing
the VB code is not an option.<br>
<br>
regards, <br>
<br>
alvaro<o:p></o:p></span></font></p>

</div>

</body>

</html>