简介
最近领导安排一个任务,需要将备库上的两个账号下的所有表,迁移到测试库上,用来搭建一个测试库。
源库 系统版本aix6.1 oracle 11.1
目标库 系统版本rehat6.5 oracle 11.2.0.4
实施过程
一、对于a用户和b用户下的大部分表,都是通过impdp+dblink 的方式实现了迁移
二、一张接近500G分区表
这张表是一张list分区表,300多个分区,数据量也非常的庞大十三亿条数据,这张表没有使用impdp+dblink的方式进行迁移。主要原因是数据量大impdp效率非常低下。所以最后使用的是insert select@db_link 的方式直接按分区进行插入,将索引主键删除后,倒入的效率还是可以接受的。一千万的分区基本在十分钟以内完成。
三、一张照片表10t左右
这张表也是一张list分区的表,300多个分区,数据量也是13亿条,但是表中存在lob字段用来存放照片。
1,使用impdp+dblink的方式来倒入。源端的数据库版本是11.1的,目标段的数据库版本是11.2.0.4的,这样的方法不支持分区倒入。而整表倒入,由于数据量大几乎不可能。如果两个版本都是11.2的数据库是可以实现分区倒入的,以前做过。
2,使用exp和imp的方式倒入,在目标段创建一个5t的文件系统来临时存放数据,通过exp@tns的方式来按分区导出数据,但是由于测试库的oracle版本高于源库,exp不支持。同样失败。
3,使用nfs的方式将测试段的5t文件系统,共享到源端。在本地导出。目标端倒入。这个方式导出的时候正常 ,倒入报错,还未找到原因。
4,还有什么更好的方法吗,求!!