我原有系統平台是:window2003 32位+oracle9.0 32位版本,現exp導出dmp文件后,想倒入到linux 64位 oracle10。2.0.4 64位平台上,但倒了幾次老提示以下錯誤。請高手協助,謝謝。
IMP-00041: 警告:創建的對象帶有編譯警告
"CREATE FORCE VIEW "ANYT"."DOMAIN_ADDRESS_VIEW" ("
""ADDRESS_ID","NAME","SIMPLE_CODE","PARENT_ADDR","CSTNAME") AS "
"SELECT ADDRESS_ID,DOMAIN_ADDRESS.NAME,SIMPLE_CODE,PARENT_ADDR ,CST_CUSTOMER"
".NAME"
" FROM DOMAIN_ADDRESS , CST_CUSTOMER WHERE CST_CUSTOMER.ADDR_ID = DOMAIN_"
"ADDRESS.ADDRESS_ID ORDER BY SIMPLE_CODE "
IMP-00017: 由於 ORACLE 錯誤 23308, 以下語句失敗:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('ANYT', 'Tr_I_NOTIFY_SMS_"
"FINISHED_ID', FALSE); END;"
IMP-00003: 遇到 ORACLE 錯誤 23308
ORA-23308: 對象 ANYT.TR_I_NOTIFY_SMS_FINISHED_ID 不存在或無效
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.DBMS_DDL_INTERNAL", line 41
ORA-06512: 在 "SYS.DBMS_DDL", line 335
ORA-06512: 在 line 1
19 个解决方案
#1
TR_I_NOTIFY_SMS_FINISHED_ID 這個觸發器,你EXP時使用的USER有權限訪問嗎?
#2
有權限的
#3
把EXP,IMP命令的細節都透露一下。
EXP的用戶,與IMP的用戶名,是同一個嗎?
#4
請檢查ANYT用戶權限分配。
#5
EXP命令: exp any/p1234@an12 file=a.dmp owner=any
IMP命令:imp any/p1234 file=/root/a.dmp fromuser=any touser=any ignore=y constraints=n
#6
在10g上ANYT用戶權限和9i上ANYT用戶的權限配置是一樣的
#7
角色
角色 管理選項 默認值
CONNECT N Y
DBA N Y
RESOURCE N Y
系統權限:
系統權限 管理選項
UNLIMITED TABLESPACE N
#8
IMP命令:imp any/p1234 file=/root/a.dmp fromuser=any touser=any ignore=y
constraints=n
會不會這個參數的原因,去掉看看。
#9
關注,學習中....
#10
你的 fromuser=any touser=any 這兩個any ,導入和導出的用戶一樣,不會報錯嗎?
#11
這個參數去掉也報錯,報錯如下:
IMP-00041: 警告:創建的對象帶有編譯警告
"CREATE FORCE VIEW "ANY"."DOMAIN_ADDRESS_VIEW" ("
""ADDRESS_ID","NAME","SIMPLE_CODE","PARENT_ADDR","CSTNAME") AS "
"SELECT ADDRESS_ID,DOMAIN_ADDRESS.NAME,SIMPLE_CODE,PARENT_ADDR ,CST_CUSTOMER"
".NAME"
" FROM DOMAIN_ADDRESS , CST_CUSTOMER WHERE CST_CUSTOMER.ADDR_ID = DOMAIN_"
"ADDRESS.ADDRESS_ID ORDER BY SIMPLE_CODE "
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"ALTER TABLE "SALE_CONSUMER" ADD CONSTRAINT "FK_CONSUMER_CUSTOMER" FOREIGN K"
"EY ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALID"
"ATE"
IMP-00003: 遇到 ORACLE 錯誤 2270
ORA-02270: 此列列表的唯一關鍵字或主鍵不匹配
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"ALTER TABLE "SALE_ACCOUNT" ADD CONSTRAINT "FK_SALE_ACCOUNT001" FOREIGN KEY "
"("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALIDATE"
IMP-00003: 遇到 ORACLE 錯誤 2270
ORA-02270: 此列列表的唯一關鍵字或主鍵不匹配
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"ALTER TABLE "SALE_GROUP_ORDER" ADD CONSTRAINT "FK_SALE_GROUP_CUSTOMER" FORE"
"IGN KEY ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NO"
"VALIDATE"
IMP-00003: 遇到 ORACLE 錯誤 2270
ORA-02270: 此列列表的唯一關鍵字或主鍵不匹配
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"ALTER TABLE "SALE_ORDER" ADD CONSTRAINT "FK_SALE_ORDER_CUSTOMER" FOREIGN KE"
"Y ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALIDA"
"TE"
IMP-00003: 遇到 ORACLE 錯誤 2270
ORA-02270: 此列列表的唯一關鍵字或主鍵不匹配
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"ALTER TABLE "SALE_RECEIVABLE" ADD CONSTRAINT "FK_SALE_REC_CUSTOMER" FOREIGN"
" KEY ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVAL"
"IDATE"
IMP-00003: 遇到 ORACLE 錯誤 2270
ORA-02270: 此列列表的唯一關鍵字或主鍵不匹配
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('ANY', 'Tr_I_NOTIFY_SMS_"
"FINISHED_ID', FALSE); END;"
IMP-00003: 遇到 ORACLE 錯誤 23308
ORA-23308: 對象 ANY.TR_I_NOTIFY_SMS_FINISHED_ID 不存在或無效
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.DBMS_DDL_INTERNAL", line 41
ORA-06512: 在 "SYS.DBMS_DDL", line 335
ORA-06512: 在 line 1
即將啟用約束條件...
IMP-00017: 由於 ORACLE 錯誤 2298, 以下語句失敗:
"ALTER TABLE "SALE_CONSUMER" ENABLE CONSTRAINT "FK_GROUP_ID""
IMP-00003: 遇到 ORACLE 錯誤 2298
ORA-02298: 無法驗證 (ANY.FK_GROUP_ID) - 未找到父項關鍵字
IMP-00017: 由於 ORACLE 錯誤 2298, 以下語句失敗:
"ALTER TABLE "SALE_GROUP_ORDER_HIS" ENABLE CONSTRAINT "FK_SALE_GROUP_HIS_PRO"
"DUCT""
IMP-00003: 遇到 ORACLE 錯誤 2298
ORA-02298: 無法驗證 (ANY.FK_SALE_GROUP_HIS_PRODUCT) - 未找到父項關鍵字
IMP-00017: 由於 ORACLE 錯誤 2298, 以下語句失敗:
"ALTER TABLE "SALE_GROUP_ORDER" ENABLE CONSTRAINT "FK_SALE_GROUP_PRODUCT""
IMP-00003: 遇到 ORACLE 錯誤 2298
ORA-02298: 無法驗證 (ANY.FK_SALE_GROUP_PRODUCT) - 未找到父項關鍵字
IMP-00017: 由於 ORACLE 錯誤 2298, 以下語句失敗:
"ALTER TABLE "SUBORDER_GROUP" ENABLE CONSTRAINT "SUBORDER_GROU_FK21080798062"
"384""
IMP-00003: 遇到 ORACLE 錯誤 2298
ORA-02298: 無法驗證 (ANY.SUBORDER_GROU_FK21080798062384) - 未找到父項關鍵字
成功終止導入,但出現警告
引用 8 樓 codearts 的回復:
IMP命令:imp any/p1234 file=/root/a.dmp fromuser=any touser=any ignore=y constraints=n
會不會這個參數的原因,去掉看看。
#12
用戶是沒錯的
引用 10 樓 qq646748739 的回復:
你的 fromuser=any touser=any 這兩個any ,導入和導出的用戶一樣,不會報錯嗎?
#13
引用 11 樓 seani 的回復:
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"ALTER TABLE "SALE_ACCOUNT" ADD CONSTRAINT "FK_SALE_ACCOUNT001" FOREIGN KEY "
"("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALIDATE"
IMP-00003: 遇到 ORACLE 錯誤 2270
ORA-02270: 此列列表的唯一關鍵字或主鍵不匹配
外鍵出錯了。
導入之后(即使導入時報了錯),有CST_CUSTOMER這個表么?CST_CUSTOMER這個表有CUSTOMER_ID這個字段么?
#14
引用 13 樓 codearts 的回復:
引用 11 樓 seani 的回復:
IMP-00017: 由於 ORACLE 錯誤 2270, 以下語句失敗:
"ALTER TABLE "SALE_ACCOUNT" ADD CONSTRAINT "FK_SALE_ACCOUNT001" FOREIGN KEY "
"("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") E……
有這個表,有這個字段的
#15
最主要是這個問題
IMP-00041: 警告:創建的對象帶有編譯警告
"CREATE FORCE VIEW "ANYT"."DOMAIN_ADDRESS_VIEW" ("
""ADDRESS_ID","NAME","SIMPLE_CODE","PARENT_ADDR","CSTNAME") AS "
"SELECT ADDRESS_ID,DOMAIN_ADDRESS.NAME,SIMPLE_CODE,PARENT_ADDR ,CST_CUSTOMER"
".NAME"
" FROM DOMAIN_ADDRESS , CST_CUSTOMER WHERE CST_CUSTOMER.ADDR_ID = DOMAIN_"
"ADDRESS.ADDRESS_ID ORDER BY SIMPLE_CODE "
IMP-00017: 由於 ORACLE 錯誤 23308, 以下語句失敗:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('ANYT', 'Tr_I_NOTIFY_SMS_"
"FINISHED_ID', FALSE); END;"
IMP-00003: 遇到 ORACLE 錯誤 23308
ORA-23308: 對象 ANYT.TR_I_NOTIFY_SMS_FINISHED_ID 不存在或無效
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.DBMS_DDL_INTERNAL", line 41
ORA-06512: 在 "SYS.DBMS_DDL", line 335
ORA-06512: 在 line 1
#16
我也不知道是啥原因了,試試換個用戶
用sysdba創建一個新用戶
sql>create user xxx identified by xxx;
sql>grant connect, resource, dba to xxx;
然后再執行:
imp xxx/xxx file=/root/a.dmp fromuser=any touser=xxx ignore=y
#17
假如 16 樓的回答,仍然沒有解決的話,可能是BUG了
不過這個BUG好像在你的9I版本已經解決了
Bug 2067904 Release: Oracle8i (8.1.7.x) and 9.0.1.2 and below
Problem: Trigger-name causes call to DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY to fail during Import (IMP-17 IMP-3 ORA-931 ORA-23308 ORA-6512).
Solution: in Oracle9iR1 with patchset 9.0.1.3
Workaround: yes, seeNote 239821.1"ORA-931 or ORA-23308 in SET_TRIGGER_FIRING_PROPERTY on Import of Trigger in 8.1.7.x and 9.0.1.x"
Note 239821.1"ORA-931 or ORA-23308 in SET_TRIGGER_FIRING_PROPERTY on Import of Trigger in 8.1.7.x and 9.0.1.x"
#18
還可能是:
TR_I_NOTIFY_SMS_FINISHED_ID這個觸發器,在源庫上有SCHEMA
比如, 原代碼中是:
create or replace
ANYT.TR_I_NOTIFY_SMS_FINISHED_ID
#19
還是沒解決,高手幫忙呀