表空间中有 用户 A 表空间 AS, 通过用户A使用exp备份数据,一个.BMP数据。
新建一个用户B,新建表空间BS,通过用户B使用IMP导入数据。
问题:
1、如果我的数据库中没有AS表控件,导入数据的时候就会提示 没有找到表控件AS导入就会出现错误!
2、如果我的数据库中存在AS表空间,有些数据就导入到AS中了!希望解决:其实就是想吧表空间的AS中的数据导入到表空间BS!通过相应的用户导入。再不同表空间可以互相导入数据。我现在导入导出的语句如下:
导出:
exp "用户/米面@数据库名"  tables ="表名" file="E:\DataBase\dongbei2009-03-25\表备份文件名.dmp"  rows=Y   
导入:
imp "用户/米面@数据库名"  tables ="表名" file="E:\DataBase\dongbei2009-03-25\表备份文件名.dmp"  rows=Y   IGNORE=Y  
请各位大侠指教。

解决方案 »

  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、表模式:  
              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) 
      

  2.   

    先导出建表脚本,将其中的表空间AS改成表空间BS,在B用户上提交,建好表后用imp导入B就可以了 
      

  3.   

    用PL /SQL Developer这类的软件就可以导出脚本了
      

  4.   

    imp "用户/米面@数据库名"  tables ="表名" file="E:\DataBase\dongbei2009-03-25\表备份文件名.dmp"  rows=Y  IGNORE=Y fromuser=a touser=b
      

  5.   

    imp导入dmp文件时首先选择表原来所在的表空间,向其中导入数据,如果没有这个表空间,则向用户缺省表空间导入数据.所以楼主想要把dmp导入表BS表空间,只能让B用户的缺省表空间为BS,并且B用户没有UNLIMITED TABLESPACE系统权限,其在as上的分配的空间限额也要收回,既在system用户下执行:SQL>REVOKE UNLIMITED TABLESPACE FROM B;
    SQL>ALTER USER b quota 0 ON AS;SQL>ALTER USER b DEFAULT TABLESPACE BS;
    SQL>ALTER USER b quota unlimited on bs;
      

  6.   

    imp fromuser=a touser=b 这个方法不好用!还是进入老的表空间中!
      

  7.   

    zcs_1 说的没错!已经不向AS里面导入数据!但是出现了错误提示!
    导入其中一些表的时候出现下面错误!有一部分表已经但如成功!
    ORA-01536 :超出表空间‘A’的空间权限!
      

  8.   

    yhuib  谢谢你的留言!但是能不能说的详细些!我是真的不太会操作!
      

  9.   

    PL/SQL Developer 这个工具有吗?其他的工具估计也能导出脚本,但是我现在只用过这个。
    以A 用户登录,tools菜单下 export user objects ,选中所有的表 ,选中 include Storage,single file 导出,导出完后修改脚本里的表空间,
    然后以B用户登录,提交修改后的脚本,这样表就建好了。然后再导入imp的话就应该可以了
      

  10.   

    应该用buffon1260 说的就可以。用yhuib 更直接一些。有界面看着。
      

  11.   


    如果有blob,clob字段,只能导入到原来的AS表空间,这个问题在10g中可以用impdp来解决,其中有个参数remap_tablespace=as:bs
    可以将as表空间映射为bs表空间,楼主的用的10g吗?
      

  12.   

    我一般也用PL/SQL Developer 工具!     “然后以B用户登录,提交修改后的脚本,这样表就建好了”是通过SQL脚本打开执行吗?
      

  13.   

    我用了zcs_1 办法!搞死定了!就是要调整一下SQL文件里面的信息!谢谢大家了!