有两个用户
想将一个用户表空间的数据导入到另一个用户的表空间中
我现在先exp a/a@server owner=a file=d:\1.dmp
然后再imp b/b@server fromuser=a touser=b file=d:\1.dmp ignore=y grants=n
但这样做发现很多表没有被导入
如何才能实现我要的功能,将全部数据导入另一表空间
望指教,谢谢

解决方案 »

  1.   

    exp system/kk tablespaces=(EXP_TBS,EXP_TBS2) file=/home/oracle/exp_tbs3.dmp
      

  2.   

    用户表空间?
    1。检查一下该用户的default tablespace.
    select username, default_tablespace from dba_users;
    select table_name,tablespace_name from user_tables;
    2. 你的做法只能导入该用户的所ower的对象,不是该default tablespace的所有对象。
    你还是没有弄清楚这几个概念。
      

  3.   


    Oracle 的用户和表空间是对应的。 表是和用户对应的。 加入将A用户的表移到B用户下,也直接insert 就可以了。用A用户登陆,create table tn as select * from B.table;如果表多的话可以用下面的方法,然后直接执行就行了. 
    select 'create table ' ||table_name ||' as select * from B.'||table_name ||';' from all_tables where owner='B用户';------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977