我A数据库实例中有一个700多万记录的表T,现在想要将表T转移到B数据库实例中。
我尝试了将此表的记录导出,在B数据库实例中执行,但在导出的时候报出I/O异常,没有导出成功。
请各位大哥帮我想一个好的方法,谢谢!

解决方案 »

  1.   

    基本语法和实例:
        1、EXP:
           有三种主要的方式(完全、用户、表)
           1、完全:
              EXP  SYSTEM/MANAGER   BUFFER=64000  FILE=C:\FULL.DMP  FULL=Y
              如果要执行完全导出,必须具有特殊的权限
           2、用户模式:
              EXP  SONIC/SONIC     BUFFER=64000  FILE=C:\SONIC.DMP  OWNER=SONIC
              这样用户SONIC的所有对象被输出到文件中。
           3、表模式: 免费资源http://www.it55.com 
              EXP  SONIC/SONIC     BUFFER=64000  FILE=C:\SONIC.DMP  OWNER=SONIC TABLES=(SONIC)
              这样用户SONIC的表SONIC就被导出
        2、IMP:
           具有三种模式(完全、用户、表)
           1、完全:
              IMP SYSTEM/MANAGER  BUFFER=64000  FILE=C:\FULL.DMP  FULL=Y
           2、用户模式:
              IMP  SONIC/SONIC     BUFFER=64000  FILE=C:\SONIC.DMP  FROMUSER=SONIC  TOUSER=SONIC
              这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。
           3、表模式:
              EXP  SONIC/SONIC     BUFFER=64000  FILE=C:\SONIC.DMP  OWNER=SONIC TABLES=(SONIC) http://www.it55.com/ 
              这样用户SONIC的表SONIC就被导入。 
      

  2.   

    我想到个方法:
          先在B数据库实例中建立T表,然后用这条语句:insert into T select * from T@A
              不知道这个方法是不是可以?700多万的数据不知道会不会把数据库搞崩?
      

  3.   

    insert是插入单条数据,且这样可能会导致原来关联的表出错
      

  4.   

    那就使用TOAD把记录导出成文本.
    然后再使用其他工具把这个文本导入ORACLE.
      

  5.   

    我想问一下:为什么要用TOAD?