2011-03-08 124 views
1

我将用户(USERA)模式导出到dmp文件。然后我试图导入这个模式到另一个用户(USERB)如下图所示在导入期间导入oracle * .dmp文件和Oracle序列

imp fromuser=USERA touser=USERB file=export.dmp log=export.log 

它当前进口,但它最初产生“IMP-0015 - 语句失败,因为对象存在”所有“创建序列”的语句。

userB用户是我刚创建的新用户,因此该序列如何存在?有序列有特殊之处吗?我运行以USERB身份登录的导入。

任何想法

PS DB是Oracle10g的

回答

0

检查,看是否在USERB模式确实存在,他们和他们的创建日期compaired到其他对象的创建时间(表)

SQL>select * from user_objects where object_type = 'SEQUENCE'; 

我怀疑你之前运行过imp,并且因为缺少表空间而失败。你创建了tablepsaces并再次启动了imp。但是创建序列是因为它们不是在表空间中创建的。

P.S.你为什么不使用impdp(datapump)?

+0

这不是我第一次在这个数据库上运行imp。 UserB是一个新用户,因此用户没有任何对象。现在有两个同名的序列。一个用于UserA,另一个用于UserB。我仍然不确定它为什么会显示错误。 – ziggy 2011-03-08 15:56:01

+0

UserB序列的'USER_OBJECTS'上的'CREATED'值是否与运行导入的时间以及所有其他创建的对象相对应?还是它在它之前呢? – 2011-03-09 12:13:43

0

它尝试创建任何公共同义词吗? 我能想到的唯一的另外一件事就是它专门设法创建一个“USERA.sequence_name”,它有臭味。

0

序列在数据库范围内必须是唯一的。 想一想。

+0

你确定序列不是每个模式?不是数据库范围的 – ziggy 2012-05-06 12:50:20