2011-03-08 128 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