解决方案 »

  1.   

    可以考虑直接迁移数据文件
    参考ORACLE数据库数据文件转移方法
      

  2.   

    create table a select * from b
      

  3.   

    这方法不靠谱,两个数据库间读写只能使用dblink,但是又不能使用dblink对lob类型进行读取
    目前能想到可以实现方式有如下几种:
    1、必须借助第三方工具
    2、导入导出 (服务器上expdp的方式比exp导出应该会快一点)
    3、数据文件迁移的方式
    (可以考虑在这边数据库建一个那边数据库结构相同的表,然后再通过迁移数据文件把数据整过来,剩下的在单个数据库的处理要简单的多)
      

  4.   


    @bw555  你说的方法我看了,是可行的。
    不过有个问题,是我问题没有说明清楚,在A移到B的过程中,大数据 是需要处理的,就是到B后,A的lob 内容会变化的。
    这有没有办法呢
    如果数据是没变化转过去,我想你的方法就可以解决,现在要改变,需要怎么解决呢。因为要对lob 解析,所以要用代码读到内存 ->解析-> 解析后内容存到B 
    这样子有好的方法吗。
      

  5.   

    需要解析的话,主要的时间消耗在于io方面的消耗,这是主要的瓶颈,想办法提高io速度才是王道
    对数据进行分区,采用多线程,每个线程处理相应的数据分区,这样有可能能快点
      

  6.   

    没说清楚,不是去建分区表
    获取表的rowid的范围,假设是1~1000,第一个进程处理1~100的数据,第二个进程处理101~200的数据,以此类推,多线程甚至是多台机器一起处理数据
      

  7.   

    没说清楚,不是去建分区表
    获取表的rowid的范围,假设是1~1000,第一个进程处理1~100的数据,第二个进程处理101~200的数据,以此类推,多线程甚至是多台机器一起处理数据
      

  8.   

    没说清楚,不是去建分区表
    获取表的rowid的范围,假设是1~1000,第一个进程处理1~100的数据,第二个进程处理101~200的数据,以此类推,多线程甚至是多台机器一起处理数据