exp/imp迁移大表(大小11个G)的疑惑?请指教
目前手中有一个工作是将一个大表,但是我估算了一下需要100小时,这个时间我是不能接受的,不知道有没有这方面经验的朋友可以一起讨论
一下。
相关信息如下:
数据库版本:9.2.0.4
导出数据库:db1
导入数据库:db2
逻辑导出语句如下:
exp user1/password@db1 file=TABLE1.dmp log=TABLE1.log tables=table1 buffer=10485760 constraints=n compress=n statistics=none
imdexes=n triggers=n grants=n
逻辑导入语句如下:
imp user1/password@db1 file=TABLE1.dmp log=TABLE1.log ignore=y full=y constraints=n grants=n buffer=10485760 commit=y
1.回滚段确认:30G,imp导入时加了参数commit=y,控制回滚段无限的加大
2.临时表空间大小确认:62G
3.内存大小确认:127G
4.CPU颗数:32颗
5.有足够的归档空间
6.用户表空间足够大
7.TABLE1段大小为:1.1010E+10 (11G)
8.TABLE1有98258468(1亿)条数据
9.导出后的TABLE1.dmp文件大小为8.1G
我的问题:
1.大概跟踪了一下进度,复制的效率开始时是在100万条记录/小时,按照这个速度需要4.1天的时间才能完全导入,不能够接受的时间长度,有
没有提高性能的方法呢?
2.我是在归档模式下进行的导入,不过设置成非归档是否会快一些?
3.对应的索引没有禁止,这个表上有四个索引,其中一个为主键索引,如果禁掉索引以及约束会不会提高速度?
4.在imp导入过程中,索引表空间会不会增大,这个没有监控出来?
5.imp的原理是什么?是转换成sql的insert语句进行插入么?按照我的设置,是否是每插入10M的数据就会进行提交一次?
6.9.2.0.4版本的imp可以增加并行度么?(如果能请给出方法,目前没有找到相应的参数)
我发现,就是现在,好像数据导入到第3735438条时,停止了,不知道为什么,难道在大小上有什么限制,或者有什么类似死锁的事情发生?
彻底被这个任务击沉了!有朋友有过迁移大表的经验么?请指导,非常感谢。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/519536/viewspace-3149267/
,如需转载,请注明出处,否则将追究法律责任。