Oracle 遇到的問題:IMP-00041: 警告: 創建的對象帶有編譯警告解決辦法


出現IMP-00041: 警告: 創建的對象帶有編譯警告:
以后再做數據遷移的時候需要額外注意,尤其用戶中有視圖或者觸發器對象的時候。
用戶的環境是這樣的,在庫里有三個oracle的用戶,其中一個用戶中有幾張視圖是引用其他用戶的,所以
在數據導入的時候,需要導入”獨立性最好”的用戶對象,什么是”獨立性最好”?大概的意思是自相關,自己只和自己
打交道沒有引用其他用戶的對象。如果順序錯了,自然會出現”IMP-00041: 警告: 創建的對象帶有編譯警告”類似的錯誤,
可能是數據導入的過程中,用戶有視圖對象,而視圖需要引用的對象在其他用戶里。
除此之外,如果是誇用戶的對象,還需要額外注意權限的問題。及時用戶具備DBA的角色,在視圖中,仍需顯示的
“grant select.. on…”來給用戶授權,否則也會出現imp-00041,也許在你recompile之后,仍然無法解決,那么,那么
drop掉視圖,重新創建吧。。

 

 

出現IMP-00041: 警告: 創建的對象帶有編譯警告:

 1 "CREATE FORCE VIEW "ADMIN"."P_VIEW_ORDERITEMP"                           ("I"
 2  "TEMCODE","ITEMTYPE","ORDERITEMCODE","ITEMFLG","PREORDERITEMCODE") AS "
 3  "select BSS_ORDERITEM.Itemcode,BSS_ORDERITEM.Itemtype,BSS_ORDERITEM.Orderite"
 4  "mcode,BSS_ORDERITEM.ITEMFLG,p_view_param.get_param() Preorderitemcode from "
 5  "BSS_ORDERITEM"
 6  "START WITH BSS_ORDERITEM.Orderitemcode =(select BSS_ORDERITEM.Orderitemcode"
 7  " from BSS_ORDERITEM"
 8  "where    BSS_ORDERITEM.Orderitemcode <>  p_view_param.get_param() and  BSS_"
 9  "ORDERITEM.Preorderitemcode= p_view_param.get_param() )"
10  "CONNECT BY prior BSS_ORDERITEM.Orderitemcode =BSS_ORDERITEM.Preorderitemcod"
11  "e"
12  ""
13  "union all"
14  "select BSS_ORDERITEM.Itemcode,BSS_ORDERITEM.Itemtype,BSS_ORDERITEM.Orderite"
15  "mcode,BSS_ORDERITEM.ITEMFLG,to_char(BSS_ORDERITEM.Preorderitemcode) from BS"
16  "S_ORDERITEM"
17  "left join BSS_ORDERPAY on  BSS_ORDERITEM.Orderitemcode = BSS_ORDERPAY.Order"
18  "itemcode"
19  "where BSS_ORDERITEM.Orderitemcode=p_view_param.get_param()"
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM