概述
Imp的commit和buffer分析:
Imp的commit影响:
imp的commit主要用于大表数据插入时减少回滚段的压力,以免出现长时间导入而出现的回滚段过久ora-01555,结合buffer设置则能按照buffer的大小进行分批提交,可以有效的减轻undo压力。
但是如果对于插入lob、long、ref、rowid等字段时设置commit=y则会逐条commit,我们都清楚对于批量插入数据逐条commit会降低性能,所以这里需要依据表中的具体信息。
而且还存在一个因素则是结合buffer区大小批量commit提交时,如果出现表空间,连接丢失等问题导致imp失败,则可能只提交一批数据,此时带来的影响还是很大的,即使再次插入根据主键筛选依然会出现大量的错误,而imp对这些错误的排查则会降低大量性能,这也可能是oracle默认的imp工具中commit=n缘由吧。
Imp的buffer效果
生产环境下,oracle 9I下sga大概8G,pga大概6g,需要导入一个2.7g以上的大表到成产库中,由于是同事着手运用imp工具的默认buffer=30K,用时大概一个小时还没有结果,考虑到pga还是很大的,跟同事商议加上buffer=409600000设置buffer大概400M的,15分钟内imp完成。当然运用impdp然后运用parallel=n效率当然更加理想了!
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25362835/viewspace-1057420/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25362835/viewspace-1057420/
最后
以上就是心灵美灰狼为你收集整理的imp的buffer和commit分析的全部内容,希望文章能够帮你解决imp的buffer和commit分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复