Chinaunix首页 | 论坛 | 博客
  • 博客访问: 436265
  • 博文数量: 119
  • 博客积分: 5221
  • 博客等级: 大校
  • 技术积分: 972
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-04 08:57
文章分类

全部博文(119)

文章存档

2011年(13)

2010年(21)

2009年(19)

2008年(66)

我的朋友

分类: Oracle

2008-05-09 18:31:56

数据库导入过慢,可以由如下步骤和方面进行分析解决:
1、使用top查看当前导入源和导入目的机器的系统资源使用情况,看看是否CPU占用率太高,可用内存和Swap空间太小,或者使用vmstat查看磁盘的负荷是否很大?这些因素都有可能从系统的层面造成导入速度的瓶颈;
2、导出确认系统正常,资源充分后,就要检查Oracle的一些相关参数配置了。
首先确认所使用的dmp文件是正常无警告并可用的;源库和目的库的字符集都要一致;其次导入导出遵循的基本原则就是使用低版本(包括大版本,也包括小版本)的导入导出工具进行操作;如果能将数据库的归档关闭,也可以使速度得到提升;目的库的表空间(包括导入涉及到的用户表空间、临时表空间和undo表空间)是否够用。
3、导入语句也很重要。buffer给大一些,ignore=y buffer=40960000, 一秒至少应该是10w记录;先导表结构,再导数据(在源库中创建新的表空间和用户即可,没必要为用户创建表和各种约束条件、索引等等);必要的时候,加上commit=y参数(在回滚段够大的情况下,不用加commit=y参数,频繁提交会影响效率);如果是按用户导入,前后用户名不相同,那么注意要限制用户对表空间的使用配额;最后加入feedback选项,可以以一个点一个点的显示插入的行数,可以看出来是不是死了或者是不是很慢。 
阅读(1679) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~