关于Import error ora-01658

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

做一个eXP/imp lab:

create a user apple1 default tablespace user1.

create a user apple2 default tablespace user2.

apple1 create a table ABC on user1 tablespace.

我预备把ABC这个table汇出,然后汇入到apple2的schema名为QQQ的table,并且希望这个table要放在apple2的default tablespace (也就是user2)。

1. exp full=y compress=n rows =y file=test.dmp

2. imp system/jakfjks file=test.dmp fromuser=apple1 touser=apple2 tables=(ABC)

importing APPLE1's objects into APPLE2

IMP-00017: following statement failed with Oracle error 1658:

"CREATE TABLE "ABC" ("ID" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXT"

"RANS 255 STORAGE(INITIAL 131072 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE ""

"USER1" LOGGING NOCOMPRESS"

IMP-00003: ORACLE error 1658 encountered

ORA-01658: unable to create INITIAL extent for segment in tablespace USER1

Import terminated sUCcessfully with warnings.

希奇,我明明是要import到user2这个tablespace上,为什么是user1 tablespace出现无法create extent的错误讯息?要新增extent应该也是在user2这个tablespace上呀?

这是因为,当你import的时候,他就像在执行 建立table的script,并且带着这些参数 "TABLESPACE " "USER1" "LOGGING NOCOMPRESS" in the script,也就是说他会把table建立在原来的user1 tablespace但owner会为apple2 。

假如我不希望原来的ABC和新增的QQQ这两个table放在同一个tablespace上怎么办呢?

alter user apple2 quota unlimited on user2;

alter user apple2 quota 0 on user1;

So while importing this ABC get imported to user2 tablespace it won't use user1 tablespace~~

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有