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
Subject: ora 01031
ORA 4030
ORA 4030
ORA 06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
Subject: Re: ORA 01722 invalid number
 
Subject: RE: WRONG RESULTS bug in 9.2.x, 10.1.x and 10.2.x

Subject: RE: WRONG RESULTS bug in 9.2.x, 10.1.x and 10.2.x

2007-11-01       - By Allen, Brandon

 Back
Hi list, just an update on this issue:

After more research, it seems that encountering this problem might not
be as likely as I'd originally thought.  Although table prefetching is
enabled by default, it seems that it's actually used rather rarely.  I
wrote the query below, which you can use to check all the explain plans
in your shared pool to see if they might be using prefetching.  It
identifies the plans by using the LAG function to find any NESTED LOOPS
operations that are immediately preceeded by a TABLE ACCESS BY INDEX
ROWID operation.  In my BaanIVc environment on 10.2.0.2 with a shared
pool of about 1GB, the query runs in about 1 second and only returns
about 20 plans (out of ~1500 in the pool), half of which are from SYS,
SYSTEM or SYSMAN - the remaining 10 being from my applications.  My
understanding of table prefetching is still far from complete since
documentation doesn't seem to exist on it, however I did find some info
in Jonathan Lewis' Cost-Based Oracle Fundamentals (pp.308-311), and
based on this along with my testing and what I've read on Metalink and
in my SR, it seems to be that even if the plan does show this format,
the table prefetching may not actually be used at runtime, and even if
prefetching is used, the wrong results problem won't always occur.  I
have checked a few of the other prefetching queries from my system and
so far have not found any others that are returning incorrect results so
that's reassuring, but the fact that this problem could still occur in
any 9i or 10g system and if it does, could be disastrous and very
difficult to track down, still leads me to recommend proactively
patching or setting the hidden parameter to disable table lookup
prefetching on all 9i and 10g systems.  Of course you should open an SR
with Oracle Support to get their recommendation for your specific
situation prior to taking any such action.

Regards,
Brandon

Disclaimer: The following script is provided as-is with no warranty
expressed or implied.  Use it at your own risk.

col operation format a20;
col prev_oper format a20;
col prev_opt format a20;
col prev_obj format a30;

select * from
(select
plan_hash_value,
id,
operation,
lag(operation) over (order by plan_hash_value, id) as prev_oper,
lag(options) over (order by plan_hash_value, id) as prev_opt,
lag(object_name) over (order by plan_hash_value, id) as prev_obj
 from
v$sql_plan)
where
prev_oper = 'TABLE ACCESS'
and prev_opt = 'BY INDEX ROWID'
and operation = 'NESTED LOOPS';

__ ____ ____ ____ ____ ____ ____

From: oracle-l-bounce@(protected)
[mailto:oracle-l-bounce@(protected)] On Behalf Of Allen, Brandon

There is a bug in many (if not all) versions of 9.2, 10.1 and 10.2, on
all platforms, that causes queries to intermittently return the wrong
results when table prefetching is used

. . .

Check out Metalink# 406966.1 for more info.  

Privileged/Confidential Information may be contained in this message or
attachments hereto. Please advise immediately if you or your employer do not
consent to Internet email for messages of this kind. Opinions, conclusions and
other information in this message that do not relate to the official business
of this company shall be understood as neither given nor endorsed by it.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16544" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2>Hi list, just an update on this issue:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2>After more research, it seems that encountering this
problem might not be as likely as I'd originally thought.&nbsp; Although table
prefetching is enabled by default, it seems that it's actually used rather
rarely.&nbsp; I wrote the query below, which you can use to check all the
explain plans in your shared pool to see if they <EM>might</EM> be using
prefetching.&nbsp; It identifies the plans by using the LAG function to find
any
NESTED LOOPS operations that are immediately preceeded by a TABLE ACCESS BY
INDEX ROWID operation.&nbsp; In my BaanIVc environment on 10.2.0.2 with a
shared
pool&nbsp;of about 1GB, the query runs in about 1 second and only
returns&nbsp;about&nbsp;20 plans (out of ~1500 in the pool), half of which are
from SYS, SYSTEM or SYSMAN - the remaining 10 being from my applications.&nbsp;
My understanding of table prefetching is still far from complete since
documentation doesn't seem to exist on it, however I did find some info&nbsp;in
Jonathan Lewis' <EM>Cost-Based Oracle Fundamentals</EM>&nbsp;(pp.308-311), and
based on this along with my testing and what I've read on Metalink and in my SR
,
it seems to be that even if the plan does show this format, the table
prefetching may not actually be used at runtime, and even if prefetching is
used, the&nbsp;wrong results problem&nbsp;won't always occur.&nbsp; I have
checked a few of the other prefetching queries from my system and so far have
not found any others that are returning incorrect results so that's reassuring,
but the fact that this problem could still occur in any 9i or 10g system and if
it does, could be disastrous and very difficult to track down, still leads me
to
recommend proactively patching or setting the hidden parameter to disable table
lookup prefetching on all 9i and 10g systems.&nbsp; Of course you should open
an
SR with Oracle Support to get their recommendation for your specific situation
prior to taking any such action.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2>Regards,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2>Brandon</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2>Disclaimer: The following script is provided as-is with no
warranty expressed or implied.&nbsp;&nbsp;Use it&nbsp;at your own
risk.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face=Arial
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face="Courier New"
size=2>col operation format a20;<BR>col prev_oper format a20;<BR>col prev_opt
format a20;<BR>col prev_obj format a30;</FONT></SPAN></DIV>
<DIV><FONT face="Courier New"></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=462023021-31102007><FONT face="Courier New"
size=2>select * from <BR>&nbsp;(select <BR>&nbsp;plan_hash_value, <BR>&nbsp;id,
<BR>&nbsp;operation, <BR>&nbsp;lag(operation) over (order by plan_hash_value,
id) as prev_oper, <BR>&nbsp;lag(options) over (order by plan_hash_value, id) as
prev_opt, <BR>&nbsp;lag(object_name) over (order by plan_hash_value, id) as
prev_obj <BR>&nbsp; from <BR>&nbsp;v$sql_plan) <BR>where <BR>&nbsp;prev_oper =
'TABLE ACCESS' <BR>&nbsp;and prev_opt = 'BY INDEX ROWID' <BR>&nbsp;and
operation
= 'NESTED LOOPS';</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> oracle-l-bounce@(protected)
[mailto:oracle-l-bounce@(protected)] <B>On Behalf Of </B>Allen,
Brandon</FONT></DIV>
<DIV><SPAN class=657465216-25102007><FONT face=Arial
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=657465216-25102007><FONT face=Arial size=2>There is a bug in
many (if not all) versions of 9.2, 10.1 and 10.2, on all platforms,&nbsp;that
causes queries to intermittently return the wrong results when table
prefetching
is used</FONT></SPAN></DIV>
<DIV><SPAN class=657465216-25102007><FONT face=Arial size=2><SPAN
class=462023021-31102007></SPAN></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=657465216-25102007><FONT face=Arial size=2><SPAN
class=462023021-31102007>. . .</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=657465216-25102007><FONT face=Arial size=2><SPAN
class=462023021-31102007></SPAN></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=657465216-25102007><FONT face=Arial size=2>Check out Metalink#
406966.1 for more info.&nbsp; </FONT></SPAN></DIV></BODY><!--[object_id=
#oneneck.com#]--><FONT face=Tahoma size=2><FONT color=#0000ff>
<P>Privileged/Confidential Information may be contained in this message or
attachments hereto. Please advise immediately if you or your employer do not
consent to Internet email for messages of this kind. Opinions, conclusions and
other information in this message that do not relate to the official business
of this company shall be understood as neither given nor endorsed by it.</P><
/FONT></FONT></HTML>