select statement give ora-03113 on Oracle 11
When I run next sql statement on Oracle 11g I got ora - 03113 but same statement run normal on oracle 10gr2 can any one help me on this issue
    SELECT /*+ INDEX_JOIN(b) */
           b.child_
      FROM tab1 b
START WITH b.child_ IN (
     SELECT /*+ INDEX_JOIN(c) */
            c开发者_运维问答.id
       FROM tab2 c
      WHERE c.id IN (SELECT /*+ INDEX_JOIN(d) */
                            d.id
                       FROM tab3 d
                      WHERE d.id2 = 'X'
                     UNION
                     SELECT 'X'
                       FROM DUAL))
CONNECT BY b.parent_ = PRIOR b.child_
ORA-03113 is one of Oracle's generic "server failure" errors.  There should be a trace file in the USER_DUMP_DEST directory which contains diagnostic information.  If you're unlucky there will be a core dump instead (in the CORE_DUMP_DEST directory).  I say unlucky because it's harder to get a stack trace out of a core dump.  
You may well need a DBA to help with access to these files and also in the interpretation.
ORA-03113 usually indicates a problem with the database's integrity, such as block or index corruption.  So you may also need a DBA's assistance with resolving this matter.
In short, I think the people who voted to migrate this from ServerFault were wrong to do so.
I had the same problem with a query with Exists sub-query which support pagination. We identify the problem by re-writing the sub query to a simple one and then came a simple solution of changing the sub query select statement: instead of use tablename.*, we changed to only select the fields we need, tablename.id in our case. And the problem is solved.
Hope this helps.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论