目前有一数据库(oracle 10g),数据库数据积累已达上百G,这样大的数据量使用 exp/imp导出/导入那得花费多少时间,有没有其实的快速的办法!我要完整的数据库,再导入到我现有的 oracle 11g 中,谢谢!

解决方案 »

  1.   

    可以从这方面着手
    将数据文件copy过去,然后挂到新库上
      

  2.   

    因原来的操作系统是 win2003 x32 + oracle 10g现在的服务器是 win2003 x64 + oracle 11g x64可以直接COPY原来的数据库文件,再挂到新的上吗?有什么好的办法,谢谢!
      

  3.   

    用exp imp这种把10g导出,然后用11g导进,这种方法肯定是不行的。
    数据量大,有一种方法就是用10g的数据库文件人工复制,然后用11g附加
      

  4.   

    我不确定直接COPY行不行,
    不行就EXPDP吧,能快点。
      

  5.   

    ---------使用exp/imp
    1. 加快exp速度 
        加大large_pool_size,可以提高 exp的速度 采用直接路径的方式(direct=y),数据不需要经过内存进行整合和检查。 设置较大的 buffer,如果导出大对象,小buffer会失败。 
        export文件不在ORACLE使用的驱动器上,不要export到NFS文件系统。 
        UNIX环境:用管道模式直接导入导出来提高 imp/exp的性能 
    2. 加快imp速度 
        建立一个indexfile,在数据 import完成后在建立索引将import文件放在不同的驱动器上增加 DB_BLOCK_BUFFERS增加 LOG_BUFFER 
        用非归档方式运行 ORACLE:ALTER DATABASE NOARCHIVELOG; 建立大的表空间和回滚段,OFFLINE其他回滚段,回滚段的大小为最大表的 1/2 使用 COMMIT=N 
        使用 ANALYZE=N 
        单用户模式导入 
        UNIX环境:用管道模式直接导入导出来提高 imp/exp的性能 
    3. 通过unix/Linux PIPE管道加快exp/imp速度 
        通过管道导出数据: