IMP-00041: 警告: 创建的对象带有编译警告解决办法
生活随笔
收集整理的這篇文章主要介紹了
IMP-00041: 警告: 创建的对象带有编译警告解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
出現IMP-00041: 警告: 創建的對象帶有編譯警告:
以后再做數據遷移的時候需要額外注意,尤其用戶中有視圖或者觸發器對象的時候。
用戶的環境是這樣的,在庫里有三個oracle的用戶,其中一個用戶中有幾張視圖是引用其他用戶的,所以
在數據導入的時候,需要導入”獨立性最好”的用戶對象,什么是”獨立性最好”?大概的意思是自相關,自己只和自己
打交道沒有引用其他用戶的對象。如果順序錯了,自然會出現”IMP-00041: 警告: 創建的對象帶有編譯警告”類似的錯誤,
可能是數據導入的過程中,用戶有視圖對象,而視圖需要引用的對象在其他用戶里。
除此之外,如果是夸用戶的對象,還需要額外注意權限的問題。及時用戶具備DBA的角色,在視圖中,仍需顯示的
“grant select.. on…”來給用戶授權,否則也會出現imp-00041,也許在你recompile之后,仍然無法解決,那么,那么
drop掉視圖,重新創建吧。。
IMP-00041: 警告: 創建的對象帶有編譯警告
"CREATE FORCE VIEW "CYOL"."MEMBERINFO" ? ? ? ? ? ? ? ? ? ? ? ? ? ?("NAME","S"
"EX","PEN_NAME","IDCARD","PWD","MAIL","EDUCATION","CAREER","CITY","COMPANY","
""ADDRESS","ZIP","PHONE","LEAVE_WORD","MUMBER_LEVEL","IP","DATE_TIME" AS "
"select mbr_name,mbr_gender,mbr_uname,"
" ?mbr_personal_id,mbr_pwd,mbr_email,mbr_education,mbr_job,mbr_city,"
" ?mbr_company,mbr_address,mbr_zip,mbr_phone,mbr_desc,mbr_point_balance,"
" ?mbr_ip,mbr_reg_date from members"
準備啟用約束條件...
成功終止導入,但出現警告。
C:\>;imp
Import: Release 10.2.3.0 - Production on 星期二 1月 18 09:46:17 2010
(c) Copyright 2000 Oracle Corporation. ?All rights reserved.
用戶名: ?system
口令:
連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 10.2.3.0 - Production
導入文件: EXPDAT.DMP>; 2070117.dmp
輸入插入緩沖區大小(最小為 8192 ) 30720>;
經由常規路徑導出由EXPORT:V08.01.06創建的文件
已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導入
只列出導入文件的內容(yes/no):no>;
由于對象已存在, 忽略創建錯誤(yes/no):no>;
導入權限(yes/no):yes>;
導入表數據(yes/no):yes>;
導入整個導出文件(yes/no):no>; y
IMP-00001: 請按yes,no,RETURN 或 '.' 退出
導入整個導出文件(yes/no):no>;
用戶名: ?cyol
輸入表 (T) 或分區 (T: P) 名稱。空列表表示用戶的所有表
輸入表 (T) 或分區 (T: P) 的名稱或。如果完成:
1. 導入命令里加上 ignore=y
2. 導入完成后,在pl/sql developer 里選中出現警告的觸發器,右鍵選擇recompiled 即可
以后再做數據遷移的時候需要額外注意,尤其用戶中有視圖或者觸發器對象的時候。
用戶的環境是這樣的,在庫里有三個oracle的用戶,其中一個用戶中有幾張視圖是引用其他用戶的,所以
在數據導入的時候,需要導入”獨立性最好”的用戶對象,什么是”獨立性最好”?大概的意思是自相關,自己只和自己
打交道沒有引用其他用戶的對象。如果順序錯了,自然會出現”IMP-00041: 警告: 創建的對象帶有編譯警告”類似的錯誤,
可能是數據導入的過程中,用戶有視圖對象,而視圖需要引用的對象在其他用戶里。
除此之外,如果是夸用戶的對象,還需要額外注意權限的問題。及時用戶具備DBA的角色,在視圖中,仍需顯示的
“grant select.. on…”來給用戶授權,否則也會出現imp-00041,也許在你recompile之后,仍然無法解決,那么,那么
drop掉視圖,重新創建吧。。
IMP-00041: 警告: 創建的對象帶有編譯警告
"CREATE FORCE VIEW "CYOL"."MEMBERINFO" ? ? ? ? ? ? ? ? ? ? ? ? ? ?("NAME","S"
"EX","PEN_NAME","IDCARD","PWD","MAIL","EDUCATION","CAREER","CITY","COMPANY","
""ADDRESS","ZIP","PHONE","LEAVE_WORD","MUMBER_LEVEL","IP","DATE_TIME" AS "
"select mbr_name,mbr_gender,mbr_uname,"
" ?mbr_personal_id,mbr_pwd,mbr_email,mbr_education,mbr_job,mbr_city,"
" ?mbr_company,mbr_address,mbr_zip,mbr_phone,mbr_desc,mbr_point_balance,"
" ?mbr_ip,mbr_reg_date from members"
準備啟用約束條件...
成功終止導入,但出現警告。
C:\>;imp
Import: Release 10.2.3.0 - Production on 星期二 1月 18 09:46:17 2010
(c) Copyright 2000 Oracle Corporation. ?All rights reserved.
用戶名: ?system
口令:
連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 10.2.3.0 - Production
導入文件: EXPDAT.DMP>; 2070117.dmp
輸入插入緩沖區大小(最小為 8192 ) 30720>;
經由常規路徑導出由EXPORT:V08.01.06創建的文件
已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導入
只列出導入文件的內容(yes/no):no>;
由于對象已存在, 忽略創建錯誤(yes/no):no>;
導入權限(yes/no):yes>;
導入表數據(yes/no):yes>;
導入整個導出文件(yes/no):no>; y
IMP-00001: 請按yes,no,RETURN 或 '.' 退出
導入整個導出文件(yes/no):no>;
用戶名: ?cyol
輸入表 (T) 或分區 (T: P) 名稱。空列表表示用戶的所有表
輸入表 (T) 或分區 (T: P) 的名稱或。如果完成:
在導入的目標系統里需要先建好觸發器.??然后就OK了
1. 導入命令里加上 ignore=y
2. 導入完成后,在pl/sql developer 里選中出現警告的觸發器,右鍵選擇recompiled 即可
總結
以上是生活随笔為你收集整理的IMP-00041: 警告: 创建的对象带有编译警告解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进来,让BUG远离你!
- 下一篇: 你是程序员?你会修电脑么!!!