zoukankan      html  css  js  c++  java
  • oracle 11g ora00979 bug的处理

      将oracle 10g报表库迁移到 oracle 11g上发现有个存储过程编译时报ora-00979错误,经确定是group by 后面加的游标不能使用,后来用metlink查询发现是11g的一个bug:


    ORA-979 bugs on 11.2.0.1 [ID 1085766.1]
              修改时间 23-MAR-2012     类型 FAQ     状态 PUBLISHED         

    Applies to:
    Oracle Server - Enterprise Edition - Version: 11.2.0.1.0 to 11.2.0.1.0 - Release: 11.2 to 11.2
    Information in this document applies to any platform.
    Purpose
    The purpose of this document is to have a complete list of ORA-979 bugs with workarounds and their current status on 11.2
    Questions and Answers
    1. BUG 9411496 - ORA-979 ON 'UNION ALL PUSHED PREDICATE' (Query Optimizer bug)
    --- Symptoms ---
    When the query has group by and order by, and they use the same attribute and the cursor_sharing is set to a value <> EXACT, the queries fail with ORA-979.

    The call stack from the event 979 errorstack is:

    ... qcuErroer qcuErroep erroep qecgoc qecoby qecpqbcheck qecdrv kkqcttcalo kkqctdrvJPPD kkqjpdctr qksqbApplyToQbc kkqctdrvTD kkqjpddrv kkqdrv kkqctdrvIT apadrv opitca kksFullTypeCheck rpiswu2 kksSetBindType kksfbc ...
    --- Changes ---
    Following the upgrade to 11.2.
    --- Cause ---
    Bug 9411496 - ORA-979 ON 'UNION ALL PUSHED PREDICATE'
    --- Solution ---
    The workarounds are:

    1. "_fix_control"="5520732:OFF"

    OR

    2. optimizer_features_enable = '11.1.0.7'

    OR

    3."_optimizer_push_pred_cost_based" = false

    OR

    4."_optimizer_cost_based_transformation" = off

    The bug is fixed and there are patches for some platforms.  If the workarounds are not acceptable, a one-off patch for the bug should be requested from Oracle Support.


    2. Bug 9478304 "LOOP FAILING WITH ORA-00979 NOT A GROUP BY EXPRESSION" (Query Optimizer bug)
    --- Symptoms ---

    GROUP BY/ORDER BY in PL/SQL cursor loops fails with ORA-979.

     

    1,3,4都是隐含参数,修改必须重启数据库,只有2可以在线修改,修改后编译通过,问题解决。

  • 相关阅读:
    实现PHP Thread基类
    完美实现PHP多线程
    Centos操作记录(一)
    Centos Minimal7 安装问题
    Server Git开发流程
    APP Git协作流程
    git学习笔记
    CentOS安装Nginx
    C++学习笔记(一)
    sql进阶:分组查询、子查询、连接查询
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3063546.html
Copyright © 2011-2022 走看看