CURSOR_SHARING=SIMILAR 时用Expdp导出数据变的bug已修复

通过对CURSOR_SHARING三个参数的了解,将此参数设为similar还是比较可靠的,前提是一定要定期收集统计信息及直方图。

不过今天偶然看到用similar的一个问题,会导致expdp导出变慢,原文如下:

http://www.eygle.com/archives/2011/01/cursor_sharing_expdp.html

 

通过查询这个是一个bug,oracle已在10.2.0.4以及上的版本中修复此bug。

 

Bug 4513695 - Export Data Pump of large table can be very slow when CURSOR_SHARING=SIMILAR 
- 缺陷:  Bug:4513695 "Poor performance for SELECT with ROWNUM=1 with literal replacement" 
- 症状:大型表 (100+ Gb) 的 Export Data Pump 作业速度可能要比原始 exp 客户端的导出慢很多(例如,前者的导出时间超过 24 小时)
- 版本:10.1.0.x 和 10.2.0.3.0 及更低版本 
- 已在以下版本中修正:10.2.0.4.0 及更高版本;对于某些平台,Patch:5481520 提供了针对 10.2.0.3.0 的修正 
- 打过补丁的文件:apa.o kko.o kkofkr.o qerco.o 
- 变通方案:如果可能,在开始 Export Data Pump 作业之前先设置 CURSOR_SHARING=EXACT 
- 原因:将 cursor_sharing 设置为 similar 时,基于成本的优化器(Cost Base Optimizer,CBO)中出现查询优化问题
- 跟踪:Data Pump Worker 跟踪显示“SELECT NVL((SELECT /*+ NESTED_TABLE_GET_REFS */ :"SYS_B_0" FROM ... WHERE ROWNUM = :"SYS_B_1"), :"SYS_B_2") FROM DUAL”的 elapsed fetch 时间值非常高 
- 备注:针对此缺陷的修正只能作为 Bug:5481520 “Wrong results with ROWNUM and bind peeking”
的修正予以提供。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值