11.2.0.4数据泵导出的时候速度慢,单块读很多,请问怎么解?

[复制链接]
查看11 | 回复9 | 2019-6-14 14:49:06 | 显示全部楼层 |阅读模式
本帖最后由 yueli33 于 2019-8-10 12:50 编辑
11.2.0.4数据泵导出的时候速度很慢,单块读很多,请问怎么解?15G数据导出用了50多分钟。
v$active_session_history看等待事件主要是db file sequential read。看P3参数确实都是单块读。
请问有没有什么办法解决单块读问题?

回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
你看看读的是那些块,对应的是那些段,然后确定为什么。
如果是回滚段,也许你一些事务没有提交。
还有1种可能你以前某个时间修改了大量的块,提交以后这些块没有再访问。
还有。。。。。
回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
想起来还有一种可能是行迁移。
http://blog.itpub.net/267265/viewspace-1078757/

回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
本帖最后由 yueli33 于 2019-8-10 22:04 编辑
lfree 发表于 2019-8-10 17:25
想起来还有一种可能是行迁移。http://blog.itpub.net/267265/viewspace-1078757/

谢谢版主。已经查了段,v$active_session_history.CURRENT_OBJ#查了对象id。就是数据泵导出时候读取的段,不是回滚段。
并且查了没有行迁移。mos上看了说是行迁移bug,加external_table参数。但是看了没有行迁移。
也没有long和lob。。。
您说的“你以前某个时间修改了大量的块,提交以后这些块没有再访问。”
意思是不是被lru列表刷出内存了?
双节点rac,2节点只是备机,平时无业务,只有备份。能否通过在执行数据泵之前全表扫描一次,这样提高执行速度?节点2上没什么业务,也不会刷出去。


回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
yueli33 发表于 2019-8-10 21:56
谢谢版主。已经查了段,v$active_session_history.CURRENT_OBJ#查了对象id。就是数据泵导出时候读取的段, ...

节点2没业务,这样你应该检查内联的网路是否有问题。
回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
lfree 发表于 2019-8-11 14:29
节点2没业务,这样你应该检查内联的网路是否有问题。

节点2没业务是诚心这样配的。应用就是连接节点1的vip。节点2就是当备机用。
您说的“你以前某个时间修改了大量的块,提交以后这些块没有再访问。”
意思是不是被lru列表刷出内存了?
回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
yueli33 发表于 2019-8-11 16:03
节点2没业务是诚心这样配的。应用就是连接节点1的vip。节点2就是当备机用。您说的“你以前某个时间修改了大 ...

你的情况应该不是,因为这样要访问undo段。
如果你大量修改数据块,提交后,有大量的块已经不再数据缓冲中,这样oracle
采用快速提交,这些段仅仅在下次select访问的时候在修改清除ITL槽信息,并且清除lock信息。
而这时就要访问undo段。
回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
加access_method=direct_path试试
回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
andy_lau 发表于 2019-8-12 15:59
加access_method=direct_path试试

我本来也是想这样,不过对方讲没有行迁移。
不过加快expdp执行存在行迁移的情况是
access_method=external_table
回复

使用道具 举报

千问 | 2019-6-14 14:49:06 | 显示全部楼层
试试: alter system set streams_pool_size=150m
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行