Oracle数据库数据迁移或导出导入(exp/imp,dblink)应该注意的点(总结)

1. 目标数据库设置为非归档模式,当然停掉资料库同使用Nologging更好 2. 导入的时候可以将索引和约束全部去掉 index , constraint , trigger 等, drop或者disable掉所有的index以及相关的pk


3. 在回滚段够大的情况下,不用加commit=y参数,频繁提交会影响效率; 4. 可以考虑使用DBLINK迁移,同样使用非归档模式,insert /*+ append*/ into select /*+ parallel(t,4)*/ * from t@dblink; 5. 迁移的过程中时刻注意各种空间是否够用(包括redolog,archivelog,undo segment,temp tbs); 6. 其他的因素干扰(Job, Trigger, Profile 等等)

7Imp的时候buffer给的大一些

8imp没有parallel,想要用parallel那么就把原表输出成多个csv然后用sqlldr

9. 可以试试物化视图(Material View),如果是单独表空间的话,也可以考虑transport tablespace

10.可以考虑使用EXPDPIMPDP

11 table/index 设置Nologging

12. 同平台的话,按表空间传输,更快 .

13. 用的query 子查询导出导入 (exp imp) .

14ignore=y buffer=40960000, 一秒至少应该是10w记录。

15.先创建表,删除索引信息。表设置并行度。如果可以分区的话。建议并行导入。即写多个脚本。每个脚本导入不同的分区内容。加上commit=y,导入完毕后并行创建索引,创建完毕后取消并行度。

请使用浏览器的分享功能分享到微信等