提高IMP速度的几个方法

这篇Tip来自于Jonathan Lewis的站点。

原文链接如下:

http://www.jlcomp.demon.co.uk/faq/imp_slow.html

为什么IMP速度慢?

1。IMP作了大量的跟普通方式一样的insert

2。IMP时候创建索引通常是logging的,产生了大量的undo和redo

如何提高IMP的速度

1。不建议使用commit参数,因为当imp失败的时候,会导致很多后续的麻烦事儿

2。增大buffer参数值,以便于一次读进更大的array

3。设置较大的初始化参数sort_area_size,以加快创建索引时候的排序速度

4。增大重作日志的大小,以减少log switch的次数,也就是减少checkpoint次数,减少写磁盘的次数

5。如果要往已经存在的表中追加数据,那么有些情况下,比如表中存在位图索引,那么最好先删除索引,再导入。否则更新索引时会产生大量等待。

6。使用indexfile和indexes参数,再导入数据之后再手工创建索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用imp命令导入dmp文件,你可以按照以下步骤进行操作: 1. 打开命令提示符(cmd)。 2. 输入以下命令,将dmp文件导入到数据库中: impdp username/password@orcl directory=dump_dir dumpfile=xxx.dmp full=y 其中,username是数据库用户名,password是密码,orcl是数据库实例名,dump_dir是导入文件所在的目录,xxx.dmp是要导入的dmp文件的文件名。full=y表示导入整个数据库。 [1] 3. 等待导入过程完成。 在导入过程中,你可能需要注意以下几点: - 导入时可以设置表空间自动扩展,以确保导入过程中不会出现空间不足的问题。[2] - 导入过程中,先导入数据,然后再创建索引和约束。 - 如果导出时使用了多个dmp文件,需要确保在导入时指定正确的文件名,以便一次性导入多个文件。 - 可以设置合适的数据缓冲区大小(buffer)来提高导入速度。 - 对于包含long或lob类型字段的表,逐行提交会减慢导入速度。 - 可以将导入过程记录到日志文件中,以便后续查看。 - 可以设置每个转储文件的最大大小,以避免导出文件过大。 - 使用具有DBA权限的system用户登录数据库。 在运行imp命令之前,你需要先创建一个目录(directory),并将dmp文件放在该目录下。可以使用以下命令创建目录: create directory dump_dir as 'D:\app\hasee\oradata\mydata' 请注意,运行该命令后可能不会自动创建mydata文件夹,你需要手动在相应路径下创建该文件夹,并将dmp文件放在其中。同时,还需要为用户赋予该目录的读写权限。[3] 希望这些信息对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值