如果这样直接导而磁盘空间又不够initial空间的大小,那没辙。
不过,可以这样,举个例子。
原用户user_1,目标用户user_2。
那么写这样的一个sql,创建如下脚本,而后,以user_2用户登录,运行之。
select 'create table '||a.table_name||' as select * from user_1.'||a.table_name||' where 1=2;'
from dba_tables a where a.owner='USER_1'

解决方案 »

  1.   

    接上:由于你原用户的表的存储参数设置较大,而目标用户的默认表空间较小,不能满足存储参数的要求,所以导致你imp出错。
      

  2.   

    EXPORT 时, 你要用compress=Y参数。这样空间久压缩了
      

  3.   

    可不可以手动增加空间呢?
    或是做一个触发.当记录数超过多少时,就开始将一定时期之前的数据转到
    另一个BACKUP表中去呢?
    学习中
      

  4.   

    为什么你导入表结构都会产生1.5G的容量,,你可以考虑一下这个问题,看看你这句:ALTER TABLE "ZY_CARD_TRADE" ADD  CONSTRAINT "PK_ZY_CARD_TRADE" PRIMARY KEY "
     "("CARD_NO", "SELL_TIME", "RIDING_TIME", "CARD_MONEY") USING INDEX PCTFREE 1"
     "0 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 1275412480 NEXT 40960 MINEXTENTS "
     "1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_"
     "POOL DEFAULT)              你这个CONSTRAINT 的存储设置语句中的 INITIAL 1275412480 ,你算算这是多少,,       1275412480/1024/1024=1216.3 ,,一次就要分配1G多了,虽然rows=n,,但是分配初始区还是要做的,,所以你这里会报错的,  建议你不要导出CONSTRAINT,只要导出表结构就可以了,,