Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

81

积分

0

好友

4

主题
1#
发表于 2012-1-10 22:32:35 | 查看: 8400| 回复: 6
OS: HP
ORACLE: 10205
上周将该数据库从10204升级到10205,之后就有一条sql一直报告ora-01719
该sql结构如下
select a.xx
         ...
         b.xx
from a, b
where a.class ='D'
and    a.cd in ('A','E')
and ((a.cust_id = b.cust_id(+)) and 'D'='F') or
        ('D'='D') and (a.cust_id = b.cust_id(+)).

没有升级前,该sql一直相安无事,升级后就一直运行不成功
登陆数据库查看,allow (+) in OR clause 明明已经存在了

SQL> select optimizer_feature_enable, description from v$session_fix_control where session_id = userenv('sid') and bugno = 6610822;



OPTIMIZER_FEATURE_ENABLE

-------------------------

DESCRIPTION

----------------------------------------------------------------

10.2.0.5

allow (+) in OR clause



且_eliminate_common_subexpr一直为true,从未改动过;compatible也从未改过

何以升级了反而出错哪

表b的cust_id为not null
2#
发表于 2012-1-10 22:41:59
今天比较晚了 ,这个帖子我会在明后 2天内回复的。

回复 只看该作者 道具 举报

3#
发表于 2012-1-11 10:18:32
操作系统给下 在MOS 查询ora-01719  10.2.0.5 有很多关于迁移至10.2.0.5的BUG
(+)所做的join 好像是从8i开始吧 在标准的SQL 并不怎么支持。
改语句的代价太大的话 只能选择降低版本的10.2.0.4 还是在延长支持期 假如不对10.2.0.5的新功能有以来的话。

回复 只看该作者 道具 举报

4#
发表于 2012-1-11 10:25:00
类似的情况,比如在一个版本下sql语句可以成功执行,但是在别的版本执行报错的遇到过,当时是在10.2.0.1下写的过程,在10.2.0.4下执行就报错了,记得是start with connect by语句,后来只能改造。

回复 只看该作者 道具 举报

5#
发表于 2012-1-11 15:00:06
这是一个oracle bug修复造成的问题

以下是oracle support的回复
In Oracle 10.2.0.4 and before, there is a bug in "common subexpression elimination" function. The bug number is 5346187. It can lead wrong transformation.
It was fixed on 10.2.0.5.

If setting the hidden parameter "_eliminate_common_subexpr" to false to disable the "common subexpression elimination", the ORA-1719 error will be report.
Please refer Bug 5346187, Note 5346187.8 and the last test case.


We recommend you to contact your developer to modify the SQL statement.
For example,

Using  "unoin all" instead of "OR" operator.

回复 只看该作者 道具 举报

6#
发表于 2012-1-11 15:00:27
谢谢各位的探讨

回复 只看该作者 道具 举报

7#
发表于 2012-1-11 15:09:52
额 让你改SQL 语句。。。。 这个工程巨大了 问问有没有补丁可以打

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-15 02:10 , Processed in 0.073350 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569