Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> USER_BIND_PEEK_MISMATCH...
Hello,
we are using oracle 10.2.0.1 on solaris sparc 64bit. We have sometimes the following effect, which I do not understand:
We have a lot of processes, that login with the same username on the
database, set the same environment and run the same query throught a
stored procedure. The query is stored and is being run only by this
stored procedure.
The query is using bind variables, that can have some different
values. These values depend from the process type and are the same in
all environments.
In the most of the time and environments, there is only one child
cursor for the query.
Sometimes in one envoronment (the same init.ora, etc...) I see a lot
of child cursors for the query with different execution plans. V
$SQL_SHARED_CURSOR shows only USER_BIND_PEEK_MISMATCH='Y'.
The oracle documentation sais: "Cursor is not shared because value of
one or more user binds is different and this has a potential to change
the execution plan".
But we have always the same values of the binds, so I do not
understand why we have sometimes 1 and sometimes a lot of child
cursors.
The effect is not reproducible at will, so I can not really analyze
it.
Can somebody help me understand it?
Thank you and regards
Elena
Received on Tue Jun 26 2007 - 11:25:19 CDT