ITPub博客

首页 > 数据库 > Oracle > imp的buffer和commit分析

imp的buffer和commit分析

原创 Oracle 作者:dotaddjj 时间:2012-02-22 17:37:22 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/25362835/viewspace-1057420/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    220
  • 访问量
    1662981